This repository has been archived on 2024-12-16. You can view files and clone it, but cannot push or open issues or pull requests.
CodeBlocksPortable/WATCOM/h/nt/nb30.h

246 lines
6.1 KiB
C
Raw Normal View History

/*
* 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 */