2005-04-17 02:20:36 +04:00
/*
*
2012-02-20 07:52:38 +04:00
Copyright ( c ) Eicon Technology Corporation , 2000.
2005-04-17 02:20:36 +04:00
*
2012-02-20 07:52:38 +04:00
This source file is supplied for the use with Eicon
Technology Corporation ' s range of DIVA Server Adapters .
2005-04-17 02:20:36 +04:00
*
2012-02-20 07:52:38 +04:00
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 .
2005-04-17 02:20:36 +04:00
*
2012-02-20 07:52:38 +04:00
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 .
2005-04-17 02:20:36 +04:00
*
2012-02-20 07:52:38 +04:00
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 0213 9 , USA .
2005-04-17 02:20:36 +04:00
*
*/
# 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 {
2012-02-20 07:52:38 +04:00
dword sequence ;
dword time_sec ;
dword time_usec ;
dword facility ;
dword dli ;
dword drv_id ;
dword di_cpu ;
dword data_length ;
2005-04-17 02:20:36 +04:00
} diva_dbg_entry_head_t ;
2012-02-20 07:52:38 +04:00
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 ) ;
2005-04-17 02:20:36 +04:00
# define DIVA_MAX_SELECTIVE_FILTER_LENGTH 127
2012-02-20 07:52:38 +04:00
int diva_set_trace_filter ( int filter_length , const char * filter ) ;
int diva_get_trace_filter ( int max_length , char * filter ) ;
2005-04-17 02:20:36 +04:00
# 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
2012-02-20 07:52:38 +04:00
*/
2005-04-17 02:20:36 +04:00
# 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 */