Merged from silc_1_0_branch.
[silc.git] / lib / silccore / silcchannel_i.h
1 /*
2
3   silcchannel_i.h 
4
5   Author: Pekka Riikonen <priikone@silcnet.org>
6
7   Copyright (C) 1997 - 2002 Pekka Riikonen
8
9   This program is free software; you can redistribute it and/or modify
10   it under the terms of the GNU General Public License as published by
11   the Free Software Foundation; version 2 of the License.
12
13   This program is distributed in the hope that it will be useful,
14   but WITHOUT ANY WARRANTY; without even the implied warranty of
15   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16   GNU General Public License for more details.
17
18 */
19
20 #ifndef SILCCHANNEL_I_H
21 #define SILCCHANNEL_I_H
22
23 #ifndef SILCCHANNEL_H
24 #error "Do not include internal header file directly"
25 #endif
26
27 /******************************************************************************
28
29                               Channel Payload
30
31 ******************************************************************************/
32
33 /* Channel Message Payload structure. Contents of this structure is parsed
34    from SILC packets. */
35 struct SilcChannelPayloadStruct {
36   unsigned char *channel_name;
37   unsigned char *channel_id;
38   SilcUInt32 mode;
39   SilcUInt16 name_len;
40   SilcUInt16 id_len;
41 };
42
43
44 /******************************************************************************
45
46                              Channel Key Payload
47
48 ******************************************************************************/
49
50 /* Channel Key Payload structrue. Channel keys are parsed from SILC
51    packets into this structure. */
52 struct SilcChannelKeyPayloadStruct {
53   unsigned char *id;
54   unsigned char *cipher;
55   unsigned char *key;
56   SilcUInt16 id_len;
57   SilcUInt16 cipher_len;
58   SilcUInt16 key_len;
59 };
60
61 #endif /* SILCCHANNEL_I_H */