libipmi_AppDevice.h 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. /**
  2. * @file libipmi_AppDevice.h
  3. * @author Rajasekhar (rajasekharj@amiindia.co.in)
  4. * @date 02-Sep-2004
  5. *
  6. * @brief Contains exported AppDevice API by LIBIPMI for
  7. * communicating with the BMC.
  8. *
  9. */
  10. #ifndef __LIBIPMI_APPDEVICE_H__
  11. #define __LIBIPMI_APPDEVICE_H__
  12. /* LIIPMI core header files */
  13. #include "libipmi_session.h"
  14. #include "libipmi_errorcodes.h"
  15. /* command specific header files */
  16. #include "com_IPMI_AppDevice.h"
  17. #include "com_IPMI_AppDevice+.h"
  18. #ifdef __cplusplus
  19. extern "C" {
  20. #endif
  21. #define TWENTY_BYTE_PWD 0x80
  22. #define MAX_CHANNEL_NUM 15
  23. #define LAN_CHANNEL_MEDIUM_TYPE 0x04
  24. #define SERIAL_CHANNEL_MEDIUM_TYPE 0x05
  25. /*---------- IPMI Command direct routines ----------*/
  26. /* User Management functions */
  27. uint16_t IPMICMD_GetUserAccess(IPMI20_UDS_SESSION_T* pUDSSession,
  28. GetUserAccessReq_T* pReqGetUserAccess,
  29. GetUserAccessRes_T* pResGetUserAccess,
  30. int timeout);
  31. uint16_t IPMICMD_GetUser(IPMI20_UDS_SESSION_T *pUDSSession/*in*/, GetUserNameReq_T *pReqGetUser/*in*/,
  32. GetUserNameRes_T *pResGetUser/*out*/, int timeout/*in*/);
  33. uint16_t IPMICMD_SetUser(IPMI20_UDS_SESSION_T *pUDSSession/*in*/, SetUserNameReq_T *pReqSetUser/*in*/,
  34. SetUserNameRes_T *pResSetUser/*out*/, int timeout/*in*/);
  35. uint16_t IPMICMD_GetSessionInfo(IPMI20_UDS_SESSION_T *pUDSSession/*in*/, GetSesInfoReq_T *pReqSetUser/*in*/,
  36. GetSesInfoRes_T *pResSetUser/*out*/, int timeout/*in*/);
  37. uint16_t IPMICMD_GetUserAccessPayload(IPMI20_UDS_SESSION_T* pUDSSession,
  38. GetUsrPayldAccReq_T* pReqGetUserAccessPayload,
  39. GetUsrPayldAccRes_T* pResGetUserAccessPayload,
  40. int timeout);
  41. uint16_t IPMICMD_GetWDT(IPMI20_UDS_SESSION_T* pUDSSession,
  42. GetWDTRes_T* pResGetWDT,
  43. int timeout);
  44. uint16_t IPMICMD_GetChannelInfo(IPMI20_UDS_SESSION_T* pUDSSession,
  45. GetChInfoReq_T* pReqGetChInfo,
  46. GetChInfoRes_T* pResGetChInfo,
  47. int timeout);
  48. uint16_t IPMICMD_GetSystemGUID( IPMI20_UDS_SESSION_T *pUDSSession,
  49. GetSysGUIDRes_T *pGetSystemGUID,
  50. int timeout );
  51. uint16_t IPMICMD_SendMessage(IPMI20_UDS_SESSION_T *pUDSSession,uint8_t *pSendMsgReq,
  52. uint8_t *pSendMsgRes,uint32_t SendMsgReqLen,int timeout);
  53. /*---------- LIBIPMI Higher level routines -----------*/
  54. /* User Management functions */
  55. uint16_t LIBIPMI_HL_SetUser( IPMI20_UDS_SESSION_T *pUDSSession/*in*/, char *pszUsername/*in*/,
  56. uint8_t byID/*in*/, int timeout/*in*/);
  57. uint16_t LIBIPMI_HL_GetUser( IPMI20_UDS_SESSION_T *pUDSSession/*in*/, char *pszUsername/*out*/,
  58. uint8_t byID/*in*/, int timeout/*in*/);
  59. uint16_t LIBIPMI_HL_AddUser(IPMI20_UDS_SESSION_T *pUDSSession/*in*/,uint8_t UserID/*in*/,
  60. char* UserName/*in*/, char* ClearPswd/*in*/,
  61. uint8_t NetworkPriv/*in*/,uint8_t SerialPriv/*in*/,
  62. int timeout);
  63. uint16_t LIBIPMI_HL_ModUser(IPMI20_UDS_SESSION_T *pUDSSession,
  64. uint8_t UserID,uint8_t IsPwdChange,
  65. char* UserName,char* ClearPswd,
  66. uint8_t NetworkPriv,uint8_t SerialPriv,uint8_t EnableUser,
  67. uint8_t ModifyUserName, uint8_t EnableSOL,
  68. int timeout);
  69. uint16_t LIBIPMI_HL_DelUser(IPMI20_UDS_SESSION_T *pUDSSession/*in*/,uint8_t UserID/*in*/,
  70. int timeout);
  71. uint16_t LIBIPMI_HL_GetMaxNumUsers(IPMI20_UDS_SESSION_T* pUDSSession/*in*/,
  72. uint8_t *nNumUsers/*in*/, int timeout);
  73. uint16_t LIBIPMI_HL_GetAllUserInfo(IPMI20_UDS_SESSION_T *pUDSSession,
  74. uint8_t* nNumUsers,
  75. GetUserNameRes_T* pResGetUserName,
  76. GetUserAccessRes_T* pResGetUserAccess_Network,
  77. GetUserAccessRes_T* pResGetUserAccess_Serial,
  78. GetUsrPayldAccRes_T* pResGetUserAccessPayload_SOL,
  79. int timeout);
  80. uint16_t LIBIPMI_HL_GetOneUserInfo(IPMI20_UDS_SESSION_T *pUDSSession,
  81. int UserID,
  82. GetUserNameRes_T* pResGetUserName,
  83. GetUserAccessRes_T* pResGetUserAccess_Network,
  84. GetUserAccessRes_T* pResGetUserAccess_Serial,
  85. GetUsrPayldAccRes_T* pResGetUserAccessPayload_SOL,
  86. int timeout);
  87. uint16_t LIBIPMI_HL_GetSessionInfoCurrent( IPMI20_UDS_SESSION_T *pUDSSession, GetSesInfoRes_T* SesInfoRes, int timeout );
  88. uint16_t LIBIPMI_HL_GetChannelAccess(IPMI20_UDS_SESSION_T* pUDSSession,uint8_t ChannelMedium,GetChAccessRes_T* pChAccessRes, int timeout);
  89. uint16_t LIBIPMI_HL_SetChannelAccessPrivilege(IPMI20_UDS_SESSION_T* pUDSSession,
  90. uint8_t ChannelMedium,uint8_t Privilege,
  91. SetChAccessRes_T* pChAccessRes, int timeout);
  92. uint16_t LIBIPMI_HL_GetSystemGUID( IPMI20_UDS_SESSION_T *pUDSSession, char *pszSystemGUID, int timeout );
  93. uint16_t LIBIPMI_HL_GetUserPrivilege(IPMI20_UDS_SESSION_T *pUDSSession, uint8_t UserID, uint32_t *Privilege, int timeout);
  94. #ifdef __cplusplus
  95. }
  96. #endif
  97. #endif