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 0a 2a 20 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 6c 6d 73 6e 61 6d lmsnam
0070: 65 2e 64 20 20 20 20 20 20 20 20 20 20 20 20 20 e.d
0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0090: 20 20 2a 0a 2a 20 20 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 2a 0a 2a 20 *.*
00e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00f0: 20 20 20 20 20 20 57 69 6e 64 6f 77 73 20 41 50 Windows AP
0100: 49 20 68 65 61 64 65 72 20 6d 6f 64 75 6c 65 20 I header module
0110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0120: 20 20 20 20 20 20 2a 0a 2a 20 20 20 20 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: 2a 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 *.*
0180: 20 20 20 20 54 72 61 6e 73 6c 61 74 65 64 20 66 Translated f
0190: 72 6f 6d 20 4d 69 6e 47 57 20 57 69 6e 64 6f 77 rom MinGW Window
01a0: 73 20 68 65 61 64 65 72 73 20 20 20 20 20 20 20 s headers
01b0: 20 20 20 20 20 20 20 20 20 20 2a 0a 2a 20 20 20 *.*
01c0: 20 20 20 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 2a 0a 2a 20 20 20 20 20 20 20 20 20 *.*
0210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 6c Pl
0220: 61 63 65 64 20 69 6e 74 6f 20 70 75 62 6c 69 63 aced into public
0230: 20 64 6f 6d 61 69 6e 20 20 20 20 20 20 20 20 20 domain
0240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0a *.
0250: 5c 2a 2a 2a 2a 2a 2a 2a 2a 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 2f 0a 6d 6f 64 75 6c 65 ********/.module
02a0: 20 77 69 6e 33 32 2e 6c 6d 73 6e 61 6d 65 3b 0a win32.lmsname;.
02b0: 0a 70 72 69 76 61 74 65 20 69 6d 70 6f 72 74 20 .private import
02c0: 77 69 6e 33 32 2e 77 69 6e 64 65 66 3b 0a 0a 63 win32.windef;..c
02d0: 6f 6e 73 74 20 54 43 48 41 52 5b 5d 0a 09 53 45 onst TCHAR[]..SE
02e0: 52 56 49 43 45 5f 57 4f 52 4b 53 54 41 54 49 4f RVICE_WORKSTATIO
02f0: 4e 20 20 20 20 20 20 3d 20 22 4c 61 6e 6d 61 6e N = "Lanman
0300: 57 6f 72 6b 73 74 61 74 69 6f 6e 22 2c 0a 09 53 Workstation",..S
0310: 45 52 56 49 43 45 5f 4c 4d 32 30 5f 57 4f 52 4b ERVICE_LM20_WORK
0320: 53 54 41 54 49 4f 4e 20 3d 20 22 57 4f 52 4b 53 STATION = "WORKS
0330: 54 41 54 49 4f 4e 22 2c 0a 09 57 4f 52 4b 53 54 TATION",..WORKST
0340: 41 54 49 4f 4e 5f 44 49 53 50 4c 41 59 5f 4e 41 ATION_DISPLAY_NA
0350: 4d 45 20 3d 20 22 57 6f 72 6b 73 74 61 74 69 6f ME = "Workstatio
0360: 6e 22 2c 0a 09 53 45 52 56 49 43 45 5f 53 45 52 n",..SERVICE_SER
0370: 56 45 52 20 20 20 20 20 20 20 20 20 20 20 3d 20 VER =
0380: 22 4c 61 6e 6d 61 6e 53 65 72 76 65 72 22 2c 0a "LanmanServer",.
0390: 09 53 45 52 56 49 43 45 5f 4c 4d 32 30 5f 53 45 .SERVICE_LM20_SE
03a0: 52 56 45 52 20 20 20 20 20 20 3d 20 22 53 45 52 RVER = "SER
03b0: 56 45 52 22 2c 0a 09 53 45 52 56 45 52 5f 44 49 VER",..SERVER_DI
03c0: 53 50 4c 41 59 5f 4e 41 4d 45 20 20 20 20 20 20 SPLAY_NAME
03d0: 3d 20 22 53 65 72 76 65 72 22 2c 0a 09 53 45 52 = "Server",..SER
03e0: 56 49 43 45 5f 42 52 4f 57 53 45 52 20 20 20 20 VICE_BROWSER
03f0: 20 20 20 20 20 20 3d 20 22 42 52 4f 57 53 45 52 = "BROWSER
0400: 22 2c 0a 09 53 45 52 56 49 43 45 5f 4c 4d 32 30 ",..SERVICE_LM20
0410: 5f 42 52 4f 57 53 45 52 20 20 20 20 20 3d 20 53 _BROWSER = S
0420: 45 52 56 49 43 45 5f 42 52 4f 57 53 45 52 2c 0a ERVICE_BROWSER,.
0430: 09 53 45 52 56 49 43 45 5f 4d 45 53 53 45 4e 47 .SERVICE_MESSENG
0440: 45 52 20 20 20 20 20 20 20 20 3d 20 22 4d 45 53 ER = "MES
0450: 53 45 4e 47 45 52 22 2c 0a 09 53 45 52 56 49 43 SENGER",..SERVIC
0460: 45 5f 4c 4d 32 30 5f 4d 45 53 53 45 4e 47 45 52 E_LM20_MESSENGER
0470: 20 20 20 3d 20 53 45 52 56 49 43 45 5f 4d 45 53 = SERVICE_MES
0480: 53 45 4e 47 45 52 2c 0a 09 53 45 52 56 49 43 45 SENGER,..SERVICE
0490: 5f 4e 45 54 52 55 4e 20 20 20 20 20 20 20 20 20 _NETRUN
04a0: 20 20 3d 20 22 4e 45 54 52 55 4e 22 2c 0a 09 53 = "NETRUN",..S
04b0: 45 52 56 49 43 45 5f 4c 4d 32 30 5f 4e 45 54 52 ERVICE_LM20_NETR
04c0: 55 4e 20 20 20 20 20 20 3d 20 53 45 52 56 49 43 UN = SERVIC
04d0: 45 5f 4e 45 54 52 55 4e 2c 0a 09 53 45 52 56 49 E_NETRUN,..SERVI
04e0: 43 45 5f 53 50 4f 4f 4c 45 52 20 20 20 20 20 20 CE_SPOOLER
04f0: 20 20 20 20 3d 20 22 53 50 4f 4f 4c 45 52 22 2c = "SPOOLER",
0500: 0a 09 53 45 52 56 49 43 45 5f 4c 4d 32 30 5f 53 ..SERVICE_LM20_S
0510: 50 4f 4f 4c 45 52 20 20 20 20 20 3d 20 53 45 52 POOLER = SER
0520: 56 49 43 45 5f 53 50 4f 4f 4c 45 52 2c 0a 09 53 VICE_SPOOLER,..S
0530: 45 52 56 49 43 45 5f 41 4c 45 52 54 45 52 20 20 ERVICE_ALERTER
0540: 20 20 20 20 20 20 20 20 3d 20 22 41 4c 45 52 54 = "ALERT
0550: 45 52 22 2c 0a 09 53 45 52 56 49 43 45 5f 4c 4d ER",..SERVICE_LM
0560: 32 30 5f 41 4c 45 52 54 45 52 20 20 20 20 20 3d 20_ALERTER =
0570: 20 53 45 52 56 49 43 45 5f 41 4c 45 52 54 45 52 SERVICE_ALERTER
0580: 2c 0a 09 53 45 52 56 49 43 45 5f 4e 45 54 4c 4f ,..SERVICE_NETLO
0590: 47 4f 4e 20 20 20 20 20 20 20 20 20 3d 20 22 4e GON = "N
05a0: 45 54 4c 4f 47 4f 4e 22 2c 0a 09 53 45 52 56 49 ETLOGON",..SERVI
05b0: 43 45 5f 4c 4d 32 30 5f 4e 45 54 4c 4f 47 4f 4e CE_LM20_NETLOGON
05c0: 20 20 20 20 3d 20 53 45 52 56 49 43 45 5f 4e 45 = SERVICE_NE
05d0: 54 4c 4f 47 4f 4e 2c 0a 09 53 45 52 56 49 43 45 TLOGON,..SERVICE
05e0: 5f 4e 45 54 50 4f 50 55 50 20 20 20 20 20 20 20 _NETPOPUP
05f0: 20 20 3d 20 22 4e 45 54 50 4f 50 55 50 22 2c 0a = "NETPOPUP",.
0600: 09 53 45 52 56 49 43 45 5f 4c 4d 32 30 5f 4e 45 .SERVICE_LM20_NE
0610: 54 50 4f 50 55 50 20 20 20 20 3d 20 53 45 52 56 TPOPUP = SERV
0620: 49 43 45 5f 4e 45 54 50 4f 50 55 50 2c 0a 09 53 ICE_NETPOPUP,..S
0630: 45 52 56 49 43 45 5f 53 51 4c 53 45 52 56 45 52 ERVICE_SQLSERVER
0640: 20 20 20 20 20 20 20 20 3d 20 22 53 51 4c 53 45 = "SQLSE
0650: 52 56 45 52 22 2c 0a 09 53 45 52 56 49 43 45 5f RVER",..SERVICE_
0660: 4c 4d 32 30 5f 53 51 4c 53 45 52 56 45 52 20 20 LM20_SQLSERVER
0670: 20 3d 20 53 45 52 56 49 43 45 5f 53 51 4c 53 45 = SERVICE_SQLSE
0680: 52 56 45 52 2c 0a 09 53 45 52 56 49 43 45 5f 52 RVER,..SERVICE_R
0690: 45 50 4c 20 20 20 20 20 20 20 20 20 20 20 20 20 EPL
06a0: 3d 20 22 52 45 50 4c 49 43 41 54 4f 52 22 2c 0a = "REPLICATOR",.
06b0: 09 53 45 52 56 49 43 45 5f 4c 4d 32 30 5f 52 45 .SERVICE_LM20_RE
06c0: 50 4c 20 20 20 20 20 20 20 20 3d 20 53 45 52 56 PL = SERV
06d0: 49 43 45 5f 52 45 50 4c 2c 0a 09 53 45 52 56 49 ICE_REPL,..SERVI
06e0: 43 45 5f 52 49 50 4c 20 20 20 20 20 20 20 20 20 CE_RIPL
06f0: 20 20 20 20 3d 20 22 52 45 4d 4f 54 45 42 4f 4f = "REMOTEBOO
0700: 54 22 2c 0a 09 53 45 52 56 49 43 45 5f 4c 4d 32 T",..SERVICE_LM2
0710: 30 5f 52 49 50 4c 20 20 20 20 20 20 20 20 3d 20 0_RIPL =
0720: 53 45 52 56 49 43 45 5f 52 49 50 4c 2c 0a 09 53 SERVICE_RIPL,..S
0730: 45 52 56 49 43 45 5f 54 49 4d 45 53 4f 55 52 43 ERVICE_TIMESOURC
0740: 45 20 20 20 20 20 20 20 3d 20 22 54 49 4d 45 53 E = "TIMES
0750: 4f 55 52 43 45 22 2c 0a 09 53 45 52 56 49 43 45 OURCE",..SERVICE
0760: 5f 4c 4d 32 30 5f 54 49 4d 45 53 4f 55 52 43 45 _LM20_TIMESOURCE
0770: 20 20 3d 20 53 45 52 56 49 43 45 5f 54 49 4d 45 = SERVICE_TIME
0780: 53 4f 55 52 43 45 2c 0a 09 53 45 52 56 49 43 45 SOURCE,..SERVICE
0790: 5f 41 46 50 20 20 20 20 20 20 20 20 20 20 20 20 _AFP
07a0: 20 20 3d 20 22 41 46 50 22 2c 0a 09 53 45 52 56 = "AFP",..SERV
07b0: 49 43 45 5f 4c 4d 32 30 5f 41 46 50 20 20 20 20 ICE_LM20_AFP
07c0: 20 20 20 20 20 3d 20 53 45 52 56 49 43 45 5f 41 = SERVICE_A
07d0: 46 50 2c 0a 09 53 45 52 56 49 43 45 5f 55 50 53 FP,..SERVICE_UPS
07e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 =
07f0: 22 55 50 53 22 2c 0a 09 53 45 52 56 49 43 45 5f "UPS",..SERVICE_
0800: 4c 4d 32 30 5f 55 50 53 20 20 20 20 20 20 20 20 LM20_UPS
0810: 20 3d 20 53 45 52 56 49 43 45 5f 55 50 53 2c 0a = SERVICE_UPS,.
0820: 09 53 45 52 56 49 43 45 5f 58 41 43 54 53 52 56 .SERVICE_XACTSRV
0830: 20 20 20 20 20 20 20 20 20 20 3d 20 22 58 41 43 = "XAC
0840: 54 53 52 56 22 2c 0a 09 53 45 52 56 49 43 45 5f TSRV",..SERVICE_
0850: 4c 4d 32 30 5f 58 41 43 54 53 52 56 20 20 20 20 LM20_XACTSRV
0860: 20 3d 20 53 45 52 56 49 43 45 5f 58 41 43 54 53 = SERVICE_XACTS
0870: 52 56 2c 0a 09 53 45 52 56 49 43 45 5f 54 43 50 RV,..SERVICE_TCP
0880: 49 50 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 IP =
0890: 22 54 43 50 49 50 22 2c 0a 09 53 45 52 56 49 43 "TCPIP",..SERVIC
08a0: 45 5f 4c 4d 32 30 5f 54 43 50 49 50 20 20 20 20 E_LM20_TCPIP
08b0: 20 20 20 3d 20 53 45 52 56 49 43 45 5f 54 43 50 = SERVICE_TCP
08c0: 49 50 2c 0a 09 53 45 52 56 49 43 45 5f 4e 42 54 IP,..SERVICE_NBT
08d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 =
08e0: 22 4e 42 54 22 2c 0a 09 53 45 52 56 49 43 45 5f "NBT",..SERVICE_
08f0: 4c 4d 32 30 5f 4e 42 54 20 20 20 20 20 20 20 20 LM20_NBT
0900: 20 3d 20 53 45 52 56 49 43 45 5f 4e 42 54 2c 0a = SERVICE_NBT,.
0910: 09 53 45 52 56 49 43 45 5f 4c 4d 48 4f 53 54 53 .SERVICE_LMHOSTS
0920: 20 20 20 20 20 20 20 20 20 20 3d 20 22 4c 4d 48 = "LMH
0930: 4f 53 54 53 22 2c 0a 09 53 45 52 56 49 43 45 5f OSTS",..SERVICE_
0940: 4c 4d 32 30 5f 4c 4d 48 4f 53 54 53 20 20 20 20 LM20_LMHOSTS
0950: 20 3d 20 53 45 52 56 49 43 45 5f 4c 4d 48 4f 53 = SERVICE_LMHOS
0960: 54 53 2c 0a 09 53 45 52 56 49 43 45 5f 54 45 4c TS,..SERVICE_TEL
0970: 4e 45 54 20 20 20 20 20 20 20 20 20 20 20 3d 20 NET =
0980: 22 54 65 6c 6e 65 74 22 2c 0a 09 53 45 52 56 49 "Telnet",..SERVI
0990: 43 45 5f 4c 4d 32 30 5f 54 45 4c 4e 45 54 20 20 CE_LM20_TELNET
09a0: 20 20 20 20 3d 20 53 45 52 56 49 43 45 5f 54 45 = SERVICE_TE
09b0: 4c 4e 45 54 2c 0a 09 53 45 52 56 49 43 45 5f 53 LNET,..SERVICE_S
09c0: 43 48 45 44 55 4c 45 20 20 20 20 20 20 20 20 20 CHEDULE
09d0: 3d 20 22 53 63 68 65 64 75 6c 65 22 2c 0a 09 53 = "Schedule",..S
09e0: 45 52 56 49 43 45 5f 4c 4d 32 30 5f 53 43 48 45 ERVICE_LM20_SCHE
09f0: 44 55 4c 45 20 20 20 20 3d 20 53 45 52 56 49 43 DULE = SERVIC
0a00: 45 5f 53 43 48 45 44 55 4c 45 2c 0a 09 53 45 52 E_SCHEDULE,..SER
0a10: 56 49 43 45 5f 4e 54 4c 4d 53 53 50 20 20 20 20 VICE_NTLMSSP
0a20: 20 20 20 20 20 20 3d 20 22 4e 74 4c 6d 53 73 70 = "NtLmSsp
0a30: 22 2c 0a 09 53 45 52 56 49 43 45 5f 44 48 43 50 ",..SERVICE_DHCP
0a40: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 22 = "
0a50: 44 48 43 50 22 2c 0a 09 53 45 52 56 49 43 45 5f DHCP",..SERVICE_
0a60: 4c 4d 32 30 5f 44 48 43 50 20 20 20 20 20 20 20 LM20_DHCP
0a70: 20 3d 20 53 45 52 56 49 43 45 5f 44 48 43 50 2c = SERVICE_DHCP,
0a80: 0a 09 53 45 52 56 49 43 45 5f 4e 57 53 41 50 20 ..SERVICE_NWSAP
0a90: 20 20 20 20 20 20 20 20 20 20 20 3d 20 22 4e 77 = "Nw
0aa0: 53 61 70 41 67 65 6e 74 22 2c 0a 09 53 45 52 56 SapAgent",..SERV
0ab0: 49 43 45 5f 4c 4d 32 30 5f 4e 57 53 41 50 20 20 ICE_LM20_NWSAP
0ac0: 20 20 20 20 20 3d 20 53 45 52 56 49 43 45 5f 4e = SERVICE_N
0ad0: 57 53 41 50 2c 0a 09 4e 57 53 41 50 5f 44 49 53 WSAP,..NWSAP_DIS
0ae0: 50 4c 41 59 5f 4e 41 4d 45 20 20 20 20 20 20 20 PLAY_NAME
0af0: 3d 20 22 4e 57 20 53 61 70 20 41 67 65 6e 74 22 = "NW Sap Agent"
0b00: 2c 0a 09 53 45 52 56 49 43 45 5f 4e 57 43 53 20 ,..SERVICE_NWCS
0b10: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 22 4e = "N
0b20: 57 43 57 6f 72 6b 73 74 61 74 69 6f 6e 22 3b 0a WCWorkstation";.