home *** CD-ROM | disk | FTP | other *** search
/ Beijing Paradise BBS Backup / PARADISE.ISO / software / BBSDOORW / NETCLB35.ZIP / NETCLB35.EXE / INCLUDE / NETWARE.H next >
C/C++ Source or Header  |  1996-01-03  |  7KB  |  201 lines

  1. /*********************************/
  2. /* Netware C Library Header file */
  3. /*********************************/
  4.  
  5. #ifndef NETWARE_H
  6. #define NETWARE_H
  7.  
  8. #define NETCLB_VERSION 3.50
  9.  
  10. #ifndef FAR
  11.    #ifdef TURBOC
  12.           #define FAR far
  13.    #else
  14.           #define FAR _far
  15.    #endif
  16. #endif
  17.  
  18.  
  19. /***************************************/
  20. /* Bindery object type classifications */
  21. /***************************************/
  22.  
  23. #define UNKNOWN         0x0000 /* unknown object */
  24. #define USER            0x0001 /* User type object */
  25. #define USER_GROUP      0x0002 /* Group type object */
  26. #define PRINT_Q         0x0003 /* Print Queue type object */
  27. #define FILE_SERVER     0x0004 /* FileServer */
  28. #define JOB_SERVER      0x0005 /* Job server */
  29. #define GATEWAY         0x0006 /* Gateway */
  30. #define PRN_SERVER      0x0007 /* Print server */
  31. #define ARCHIVE_Q       0x0008 /* Archive queue */
  32. #define ARC_SERVER      0x0009 /* Archive server */
  33. #define JOB_Q           0x000a /* Job queue */
  34. #define ADMIN           0x000b /* Administration */
  35. #define REM_BRIDGE      0x0026 /* Remote bridge */
  36. #define ADV_PRN_SERVER  0x0047 /* Advertising Print Server */
  37. #define WILDCARD        0xffff /* WildCard */
  38.  
  39. /*************************************/
  40. /* Trustee\Effective Rights settings */
  41. /*************************************/
  42.  
  43. #define RT_NONE       0x00
  44. #define RT_READ       0x01
  45. #define RT_WRITE      0x02
  46. #define RT_OPEN       0x04
  47. #define RT_CREATE     0x08
  48. #define RT_DELETE     0x10
  49. #define RT_OWNERSHIP  0x20
  50. #define RT_SEARCH     0x40
  51. #define RT_MODIFY     0x80
  52. #define RT_ALL        0xff
  53.  
  54. /*******************/
  55. /* File Attributes */
  56. /*******************/
  57.  
  58. #define FA_NORMAL         0x00
  59. #define FA_READ_ONLY      0x01
  60. #define FA_HIDDEN         0x02
  61. #define FA_SYSTEM         0x04
  62. #define FA_EXECUTE_ONLY   0x08
  63. #define FA_DIRECTORY      0x10
  64. #define FA_NEEDS_ARCHIVE  0x20
  65. #define FA_SHAREABLE      0x80
  66.  
  67. /****************************/
  68. /* Extended File Attributes */
  69. /****************************/
  70.  
  71. #define FA_TRANSACTIONAL  0x10
  72. #define FA_INDEXED        0x20
  73. #define FA_READ_AUDIT     0x40
  74. #define FA_WRITE_AUDIT    0x80
  75.  
  76. /*****************************/
  77. /* Property Name definitions */
  78. /*****************************/
  79.  
  80. /* These strings are previously defined by Novell, you can however  */
  81. /* create your own properties, that the Bindery will maintain, but  */
  82. /* they could only be utilised by your own software. eg RWDC rights */
  83. /* within your own package.                                         */
  84.  
  85. #define LOGINCONTROL  "LOGIN_CONTROL"
  86. #define ACC_SERV      "ACCOUNT_SERVERS"
  87. #define ACC_BAL       "ACCOUNT_BALANCE"
  88. #define PASS          "PASSWORD"
  89. #define SEC_EQUIV     "SECURITY_EQUALS"
  90. #define GROUPMEMS     "GROUP_MEMBERS"
  91. #define GROUPS_IN     "GROUPS_I'M_IN"
  92. #define NETADDR       "NET_ADDRESS"
  93. #define IDENT         "IDENTIFICATION"
  94. #define OPERS         "OPERATORS"
  95.  
  96. /******************/
  97. /* Property Flags */
  98. /******************/
  99.  
  100. #define PROPERTY_IS_STATIC  0x00
  101. #define PROPERTY_IS_DYNAMIC 0x01
  102. #define PROPERTY_IS_AN_ITEM 0x00
  103. #define PROPERTY_IS_A_SET   0x02
  104.  
  105. /*********************/
  106. /* Property Security */
  107. /*********************/
  108.  
  109. /* The property security specifies who has access rights to the property,  */
  110. /* it consists of 1 byte where  the  low-order  nibble  (bottom  4  bits)  */
  111. /* defines  who  can  scan  for  and find the property and the high-order  */
  112. /* nibble (top 4 bits) defines who  can add values to the property.        */
  113.  
  114. #define PROPERTY_SEC_ANYONE      0
  115. #define PROPERTY_SEC_LOGGED      1
  116. #define PROPERTY_SEC_OBJECT      2
  117. #define PROPERTY_SEC_SUPERVISOR  3
  118. #define PROPERTY_SEC_NETWARE     4
  119.  
  120. /********************************************************************/
  121. /* Object Max Name Sizes                                            */
  122. /*                                                                  */
  123. /* The following are the maximum size of object values including a  */
  124. /* null terminator. i.e. ASCIIZ strings.                            */
  125. /********************************************************************/
  126.  
  127. #define OBJECT_LENGTH         48   /* object name max length */
  128. #define PROPERTY_LENGTH       16   /* property name max length */
  129. #define PASSWORD_LENGTH       128  /* password max length */
  130. #define FILE_PATH_LENGTH      256  /* file path maximum length */
  131. #define DIR_PATH_LENGTH       256  /* directory path maximum length */
  132. #define VOLUME_NAME_LENGTH    17   /* volume name maximum length */
  133. #define SEMAPHORE_NAME_LENGTH 127  /* semaphore name maximum length */
  134.  
  135. /****************************/
  136. /* Some Useful Return Codes */
  137. /****************************/
  138.  
  139. #define SUCCESS                0x00 /* Function was successful */
  140. #define CAP_NACTIVE            0x00 /* Capture is NOT active */
  141. #define NO_MORE_PATHS          0x9c /* No more trustee paths */
  142. #define NO_NETWARE_SHELL       0xbb /* Netware shell not loaded */
  143. #define FUNCTION_NOT_SUPPORTED 0xfb /* Function not available with */
  144.                                     /* current Netware version     */
  145. #define NOT_ENOUGH_ITEMS       -1   /* Specified array is too small */
  146.  
  147. /****************/
  148. /* All typedefs */
  149. /****************/
  150.  
  151. typedef unsigned long    dword;     /* four bytes */
  152. typedef unsigned int     word;      /* two bytes */
  153. typedef unsigned char    byte;      /* single byte */
  154.  
  155. typedef struct {
  156.    byte hi_byte;      /* NetWare int, */
  157.    byte lo_byte;      /* hibyte first (inverse native PC) */
  158.    } nw_int;
  159.  
  160. typedef struct {
  161.    byte hihi_byte;   /* NetWare long */
  162.    byte hilo_byte;   /* hibyte first (inverse native PC) */
  163.    byte lohi_byte;
  164.    byte lolo_byte;
  165.    } nw_long;
  166.  
  167. typedef struct {
  168.    unsigned char   hours;    /* Hours */
  169.    unsigned char   minutes;  /* Minutes */
  170.    unsigned char   seconds;  /* Seconds */
  171.    } nw_time;
  172.  
  173. typedef struct {
  174.    unsigned int     year;    /* Year                       */
  175.    unsigned char    month;   /* Month (1 = Jan)            */
  176.    unsigned char    day;     /* Day of the month (1 to 31) */
  177.    } nw_date;
  178.  
  179. #endif        /* NETWARE_H */
  180.  
  181. /****************************************/
  182. /* Prototypes for all library functions */
  183. /****************************************/
  184.  
  185. #include "nwbindry.h"
  186. #include "nwconnct.h"
  187. #include "nwdirect.h"
  188. #include "nwfile.h"
  189. #include "nwgenerl.h"
  190. #include "nwipxspx.h"
  191. #include "nwmsg.h"
  192. #include "nwprint.h"
  193. #include "nwqueue.h"
  194. #include "nwsync.h"
  195. #include "nwserver.h"
  196. #include "nwwrkstn.h"
  197.  
  198. /****************************************/
  199. /* End of Netware C Library Header file */
  200. /****************************************/
  201.