246 lines
6.1 KiB
C
246 lines
6.1 KiB
C
|
/*
|
||
|
* nb30.mh Netbios function and associated types
|
||
|
*
|
||
|
* =========================================================================
|
||
|
*
|
||
|
* Open Watcom Project
|
||
|
*
|
||
|
* Copyright (c) 2004-2010 The Open Watcom Contributors. All Rights Reserved.
|
||
|
*
|
||
|
* This file is automatically generated. Do not edit directly.
|
||
|
*
|
||
|
* =========================================================================
|
||
|
*/
|
||
|
|
||
|
#ifndef NCB_INCLUDED
|
||
|
#define NCB_INCLUDED
|
||
|
|
||
|
#ifndef _ENABLE_AUTODEPEND
|
||
|
#pragma read_only_file;
|
||
|
#endif
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
/* Macro to define callback functions */
|
||
|
#define NCB_POST void CALLBACK
|
||
|
|
||
|
/* Sizes */
|
||
|
#define NCBNAMSZ 16
|
||
|
#define MAX_LANA 254
|
||
|
|
||
|
/* Name flags */
|
||
|
#define NAME_FLAGS_MASK 0x87
|
||
|
#define GROUP_NAME 0x80
|
||
|
#define REGISTERING 0x00
|
||
|
#define REGISTERED 0x04
|
||
|
#define DEREGISTERED 0x05
|
||
|
#define DUPLICATE 0x06
|
||
|
#define DUPLICATE_DEREG 0x07
|
||
|
|
||
|
/* Session states */
|
||
|
#define LISTEN_OUTSTANDING 0x01
|
||
|
#define CALL_PENDING 0x02
|
||
|
#define SESSION_ESTABLISHED 0x03
|
||
|
#define HANGUP_PENDING 0x04
|
||
|
#define HANGUP_COMPLETE 0x05
|
||
|
#define SESSION_ABORTED 0x06
|
||
|
|
||
|
/* Transport providers */
|
||
|
#define ALL_TRANSPORTS "M\0\0\0"
|
||
|
#define MS_NBF "MNBF"
|
||
|
|
||
|
/* Network control block commands */
|
||
|
#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
|
||
|
|
||
|
/* Network control block return codes */
|
||
|
#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
|
||
|
|
||
|
/* Network control block */
|
||
|
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;
|
||
|
UCHAR ncb_reserve[10];
|
||
|
HANDLE ncb_event;
|
||
|
} NCB;
|
||
|
typedef NCB *PNCB;
|
||
|
|
||
|
/* Network adapter status */
|
||
|
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;
|
||
|
typedef ADAPTER_STATUS *PADAPTER_STATUS;
|
||
|
|
||
|
/* Local network name buffer */
|
||
|
typedef struct _NAME_BUFFER {
|
||
|
UCHAR name[NCBNAMSZ];
|
||
|
UCHAR name_num;
|
||
|
UCHAR name_flags;
|
||
|
} NAME_BUFFER;
|
||
|
typedef NAME_BUFFER *PNAME_BUFFER;
|
||
|
|
||
|
/* Network session header */
|
||
|
typedef struct _SESSION_HEADER {
|
||
|
UCHAR sess_name;
|
||
|
UCHAR num_sess;
|
||
|
UCHAR rcv_dg_outstanding;
|
||
|
UCHAR rcv_any_outstanding;
|
||
|
} SESSION_HEADER;
|
||
|
typedef SESSION_HEADER *PSESSION_HEADER;
|
||
|
|
||
|
/* Local network session buffer */
|
||
|
typedef struct _SESSION_BUFFER {
|
||
|
UCHAR lsn;
|
||
|
UCHAR state;
|
||
|
UCHAR local_name[NCBNAMSZ];
|
||
|
UCHAR remote_name[NCBNAMSZ];
|
||
|
UCHAR rcvs_outstanding;
|
||
|
UCHAR sends_outstanding;
|
||
|
} SESSION_BUFFER;
|
||
|
typedef SESSION_BUFFER *PSESSION_BUFFER;
|
||
|
|
||
|
/* LAN adapter numbers */
|
||
|
typedef struct _LANA_ENUM {
|
||
|
UCHAR length;
|
||
|
UCHAR lana[MAX_LANA + 1];
|
||
|
} LANA_ENUM;
|
||
|
typedef LANA_ENUM *PLANA_ENUM;
|
||
|
|
||
|
/* NCBFINDNAME header */
|
||
|
typedef struct _FIND_NAME_HEADER {
|
||
|
WORD node_count;
|
||
|
UCHAR reserved;
|
||
|
UCHAR unique_group;
|
||
|
} FIND_NAME_HEADER;
|
||
|
typedef FIND_NAME_HEADER *PFIND_NAME_HEADER;
|
||
|
|
||
|
/* NCBFINDNAME buffer */
|
||
|
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;
|
||
|
typedef FIND_NAME_BUFFER *PFIND_NAME_BUFFER;
|
||
|
|
||
|
/* NCBACTION header */
|
||
|
typedef struct _ACTION_HEADER {
|
||
|
ULONG transport_id;
|
||
|
USHORT action_code;
|
||
|
USHORT reserved;
|
||
|
} ACTION_HEADER;
|
||
|
typedef ACTION_HEADER *PACTION_HEADER;
|
||
|
|
||
|
/* Functions in NETAPI32.DLL */
|
||
|
UCHAR APIENTRY Netbios( PNCB );
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
} /* extern "C" */
|
||
|
#endif
|
||
|
|
||
|
#endif /* NCB_INCLUDED */
|