X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fsilcske%2Fpayload.h;h=dd31fc105f8024912f92a231fbc2afb58776bf66;hb=ee9ad49e68cd69759ca643579c2f0de0747c4f61;hp=df982a7bca3d416b9a889f079a59620ec11597c8;hpb=a697c2029b0cdf9e8d5192c284191369d26c1c34;p=silc.git diff --git a/lib/silcske/payload.h b/lib/silcske/payload.h index df982a7b..dd31fc10 100644 --- a/lib/silcske/payload.h +++ b/lib/silcske/payload.h @@ -22,7 +22,52 @@ #define PAYLOAD_H #include "silcske_status.h" -#include "payload_internal.h" + +/* Forward declarations */ +typedef struct SilcSKEStartPayloadStruct SilcSKEStartPayload; +typedef struct SilcSKEKEPayloadStruct SilcSKEKEPayload; + +/* SILC Key Exchange Start Payload */ +struct SilcSKEStartPayloadStruct { + unsigned char flags; + uint16 len; + + unsigned char *cookie; + uint16 cookie_len; + + unsigned char *version; + uint16 version_len; + + uint16 ke_grp_len; + unsigned char *ke_grp_list; + + uint16 pkcs_alg_len; + unsigned char *pkcs_alg_list; + + uint16 enc_alg_len; + unsigned char *enc_alg_list; + + uint16 hash_alg_len; + unsigned char *hash_alg_list; + + uint16 hmac_alg_len; + unsigned char *hmac_alg_list; + + uint16 comp_alg_len; + unsigned char *comp_alg_list; +}; + +/* SILC Key Exchange Payload */ +struct SilcSKEKEPayloadStruct { + uint16 pk_len; + unsigned char *pk_data; + uint16 pk_type; + + SilcMPInt x; + + uint16 sign_len; + unsigned char *sign_data; +}; /* Prototypes */ SilcSKEStatus silc_ske_payload_start_encode(SilcSKE ske,