1 /********************************************************************\
2 * BitlBee -- An IRC to other IM-networks gateway *
4 * Copyright 2002-2008 Wilmer van der Gaast and others *
5 \********************************************************************/
8 OTR support (cf. http://www.cypherpunks.ca/otr/)
10 2008, Sven Moritz Hallberg <pesco@khjk.org>
11 (c) and funded by stonedcoder.org
15 This program is free software; you can redistribute it and/or modify
16 it under the terms of the GNU General Public License as published by
17 the Free Software Foundation; either version 2 of the License, or
18 (at your option) any later version.
20 This program is distributed in the hope that it will be useful,
21 but WITHOUT ANY WARRANTY; without even the implied warranty of
22 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 GNU General Public License for more details.
25 You should have received a copy of the GNU General Public License with
26 the Debian GNU/Linux distribution in /usr/share/common-licenses/GPL;
27 if not, write to the Free Software Foundation, Inc., 59 Temple Place,
28 Suite 330, Boston, MA 02111-1307 USA
31 #ifndef BITLBEE_PROTOCOLS_OTR_H
32 #define BITLBEE_PROTOCOLS_OTR_H
37 // forward decls to avoid mutual dependencies
43 #include <libotr/proto.h>
44 #include <libotr/message.h>
45 #include <libotr/privkey.h>
47 /* representing a keygen job */
55 /* struct to encapsulate our book keeping stuff */
58 pid_t keygen
; /* pid of keygen slave (0 if none) */
59 FILE *to
; /* pipe to keygen slave */
60 FILE *from
; /* pipe from keygen slave */
62 /* active keygen job (NULL if none) */
63 char *sent_accountname
;
66 /* keygen jobs waiting to be sent to slave */
70 /* called from main() */
73 /* called by storage_* functions */
74 void otr_load(struct irc
*irc
);
75 void otr_save(struct irc
*irc
);
76 void otr_remove(const char *nick
);
77 void otr_rename(const char *onick
, const char *nnick
);
79 /* called from account_add() */
80 int otr_check_for_key(struct account
*a
);