meanwhile
1.0.2
Main Page
Related Pages
Data Structures
Files
File List
Globals
src
mw_common.h
Go to the documentation of this file.
1
2
/*
3
Meanwhile - Unofficial Lotus Sametime Community Client Library
4
Copyright (C) 2004 Christopher (siege) O'Brien
5
6
This library is free software; you can redistribute it and/or
7
modify it under the terms of the GNU Library General Public
8
License as published by the Free Software Foundation; either
9
version 2 of the License, or (at your option) any later version.
10
11
This library is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
Library General Public License for more details.
15
16
You should have received a copy of the GNU Library General Public
17
License along with this library; if not, write to the Free
18
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19
*/
20
21
#ifndef _MW_COMMON_H
22
#define _MW_COMMON_H
23
24
61
#include <glib.h>
62
63
64
#ifdef __cplusplus
65
extern
"C"
{
66
#endif
67
68
71
struct
mwPutBuffer
;
72
75
struct
mwGetBuffer
;
76
77
79
struct
mwOpaque
{
80
gsize
len
;
81
guchar *
data
;
82
};
83
84
85
/* 8.3.6 Login Types */
86
93
enum
mwLoginType
{
94
mwLogin_LIB
= 0x1000,
95
mwLogin_JAVA_WEB
= 0x1001,
96
mwLogin_BINARY
= 0x1002,
97
mwLogin_JAVA_APP
= 0x1003,
98
mwLogin_LINKS
= 0x100a,
100
/* now we're getting crazy */
101
mwLogin_NOTES_6_5
= 0x1200,
102
mwLogin_NOTES_6_5_3
= 0x1203,
103
mwLogin_NOTES_7_0_beta
= 0x1210,
104
mwLogin_NOTES_7_0
= 0x1214,
105
mwLogin_ICT
= 0x1300,
106
mwLogin_ICT_1_7_8_2
= 0x1302,
107
mwLogin_ICT_SIP
= 0x1303,
108
mwLogin_NOTESBUDDY_4_14
= 0x1400,
109
mwLogin_NOTESBUDDY_4_15
= 0x1405,
110
mwLogin_NOTESBUDDY_4_16
= 0x1406,
111
mwLogin_SANITY
= 0x1600,
112
mwLogin_ST_PERL
= 0x1625,
113
mwLogin_PMR_ALERT
= 0x1650,
114
mwLogin_TRILLIAN
= 0x16aa,
115
mwLogin_TRILLIAN_IBM
= 0x16bb,
116
mwLogin_MEANWHILE
= 0x1700,
117
};
118
119
120
/* 8.2 Common Structures */
121
/* 8.2.1 Login Info block */
122
123
struct
mwLoginInfo
{
124
char
*
login_id
;
125
guint16
type
;
126
char
*
user_id
;
127
char
*
user_name
;
128
char
*
community
;
129
gboolean
full
;
130
char
*
desc
;
131
guint32
ip_addr
;
132
char
*
server_id
;
133
};
134
135
136
/* 8.2.2 Private Info Block */
137
138
struct
mwUserItem
{
139
gboolean
full
;
140
char
*
id
;
141
char
*
community
;
142
char
*
name
;
143
};
144
145
146
struct
mwPrivacyInfo
{
147
gboolean
deny
;
148
guint32
count
;
149
struct
mwUserItem
*
users
;
150
};
151
152
153
/* 8.3.5 User Status Types */
154
155
enum
mwStatusType
{
156
mwStatus_ACTIVE
= 0x0020,
157
mwStatus_IDLE
= 0x0040,
158
mwStatus_AWAY
= 0x0060,
159
mwStatus_BUSY
= 0x0080,
160
};
161
162
163
/* 8.2.3 User Status Block */
164
165
struct
mwUserStatus
{
166
guint16
status
;
167
guint32
time
;
168
char
*
desc
;
169
};
170
171
172
/* 8.2.4 ID Block */
173
174
struct
mwIdBlock
{
175
char
*
user
;
176
char
*
community
;
177
};
178
179
180
/* 8.3.8.2 Awareness Presence Types */
181
182
/* @todo move mwAwareType, mwAwareIdBlock and mwAwareSnapshot into the
183
aware service and out of common */
184
186
enum
mwAwareType
{
187
mwAware_USER
= 0x0002,
188
mwAware_GROUP
= 0x0003,
189
mwAware_SERVER
= 0x0008,
190
};
191
192
193
/* 8.4.2 Awareness Messages */
194
/* 8.4.2.1 Awareness ID Block */
195
196
struct
mwAwareIdBlock
{
197
guint16
type
;
198
char
*
user
;
199
char
*
community
;
200
};
201
202
203
/* 8.4.2.4 Snapshot */
204
205
struct
mwAwareSnapshot
{
206
struct
mwAwareIdBlock
id
;
207
char
*
group
;
208
gboolean
online
;
209
char
*
alt_id
;
210
struct
mwUserStatus
status
;
211
char
*
name
;
212
};
213
214
216
struct
mwEncryptItem
{
217
guint16
id
;
218
struct
mwOpaque
info
;
219
};
220
221
224
225
227
struct
mwPutBuffer
*
mwPutBuffer_new
();
228
229
231
void
mwPutBuffer_write
(
struct
mwPutBuffer
*b, gpointer data, gsize len);
232
233
235
void
mwPutBuffer_free
(
struct
mwPutBuffer
*b);
236
237
239
void
mwPutBuffer_finalize
(
struct
mwOpaque
*to,
struct
mwPutBuffer
*from);
240
241
243
struct
mwGetBuffer
*
mwGetBuffer_new
(
struct
mwOpaque
*data);
244
245
251
gsize
mwGetBuffer_read
(
struct
mwGetBuffer
*b, gpointer mem, gsize len);
252
253
259
gsize
mwGetBuffer_advance
(
struct
mwGetBuffer
*b, gsize len);
260
261
265
struct
mwGetBuffer
*
mwGetBuffer_wrap
(
const
struct
mwOpaque
*data);
266
267
269
void
mwGetBuffer_free
(
struct
mwGetBuffer
*b);
270
271
274
void
mwGetBuffer_reset
(
struct
mwGetBuffer
*b);
275
276
278
gsize
mwGetBuffer_remaining
(
struct
mwGetBuffer
*b);
279
280
283
gboolean
mwGetBuffer_error
(
struct
mwGetBuffer
*b);
284
285
293
294
295
void
guint16_put
(
struct
mwPutBuffer
*b, guint16 val);
296
297
void
guint16_get
(
struct
mwGetBuffer
*b, guint16 *val);
298
299
guint16
guint16_peek
(
struct
mwGetBuffer
*b);
300
301
302
void
guint32_put
(
struct
mwPutBuffer
*b, guint32 val);
303
304
void
guint32_get
(
struct
mwGetBuffer
*b, guint32 *val);
305
306
guint32
guint32_peek
(
struct
mwGetBuffer
*b);
307
308
309
void
gboolean_put
(
struct
mwPutBuffer
*b, gboolean val);
310
311
void
gboolean_get
(
struct
mwGetBuffer
*b, gboolean *val);
312
313
gboolean
gboolean_peek
(
struct
mwGetBuffer
*b);
314
315
316
void
mwString_put
(
struct
mwPutBuffer
*b,
const
char
*str);
317
318
void
mwString_get
(
struct
mwGetBuffer
*b,
char
**str);
319
320
321
void
mwOpaque_put
(
struct
mwPutBuffer
*b,
const
struct
mwOpaque
*o);
322
323
void
mwOpaque_get
(
struct
mwGetBuffer
*b,
struct
mwOpaque
*o);
324
325
void
mwOpaque_clear
(
struct
mwOpaque
*o);
326
327
void
mwOpaque_free
(
struct
mwOpaque
*o);
328
329
void
mwOpaque_clone
(
struct
mwOpaque
*to,
const
struct
mwOpaque
*from);
330
331
337
338
339
void
mwLoginInfo_put
(
struct
mwPutBuffer
*b,
const
struct
mwLoginInfo
*info);
340
341
void
mwLoginInfo_get
(
struct
mwGetBuffer
*b,
struct
mwLoginInfo
*info);
342
343
void
mwLoginInfo_clear
(
struct
mwLoginInfo
*info);
344
345
void
mwLoginInfo_clone
(
struct
mwLoginInfo
*to,
const
struct
mwLoginInfo
*from);
346
347
348
void
mwUserItem_put
(
struct
mwPutBuffer
*b,
const
struct
mwUserItem
*user);
349
350
void
mwUserItem_get
(
struct
mwGetBuffer
*b,
struct
mwUserItem
*user);
351
352
void
mwUserItem_clear
(
struct
mwUserItem
*user);
353
354
void
mwUserItem_clone
(
struct
mwUserItem
*to,
const
struct
mwUserItem
*from);
355
356
357
void
mwPrivacyInfo_put
(
struct
mwPutBuffer
*b,
358
const
struct
mwPrivacyInfo
*info);
359
360
void
mwPrivacyInfo_get
(
struct
mwGetBuffer
*b,
struct
mwPrivacyInfo
*info);
361
362
void
mwPrivacyInfo_clear
(
struct
mwPrivacyInfo
*info);
363
364
void
mwPrivacyInfo_clone
(
struct
mwPrivacyInfo
*to,
365
const
struct
mwPrivacyInfo
*from);
366
367
368
void
mwUserStatus_put
(
struct
mwPutBuffer
*b,
369
const
struct
mwUserStatus
*stat);
370
371
void
mwUserStatus_get
(
struct
mwGetBuffer
*b,
struct
mwUserStatus
*stat);
372
373
void
mwUserStatus_clear
(
struct
mwUserStatus
*stat);
374
375
void
mwUserStatus_clone
(
struct
mwUserStatus
*to,
376
const
struct
mwUserStatus
*from);
377
378
379
void
mwIdBlock_put
(
struct
mwPutBuffer
*b,
const
struct
mwIdBlock
*
id
);
380
381
void
mwIdBlock_get
(
struct
mwGetBuffer
*b,
struct
mwIdBlock
*
id
);
382
383
void
mwIdBlock_clear
(
struct
mwIdBlock
*
id
);
384
385
void
mwIdBlock_clone
(
struct
mwIdBlock
*to,
386
const
struct
mwIdBlock
*from);
387
388
guint
mwIdBlock_hash
(
const
struct
mwIdBlock
*idb);
389
390
gboolean
mwIdBlock_equal
(
const
struct
mwIdBlock
*a,
391
const
struct
mwIdBlock
*b);
392
393
394
void
mwAwareIdBlock_put
(
struct
mwPutBuffer
*b,
395
const
struct
mwAwareIdBlock
*idb);
396
397
void
mwAwareIdBlock_get
(
struct
mwGetBuffer
*b,
struct
mwAwareIdBlock
*idb);
398
399
void
mwAwareIdBlock_clear
(
struct
mwAwareIdBlock
*idb);
400
401
void
mwAwareIdBlock_clone
(
struct
mwAwareIdBlock
*to,
402
const
struct
mwAwareIdBlock
*from);
403
404
guint
mwAwareIdBlock_hash
(
const
struct
mwAwareIdBlock
*a);
405
406
gboolean
mwAwareIdBlock_equal
(
const
struct
mwAwareIdBlock
*a,
407
const
struct
mwAwareIdBlock
*b);
408
409
410
void
mwAwareSnapshot_get
(
struct
mwGetBuffer
*b,
411
struct
mwAwareSnapshot
*idb);
412
413
void
mwAwareSnapshot_clear
(
struct
mwAwareSnapshot
*idb);
414
415
void
mwAwareSnapshot_clone
(
struct
mwAwareSnapshot
*to,
416
const
struct
mwAwareSnapshot
*from);
417
418
419
void
mwEncryptItem_put
(
struct
mwPutBuffer
*b,
420
const
struct
mwEncryptItem
*item);
421
422
void
mwEncryptItem_get
(
struct
mwGetBuffer
*b,
struct
mwEncryptItem
*item);
423
424
void
mwEncryptItem_clear
(
struct
mwEncryptItem
*item);
425
426
void
mwEncryptItem_free
(
struct
mwEncryptItem
*item);
427
428
432
#ifdef __cplusplus
433
}
434
#endif
435
436
437
#endif
/* _MW_COMMON_H */
Generated on Fri Oct 5 2012 12:44:47 for meanwhile by
1.8.1.2