home *** CD-ROM | disk | FTP | other *** search
- /*********************************/
- /* Netware C Library Header file */
- /*********************************/
-
- #ifndef NETWARE_H
- #define NETWARE_H
-
- #define NETCLB_VERSION 3.50
-
- #ifndef FAR
- #ifdef TURBOC
- #define FAR far
- #else
- #define FAR _far
- #endif
- #endif
-
-
- /***************************************/
- /* Bindery object type classifications */
- /***************************************/
-
- #define UNKNOWN 0x0000 /* unknown object */
- #define USER 0x0001 /* User type object */
- #define USER_GROUP 0x0002 /* Group type object */
- #define PRINT_Q 0x0003 /* Print Queue type object */
- #define FILE_SERVER 0x0004 /* FileServer */
- #define JOB_SERVER 0x0005 /* Job server */
- #define GATEWAY 0x0006 /* Gateway */
- #define PRN_SERVER 0x0007 /* Print server */
- #define ARCHIVE_Q 0x0008 /* Archive queue */
- #define ARC_SERVER 0x0009 /* Archive server */
- #define JOB_Q 0x000a /* Job queue */
- #define ADMIN 0x000b /* Administration */
- #define REM_BRIDGE 0x0026 /* Remote bridge */
- #define ADV_PRN_SERVER 0x0047 /* Advertising Print Server */
- #define WILDCARD 0xffff /* WildCard */
-
- /*************************************/
- /* Trustee\Effective Rights settings */
- /*************************************/
-
- #define RT_NONE 0x00
- #define RT_READ 0x01
- #define RT_WRITE 0x02
- #define RT_OPEN 0x04
- #define RT_CREATE 0x08
- #define RT_DELETE 0x10
- #define RT_OWNERSHIP 0x20
- #define RT_SEARCH 0x40
- #define RT_MODIFY 0x80
- #define RT_ALL 0xff
-
- /*******************/
- /* File Attributes */
- /*******************/
-
- #define FA_NORMAL 0x00
- #define FA_READ_ONLY 0x01
- #define FA_HIDDEN 0x02
- #define FA_SYSTEM 0x04
- #define FA_EXECUTE_ONLY 0x08
- #define FA_DIRECTORY 0x10
- #define FA_NEEDS_ARCHIVE 0x20
- #define FA_SHAREABLE 0x80
-
- /****************************/
- /* Extended File Attributes */
- /****************************/
-
- #define FA_TRANSACTIONAL 0x10
- #define FA_INDEXED 0x20
- #define FA_READ_AUDIT 0x40
- #define FA_WRITE_AUDIT 0x80
-
- /*****************************/
- /* Property Name definitions */
- /*****************************/
-
- /* These strings are previously defined by Novell, you can however */
- /* create your own properties, that the Bindery will maintain, but */
- /* they could only be utilised by your own software. eg RWDC rights */
- /* within your own package. */
-
- #define LOGINCONTROL "LOGIN_CONTROL"
- #define ACC_SERV "ACCOUNT_SERVERS"
- #define ACC_BAL "ACCOUNT_BALANCE"
- #define PASS "PASSWORD"
- #define SEC_EQUIV "SECURITY_EQUALS"
- #define GROUPMEMS "GROUP_MEMBERS"
- #define GROUPS_IN "GROUPS_I'M_IN"
- #define NETADDR "NET_ADDRESS"
- #define IDENT "IDENTIFICATION"
- #define OPERS "OPERATORS"
-
- /******************/
- /* Property Flags */
- /******************/
-
- #define PROPERTY_IS_STATIC 0x00
- #define PROPERTY_IS_DYNAMIC 0x01
- #define PROPERTY_IS_AN_ITEM 0x00
- #define PROPERTY_IS_A_SET 0x02
-
- /*********************/
- /* Property Security */
- /*********************/
-
- /* The property security specifies who has access rights to the property, */
- /* it consists of 1 byte where the low-order nibble (bottom 4 bits) */
- /* defines who can scan for and find the property and the high-order */
- /* nibble (top 4 bits) defines who can add values to the property. */
-
- #define PROPERTY_SEC_ANYONE 0
- #define PROPERTY_SEC_LOGGED 1
- #define PROPERTY_SEC_OBJECT 2
- #define PROPERTY_SEC_SUPERVISOR 3
- #define PROPERTY_SEC_NETWARE 4
-
- /********************************************************************/
- /* Object Max Name Sizes */
- /* */
- /* The following are the maximum size of object values including a */
- /* null terminator. i.e. ASCIIZ strings. */
- /********************************************************************/
-
- #define OBJECT_LENGTH 48 /* object name max length */
- #define PROPERTY_LENGTH 16 /* property name max length */
- #define PASSWORD_LENGTH 128 /* password max length */
- #define FILE_PATH_LENGTH 256 /* file path maximum length */
- #define DIR_PATH_LENGTH 256 /* directory path maximum length */
- #define VOLUME_NAME_LENGTH 17 /* volume name maximum length */
- #define SEMAPHORE_NAME_LENGTH 127 /* semaphore name maximum length */
-
- /****************************/
- /* Some Useful Return Codes */
- /****************************/
-
- #define SUCCESS 0x00 /* Function was successful */
- #define CAP_NACTIVE 0x00 /* Capture is NOT active */
- #define NO_MORE_PATHS 0x9c /* No more trustee paths */
- #define NO_NETWARE_SHELL 0xbb /* Netware shell not loaded */
- #define FUNCTION_NOT_SUPPORTED 0xfb /* Function not available with */
- /* current Netware version */
- #define NOT_ENOUGH_ITEMS -1 /* Specified array is too small */
-
- /****************/
- /* All typedefs */
- /****************/
-
- typedef unsigned long dword; /* four bytes */
- typedef unsigned int word; /* two bytes */
- typedef unsigned char byte; /* single byte */
-
- typedef struct {
- byte hi_byte; /* NetWare int, */
- byte lo_byte; /* hibyte first (inverse native PC) */
- } nw_int;
-
- typedef struct {
- byte hihi_byte; /* NetWare long */
- byte hilo_byte; /* hibyte first (inverse native PC) */
- byte lohi_byte;
- byte lolo_byte;
- } nw_long;
-
- typedef struct {
- unsigned char hours; /* Hours */
- unsigned char minutes; /* Minutes */
- unsigned char seconds; /* Seconds */
- } nw_time;
-
- typedef struct {
- unsigned int year; /* Year */
- unsigned char month; /* Month (1 = Jan) */
- unsigned char day; /* Day of the month (1 to 31) */
- } nw_date;
-
- #endif /* NETWARE_H */
-
- /****************************************/
- /* Prototypes for all library functions */
- /****************************************/
-
- #include "nwbindry.h"
- #include "nwconnct.h"
- #include "nwdirect.h"
- #include "nwfile.h"
- #include "nwgenerl.h"
- #include "nwipxspx.h"
- #include "nwmsg.h"
- #include "nwprint.h"
- #include "nwqueue.h"
- #include "nwsync.h"
- #include "nwserver.h"
- #include "nwwrkstn.h"
-
- /****************************************/
- /* End of Netware C Library Header file */
- /****************************************/
-