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 - 2001 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   uint16 len;
28
29   unsigned char *cookie;
30   uint16 cookie_len;
31
32   unsigned char *version;
33   uint16 version_len;
34
35   uint16 ke_grp_len;
36   unsigned char *ke_grp_list;
37
38   uint16 pkcs_alg_len;
39   unsigned char *pkcs_alg_list;
40
41   uint16 enc_alg_len;
42   unsigned char *enc_alg_list;
43   
44   uint16 hash_alg_len;
45   unsigned char *hash_alg_list;
46
47   uint16 hmac_alg_len;
48   unsigned char *hmac_alg_list;
49
50   uint16 comp_alg_len;
51   unsigned char *comp_alg_list;
52 } SilcSKEStartPayload;
53
54 /* SILC Key Exchange Payload */
55 typedef struct {
56   uint16 pk_len;
57   unsigned char *pk_data;
58   uint16 pk_type;
59
60   SilcMPInt x;
61
62   uint16 sign_len;
63   unsigned char *sign_data;
64 } SilcSKEKEPayload;
65
66 #endif