Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /* |
| 2 | * |
Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 3 | Copyright (c) Eicon Technology Corporation, 2000. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 4 | * |
Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 5 | This source file is supplied for the use with Eicon |
| 6 | Technology Corporation's range of DIVA Server Adapters. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 7 | * |
Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 8 | This program is free software; you can redistribute it and/or modify |
| 9 | it under the terms of the GNU General Public License as published by |
| 10 | the Free Software Foundation; either version 2, or (at your option) |
| 11 | any later version. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 12 | * |
Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 13 | This program is distributed in the hope that it will be useful, |
| 14 | but WITHOUT ANY WARRANTY OF ANY KIND WHATSOEVER INCLUDING ANY |
| 15 | implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
| 16 | See the GNU General Public License for more details. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 17 | * |
Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 18 | You should have received a copy of the GNU General Public License |
| 19 | along with this program; if not, write to the Free Software |
| 20 | Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 21 | * |
| 22 | */ |
| 23 | #ifndef __DIVA_DEBUG_IF_H__ |
| 24 | #define __DIVA_DEBUG_IF_H__ |
| 25 | #define MSG_TYPE_DRV_ID 0x0001 |
| 26 | #define MSG_TYPE_FLAGS 0x0002 |
| 27 | #define MSG_TYPE_STRING 0x0003 |
| 28 | #define MSG_TYPE_BINARY 0x0004 |
| 29 | #define MSG_TYPE_MLOG 0x0005 |
| 30 | |
| 31 | #define MSG_FRAME_MAX_SIZE 2150 |
| 32 | |
| 33 | typedef struct _diva_dbg_entry_head { |
Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 34 | dword sequence; |
| 35 | dword time_sec; |
| 36 | dword time_usec; |
| 37 | dword facility; |
| 38 | dword dli; |
| 39 | dword drv_id; |
| 40 | dword di_cpu; |
| 41 | dword data_length; |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 42 | } diva_dbg_entry_head_t; |
| 43 | |
Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 44 | int diva_maint_init(byte *base, unsigned long length, int do_init); |
| 45 | void *diva_maint_finit(void); |
| 46 | dword diva_dbg_q_length(void); |
| 47 | diva_dbg_entry_head_t *diva_maint_get_message(word *size, |
| 48 | diva_os_spin_lock_magic_t *old_irql); |
| 49 | void diva_maint_ack_message(int do_release, |
| 50 | diva_os_spin_lock_magic_t *old_irql); |
| 51 | void diva_maint_prtComp(char *format, ...); |
| 52 | void diva_maint_wakeup_read(void); |
| 53 | int diva_get_driver_info(dword id, byte *data, int data_length); |
| 54 | int diva_get_driver_dbg_mask(dword id, byte *data); |
| 55 | int diva_set_driver_dbg_mask(dword id, dword mask); |
| 56 | void diva_mnt_remove_xdi_adapter(const DESCRIPTOR *d); |
| 57 | void diva_mnt_add_xdi_adapter(const DESCRIPTOR *d); |
| 58 | int diva_mnt_shutdown_xdi_adapters(void); |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 59 | |
| 60 | #define DIVA_MAX_SELECTIVE_FILTER_LENGTH 127 |
Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 61 | int diva_set_trace_filter(int filter_length, const char *filter); |
| 62 | int diva_get_trace_filter(int max_length, char *filter); |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 63 | |
| 64 | |
| 65 | #define DITRACE_CMD_GET_DRIVER_INFO 1 |
| 66 | #define DITRACE_READ_DRIVER_DBG_MASK 2 |
| 67 | #define DITRACE_WRITE_DRIVER_DBG_MASK 3 |
| 68 | #define DITRACE_READ_TRACE_ENTRY 4 |
| 69 | #define DITRACE_READ_TRACE_ENTRYS 5 |
| 70 | #define DITRACE_WRITE_SELECTIVE_TRACE_FILTER 6 |
| 71 | #define DITRACE_READ_SELECTIVE_TRACE_FILTER 7 |
| 72 | |
| 73 | /* |
| 74 | Trace lavels for debug via management interface |
Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 75 | */ |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 76 | #define DIVA_MGT_DBG_TRACE 0x00000001 /* All trace messages from the card */ |
| 77 | #define DIVA_MGT_DBG_DCHAN 0x00000002 /* All D-channel relater trace messages */ |
| 78 | #define DIVA_MGT_DBG_MDM_PROGRESS 0x00000004 /* Modem progress events */ |
| 79 | #define DIVA_MGT_DBG_FAX_PROGRESS 0x00000008 /* Fax progress events */ |
| 80 | #define DIVA_MGT_DBG_IFC_STATISTICS 0x00000010 /* Interface call statistics */ |
| 81 | #define DIVA_MGT_DBG_MDM_STATISTICS 0x00000020 /* Global modem statistics */ |
| 82 | #define DIVA_MGT_DBG_FAX_STATISTICS 0x00000040 /* Global call statistics */ |
| 83 | #define DIVA_MGT_DBG_LINE_EVENTS 0x00000080 /* Line state events */ |
| 84 | #define DIVA_MGT_DBG_IFC_EVENTS 0x00000100 /* Interface/L1/L2 state events */ |
| 85 | #define DIVA_MGT_DBG_IFC_BCHANNEL 0x00000200 /* B-Channel trace for all channels */ |
| 86 | #define DIVA_MGT_DBG_IFC_AUDIO 0x00000400 /* Audio Tap trace for all channels */ |
| 87 | |
| 88 | # endif /* DEBUG_IF___H */ |