Initial revision
[silc.git] / lib / silcske / payload_internal.h
1 /*
2
3   payload_internal.h
4
5   Author: Pekka Riikonen <priikone@poseidon.pspt.fi>
6
7   Copyright (C) 2000 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; either version 2 of the License, or
12   (at your option) any later version.
13   
14   This program is distributed in the hope that it will be useful,
15   but WITHOUT ANY WARRANTY; without even the implied warranty of
16   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17   GNU General Public License for more details.
18
19 */
20
21 #ifndef PAYLOAD_INTERNAL_H
22 #define PAYLOAD_INTERNAL_H
23
24 /* SILC Key Exchange Start Payload */
25 typedef struct {
26   unsigned char flags;
27   unsigned int len;
28
29   unsigned char *cookie;
30   unsigned short cookie_len;
31
32   unsigned short ke_grp_len;
33   unsigned char *ke_grp_list;
34
35   unsigned short pkcs_alg_len;
36   unsigned char *pkcs_alg_list;
37
38   unsigned short enc_alg_len;
39   unsigned char *enc_alg_list;
40   
41   unsigned short hash_alg_len;
42   unsigned char *hash_alg_list;
43
44   unsigned short comp_alg_len;
45   unsigned char *comp_alg_list;
46 } SilcSKEStartPayload;
47
48 /* SILC Key Exchange 1 Payload */
49 typedef struct {
50   SilcInt e;
51 } SilcSKEOnePayload;
52
53 /* SILC Key Exchange 2 Payload */
54 typedef struct {
55   unsigned short pk_len;
56   unsigned char *pk_data;
57   unsigned short pk_type;
58
59   SilcInt f;
60
61   unsigned short sign_len;
62   unsigned char *sign_data;
63 } SilcSKETwoPayload;
64
65 #endif