/**************************************************************** **************************************************************** ** ** ** (C)Copyright 2005-2006, American Megatrends Inc. ** ** ** ** All Rights Reserved. ** ** ** ** 6145-F, Northbelt Parkway, Norcross, ** ** ** ** Georgia - 30071, USA. Phone-(770)-246-8600. ** ** ** **************************************************************** ****************************************************************/ /***************************************************************** * * rmcp.h * RMCP Packet Handler * * Author: Govind Kothandapani * : Bakka Ravinder Reddy * *****************************************************************/ #ifndef RMCP_PLUS_H #define RMCP_PLUS_H #include "com_BmcType.h" #include "com_IPMI_RMCP.h" #include "com_IPMI_RMCP+.h" #include "RMCP.h" #include "Ciphertable.h" /*** External Definitions *****/ #define MAX_ALGORITHMS 2 #define HMAC_SHA1_96_LEN 12 #define HMAC_SHA256_128_LEN 16 #define HMAC_MD5_LEN 16 #define MD5_LEN 16 #define USER_ROLE_LOOKUP 0 #define NAME_ONLY_LOOKUP 1 #pragma pack( 1 ) /** * @var g_CipherRec * @brief Cipher suite record. **/ extern const uint8_t g_CipherRec[MAX_CIPHER_SUITES_BYTES]; #pragma pack( ) /** * @defgroup rmcp RMCP+ Session Establishment * A set of pre-session messages as per RMCP+ specifiation. * These messages negotiate integrity and confidentiality algorithms and develop * keys for encoding/decoding furthur messages. * @{ **/ // extern int RSSPOpenSessionReq ( uint8_t* pReq, uint8_t ReqLen, uint8_t* pRes, uint8_t Channel ); // extern int RAKPMsg1 ( uint8_t* pReq, uint8_t ReqLen, uint8_t* pRes, uint8_t Channel ); // extern int RAKPMsg3 ( uint8_t* pReq, uint8_t ReqLen, uint8_t* pRes, uint8_t Channel ); // /** @} */ // /** // * @brief sha256 open source algorithm // **/ // extern void hmac_sha256(unsigned char *key, unsigned int key_size, // unsigned char *message, unsigned int message_len, // unsigned char *mac, unsigned mac_size); #endif /* RMCP_PLUS_H */