summaryrefslogtreecommitdiffstats
path: root/private/ntos/ndis/digi/pcimac/io_pub.h
diff options
context:
space:
mode:
Diffstat (limited to 'private/ntos/ndis/digi/pcimac/io_pub.h')
-rw-r--r--private/ntos/ndis/digi/pcimac/io_pub.h153
1 files changed, 153 insertions, 0 deletions
diff --git a/private/ntos/ndis/digi/pcimac/io_pub.h b/private/ntos/ndis/digi/pcimac/io_pub.h
new file mode 100644
index 000000000..080fef7fb
--- /dev/null
+++ b/private/ntos/ndis/digi/pcimac/io_pub.h
@@ -0,0 +1,153 @@
+/*
+ * IO_PUB.H - include file for all IO modules
+ */
+
+#ifndef _IO_PUB_
+#define _IO_PUB_
+
+#define BRI_MAX_NAMELEN 64 /* anything that can be named < 64 chars */
+
+/* error codes */
+#define IO_E_SUCC 0 /* success */
+#define IO_E_NOROOM 1 /* no room in local tables */
+#define IO_E_NOSUCH 2 /* no such object */
+#define IO_E_BADSIG 3 /* bad signature */
+#define IO_E_BADVER 4 /* bad version */
+#define IO_E_BADCMD 5 /* bad command opcode */
+#define IO_E_BADIDD 6
+#define IO_E_BADCM 7
+#define IO_E_PENDING 0xFF /* command is pending */
+
+/* IO commands available listed here */
+#define IO_CMD_ENUM_ADAPTERS 0x100 /* enumerate network interfaces */
+#define IO_CMD_ENUM_IDD 0x101 /* enumerate isdn device drivers */
+#define IO_CMD_ENUM_CM 0x102 /* enumerate connection managers */
+
+#define IO_CMD_TRC_RESET 0x300 /* reset trace */
+#define IO_CMD_TRC_STOP 0x301 /* stop trace */
+#define IO_CMD_TRC_START 0x302 /* start trace */
+#define IO_CMD_TRC_SET_FILT 0x305 /* set filter for trace context */
+#define IO_CMD_TRC_GET_STAT 0x306 /* get status of trace context */
+#define IO_CMD_TRC_GET_ENT 0x307 /* get a trace entry */
+#define IO_CMD_TRC_CREATE 0x30A /* create trc object */
+#define IO_CMD_TRC_DESTROY 0x30B /* destroy trc object */
+
+#define IO_CMD_DO_ADP_CMD 0x400
+#define MAX_ADP_OPERATIONS 8
+#define GET_ADP_UCHAR 1
+#define GET_ADP_USHORT 2
+#define GET_ADP_ULONG 3
+#define GET_ADP_BUFFER 4
+#define SET_ADP_UCHAR 5
+#define SET_ADP_USHORT 6
+#define SET_ADP_ULONG 7
+#define SET_ADP_BUFFER 8
+
+#define IO_CMD_DO_IDP_CMD 0x401
+#define MAX_IDP_OPERATIONS 4
+#define GET_IDP_IO_VALUE 1
+#define GET_IDP_BUFFER 2
+#define SET_IDP_IO_VALUE 3
+#define SET_IDP_BUFFER 4
+
+#define IO_CMD_IDD_GET_AREA 0x900 /* get idd area */
+#define IO_CMD_IDD_RESET_AREA 0x901 /* reset idd area state */
+#define IO_CMD_IDD_GET_STAT 0x902 /* get area state */
+
+#define IO_CMD_DBG_LEVEL 0xF00 /* set debug level */
+
+typedef struct _ENUM_ADAPTERS_
+{
+ USHORT num;
+ ULONG BaseIO[MAX_ADAPTERS_IN_SYSTEM];
+ ULONG BaseMem[MAX_ADAPTERS_IN_SYSTEM];
+ ULONG BoardType[MAX_ADAPTERS_IN_SYSTEM];
+ CHAR Name[MAX_ADAPTERS_IN_SYSTEM][BRI_MAX_NAMELEN];
+ VOID *tbl[MAX_ADAPTERS_IN_SYSTEM];
+} ENUM_ADAPTERS, *PENUM_ADAPTERS;
+
+typedef struct ENUM_CM
+{
+ USHORT num;
+ CHAR name[MAX_CM_IN_SYSTEM][BRI_MAX_NAMELEN];
+ VOID *tbl[MAX_CM_IN_SYSTEM];
+} ENUM_CM, *PENUM_CM;
+
+typedef struct _ENUM_IDD_
+{
+ USHORT num;
+ VOID *tbl[MAX_IDD_IN_SYSTEM];
+ CHAR name[MAX_IDD_IN_SYSTEM][BRI_MAX_NAMELEN];
+} ENUM_IDD, *PENUM_IDD;
+
+typedef struct _DBG_LEVEL_
+{
+ INT cmplen;
+ CHAR filestr[9];
+} DBG_LEVEL, *PDBG_LEVEL;
+
+typedef struct _ADPRAW_
+{
+ UCHAR uc;
+ USHORT us;
+ ULONG ul;
+ ULONG Address;
+ USHORT Length;
+ UCHAR Buffer[ADP_RAM_SIZE];
+} ADPRAW, *PADPRAW;
+
+typedef struct _IDPRAW_
+{
+ UCHAR uc;
+ USHORT us;
+ ULONG ul;
+ USHORT Bank;
+ USHORT Page;
+ ULONG Address;
+ USHORT Length;
+ UCHAR Buffer[IDP_RAM_PAGE_SIZE];
+} IDPRAW, *PIDPRAW;
+
+/* master descriptor structure for ioctl commands to IO module */
+typedef struct
+{
+ ULONG sig; /* identifing signature */
+#define IO_CMD_SIG 0x321B71B7
+
+ USHORT ver_major, ver_minor; /* interface version (curr: 0.1) */
+#define IO_VER_MAJOR 0
+#define IO_VER_MINOR 1
+
+ ULONG opcode; /* command opcode, IO_CMD_* */
+
+ ULONG status; /* completion status, ok: 0 */
+
+ VOID *cm; /* related connection object */
+ VOID *idd; /* related idd */
+ ULONG arg[4]; /* 4 general purpose args */
+
+ union /* opcode specific data */
+ {
+ ENUM_ADAPTERS enum_adapters; /* IO_CMD_ENUM_ADAPTERS */
+
+ ENUM_CM enum_cm; /* IO_CMD_ENUM_MTL */
+
+ ENUM_IDD enum_idd; /* IO_CMD_ENUM_IDD */
+
+ DBG_LEVEL dbg_level;
+
+ CM_STATUS cm_stat; /* IO_CMD_CM_GET_STAT */
+
+ TRC_STATUS trc_stat; /* IO_CMD_TRC_GET_STAT */
+ TRC_ENTRY trc_ent; /* IO_CMD_TRC_GET_ENT */
+ IDD_AREA IddStat; // IO_CMD_GET_IDD_STAT
+
+ ADPRAW AdpRaw;
+
+ IDPRAW IdpRaw;
+ } val;
+
+} IO_CMD;
+
+#endif /* _IO_PUB_ */
+