lnk commit front code
This commit is contained in:
337
include/mmslite/llcio.h
Normal file
337
include/mmslite/llcio.h
Normal file
@@ -0,0 +1,337 @@
|
||||
#ifndef _LLCIO_H
|
||||
#define _LLCIO_H
|
||||
|
||||
/************************************************************************/
|
||||
/* SISCO SOFTWARE MODULE HEADER *****************************************/
|
||||
/************************************************************************/
|
||||
/* (c) Copyright Systems Integration Specialists Company, Inc., */
|
||||
/* 1994, All Rights Reserved */
|
||||
/* */
|
||||
/* MODULE NAME : llcio.h */
|
||||
/* PRODUCT(S) : osillc.sys */
|
||||
/* */
|
||||
/* MODULE DESCRIPTION : */
|
||||
/* */
|
||||
/* GLOBAL FUNCTIONS DEFINED IN THIS MODULE : */
|
||||
/* */
|
||||
/* MODIFICATION LOG : */
|
||||
/* Date Who Rev Comments */
|
||||
/* -------- --- ------ ------------------------------------------- */
|
||||
/* 05/21/98 IKE 03 Converted to 7.0 Data types, removed */
|
||||
/* underscores so it can be compiled */
|
||||
/* 11/02/95 DSF 02 Enhanced to retrieve stats information */
|
||||
/* 12/08/94 DSF 01 Added SET_OFFSET */
|
||||
/* 03/10/94 DSF Initial Release */
|
||||
/************************************************************************/
|
||||
|
||||
/*
|
||||
** User Functions
|
||||
*/
|
||||
|
||||
int LlcOpen (char *Name);
|
||||
int LlcClose (int fd);
|
||||
int LlcWrite (int fd, char *buffer, int size);
|
||||
int LlcRead (int fd, char *buffer, int size);
|
||||
int LlcIoctl (int fd, void *pArg, int size);
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
** IOCTL Management
|
||||
*/
|
||||
|
||||
/*
|
||||
** LLC Driver IOCTL requests
|
||||
*/
|
||||
|
||||
|
||||
#define LLC_ADD_MULTI 1
|
||||
#define LLC_DEL_MULTI 2
|
||||
#define LLC_GET_HW_ADDR 3
|
||||
#define LLC_SET_FRAME_FILTER 4
|
||||
#define LLC_BIND_LSAP 5
|
||||
#define LLC_UNBIND_LSAP 6
|
||||
#define LLC_TRACE_ON 7
|
||||
#define LLC_TRACE_OFF 8
|
||||
#define LLC_DEBUG_ON 9
|
||||
#define LLC_DEBUG_OFF 10
|
||||
#define LLC_GET_PROTO_STATS 11
|
||||
#define LLC_GET_MAC_STATS 12
|
||||
#define LLC_ARM_SIGNAL 13
|
||||
#define LLC_ARM_POST 15
|
||||
#define LLC_GET_EMB_PHYS_ADDR 16
|
||||
#define LLC_SET_WRITE_CONFIRM_FLAG 17
|
||||
#define LLC_GET_DEBUG 18
|
||||
#define LLC_POST_BUFS 19
|
||||
#define LLC_SET_OFFSET 20
|
||||
#define LLC_GET_MAC_CHARS 21
|
||||
#define LLC_CLEAR_MAC_STATS 22
|
||||
#define LLC_CLEAR_PROTO_STATS 23
|
||||
|
||||
|
||||
/*
|
||||
** LLC Driver IOCTL Errors
|
||||
*/
|
||||
|
||||
#define LLCERR_NO_ERROR 0
|
||||
#define LLCERR_LSAP_BOUND 1
|
||||
#define LLCERR_LSAP_NOTBOUND 2
|
||||
#define LLCERR_ILLEGAL_OPERATION 3
|
||||
#define LLCERR_UNKNOWN_COMMAND 4
|
||||
|
||||
#define MAX_HWADDR_SIZE 12
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int Opcode;
|
||||
int Status;
|
||||
} LLCGENERICIOCTL;
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int Opcode;
|
||||
int Status;
|
||||
int cSize;
|
||||
char Multicast[MAX_HWADDR_SIZE];
|
||||
} LLCADDMULTI;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int Opcode;
|
||||
int Status;
|
||||
int cSize;
|
||||
char Multicast[MAX_HWADDR_SIZE];
|
||||
} LLCDELMULTI;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int Opcode;
|
||||
int Status;
|
||||
int cSize;
|
||||
char HwAddr[MAX_HWADDR_SIZE];
|
||||
} LLCGETHWADDR;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int Opcode;
|
||||
int Status;
|
||||
unsigned Lsap;
|
||||
} LLCBINDLSAP;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int Opcode;
|
||||
int Status;
|
||||
} LLCUNBINDLSAP;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int Opcode;
|
||||
int Status;
|
||||
long EmbPhysAddr;
|
||||
long EmbSize;
|
||||
} LLCGETEMBPHYSADDR;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int Opcode;
|
||||
int Status;
|
||||
char far *pfWriteConfirm;
|
||||
} LLCSETWRITECONFIRMFLAG;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int Opcode;
|
||||
int Status;
|
||||
int VxDID;
|
||||
} LLCARMPOST;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int Opcode;
|
||||
int Status;
|
||||
long offset;
|
||||
} LLCSETOFFSET;
|
||||
|
||||
|
||||
typedef struct tagUSERBUFDESC
|
||||
{
|
||||
struct tagUSERBUFDESC far *Next;
|
||||
char far *pBuf;
|
||||
int cBufSize;
|
||||
int cDataSize;
|
||||
} USERBUFDESC;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int Opcode;
|
||||
int Status;
|
||||
USERBUFDESC far *pBufDesc;
|
||||
} LLCPOSTBUFS;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int Opcode;
|
||||
int Status;
|
||||
int MessageNum;
|
||||
int Parm1;
|
||||
int Parm2;
|
||||
int Parm3;
|
||||
} LLCGETDEBUG;
|
||||
|
||||
|
||||
/*
|
||||
** NDIS Protocol Driver Stats
|
||||
*/
|
||||
|
||||
typedef struct
|
||||
{
|
||||
long nFramesReceived;
|
||||
long nReceiveLookaheadReceived;
|
||||
long nReceiveChainReceived;
|
||||
long nFramesDiscardedNotRecognized;
|
||||
long nFramesDiscardedOutOfResources;
|
||||
long nTransferDataFailed;
|
||||
long nTransmitChainIssued;
|
||||
long nTransmitChainFailed;
|
||||
long nFramesDelivered; /* DOS only */
|
||||
} LLCPROTOSTATS;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int Opcode;
|
||||
int Status;
|
||||
LLCPROTOSTATS ProtoStats;
|
||||
} LLCGETPROTOSTATS;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int Opcode;
|
||||
int Status;
|
||||
} LLCCLEARPROTOSTATS;
|
||||
|
||||
/*
|
||||
** NDIS MAC Driver Characteristics
|
||||
*/
|
||||
|
||||
typedef struct /* structure for MAC service specific info */
|
||||
{
|
||||
int cSize; /* length of the characteristic table */
|
||||
char TypeName[16]; /* name of the MAC type (eg. 802.3...) */
|
||||
int cStationAddr; /* length of station address (MAC) */
|
||||
char PermMACAddr[16]; /* hardware default MAC address */
|
||||
char CurrMACAddr[16]; /* current MAC address in use */
|
||||
long FunctionAddr; /* current functional address of adapter */
|
||||
long reserved; /* pointer to multicast table */
|
||||
long LinkSpeed; /* link speed bits/sec */
|
||||
long fMAC; /* flags of capabilities */
|
||||
int MaxFrameSize; /* maximum MAC frame which can be sent */
|
||||
long TotalTxSpace; /* total transmit buffer space */
|
||||
int cTxBlockSize; /* size of allocated transmission blocks */
|
||||
long TotalRxSpace; /*total reception buffer space */
|
||||
int cRxBlockSize; /*reception buffer alloc blk size */
|
||||
char VendorID[3]; /*vendor IEEE ID */
|
||||
char VendorAdapterDesc; /*vendor adapter description */
|
||||
long reserved2; /*pointer to vendor serial number */
|
||||
int IRQLevel; /*interrupt level */
|
||||
int TransmitQueueDepth;
|
||||
int nMaxDataBlocks;
|
||||
} LLCMACCHARS;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int Opcode;
|
||||
int Status;
|
||||
LLCMACCHARS MacChars;
|
||||
} LLCGETMACCHARS;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int cSize; /*size of table */
|
||||
long LastDiagTime; /*seconds since 1-1-1970 of diags */
|
||||
long MACStatus; /*mac status, this is a bit mask */
|
||||
/* Bits 0-2: 0 - Hardware Not Installed */
|
||||
/* 1 - Hardware Failed Pwrup Diags */
|
||||
/* 2 - Hardware Failed CNFG Prob */
|
||||
/* 3 - Hardware Faulted */
|
||||
/* 4 - Hardware Marginally Operat */
|
||||
/* 7 - Fully Operational */
|
||||
/* Bit 3: MAC BOUND */
|
||||
/* Bit 4: MAC OPEN */
|
||||
/* Bit 5: DIAG_IN_PROGRESS */
|
||||
int CurrPacketFilter; /* Bit 1: Directed and Multicast Group */
|
||||
/* Bit 2: Broadcast */
|
||||
/* Bit 3: Promiscuous */
|
||||
/* Bit 4: All Source Routing */
|
||||
long reserved; /*pointer to media specific stats */
|
||||
long LastClearTime; /*seconds since 1-1-1970 */
|
||||
long nOkFramesReceived; /*total frames received ok */
|
||||
long nCrcErrorFrames; /*total frames received with crc errors */
|
||||
long nBytesReceived; /*total number of bytes recieved */
|
||||
long nFramesDiscarded; /*total number of frames discarded */
|
||||
long nMulticastFramesReceived; /*total number of multicast frames rxd OK */
|
||||
long nBroadcastFramesReceived; /*total number of broadcast frames rxd OK */
|
||||
long reserved1;
|
||||
long reserved2;
|
||||
long reserved3;
|
||||
long reserved4;
|
||||
long reserved5;
|
||||
long nFramesDiscardedHwError; /*total number of frames discarded due to HW err*/
|
||||
long nFramesTransmittedOk; /*total number of frames transmitted OK */
|
||||
long nBytesTransimittedOk; /*total number of bytes transmitted OK */
|
||||
long nMulticastFramesTransmitted; /*total number of multicast transmitted */
|
||||
long nBroadcastFramesTransmitted; /*total broadcast frame transmitted */
|
||||
long reserved6;
|
||||
long reserved7;
|
||||
long nFramesNotTransmittedTimeout; /*total frames not transmitted due to timeout */
|
||||
long nFramesNotTransmittedHwError; /*total frames not transmitted due to HW ERR */
|
||||
} LLCMACSTATS;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int Opcode;
|
||||
int Status;
|
||||
LLCMACSTATS MacStats;
|
||||
} LLCGETMACSTATS;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int Opcode;
|
||||
int Status;
|
||||
} LLCCLEARMACSTATS;
|
||||
|
||||
typedef union
|
||||
{
|
||||
LLCADDMULTI AddMulti;
|
||||
LLCDELMULTI DelMulti;
|
||||
LLCGETHWADDR GetHwAddr;
|
||||
LLCBINDLSAP BindLsap;
|
||||
LLCUNBINDLSAP UnBindLsap;
|
||||
LLCGETEMBPHYSADDR GetEmbPhysAddr;
|
||||
LLCSETWRITECONFIRMFLAG SetWriteConfirmFlag;
|
||||
LLCPOSTBUFS PostBufs;
|
||||
LLCARMPOST ArmPost;
|
||||
LLCGETDEBUG GetDebug;
|
||||
LLCSETOFFSET SetOffset;
|
||||
LLCGETMACCHARS GetMacChars;
|
||||
LLCGETMACSTATS GetMacStats;
|
||||
LLCCLEARMACSTATS ClearMacStats;
|
||||
LLCGETPROTOSTATS GetProtoStats;
|
||||
LLCCLEARPROTOSTATS ClearProtoStats;
|
||||
} LLCIOCTL;
|
||||
|
||||
|
||||
|
||||
/*
|
||||
** Function prototypes
|
||||
*/
|
||||
|
||||
int llc_getstats (LLCMACCHARS *MacChars,
|
||||
LLCMACSTATS *MacStats,
|
||||
LLCPROTOSTATS *ProtoStats);
|
||||
void llc_clearstats ();
|
||||
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user