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

  1. /*
  2.  * cqname.h
  3.  *
  4.  * iRMX-NET/iNA 960/iTP4 Name Server CQ_COMM_RB Request Block Interface
  5.  */
  6.  
  7. /*
  8.  * Name Server Opcodes
  9.  */
  10.  
  11. #ifndef _cqname_
  12. #define _cqname_
  13.  
  14. #ifndef _cqcommon_
  15. #include "cqcommon.h"
  16. #endif
  17.  
  18. #define ADD_NAME        (unsigned char)0
  19. #define DELETE_NAME     (unsigned char)1
  20. #define GET_VALUE       (unsigned char)2
  21. #define CHANGE_VALUE    (unsigned char)3
  22. #define DELETE_PROPERTY (unsigned char)4
  23. #define GET_NAME        (unsigned char)5
  24. #define GET_SPOKESMAN   (unsigned char)6
  25. #define LIST_TABLE      (unsigned char)7
  26.  
  27. /*
  28.  *  Assigned Name Server Property Types.
  29.  */
  30.  
  31. #define PT_SERVER_TSAP   (unsigned short)0x0000
  32. #define PT_CONSUMER_TSAP (unsigned short)0x0001
  33. #define PT_MY_NAME       (unsigned short)0x0002
  34. #define PT_SERVER_TA     (unsigned short)0x0003
  35. #define PT_MYCONFIG      (unsigned short)0x0004
  36. #define PT_SERVER_NAME   (unsigned short)0x0005
  37.         
  38. /* 
  39.  * Name Server Response Codes
  40.  */
  41.  
  42. #define NS_MIN_EXCEPTION (unsigned short)0x02
  43. #define NS_MAX_EXCEPTION (unsigned short)0x1E
  44.  
  45. #ifndef OK_RESPONSE
  46. #define OK_RESPONSE      (unsigned short)0x01
  47. #endif
  48. #define E_NAME_EXIST     (unsigned short)0x02
  49. #define E_NAME_NOT_EXIST (unsigned short)0x04
  50. #define E_BAD_NAME       (unsigned short)0x06
  51. #define E_PT_EXIST       (unsigned short)0x08
  52. #define E_PT_NEXIST      (unsigned short)0x0A
  53. #define E_BAD_PVT        (unsigned short)0x0C
  54. #define E_BAD_PV         (unsigned short)0x0E
  55. #define E_NSPACE         (unsigned short)0x10
  56. #define E_BUFF_SPACE     (unsigned short)0x12
  57. #define E_NAME_OPCODE    (unsigned short)0x14
  58. #define E_MAX_RESP       (unsigned short)0x16
  59. #define E_BAD_BUF_PTR    (unsigned short)0x18
  60. #define E_NO_MEMORY      (unsigned short)0x1A
  61. #define E_NO_DELETION    (unsigned short)0x1C
  62. #define E_RB_FORMAT_BAD  (unsigned short)0x1E
  63.  
  64. /*
  65.  *  Name Server RB Structures.
  66.  */
  67.  
  68. #pragma noalign (name_server_rb)
  69. typedef struct name_server_rb {
  70.        RB_COMMON        header;
  71.        unsigned char    reserved[6];
  72.        unsigned int     name_buffer_ptr;
  73.        unsigned char    unique_name_flag;
  74.        unsigned short   property_type;
  75.        unsigned char    property_value_type;
  76.        unsigned int     pv_buffer_ptr;
  77.        unsigned int     extra_buffer_ptr;
  78.        unsigned short   extra_buffer_length;
  79. } NAME_SERVER_RB;
  80.  
  81. #pragma noalign (name_buffer)
  82. typedef struct name_buffer {
  83.        unsigned char    name_length;
  84.        unsigned char    name[1];
  85. } NAME_BUFFER;
  86.  
  87. #pragma noalign (value_buffer)
  88. typedef struct value_buffer {
  89.        unsigned short   length;
  90.        unsigned char    value[1];
  91. } VALUE_BUFFER;
  92.  
  93. #pragma noalign (each_value)
  94. typedef struct each_value {
  95.        unsigned short   value_length;
  96.        unsigned char    value[1];
  97. } EACH_VALUE;
  98.  
  99. #pragma noalign (nu_value_buffer)
  100. typedef struct nu_value_buffer {
  101.        unsigned short   length;
  102.        unsigned char    count;
  103.        EACH_VALUE       value_list[1];
  104. } NU_VALUE_BUFFER;
  105.  
  106. #pragma noalign (each_name)
  107. typedef struct each_name {
  108.        unsigned char    entry_length;
  109.        unsigned char    entry_name[1];
  110. } EACH_NAME;
  111.  
  112. #pragma noalign (extra_buffer)
  113. typedef struct extra_buffer {
  114.        unsigned short   length;
  115.        unsigned char    count;
  116.        EACH_NAME        name_list[1];
  117. } EXTRA_BUFFER;
  118.  
  119. #pragma noalign (each_object)
  120. typedef struct each_object {
  121.        unsigned char    name_length;
  122.        unsigned char    name[1];
  123.        unsigned char    unique_name_flag;
  124.        unsigned short   property_type;
  125.        unsigned char    pv_type;
  126.        unsigned char    pv_length;
  127.        unsigned char    property_value[1];
  128. } EACH_OBJECT;
  129.  
  130. #pragma noalign (list_buffer)
  131. typedef struct list_buffer {
  132.        unsigned short   length;
  133.        unsigned char    count;
  134.        EACH_OBJECT      object_list[1];
  135. } LIST_BUFFER;
  136.  
  137. #endif
  138.