Hex Artifact Content

Not logged in

Artifact fd0f86f97f2386d93bb91b0d849ee2044124fbfc:


0000: 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  /***************
0010: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0020: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0030: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0040: 2a 2a 2a 2a 2a 2a 2a 2a 5c 0d 0a 2a 20 20 20 20  ********\..*    
0050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0060: 20 20 20 20 20 20 20 20 20 20 20 20 6c 6d 63 6f              lmco
0070: 6e 73 2e 64 20 20 20 20 20 20 20 20 20 20 20 20  ns.d            
0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0090: 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20 20     *..*         
00a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0d                *.
00e0: 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .*              
00f0: 20 20 20 20 20 20 20 20 20 57 69 6e 64 6f 77 73           Windows
0100: 20 41 50 49 20 68 65 61 64 65 72 20 6d 6f 64 75   API header modu
0110: 6c 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20  le              
0120: 20 20 20 20 20 20 20 20 20 2a 0d 0a 2a 20 20 20           *..*   
0130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0170: 20 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20      *..*        
0180: 20 20 20 20 20 20 20 20 20 54 72 61 6e 73 6c 61           Transla
0190: 74 65 64 20 66 72 6f 6d 20 4d 69 6e 47 57 20 57  ted from MinGW W
01a0: 69 6e 64 6f 77 73 20 68 65 61 64 65 72 73 20 20  indows headers  
01b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a                 *
01c0: 0d 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20  ..*             
01d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
01e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
01f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0200: 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 2a 20 20            *..*  
0210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0220: 20 20 20 20 20 50 6c 61 63 65 64 20 69 6e 74 6f       Placed into
0230: 20 70 75 62 6c 69 63 20 64 6f 6d 61 69 6e 20 20   public domain  
0240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0250: 20 20 20 20 20 2a 0d 0a 5c 2a 2a 2a 2a 2a 2a 2a       *..\*******
0260: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0270: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0280: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0290: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
02a0: 2f 0d 0a 6d 6f 64 75 6c 65 20 77 69 6e 33 32 2e  /..module win32.
02b0: 6c 6d 63 6f 6e 73 3b 0d 0a 0d 0a 70 72 69 76 61  lmcons;....priva
02c0: 74 65 20 69 6d 70 6f 72 74 20 77 69 6e 33 32 2e  te import win32.
02d0: 77 69 6e 64 65 66 3b 0d 0a 70 72 69 76 61 74 65  windef;..private
02e0: 20 69 6d 70 6f 72 74 20 77 69 6e 33 32 2e 6c 6d   import win32.lm
02f0: 65 72 72 3b 20 2f 2f 20 66 6f 72 20 4e 45 52 52  err; // for NERR
0300: 5f 42 41 53 45 0d 0a 0d 0a 63 6f 6e 73 74 20 54  _BASE....const T
0310: 43 48 41 52 5b 5d 0d 0a 09 4d 45 53 53 41 47 45  CHAR[]...MESSAGE
0320: 5f 46 49 4c 45 4e 41 4d 45 20 3d 20 22 4e 45 54  _FILENAME = "NET
0330: 4d 53 47 22 2c 0d 0a 09 4f 53 32 4d 53 47 5f 46  MSG",...OS2MSG_F
0340: 49 4c 45 4e 41 4d 45 20 3d 20 22 42 41 53 45 22  ILENAME = "BASE"
0350: 2c 0d 0a 09 48 45 4c 50 5f 4d 53 47 5f 46 49 4c  ,...HELP_MSG_FIL
0360: 45 4e 41 4d 45 20 3d 20 22 4e 45 54 48 22 3b 0d  ENAME = "NETH";.
0370: 0a 0d 0a 61 6c 69 61 73 20 44 57 4f 52 44 20 4e  ...alias DWORD N
0380: 45 54 5f 41 50 49 5f 53 54 41 54 55 53 2c 20 41  ET_API_STATUS, A
0390: 50 49 5f 52 45 54 5f 54 59 50 45 3b 0d 0a 0d 0a  PI_RET_TYPE;....
03a0: 63 6f 6e 73 74 20 4d 49 4e 5f 4c 41 4e 4d 41 4e  const MIN_LANMAN
03b0: 5f 4d 45 53 53 41 47 45 5f 49 44 20 3d 20 4e 45  _MESSAGE_ID = NE
03c0: 52 52 5f 42 41 53 45 3b 0d 0a 63 6f 6e 73 74 20  RR_BASE;..const 
03d0: 4d 41 58 5f 4c 41 4e 4d 41 4e 5f 4d 45 53 53 41  MAX_LANMAN_MESSA
03e0: 47 45 5f 49 44 20 3d 20 35 37 39 39 3b 0d 0a 0d  GE_ID = 5799;...
03f0: 0a 63 6f 6e 73 74 20 43 4e 4c 45 4e 20 20 20 20  .const CNLEN    
0400: 20 20 20 20 3d 20 31 35 3b 20 2f 2a 20 61 6c 73      = 15; /* als
0410: 6f 20 69 6e 20 6e 64 64 65 61 70 69 2e 68 20 2a  o in nddeapi.h *
0420: 2f 0d 0a 63 6f 6e 73 74 20 55 4e 43 4c 45 4e 20  /..const UNCLEN 
0430: 20 20 20 20 20 20 3d 20 43 4e 4c 45 4e 20 2b 20        = CNLEN + 
0440: 32 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 44 4e 4c 45  2;....const DNLE
0450: 4e 20 20 20 20 20 20 20 20 3d 20 31 35 3b 0d 0a  N        = 15;..
0460: 63 6f 6e 73 74 20 4c 4d 32 30 5f 43 4e 4c 45 4e  const LM20_CNLEN
0470: 20 20 20 3d 20 31 35 3b 0d 0a 63 6f 6e 73 74 20     = 15;..const 
0480: 4c 4d 32 30 5f 44 4e 4c 45 4e 20 20 20 3d 20 31  LM20_DNLEN   = 1
0490: 35 3b 0d 0a 63 6f 6e 73 74 20 4c 4d 32 30 5f 53  5;..const LM20_S
04a0: 4e 4c 45 4e 20 20 20 3d 20 31 35 3b 0d 0a 63 6f  NLEN   = 15;..co
04b0: 6e 73 74 20 4c 4d 32 30 5f 53 54 58 54 4c 45 4e  nst LM20_STXTLEN
04c0: 20 3d 20 36 33 3b 0d 0a 63 6f 6e 73 74 20 4c 4d   = 63;..const LM
04d0: 32 30 5f 55 4e 43 4c 45 4e 20 20 3d 20 4c 4d 32  20_UNCLEN  = LM2
04e0: 30 5f 43 4e 4c 45 4e 20 2b 20 32 3b 0d 0a 63 6f  0_CNLEN + 2;..co
04f0: 6e 73 74 20 4c 4d 32 30 5f 4e 4e 4c 45 4e 20 20  nst LM20_NNLEN  
0500: 20 3d 20 31 32 3b 0d 0a 63 6f 6e 73 74 20 4c 4d   = 12;..const LM
0510: 32 30 5f 52 4d 4c 45 4e 20 20 20 3d 20 4c 4d 32  20_RMLEN   = LM2
0520: 30 5f 55 4e 43 4c 45 4e 20 2b 20 31 20 2b 20 4c  0_UNCLEN + 1 + L
0530: 4d 32 30 5f 4e 4e 4c 45 4e 3b 0d 0a 63 6f 6e 73  M20_NNLEN;..cons
0540: 74 20 4e 4e 4c 45 4e 20 20 20 20 20 20 20 20 3d  t NNLEN        =
0550: 20 38 30 3b 0d 0a 63 6f 6e 73 74 20 52 4d 4c 45   80;..const RMLE
0560: 4e 20 20 20 20 20 20 20 20 3d 20 55 4e 43 4c 45  N        = UNCLE
0570: 4e 20 2b 20 31 20 2b 20 4e 4e 4c 45 4e 3b 0d 0a  N + 1 + NNLEN;..
0580: 63 6f 6e 73 74 20 53 4e 4c 45 4e 20 20 20 20 20  const SNLEN     
0590: 20 20 20 3d 20 38 30 3b 0d 0a 63 6f 6e 73 74 20     = 80;..const 
05a0: 53 54 58 54 4c 45 4e 20 20 20 20 20 20 3d 20 32  STXTLEN      = 2
05b0: 35 36 3b 0d 0a 63 6f 6e 73 74 20 50 41 54 48 4c  56;..const PATHL
05c0: 45 4e 20 20 20 20 20 20 3d 20 32 35 36 3b 0d 0a  EN      = 256;..
05d0: 63 6f 6e 73 74 20 4c 4d 32 30 5f 50 41 54 48 4c  const LM20_PATHL
05e0: 45 4e 20 3d 20 32 35 36 3b 0d 0a 63 6f 6e 73 74  EN = 256;..const
05f0: 20 44 45 56 4c 45 4e 20 20 20 20 20 20 20 3d 20   DEVLEN       = 
0600: 38 30 3b 0d 0a 63 6f 6e 73 74 20 4c 4d 32 30 5f  80;..const LM20_
0610: 44 45 56 4c 45 4e 20 20 3d 20 38 3b 0d 0a 63 6f  DEVLEN  = 8;..co
0620: 6e 73 74 20 45 56 4c 45 4e 20 20 20 20 20 20 20  nst EVLEN       
0630: 20 3d 20 31 36 3b 0d 0a 63 6f 6e 73 74 20 55 4e   = 16;..const UN
0640: 4c 45 4e 20 20 20 20 20 20 20 20 3d 20 32 35 36  LEN        = 256
0650: 3b 0d 0a 63 6f 6e 73 74 20 4c 4d 32 30 5f 55 4e  ;..const LM20_UN
0660: 4c 45 4e 20 20 20 3d 20 32 30 3b 0d 0a 63 6f 6e  LEN   = 20;..con
0670: 73 74 20 47 4e 4c 45 4e 20 20 20 20 20 20 20 20  st GNLEN        
0680: 3d 20 55 4e 4c 45 4e 3b 0d 0a 63 6f 6e 73 74 20  = UNLEN;..const 
0690: 4c 4d 32 30 5f 47 4e 4c 45 4e 20 20 20 3d 20 4c  LM20_GNLEN   = L
06a0: 4d 32 30 5f 55 4e 4c 45 4e 3b 0d 0a 63 6f 6e 73  M20_UNLEN;..cons
06b0: 74 20 50 57 4c 45 4e 20 20 20 20 20 20 20 20 3d  t PWLEN        =
06c0: 20 32 35 36 3b 0d 0a 63 6f 6e 73 74 20 4c 4d 32   256;..const LM2
06d0: 30 5f 50 57 4c 45 4e 20 20 20 3d 20 31 34 3b 0d  0_PWLEN   = 14;.
06e0: 0a 63 6f 6e 73 74 20 53 48 50 57 4c 45 4e 20 20  .const SHPWLEN  
06f0: 20 20 20 20 3d 20 38 3b 0d 0a 63 6f 6e 73 74 20      = 8;..const 
0700: 43 4c 54 59 50 45 5f 4c 45 4e 20 20 20 3d 20 31  CLTYPE_LEN   = 1
0710: 32 3b 0d 0a 63 6f 6e 73 74 20 51 4e 4c 45 4e 20  2;..const QNLEN 
0720: 20 20 20 20 20 20 20 3d 20 4e 4e 4c 45 4e 3b 0d         = NNLEN;.
0730: 0a 63 6f 6e 73 74 20 4c 4d 32 30 5f 51 4e 4c 45  .const LM20_QNLE
0740: 4e 20 20 20 3d 20 4c 4d 32 30 5f 4e 4e 4c 45 4e  N   = LM20_NNLEN
0750: 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 4d 41 58 43 4f  ;....const MAXCO
0760: 4d 4d 45 4e 54 53 5a 20 3d 20 32 35 36 3b 0d 0a  MMENTSZ = 256;..
0770: 63 6f 6e 73 74 20 4c 4d 32 30 5f 4d 41 58 43 4f  const LM20_MAXCO
0780: 4d 4d 45 4e 54 53 5a 20 3d 20 34 38 3b 0d 0a 63  MMENTSZ = 48;..c
0790: 6f 6e 73 74 20 41 4c 45 52 54 53 5a 20 20 20 20  onst ALERTSZ    
07a0: 20 20 3d 20 31 32 38 3b 0d 0a 63 6f 6e 73 74 20    = 128;..const 
07b0: 4d 41 58 44 45 56 45 4e 54 52 49 45 53 20 3d 20  MAXDEVENTRIES = 
07c0: 33 32 3b 2f 2f 20 28 73 69 7a 65 6f 66 28 69 6e  32;// (sizeof(in
07d0: 74 29 2a 38 29 3b 0d 0a 63 6f 6e 73 74 20 4e 45  t)*8);..const NE
07e0: 54 42 49 4f 53 5f 4e 41 4d 45 5f 4c 45 4e 20 3d  TBIOS_NAME_LEN =
07f0: 20 31 36 3b 0d 0a 63 6f 6e 73 74 20 44 57 4f 52   16;..const DWOR
0800: 44 20 4d 41 58 5f 50 52 45 46 45 52 52 45 44 5f  D MAX_PREFERRED_
0810: 4c 45 4e 47 54 48 20 3d 20 2d 31 3b 0d 0a 63 6f  LENGTH = -1;..co
0820: 6e 73 74 20 43 52 59 50 54 5f 4b 45 59 5f 4c 45  nst CRYPT_KEY_LE
0830: 4e 20 3d 20 37 3b 0d 0a 63 6f 6e 73 74 20 43 52  N = 7;..const CR
0840: 59 50 54 5f 54 58 54 5f 4c 45 4e 20 3d 20 38 3b  YPT_TXT_LEN = 8;
0850: 0d 0a 63 6f 6e 73 74 20 45 4e 43 52 59 50 54 45  ..const ENCRYPTE
0860: 44 5f 50 57 4c 45 4e 20 3d 20 31 36 3b 0d 0a 63  D_PWLEN = 16;..c
0870: 6f 6e 73 74 20 53 45 53 53 49 4f 4e 5f 50 57 4c  onst SESSION_PWL
0880: 45 4e 20 3d 20 32 34 3b 0d 0a 63 6f 6e 73 74 20  EN = 24;..const 
0890: 53 45 53 53 49 4f 4e 5f 43 52 59 50 54 5f 4b 4c  SESSION_CRYPT_KL
08a0: 45 4e 20 3d 20 32 31 3b 0d 0a 0d 0a 63 6f 6e 73  EN = 21;....cons
08b0: 74 20 50 41 52 4d 4e 55 4d 5f 41 4c 4c 20 3d 20  t PARMNUM_ALL = 
08c0: 30 3b 0d 0a 63 6f 6e 73 74 20 44 57 4f 52 44 20  0;..const DWORD 
08d0: 50 41 52 4d 5f 45 52 52 4f 52 5f 55 4e 4b 4e 4f  PARM_ERROR_UNKNO
08e0: 57 4e 20 3d 20 2d 31 3b 0d 0a 63 6f 6e 73 74 20  WN = -1;..const 
08f0: 50 41 52 4d 5f 45 52 52 4f 52 5f 4e 4f 4e 45 20  PARM_ERROR_NONE 
0900: 3d 20 30 3b 0d 0a 63 6f 6e 73 74 20 50 41 52 4d  = 0;..const PARM
0910: 4e 55 4d 5f 42 41 53 45 5f 49 4e 46 4f 4c 45 56  NUM_BASE_INFOLEV
0920: 45 4c 20 3d 20 31 30 30 30 3b 0d 0a 0d 0a 63 6f  EL = 1000;....co
0930: 6e 73 74 20 50 4c 41 54 46 4f 52 4d 5f 49 44 5f  nst PLATFORM_ID_
0940: 44 4f 53 20 3d 20 33 30 30 3b 0d 0a 63 6f 6e 73  DOS = 300;..cons
0950: 74 20 50 4c 41 54 46 4f 52 4d 5f 49 44 5f 4f 53  t PLATFORM_ID_OS
0960: 32 20 3d 20 34 30 30 3b 0d 0a 63 6f 6e 73 74 20  2 = 400;..const 
0970: 50 4c 41 54 46 4f 52 4d 5f 49 44 5f 4e 54 20 20  PLATFORM_ID_NT  
0980: 3d 20 35 30 30 3b 0d 0a 63 6f 6e 73 74 20 50 4c  = 500;..const PL
0990: 41 54 46 4f 52 4d 5f 49 44 5f 4f 53 46 20 3d 20  ATFORM_ID_OSF = 
09a0: 36 30 30 3b 0d 0a 63 6f 6e 73 74 20 50 4c 41 54  600;..const PLAT
09b0: 46 4f 52 4d 5f 49 44 5f 56 4d 53 20 3d 20 37 30  FORM_ID_VMS = 70
09c0: 30 3b 0d 0a 0d 0a 2f 2f 20 74 68 69 73 20 69 73  0;....// this is
09d0: 20 61 20 6e 65 77 20 74 79 70 65 64 65 66 20 69   a new typedef i
09e0: 6e 20 57 32 4b 2c 20 62 75 74 20 69 74 20 73 68  n W2K, but it sh
09f0: 6f 75 6c 64 20 62 65 20 68 61 72 6d 6c 65 73 73  ould be harmless
0a00: 20 66 6f 72 20 65 61 72 6c 69 65 72 20 57 69 6e   for earlier Win
0a10: 64 6f 77 73 20 76 65 72 73 69 6f 6e 73 2e 0d 0a  dows versions...
0a20: 76 65 72 73 69 6f 6e 20 28 55 6e 69 63 6f 64 65  version (Unicode
0a30: 29 20 7b 0d 0a 09 61 6c 69 61 73 20 4c 50 57 53  ) {...alias LPWS
0a40: 54 52 20 4c 4d 53 54 52 3b 0d 0a 09 61 6c 69 61  TR LMSTR;...alia
0a50: 73 20 4c 50 43 57 53 54 52 20 4c 4d 43 53 54 52  s LPCWSTR LMCSTR
0a60: 3b 0d 0a 7d 20 65 6c 73 65 20 7b 0d 0a 09 61 6c  ;..} else {...al
0a70: 69 61 73 20 4c 50 53 54 52 20 4c 4d 53 54 52 3b  ias LPSTR LMSTR;
0a80: 0d 0a 09 61 6c 69 61 73 20 4c 50 43 53 54 52 20  ...alias LPCSTR 
0a90: 4c 4d 43 53 54 52 3b 0d 0a 7d 0d 0a              LMCSTR;..}..