wanpipe/patches/kdrivers/include/wanpipe_api_deprecated.h

431 lines
16 KiB
C

/******************************************************************************//**
* \file wanpipe_api_deprecated.h
* \brief WANPIPE(tm) Driver API Interface -
* \brief Provies IO/Event API Only
*
* Copyright (c) 2007 - 08, Sangoma Technologies
* All rights reserved.
*
* * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the Sangoma Technologies nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY Sangoma Technologies ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL Sangoma Technologies BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* ===============================================================================
*/
#ifndef __WANPIPE_API_DEPRICATED_H_
#define __WANPIPE_API_DEPRICATED_H_
#pragma pack(1)
/***************************************************//**
DEPRECATED: TX Header Structure
Here for backward compile compatilbity
*******************************************************/
/*
\struct api_tdm_event_hdr_t
\brief Deprecated: Legacy tx tdm api event
*/
typedef struct {
u_int8_t type;
u_int8_t mode;
u_int8_t tone;
u_int16_t channel;
u_int16_t polarity;
u_int16_t ohttimer;
} api_tdm_event_hdr_t;
/*
\struct api_tx_ss7_hdr_t
\brief Deprecated: Legacy ss7 hdr structure
*/
typedef struct {
unsigned char type;
unsigned char force_tx;
unsigned char data[8];
} api_tx_ss7_hdr_t;
/*
\struct api_tx_hdlc_rpt_hdr_t
\brief Deprecated: Legacy rtp tap hdr structure
*/
typedef struct {
unsigned char repeat;
unsigned char len;
unsigned char data[8];
} api_tx_hdlc_rpt_hdr_t;
/*
\struct wan_api_tx_hdr_t
\brief Deprecated: Legacy tx hdr structure, there is only one hdr type for tx and rx now.
This structure is here for backward compatibility
*/
typedef struct {
union{
struct {
unsigned char attr;
unsigned char misc_Tx_bits;
}chdlc,hdlc,fr;
struct {
unsigned char _rbs_rx_bits;
unsigned int _time_stamp;
}wp_tx;
struct {
unsigned char sio;
unsigned short time_stamp;
}ss7_legacy;
struct {
unsigned char pf;
}lapb;
struct {
unsigned char pf;
}xdlc;
struct {
unsigned char station;
unsigned char misc_tx_rx_bits;
};
struct {
union {
api_tx_ss7_hdr_t ss7;
api_tx_hdlc_rpt_hdr_t hdlc_rpt;
api_tdm_event_hdr_t event;
}hdr_u;
}aft;
struct {
u_int8_t max_tx_queue_length; /* set on return from IoctlWriteCommand */
u_int8_t current_number_of_frames_in_tx_queue; /* set on return from IoctlWriteCommand */
}tx_h;
unsigned char reserved[WAN_MAX_HDR_SZ];
};
#define wp_api_tx_hdr_event_type aft.hdr_u.event.type
#define wp_api_tx_hdr_event_mode aft.hdr_u.event.mode
#define wp_api_tx_hdr_event_tone aft.hdr_u.event.tone
#define wp_api_tx_hdr_event_channel aft.hdr_u.event.channel
#define wp_api_tx_hdr_event_ohttimer aft.hdr_u.event.ohttimer
#define wp_api_tx_hdr_event_polarity aft.hdr_u.event.polarity
/* FR Old backdward comptabile */
#define wp_api_tx_hdr_fr_attr fr.attr
#define wp_api_tx_hdr_fr_misc_tx_bits fr.misc_Tx_bits
/* CHDLC Old backdward comptabile */
#define wp_api_tx_hdr_chdlc_attr chdlc.attr
#define wp_api_tx_hdr_chdlc_misc_tx_bits chdlc.misc_Tx_bits
/* SS7 Legacy Old backdward comptabile */
#define wp_api_tx_hdr_ss7_legacy_sio ss7_legacy.sio
#define wp_api_tx_hdr_ss7_legacy_time_stamp ss7_legacy.time_stamp
#define wp_api_tx_hdr_event_serial_status aft.hdr_u.event.tone
} wan_api_tx_hdr_t;
/* Backward compatible */
#define api_tx_hdr_t wan_api_tx_hdr_t
typedef struct {
wan_api_tx_hdr_t wan_api_tx_hdr;
#if defined(__WINDOWS__)
/* zero-sized array does not comply to ANSI 'C' standard! */
unsigned char data[1];
#else
unsigned char data[0];
#endif
}wan_api_tx_element_t;
/* Backward compatible */
# define api_tx_element_t wan_api_tx_element_t
#pragma pack()
/***************************************************//**
DEPRECATED: Backward compatible API Commands
*******************************************************/
#define wp_tdm_api_rx_hdr_t wp_api_hdr_t
#define wp_tdm_api_rx_element_t wp_api_element_t
#define wp_tdm_api_tx_hdr_t wp_api_hdr_t
#define wp_tdm_api_tx_element_t wp_api_element_t
/* Backward compatible IOCTLS */
#if defined (__WINDOWS__)
#define _IOCTL_CODE WANPIPE_IOCTL_CODE
#define IOCTL_WRITE WANPIPE_IOCTL_WRITE
#define IOCTL_READ WANPIPE_IOCTL_READ
#define IOCTL_MGMT WANPIPE_IOCTL_MGMT
#define IOCTL_SET_IDLE_TX_BUFFER WANPIPE_IOCTL_SET_IDLE_TX_BUFFER
#define IOCTL_API_POLL WANPIPE_IOCTL_API_POLL
#define IOCTL_SET_SHARED_EVENT WANPIPE_IOCTL_SET_SHARED_EVENT
#define IOCTL_PORT_MGMT WANPIPE_IOCTL_PORT_MGMT
#define IOCTL_PORT_CONFIG WANPIPE_IOCTL_PORT_CONFIG
#define SIOC_WAN_TDMV_API_IOCTL WANPIPE_IOCTL_TDM_API
#define SIOC_WANPIPE_PIPEMON WANPIPE_IOCTL_PIPEMON
#define SIOC_WANPIPE_SNMP_IFSPEED WANPIPE_IOCTL_SNMP_IFSPEED
#define SIOC_WANPIPE_SNMP WANPIPE_IOCTL_SNMP
#define SIOC_WAN_DEVEL_IOCTL WANPIPE_IOCTL_DEVEL
#endif
#define WP_TDMAPI_EVENT_FE_ALARM WP_TDMAPI_EVENT_ALARM
#define SIOC_WP_TDM_GET_LINK_STATUS SIOC_WP_TDM_GET_FE_STATUS
#define ROUTER_UP_TIME WANPIPEMON_ROUTER_UP_TIME
#define ENABLE_TRACING WANPIPEMON_ENABLE_TRACING
#define DISABLE_TRACING WANPIPEMON_DISABLE_TRACING
#define GET_TRACE_INFO WANPIPEMON_GET_TRACE_INFO
#define READ_CODE_VERSION WANPIPEMON_READ_CODE_VERSION
#define FLUSH_OPERATIONAL_STATS WANPIPEMON_FLUSH_OPERATIONAL_STATS
#define OPERATIONAL_STATS WANPIPEMON_OPERATIONAL_STATS
#define READ_OPERATIONAL_STATS WANPIPEMON_READ_OPERATIONAL_STATS
#define READ_CONFIGURATION WANPIPEMON_READ_CONFIGURATION
#define READ_COMMS_ERROR_STATS WANPIPEMON_READ_COMMS_ERROR_STATS
#define FLUSH_COMMS_ERROR_STATS WANPIPEMON_FLUSH_COMMS_ERROR_STATS
#define AFT_LINK_STATUS WANPIPEMON_AFT_LINK_STATUS
#define AFT_MODEM_STATUS WANPIPEMON_AFT_MODEM_STATUS
#define AFT_HWEC_STATUS WANPIPEMON_AFT_HWEC_STATUS
#define DIGITAL_LOOPTEST WANPIPEMON_DIGITAL_LOOPTEST
#define SET_FT1_MODE WANPIPEMON_SET_FT1_MODE
#define WAN_EC_IOCTL WANPIPEMON_EC_IOCTL
#define WAN_SET_RBS_BITS WANPIPEMON_SET_RBS_BITS
#define WAN_GET_RBS_BITS WANPIPEMON_GET_RBS_BITS
#define GET_OPEN_HANDLES_COUNTER WANPIPEMON_GET_OPEN_HANDLES_COUNTER
#define WAN_GET_HW_MAC_ADDR WANPIPEMON_GET_HW_MAC_ADDR
#define FLUSH_TX_BUFFERS WANPIPEMON_FLUSH_TX_BUFFERS
#define WAN_TDMV_API_IOCTL WANPIPEMON_TDM_API
#define WANPIPE_PROTOCOL_PRIVATE WANPIPEMON_DRIVER_PRIVATE
#if defined (__WINDOWS__)
/* definitions for compile-compatibility with older source code */
#define SIOC_AFT_CUSTOMER_ID WANPIPEMON_AFT_CUSTOMER_ID
#endif
/***************************************************//**
Backward Compatible Defines for wp_api_event_t structre
*******************************************************/
#define wp_tdm_api_event_type wp_api_event_type
#define wp_tdm_api_event_mode wp_api_event_mode
#define wp_tdm_api_event_channel wp_api_event_channel
#define wp_tdm_api_event_span wp_api_event_span
#define wp_tdm_api_event_alarm wp_api_event_alarm
#define wp_tdm_api_event_rbs_bits wp_api_event_rbs_bits
#define wp_tdm_api_event_hook_state wp_api_event_hook_state
#define wp_tdm_api_event_hook_sig wp_api_event_hook_sig
#define wp_tdm_api_event_ring_state wp_api_event_ring_state
#define wp_tdm_api_event_tone_type wp_api_event_tone_type
#define wp_tdm_api_event_dtmf_digit wp_api_event_dtmf_digit
#define wp_tdm_api_event_dtmf_type wp_api_event_dtmf_type
#define wp_tdm_api_event_dtmf_port wp_api_event_dtmf_port
#define wp_tdm_api_event_ohttimer wp_api_event_ohttimer
#define wp_tdm_api_event_polarity wp_api_event_polarity
#define wp_tdm_api_event_link_status wp_api_event_link_status
#define wp_serial_event_status wp_api_event_serial_status
#define wp_tdm_api_event_time_stamp_sec wp_api_event_time_stamp_sec
#define wp_tdm_api_event_time_stamp_usec wp_api_event_time_stamp_usec
/***************************************************//**
Backward Compatible Defines
*******************************************************/
/* Backward compatible define to wp_api_event_t */
#define wp_tdm_api_event_t wp_api_event_t
#if defined (__WINDOWS__)
#define net_device_stats wanpipe_chan_stats
#define net_device_stats_t wanpipe_chan_stats_t
#define OID_WANPIPEMON_IOCTL 19720123 /* used by wanpipe.sys (Sangoma NDIS) driver */
#endif
#define wan_api_rx_hdr_t wp_api_hdr_t
#define api_rx_hdr_t wp_api_hdr_t
#define api_header_t wp_api_hdr_t
#define wp_tdm_api_rx_hdr_t wp_api_hdr_t
#define TX_HDR_STRUCT wp_api_hdr_t
#define RX_HDR_STRUCT wan_api_rx_hdr_t
#define wan_rxapi_xdlc_state hdr.wan_hdr_xdlc_state
#define wan_rxapi_xdlc_address hdr.wan_hdr_xdlc_address
#define wan_rxapi_xdlc_exception hdr.wan_hdr_xdlc_exception
#define api_header hdr
#define api_rx_hdr hdr
#define api_rx_element_t wp_api_element_t
#define wan_api_rx_element_t wp_api_element_t
#define TX_RX_DATA_STRUCT wp_api_element_t
#define TX_DATA_STRUCT TX_RX_DATA_STRUCT
#define RX_DATA_STRUCT TX_RX_DATA_STRUCT
/***************************************************//**
DEPRECATED: Backward compatible API Commands
Deprecated by:
*******************************************************/
/*
\enum wanpipe_tdm_api_events
\brief DEPRECATED: Wanpipe Commands associated with WANPIPE_IOCTL_TDM_API Ioctl
Deprecated by enum wanpipe_tdm_api_events.
The TDM API commands are used to enable/disable tdm functions
on a TDM API device. These commands are deprecated and the
enum wanpipe_tdm_api_events commands defined in wanpipe_api_iface.h.
*/
enum wanpipe_tdm_api_events {
WP_TDMAPI_EVENT_NONE = WP_API_EVENT_NONE,
WP_TDMAPI_EVENT_DTMF = WP_API_EVENT_DTMF,
WP_TDMAPI_EVENT_RM_DTMF = WP_API_EVENT_RM_DTMF,
WP_TDMAPI_EVENT_RXHOOK = WP_API_EVENT_RXHOOK,
WP_TDMAPI_EVENT_RING = WP_API_EVENT_RING,
WP_TDMAPI_EVENT_TONE = WP_API_EVENT_TONE,
WP_TDMAPI_EVENT_RING_DETECT = WP_API_EVENT_RING_DETECT,
WP_TDMAPI_EVENT_TXSIG_KEWL = WP_API_EVENT_TXSIG_KEWL,
WP_TDMAPI_EVENT_TXSIG_START = WP_API_EVENT_TXSIG_START,
WP_TDMAPI_EVENT_TXSIG_OFFHOOK = WP_API_EVENT_TXSIG_OFFHOOK,
WP_TDMAPI_EVENT_TXSIG_ONHOOK = WP_API_EVENT_TXSIG_ONHOOK,
WP_TDMAPI_EVENT_ONHOOKTRANSFER = WP_API_EVENT_ONHOOKTRANSFER,
WP_TDMAPI_EVENT_SETPOLARITY = WP_API_EVENT_SETPOLARITY,
WP_TDMAPI_EVENT_BRI_CHAN_LOOPBACK = WP_API_EVENT_BRI_CHAN_LOOPBACK,
WP_TDMAPI_EVENT_RING_TRIP_DETECT = WP_API_EVENT_RING_TRIP_DETECT,
WP_TDMAPI_EVENT_RBS = WP_API_EVENT_RBS,
WP_TDMAPI_EVENT_ALARM = WP_API_EVENT_ALARM,
WP_TDMAPI_EVENT_LINK_STATUS = WP_API_EVENT_LINK_STATUS,
WP_TDMAPI_EVENT_MODEM_STATUS = WP_API_EVENT_MODEM_STATUS
};
enum wanpipe_tdm_api_cmds {
SIOC_WP_TDM_GET_USR_MTU_MRU = WP_API_CMD_GET_USR_MTU_MRU, /*!< Get Device tx/rx (CHUNK) in bytes, multiple of 8 */
SIOC_WP_TDM_SET_USR_PERIOD = WP_API_CMD_SET_USR_PERIOD, /*!< Set chunk period in miliseconds eg: 1ms = 8bytes */
SIOC_WP_TDM_GET_USR_PERIOD = WP_API_CMD_GET_USR_PERIOD, /*!< Get configured chunk period in miliseconds eg: 1ms = 8bytes */
SIOC_WP_TDM_SET_HW_MTU_MRU = WP_API_CMD_SET_HW_MTU_MRU, /*!< Set hw tx/rx chunk in bytes eg: 1ms = 8bytes */
SIOC_WP_TDM_GET_HW_MTU_MRU = WP_API_CMD_GET_HW_MTU_MRU, /*!< Get hw tx/rx chunk in bytes eg: 1ms = 8bytes */
SIOC_WP_TDM_SET_CODEC = WP_API_CMD_SET_CODEC, /*!< Set device codec (ulaw/alaw/slinear) */
SIOC_WP_TDM_GET_CODEC = WP_API_CMD_GET_CODEC, /*!< Get configured device codec (ulaw/alaw/slinear) */
SIOC_WP_TDM_SET_POWER_LEVEL = WP_API_CMD_SET_POWER_LEVEL, /*!< Not implemented */
SIOC_WP_TDM_GET_POWER_LEVEL = WP_API_CMD_GET_POWER_LEVEL, /*!< Not implemented */
SIOC_WP_TDM_TOGGLE_RX = WP_API_CMD_TOGGLE_RX, /*!< Disable/Enable RX on this device */
SIOC_WP_TDM_TOGGLE_TX = WP_API_CMD_TOGGLE_TX, /*!< Disable/Enable TX on this device */
SIOC_WP_TDM_GET_HW_CODING = WP_API_CMD_GET_HW_CODING, /*!< Get HW coding configuration (ulaw or alaw) */
SIOC_WP_TDM_SET_HW_CODING = WP_API_CMD_SET_HW_CODING, /*!< Set HW coding (ulaw or alaw) */
SIOC_WP_TDM_GET_FULL_CFG = WP_API_CMD_GET_FULL_CFG, /*!< Get full device configuration */
SIOC_WP_TDM_SET_EC_TAP = WP_API_CMD_SET_EC_TAP, /*!< Not implemented */
SIOC_WP_TDM_GET_EC_TAP = WP_API_CMD_GET_EC_TAP, /*!< Not implemented */
SIOC_WP_TDM_ENABLE_RBS_EVENTS = WP_API_CMD_ENABLE_RBS_EVENTS, /*!< Enable RBS Event monitoring */
SIOC_WP_TDM_DISABLE_RBS_EVENTS = WP_API_CMD_DISABLE_RBS_EVENTS, /*!< Disable RBS Event monitoring */
SIOC_WP_TDM_WRITE_RBS_BITS = WP_API_CMD_WRITE_RBS_BITS, /*!< Write RBS bits (ABCD) */
SIOC_WP_TDM_GET_STATS = WP_API_CMD_GET_STATS, /*!< Get device statistics */
SIOC_WP_TDM_FLUSH_BUFFERS = WP_API_CMD_FLUSH_BUFFERS, /*!< Flush Buffers */
SIOC_WP_TDM_READ_EVENT = WP_API_CMD_READ_EVENT, /*!< */
SIOC_WP_TDM_SET_EVENT = WP_API_CMD_SET_EVENT, /*!< */
SIOC_WP_TDM_SET_RX_GAINS = WP_API_CMD_SET_RX_GAINS, /*!< */
SIOC_WP_TDM_SET_TX_GAINS = WP_API_CMD_SET_TX_GAINS, /*!< */
SIOC_WP_TDM_CLEAR_RX_GAINS = WP_API_CMD_CLEAR_RX_GAINS, /*!< */
SIOC_WP_TDM_CLEAR_TX_GAINS = WP_API_CMD_CLEAR_TX_GAINS, /*!< */
SIOC_WP_TDM_GET_FE_ALARMS = WP_API_CMD_GET_FE_ALARMS, /*!< */
SIOC_WP_TDM_ENABLE_HWEC = WP_API_CMD_ENABLE_HWEC, /*!< */
SIOC_WP_TDM_DISABLE_HWEC = WP_API_CMD_DISABLE_HWEC, /*!< */
SIOC_WP_TDM_SET_FE_STATUS = WP_API_CMD_SET_FE_STATUS, /*!< */
SIOC_WP_TDM_GET_FE_STATUS = WP_API_CMD_GET_FE_STATUS, /*!< */
SIOC_WP_TDM_GET_HW_DTMF = WP_API_CMD_GET_HW_DTMF, /*!< */
SIOC_WP_TDM_DRV_MGMNT = WP_API_CMD_DRV_MGMNT, /*!< */
SIOC_WP_TDM_RESET_STATS = WP_API_CMD_RESET_STATS, /*!< Reset device statistics */
SIOC_WP_TDM_NOTSUPP = WP_API_CMD_NOTSUPP, /*!< */
};
#define WANPIPE_IOCTL_TDM_API WANPIPE_IOCTL_API_CMD
#define WP_TDMAPI_EVENT_ENABLE WP_API_EVENT_ENABLE
#define WP_TDMAPI_EVENT_DISABLE WP_API_EVENT_DISABLE
#define WP_TDMAPI_EVENT_MODE_DECODE WP_API_EVENT_MODE_DECODE
#define WP_TDMAPI_EVENT_RXHOOK_OFF WP_API_EVENT_RXHOOK_OFF
#define WP_TDMAPI_EVENT_RXHOOK_ON WP_API_EVENT_RXHOOK_ON
#define WP_TDMAPI_EVENT_RXHOOK_DECODE WP_API_EVENT_RXHOOK_DECODE
#define WP_TDMAPI_EVENT_RING_PRESENT WP_API_EVENT_RING_PRESENT
#define WP_TDMAPI_EVENT_RING_STOP WP_API_EVENT_RING_STOP
#define WP_TDMAPI_EVENT_RING_DECODE WP_API_EVENT_RING_DECODE
#define WP_TDMAPI_EVENT_RING_TRIP_PRESENT WP_API_EVENT_RING_TRIP_PRESENT
#define WP_TDMAPI_EVENT_RING_TRIP_STOP WP_API_EVENT_RING_TRIP_STOP
#define WP_TDMAPI_EVENT_RING_TRIP_DECODE WP_API_EVENT_RING_TRIP_DECODE
/*Link Status */
#define WP_TDMAPI_EVENT_LINK_STATUS_CONNECTED WP_API_EVENT_LINK_STATUS_CONNECTED
#define WP_TDMAPI_EVENT_LINK_STATUS_DISCONNECTED WP_API_EVENT_LINK_STATUS_DISCONNECTED
#define WP_TDMAPI_EVENT_LINK_STATUS_DECODE WP_API_EVENT_LINK_STATUS_DECODE
#define WP_TDMAPI_EVENT_TONE_DIAL WP_API_EVENT_TONE_DIAL
#define WP_TDMAPI_EVENT_TONE_BUSY WP_API_EVENT_TONE_BUSY
#define WP_TDMAPI_EVENT_TONE_RING WP_API_EVENT_TONE_RING
#define WP_TDMAPI_EVENT_TONE_CONGESTION WP_API_EVENT_TONE_CONGESTION
#define wp_tdm_chan_stats_t wanpipe_chan_stats_t
#define wanpipe_tdm_cfg_t wanpipe_api_cfg_t
#define wanpipe_tdm_api_cmd_t wanpipe_api_cmd_t
#define wanpipe_tdm_api_event_t wanpipe_api_callbacks_t
#define wanpipe_tdm_api_t wanpipe_api_t
#define wanpipe_api_cfg_t wanpipe_api_dev_cfg_t
#define wp_tdm_cmd wp_cmd
#define wp_tdm_event wp_callback
#define WP_TDM_FEATURE_DTMF_EVENTS WP_API_FEATURE_DTMF_EVENTS
#define WP_TDM_FEATURE_FE_ALARM WP_API_FEATURE_FE_ALARM
#define WP_TDM_FEATURE_EVENTS WP_API_FEATURE_EVENTS
#define WP_TDM_FEATURE_LINK_STATUS WP_API_FEATURE_LINK_STATUS
#define SANG_STATUS_TDM_EVENT_AVAILABLE SANG_STATUS_API_EVENT_AVAILABLE
#endif