hw_4758_cca.h revision 296341
1/**********************************************************************/ 2/* */ 3/* Prototypes of the CCA verbs used by the 4758 CCA openssl driver */ 4/* */ 5/* Maurice Gittens <maurice@gittens.nl> */ 6/* */ 7/**********************************************************************/ 8 9#ifndef __HW_4758_CCA__ 10# define __HW_4758_CCA__ 11 12/* 13 * Only WIN32 support for now 14 */ 15# if defined(WIN32) 16 17# define CCA_LIB_NAME "CSUNSAPI" 18 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" 26 27# define SECURITYAPI __stdcall 28# else 29 /* 30 * Fixme!! Find out the values of these constants for other platforms. 31 */ 32# define CCA_LIB_NAME "CSUNSAPI" 33 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" 41 42# define SECURITYAPI 43# endif 44 45/* 46 * security API prototypes 47 */ 48 49/* PKA Key Record Read */ 50typedef 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); 58 59/* Random Number Generate */ 60typedef 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); 66 67/* Digital Signature Generate */ 68typedef 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); 81 82/* Digital Signature Verify */ 83typedef 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); 101 102/* PKA Public Key Extract */ 103typedef 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); 117 118/* PKA Encrypt */ 119typedef 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); 133 134/* PKA Decrypt */ 135typedef 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); 149 150#endif 151