hw_4758_cca.h revision 160815
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 /* Fixme!! 30 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, 58 long * key_token_length, 59 unsigned char * key_token); 60 61/* Random Number Generate */ 62typedef void (SECURITYAPI *F_RANDOMNUMBERGENERATE) 63 (long * return_code, 64 long * reason_code, 65 long * exit_data_length, 66 unsigned char * exit_data, 67 unsigned char * form, 68 unsigned char * random_number); 69 70/* Digital Signature Generate */ 71typedef void (SECURITYAPI *F_DIGITALSIGNATUREGENERATE) 72 (long * return_code, 73 long * reason_code, 74 long * exit_data_length, 75 unsigned char * exit_data, 76 long * rule_array_count, 77 unsigned char * rule_array, 78 long * PKA_private_key_id_length, 79 unsigned char * PKA_private_key_id, 80 long * hash_length, 81 unsigned char * hash, 82 long * signature_field_length, 83 long * signature_bit_length, 84 unsigned char * signature_field); 85 86/* Digital Signature Verify */ 87typedef void (SECURITYAPI *F_DIGITALSIGNATUREVERIFY)( 88 long * return_code, 89 long * reason_code, 90 long * exit_data_length, 91 unsigned char * exit_data, 92 long * rule_array_count, 93 unsigned char * rule_array, 94 long * PKA_public_key_id_length, 95 unsigned char * PKA_public_key_id, 96 long * hash_length, 97 unsigned char * hash, 98 long * signature_field_length, 99 unsigned char * signature_field); 100 101/* PKA Public Key Extract */ 102typedef void (SECURITYAPI *F_PUBLICKEYEXTRACT)( 103 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 * source_key_identifier_length, 110 unsigned char * source_key_identifier, 111 long * target_key_token_length, 112 unsigned char * target_key_token); 113 114/* PKA Encrypt */ 115typedef void (SECURITYAPI *F_PKAENCRYPT) 116 (long * return_code, 117 long * reason_code, 118 long * exit_data_length, 119 unsigned char * exit_data, 120 long * rule_array_count, 121 unsigned char * rule_array, 122 long * key_value_length, 123 unsigned char * key_value, 124 long * data_struct_length, 125 unsigned char * data_struct, 126 long * RSA_public_key_length, 127 unsigned char * RSA_public_key, 128 long * RSA_encipher_length, 129 unsigned char * RSA_encipher ); 130 131/* PKA Decrypt */ 132typedef void (SECURITYAPI *F_PKADECRYPT) 133 (long * return_code, 134 long * reason_code, 135 long * exit_data_length, 136 unsigned char * exit_data, 137 long * rule_array_count, 138 unsigned char * rule_array, 139 long * enciphered_key_length, 140 unsigned char * enciphered_key, 141 long * data_struct_length, 142 unsigned char * data_struct, 143 long * RSA_private_key_length, 144 unsigned char * RSA_private_key, 145 long * key_value_length, 146 unsigned char * key_value ); 147 148 149#endif 150