forked from Minki/linux
173 lines
4.3 KiB
C
173 lines
4.3 KiB
C
|
/*
|
||
|
*
|
||
|
Copyright (c) Eicon Networks, 2000.
|
||
|
*
|
||
|
This source file is supplied for the use with
|
||
|
Eicon Networks range of DIVA Server Adapters.
|
||
|
*
|
||
|
Eicon File Revision : 1.9
|
||
|
*
|
||
|
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_EICON_TRACE_IDI_IFC_H__
|
||
|
#define __DIVA_EICON_TRACE_IDI_IFC_H__
|
||
|
|
||
|
void* SuperTraceOpenAdapter (int AdapterNumber);
|
||
|
int SuperTraceCloseAdapter (void* AdapterHandle);
|
||
|
int SuperTraceWrite (void* AdapterHandle,
|
||
|
const void* data, int length);
|
||
|
int SuperTraceReadRequest (void* AdapterHandle,const char* name,byte* data);
|
||
|
int SuperTraceGetNumberOfChannels (void* AdapterHandle);
|
||
|
int SuperTraceASSIGN (void* AdapterHandle, byte* data);
|
||
|
int SuperTraceREMOVE (void* AdapterHandle);
|
||
|
int SuperTraceTraceOnRequest(void* hAdapter, const char* name, byte* data);
|
||
|
int SuperTraceWriteVar (void* AdapterHandle,
|
||
|
byte* data,
|
||
|
const char* name,
|
||
|
void* var,
|
||
|
byte type,
|
||
|
byte var_length);
|
||
|
int SuperTraceExecuteRequest (void* AdapterHandle,
|
||
|
const char* name,
|
||
|
byte* data);
|
||
|
|
||
|
typedef struct _diva_strace_path2action {
|
||
|
char path[64]; /* Full path to variable */
|
||
|
void* variable; /* Variable that will receive value */
|
||
|
} diva_strace_path2action_t;
|
||
|
|
||
|
#define DIVA_MAX_MANAGEMENT_TRANSFER_SIZE 4096
|
||
|
|
||
|
typedef struct _diva_strace_context {
|
||
|
diva_strace_library_interface_t instance;
|
||
|
|
||
|
int Adapter;
|
||
|
void* hAdapter;
|
||
|
|
||
|
int Channels;
|
||
|
int req_busy;
|
||
|
|
||
|
ENTITY e;
|
||
|
IDI_CALL request;
|
||
|
BUFFERS XData;
|
||
|
BUFFERS RData;
|
||
|
byte buffer[DIVA_MAX_MANAGEMENT_TRANSFER_SIZE + 1];
|
||
|
int removal_state;
|
||
|
int general_b_ch_event;
|
||
|
int general_fax_event;
|
||
|
int general_mdm_event;
|
||
|
|
||
|
byte rc_ok;
|
||
|
|
||
|
/*
|
||
|
Initialization request state machine
|
||
|
*/
|
||
|
int ChannelsTraceActive;
|
||
|
int ModemTraceActive;
|
||
|
int FaxTraceActive;
|
||
|
int IncomingCallsCallsActive;
|
||
|
int IncomingCallsConnectedActive;
|
||
|
int OutgoingCallsCallsActive;
|
||
|
int OutgoingCallsConnectedActive;
|
||
|
|
||
|
int trace_mask_init;
|
||
|
int audio_trace_init;
|
||
|
int bchannel_init;
|
||
|
int trace_length_init;
|
||
|
int trace_on;
|
||
|
int trace_events_down;
|
||
|
int l1_trace;
|
||
|
int l2_trace;
|
||
|
|
||
|
/*
|
||
|
Trace\Event Enable
|
||
|
*/
|
||
|
word trace_event_mask;
|
||
|
word current_trace_event_mask;
|
||
|
|
||
|
dword audio_tap_mask;
|
||
|
dword current_audio_tap_mask;
|
||
|
dword current_eye_pattern_mask;
|
||
|
int audio_tap_pending;
|
||
|
int eye_pattern_pending;
|
||
|
|
||
|
dword bchannel_trace_mask;
|
||
|
dword current_bchannel_trace_mask;
|
||
|
|
||
|
|
||
|
diva_trace_line_state_t lines[30];
|
||
|
|
||
|
int parse_entries;
|
||
|
int cur_parse_entry;
|
||
|
diva_strace_path2action_t* parse_table;
|
||
|
|
||
|
diva_trace_library_user_interface_t user_proc_table;
|
||
|
|
||
|
int line_parse_entry_first[30];
|
||
|
int line_parse_entry_last[30];
|
||
|
|
||
|
int modem_parse_entry_first[30];
|
||
|
int modem_parse_entry_last[30];
|
||
|
|
||
|
int fax_parse_entry_first[30];
|
||
|
int fax_parse_entry_last[30];
|
||
|
|
||
|
int statistic_parse_first;
|
||
|
int statistic_parse_last;
|
||
|
|
||
|
int mdm_statistic_parse_first;
|
||
|
int mdm_statistic_parse_last;
|
||
|
|
||
|
int fax_statistic_parse_first;
|
||
|
int fax_statistic_parse_last;
|
||
|
|
||
|
dword line_init_event;
|
||
|
dword modem_init_event;
|
||
|
dword fax_init_event;
|
||
|
|
||
|
dword pending_line_status;
|
||
|
dword pending_modem_status;
|
||
|
dword pending_fax_status;
|
||
|
|
||
|
dword clear_call_command;
|
||
|
|
||
|
int outgoing_ifc_stats;
|
||
|
int incoming_ifc_stats;
|
||
|
int modem_ifc_stats;
|
||
|
int fax_ifc_stats;
|
||
|
int b1_ifc_stats;
|
||
|
int b2_ifc_stats;
|
||
|
int d1_ifc_stats;
|
||
|
int d2_ifc_stats;
|
||
|
|
||
|
diva_trace_interface_state_t Interface;
|
||
|
diva_ifc_statistics_t InterfaceStat;
|
||
|
} diva_strace_context_t;
|
||
|
|
||
|
typedef struct _diva_man_var_header {
|
||
|
byte escape;
|
||
|
byte length;
|
||
|
byte management_id;
|
||
|
byte type;
|
||
|
byte attribute;
|
||
|
byte status;
|
||
|
byte value_length;
|
||
|
byte path_length;
|
||
|
} diva_man_var_header_t;
|
||
|
|
||
|
#endif
|
||
|
|