/**************************************************************** **************************************************************** ** ** ** (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_H #define RMCP_H #include "com_BmcType.h" #include "com_IPMI_RMCP.h" #include "com_IPMIDefs.h" /* Integrity Algorithm Numbers */ #define AUTH_NONE 0 #define AUTH_HMAC_SHA1_96 1 #define AUTH_HMAC_MD5_128 2 #define AUTH_MD5_128 3 #define AUTH_HMAC_SHA256_128 4 #define CONF_AES_CBC_128 1 #define CONF_xCR4_128 2 #define CONF_xCR4_40 3 /* Login Event OEMType definitions */ #define EVENT_LOGIN 0x9 #define EVENT_LOGOUT 0xA #define EVENT_AUTO_LOGOUT 0xB #define EVENT_LOGIN_FAILURE 0xE #define NULL_USER 1 // /** // * This structure holds various params/flags that are collected/accumulated/set/reset on the way during the flow of packets in API chain. // * // */ // typedef struct { // uint8_t IsPktFromLoopBack; /** packet is received thru LoopBack */ // uint8_t IsPktFromVLAN; /** packet is received thru VLAN */ // }MiscParams_T; // /** // * @var uint32_t g_DeleteThisLANSSession // * @brief Flag indicates LAN ifc to delete the session after sending response // **/ // //extern uint32_t g_DeleteThisLANSessionID; // /** // * @brief Process RMCP request received over LAN interface. // * @param pRMCPReq - Request message. // * @param pRMCPRes - Response message. // * @return Message length. // **/ // extern uint32_t ProcessRMCPReq( RMCPHdr_T* pRMCPReq, RMCPHdr_T* pRMCPRes, MiscParams_T *pParams,uint8_t Channel, int BMCInst); // * // * @brief Compute authentication code. // * @param pPassword - User password. // * @param pSessionHdr - Session header RMCP message. // * @param pIPMIMsg - IPMI message payload. // * @param pAuthCode - Authentication Code being generated. // * @param ChannelType - Channel Type. // * // extern void ComputeAuthCode ( uint8_t* pPassword, SessionHdr_T* pSessionHdr, // IPMIMsgHdr_T* pIPMIMsg, uint8_t* pAuthCode, // uint8_t ChannelType); // /** // * @brief Frame IPMI 2.0 payload. // * @param PayloadType - Payload Type. // * @param pRMCPPkt - RMCP data. // * @param pPayload - Payload data. // * @param PayloadLen - Payload Length. // * @param pSessionInfo - Session information. // * @return 0 if success, -1 if error. // **/ // extern int Frame20Payload (uint8_t PayloadType, RMCPHdr_T* pRMCPPkt, // uint8_t* pPayload, uint32_t PayloadLen, // SessionInfo_T* pSessionInfo, int BMCInst); // extern int AddLoginEvent ( uint8_t UserID, uint8_t* UserName, uint8_t EvtType, int BMCInst); #endif /* RMCP_H */