Hex Artifact Content

Not logged in

Artifact 5d75fa8a12a29c69cfb8769c8c7b526116a6e5c7:


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                                         );.