OpenSSL: update to 1.0.1m
[tomato.git] / release / src / router / openssl / engines / vendor_defns / hw_4758_cca.h
blob235543ad71e392fdabdf897316596c8832b5d224
1 /**********************************************************************/
2 /* */
3 /* Prototypes of the CCA verbs used by the 4758 CCA openssl driver */
4 /* */
5 /* Maurice Gittens <maurice@gittens.nl> */
6 /* */
7 /**********************************************************************/
9 #ifndef __HW_4758_CCA__
10 # define __HW_4758_CCA__
13 * Only WIN32 support for now
15 # if defined(WIN32)
17 # define CCA_LIB_NAME "CSUNSAPI"
19 # define CSNDPKX "CSNDPKX_32"
20 # define CSNDKRR "CSNDKRR_32"
21 # define CSNDPKE "CSNDPKE_32"
22 # define CSNDPKD "CSNDPKD_32"
23 # define CSNDDSV "CSNDDSV_32"
24 # define CSNDDSG "CSNDDSG_32"
25 # define CSNBRNG "CSNBRNG_32"
27 # define SECURITYAPI __stdcall
28 # else
30 * Fixme!! Find out the values of these constants for other platforms.
32 # define CCA_LIB_NAME "CSUNSAPI"
34 # define CSNDPKX "CSNDPKX"
35 # define CSNDKRR "CSNDKRR"
36 # define CSNDPKE "CSNDPKE"
37 # define CSNDPKD "CSNDPKD"
38 # define CSNDDSV "CSNDDSV"
39 # define CSNDDSG "CSNDDSG"
40 # define CSNBRNG "CSNBRNG"
42 # define SECURITYAPI
43 # endif
46 * security API prototypes
49 /* PKA Key Record Read */
50 typedef void (SECURITYAPI * F_KEYRECORDREAD)
51 (long *return_code,
52 long *reason_code,
53 long *exit_data_length,
54 unsigned char *exit_data,
55 long *rule_array_count,
56 unsigned char *rule_array,
57 unsigned char *key_label, long *key_token_length, unsigned char *key_token);
59 /* Random Number Generate */
60 typedef void (SECURITYAPI * F_RANDOMNUMBERGENERATE)
61 (long *return_code,
62 long *reason_code,
63 long *exit_data_length,
64 unsigned char *exit_data,
65 unsigned char *form, unsigned char *random_number);
67 /* Digital Signature Generate */
68 typedef void (SECURITYAPI * F_DIGITALSIGNATUREGENERATE)
69 (long *return_code,
70 long *reason_code,
71 long *exit_data_length,
72 unsigned char *exit_data,
73 long *rule_array_count,
74 unsigned char *rule_array,
75 long *PKA_private_key_id_length,
76 unsigned char *PKA_private_key_id,
77 long *hash_length,
78 unsigned char *hash,
79 long *signature_field_length,
80 long *signature_bit_length, unsigned char *signature_field);
82 /* Digital Signature Verify */
83 typedef void (SECURITYAPI * F_DIGITALSIGNATUREVERIFY) (long *return_code,
84 long *reason_code,
85 long *exit_data_length,
86 unsigned char
87 *exit_data,
88 long *rule_array_count,
89 unsigned char
90 *rule_array,
91 long
92 *PKA_public_key_id_length,
93 unsigned char
94 *PKA_public_key_id,
95 long *hash_length,
96 unsigned char *hash,
97 long
98 *signature_field_length,
99 unsigned char
100 *signature_field);
102 /* PKA Public Key Extract */
103 typedef void (SECURITYAPI * F_PUBLICKEYEXTRACT) (long *return_code,
104 long *reason_code,
105 long *exit_data_length,
106 unsigned char *exit_data,
107 long *rule_array_count,
108 unsigned char *rule_array,
109 long
110 *source_key_identifier_length,
111 unsigned char
112 *source_key_identifier,
113 long
114 *target_key_token_length,
115 unsigned char
116 *target_key_token);
118 /* PKA Encrypt */
119 typedef void (SECURITYAPI * F_PKAENCRYPT)
120 (long *return_code,
121 long *reason_code,
122 long *exit_data_length,
123 unsigned char *exit_data,
124 long *rule_array_count,
125 unsigned char *rule_array,
126 long *key_value_length,
127 unsigned char *key_value,
128 long *data_struct_length,
129 unsigned char *data_struct,
130 long *RSA_public_key_length,
131 unsigned char *RSA_public_key,
132 long *RSA_encipher_length, unsigned char *RSA_encipher);
134 /* PKA Decrypt */
135 typedef void (SECURITYAPI * F_PKADECRYPT)
136 (long *return_code,
137 long *reason_code,
138 long *exit_data_length,
139 unsigned char *exit_data,
140 long *rule_array_count,
141 unsigned char *rule_array,
142 long *enciphered_key_length,
143 unsigned char *enciphered_key,
144 long *data_struct_length,
145 unsigned char *data_struct,
146 long *RSA_private_key_length,
147 unsigned char *RSA_private_key,
148 long *key_value_length, unsigned char *key_value);
150 #endif