summaryrefslogtreecommitdiffstats
path: root/drivers/isdn/hardware/eicon/debug_if.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/isdn/hardware/eicon/debug_if.h')
-rw-r--r--drivers/isdn/hardware/eicon/debug_if.h88
1 files changed, 88 insertions, 0 deletions
diff --git a/drivers/isdn/hardware/eicon/debug_if.h b/drivers/isdn/hardware/eicon/debug_if.h
new file mode 100644
index 000000000..fc5953a35
--- /dev/null
+++ b/drivers/isdn/hardware/eicon/debug_if.h
@@ -0,0 +1,88 @@
+/*
+ *
+ Copyright (c) Eicon Technology Corporation, 2000.
+ *
+ This source file is supplied for the use with Eicon
+ Technology Corporation's range of DIVA Server Adapters.
+ *
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+ *
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY OF ANY KIND WHATSOEVER INCLUDING ANY
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ See the GNU General Public License for more details.
+ *
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+#ifndef __DIVA_DEBUG_IF_H__
+#define __DIVA_DEBUG_IF_H__
+#define MSG_TYPE_DRV_ID 0x0001
+#define MSG_TYPE_FLAGS 0x0002
+#define MSG_TYPE_STRING 0x0003
+#define MSG_TYPE_BINARY 0x0004
+#define MSG_TYPE_MLOG 0x0005
+
+#define MSG_FRAME_MAX_SIZE 2150
+
+typedef struct _diva_dbg_entry_head {
+ dword sequence;
+ dword time_sec;
+ dword time_usec;
+ dword facility;
+ dword dli;
+ dword drv_id;
+ dword di_cpu;
+ dword data_length;
+} diva_dbg_entry_head_t;
+
+int diva_maint_init(byte *base, unsigned long length, int do_init);
+void *diva_maint_finit(void);
+dword diva_dbg_q_length(void);
+diva_dbg_entry_head_t *diva_maint_get_message(word *size,
+ diva_os_spin_lock_magic_t *old_irql);
+void diva_maint_ack_message(int do_release,
+ diva_os_spin_lock_magic_t *old_irql);
+void diva_maint_prtComp(char *format, ...);
+void diva_maint_wakeup_read(void);
+int diva_get_driver_info(dword id, byte *data, int data_length);
+int diva_get_driver_dbg_mask(dword id, byte *data);
+int diva_set_driver_dbg_mask(dword id, dword mask);
+void diva_mnt_remove_xdi_adapter(const DESCRIPTOR *d);
+void diva_mnt_add_xdi_adapter(const DESCRIPTOR *d);
+int diva_mnt_shutdown_xdi_adapters(void);
+
+#define DIVA_MAX_SELECTIVE_FILTER_LENGTH 127
+int diva_set_trace_filter(int filter_length, const char *filter);
+int diva_get_trace_filter(int max_length, char *filter);
+
+
+#define DITRACE_CMD_GET_DRIVER_INFO 1
+#define DITRACE_READ_DRIVER_DBG_MASK 2
+#define DITRACE_WRITE_DRIVER_DBG_MASK 3
+#define DITRACE_READ_TRACE_ENTRY 4
+#define DITRACE_READ_TRACE_ENTRYS 5
+#define DITRACE_WRITE_SELECTIVE_TRACE_FILTER 6
+#define DITRACE_READ_SELECTIVE_TRACE_FILTER 7
+
+/*
+ Trace lavels for debug via management interface
+*/
+#define DIVA_MGT_DBG_TRACE 0x00000001 /* All trace messages from the card */
+#define DIVA_MGT_DBG_DCHAN 0x00000002 /* All D-channel relater trace messages */
+#define DIVA_MGT_DBG_MDM_PROGRESS 0x00000004 /* Modem progress events */
+#define DIVA_MGT_DBG_FAX_PROGRESS 0x00000008 /* Fax progress events */
+#define DIVA_MGT_DBG_IFC_STATISTICS 0x00000010 /* Interface call statistics */
+#define DIVA_MGT_DBG_MDM_STATISTICS 0x00000020 /* Global modem statistics */
+#define DIVA_MGT_DBG_FAX_STATISTICS 0x00000040 /* Global call statistics */
+#define DIVA_MGT_DBG_LINE_EVENTS 0x00000080 /* Line state events */
+#define DIVA_MGT_DBG_IFC_EVENTS 0x00000100 /* Interface/L1/L2 state events */
+#define DIVA_MGT_DBG_IFC_BCHANNEL 0x00000200 /* B-Channel trace for all channels */
+#define DIVA_MGT_DBG_IFC_AUDIO 0x00000400 /* Audio Tap trace for all channels */
+
+# endif /* DEBUG_IF___H */