00001 /****************************** -*- mode: C -*- ******************************/ 00014 #ifndef C4E_RNG_H 00015 #define C4E_RNG_H 00016 00017 00018 /* INCLUDES ******************************************************************/ 00019 00020 #include "c4e_sys.h" 00021 00022 00023 #ifdef __cplusplus 00024 extern "C" { 00025 #endif 00026 00027 00036 /* DEFINES *******************************************************************/ 00037 00038 00039 00040 /* TYPEDEFS ******************************************************************/ 00041 00042 00043 /* FUNCTION ******************************************************************/ 00054 typedef C4eSysStatus (*C4eRngFunc)(C4eArchSize len, C4eArchUint8* buf, 00055 void* usrarg); 00056 00057 00064 typedef enum 00065 { 00066 C4eRngModeRaw, 00067 C4eRngModePkcs1v1 00068 } C4eRngMode; 00069 00070 00071 00072 /* MACROS ********************************************************************/ 00073 00074 00075 /* PROTOTYPES ****************************************************************/ 00076 00077 00078 /* FUNCTION ******************************************************************/ 00090 C4eRngFunc c4e_rng_install(C4eRngFunc fn_rng, void* arg_rng); 00091 00092 00097 /* FUNCTION ******************************************************************/ 00111 C4eSysStatus c4e_rng_rand(C4eRngMode mode, C4eArchUint8* buf, 00112 C4eArchSize len); 00113 00114 00115 00116 00117 #ifdef __cplusplus 00118 } 00119 #endif 00120 00121 00122 00123 #endif /* C4E_RNG_H */ 00124 00125 00126 /*****************************************************************************/ 00127 /* END OF FILE */ 00128 /*****************************************************************************/ 00129