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 20 20 6e 62 33 30 nb30
0070: 2e 64 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .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 62 79 20 53 74 65 77 61 by Stewa
01e0: 72 74 20 47 6f 72 64 6f 6e 20 20 20 20 20 20 20 rt Gordon
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 20 20
0220: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0230: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0a *.
0250: 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 *
0260: 20 20 20 20 20 20 20 20 50 6c 61 63 65 64 20 69 Placed i
0270: 6e 74 6f 20 70 75 62 6c 69 63 20 64 6f 6d 61 69 nto public domai
0280: 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n
0290: 20 20 20 20 20 20 20 20 2a 0a 5c 2a 2a 2a 2a 2a *.\*****
02a0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
02b0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
02c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
02d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
02e0: 2a 2a 2f 0a 6d 6f 64 75 6c 65 20 77 69 6e 33 32 **/.module win32
02f0: 2e 6e 62 33 30 3b 0a 0a 70 72 69 76 61 74 65 20 .nb30;..private
0300: 69 6d 70 6f 72 74 20 77 69 6e 33 32 2e 77 69 6e import win32.win
0310: 64 65 66 3b 0a 0a 63 6f 6e 73 74 20 73 69 7a 65 def;..const size
0320: 5f 74 0a 09 4e 43 42 4e 41 4d 53 5a 20 3d 20 20 _t..NCBNAMSZ =
0330: 31 36 2c 0a 09 4d 41 58 5f 4c 41 4e 41 20 3d 20 16,..MAX_LANA =
0340: 32 35 34 3b 0a 0a 2f 2f 20 46 49 58 4d 45 3a 20 254;..// FIXME:
0350: 61 72 65 20 74 68 65 73 65 20 72 65 61 6c 6c 79 are these really
0360: 20 74 77 6f 20 73 65 74 73 20 6f 66 20 63 6f 6e two sets of con
0370: 73 74 61 6e 74 73 3f 0a 65 6e 75 6d 20 3a 20 55 stants?.enum : U
0380: 43 48 41 52 20 7b 0a 09 52 45 47 49 53 54 45 52 CHAR {..REGISTER
0390: 49 4e 47 20 20 20 20 20 3d 20 30 2c 0a 09 52 45 ING = 0,..RE
03a0: 47 49 53 54 45 52 45 44 20 20 20 20 20 20 3d 20 GISTERED =
03b0: 34 2c 0a 09 44 45 52 45 47 49 53 54 45 52 45 44 4,..DEREGISTERED
03c0: 2c 0a 09 44 55 50 4c 49 43 41 54 45 2c 0a 09 44 ,..DUPLICATE,..D
03d0: 55 50 4c 49 43 41 54 45 5f 44 45 52 45 47 2c 20 UPLICATE_DEREG,
03e0: 2f 2f 20 3d 20 37 0a 09 55 4e 49 51 55 45 5f 4e // = 7..UNIQUE_N
03f0: 41 4d 45 20 20 20 20 20 3d 20 30 2c 0a 09 47 52 AME = 0,..GR
0400: 4f 55 50 5f 4e 41 4d 45 20 20 20 20 20 20 3d 20 OUP_NAME =
0410: 30 78 38 30 2c 0a 09 4e 41 4d 45 5f 46 4c 41 47 0x80,..NAME_FLAG
0420: 53 5f 4d 41 53 4b 20 3d 20 30 78 38 37 0a 7d 0a S_MASK = 0x87.}.
0430: 0a 65 6e 75 6d 20 3a 20 55 43 48 41 52 20 7b 0a .enum : UCHAR {.
0440: 09 4c 49 53 54 45 4e 5f 4f 55 54 53 54 41 4e 44 .LISTEN_OUTSTAND
0450: 49 4e 47 20 3d 20 31 2c 0a 09 43 41 4c 4c 5f 50 ING = 1,..CALL_P
0460: 45 4e 44 49 4e 47 2c 0a 09 53 45 53 53 49 4f 4e ENDING,..SESSION
0470: 5f 45 53 54 41 42 4c 49 53 48 45 44 2c 0a 09 48 _ESTABLISHED,..H
0480: 41 4e 47 55 50 5f 50 45 4e 44 49 4e 47 2c 0a 09 ANGUP_PENDING,..
0490: 48 41 4e 47 55 50 5f 43 4f 4d 50 4c 45 54 45 2c HANGUP_COMPLETE,
04a0: 0a 09 53 45 53 53 49 4f 4e 5f 41 42 4f 52 54 45 ..SESSION_ABORTE
04b0: 44 20 2f 2f 20 3d 20 36 0a 7d 0a 0a 63 6f 6e 73 D // = 6.}..cons
04c0: 74 20 63 68 61 72 5b 34 5d 0a 09 41 4c 4c 5f 54 t char[4]..ALL_T
04d0: 52 41 4e 53 50 4f 52 54 53 20 3d 20 22 4d 5c 30 RANSPORTS = "M\0
04e0: 5c 30 5c 30 22 2c 0a 09 4d 53 5f 4e 42 46 20 20 \0\0",..MS_NBF
04f0: 20 20 20 20 20 20 20 3d 20 22 4d 4e 42 46 22 3b = "MNBF";
0500: 0a 0a 65 6e 75 6d 20 3a 20 55 43 48 41 52 20 7b ..enum : UCHAR {
0510: 0a 09 4e 43 42 43 41 4c 4c 20 20 20 20 20 20 20 ..NCBCALL
0520: 20 3d 20 30 78 31 30 2c 0a 09 4e 43 42 4c 49 53 = 0x10,..NCBLIS
0530: 54 45 4e 2c 0a 09 4e 43 42 48 41 4e 47 55 50 2c TEN,..NCBHANGUP,
0540: 20 20 2f 2f 20 3d 20 30 78 31 32 0a 09 4e 43 42 // = 0x12..NCB
0550: 53 45 4e 44 20 20 20 20 20 20 20 20 3d 20 30 78 SEND = 0x
0560: 31 34 2c 0a 09 4e 43 42 52 45 43 56 2c 0a 09 4e 14,..NCBRECV,..N
0570: 43 42 52 45 43 56 41 4e 59 2c 0a 09 4e 43 42 43 CBRECVANY,..NCBC
0580: 48 41 49 4e 53 45 4e 44 2c 20 2f 2f 20 3d 20 30 HAINSEND, // = 0
0590: 78 31 37 0a 09 4e 43 42 44 47 53 45 4e 44 20 20 x17..NCBDGSEND
05a0: 20 20 20 20 3d 20 30 78 32 30 2c 0a 09 4e 43 42 = 0x20,..NCB
05b0: 44 47 52 45 43 56 2c 0a 09 4e 43 42 44 47 53 45 DGRECV,..NCBDGSE
05c0: 4e 44 42 43 2c 0a 09 4e 43 42 44 47 52 45 43 56 NDBC,..NCBDGRECV
05d0: 42 43 2c 20 2f 2f 20 3d 20 30 78 32 33 2c 0a 09 BC, // = 0x23,..
05e0: 4e 43 42 41 44 44 4e 41 4d 45 20 20 20 20 20 3d NCBADDNAME =
05f0: 20 30 78 33 30 2c 0a 09 4e 43 42 44 45 4c 4e 41 0x30,..NCBDELNA
0600: 4d 45 2c 0a 09 4e 43 42 52 45 53 45 54 2c 0a 09 ME,..NCBRESET,..
0610: 4e 43 42 41 53 54 41 54 2c 0a 09 4e 43 42 53 53 NCBASTAT,..NCBSS
0620: 54 41 54 2c 0a 09 4e 43 42 43 41 4e 43 45 4c 2c TAT,..NCBCANCEL,
0630: 0a 09 4e 43 42 41 44 44 47 52 4e 41 4d 45 2c 0a ..NCBADDGRNAME,.
0640: 09 4e 43 42 45 4e 55 4d 2c 20 20 20 20 2f 2f 20 .NCBENUM, //
0650: 3d 20 30 78 33 37 0a 09 4e 43 42 55 4e 4c 49 4e = 0x37..NCBUNLIN
0660: 4b 20 20 20 20 20 20 3d 20 30 78 37 30 2c 0a 09 K = 0x70,..
0670: 4e 43 42 53 45 4e 44 4e 41 2c 0a 09 4e 43 42 43 NCBSENDNA,..NCBC
0680: 48 41 49 4e 53 45 4e 44 4e 41 2c 0a 09 4e 43 42 HAINSENDNA,..NCB
0690: 4c 41 4e 53 54 41 4c 45 52 54 2c 20 2f 2f 20 3d LANSTALERT, // =
06a0: 20 30 78 37 33 0a 09 4e 43 42 41 43 54 49 4f 4e 0x73..NCBACTION
06b0: 20 20 20 20 20 20 3d 20 30 78 37 37 2c 0a 09 4e = 0x77,..N
06c0: 43 42 46 49 4e 44 4e 41 4d 45 2c 0a 09 4e 43 42 CBFINDNAME,..NCB
06d0: 54 52 41 43 45 20 20 20 20 2f 2f 20 3d 20 30 78 TRACE // = 0x
06e0: 37 39 0a 7d 0a 0a 63 6f 6e 73 74 20 55 43 48 41 79.}..const UCHA
06f0: 52 20 41 53 59 4e 43 48 20 3d 20 30 78 38 30 3b R ASYNCH = 0x80;
0700: 0a 0a 65 6e 75 6d 20 3a 20 55 43 48 41 52 20 7b ..enum : UCHAR {
0710: 0a 09 4e 52 43 5f 47 4f 4f 44 52 45 54 20 20 20 ..NRC_GOODRET
0720: 20 20 3d 20 30 78 30 30 2c 0a 09 4e 52 43 5f 42 = 0x00,..NRC_B
0730: 55 46 4c 45 4e 20 20 20 20 20 20 3d 20 30 78 30 UFLEN = 0x0
0740: 31 2c 0a 09 4e 52 43 5f 49 4c 4c 43 4d 44 20 20 1,..NRC_ILLCMD
0750: 20 20 20 20 3d 20 30 78 30 33 2c 0a 09 4e 52 43 = 0x03,..NRC
0760: 5f 43 4d 44 54 4d 4f 20 20 20 20 20 20 3d 20 30 _CMDTMO = 0
0770: 78 30 35 2c 0a 09 4e 52 43 5f 49 4e 43 4f 4d 50 x05,..NRC_INCOMP
0780: 2c 0a 09 4e 52 43 5f 42 41 44 44 52 2c 0a 09 4e ,..NRC_BADDR,..N
0790: 52 43 5f 53 4e 55 4d 4f 55 54 2c 0a 09 4e 52 43 RC_SNUMOUT,..NRC
07a0: 5f 4e 4f 52 45 53 2c 0a 09 4e 52 43 5f 53 43 4c _NORES,..NRC_SCL
07b0: 4f 53 45 44 2c 0a 09 4e 52 43 5f 43 4d 44 43 41 OSED,..NRC_CMDCA
07c0: 4e 2c 20 20 2f 2f 20 3d 20 30 78 30 62 0a 09 4e N, // = 0x0b..N
07d0: 52 43 5f 44 55 50 4e 41 4d 45 20 20 20 20 20 3d RC_DUPNAME =
07e0: 20 30 78 30 64 2c 0a 09 4e 52 43 5f 4e 41 4d 54 0x0d,..NRC_NAMT
07f0: 46 55 4c 2c 0a 09 4e 52 43 5f 41 43 54 53 45 53 FUL,..NRC_ACTSES
0800: 2c 20 20 2f 2f 20 3d 20 30 78 30 66 2c 0a 09 4e , // = 0x0f,..N
0810: 52 43 5f 4c 4f 43 54 46 55 4c 20 20 20 20 20 3d RC_LOCTFUL =
0820: 20 30 78 31 31 2c 0a 09 4e 52 43 5f 52 45 4d 54 0x11,..NRC_REMT
0830: 46 55 4c 2c 0a 09 4e 52 43 5f 49 4c 4c 4e 4e 2c FUL,..NRC_ILLNN,
0840: 0a 09 4e 52 43 5f 4e 4f 43 41 4c 4c 2c 0a 09 4e ..NRC_NOCALL,..N
0850: 52 43 5f 4e 4f 57 49 4c 44 2c 0a 09 4e 52 43 5f RC_NOWILD,..NRC_
0860: 49 4e 55 53 45 2c 0a 09 4e 52 43 5f 4e 41 4d 45 INUSE,..NRC_NAME
0870: 52 52 2c 0a 09 4e 52 43 5f 53 41 42 4f 52 54 2c RR,..NRC_SABORT,
0880: 0a 09 4e 52 43 5f 4e 41 4d 43 4f 4e 46 2c 20 2f ..NRC_NAMCONF, /
0890: 2f 20 3d 20 30 78 31 39 0a 09 4e 52 43 5f 49 46 / = 0x19..NRC_IF
08a0: 42 55 53 59 20 20 20 20 20 20 3d 20 30 78 32 31 BUSY = 0x21
08b0: 2c 0a 09 4e 52 43 5f 54 4f 4f 4d 41 4e 59 2c 0a ,..NRC_TOOMANY,.
08c0: 09 4e 52 43 5f 42 52 49 44 47 45 2c 0a 09 4e 52 .NRC_BRIDGE,..NR
08d0: 43 5f 43 41 4e 4f 43 43 52 2c 20 2f 2f 20 3d 20 C_CANOCCR, // =
08e0: 30 78 32 34 0a 09 4e 52 43 5f 43 41 4e 43 45 4c 0x24..NRC_CANCEL
08f0: 20 20 20 20 20 20 3d 20 30 78 32 36 2c 0a 09 4e = 0x26,..N
0900: 52 43 5f 44 55 50 45 4e 56 20 20 20 20 20 20 3d RC_DUPENV =
0910: 20 30 78 33 30 2c 0a 09 4e 52 43 5f 45 4e 56 4e 0x30,..NRC_ENVN
0920: 4f 54 44 45 46 20 20 20 3d 20 30 78 33 34 2c 0a OTDEF = 0x34,.
0930: 09 4e 52 43 5f 4f 53 52 45 53 4e 4f 54 41 56 2c .NRC_OSRESNOTAV,
0940: 0a 09 4e 52 43 5f 4d 41 58 41 50 50 53 2c 0a 09 ..NRC_MAXAPPS,..
0950: 4e 52 43 5f 4e 4f 53 41 50 53 2c 0a 09 4e 52 43 NRC_NOSAPS,..NRC
0960: 5f 4e 4f 52 45 53 4f 55 52 43 45 53 2c 0a 09 4e _NORESOURCES,..N
0970: 52 43 5f 49 4e 56 41 44 44 52 45 53 53 2c 20 2f RC_INVADDRESS, /
0980: 2f 20 3d 20 30 78 33 39 0a 09 4e 52 43 5f 49 4e / = 0x39..NRC_IN
0990: 56 44 44 49 44 20 20 20 20 20 3d 20 30 78 33 42 VDDID = 0x3B
09a0: 2c 0a 09 4e 52 43 5f 4c 4f 43 4b 46 41 49 4c 20 ,..NRC_LOCKFAIL
09b0: 20 20 20 3d 20 30 78 33 43 2c 0a 09 4e 52 43 5f = 0x3C,..NRC_
09c0: 4f 50 45 4e 45 52 52 20 20 20 20 20 3d 20 30 78 OPENERR = 0x
09d0: 33 66 2c 0a 09 4e 52 43 5f 53 59 53 54 45 4d 20 3f,..NRC_SYSTEM
09e0: 20 20 20 20 20 3d 20 30 78 34 30 2c 0a 09 4e 52 = 0x40,..NR
09f0: 43 5f 50 45 4e 44 49 4e 47 20 20 20 20 20 3d 20 C_PENDING =
0a00: 30 78 66 66 0a 7d 0a 0a 73 74 72 75 63 74 20 41 0xff.}..struct A
0a10: 43 54 49 4f 4e 5f 48 45 41 44 45 52 20 7b 0a 09 CTION_HEADER {..
0a20: 75 6e 69 6f 6e 20 7b 0a 09 09 2f 2a 09 74 72 61 union {.../*.tra
0a30: 6e 73 70 6f 72 74 5f 69 64 20 69 73 20 64 65 66 nsport_id is def
0a40: 69 6e 65 64 20 61 73 20 61 20 55 4c 4f 4e 47 2c ined as a ULONG,
0a50: 20 62 75 74 20 62 6f 74 68 20 74 68 65 20 61 62 but both the ab
0a60: 6f 76 65 20 63 6f 6e 73 74 61 6e 74 73 0a 09 09 ove constants...
0a70: 20 2a 09 61 6e 64 20 74 68 65 20 64 6f 63 75 6d *.and the docum
0a80: 65 6e 74 65 64 20 64 65 73 63 72 69 70 74 69 6f ented descriptio
0a90: 6e 20 73 75 67 67 65 73 74 20 69 74 20 73 68 6f n suggest it sho
0aa0: 75 6c 64 20 62 65 20 61 20 63 68 61 72 5b 34 5d uld be a char[4]
0ab0: 0a 09 09 20 2a 2f 0a 09 09 55 4c 4f 4e 47 20 20 ... */...ULONG
0ac0: 20 74 72 61 6e 73 70 6f 72 74 5f 69 64 3b 0a 09 transport_id;..
0ad0: 09 63 68 61 72 5b 34 5d 20 63 5f 74 72 61 6e 73 .char[4] c_trans
0ae0: 70 6f 72 74 5f 69 64 3b 0a 09 7d 0a 09 55 53 48 port_id;..}..USH
0af0: 4f 52 54 20 61 63 74 69 6f 6e 5f 63 6f 64 65 3b ORT action_code;
0b00: 0a 09 55 53 48 4f 52 54 20 72 65 73 65 72 76 65 ..USHORT reserve
0b10: 64 3b 0a 7d 0a 61 6c 69 61 73 20 41 43 54 49 4f d;.}.alias ACTIO
0b20: 4e 5f 48 45 41 44 45 52 2a 20 50 41 43 54 49 4f N_HEADER* PACTIO
0b30: 4e 5f 48 45 41 44 45 52 3b 0a 0a 73 74 72 75 63 N_HEADER;..struc
0b40: 74 20 41 44 41 50 54 45 52 5f 53 54 41 54 55 53 t ADAPTER_STATUS
0b50: 20 7b 0a 09 55 43 48 41 52 5b 36 5d 20 61 64 61 {..UCHAR[6] ada
0b60: 70 74 65 72 5f 61 64 64 72 65 73 73 3b 0a 09 55 pter_address;..U
0b70: 43 48 41 52 20 20 20 20 72 65 76 5f 6d 61 6a 6f CHAR rev_majo
0b80: 72 3b 0a 09 55 43 48 41 52 20 20 20 20 72 65 73 r;..UCHAR res
0b90: 65 72 76 65 64 30 3b 0a 09 55 43 48 41 52 20 20 erved0;..UCHAR
0ba0: 20 20 61 64 61 70 74 65 72 5f 74 79 70 65 3b 0a adapter_type;.
0bb0: 09 55 43 48 41 52 20 20 20 20 72 65 76 5f 6d 69 .UCHAR rev_mi
0bc0: 6e 6f 72 3b 0a 09 57 4f 52 44 20 20 20 20 20 64 nor;..WORD d
0bd0: 75 72 61 74 69 6f 6e 3b 0a 09 57 4f 52 44 20 20 uration;..WORD
0be0: 20 20 20 66 72 6d 72 5f 72 65 63 76 3b 0a 09 57 frmr_recv;..W
0bf0: 4f 52 44 20 20 20 20 20 66 72 6d 72 5f 78 6d 69 ORD frmr_xmi
0c00: 74 3b 0a 09 57 4f 52 44 20 20 20 20 20 69 66 72 t;..WORD ifr
0c10: 61 6d 65 5f 72 65 63 76 5f 65 72 72 3b 0a 09 57 ame_recv_err;..W
0c20: 4f 52 44 20 20 20 20 20 78 6d 69 74 5f 61 62 6f ORD xmit_abo
0c30: 72 74 73 3b 0a 09 44 57 4f 52 44 20 20 20 20 78 rts;..DWORD x
0c40: 6d 69 74 5f 73 75 63 63 65 73 73 3b 0a 09 44 57 mit_success;..DW
0c50: 4f 52 44 20 20 20 20 72 65 63 76 5f 73 75 63 63 ORD recv_succ
0c60: 65 73 73 3b 0a 09 57 4f 52 44 20 20 20 20 20 69 ess;..WORD i
0c70: 66 72 61 6d 65 5f 78 6d 69 74 5f 65 72 72 3b 0a frame_xmit_err;.
0c80: 09 57 4f 52 44 20 20 20 20 20 72 65 63 76 5f 62 .WORD recv_b
0c90: 75 66 66 5f 75 6e 61 76 61 69 6c 3b 0a 09 57 4f uff_unavail;..WO
0ca0: 52 44 20 20 20 20 20 74 31 5f 74 69 6d 65 6f 75 RD t1_timeou
0cb0: 74 73 3b 0a 09 57 4f 52 44 20 20 20 20 20 74 69 ts;..WORD ti
0cc0: 5f 74 69 6d 65 6f 75 74 73 3b 0a 09 44 57 4f 52 _timeouts;..DWOR
0cd0: 44 20 20 20 20 72 65 73 65 72 76 65 64 31 3b 0a D reserved1;.
0ce0: 09 57 4f 52 44 20 20 20 20 20 66 72 65 65 5f 6e .WORD free_n
0cf0: 63 62 73 3b 0a 09 57 4f 52 44 20 20 20 20 20 6d cbs;..WORD m
0d00: 61 78 5f 63 66 67 5f 6e 63 62 73 3b 0a 09 57 4f ax_cfg_ncbs;..WO
0d10: 52 44 20 20 20 20 20 6d 61 78 5f 6e 63 62 73 3b RD max_ncbs;
0d20: 0a 09 57 4f 52 44 20 20 20 20 20 78 6d 69 74 5f ..WORD xmit_
0d30: 62 75 66 5f 75 6e 61 76 61 69 6c 3b 0a 09 57 4f buf_unavail;..WO
0d40: 52 44 20 20 20 20 20 6d 61 78 5f 64 67 72 61 6d RD max_dgram
0d50: 5f 73 69 7a 65 3b 0a 09 57 4f 52 44 20 20 20 20 _size;..WORD
0d60: 20 70 65 6e 64 69 6e 67 5f 73 65 73 73 3b 0a 09 pending_sess;..
0d70: 57 4f 52 44 20 20 20 20 20 6d 61 78 5f 63 66 67 WORD max_cfg
0d80: 5f 73 65 73 73 3b 0a 09 57 4f 52 44 20 20 20 20 _sess;..WORD
0d90: 20 6d 61 78 5f 73 65 73 73 3b 0a 09 57 4f 52 44 max_sess;..WORD
0da0: 20 20 20 20 20 6d 61 78 5f 73 65 73 73 5f 70 6b max_sess_pk
0db0: 74 5f 73 69 7a 65 3b 0a 09 57 4f 52 44 20 20 20 t_size;..WORD
0dc0: 20 20 6e 61 6d 65 5f 63 6f 75 6e 74 3b 0a 7d 0a name_count;.}.
0dd0: 61 6c 69 61 73 20 41 44 41 50 54 45 52 5f 53 54 alias ADAPTER_ST
0de0: 41 54 55 53 2a 20 50 41 44 41 50 54 45 52 5f 53 ATUS* PADAPTER_S
0df0: 54 41 54 55 53 3b 0a 0a 73 74 72 75 63 74 20 46 TATUS;..struct F
0e00: 49 4e 44 5f 4e 41 4d 45 5f 42 55 46 46 45 52 20 IND_NAME_BUFFER
0e10: 7b 0a 09 2f 2a 09 46 72 6f 6d 20 57 69 6e 33 32 {../*.From Win32
0e20: 20 41 50 49 20 64 6f 63 73 0a 09 20 2a 0a 09 20 API docs.. *..
0e30: 2a 09 6c 65 6e 67 74 68 0a 09 20 2a 09 09 53 70 *.length.. *..Sp
0e40: 65 63 69 66 69 65 73 20 74 68 65 20 6c 65 6e 67 ecifies the leng
0e50: 74 68 2c 20 69 6e 20 62 79 74 65 73 2c 20 6f 66 th, in bytes, of
0e60: 20 74 68 65 20 46 49 4e 44 5f 4e 41 4d 45 5f 42 the FIND_NAME_B
0e70: 55 46 46 45 52 0a 09 20 2a 09 09 73 74 72 75 63 UFFER.. *..struc
0e80: 74 75 72 65 2e 20 41 6c 74 68 6f 75 67 68 20 74 ture. Although t
0e90: 68 69 73 20 73 74 72 75 63 74 75 72 65 20 61 6c his structure al
0ea0: 77 61 79 73 20 6f 63 63 75 70 69 65 73 20 33 33 ways occupies 33
0eb0: 20 62 79 74 65 73 2c 0a 09 20 2a 09 09 6e 6f 74 bytes,.. *..not
0ec0: 20 61 6c 6c 20 6f 66 20 74 68 65 20 73 74 72 75 all of the stru
0ed0: 63 74 75 72 65 20 69 73 20 6e 65 63 65 73 73 61 cture is necessa
0ee0: 72 69 6c 79 20 76 61 6c 69 64 2e 0a 09 20 2a 0a rily valid... *.
0ef0: 09 20 2a 09 4f 6e 20 74 68 69 73 20 62 61 73 69 . *.On this basi
0f00: 73 2c 20 73 68 6f 75 6c 64 20 6c 65 6e 67 74 68 s, should length
0f10: 20 62 65 20 69 6e 69 74 69 61 6c 69 73 65 64 3f be initialised?
0f20: 0a 09 20 2a 2f 0a 09 55 43 48 41 52 20 20 20 20 .. */..UCHAR
0f30: 20 6c 65 6e 67 74 68 3b 0a 09 55 43 48 41 52 20 length;..UCHAR
0f40: 20 20 20 20 61 63 63 65 73 73 5f 63 6f 6e 74 72 access_contr
0f50: 6f 6c 3b 0a 09 55 43 48 41 52 20 20 20 20 20 66 ol;..UCHAR f
0f60: 72 61 6d 65 5f 63 6f 6e 74 72 6f 6c 3b 0a 09 55 rame_control;..U
0f70: 43 48 41 52 5b 36 5d 20 20 64 65 73 74 69 6e 61 CHAR[6] destina
0f80: 74 69 6f 6e 5f 61 64 64 72 3b 0a 09 55 43 48 41 tion_addr;..UCHA
0f90: 52 5b 36 5d 20 20 73 6f 75 72 63 65 5f 61 64 64 R[6] source_add
0fa0: 72 3b 0a 09 55 43 48 41 52 5b 31 38 5d 20 72 6f r;..UCHAR[18] ro
0fb0: 75 74 69 6e 67 5f 69 6e 66 6f 3b 0a 7d 0a 61 6c uting_info;.}.al
0fc0: 69 61 73 20 46 49 4e 44 5f 4e 41 4d 45 5f 42 55 ias FIND_NAME_BU
0fd0: 46 46 45 52 2a 20 50 46 49 4e 44 5f 4e 41 4d 45 FFER* PFIND_NAME
0fe0: 5f 42 55 46 46 45 52 3b 0a 0a 73 74 72 75 63 74 _BUFFER;..struct
0ff0: 20 46 49 4e 44 5f 4e 41 4d 45 5f 48 45 41 44 45 FIND_NAME_HEADE
1000: 52 20 7b 0a 09 57 4f 52 44 20 20 6e 6f 64 65 5f R {..WORD node_
1010: 63 6f 75 6e 74 3b 0a 09 55 43 48 41 52 20 72 65 count;..UCHAR re
1020: 73 65 72 76 65 64 3b 0a 09 55 43 48 41 52 20 75 served;..UCHAR u
1030: 6e 69 71 75 65 5f 67 72 6f 75 70 3b 0a 7d 0a 61 nique_group;.}.a
1040: 6c 69 61 73 20 46 49 4e 44 5f 4e 41 4d 45 5f 48 lias FIND_NAME_H
1050: 45 41 44 45 52 2a 20 50 46 49 4e 44 5f 4e 41 4d EADER* PFIND_NAM
1060: 45 5f 48 45 41 44 45 52 3b 0a 0a 73 74 72 75 63 E_HEADER;..struc
1070: 74 20 4c 41 4e 41 5f 45 4e 55 4d 20 7b 0a 09 55 t LANA_ENUM {..U
1080: 43 48 41 52 20 20 20 20 20 20 20 20 20 20 20 20 CHAR
1090: 20 6c 65 6e 67 74 68 3b 0a 09 55 43 48 41 52 5b length;..UCHAR[
10a0: 4d 41 58 5f 4c 41 4e 41 2b 31 5d 20 6c 61 6e 61 MAX_LANA+1] lana
10b0: 3b 0a 7d 0a 61 6c 69 61 73 20 4c 41 4e 41 5f 45 ;.}.alias LANA_E
10c0: 4e 55 4d 2a 20 50 4c 41 4e 41 5f 45 4e 55 4d 3b NUM* PLANA_ENUM;
10d0: 0a 0a 73 74 72 75 63 74 20 4e 41 4d 45 5f 42 55 ..struct NAME_BU
10e0: 46 46 45 52 20 7b 0a 09 55 43 48 41 52 5b 4e 43 FFER {..UCHAR[NC
10f0: 42 4e 41 4d 53 5a 5d 20 6e 61 6d 65 3b 0a 09 55 BNAMSZ] name;..U
1100: 43 48 41 52 20 20 20 20 20 20 20 20 20 20 20 6e CHAR n
1110: 61 6d 65 5f 6e 75 6d 3b 0a 09 55 43 48 41 52 20 ame_num;..UCHAR
1120: 20 20 20 20 20 20 20 20 20 20 6e 61 6d 65 5f 66 name_f
1130: 6c 61 67 73 3b 0a 7d 0a 61 6c 69 61 73 20 4e 41 lags;.}.alias NA
1140: 4d 45 5f 42 55 46 46 45 52 2a 20 50 4e 41 4d 45 ME_BUFFER* PNAME
1150: 5f 42 55 46 46 45 52 3b 0a 0a 73 74 72 75 63 74 _BUFFER;..struct
1160: 20 4e 43 42 20 7b 0a 09 55 43 48 41 52 20 20 20 NCB {..UCHAR
1170: 20 20 20 20 20 20 20 20 6e 63 62 5f 63 6f 6d 6d ncb_comm
1180: 61 6e 64 3b 0a 09 55 43 48 41 52 20 20 20 20 20 and;..UCHAR
1190: 20 20 20 20 20 20 6e 63 62 5f 72 65 74 63 6f 64 ncb_retcod
11a0: 65 3b 0a 09 55 43 48 41 52 20 20 20 20 20 20 20 e;..UCHAR
11b0: 20 20 20 20 6e 63 62 5f 6c 73 6e 3b 0a 09 55 43 ncb_lsn;..UC
11c0: 48 41 52 20 20 20 20 20 20 20 20 20 20 20 6e 63 HAR nc
11d0: 62 5f 6e 75 6d 3b 0a 09 50 55 43 48 41 52 20 20 b_num;..PUCHAR
11e0: 20 20 20 20 20 20 20 20 6e 63 62 5f 62 75 66 66 ncb_buff
11f0: 65 72 3b 0a 09 57 4f 52 44 20 20 20 20 20 20 20 er;..WORD
1200: 20 20 20 20 20 6e 63 62 5f 6c 65 6e 67 74 68 3b ncb_length;
1210: 0a 09 55 43 48 41 52 5b 4e 43 42 4e 41 4d 53 5a ..UCHAR[NCBNAMSZ
1220: 5d 20 6e 63 62 5f 63 61 6c 6c 6e 61 6d 65 3b 0a ] ncb_callname;.
1230: 09 55 43 48 41 52 5b 4e 43 42 4e 41 4d 53 5a 5d .UCHAR[NCBNAMSZ]
1240: 20 6e 63 62 5f 6e 61 6d 65 3b 0a 09 55 43 48 41 ncb_name;..UCHA
1250: 52 20 20 20 20 20 20 20 20 20 20 20 6e 63 62 5f R ncb_
1260: 72 74 6f 3b 0a 09 55 43 48 41 52 20 20 20 20 20 rto;..UCHAR
1270: 20 20 20 20 20 20 6e 63 62 5f 73 74 6f 3b 0a 09 ncb_sto;..
1280: 65 78 74 65 72 6e 20 28 57 69 6e 64 6f 77 73 29 extern (Windows)
1290: 20 76 6f 69 64 20 66 75 6e 63 74 69 6f 6e 28 4e void function(N
12a0: 43 42 2a 29 20 6e 63 62 5f 70 6f 73 74 3b 0a 09 CB*) ncb_post;..
12b0: 55 43 48 41 52 20 20 20 20 20 20 20 20 20 20 20 UCHAR
12c0: 6e 63 62 5f 6c 61 6e 61 5f 6e 75 6d 3b 0a 09 55 ncb_lana_num;..U
12d0: 43 48 41 52 20 20 20 20 20 20 20 20 20 20 20 6e CHAR n
12e0: 63 62 5f 63 6d 64 5f 63 70 6c 74 3b 0a 09 55 43 cb_cmd_cplt;..UC
12f0: 48 41 52 20 20 20 20 20 20 20 20 20 20 20 6e 63 HAR nc
1300: 62 5f 72 65 73 65 72 76 65 5b 31 30 5d 3b 0a 09 b_reserve[10];..
1310: 48 41 4e 44 4c 45 20 20 20 20 20 20 20 20 20 20 HANDLE
1320: 6e 63 62 5f 65 76 65 6e 74 3b 0a 7d 0a 61 6c 69 ncb_event;.}.ali
1330: 61 73 20 4e 43 42 2a 20 50 4e 43 42 3b 0a 0a 73 as NCB* PNCB;..s
1340: 74 72 75 63 74 20 53 45 53 53 49 4f 4e 5f 42 55 truct SESSION_BU
1350: 46 46 45 52 20 7b 0a 09 55 43 48 41 52 20 20 20 FFER {..UCHAR
1360: 20 20 20 20 20 20 20 20 6c 73 6e 3b 0a 09 55 43 lsn;..UC
1370: 48 41 52 20 20 20 20 20 20 20 20 20 20 20 73 74 HAR st
1380: 61 74 65 3b 0a 09 55 43 48 41 52 5b 4e 43 42 4e ate;..UCHAR[NCBN
1390: 41 4d 53 5a 5d 20 6c 6f 63 61 6c 5f 6e 61 6d 65 AMSZ] local_name
13a0: 3b 0a 09 55 43 48 41 52 5b 4e 43 42 4e 41 4d 53 ;..UCHAR[NCBNAMS
13b0: 5a 5d 20 72 65 6d 6f 74 65 5f 6e 61 6d 65 3b 0a Z] remote_name;.
13c0: 09 55 43 48 41 52 20 20 20 20 20 20 20 20 20 20 .UCHAR
13d0: 20 72 63 76 73 5f 6f 75 74 73 74 61 6e 64 69 6e rcvs_outstandin
13e0: 67 3b 0a 09 55 43 48 41 52 20 20 20 20 20 20 20 g;..UCHAR
13f0: 20 20 20 20 73 65 6e 64 73 5f 6f 75 74 73 74 61 sends_outsta
1400: 6e 64 69 6e 67 3b 0a 7d 0a 61 6c 69 61 73 20 53 nding;.}.alias S
1410: 45 53 53 49 4f 4e 5f 42 55 46 46 45 52 2a 20 50 ESSION_BUFFER* P
1420: 53 45 53 53 49 4f 4e 5f 42 55 46 46 45 52 3b 0a SESSION_BUFFER;.
1430: 0a 73 74 72 75 63 74 20 53 45 53 53 49 4f 4e 5f .struct SESSION_
1440: 48 45 41 44 45 52 20 7b 0a 09 55 43 48 41 52 20 HEADER {..UCHAR
1450: 73 65 73 73 5f 6e 61 6d 65 3b 0a 09 55 43 48 41 sess_name;..UCHA
1460: 52 20 6e 75 6d 5f 73 65 73 73 3b 0a 09 55 43 48 R num_sess;..UCH
1470: 41 52 20 72 63 76 5f 64 67 5f 6f 75 74 73 74 61 AR rcv_dg_outsta
1480: 6e 64 69 6e 67 3b 0a 09 55 43 48 41 52 20 72 63 nding;..UCHAR rc
1490: 76 5f 61 6e 79 5f 6f 75 74 73 74 61 6e 64 69 6e v_any_outstandin
14a0: 67 3b 0a 7d 0a 61 6c 69 61 73 20 53 45 53 53 49 g;.}.alias SESSI
14b0: 4f 4e 5f 48 45 41 44 45 52 2a 20 50 53 45 53 53 ON_HEADER* PSESS
14c0: 49 4f 4e 5f 48 45 41 44 45 52 3b 0a 0a 65 78 74 ION_HEADER;..ext
14d0: 65 72 6e 20 28 57 69 6e 64 6f 77 73 29 20 55 43 ern (Windows) UC
14e0: 48 41 52 20 4e 65 74 62 69 6f 73 28 50 4e 43 42 HAR Netbios(PNCB
14f0: 29 3b 0a );.