Mercurial > pidgin
diff libgaim/protocols/simple/simple.h @ 14192:60b1bc8dbf37
[gaim-migrate @ 16863]
Renamed 'core' to 'libgaim'
committer: Tailor Script <tailor@pidgin.im>
| author | Evan Schoenberg <evan.s@dreskin.net> |
|---|---|
| date | Sat, 19 Aug 2006 01:50:10 +0000 |
| parents | |
| children | f189327b9968 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libgaim/protocols/simple/simple.h Sat Aug 19 01:50:10 2006 +0000 @@ -0,0 +1,123 @@ +/** + * @file simple.h + * + * gaim + * + * Copyright (C) 2005, Thomas Butter <butter@uni-mannheim.de> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef _GAIM_SIMPLE_H +#define _GAIM_SIMPLE_H + +#include <glib.h> +#include <time.h> + +#include "cipher.h" +#include "circbuffer.h" +#include "prpl.h" + +#include "sipmsg.h" + +#define SIMPLE_BUF_INC 1024 + +struct sip_dialog { + gchar *ourtag; + gchar *theirtag; + gchar *callid; +}; + +struct simple_watcher { + gchar *name; + time_t expire; + struct sip_dialog dialog; + gboolean needsxpidf; +}; + +struct simple_buddy { + gchar *name; + time_t resubscribe; +}; + +struct sip_auth { + int type; /* 1 = Digest / 2 = NTLM */ + gchar *nonce; + gchar *opaque; + gchar *realm; + gchar *target; + guint32 flags; + int nc; + gchar *digest_session_key; + int retries; +}; + +struct simple_account_data { + GaimConnection *gc; + gchar *servername; + gchar *username; + gchar *password; + int fd; + int cseq; + time_t reregister; + time_t republish; + int registerstatus; /* 0 nothing, 1 first registration send, 2 auth received, 3 registered */ + struct sip_auth registrar; + struct sip_auth proxy; + int listenfd; + int listenport; + int listenpa; + gchar *status; + GHashTable *buddies; + guint registertimeout; + guint resendtimeout; + gboolean connecting; + GaimAccount *account; + GaimCircBuffer *txbuf; + guint tx_handler; + gchar *regcallid; + GSList *transactions; + GSList *watcher; + GSList *openconns; + gboolean udp; + struct sockaddr_in serveraddr; + int registerexpire; + gchar *realhostname; + int realport; /* port and hostname from SRV record */ +}; + +struct sip_connection { + int fd; + gchar *inbuf; + int inbuflen; + int inbufused; + int inputhandler; +}; + +struct transaction; + +typedef gboolean (*TransCallback) (struct simple_account_data *, struct sipmsg *, struct transaction *); + +struct transaction { + time_t time; + int retries; + int transport; /* 0 = tcp, 1 = udp */ + int fd; + gchar *cseq; + struct sipmsg *msg; + TransCallback callback; +}; + +#endif /* _GAIM_SIMPLE_H */
