SerialModem.h 3.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  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. * SerialModem.c
  16. * Serial/Modem configuration , Callback & MUX
  17. *
  18. * Author: Govindarajan <govindarajann@amiindia.co.in>
  19. * Vinoth Kumar <vinothkumars@amiindia.co.in>
  20. ****************************************************************/
  21. #ifndef SERIAL_MODEM_H
  22. #define SERIAL_MODEM_H
  23. #include "Types.h"
  24. #include "IPMI_SerialModem.h"
  25. #include "IPMI_LANConfig.h"
  26. /*** External Definitions ***/
  27. #define CHANNEL_ALWAYS_AVAILABLE 2
  28. #define MAX_MODEM_INIT_STR_BLOCKS 4
  29. #define MAX_MODEM_INIT_STR_BLOCK_SIZE 16
  30. #define MAX_MODEM_ESC_SEQ_SIZE 5
  31. #define MAX_MODEM_HANG_UP_SEQ_SIZE 8
  32. #define MAX_MODEM_DIAL_CMD_SIZE 8
  33. #define MAX_SERIAL_ALERT_DESTINATIONS 5
  34. #define MAX_MODEM_DIAL_STRS 5
  35. #define MAX_MODEM_DIAL_STR_BLOCKS 3
  36. #define MAX_MODEM_DIAL_STR_BLOCK_SIZE 16
  37. #define MAX_MODEM_ALERT_DEST_IP_ADDRS 5
  38. #define MAX_MODEM_TAP_ACCOUNTS 3
  39. #define TAP_SERVICE_TYPE_FIELD_SIZE 3
  40. #define TAP_PASSWORD_SIZE 7
  41. #define TAP_PAGER_ID_STRING_SIZE 13
  42. #define MAX_MODEM_CHAP_NAME_SIZE 16
  43. #define MAX_MODEM_PPP_ACCOUNTS 3
  44. #define PPP_ACC_USER_NAME_DOMAIN_PASSWD_SIZE 16
  45. #define MAX_COMM_STRING_SIZE 18
  46. #define MODEM_CFG_DEST_INFO_DEST_TYPE_MASK 0x0f
  47. /* Bit field constants for configuration Data1 & Data2*/
  48. #define TC_SET_DATA_MASK 0xC0
  49. #define TC_LINE_EDIT_ENABLE_MASK 0x20
  50. #define TC_CHECKSUM_REQ_MASK 0x10
  51. #define TC_DELETE_CTRL_MASK 0x0C
  52. #define TC_ECHO_MASK 0x02
  53. #define TC_HAND_SHAKE_MASK 0x1
  54. #define TC_OUT_TERMINATION_SEQ_MASK 0xF0
  55. #define TC_IN_TERMINATION_SEQ_MASK 0x0F
  56. /**
  57. * @defgroup smc Serial/Modem Command handlers
  58. * @ingroup devcfg
  59. * IPMI Serial/Modem configuration interface command handlers.
  60. * Set/Get configuration commands allow retrieval and updation of various
  61. * Serial/Modem, Terminal and PPP parameters.
  62. * @{
  63. **/
  64. extern int SetSerialModemConfig (_NEAR_ INT8U* pReq, INT8U ReqLen, _NEAR_ INT8U* pRes,_NEAR_ int BMCInst);
  65. extern int GetSerialModemConfig (_NEAR_ INT8U* pReq, INT8U ReqLen, _NEAR_ INT8U* pRes,_NEAR_ int BMCInst);
  66. extern int CallBack (_NEAR_ INT8U* pReq, INT8U ReqLen, _NEAR_ INT8U* pRes,_NEAR_ int BMCInst);
  67. extern int SetUserCallBackOptions (_NEAR_ INT8U* pReq, INT8U ReqLen, _NEAR_ INT8U* pRes,_NEAR_ int BMCInst);
  68. extern int GetUserCallBackOptions (_NEAR_ INT8U* pReq, INT8U ReqLen, _NEAR_ INT8U* pRes,_NEAR_ int BMCInst);
  69. extern int SetSerialModemMUX (_NEAR_ INT8U* pReq, INT8U ReqLen, _NEAR_ INT8U* pRes,_NEAR_ int BMCInst);
  70. extern int SerialModemConnectActive (_NEAR_ INT8U* pReq, INT8U ReqLen, _NEAR_ INT8U* pRes,_NEAR_ int BMCInst);
  71. extern int GetTAPResponseCodes (_NEAR_ INT8U* pReq, INT8U ReqLen, _NEAR_ INT8U* pRes,_NEAR_ int BMCInst);
  72. /** @} */
  73. /**
  74. * @brief Task function to generate Serial/Modem Ping message.
  75. **/
  76. extern void SerialModemPingTask ( int BMCInst );
  77. #endif /* SERIAL_MODEM_H */