/*
*
Copyright (c) Eicon Networks, 2002.
*
This source file is supplied for the use with
Eicon Networks range of DIVA Server Adapters.
*
Eicon File Revision : 2.1
*
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.
*
*/
/*#define DEBUG */
#define IMPLEMENT_DTMF 1
#define IMPLEMENT_LINE_INTERCONNECT2 1
#define IMPLEMENT_ECHO_CANCELLER 1
#define IMPLEMENT_RTP 1
#define IMPLEMENT_T38 1
#define IMPLEMENT_FAX_SUB_SEP_PWD 1
#define IMPLEMENT_V18 1
#define IMPLEMENT_DTMF_TONE 1
#define IMPLEMENT_PIAFS 1
#define IMPLEMENT_FAX_PAPER_FORMATS 1
#define IMPLEMENT_VOWN 1
#define IMPLEMENT_CAPIDTMF 1
#define IMPLEMENT_FAX_NONSTANDARD 1
#define VSWITCH_SUPPORT 1
#define IMPLEMENT_LINE_INTERCONNECT 0
#define IMPLEMENT_MARKED_OK_AFTER_FC 1
#include "capidtmf.h"
/*------------------------------------------------------------------*/
/* Common API internal definitions */
/*------------------------------------------------------------------*/
#define MAX_APPL 240
#define MAX_NCCI 127
#define MSG_IN_QUEUE_SIZE ((4096 + 3) & 0xfffc) /* must be multiple of 4 */
#define MSG_IN_OVERHEAD sizeof(APPL *)
#define MAX_NL_CHANNEL 255
#define MAX_DATA_B3 8
#define MAX_DATA_ACK MAX_DATA_B3
#define MAX_MULTI_IE 6
#define MAX_MSG_SIZE 256
#define MAX_MSG_PARMS 10
#define MAX_CPN_MASK_SIZE 16
#define MAX_MSN_CONFIG 10
#define EXT_CONTROLLER 0x80
#define CODEC 0x01
#define CODEC_PERMANENT 0x02
#define ADV_VOICE 0x03
#define MAX_CIP_TYPES 5 /* kind of CIP types for group optimization */
#define C_IND_MASK_DWORDS ((MAX_APPL+32) >> 5)
#define FAX_CONNECT_INFO_BUFFER_SIZE 256
#define NCPI_BUFFER_SIZE 256
#define MAX_CHANNELS_PER_PLCI 8
#define MAX_INTERNAL_COMMAND_LEVELS 4
#define INTERNAL_REQ_BUFFER_SIZE 272
#define INTERNAL_IND_BUFFER_SIZE 768
#define DTMF_PARAMETER_BUFFER_SIZE 12
#define ADV_VOICE_COEF_BUFFER_SIZE 50
#define LI_PLCI_B_QUEUE_ENTRIES 256
typedef struct _APPL APPL;
typedef struct _PLCI PLCI;
typedef struct _NCCI NCCI;
typedef struct _DIVA_CAPI_ADAPTER DIVA_CAPI_ADAPTER;
typedef struct _DATA_B3_DESC DATA_B3_DESC;
typedef struct _DATA_ACK_DESC DATA_ACK_DESC;
typedef struct manufacturer_profile_s MANUFACTURER_PROFILE;
typedef struct fax_ncpi_s FAX_NCPI;
typedef struct api_parse_s API_PARSE;
typedef struct api_save_s API_SAVE;
typedef struct msn_config_s MSN_CONFIG;
typedef struct msn_config_max_s MSN_CONFIG_MAX;
typedef struct msn_ld_s MSN_LD;
struct manufacturer_profile_s {
dword private_options;
dword rtp_primary_payloads;
dword rtp_additional_payloads;
};
struct fax_ncpi_s {
word options;
word format;
};
struct msn_config_s {
byte msn[MAX_CPN_MASK_SIZE];
};
struct msn_config_max_s {
MSN_CONFIG msn_conf[MAX_MSN_CONFIG];
};
struct msn_ld_s {
dword low<