blob: b04a11b853db155d81e3a1dbd2e468d70c1bf51c [file] [log] [blame]
/*
* Copyright (C) 2001 Mike McCormack
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef NCB_INCLUDED
#define NCB_INCLUDED
#ifdef __cplusplus
extern "C" {
#endif
#define NCBNAMSZ 16
#define MAX_LANA 0xfe
#define NCBRESET 0x32
#define NCBADDNAME 0x30
#define NCBADDGRNAME 0x36
#define NCBDELNAME 0x31
#define NCBSEND 0x14
#define NCBRECV 0x15
#define NCBHANGUP 0x12
#define NCBCANCEL 0x35
#define NCBLISTEN 0x11
#define NCBCALL 0x10
#define NCBASTAT 0x33
#define NCBENUM 0x37
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 (*ncb_post)(struct _NCB *);
UCHAR ncb_lana_num;
UCHAR ncb_cmd_cplt;
UCHAR ncb_reserved[10];
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_error;
WORD xmit_aborts;
DWORD xmit_success;
DWORD recv_success;
WORD iframe_xmit_error;
WORD recv_buffer_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_pktsize;
WORD name_count;
} ADAPTER_STATUS, *PADAPTER_STATUS;
typedef struct _LANA_ENUM
{
UCHAR length;
UCHAR lana[MAX_LANA+1];
} LANA_ENUM, *PLANA_ENUM;
#define NRC_GOODRET 0x00
#define NRC_BUFLEN 0x01
#define NRC_ILLCMD 0x03
#define NRC_CMDTMO 0x05
#define NRC_INCOMP 0x06
#define NRC_INVADDRESS 0x39
#define NRC_PENDING 0xff
#define NRC_OPENERROR 0x3f
#ifdef __cplusplus
}
#endif
#endif /* NCB_INCLUDED */