Annotation of mstools/h/lmcons.h, revision 1.1.1.1

1.1       root        1: /*++ BUILD Version: 0003    // Increment this if a change has global effects
                      2: 
                      3: Copyright (c) 1990-1993  Microsoft Corporation
                      4: 
                      5: Module Name:
                      6: 
                      7:     LMCONS.H (was NETCONS.H in LM 2.x)
                      8: 
                      9: Abstract:
                     10: 
                     11:     This file contains constants used throughout the LAN Manager
                     12:     API header files.  It should be included in any source file
                     13:     that is going to include other LAN Manager API header files or
                     14:     call a LAN Manager API.
                     15: 
                     16:     NOTE:  Lengths of strings are given as the maximum lengths of the
                     17:     string in characters (not bytes).  This does not include space for the
                     18:     terminating 0-characters.  When allocating space for such an item,
                     19:     use the form:
                     20: 
                     21:         TCHAR username[UNLEN+1];
                     22: 
                     23:     Definitions of the form LN20_* define those values in effect for
                     24:     LanMan 2.0.
                     25: 
                     26: 
                     27: Author:
                     28: 
                     29:     unknown
                     30: 
                     31: Revision History:
                     32: 
                     33:     25-Jan-1991     Danl
                     34:         Added NET_API_STATUS and NET_API_FUNCTION
                     35:     04-Feb-1991     JohnRo
                     36:         Avoid conflicts with <windef.h> (defines IN, OUT, but not OPTIONAL).
                     37:     26-Feb-1991     JohnRo
                     38:         Added PARM_ERROR_UNKNOWN and PARM_ERROR_NONE.
                     39:     09-May-1991     JohnRo
                     40:         Make PARM_ERROR_UNKNOWN a legal DWORD.  Got rid of tabs, to keep ChuckL
                     41:         happy.  Change NULL to ((void *)0) for portability.  Make sure all
                     42:         includes and defines start in column 1, to avoid MIPS problems.
                     43:         Changed to use slash-slash comments.
                     44:     20-May-1991     CliffV
                     45:         Removed several unused definitions.  Changed limits to be windows
                     46:         and NT compatible.  Added LM20_* definitions.
                     47:     18-Jul-1991 RFirth
                     48:         Added PARMNUM_BASE_INFOLEVEL
                     49:     30-Jul-1991 DanHi
                     50:         Changed definitions of *_FILENAME to NT values and deleted *_FILE
                     51:     04-Apr-1992 JohnRo
                     52:         Added MAX_PREFERRED_LENGTH.
                     53: 
                     54: --*/
                     55: 
                     56: /*NOINC*/
                     57: #ifndef NETCONS_INCLUDED
                     58: 
                     59: #define NETCONS_INCLUDED
                     60: /*INC*/
                     61: 
                     62: #ifndef PASCAL
                     63: #define PASCAL                          // pascal on OS/2
                     64: #endif
                     65: 
                     66: #ifndef FAR
                     67: #define FAR                             // far on OS/2
                     68: #endif
                     69: 
                     70: //
                     71: // String Lengths for various LanMan names
                     72: //
                     73: 
                     74: #define CNLEN       15                  // Computer name length
                     75: #define LM20_CNLEN  15                  // LM 2.0 Computer name length
                     76: #define DNLEN       CNLEN               // Maximum domain name length
                     77: #define LM20_DNLEN  LM20_CNLEN          // LM 2.0 Maximum domain name length
                     78: 
                     79: #if (CNLEN != DNLEN)
                     80: #error CNLEN and DNLEN are not equal
                     81: #endif
                     82: 
                     83: #define UNCLEN      (CNLEN+2)           // UNC computer name length
                     84: #define LM20_UNCLEN (LM20_CNLEN+2)      // LM 2.0 UNC computer name length
                     85: 
                     86: #define NNLEN       80                  // Net name length (share name)
                     87: #define LM20_NNLEN  12                  // LM 2.0 Net name length
                     88: 
                     89: #define RMLEN       (UNCLEN+1+NNLEN)    // Max remote name length
                     90: #define LM20_RMLEN  (LM20_UNCLEN+1+LM20_NNLEN) // LM 2.0 Max remote name length
                     91: 
                     92: #define SNLEN       80                  // Service name length
                     93: #define LM20_SNLEN  15                  // LM 2.0 Service name length
                     94: #define STXTLEN     256                 // Service text length
                     95: #define LM20_STXTLEN 63                 // LM 2.0 Service text length
                     96: 
                     97: #define PATHLEN     256                 // Max. path (not including drive name)
                     98: #define LM20_PATHLEN 256                // LM 2.0 Max. path
                     99: 
                    100: #define DEVLEN      80                  // Device name length
                    101: #define LM20_DEVLEN 8                   // LM 2.0 Device name length
                    102: 
                    103: #define EVLEN       16                  // Event name length
                    104: 
                    105: //
                    106: // User, Group and Password lengths
                    107: //
                    108: 
                    109: #define UNLEN       256                 // Maximum user name length
                    110: #define LM20_UNLEN  20                  // LM 2.0 Maximum user name length
                    111: 
                    112: #define GNLEN       UNLEN               // Group name
                    113: #define LM20_GNLEN  LM20_UNLEN          // LM 2.0 Group name
                    114: 
                    115: #define PWLEN       256                 // Maximum password length
                    116: #define LM20_PWLEN  14                  // LM 2.0 Maximum password length
                    117: 
                    118: #define SHPWLEN     8                   // Share password length (bytes)
                    119: 
                    120: 
                    121: #define CLTYPE_LEN  12                  // Length of client type string
                    122: 
                    123: 
                    124: #define MAXCOMMENTSZ 256                // Multipurpose comment length
                    125: #define LM20_MAXCOMMENTSZ 48            // LM 2.0 Multipurpose comment length
                    126: 
                    127: #define QNLEN       NNLEN               // Queue name maximum length
                    128: #define LM20_QNLEN  LM20_NNLEN          // LM 2.0 Queue name maximum length
                    129: #if (QNLEN != NNLEN)
                    130: # error QNLEN and NNLEN are not equal
                    131: #endif
                    132: 
                    133: //
                    134: // The ALERTSZ and MAXDEVENTRIES defines have not yet been NT'ized.
                    135: // Whoever ports these components should change these values appropriately.
                    136: //
                    137: 
                    138: #define ALERTSZ     128                 // size of alert string in server
                    139: #define MAXDEVENTRIES (sizeof (int)*8)  // Max number of device entries
                    140: 
                    141:                                         //
                    142:                                         // We use int bitmap to represent
                    143:                                         //
                    144: 
                    145: #define NETBIOS_NAME_LEN  16            // NetBIOS net name (bytes)
                    146: 
                    147: //
                    148: // Value to be used with APIs which have a "preferred maximum length"
                    149: // parameter.  This value indicates that the API should just allocate
                    150: // "as much as it takes."
                    151: //
                    152: 
                    153: #define MAX_PREFERRED_LENGTH    ((DWORD) -1)
                    154: 
                    155: //
                    156: //        Constants used with encryption
                    157: //
                    158: 
                    159: #define CRYPT_KEY_LEN           7
                    160: #define CRYPT_TXT_LEN           8
                    161: #define ENCRYPTED_PWLEN         16
                    162: #define SESSION_PWLEN           24
                    163: #define SESSION_CRYPT_KLEN      21
                    164: 
                    165: //
                    166: //  Value to be used with SetInfo calls to allow setting of all
                    167: //  settable parameters (parmnum zero option)
                    168: //
                    169: #ifndef PARMNUM_ALL
                    170: #define PARMNUM_ALL             0
                    171: #endif
                    172: 
                    173: #define PARM_ERROR_UNKNOWN      ( (DWORD) (-1) )
                    174: #define PARM_ERROR_NONE         0
                    175: #define PARMNUM_BASE_INFOLEVEL  1000
                    176: 
                    177: //
                    178: //        Message File Names
                    179: //
                    180: 
                    181: #define MESSAGE_FILENAME        TEXT("NETMSG")
                    182: #define OS2MSG_FILENAME         TEXT("BASE")
                    183: #define HELP_MSG_FILENAME       TEXT("NETH")
                    184: 
                    185: /**INTERNAL_ONLY**/
                    186: 
                    187: // The backup message file named here is a duplicate of net.msg. It
                    188: // is not shipped with the product, but is used at buildtime to
                    189: // msgbind certain messages to netapi.dll and some of the services.
                    190: // This allows for OEMs to modify the message text in net.msg and
                    191: // have those changes show up.        Only in case there is an error in
                    192: // retrieving the messages from net.msg do we then get the bound
                    193: // messages out of bak.msg (really out of the message segment).
                    194: 
                    195: #define BACKUP_MSG_FILENAME     TEXT("BAK.MSG")
                    196: 
                    197: /**END_INTERNAL**/
                    198: 
                    199: #ifndef NULL
                    200: #ifdef __cplusplus
                    201: #define NULL   0
                    202: #else
                    203: #define NULL   ((void *)0)
                    204: #endif
                    205: #endif
                    206: 
                    207: //
                    208: // Keywords used in Function Prototypes
                    209: //
                    210: 
                    211: #define NET_API_STATUS          DWORD
                    212: #define API_RET_TYPE            NET_API_STATUS      // Old value: do not use
                    213: #if (_MSC_VER >= 800)
                    214: #define NET_API_FUNCTION    __stdcall
                    215: #else
                    216: #define NET_API_FUNCTION
                    217: #endif
                    218: 
                    219: // Define pseudo-keywords.
                    220: #ifndef IN
                    221: #define IN
                    222: #endif
                    223: 
                    224: #ifndef OPTIONAL
                    225: #define OPTIONAL
                    226: #endif
                    227: 
                    228: #ifndef OUT
                    229: #define OUT
                    230: #endif
                    231: /*INC*/
                    232: 
                    233: 
                    234: 
                    235: //
                    236: // The platform ID indicates the levels to use for platform-specific
                    237: // information.
                    238: //
                    239: 
                    240: #define PLATFORM_ID_DOS 300
                    241: #define PLATFORM_ID_OS2 400
                    242: #define PLATFORM_ID_NT  500
                    243: #define PLATFORM_ID_OSF 600
                    244: #define PLATFORM_ID_VMS 700
                    245: 
                    246: //
                    247: //      There message numbers assigned to different LANMAN components
                    248: //      are as defined below.
                    249: //
                    250: //      lmerr.h:        2100 - 2999     NERR_BASE
                    251: //      alertmsg.h:     3000 - 3049     ALERT_BASE
                    252: //      lmsvc.h:        3050 - 3099     SERVICE_BASE
                    253: //      lmerrlog.h:     3100 - 3299     ERRLOG_BASE
                    254: //      msgtext.h:      3300 - 3499     MTXT_BASE
                    255: //      apperr.h:       3500 - 3999     APPERR_BASE
                    256: //      apperrfs.h:     4000 - 4299     APPERRFS_BASE
                    257: //      apperr2.h:      4300 - 5299     APPERR2_BASE
                    258: //      ncberr.h:       5300 - 5499     NRCERR_BASE
                    259: //      alertmsg.h:     5500 - 5599     ALERT2_BASE
                    260: //      lmsvc.h:        5600 - 5699     SERVICE2_BASE
                    261: //      lmerrlog.h      5700 - 5799     ERRLOG2_BASE
                    262: //
                    263: 
                    264: #define MIN_LANMAN_MESSAGE_ID  NERR_BASE
                    265: #define MAX_LANMAN_MESSAGE_ID  5799
                    266: 
                    267: /*NOINC*/
                    268: #endif // NETCONS_INCLUDED
                    269: /*INC*/
                    270: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.