Hex Artifact Content

Not logged in

Artifact 893821ed8f5fba3481526724556af3b4bb8f80b8:


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 73 76              lmsv
0070: 63 2e 64 20 20 20 20 20 20 20 20 20 20 20 20 20  c.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 73 76 63 3b 0d 0a 0d 0a 2f 2f 20 46 49 58  lmsvc;....// FIX
02c0: 4d 45 3a 20 49 73 20 74 68 69 73 20 66 69 6c 65  ME: Is this file
02d0: 20 64 65 70 72 65 63 61 74 65 64 3f 20 41 6c 6c   deprecated? All
02e0: 20 6f 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e   of the function
02f0: 73 20 61 72 65 20 6f 6e 6c 79 20 66 6f 72 20 57  s are only for W
0300: 69 6e 31 36 2e 0d 0a 2f 2a 2a 0d 0a 20 20 43 68  in16.../**..  Ch
0310: 61 6e 67 65 73 20 72 65 6c 61 74 69 76 65 20 74  anges relative t
0320: 6f 20 4d 69 6e 47 57 3a 0d 0a 20 20 6c 6d 73 6e  o MinGW:..  lmsn
0330: 61 6d 65 20 69 73 20 6e 6f 74 20 69 6d 70 6f 72  ame is not impor
0340: 74 65 64 20 70 75 62 6c 69 63 6c 79 20 28 69 6e  ted publicly (in
0350: 73 74 65 61 64 2c 20 77 69 6e 33 32 2e 6c 6d 20  stead, win32.lm 
0360: 69 6d 70 6f 72 74 73 20 69 74 20 64 69 72 65 63  imports it direc
0370: 74 6c 79 29 2e 0d 0a 2a 2f 0d 0a 2f 2f 20 54 4f  tly)...*/..// TO
0380: 44 4f 3a 20 35 20 6d 61 63 72 6f 73 0d 0a 0d 0a  DO: 5 macros....
0390: 70 72 69 76 61 74 65 20 69 6d 70 6f 72 74 20 77  private import w
03a0: 69 6e 33 32 2e 6c 6d 63 6f 6e 73 2c 20 77 69 6e  in32.lmcons, win
03b0: 33 32 2e 6c 6d 73 6e 61 6d 65 2c 20 77 69 6e 33  32.lmsname, win3
03c0: 32 2e 77 69 6e 64 65 66 3b 0d 0a 0d 0a 63 6f 6e  2.windef;....con
03d0: 73 74 20 54 43 48 41 52 5b 5d 20 53 45 52 56 49  st TCHAR[] SERVI
03e0: 43 45 5f 44 4f 53 5f 45 4e 43 52 59 50 54 49 4f  CE_DOS_ENCRYPTIO
03f0: 4e 20 3d 20 22 45 4e 43 52 59 50 54 22 3b 0d 0a  N = "ENCRYPT";..
0400: 0d 0a 63 6f 6e 73 74 20 53 45 52 56 49 43 45 5f  ..const SERVICE_
0410: 55 4e 49 4e 53 54 41 4c 4c 45 44 3d 30 3b 0d 0a  UNINSTALLED=0;..
0420: 63 6f 6e 73 74 20 53 45 52 56 49 43 45 5f 49 4e  const SERVICE_IN
0430: 53 54 41 4c 4c 5f 50 45 4e 44 49 4e 47 3d 31 3b  STALL_PENDING=1;
0440: 0d 0a 63 6f 6e 73 74 20 53 45 52 56 49 43 45 5f  ..const SERVICE_
0450: 55 4e 49 4e 53 54 41 4c 4c 5f 50 45 4e 44 49 4e  UNINSTALL_PENDIN
0460: 47 3d 32 3b 0d 0a 63 6f 6e 73 74 20 53 45 52 56  G=2;..const SERV
0470: 49 43 45 5f 49 4e 53 54 41 4c 4c 45 44 3d 33 3b  ICE_INSTALLED=3;
0480: 0d 0a 63 6f 6e 73 74 20 53 45 52 56 49 43 45 5f  ..const SERVICE_
0490: 49 4e 53 54 41 4c 4c 5f 53 54 41 54 45 3d 33 3b  INSTALL_STATE=3;
04a0: 0d 0a 63 6f 6e 73 74 20 53 45 52 56 49 43 45 5f  ..const SERVICE_
04b0: 50 41 55 53 45 5f 53 54 41 54 45 3d 31 38 3b 0d  PAUSE_STATE=18;.
04c0: 0a 63 6f 6e 73 74 20 4c 4d 32 30 5f 53 45 52 56  .const LM20_SERV
04d0: 49 43 45 5f 41 43 54 49 56 45 3d 30 3b 0d 0a 63  ICE_ACTIVE=0;..c
04e0: 6f 6e 73 74 20 4c 4d 32 30 5f 53 45 52 56 49 43  onst LM20_SERVIC
04f0: 45 5f 43 4f 4e 54 49 4e 55 45 5f 50 45 4e 44 49  E_CONTINUE_PENDI
0500: 4e 47 3d 34 3b 0d 0a 63 6f 6e 73 74 20 4c 4d 32  NG=4;..const LM2
0510: 30 5f 53 45 52 56 49 43 45 5f 50 41 55 53 45 5f  0_SERVICE_PAUSE_
0520: 50 45 4e 44 49 4e 47 3d 38 3b 0d 0a 63 6f 6e 73  PENDING=8;..cons
0530: 74 20 4c 4d 32 30 5f 53 45 52 56 49 43 45 5f 50  t LM20_SERVICE_P
0540: 41 55 53 45 44 3d 31 38 3b 0d 0a 63 6f 6e 73 74  AUSED=18;..const
0550: 20 53 45 52 56 49 43 45 5f 4e 4f 54 5f 55 4e 49   SERVICE_NOT_UNI
0560: 4e 53 54 41 4c 4c 41 42 4c 45 3d 30 3b 0d 0a 63  NSTALLABLE=0;..c
0570: 6f 6e 73 74 20 53 45 52 56 49 43 45 5f 55 4e 49  onst SERVICE_UNI
0580: 4e 53 54 41 4c 4c 41 42 4c 45 3d 31 36 3b 0d 0a  NSTALLABLE=16;..
0590: 63 6f 6e 73 74 20 53 45 52 56 49 43 45 5f 4e 4f  const SERVICE_NO
05a0: 54 5f 50 41 55 53 41 42 4c 45 3d 30 3b 0d 0a 63  T_PAUSABLE=0;..c
05b0: 6f 6e 73 74 20 53 45 52 56 49 43 45 5f 50 41 55  onst SERVICE_PAU
05c0: 53 41 42 4c 45 3d 33 32 3b 0d 0a 63 6f 6e 73 74  SABLE=32;..const
05d0: 20 53 45 52 56 49 43 45 5f 52 45 44 49 52 5f 50   SERVICE_REDIR_P
05e0: 41 55 53 45 44 3d 30 78 37 30 30 3b 0d 0a 63 6f  AUSED=0x700;..co
05f0: 6e 73 74 20 53 45 52 56 49 43 45 5f 52 45 44 49  nst SERVICE_REDI
0600: 52 5f 44 49 53 4b 5f 50 41 55 53 45 44 3d 32 35  R_DISK_PAUSED=25
0610: 36 3b 0d 0a 63 6f 6e 73 74 20 53 45 52 56 49 43  6;..const SERVIC
0620: 45 5f 52 45 44 49 52 5f 50 52 49 4e 54 5f 50 41  E_REDIR_PRINT_PA
0630: 55 53 45 44 3d 35 31 32 3b 0d 0a 63 6f 6e 73 74  USED=512;..const
0640: 20 53 45 52 56 49 43 45 5f 52 45 44 49 52 5f 43   SERVICE_REDIR_C
0650: 4f 4d 4d 5f 50 41 55 53 45 44 3d 31 30 32 34 3b  OMM_PAUSED=1024;
0660: 0d 0a 63 6f 6e 73 74 20 53 45 52 56 49 43 45 5f  ..const SERVICE_
0670: 43 54 52 4c 5f 49 4e 54 45 52 52 4f 47 41 54 45  CTRL_INTERROGATE
0680: 3d 30 3b 0d 0a 63 6f 6e 73 74 20 53 45 52 56 49  =0;..const SERVI
0690: 43 45 5f 43 54 52 4c 5f 50 41 55 53 45 3d 31 3b  CE_CTRL_PAUSE=1;
06a0: 0d 0a 63 6f 6e 73 74 20 53 45 52 56 49 43 45 5f  ..const SERVICE_
06b0: 43 54 52 4c 5f 43 4f 4e 54 49 4e 55 45 3d 32 3b  CTRL_CONTINUE=2;
06c0: 0d 0a 63 6f 6e 73 74 20 53 45 52 56 49 43 45 5f  ..const SERVICE_
06d0: 43 54 52 4c 5f 55 4e 49 4e 53 54 41 4c 4c 3d 33  CTRL_UNINSTALL=3
06e0: 3b 0d 0a 63 6f 6e 73 74 20 53 45 52 56 49 43 45  ;..const SERVICE
06f0: 5f 43 54 52 4c 5f 52 45 44 49 52 5f 44 49 53 4b  _CTRL_REDIR_DISK
0700: 3d 31 3b 0d 0a 63 6f 6e 73 74 20 53 45 52 56 49  =1;..const SERVI
0710: 43 45 5f 43 54 52 4c 5f 52 45 44 49 52 5f 50 52  CE_CTRL_REDIR_PR
0720: 49 4e 54 3d 32 3b 0d 0a 63 6f 6e 73 74 20 53 45  INT=2;..const SE
0730: 52 56 49 43 45 5f 43 54 52 4c 5f 52 45 44 49 52  RVICE_CTRL_REDIR
0740: 5f 43 4f 4d 4d 3d 34 3b 0d 0a 63 6f 6e 73 74 20  _COMM=4;..const 
0750: 53 45 52 56 49 43 45 5f 49 50 5f 4e 4f 5f 48 49  SERVICE_IP_NO_HI
0760: 4e 54 3d 30 3b 0d 0a 63 6f 6e 73 74 20 53 45 52  NT=0;..const SER
0770: 56 49 43 45 5f 43 43 50 5f 4e 4f 5f 48 49 4e 54  VICE_CCP_NO_HINT
0780: 3d 30 3b 0d 0a 63 6f 6e 73 74 20 53 45 52 56 49  =0;..const SERVI
0790: 43 45 5f 49 50 5f 51 55 45 52 59 5f 48 49 4e 54  CE_IP_QUERY_HINT
07a0: 3d 30 78 31 30 30 30 30 3b 0d 0a 63 6f 6e 73 74  =0x10000;..const
07b0: 20 53 45 52 56 49 43 45 5f 43 43 50 5f 51 55 45   SERVICE_CCP_QUE
07c0: 52 59 5f 48 49 4e 54 3d 30 78 31 30 30 30 30 3b  RY_HINT=0x10000;
07d0: 0d 0a 63 6f 6e 73 74 20 53 45 52 56 49 43 45 5f  ..const SERVICE_
07e0: 49 50 5f 43 48 4b 50 54 5f 4e 55 4d 3d 32 35 35  IP_CHKPT_NUM=255
07f0: 3b 0d 0a 63 6f 6e 73 74 20 53 45 52 56 49 43 45  ;..const SERVICE
0800: 5f 43 43 50 5f 43 48 4b 50 54 5f 4e 55 4d 3d 32  _CCP_CHKPT_NUM=2
0810: 35 35 3b 0d 0a 63 6f 6e 73 74 20 53 45 52 56 49  55;..const SERVI
0820: 43 45 5f 49 50 5f 57 41 49 54 5f 54 49 4d 45 3d  CE_IP_WAIT_TIME=
0830: 30 78 46 46 30 30 3b 0d 0a 63 6f 6e 73 74 20 53  0xFF00;..const S
0840: 45 52 56 49 43 45 5f 43 43 50 5f 57 41 49 54 5f  ERVICE_CCP_WAIT_
0850: 54 49 4d 45 3d 30 78 46 46 30 30 3b 0d 0a 63 6f  TIME=0xFF00;..co
0860: 6e 73 74 20 53 45 52 56 49 43 45 5f 49 50 5f 57  nst SERVICE_IP_W
0870: 41 49 54 54 49 4d 45 5f 53 48 49 46 54 3d 38 3b  AITTIME_SHIFT=8;
0880: 0d 0a 63 6f 6e 73 74 20 53 45 52 56 49 43 45 5f  ..const SERVICE_
0890: 4e 54 49 50 5f 57 41 49 54 54 49 4d 45 5f 53 48  NTIP_WAITTIME_SH
08a0: 49 46 54 3d 31 32 3b 0d 0a 63 6f 6e 73 74 20 55  IFT=12;..const U
08b0: 50 50 45 52 5f 48 49 4e 54 5f 4d 41 53 4b 3d 30  PPER_HINT_MASK=0
08c0: 78 46 46 30 30 3b 0d 0a 63 6f 6e 73 74 20 4c 4f  xFF00;..const LO
08d0: 57 45 52 5f 48 49 4e 54 5f 4d 41 53 4b 3d 32 35  WER_HINT_MASK=25
08e0: 35 3b 0d 0a 63 6f 6e 73 74 20 55 50 50 45 52 5f  5;..const UPPER_
08f0: 47 45 54 5f 48 49 4e 54 5f 4d 41 53 4b 3d 30 78  GET_HINT_MASK=0x
0900: 46 46 30 30 30 30 30 3b 0d 0a 63 6f 6e 73 74 20  FF00000;..const 
0910: 4c 4f 57 45 52 5f 47 45 54 5f 48 49 4e 54 5f 4d  LOWER_GET_HINT_M
0920: 41 53 4b 3d 30 78 46 46 30 30 3b 0d 0a 63 6f 6e  ASK=0xFF00;..con
0930: 73 74 20 53 45 52 56 49 43 45 5f 4e 54 5f 4d 41  st SERVICE_NT_MA
0940: 58 54 49 4d 45 3d 30 78 46 46 46 46 3b 0d 0a 63  XTIME=0xFFFF;..c
0950: 6f 6e 73 74 20 53 45 52 56 49 43 45 5f 52 45 53  onst SERVICE_RES
0960: 52 56 5f 4d 41 53 4b 3d 30 78 31 46 46 46 46 3b  RV_MASK=0x1FFFF;
0970: 0d 0a 63 6f 6e 73 74 20 53 45 52 56 49 43 45 5f  ..const SERVICE_
0980: 4d 41 58 54 49 4d 45 3d 32 35 35 3b 0d 0a 63 6f  MAXTIME=255;..co
0990: 6e 73 74 20 53 45 52 56 49 43 45 5f 42 41 53 45  nst SERVICE_BASE
09a0: 3d 33 30 35 30 3b 0d 0a 63 6f 6e 73 74 20 53 45  =3050;..const SE
09b0: 52 56 49 43 45 5f 55 49 43 5f 4e 4f 52 4d 41 4c  RVICE_UIC_NORMAL
09c0: 3d 30 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 53 45 52  =0;....const SER
09d0: 56 49 43 45 5f 55 49 43 5f 42 41 44 50 41 52 4d  VICE_UIC_BADPARM
09e0: 56 41 4c 20 3d 20 53 45 52 56 49 43 45 5f 42 41  VAL = SERVICE_BA
09f0: 53 45 2b 31 3b 0d 0a 63 6f 6e 73 74 20 53 45 52  SE+1;..const SER
0a00: 56 49 43 45 5f 55 49 43 5f 4d 49 53 53 50 41 52  VICE_UIC_MISSPAR
0a10: 4d 20 3d 20 53 45 52 56 49 43 45 5f 42 41 53 45  M = SERVICE_BASE
0a20: 2b 32 3b 0d 0a 63 6f 6e 73 74 20 53 45 52 56 49  +2;..const SERVI
0a30: 43 45 5f 55 49 43 5f 55 4e 4b 50 41 52 4d 20 3d  CE_UIC_UNKPARM =
0a40: 20 53 45 52 56 49 43 45 5f 42 41 53 45 2b 33 3b   SERVICE_BASE+3;
0a50: 0d 0a 63 6f 6e 73 74 20 53 45 52 56 49 43 45 5f  ..const SERVICE_
0a60: 55 49 43 5f 52 45 53 4f 55 52 43 45 20 3d 20 53  UIC_RESOURCE = S
0a70: 45 52 56 49 43 45 5f 42 41 53 45 2b 34 3b 0d 0a  ERVICE_BASE+4;..
0a80: 63 6f 6e 73 74 20 53 45 52 56 49 43 45 5f 55 49  const SERVICE_UI
0a90: 43 5f 43 4f 4e 46 49 47 20 3d 20 53 45 52 56 49  C_CONFIG = SERVI
0aa0: 43 45 5f 42 41 53 45 2b 35 3b 0d 0a 63 6f 6e 73  CE_BASE+5;..cons
0ab0: 74 20 53 45 52 56 49 43 45 5f 55 49 43 5f 53 59  t SERVICE_UIC_SY
0ac0: 53 54 45 4d 20 3d 20 53 45 52 56 49 43 45 5f 42  STEM = SERVICE_B
0ad0: 41 53 45 2b 36 3b 0d 0a 63 6f 6e 73 74 20 53 45  ASE+6;..const SE
0ae0: 52 56 49 43 45 5f 55 49 43 5f 49 4e 54 45 52 4e  RVICE_UIC_INTERN
0af0: 41 4c 20 3d 20 53 45 52 56 49 43 45 5f 42 41 53  AL = SERVICE_BAS
0b00: 45 2b 37 3b 0d 0a 63 6f 6e 73 74 20 53 45 52 56  E+7;..const SERV
0b10: 49 43 45 5f 55 49 43 5f 41 4d 42 49 47 50 41 52  ICE_UIC_AMBIGPAR
0b20: 4d 20 3d 20 53 45 52 56 49 43 45 5f 42 41 53 45  M = SERVICE_BASE
0b30: 2b 38 3b 0d 0a 63 6f 6e 73 74 20 53 45 52 56 49  +8;..const SERVI
0b40: 43 45 5f 55 49 43 5f 44 55 50 50 41 52 4d 20 3d  CE_UIC_DUPPARM =
0b50: 20 53 45 52 56 49 43 45 5f 42 41 53 45 2b 39 3b   SERVICE_BASE+9;
0b60: 0d 0a 63 6f 6e 73 74 20 53 45 52 56 49 43 45 5f  ..const SERVICE_
0b70: 55 49 43 5f 4b 49 4c 4c 20 3d 20 53 45 52 56 49  UIC_KILL = SERVI
0b80: 43 45 5f 42 41 53 45 2b 31 30 3b 0d 0a 63 6f 6e  CE_BASE+10;..con
0b90: 73 74 20 53 45 52 56 49 43 45 5f 55 49 43 5f 45  st SERVICE_UIC_E
0ba0: 58 45 43 20 3d 20 53 45 52 56 49 43 45 5f 42 41  XEC = SERVICE_BA
0bb0: 53 45 2b 31 31 3b 0d 0a 63 6f 6e 73 74 20 53 45  SE+11;..const SE
0bc0: 52 56 49 43 45 5f 55 49 43 5f 53 55 42 53 45 52  RVICE_UIC_SUBSER
0bd0: 56 20 3d 20 53 45 52 56 49 43 45 5f 42 41 53 45  V = SERVICE_BASE
0be0: 2b 31 32 3b 0d 0a 63 6f 6e 73 74 20 53 45 52 56  +12;..const SERV
0bf0: 49 43 45 5f 55 49 43 5f 43 4f 4e 46 4c 50 41 52  ICE_UIC_CONFLPAR
0c00: 4d 20 3d 20 53 45 52 56 49 43 45 5f 42 41 53 45  M = SERVICE_BASE
0c10: 2b 31 33 3b 0d 0a 63 6f 6e 73 74 20 53 45 52 56  +13;..const SERV
0c20: 49 43 45 5f 55 49 43 5f 46 49 4c 45 20 3d 20 53  ICE_UIC_FILE = S
0c30: 45 52 56 49 43 45 5f 42 41 53 45 2b 31 34 3b 0d  ERVICE_BASE+14;.
0c40: 0a 63 6f 6e 73 74 20 53 45 52 56 49 43 45 5f 55  .const SERVICE_U
0c50: 49 43 5f 4d 5f 4e 55 4c 4c 3d 30 3b 0d 0a 63 6f  IC_M_NULL=0;..co
0c60: 6e 73 74 20 53 45 52 56 49 43 45 5f 55 49 43 5f  nst SERVICE_UIC_
0c70: 4d 5f 4d 45 4d 4f 52 59 20 3d 20 53 45 52 56 49  M_MEMORY = SERVI
0c80: 43 45 5f 42 41 53 45 2b 32 30 3b 0d 0a 63 6f 6e  CE_BASE+20;..con
0c90: 73 74 20 53 45 52 56 49 43 45 5f 55 49 43 5f 4d  st SERVICE_UIC_M
0ca0: 5f 44 49 53 4b 20 3d 20 53 45 52 56 49 43 45 5f  _DISK = SERVICE_
0cb0: 42 41 53 45 2b 32 31 3b 0d 0a 63 6f 6e 73 74 20  BASE+21;..const 
0cc0: 53 45 52 56 49 43 45 5f 55 49 43 5f 4d 5f 54 48  SERVICE_UIC_M_TH
0cd0: 52 45 41 44 53 20 3d 20 53 45 52 56 49 43 45 5f  READS = SERVICE_
0ce0: 42 41 53 45 2b 32 32 3b 0d 0a 63 6f 6e 73 74 20  BASE+22;..const 
0cf0: 53 45 52 56 49 43 45 5f 55 49 43 5f 4d 5f 50 52  SERVICE_UIC_M_PR
0d00: 4f 43 45 53 53 45 53 20 3d 20 53 45 52 56 49 43  OCESSES = SERVIC
0d10: 45 5f 42 41 53 45 2b 32 33 3b 0d 0a 63 6f 6e 73  E_BASE+23;..cons
0d20: 74 20 53 45 52 56 49 43 45 5f 55 49 43 5f 4d 5f  t SERVICE_UIC_M_
0d30: 53 45 43 55 52 49 54 59 20 3d 20 53 45 52 56 49  SECURITY = SERVI
0d40: 43 45 5f 42 41 53 45 2b 32 34 3b 0d 0a 63 6f 6e  CE_BASE+24;..con
0d50: 73 74 20 53 45 52 56 49 43 45 5f 55 49 43 5f 4d  st SERVICE_UIC_M
0d60: 5f 4c 41 4e 52 4f 4f 54 20 3d 20 53 45 52 56 49  _LANROOT = SERVI
0d70: 43 45 5f 42 41 53 45 2b 32 35 3b 0d 0a 63 6f 6e  CE_BASE+25;..con
0d80: 73 74 20 53 45 52 56 49 43 45 5f 55 49 43 5f 4d  st SERVICE_UIC_M
0d90: 5f 52 45 44 49 52 20 3d 20 53 45 52 56 49 43 45  _REDIR = SERVICE
0da0: 5f 42 41 53 45 2b 32 36 3b 0d 0a 63 6f 6e 73 74  _BASE+26;..const
0db0: 20 53 45 52 56 49 43 45 5f 55 49 43 5f 4d 5f 53   SERVICE_UIC_M_S
0dc0: 45 52 56 45 52 20 3d 20 53 45 52 56 49 43 45 5f  ERVER = SERVICE_
0dd0: 42 41 53 45 2b 32 37 3b 0d 0a 63 6f 6e 73 74 20  BASE+27;..const 
0de0: 53 45 52 56 49 43 45 5f 55 49 43 5f 4d 5f 53 45  SERVICE_UIC_M_SE
0df0: 43 5f 46 49 4c 45 5f 45 52 52 20 3d 20 53 45 52  C_FILE_ERR = SER
0e00: 56 49 43 45 5f 42 41 53 45 2b 32 38 3b 0d 0a 63  VICE_BASE+28;..c
0e10: 6f 6e 73 74 20 53 45 52 56 49 43 45 5f 55 49 43  onst SERVICE_UIC
0e20: 5f 4d 5f 46 49 4c 45 53 20 3d 20 53 45 52 56 49  _M_FILES = SERVI
0e30: 43 45 5f 42 41 53 45 2b 32 39 3b 0d 0a 63 6f 6e  CE_BASE+29;..con
0e40: 73 74 20 53 45 52 56 49 43 45 5f 55 49 43 5f 4d  st SERVICE_UIC_M
0e50: 5f 4c 4f 47 53 20 3d 20 53 45 52 56 49 43 45 5f  _LOGS = SERVICE_
0e60: 42 41 53 45 2b 33 30 3b 0d 0a 63 6f 6e 73 74 20  BASE+30;..const 
0e70: 53 45 52 56 49 43 45 5f 55 49 43 5f 4d 5f 4c 41  SERVICE_UIC_M_LA
0e80: 4e 47 52 4f 55 50 20 3d 20 53 45 52 56 49 43 45  NGROUP = SERVICE
0e90: 5f 42 41 53 45 2b 33 31 3b 0d 0a 63 6f 6e 73 74  _BASE+31;..const
0ea0: 20 53 45 52 56 49 43 45 5f 55 49 43 5f 4d 5f 4d   SERVICE_UIC_M_M
0eb0: 53 47 4e 41 4d 45 20 3d 20 53 45 52 56 49 43 45  SGNAME = SERVICE
0ec0: 5f 42 41 53 45 2b 33 32 3b 0d 0a 63 6f 6e 73 74  _BASE+32;..const
0ed0: 20 53 45 52 56 49 43 45 5f 55 49 43 5f 4d 5f 41   SERVICE_UIC_M_A
0ee0: 4e 4e 4f 55 4e 43 45 20 3d 20 53 45 52 56 49 43  NNOUNCE = SERVIC
0ef0: 45 5f 42 41 53 45 2b 33 33 3b 0d 0a 63 6f 6e 73  E_BASE+33;..cons
0f00: 74 20 53 45 52 56 49 43 45 5f 55 49 43 5f 4d 5f  t SERVICE_UIC_M_
0f10: 55 41 53 20 3d 20 53 45 52 56 49 43 45 5f 42 41  UAS = SERVICE_BA
0f20: 53 45 2b 33 34 3b 0d 0a 63 6f 6e 73 74 20 53 45  SE+34;..const SE
0f30: 52 56 49 43 45 5f 55 49 43 5f 4d 5f 53 45 52 56  RVICE_UIC_M_SERV
0f40: 45 52 5f 53 45 43 5f 45 52 52 20 3d 20 53 45 52  ER_SEC_ERR = SER
0f50: 56 49 43 45 5f 42 41 53 45 2b 33 35 3b 0d 0a 63  VICE_BASE+35;..c
0f60: 6f 6e 73 74 20 53 45 52 56 49 43 45 5f 55 49 43  onst SERVICE_UIC
0f70: 5f 4d 5f 57 4b 53 54 41 20 3d 20 53 45 52 56 49  _M_WKSTA = SERVI
0f80: 43 45 5f 42 41 53 45 2b 33 37 3b 0d 0a 63 6f 6e  CE_BASE+37;..con
0f90: 73 74 20 53 45 52 56 49 43 45 5f 55 49 43 5f 4d  st SERVICE_UIC_M
0fa0: 5f 45 52 52 4c 4f 47 20 3d 20 53 45 52 56 49 43  _ERRLOG = SERVIC
0fb0: 45 5f 42 41 53 45 2b 33 38 3b 0d 0a 63 6f 6e 73  E_BASE+38;..cons
0fc0: 74 20 53 45 52 56 49 43 45 5f 55 49 43 5f 4d 5f  t SERVICE_UIC_M_
0fd0: 46 49 4c 45 5f 55 57 20 3d 20 53 45 52 56 49 43  FILE_UW = SERVIC
0fe0: 45 5f 42 41 53 45 2b 33 39 3b 0d 0a 63 6f 6e 73  E_BASE+39;..cons
0ff0: 74 20 53 45 52 56 49 43 45 5f 55 49 43 5f 4d 5f  t SERVICE_UIC_M_
1000: 41 44 44 50 41 4b 20 3d 20 53 45 52 56 49 43 45  ADDPAK = SERVICE
1010: 5f 42 41 53 45 2b 34 30 3b 0d 0a 63 6f 6e 73 74  _BASE+40;..const
1020: 20 53 45 52 56 49 43 45 5f 55 49 43 5f 4d 5f 4c   SERVICE_UIC_M_L
1030: 41 5a 59 20 3d 20 53 45 52 56 49 43 45 5f 42 41  AZY = SERVICE_BA
1040: 53 45 2b 34 31 3b 0d 0a 63 6f 6e 73 74 20 53 45  SE+41;..const SE
1050: 52 56 49 43 45 5f 55 49 43 5f 4d 5f 55 41 53 5f  RVICE_UIC_M_UAS_
1060: 4d 41 43 48 49 4e 45 5f 41 43 43 54 20 3d 20 53  MACHINE_ACCT = S
1070: 45 52 56 49 43 45 5f 42 41 53 45 2b 34 32 3b 0d  ERVICE_BASE+42;.
1080: 0a 63 6f 6e 73 74 20 53 45 52 56 49 43 45 5f 55  .const SERVICE_U
1090: 49 43 5f 4d 5f 55 41 53 5f 53 45 52 56 45 52 53  IC_M_UAS_SERVERS
10a0: 5f 4e 4d 45 4d 42 20 3d 20 53 45 52 56 49 43 45  _NMEMB = SERVICE
10b0: 5f 42 41 53 45 2b 34 33 3b 0d 0a 63 6f 6e 73 74  _BASE+43;..const
10c0: 20 53 45 52 56 49 43 45 5f 55 49 43 5f 4d 5f 55   SERVICE_UIC_M_U
10d0: 41 53 5f 53 45 52 56 45 52 53 5f 4e 4f 47 52 50  AS_SERVERS_NOGRP
10e0: 20 3d 20 53 45 52 56 49 43 45 5f 42 41 53 45 2b   = SERVICE_BASE+
10f0: 34 34 3b 0d 0a 63 6f 6e 73 74 20 53 45 52 56 49  44;..const SERVI
1100: 43 45 5f 55 49 43 5f 4d 5f 55 41 53 5f 49 4e 56  CE_UIC_M_UAS_INV
1110: 41 4c 49 44 5f 52 4f 4c 45 20 3d 20 53 45 52 56  ALID_ROLE = SERV
1120: 49 43 45 5f 42 41 53 45 2b 34 35 3b 0d 0a 63 6f  ICE_BASE+45;..co
1130: 6e 73 74 20 53 45 52 56 49 43 45 5f 55 49 43 5f  nst SERVICE_UIC_
1140: 4d 5f 4e 45 54 4c 4f 47 4f 4e 5f 4e 4f 5f 44 43  M_NETLOGON_NO_DC
1150: 20 3d 20 53 45 52 56 49 43 45 5f 42 41 53 45 2b   = SERVICE_BASE+
1160: 34 36 3b 0d 0a 63 6f 6e 73 74 20 53 45 52 56 49  46;..const SERVI
1170: 43 45 5f 55 49 43 5f 4d 5f 4e 45 54 4c 4f 47 4f  CE_UIC_M_NETLOGO
1180: 4e 5f 44 43 5f 43 46 4c 43 54 20 3d 20 53 45 52  N_DC_CFLCT = SER
1190: 56 49 43 45 5f 42 41 53 45 2b 34 37 3b 0d 0a 63  VICE_BASE+47;..c
11a0: 6f 6e 73 74 20 53 45 52 56 49 43 45 5f 55 49 43  onst SERVICE_UIC
11b0: 5f 4d 5f 4e 45 54 4c 4f 47 4f 4e 5f 41 55 54 48  _M_NETLOGON_AUTH
11c0: 20 3d 20 53 45 52 56 49 43 45 5f 42 41 53 45 2b   = SERVICE_BASE+
11d0: 34 38 3b 0d 0a 63 6f 6e 73 74 20 53 45 52 56 49  48;..const SERVI
11e0: 43 45 5f 55 49 43 5f 4d 5f 55 41 53 5f 50 52 4f  CE_UIC_M_UAS_PRO
11f0: 4c 4f 47 20 3d 20 53 45 52 56 49 43 45 5f 42 41  LOG = SERVICE_BA
1200: 53 45 2b 34 39 3b 0d 0a 63 6f 6e 73 74 20 53 45  SE+49;..const SE
1210: 52 56 49 43 45 32 5f 42 41 53 45 3d 35 36 30 30  RVICE2_BASE=5600
1220: 3b 0d 0a 63 6f 6e 73 74 20 53 45 52 56 49 43 45  ;..const SERVICE
1230: 5f 55 49 43 5f 4d 5f 4e 45 54 4c 4f 47 4f 4e 5f  _UIC_M_NETLOGON_
1240: 4d 50 41 54 48 20 3d 20 53 45 52 56 49 43 45 32  MPATH = SERVICE2
1250: 5f 42 41 53 45 2b 30 3b 0d 0a 63 6f 6e 73 74 20  _BASE+0;..const 
1260: 53 45 52 56 49 43 45 5f 55 49 43 5f 4d 5f 4c 53  SERVICE_UIC_M_LS
1270: 41 5f 4d 41 43 48 49 4e 45 5f 41 43 43 54 20 3d  A_MACHINE_ACCT =
1280: 20 53 45 52 56 49 43 45 32 5f 42 41 53 45 2b 31   SERVICE2_BASE+1
1290: 3b 0d 0a 63 6f 6e 73 74 20 53 45 52 56 49 43 45  ;..const SERVICE
12a0: 5f 55 49 43 5f 4d 5f 44 41 54 41 42 41 53 45 5f  _UIC_M_DATABASE_
12b0: 45 52 52 4f 52 20 3d 20 53 45 52 56 49 43 45 32  ERROR = SERVICE2
12c0: 5f 42 41 53 45 2b 32 3b 0d 0a 0d 0a 73 74 72 75  _BASE+2;....stru
12d0: 63 74 20 53 45 52 56 49 43 45 5f 49 4e 46 4f 5f  ct SERVICE_INFO_
12e0: 30 20 7b 0d 0a 09 4c 50 57 53 54 52 20 73 76 63  0 {...LPWSTR svc
12f0: 69 30 5f 6e 61 6d 65 3b 0d 0a 7d 0d 0a 61 6c 69  i0_name;..}..ali
1300: 61 73 20 53 45 52 56 49 43 45 5f 49 4e 46 4f 5f  as SERVICE_INFO_
1310: 30 2a 20 50 53 45 52 56 49 43 45 5f 49 4e 46 4f  0* PSERVICE_INFO
1320: 5f 30 2c 20 4c 50 53 45 52 56 49 43 45 5f 49 4e  _0, LPSERVICE_IN
1330: 46 4f 5f 30 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  FO_0;....struct 
1340: 53 45 52 56 49 43 45 5f 49 4e 46 4f 5f 31 20 7b  SERVICE_INFO_1 {
1350: 0d 0a 09 4c 50 57 53 54 52 20 73 76 63 69 31 5f  ...LPWSTR svci1_
1360: 6e 61 6d 65 3b 0d 0a 09 44 57 4f 52 44 20 73 76  name;...DWORD sv
1370: 63 69 31 5f 73 74 61 74 75 73 3b 0d 0a 09 44 57  ci1_status;...DW
1380: 4f 52 44 20 73 76 63 69 31 5f 63 6f 64 65 3b 0d  ORD svci1_code;.
1390: 0a 09 44 57 4f 52 44 20 73 76 63 69 31 5f 70 69  ..DWORD svci1_pi
13a0: 64 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 53 45 52  d;..}..alias SER
13b0: 56 49 43 45 5f 49 4e 46 4f 5f 31 2a 20 50 53 45  VICE_INFO_1* PSE
13c0: 52 56 49 43 45 5f 49 4e 46 4f 5f 31 2c 20 4c 50  RVICE_INFO_1, LP
13d0: 53 45 52 56 49 43 45 5f 49 4e 46 4f 5f 31 3b 0d  SERVICE_INFO_1;.
13e0: 0a 0d 0a 73 74 72 75 63 74 20 53 45 52 56 49 43  ...struct SERVIC
13f0: 45 5f 49 4e 46 4f 5f 32 20 7b 0d 0a 09 4c 50 57  E_INFO_2 {...LPW
1400: 53 54 52 20 73 76 63 69 32 5f 6e 61 6d 65 3b 0d  STR svci2_name;.
1410: 0a 09 44 57 4f 52 44 20 73 76 63 69 32 5f 73 74  ..DWORD svci2_st
1420: 61 74 75 73 3b 0d 0a 09 44 57 4f 52 44 20 73 76  atus;...DWORD sv
1430: 63 69 32 5f 63 6f 64 65 3b 0d 0a 09 44 57 4f 52  ci2_code;...DWOR
1440: 44 20 73 76 63 69 32 5f 70 69 64 3b 0d 0a 09 4c  D svci2_pid;...L
1450: 50 57 53 54 52 20 73 76 63 69 32 5f 74 65 78 74  PWSTR svci2_text
1460: 3b 0d 0a 09 44 57 4f 52 44 20 73 76 63 69 32 5f  ;...DWORD svci2_
1470: 73 70 65 63 69 66 69 63 5f 65 72 72 6f 72 3b 0d  specific_error;.
1480: 0a 09 4c 50 57 53 54 52 20 73 76 63 69 32 5f 64  ..LPWSTR svci2_d
1490: 69 73 70 6c 61 79 5f 6e 61 6d 65 3b 0d 0a 7d 0d  isplay_name;..}.
14a0: 0a 61 6c 69 61 73 20 53 45 52 56 49 43 45 5f 49  .alias SERVICE_I
14b0: 4e 46 4f 5f 32 2a 20 50 53 45 52 56 49 43 45 5f  NFO_2* PSERVICE_
14c0: 49 4e 46 4f 5f 32 2c 20 4c 50 53 45 52 56 49 43  INFO_2, LPSERVIC
14d0: 45 5f 49 4e 46 4f 5f 32 3b 0d 0a 0d 0a 65 78 74  E_INFO_2;....ext
14e0: 65 72 6e 20 28 57 69 6e 64 6f 77 73 29 20 7b 0d  ern (Windows) {.
14f0: 0a 09 64 65 70 72 65 63 61 74 65 64 20 7b 0d 0a  ..deprecated {..
1500: 09 09 4e 45 54 5f 41 50 49 5f 53 54 41 54 55 53  ..NET_API_STATUS
1510: 20 4e 65 74 53 65 72 76 69 63 65 43 6f 6e 74 72   NetServiceContr
1520: 6f 6c 28 4c 50 43 57 53 54 52 2c 20 4c 50 43 57  ol(LPCWSTR, LPCW
1530: 53 54 52 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52  STR, DWORD, DWOR
1540: 44 2c 0d 0a 09 09 20 20 50 42 59 54 45 2a 29 3b  D,....  PBYTE*);
1550: 0d 0a 09 09 4e 45 54 5f 41 50 49 5f 53 54 41 54  ....NET_API_STAT
1560: 55 53 20 4e 65 74 53 65 72 76 69 63 65 45 6e 75  US NetServiceEnu
1570: 6d 28 4c 50 43 57 53 54 52 2c 20 44 57 4f 52 44  m(LPCWSTR, DWORD
1580: 2c 20 50 42 59 54 45 2a 2c 20 44 57 4f 52 44 2c  , PBYTE*, DWORD,
1590: 20 50 44 57 4f 52 44 2c 0d 0a 09 09 20 20 50 44   PDWORD,....  PD
15a0: 57 4f 52 44 2c 20 50 44 57 4f 52 44 29 3b 0d 0a  WORD, PDWORD);..
15b0: 09 09 4e 45 54 5f 41 50 49 5f 53 54 41 54 55 53  ..NET_API_STATUS
15c0: 20 4e 65 74 53 65 72 76 69 63 65 47 65 74 49 6e   NetServiceGetIn
15d0: 66 6f 28 4c 50 43 57 53 54 52 2c 20 4c 50 43 57  fo(LPCWSTR, LPCW
15e0: 53 54 52 2c 20 44 57 4f 52 44 2c 20 50 42 59 54  STR, DWORD, PBYT
15f0: 45 2a 29 3b 0d 0a 09 09 4e 45 54 5f 41 50 49 5f  E*);....NET_API_
1600: 53 54 41 54 55 53 20 4e 65 74 53 65 72 76 69 63  STATUS NetServic
1610: 65 49 6e 73 74 61 6c 6c 28 4c 50 43 57 53 54 52  eInstall(LPCWSTR
1620: 2c 20 4c 50 43 57 53 54 52 2c 20 44 57 4f 52 44  , LPCWSTR, DWORD
1630: 2c 20 4c 50 43 57 53 54 52 2a 2c 0d 0a 09 09 20  , LPCWSTR*,.... 
1640: 20 50 42 59 54 45 2a 29 3b 0d 0a 09 7d 0d 0a 7d   PBYTE*);...}..}
1650: 0d 0a 2f 2f 4d 41 43 52 4f 20 23 64 65 66 69 6e  ..//MACRO #defin
1660: 65 20 53 45 52 56 49 43 45 5f 49 50 5f 43 4f 44  e SERVICE_IP_COD
1670: 45 28 74 2c 20 6e 29 20 28 28 6c 6f 6e 67 29 53  E(t, n) ((long)S
1680: 45 52 56 49 43 45 5f 49 50 5f 51 55 45 52 59 5f  ERVICE_IP_QUERY_
1690: 48 49 4e 54 7c 28 6c 6f 6e 67 29 28 6e 7c 28 74  HINT|(long)(n|(t
16a0: 3c 3c 53 45 52 56 49 43 45 5f 49 50 5f 57 41 49  <<SERVICE_IP_WAI
16b0: 54 54 49 4d 45 5f 53 48 49 46 54 29 29 29 0d 0a  TTIME_SHIFT)))..
16c0: 2f 2f 4d 41 43 52 4f 20 23 64 65 66 69 6e 65 20  //MACRO #define 
16d0: 53 45 52 56 49 43 45 5f 43 43 50 5f 43 4f 44 45  SERVICE_CCP_CODE
16e0: 28 74 2c 20 6e 29 20 28 28 6c 6f 6e 67 29 53 45  (t, n) ((long)SE
16f0: 52 56 49 43 45 5f 43 43 50 5f 51 55 45 52 59 5f  RVICE_CCP_QUERY_
1700: 48 49 4e 54 7c 28 6c 6f 6e 67 29 28 6e 7c 28 74  HINT|(long)(n|(t
1710: 3c 3c 53 45 52 56 49 43 45 5f 49 50 5f 57 41 49  <<SERVICE_IP_WAI
1720: 54 54 49 4d 45 5f 53 48 49 46 54 29 29 29 0d 0a  TTIME_SHIFT)))..
1730: 2f 2f 4d 41 43 52 4f 20 23 64 65 66 69 6e 65 20  //MACRO #define 
1740: 53 45 52 56 49 43 45 5f 55 49 43 5f 43 4f 44 45  SERVICE_UIC_CODE
1750: 28 63 2c 20 6d 29 20 28 28 6c 6f 6e 67 29 28 28  (c, m) ((long)((
1760: 28 6c 6f 6e 67 29 63 3c 3c 31 36 29 7c 28 6c 6f  (long)c<<16)|(lo
1770: 6e 67 29 28 55 53 48 4f 52 54 29 6d 29 29 0d 0a  ng)(USHORT)m))..
1780: 2f 2f 4d 41 43 52 4f 20 23 64 65 66 69 6e 65 20  //MACRO #define 
1790: 53 45 52 56 49 43 45 5f 4e 54 5f 43 43 50 5f 43  SERVICE_NT_CCP_C
17a0: 4f 44 45 28 74 2c 20 6e 29 20 28 28 28 6c 6f 6e  ODE(t, n) (((lon
17b0: 67 29 53 45 52 56 49 43 45 5f 43 43 50 5f 51 55  g)SERVICE_CCP_QU
17c0: 45 52 59 5f 48 49 4e 54 29 7c 28 28 6c 6f 6e 67  ERY_HINT)|((long
17d0: 29 28 6e 29 29 7c 28 28 28 74 29 26 4c 4f 57 45  )(n))|(((t)&LOWE
17e0: 52 5f 48 49 4e 54 5f 4d 41 53 4b 29 3c 3c 53 45  R_HINT_MASK)<<SE
17f0: 52 56 49 43 45 5f 49 50 5f 57 41 49 54 54 49 4d  RVICE_IP_WAITTIM
1800: 45 5f 53 48 49 46 54 29 7c 28 28 28 74 29 26 55  E_SHIFT)|(((t)&U
1810: 50 50 45 52 5f 48 49 4e 54 5f 4d 41 53 4b 29 3c  PPER_HINT_MASK)<
1820: 3c 53 45 52 56 49 43 45 5f 4e 54 49 50 5f 57 41  <SERVICE_NTIP_WA
1830: 49 54 54 49 4d 45 5f 53 48 49 46 54 29 29 0d 0a  ITTIME_SHIFT))..
1840: 2f 2f 4d 41 43 52 4f 20 23 64 65 66 69 6e 65 20  //MACRO #define 
1850: 53 45 52 56 49 43 45 5f 4e 54 5f 57 41 49 54 5f  SERVICE_NT_WAIT_
1860: 47 45 54 28 63 29 20 28 28 28 28 63 29 26 55 50  GET(c) ((((c)&UP
1870: 50 45 52 5f 47 45 54 5f 48 49 4e 54 5f 4d 41 53  PER_GET_HINT_MAS
1880: 4b 29 3e 3e 53 45 52 56 49 43 45 5f 4e 54 49 50  K)>>SERVICE_NTIP
1890: 5f 57 41 49 54 54 49 4d 45 5f 53 48 49 46 54 29  _WAITTIME_SHIFT)
18a0: 7c 28 28 28 63 29 26 4c 4f 57 45 52 5f 47 45 54  |(((c)&LOWER_GET
18b0: 5f 48 49 4e 54 5f 4d 41 53 4b 29 3e 3e 53 45 52  _HINT_MASK)>>SER
18c0: 56 49 43 45 5f 49 50 5f 57 41 49 54 54 49 4d 45  VICE_IP_WAITTIME
18d0: 5f 53 48 49 46 54 29 29 0d 0a                    _SHIFT))..