Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • protocols/jabber/jabber.h

    r5bd21df rdce3903  
    8181        GHashTable *node_cache;
    8282        GHashTable *buddies;
     83
     84        GSList *filetransfers;
    8385};
    8486
     
    122124        char *my_full_jid; /* Separate copy because of case sensitivity. */
    123125        struct jabber_buddy *me;
     126};
     127
     128struct jabber_transfer
     129{
     130        /* bitlbee's handle for this transfer */
     131        file_transfer_t *ft;
     132
     133        /* the stream's private handle */
     134        gpointer streamhandle;
     135
     136        struct im_connection *ic;
     137
     138        int watch_in;
     139        int watch_out;
     140
     141        char *ini_jid;
     142        char *tgt_jid;
     143        char *iq_id;
     144        char *sid;
     145        int accepted;
     146
     147        size_t bytesread, byteswritten;
     148        int fd;
     149        struct sockaddr_storage saddr;
    124150};
    125151
     
    149175
    150176/* Some supported extensions/legacy stuff */
    151 #define XMLNS_AUTH         "jabber:iq:auth"                     /* XEP-0078 */
    152 #define XMLNS_VERSION      "jabber:iq:version"                  /* XEP-0092 */
    153 #define XMLNS_TIME         "jabber:iq:time"                     /* XEP-0090 */
    154 #define XMLNS_VCARD        "vcard-temp"                         /* XEP-0054 */
    155 #define XMLNS_DELAY        "jabber:x:delay"                     /* XEP-0091 */
    156 #define XMLNS_CHATSTATES   "http://jabber.org/protocol/chatstates"  /* 0085 */
    157 #define XMLNS_DISCOVER     "http://jabber.org/protocol/disco#info"  /* 0030 */
    158 #define XMLNS_MUC          "http://jabber.org/protocol/muc"     /* XEP-0045 */
    159 #define XMLNS_MUC_USER     "http://jabber.org/protocol/muc#user"/* XEP-0045 */
     177#define XMLNS_AUTH         "jabber:iq:auth"                                      /* XEP-0078 */
     178#define XMLNS_VERSION      "jabber:iq:version"                                   /* XEP-0092 */
     179#define XMLNS_TIME         "jabber:iq:time"                                      /* XEP-0090 */
     180#define XMLNS_VCARD        "vcard-temp"                                          /* XEP-0054 */
     181#define XMLNS_DELAY        "jabber:x:delay"                                      /* XEP-0091 */
     182#define XMLNS_XDATA        "jabber:x:data"                                       /* XEP-0004 */
     183#define XMLNS_CHATSTATES   "http://jabber.org/protocol/chatstates"               /* XEP-0085 */
     184#define XMLNS_DISCOVER     "http://jabber.org/protocol/disco#info"               /* XEP-0030 */
     185#define XMLNS_MUC          "http://jabber.org/protocol/muc"                      /* XEP-0045 */
     186#define XMLNS_MUC_USER     "http://jabber.org/protocol/muc#user"                 /* XEP-0045 */
     187#define XMLNS_FEATURE      "http://jabber.org/protocol/feature-neg"              /* XEP-0020 */
     188#define XMLNS_SI           "http://jabber.org/protocol/si"                       /* XEP-0095 */
     189#define XMLNS_FILETRANSFER "http://jabber.org/protocol/si/profile/file-transfer" /* XEP-0096 */
     190#define XMLNS_BYTESTREAMS  "http://jabber.org/protocol/bytestreams"              /* XEP-0065 */
     191#define XMLNS_IBB          "http://jabber.org/protocol/ibb"                      /* XEP-0047 */
    160192
    161193/* iq.c */
     
    168200int jabber_remove_from_roster( struct im_connection *ic, char *handle );
    169201
     202/* si.c */
     203int jabber_si_handle_request( struct im_connection *ic, struct xt_node *node, struct xt_node *sinode );
     204void jabber_si_transfer_request( struct im_connection *ic, file_transfer_t *ft, char *who );
     205void jabber_si_free_transfer( file_transfer_t *ft);
     206
     207/* s5bytestream.c */
     208int jabber_bs_recv_request( struct im_connection *ic, struct xt_node *node, struct xt_node *qnode);
     209gboolean jabber_bs_send_start( struct jabber_transfer *tf );
     210gboolean jabber_bs_send_write( file_transfer_t *ft, char *buffer, unsigned int len );
     211
    170212/* message.c */
    171213xt_status jabber_pkt_message( struct xt_node *node, gpointer data );
     
    180222char *set_eval_tls( set_t *set, char *value );
    181223struct xt_node *jabber_make_packet( char *name, char *type, char *to, struct xt_node *children );
    182 struct xt_node *jabber_make_error_packet( struct xt_node *orig, char *err_cond, char *err_type );
     224struct xt_node *jabber_make_error_packet( struct xt_node *orig, char *err_cond, char *err_type, char *err_code );
    183225void jabber_cache_add( struct im_connection *ic, struct xt_node *node, jabber_cache_event func );
    184226struct xt_node *jabber_cache_get( struct im_connection *ic, char *id );
    185227void jabber_cache_entry_free( gpointer entry );
    186228void jabber_cache_clean( struct im_connection *ic );
    187 xt_status jabber_cache_handle_packet( struct im_connection *ic, struct xt_node *node );
    188229const struct jabber_away_state *jabber_away_state_by_code( char *code );
    189230const struct jabber_away_state *jabber_away_state_by_name( char *name );
     
    208249int jabber_buddy_remove( struct im_connection *ic, char *full_jid );
    209250int jabber_buddy_remove_bare( struct im_connection *ic, char *bare_jid );
     251struct groupchat *jabber_chat_by_name( struct im_connection *ic, const char *name );
    210252time_t jabber_get_timestamp( struct xt_node *xt );
    211253struct jabber_error *jabber_error_parse( struct xt_node *node, char *xmlns );
     
    230272/* conference.c */
    231273struct groupchat *jabber_chat_join( struct im_connection *ic, char *room, char *nick, char *password );
    232 struct groupchat *jabber_chat_by_jid( struct im_connection *ic, const char *name );
    233274void jabber_chat_free( struct groupchat *c );
    234275int jabber_chat_msg( struct groupchat *ic, char *message, int flags );
Note: See TracChangeset for help on using the changeset viewer.