#include "wanpipe_api_hdr.h"
Include dependency graph for wanpipe_api_iface.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Classes | |
struct | wanpipe_chan_stats |
TDM API channel statistics. More... | |
struct | wanpipe_api_dev_cfg |
TDM API Device Configuration Structure. More... | |
struct | wanpipe_api_cmd |
Wanpipe API Device Configuration Structure used with WANPIPE_IOCTL_API_CMD. More... | |
struct | wanpipe_api_callbacks |
Wanpipe API Callback Structure. More... | |
struct | wanpipe_api |
Wanpipe API Command Structure. More... | |
Defines | |
#define | WP_API_FEATURE_DTMF_EVENTS 1 |
Indicates to developer that dtmf feature is available. | |
#define | WP_API_FEATURE_FE_ALARM 1 |
Indicates to developer that fe alarm feature is available. | |
#define | WP_API_FEATURE_EVENTS 1 |
Indicates to developer that events feature is available. | |
#define | WP_API_FEATURE_LINK_STATUS 1 |
Indicates to developer that link status feature is available. | |
#define | WP_API_EVENT_ENABLE 0x01 |
Option to enable event. | |
#define | WP_API_EVENT_DISABLE 0x02 |
Option to disable event. | |
#define | WP_API_EVENT_MODE_DECODE(mode) |
Option to print decode event mode (enable/disable). | |
#define | WPTDM_A_BIT WAN_RBS_SIG_A |
RBS BIT A. | |
#define | WPTDM_B_BIT WAN_RBS_SIG_B |
RBS BIT B. | |
#define | WPTDM_C_BIT WAN_RBS_SIG_C |
RBS BIT C. | |
#define | WPTDM_D_BIT WAN_RBS_SIG_D |
#define | WP_API_EVENT_RXHOOK_OFF 0x01 |
Rx Off Hook indication value. | |
#define | WP_API_EVENT_RXHOOK_ON 0x02 |
Rx ON Hook indication value. | |
#define | WP_API_EVENT_RXHOOK_DECODE(state) |
Print out the hook state. | |
#define | WP_API_EVENT_RING_PRESENT 0x01 |
Ring Present Value. | |
#define | WP_API_EVENT_RING_STOP 0x02 |
Ring Stop Value. | |
#define | WP_API_EVENT_RING_DECODE(state) |
Print out the Ring state. | |
#define | WP_API_EVENT_RING_TRIP_PRESENT 0x01 |
Ring Trip Present Value. | |
#define | WP_API_EVENT_RING_TRIP_STOP 0x02 |
Ring Trip Stop Value. | |
#define | WP_API_EVENT_RING_TRIP_DECODE(state) |
Print out the Ring Trip state. | |
#define | WP_API_EVENT_LINK_STATUS_CONNECTED 0x01 |
Link Connected state value. | |
#define | WP_API_EVENT_LINK_STATUS_DISCONNECTED 0x02 |
Link Disconnected state value. | |
#define | WP_API_EVENT_LINK_STATUS_DECODE(status) |
Print out the Link state. | |
#define | WP_API_EVENT_TONE_DIAL 0x01 |
Dial tone value. | |
#define | WP_API_EVENT_TONE_BUSY 0x02 |
Busy tone value. | |
#define | WP_API_EVENT_TONE_RING 0x03 |
Ring tone value. | |
#define | WP_API_EVENT_TONE_CONGESTION 0x04 |
Contestion tone value. | |
#define | WAN_BRI_BCHAN1 0x01 |
BRI Channel 1. | |
#define | WAN_BRI_BCHAN2 0x02 |
BRI Channel 2. | |
#define | WAN_BRI_DCHAN 0x03 |
BRI Dchan Channel. | |
#define | WP_AFT_CHAN_ERROR_STATS(chan, var) chan->chan_stats.var++;chan->chan_stats.errors++ |
#define | WANPIPE_API_CMD_SZ 512 |
#define | WANPIPE_API_CMD_SZ_UNION WANPIPE_API_CMD_SZ - (sizeof(unsigned int)*3) - (sizeof(unsigned char)*2) |
Typedefs | |
typedef int | sng_fd_t |
Windows/Unix file handle abstraction. | |
typedef wanpipe_chan_stats | wanpipe_chan_stats_t |
typedef wanpipe_api_dev_cfg | wanpipe_api_dev_cfg_t |
typedef wanpipe_api_cmd | wanpipe_api_cmd_t |
typedef wanpipe_api_callbacks | wanpipe_api_callbacks_t |
typedef wanpipe_api | wanpipe_api_t |
Enumerations | |
enum | WANPIPE_IOCTL_CODE { WANPIPE_IOCTL_WRITE = 1, WANPIPE_IOCTL_READ, WANPIPE_IOCTL_MGMT, WANPIPE_IOCTL_SET_IDLE_TX_BUFFER, WANPIPE_IOCTL_API_POLL, WANPIPE_IOCTL_SET_SHARED_EVENT, WANPIPE_IOCTL_PORT_MGMT, WANPIPE_IOCTL_PORT_CONFIG, WANPIPE_IOCTL_API_CMD, WANPIPE_IOCTL_PIPEMON, WANPIPE_IOCTL_SNMP, WANPIPE_IOCTL_SNMP_IFSPEED, WANPIPE_IOCTL_DEVEL } |
Wanpipe IOCTL Commands. More... | |
enum | WANPIPE_IOCTL_PIPEMON_CMDS { WANPIPEMON_ROUTER_UP_TIME = 0x50, WANPIPEMON_ENABLE_TRACING, WANPIPEMON_DISABLE_TRACING, WANPIPEMON_GET_TRACE_INFO, WANPIPEMON_READ_CODE_VERSION, WANPIPEMON_FLUSH_OPERATIONAL_STATS, WANPIPEMON_OPERATIONAL_STATS, WANPIPEMON_READ_OPERATIONAL_STATS, WANPIPEMON_READ_CONFIGURATION, WANPIPEMON_READ_COMMS_ERROR_STATS, WANPIPEMON_FLUSH_COMMS_ERROR_STATS, WANPIPEMON_AFT_LINK_STATUS, WANPIPEMON_AFT_MODEM_STATUS, WANPIPEMON_AFT_HWEC_STATUS, WANPIPEMON_DIGITAL_LOOPTEST, WANPIPEMON_SET_FT1_MODE, WANPIPEMON_GET_OPEN_HANDLES_COUNTER, WANPIPEMON_GET_CARD_TYPE, WANPIPEMON_API_NOT_USED, WANPIPEMON_GET_HW_MAC_ADDR, WANPIPEMON_FLUSH_TX_BUFFERS, WANPIPEMON_WAN_EC_IOCTL, WANPIPEMON_WAN_SET_RBS_BITS, WANPIPEMON_WAN_GET_RBS_BITS, WANPIPEMON_AFT_CUSTOMER_ID, WANPIPEMON_FT1_READ_STATUS, WANPIPEMON_DRIVER_STAT_IFSEND, WANPIPEMON_DRIVER_STAT_INTR, WANPIPEMON_DRIVER_STAT_GEN, WANPIPEMON_FLUSH_DRIVER_STATS, WANPIPEMON_GET_IBA_DATA, WANPIPEMON_TDM_API, WANPIPEMON_PROTOCOL_PRIVATE } |
Commands used with WANPIPE_IOCTL_PIPEMON IOCTL. More... | |
enum | wanpipe_api_cmds { WP_API_CMD_GET_USR_MTU_MRU, WP_API_CMD_SET_USR_PERIOD, WP_API_CMD_GET_USR_PERIOD, WP_API_CMD_SET_HW_MTU_MRU, WP_API_CMD_GET_HW_MTU_MRU, WP_API_CMD_SET_CODEC, WP_API_CMD_GET_CODEC, WP_API_CMD_SET_POWER_LEVEL, WP_API_CMD_GET_POWER_LEVEL, WP_API_CMD_TOGGLE_RX, WP_API_CMD_TOGGLE_TX, WP_API_CMD_GET_HW_CODING, WP_API_CMD_SET_HW_CODING, WP_API_CMD_GET_FULL_CFG, WP_API_CMD_SET_EC_TAP, WP_API_CMD_GET_EC_TAP, WP_API_CMD_ENABLE_RBS_EVENTS, WP_API_CMD_DISABLE_RBS_EVENTS, WP_API_CMD_WRITE_RBS_BITS, WP_API_CMD_READ_RBS_BITS, WP_API_CMD_GET_STATS, WP_API_CMD_FLUSH_BUFFERS, WP_API_CMD_FLUSH_TX_BUFFERS, WP_API_CMD_FLUSH_RX_BUFFERS, WP_API_CMD_FLUSH_EVENT_BUFFERS, WP_API_CMD_READ_EVENT, WP_API_CMD_SET_EVENT, WP_API_CMD_SET_RX_GAINS, WP_API_CMD_SET_TX_GAINS, WP_API_CMD_CLEAR_RX_GAINS, WP_API_CMD_CLEAR_TX_GAINS, WP_API_CMD_GET_FE_ALARMS, WP_API_CMD_ENABLE_HWEC, WP_API_CMD_DISABLE_HWEC, WP_API_CMD_SET_FE_STATUS, WP_API_CMD_GET_FE_STATUS, WP_API_CMD_GET_HW_DTMF, WP_API_CMD_DRV_MGMNT, WP_API_CMD_RESET_STATS, WP_API_CMD_DRIVER_VERSION, WP_API_CMD_FIRMWARE_VERSION, WP_API_CMD_CPLD_VERSION, WP_API_CMD_OPEN_CNT, WP_API_CMD_NOTSUPP } |
Commands used with WANPIPE_IOCTL_API_CMD IOCTL. More... | |
enum | wanpipe_api_events { WP_API_EVENT_NONE, WP_API_EVENT_RBS, WP_API_EVENT_ALARM, WP_API_EVENT_DTMF, WP_API_EVENT_RM_DTMF, WP_API_EVENT_RXHOOK, WP_API_EVENT_RING, WP_API_EVENT_RING_DETECT, WP_API_EVENT_RING_TRIP_DETECT, WP_API_EVENT_TONE, WP_API_EVENT_TXSIG_KEWL, WP_API_EVENT_TXSIG_START, WP_API_EVENT_TXSIG_OFFHOOK, WP_API_EVENT_TXSIG_ONHOOK, WP_API_EVENT_ONHOOKTRANSFER, WP_API_EVENT_SETPOLARITY, WP_API_EVENT_BRI_CHAN_LOOPBACK, WP_API_EVENT_LINK_STATUS, WP_API_EVENT_MODEM_STATUS } |
Events available on wanpipe api device. More... |
Authors: Nenad Corbic <ncorbic@sangoma.com> David Rokhvarg <davidr@sangoma.com>
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 ===============================================================================
Definition in file wanpipe_api_iface.h.
#define WP_API_EVENT_MODE_DECODE | ( | mode | ) |
Value:
((mode) == WP_API_EVENT_ENABLE) ? "Enable" : \ ((mode) == WP_API_EVENT_DISABLE) ? "Disable" : \ "(Unknown mode)"
Definition at line 238 of file wanpipe_api_iface.h.
#define WP_API_EVENT_RXHOOK_DECODE | ( | state | ) |
Value:
((state) == WP_API_EVENT_RXHOOK_OFF) ? "Off-hook" : \ ((state) == WP_API_EVENT_RXHOOK_ON) ? "On-hook" : \ "(Unknown state)"
Definition at line 269 of file wanpipe_api_iface.h.
#define WP_API_EVENT_RING_DECODE | ( | state | ) |
Value:
((state) == WP_API_EVENT_RING_PRESENT) ? "Ring Present" : \ ((state) == WP_API_EVENT_RING_STOP) ? "Ring Stop" : \ "(Unknown state)"
Definition at line 283 of file wanpipe_api_iface.h.
#define WP_API_EVENT_RING_TRIP_DECODE | ( | state | ) |
Value:
((state) == WP_API_EVENT_RING_TRIP_PRESENT) ? "Ring Present" : \ ((state) == WP_API_EVENT_RING_TRIP_STOP) ? "Ring Stop" : \ "(Unknown state)"
Definition at line 298 of file wanpipe_api_iface.h.
#define WP_API_EVENT_LINK_STATUS_DECODE | ( | status | ) |
Value:
((status) == WP_API_EVENT_LINK_STATUS_CONNECTED) ? "Connected" : \ ((status) == WP_API_EVENT_LINK_STATUS_DISCONNECTED) ? "Disconnected" : \ "Unknown"
Definition at line 313 of file wanpipe_api_iface.h.
enum WANPIPE_IOCTL_CODE |
Wanpipe IOCTL Commands.
Wanpipe System/IOCTL Commands for API Devices The system calls perform, configration/management/operation/io
Definition at line 74 of file wanpipe_api_iface.h.
00074 { 00075 WANPIPE_IOCTL_WRITE=1, 00076 WANPIPE_IOCTL_READ, 00077 WANPIPE_IOCTL_MGMT, 00078 WANPIPE_IOCTL_SET_IDLE_TX_BUFFER, 00079 WANPIPE_IOCTL_API_POLL, 00080 WANPIPE_IOCTL_SET_SHARED_EVENT, 00081 WANPIPE_IOCTL_PORT_MGMT, 00082 WANPIPE_IOCTL_PORT_CONFIG, 00083 WANPIPE_IOCTL_API_CMD, 00084 WANPIPE_IOCTL_PIPEMON, 00085 WANPIPE_IOCTL_SNMP, 00086 WANPIPE_IOCTL_SNMP_IFSPEED, 00087 WANPIPE_IOCTL_DEVEL 00088 };
Commands used with WANPIPE_IOCTL_PIPEMON IOCTL.
Definition at line 95 of file wanpipe_api_iface.h.
00095 { 00096 WANPIPEMON_ROUTER_UP_TIME = 0x50, 00097 WANPIPEMON_ENABLE_TRACING, 00098 WANPIPEMON_DISABLE_TRACING, 00099 WANPIPEMON_GET_TRACE_INFO, 00100 WANPIPEMON_READ_CODE_VERSION, 00101 WANPIPEMON_FLUSH_OPERATIONAL_STATS, 00102 WANPIPEMON_OPERATIONAL_STATS, 00103 WANPIPEMON_READ_OPERATIONAL_STATS, 00104 WANPIPEMON_READ_CONFIGURATION, 00105 WANPIPEMON_READ_COMMS_ERROR_STATS, 00106 WANPIPEMON_FLUSH_COMMS_ERROR_STATS, 00107 WANPIPEMON_AFT_LINK_STATUS, 00108 WANPIPEMON_AFT_MODEM_STATUS, 00109 WANPIPEMON_AFT_HWEC_STATUS, 00110 WANPIPEMON_DIGITAL_LOOPTEST, 00111 WANPIPEMON_SET_FT1_MODE, 00113 WANPIPEMON_GET_OPEN_HANDLES_COUNTER, 00114 WANPIPEMON_GET_CARD_TYPE, 00115 WANPIPEMON_API_NOT_USED, 00116 WANPIPEMON_GET_HW_MAC_ADDR, 00117 WANPIPEMON_FLUSH_TX_BUFFERS, 00118 WANPIPEMON_WAN_EC_IOCTL, 00119 WANPIPEMON_WAN_SET_RBS_BITS, 00120 WANPIPEMON_WAN_GET_RBS_BITS, 00121 WANPIPEMON_AFT_CUSTOMER_ID, 00122 WANPIPEMON_FT1_READ_STATUS, 00124 WANPIPEMON_DRIVER_STAT_IFSEND, 00125 WANPIPEMON_DRIVER_STAT_INTR, 00126 WANPIPEMON_DRIVER_STAT_GEN, 00127 WANPIPEMON_FLUSH_DRIVER_STATS, 00128 WANPIPEMON_GET_IBA_DATA, 00129 WANPIPEMON_TDM_API, 00131 WANPIPEMON_PROTOCOL_PRIVATE 00132 };
enum wanpipe_api_cmds |
Commands used with WANPIPE_IOCTL_API_CMD IOCTL.
Definition at line 139 of file wanpipe_api_iface.h.
00140 { 00141 00142 WP_API_CMD_GET_USR_MTU_MRU, 00143 WP_API_CMD_SET_USR_PERIOD, 00144 WP_API_CMD_GET_USR_PERIOD, 00145 WP_API_CMD_SET_HW_MTU_MRU, 00146 WP_API_CMD_GET_HW_MTU_MRU, 00147 WP_API_CMD_SET_CODEC, 00148 WP_API_CMD_GET_CODEC, 00149 WP_API_CMD_SET_POWER_LEVEL, 00150 WP_API_CMD_GET_POWER_LEVEL, 00151 WP_API_CMD_TOGGLE_RX, 00152 WP_API_CMD_TOGGLE_TX, 00153 WP_API_CMD_GET_HW_CODING, 00154 WP_API_CMD_SET_HW_CODING, 00155 WP_API_CMD_GET_FULL_CFG, 00156 WP_API_CMD_SET_EC_TAP, 00157 WP_API_CMD_GET_EC_TAP, 00158 WP_API_CMD_ENABLE_RBS_EVENTS, 00159 WP_API_CMD_DISABLE_RBS_EVENTS, 00160 WP_API_CMD_WRITE_RBS_BITS, 00161 WP_API_CMD_READ_RBS_BITS, 00162 WP_API_CMD_GET_STATS, 00163 WP_API_CMD_FLUSH_BUFFERS, 00164 WP_API_CMD_FLUSH_TX_BUFFERS, 00165 WP_API_CMD_FLUSH_RX_BUFFERS, 00166 WP_API_CMD_FLUSH_EVENT_BUFFERS, 00167 WP_API_CMD_READ_EVENT, 00168 WP_API_CMD_SET_EVENT, 00169 WP_API_CMD_SET_RX_GAINS, 00170 WP_API_CMD_SET_TX_GAINS, 00171 WP_API_CMD_CLEAR_RX_GAINS, 00172 WP_API_CMD_CLEAR_TX_GAINS, 00173 WP_API_CMD_GET_FE_ALARMS, 00174 WP_API_CMD_ENABLE_HWEC, 00175 WP_API_CMD_DISABLE_HWEC, 00176 WP_API_CMD_SET_FE_STATUS, 00177 WP_API_CMD_GET_FE_STATUS, 00178 WP_API_CMD_GET_HW_DTMF, 00179 WP_API_CMD_DRV_MGMNT, 00180 WP_API_CMD_RESET_STATS, 00181 WP_API_CMD_DRIVER_VERSION, 00182 WP_API_CMD_FIRMWARE_VERSION, 00183 WP_API_CMD_CPLD_VERSION, 00184 WP_API_CMD_OPEN_CNT, 00186 WP_API_CMD_NOTSUPP 00187 };
enum wanpipe_api_events |
Events available on wanpipe api device.
The events are can be enabled or disabled by application. Events are passed up to the user application by the driver. If event occours and applicatoin has enabled such event, then event is passed up to the api device. User application will receive a poll() signal idicating that event has occoured.
Definition at line 203 of file wanpipe_api_iface.h.
00204 { 00205 WP_API_EVENT_NONE, 00206 WP_API_EVENT_RBS, 00207 WP_API_EVENT_ALARM, 00208 WP_API_EVENT_DTMF, 00209 WP_API_EVENT_RM_DTMF, 00210 WP_API_EVENT_RXHOOK, 00211 WP_API_EVENT_RING, 00212 WP_API_EVENT_RING_DETECT, 00213 WP_API_EVENT_RING_TRIP_DETECT, 00214 WP_API_EVENT_TONE, 00215 WP_API_EVENT_TXSIG_KEWL, 00216 WP_API_EVENT_TXSIG_START, 00217 WP_API_EVENT_TXSIG_OFFHOOK, 00218 WP_API_EVENT_TXSIG_ONHOOK, 00219 WP_API_EVENT_ONHOOKTRANSFER, 00220 WP_API_EVENT_SETPOLARITY, 00221 WP_API_EVENT_BRI_CHAN_LOOPBACK, 00222 WP_API_EVENT_LINK_STATUS, 00223 WP_API_EVENT_MODEM_STATUS 00224 };