updates.
[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 short len;
28
29   unsigned char *cookie;
30   unsigned short cookie_len;
31
32   unsigned char *version;
33   unsigned short version_len;
34
35   unsigned short ke_grp_len;
36   unsigned char *ke_grp_list;
37
38   unsigned short pkcs_alg_len;
39   unsigned char *pkcs_alg_list;
40
41   unsigned short enc_alg_len;
42   unsigned char *enc_alg_list;
43   
44   unsigned short hash_alg_len;
45   unsigned char *hash_alg_list;
46
47   unsigned short hmac_alg_len;
48   unsigned char *hmac_alg_list;
49
50   unsigned short comp_alg_len;
51   unsigned char *comp_alg_list;
52 } SilcSKEStartPayload;
53
54 /* SILC Key Exchange 1 Payload */
55 typedef struct {
56   unsigned short pk_len;
57   unsigned char *pk_data;
58   unsigned short pk_type;
59
60   SilcInt e;
61 } SilcSKEOnePayload;
62
63 /* SILC Key Exchange 2 Payload */
64 typedef struct {
65   unsigned short pk_len;
66   unsigned char *pk_data;
67   unsigned short pk_type;
68
69   SilcInt f;
70
71   unsigned short sign_len;
72   unsigned char *sign_data;
73 } SilcSKETwoPayload;
74
75 #endif