RMCP+.h 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. /****************************************************************
  2. ****************************************************************
  3. ** **
  4. ** (C)Copyright 2005-2006, American Megatrends Inc. **
  5. ** **
  6. ** All Rights Reserved. **
  7. ** **
  8. ** 6145-F, Northbelt Parkway, Norcross, **
  9. ** **
  10. ** Georgia - 30071, USA. Phone-(770)-246-8600. **
  11. ** **
  12. ****************************************************************
  13. ****************************************************************/
  14. /*****************************************************************
  15. *
  16. * rmcp.h
  17. * RMCP Packet Handler
  18. *
  19. * Author: Govind Kothandapani <govindk@ami.com>
  20. * : Bakka Ravinder Reddy <bakkar@ami.com>
  21. *
  22. *****************************************************************/
  23. #ifndef RMCP_PLUS_H
  24. #define RMCP_PLUS_H
  25. #include "com_BmcType.h"
  26. #include "com_IPMI_RMCP.h"
  27. #include "com_IPMI_RMCP+.h"
  28. #include "RMCP.h"
  29. #include "Ciphertable.h"
  30. /*** External Definitions *****/
  31. #define MAX_ALGORITHMS 2
  32. #define HMAC_SHA1_96_LEN 12
  33. #define HMAC_SHA256_128_LEN 16
  34. #define HMAC_MD5_LEN 16
  35. #define MD5_LEN 16
  36. #define USER_ROLE_LOOKUP 0
  37. #define NAME_ONLY_LOOKUP 1
  38. #pragma pack( 1 )
  39. /**
  40. * @var g_CipherRec
  41. * @brief Cipher suite record.
  42. **/
  43. extern const uint8_t g_CipherRec[MAX_CIPHER_SUITES_BYTES];
  44. #pragma pack( )
  45. /**
  46. * @defgroup rmcp RMCP+ Session Establishment
  47. * A set of pre-session messages as per RMCP+ specifiation.
  48. * These messages negotiate integrity and confidentiality algorithms and develop
  49. * keys for encoding/decoding furthur messages.
  50. * @{
  51. **/
  52. // extern int RSSPOpenSessionReq ( uint8_t* pReq, uint8_t ReqLen, uint8_t* pRes, uint8_t Channel );
  53. // extern int RAKPMsg1 ( uint8_t* pReq, uint8_t ReqLen, uint8_t* pRes, uint8_t Channel );
  54. // extern int RAKPMsg3 ( uint8_t* pReq, uint8_t ReqLen, uint8_t* pRes, uint8_t Channel );
  55. // /** @} */
  56. // /**
  57. // * @brief sha256 open source algorithm
  58. // **/
  59. // extern void hmac_sha256(unsigned char *key, unsigned int key_size,
  60. // unsigned char *message, unsigned int message_len,
  61. // unsigned char *mac, unsigned mac_size);
  62. #endif /* RMCP_PLUS_H */