Logo Search packages:      
Sourcecode: linux version File versions  Download package

maintidi.h

/*
 *
  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


Generated by  Doxygen 1.6.0   Back to index