60 lines
1.8 KiB
C
60 lines
1.8 KiB
C
/*
|
|
* IDD_PUB.H - IDP Device Driver public header for PCIMAC/ISA
|
|
*/
|
|
|
|
#ifndef _IDD_PUB_
|
|
#define _IDD_PUB_
|
|
|
|
#define IDD_MAX_AREA 512 /* max size of area got in get_area */
|
|
|
|
//
|
|
// global idd def's
|
|
//
|
|
/* IDD message descriptor */
|
|
typedef struct
|
|
{
|
|
USHORT opcode; /* message opcode (type) */
|
|
USHORT buflen; /* related buffer length */
|
|
UCHAR *bufptr; /* related buffer pointer (0=none) */
|
|
ULONG bufid; /* related buffer id */
|
|
ULONG param; /* parameter area */
|
|
} IDD_MSG;
|
|
|
|
/* IDD extended message descriptor */
|
|
typedef struct
|
|
{
|
|
USHORT opcode; /* message opcode (type) */
|
|
USHORT buflen; /* related buffer length */
|
|
UCHAR *bufptr; /* related buffer pointer (0=none) */
|
|
ULONG bufid; /* related buffer id */
|
|
ULONG param; /* parameter area */
|
|
USHORT FragmentFlags; /* fragmentation flags */
|
|
} IDD_XMSG;
|
|
|
|
/* IDD fragment descriptor */
|
|
typedef struct
|
|
{
|
|
USHORT len; /* fragment length */
|
|
CHAR *ptr; /* fragment buffer pointer */
|
|
} IDD_FRAG;
|
|
|
|
typedef struct
|
|
{
|
|
VOID (*area_handler)(); /* handler for get_area */
|
|
VOID *area_handler_arg; /* argument for handler */
|
|
|
|
ULONG area_state; /* state of last/current get_area command */
|
|
#define AREA_ST_IDLE 0 /* - idle, no area defined */
|
|
#define AREA_ST_PEND 1 /* - pending, get_area in progress */
|
|
#define AREA_ST_DONE 2 /* - done, results ready */
|
|
|
|
ULONG area_id; /* area id (number) pend/done */
|
|
|
|
VOID *area_idd; /* related idd (from which area is retreived) */
|
|
UCHAR area_buf[IDD_MAX_AREA]; /* buffer receiving/containing area data */
|
|
ULONG area_len; /* length of actual data */
|
|
}IDD_AREA;
|
|
|
|
#endif /* _IDD_PUB_ */
|
|
|