3 * define the structures for one token each
4 * typename: TheToken_<Tokenname>
7 #define XMPPARGS char *token, long len
8 typedef void (*XMPP_callback)(XMPPARGS);
9 #define CALLBACK(NAME) XMPP_callback CB_##NAME;
10 #define PAYLOAD(STRUCTNAME, NAME) StrBuf *NAME;int encoding_##NAME;
11 #define STRPROP(STRUCTNAME, NAME) StrBuf *NAME;
12 #define TOKEN(NAME, STRUCT) typedef struct __##NAME \
15 #define SUBTOKEN(NAME, NS, STOKEN, STRUCT) typedef struct __##NAME##NS##STOKEN \
17 theSubToken_##NAME##NS##STOKEN;
28 * forward declarations for freeing the members of one struct instance
29 # name: free_buf_<Tokenname>
32 #define SUBTOKEN(NAME, NS, STOKEN, STRUCT) void free_buf__##NAME##NS##STOKEN \
33 (theSubToken_##NAME##NS##STOKEN *pdata);
34 #define TOKEN(NAME, STRUCT) \
35 void free_buf_##NAME(TheToken_##NAME *pdata);
43 * forward declarations, freeing structs and member.
44 * name: free_<Tokenname>
46 #define SUBTOKEN(NAME, NS, STOKEN, STRUCT) void free__##NAME##NS##STOKEN \
47 (theSubToken_##NAME##NS##STOKEN *pdata);
48 #define TOKEN(NAME, STRUCT) \
49 void free_##NAME(TheToken_##NAME *pdata);