home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 15 / 15.iso / s / s038 / 10.ddi / 017.LIF / CQNMF.H < prev    next >
Encoding:
C/C++ Source or Header  |  1992-07-02  |  6.2 KB  |  207 lines

  1. /*
  2.  * cqnmf.h
  3.  *
  4.  * iRMX-NET/iNA 960/iTP4 NMF CQ_COMM_RB Request Block Interface
  5.  */
  6.  
  7. #ifndef _cqnmf_
  8. #define _cqnmf_
  9.  
  10. #ifndef _cqcommon_
  11. #include "cqcommon.h"
  12. #endif
  13.  
  14. /*
  15.  * NMF Opcodes
  16.  */
  17.  
  18. #define ATTACH_AGENT          (unsigned char)0x0B
  19. #define DETACH_AGENT          (unsigned char)0x0C
  20. #define READ_OBJECT           (unsigned char)0x00
  21. #define READ_AND_CLEAR_OBJECT (unsigned char)0x01
  22. #define SET_OBJECT            (unsigned char)0x02
  23. #define AWAIT_EVENT           (unsigned char)0x0A
  24. #define READ_MEMORY           (unsigned char)0x03
  25. #define SET_MEMORY            (unsigned char)0x04
  26. #define DUMP                  (unsigned char)0x05
  27. #define ECHO                  (unsigned char)0x06
  28. #define SUPPLY_BUFFER         (unsigned char)0x08
  29. #define TAKEBACK_BUFFER       (unsigned char)0x09
  30.  
  31. /*
  32.  * NMF Response Codes
  33.  */
  34.  
  35. #define E_OK_OBJ_CMND       (unsigned short)0x00
  36. #ifndef OK_RESPONSE
  37. #define OK_RESPONSE         (unsigned short)0x01
  38. #endif
  39. #define E_NO_RESPONSE       (unsigned short)0x02
  40. #define E_OK_BUFF_RELEASE   (unsigned short)0x03
  41. #define E_PACKET_LENGTH     (unsigned short)0x04
  42. #define E_OK_COMMAND        (unsigned short)0x05
  43. #define E_OBJ_ID            (unsigned short)0x06
  44. #define E_DATA_MATCH        (unsigned short)0x06
  45. #define E_ACCESS_OP         (unsigned short)0x07
  46. #define E_CONNECTION        (unsigned short)0x08
  47. #define E_PARAMETER         (unsigned short)0x09
  48. #define NOT_CONFIGURED      (unsigned short)0x0A
  49. #define E_NMF_OPCODE        (unsigned short)0x0C
  50. #define E_INSUFF_RESP_BUF   (unsigned short)0x0E
  51. #define E_LAYER_NOT_SUPP    (unsigned short)0x10
  52. #define E_OBJ_MIX           (unsigned short)0x12
  53. #define E_REFERENCE         (unsigned short)0x14
  54. #define E_MAX_CONN          (unsigned short)0x16
  55. #define E_PROTOCOL_ERR      (unsigned short)0x18
  56. #define E_INTERNAL_BUF      (unsigned short)0x1A
  57. #define E_MODIFIER          (unsigned short)0x80
  58. #define E_RESP_BUF          (unsigned short)0x81
  59. #define E_TABLE_INDEX       (unsigned short)0x82
  60. #define E_EMPTY_TBL_ENTRY   (unsigned short)0x83
  61. #define E_NO_FREE_TBL_ENTRY (unsigned short)0x84
  62. #define E_NO_NMF            (unsigned short)0xFFFE
  63.  
  64. /*
  65.  *  NMF RB Structures.
  66.  */
  67.  
  68. #pragma noalign (attach_agent_rb)
  69. typedef struct attach_agent_rb {
  70.        RB_COMMON         header;
  71.        unsigned short    reference;
  72.        unsigned int      address_buf_ptr;
  73. }ATTACH_AGENT_RB;
  74.  
  75. #pragma noalign (detach_agent_rb)
  76. typedef struct detach_agent_rb {
  77.        RB_COMMON         header;
  78.        unsigned short    reference;
  79. }DETACH_AGENT_RB;
  80.  
  81. #pragma noalign (nmf_object_rb)
  82. typedef struct nmf_object_rb {
  83.        RB_COMMON         header;
  84.        unsigned short    reference;
  85.        unsigned short    filled_length;
  86.        unsigned int      resp_buf_ptr;
  87.        unsigned short    resp_buf_length;
  88.        unsigned int      cmd_buf_ptr;
  89.        unsigned short    cmd_buf_length;
  90. }NMF_OBJECT_RB;
  91.  
  92. #pragma noalign (obj_cmd_info)
  93. typedef struct obj_cmd_info {
  94.        unsigned short    object;
  95.        unsigned short    modifier;
  96.        unsigned short    length;
  97.        unsigned char     value[1];
  98. }OBJ_CMD_INFO;
  99.  
  100. #pragma noalign (command_buffer)
  101. typedef struct command_buffer {
  102.        unsigned char     num_obj;
  103.        OBJ_CMD_INFO      obj_info[1];
  104. }COMMAND_BUFFER;
  105.  
  106. #pragma noalign (obj_resp_info)
  107. typedef struct obj_resp_info {
  108.        unsigned short    object;
  109.        unsigned short    modifier;
  110.        unsigned char     status;
  111.        unsigned short    length;
  112.        unsigned char     value[1];
  113. }OBJ_RESP_INFO;
  114.  
  115. #pragma noalign (response_buffer)
  116. typedef struct response_buffer {
  117.        unsigned char     num_obj;
  118.        OBJ_RESP_INFO     obj_info[1];
  119. }RESPONSE_BUFFER;
  120.  
  121. #pragma noalign (await_event_rb)
  122. typedef struct await_event_rb {
  123.        RB_COMMON         header;
  124.        unsigned short    reference;
  125.        unsigned short    filled_length;
  126.        unsigned int      event_buf_ptr;
  127.        unsigned short    event_buf_length;
  128. }AWAIT_EVENT_RB;
  129.  
  130. #pragma noalign (await_event_buffer)
  131. typedef struct await_event_buffer {
  132.        unsigned short    event_len;
  133.        unsigned short    event_id;
  134.        unsigned char     event_time[17];
  135.        unsigned short    reset_time_ctr;
  136. }AWAIT_EVENT_BUFFER;
  137.  
  138. #pragma noalign (read_or_set_mem_rb)
  139. typedef struct read_or_set_mem_rb {
  140.        RB_COMMON         header;
  141.        unsigned short    reference;
  142.        unsigned short    filled_length;
  143.        unsigned int      buffer_ptr;
  144.        unsigned short    num_bytes;
  145.        unsigned int      start_addr;
  146. }READ_OR_SET_MEM_RB;
  147.  
  148. #pragma noalign (subnet_address)
  149. typedef struct subnet_address {
  150.        unsigned char     host_id[6];
  151.        unsigned char     nmf_lsap;
  152. }SUBNET_ADDRESS;
  153.  
  154. #pragma noalign (dump_rb)
  155. typedef struct dump_rb {
  156.        RB_COMMON         header;
  157.        unsigned int      subnet_addr_ptr;
  158.        unsigned short    filled_length;
  159.        unsigned int      buffer_ptr;
  160.        unsigned short    buffer_length;
  161.        unsigned int      start_address;
  162. }DUMP_RB;
  163.  
  164. #pragma noalign (echo_rb)
  165. typedef struct echo_rb {
  166.        RB_COMMON         header;
  167.        unsigned int      subnet_addr_ptr;
  168.        unsigned short    transmit_data_cnt;
  169.        unsigned short    received_data_cnt;
  170. }ECHO_RB;
  171.  
  172. #pragma noalign (boot_module)
  173. typedef struct boot_module {
  174.        unsigned char     command;
  175.        unsigned int      load_addr;
  176.        unsigned short    length;
  177.        unsigned int      execution_addr;
  178.        unsigned char     memory_image[1];
  179. }BOOT_MODULE;
  180.  
  181. #pragma noalign (supply_buf_rb)
  182. typedef struct supply_buf_rb {
  183.        RB_COMMON         header;
  184.        unsigned short    filled_length;
  185.        unsigned int      buffer_ptr;
  186.        unsigned short    buffer_length;
  187. }SUPPLY_BUF_RB;
  188.  
  189. #pragma noalign (takeback_buf_rb)
  190. typedef struct takeback_buf_rb {
  191.        RB_COMMON         header;
  192. }TAKEBACK_BUF_RB;
  193.  
  194. #pragma noalign (supply_buff)
  195. typedef struct supply_buff {
  196.        unsigned char     destination_addr[6];
  197.        unsigned char     source_addr[6];
  198.        unsigned short    length;
  199.        unsigned char     dest_lsap_sel;
  200.        unsigned char     src_lsap_sel;
  201.        unsigned char     control;
  202.        unsigned char     data[1];
  203. }SUPPLY_BUFF;
  204.  
  205. #endif
  206.  
  207.