3   Copyright (c) Eicon Networks, 2000.
 
   5   This source file is supplied for the use with
 
   6   Eicon Networks range of DIVA Server Adapters.
 
   8   Eicon File Revision :    1.9
 
  10   This program is free software; you can redistribute it and/or modify
 
  11   it under the terms of the GNU General Public License as published by
 
  12   the Free Software Foundation; either version 2, or (at your option)
 
  15   This program is distributed in the hope that it will be useful,
 
  16   but WITHOUT ANY WARRANTY OF ANY KIND WHATSOEVER INCLUDING ANY
 
  17   implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
  18   See the GNU General Public License for more details.
 
  20   You should have received a copy of the GNU General Public License
 
  21   along with this program; if not, write to the Free Software
 
  22   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
  25 #ifndef __DIVA_EICON_TRACE_IDI_IFC_H__
 
  26 #define __DIVA_EICON_TRACE_IDI_IFC_H__
 
  28 void* SuperTraceOpenAdapter   (int AdapterNumber);
 
  29 int   SuperTraceCloseAdapter  (void* AdapterHandle);
 
  30 int   SuperTraceWrite         (void* AdapterHandle,
 
  31                                const void* data, int length);
 
  32 int   SuperTraceReadRequest   (void* AdapterHandle,const char* name,byte* data);
 
  33 int   SuperTraceGetNumberOfChannels (void* AdapterHandle);
 
  34 int   SuperTraceASSIGN        (void* AdapterHandle, byte* data);
 
  35 int   SuperTraceREMOVE        (void* AdapterHandle);
 
  36 int   SuperTraceTraceOnRequest(void* hAdapter, const char* name, byte* data);
 
  37 int   SuperTraceWriteVar (void* AdapterHandle,
 
  43 int   SuperTraceExecuteRequest (void* AdapterHandle,
 
  47 typedef struct _diva_strace_path2action {
 
  48         char               path[64]; /* Full path to variable            */
 
  49         void*                                                    variable; /* Variable that will receive value */
 
  50 } diva_strace_path2action_t;
 
  52 #define DIVA_MAX_MANAGEMENT_TRANSFER_SIZE 4096
 
  54 typedef struct _diva_strace_context {
 
  55         diva_strace_library_interface_t instance;
 
  67         byte buffer[DIVA_MAX_MANAGEMENT_TRANSFER_SIZE + 1];
 
  69   int general_b_ch_event;
 
  70   int general_fax_event;
 
  71   int general_mdm_event;
 
  76                 Initialization request state machine
 
  78         int ChannelsTraceActive;
 
  81         int IncomingCallsCallsActive;
 
  82         int IncomingCallsConnectedActive;
 
  83         int OutgoingCallsCallsActive;
 
  84         int OutgoingCallsConnectedActive;
 
  89         int trace_length_init;
 
  91         int trace_events_down;
 
  98         word trace_event_mask;
 
  99         word current_trace_event_mask;
 
 101         dword audio_tap_mask;
 
 102         dword current_audio_tap_mask;
 
 103         dword current_eye_pattern_mask;
 
 104         int   audio_tap_pending;
 
 105         int   eye_pattern_pending;
 
 107         dword bchannel_trace_mask;
 
 108         dword current_bchannel_trace_mask;
 
 111         diva_trace_line_state_t lines[30];
 
 115         diva_strace_path2action_t* parse_table;
 
 117         diva_trace_library_user_interface_t user_proc_table;
 
 119         int line_parse_entry_first[30];
 
 120         int line_parse_entry_last[30];
 
 122         int modem_parse_entry_first[30];
 
 123         int modem_parse_entry_last[30];
 
 125         int fax_parse_entry_first[30];
 
 126         int fax_parse_entry_last[30];
 
 128         int statistic_parse_first;
 
 129         int statistic_parse_last;
 
 131         int mdm_statistic_parse_first;
 
 132         int mdm_statistic_parse_last;
 
 134         int fax_statistic_parse_first;
 
 135         int fax_statistic_parse_last;
 
 137         dword   line_init_event;
 
 138         dword   modem_init_event;
 
 139         dword   fax_init_event;
 
 141         dword   pending_line_status;
 
 142         dword   pending_modem_status;
 
 143         dword   pending_fax_status;
 
 145         dword clear_call_command;
 
 147         int outgoing_ifc_stats;
 
 148         int incoming_ifc_stats;
 
 156         diva_trace_interface_state_t Interface;
 
 157         diva_ifc_statistics_t                            InterfaceStat;
 
 158 } diva_strace_context_t;
 
 160 typedef struct _diva_man_var_header {
 
 169 } diva_man_var_header_t;