123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216 |
- /**
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is part of the mingw-w64 runtime package.
- * No warranty is given; refer to the file DISCLAIMER.PD within this package.
- */
- #ifndef NCB_INCLUDED
- #define NCB_INCLUDED
- #ifdef __cplusplus
- extern "C" {
- #endif
- #define NCBNAMSZ 16
- #define MAX_LANA 254
- typedef struct _NCB {
- UCHAR ncb_command;
- UCHAR ncb_retcode;
- UCHAR ncb_lsn;
- UCHAR ncb_num;
- PUCHAR ncb_buffer;
- WORD ncb_length;
- UCHAR ncb_callname[NCBNAMSZ];
- UCHAR ncb_name[NCBNAMSZ];
- UCHAR ncb_rto;
- UCHAR ncb_sto;
- void (CALLBACK *ncb_post)(struct _NCB *);
- UCHAR ncb_lana_num;
- UCHAR ncb_cmd_cplt;
- #ifdef _WIN64
- UCHAR ncb_reserve[18];
- #else
- UCHAR ncb_reserve[10];
- #endif
- HANDLE ncb_event;
- } NCB,*PNCB;
- typedef struct _ADAPTER_STATUS {
- UCHAR adapter_address[6];
- UCHAR rev_major;
- UCHAR reserved0;
- UCHAR adapter_type;
- UCHAR rev_minor;
- WORD duration;
- WORD frmr_recv;
- WORD frmr_xmit;
- WORD iframe_recv_err;
- WORD xmit_aborts;
- DWORD xmit_success;
- DWORD recv_success;
- WORD iframe_xmit_err;
- WORD recv_buff_unavail;
- WORD t1_timeouts;
- WORD ti_timeouts;
- DWORD reserved1;
- WORD free_ncbs;
- WORD max_cfg_ncbs;
- WORD max_ncbs;
- WORD xmit_buf_unavail;
- WORD max_dgram_size;
- WORD pending_sess;
- WORD max_cfg_sess;
- WORD max_sess;
- WORD max_sess_pkt_size;
- WORD name_count;
- } ADAPTER_STATUS,*PADAPTER_STATUS;
- typedef struct _NAME_BUFFER {
- UCHAR name[NCBNAMSZ];
- UCHAR name_num;
- UCHAR name_flags;
- } NAME_BUFFER,*PNAME_BUFFER;
- #define NAME_FLAGS_MASK 0x87
- #define GROUP_NAME 0x80
- #define UNIQUE_NAME 0x00
- #define REGISTERING 0x00
- #define REGISTERED 0x04
- #define DEREGISTERED 0x05
- #define DUPLICATE 0x06
- #define DUPLICATE_DEREG 0x07
- typedef struct _SESSION_HEADER {
- UCHAR sess_name;
- UCHAR num_sess;
- UCHAR rcv_dg_outstanding;
- UCHAR rcv_any_outstanding;
- } SESSION_HEADER,*PSESSION_HEADER;
- typedef struct _SESSION_BUFFER {
- UCHAR lsn;
- UCHAR state;
- UCHAR local_name[NCBNAMSZ];
- UCHAR remote_name[NCBNAMSZ];
- UCHAR rcvs_outstanding;
- UCHAR sends_outstanding;
- } SESSION_BUFFER,*PSESSION_BUFFER;
- #define LISTEN_OUTSTANDING 0x01
- #define CALL_PENDING 0x02
- #define SESSION_ESTABLISHED 0x03
- #define HANGUP_PENDING 0x04
- #define HANGUP_COMPLETE 0x05
- #define SESSION_ABORTED 0x06
- typedef struct _LANA_ENUM {
- UCHAR length;
- UCHAR lana[MAX_LANA+1];
- } LANA_ENUM,*PLANA_ENUM;
- typedef struct _FIND_NAME_HEADER {
- WORD node_count;
- UCHAR reserved;
- UCHAR unique_group;
- } FIND_NAME_HEADER,*PFIND_NAME_HEADER;
- typedef struct _FIND_NAME_BUFFER {
- UCHAR length;
- UCHAR access_control;
- UCHAR frame_control;
- UCHAR destination_addr[6];
- UCHAR source_addr[6];
- UCHAR routing_info[18];
- } FIND_NAME_BUFFER,*PFIND_NAME_BUFFER;
- typedef struct _ACTION_HEADER {
- ULONG transport_id;
- USHORT action_code;
- USHORT reserved;
- } ACTION_HEADER,*PACTION_HEADER;
- #define ALL_TRANSPORTS "M\0\0\0"
- #define MS_NBF "MNBF"
- #define NCBCALL 0x10
- #define NCBLISTEN 0x11
- #define NCBHANGUP 0x12
- #define NCBSEND 0x14
- #define NCBRECV 0x15
- #define NCBRECVANY 0x16
- #define NCBCHAINSEND 0x17
- #define NCBDGSEND 0x20
- #define NCBDGRECV 0x21
- #define NCBDGSENDBC 0x22
- #define NCBDGRECVBC 0x23
- #define NCBADDNAME 0x30
- #define NCBDELNAME 0x31
- #define NCBRESET 0x32
- #define NCBASTAT 0x33
- #define NCBSSTAT 0x34
- #define NCBCANCEL 0x35
- #define NCBADDGRNAME 0x36
- #define NCBENUM 0x37
- #define NCBUNLINK 0x70
- #define NCBSENDNA 0x71
- #define NCBCHAINSENDNA 0x72
- #define NCBLANSTALERT 0x73
- #define NCBACTION 0x77
- #define NCBFINDNAME 0x78
- #define NCBTRACE 0x79
- #define ASYNCH 0x80
- #define NRC_GOODRET 0x00
- #define NRC_BUFLEN 0x01
- #define NRC_ILLCMD 0x03
- #define NRC_CMDTMO 0x05
- #define NRC_INCOMP 0x06
- #define NRC_BADDR 0x07
- #define NRC_SNUMOUT 0x08
- #define NRC_NORES 0x09
- #define NRC_SCLOSED 0x0a
- #define NRC_CMDCAN 0x0b
- #define NRC_DUPNAME 0x0d
- #define NRC_NAMTFUL 0x0e
- #define NRC_ACTSES 0x0f
- #define NRC_LOCTFUL 0x11
- #define NRC_REMTFUL 0x12
- #define NRC_ILLNN 0x13
- #define NRC_NOCALL 0x14
- #define NRC_NOWILD 0x15
- #define NRC_INUSE 0x16
- #define NRC_NAMERR 0x17
- #define NRC_SABORT 0x18
- #define NRC_NAMCONF 0x19
- #define NRC_IFBUSY 0x21
- #define NRC_TOOMANY 0x22
- #define NRC_BRIDGE 0x23
- #define NRC_CANOCCR 0x24
- #define NRC_CANCEL 0x26
- #define NRC_DUPENV 0x30
- #define NRC_ENVNOTDEF 0x34
- #define NRC_OSRESNOTAV 0x35
- #define NRC_MAXAPPS 0x36
- #define NRC_NOSAPS 0x37
- #define NRC_NORESOURCES 0x38
- #define NRC_INVADDRESS 0x39
- #define NRC_INVDDID 0x3B
- #define NRC_LOCKFAIL 0x3C
- #define NRC_OPENERR 0x3f
- #define NRC_SYSTEM 0x40
- #define NRC_PENDING 0xff
- UCHAR WINAPI Netbios(PNCB pncb);
- #define NCB_POST void CALLBACK
- #ifdef __cplusplus
- }
- #endif
- #endif
|