wanpipe_api.h

Go to the documentation of this file.
00001 /******************************************************************************/
00036 #ifndef _AFT_CORE_API_H__
00037 #define _AFT_CORE_API_H__
00038 
00039 #include "aft_core_user.h"
00040 #include "wanpipe_api_hdr.h"
00041 #include "wanpipe_api_iface.h"
00042 
00055 #define WP_API_EVENT_SET        0x01
00056 #define WP_API_EVENT_GET        0x02
00057 #define WP_API_EVENT_ENABLE     0x01
00058 #define WP_API_EVENT_DISABLE    0x02
00059 
00060 #define WP_API_EVENT_MODE_DECODE(mode)                  \
00061         ((mode) == WP_API_EVENT_ENABLE) ? "Enable" :        \
00062         ((mode) == WP_API_EVENT_DISABLE) ? "Disable" :      \
00063                         "(Unknown mode)"
00064 
00065 #define WP_API_EVENT_RXHOOK_OFF     0x01
00066 #define WP_API_EVENT_RXHOOK_ON      0x02
00067 
00068 #define WP_API_EVENT_RING_PRESENT   0x01
00069 #define WP_API_EVENT_RING_STOP      0x02
00070 
00071 /* tone type */
00072 #define WP_API_EVENT_TONE_DIAL      0x01
00073 #define WP_API_EVENT_TONE_BUSY      0x02
00074 #define WP_API_EVENT_TONE_RING      0x03
00075 #define WP_API_EVENT_TONE_CONGESTION    0x04
00076 
00077 /***************************************************************/
00084 #include "wanpipe_api_hdr.h"
00085 
00086 
00087 /****************************************************************/
00090 #include "wanpipe_api_legacy.h"
00091 
00092 
00093 /*================================================================
00094  * UDP API Structure
00095  *================================================================*/
00096 
00097 #define GLOBAL_UDP_SIGNATURE        "WANPIPE"
00098 #define GLOBAL_UDP_SIGNATURE_LEN    7
00099 #define UDPMGMT_UDP_PROTOCOL        0x11
00100 
00101 #pragma pack(1)
00102 
00109 typedef struct wan_mgmt{
00110     unsigned char   signature[8];
00111     unsigned char   request_reply;
00112     unsigned char   id;
00113     unsigned char   reserved[6];
00114 } wan_mgmt_t;
00115 
00125 typedef struct wan_udp_hdr{
00126     wan_mgmt_t  wan_mgmt;       
00127     wan_cmd_t   wan_cmd;        
00128     union {
00129         struct {
00130             wan_trace_info_t    trace_info;                 
00131             unsigned char       data[WAN_MAX_DATA_SIZE];    
00132         } chdlc, adsl, atm, ss7,bitstrm,aft;
00133 #define xilinx aft
00134         //unsigned char data[WAN_MAX_DATA_SIZE];
00135     } wan_udphdr_u;
00136 #define wan_udphdr_signature            wan_mgmt.signature
00137 #define wan_udphdr_request_reply        wan_mgmt.request_reply
00138 #define wan_udphdr_id                   wan_mgmt.id
00139 #define wan_udphdr_opp_flag             wan_cmd.wan_cmd_opp_flag
00140 #define wan_udphdr_command              wan_cmd.wan_cmd_command
00141 #define wan_udphdr_data_len             wan_cmd.wan_cmd_data_len
00142 #define wan_udphdr_return_code          wan_cmd.wan_cmd_return_code
00143 #define wan_udphdr_fe_force             wan_cmd.wan_cmd_fe_force
00144 #define wan_udphdr_hdlc_PF_bit          wan_cmd.wan_cmd_hdlc_PF_bit
00145 #define wan_udphdr_fr_dlci              wan_cmd.wan_cmd_fr_dlci
00146 #define wan_udphdr_fr_attr              wan_cmd.wan_cmd_fr_attr
00147 #define wan_udphdr_fr_rxlost1           wan_cmd.wan_cmd_fr_rxlost1
00148 #define wan_udphdr_fr_rxlost2           wan_cmd.wan_cmd_fr_rxlost2
00149 #define wan_udphdr_x25_pf               wan_cmd.wan_cmd_x25_pf
00150 #define wan_udphdr_x25_lcn              wan_cmd.wan_cmd_x25_lcn
00151 #define wan_udphdr_x25_qdm              wan_cmd.wan_cmd_x25_qdm
00152 #define wan_udphdr_x25_cause            wan_cmd.wan_cmd_x25_cause
00153 #define wan_udphdr_x25_diagn            wan_cmd.wan_cmd_x25_diagn
00154 #define wan_udphdr_x25_pktType          wan_cmd.wan_cmd_x25_pktType
00155 #define wan_udphdr_bscstrm_misc_bits        wan_cmd.wan_cmd_bscstrm_misc_bits
00156 #define wan_udphdr_bscstrm_Rx_err_bits      wan_cmd.wan_cmd_bscstrm_Rx_err_bits
00157 #define wan_udphdr_bscstrm_Rx_time_stamp    wan_cmd.wan_cmd_bscstrm_Rx_time_stamp
00158 #define wan_udphdr_bscstrm_port             wan_cmd.wan_cmd_bscstrm_port
00159 #define wan_udphdr_bsc_misc_bits            wan_cmd.wan_cmd_bsc_misc_bit
00160 #define wan_udphdr_bsc_misc_heading_len     wan_cmd.wan_cmd_bsc_misc_heading_len
00161 #define wan_udphdr_bsc_misc_notify          wan_cmd.wan_cmd_bsc_misc_notify
00162 #define wan_udphdr_bsc_misc_station         wan_cmd.wan_cmd_bsc_misc_station
00163 #define wan_udphdr_bsc_misc_poll_add        wan_cmd.wan_cmd_bsc_misc_poll_addr
00164 #define wan_udphdr_bsc_misc_select_addr     wan_cmd.wan_cmd_bsc_misc_select_addr
00165 #define wan_udphdr_bsc_misc_device_addr     wan_cmd.wan_cmd_bsc_misc_device_addr
00166 #define wan_udphdr_chdlc_num_frames     wan_udphdr_u.chdlc.trace_info.num_frames
00167 #define wan_udphdr_chdlc_ismoredata     wan_udphdr_u.chdlc.trace_info.ismoredata
00168 #define wan_udphdr_chdlc_data           wan_udphdr_u.chdlc.data
00169 
00170 #define wan_udphdr_bitstrm_num_frames   wan_udphdr_u.bitstrm.trace_info.num_frames
00171 #define wan_udphdr_bitstrm_ismoredata   wan_udphdr_u.bitstrm.trace_info.ismoredata
00172 #define wan_udphdr_bitstrm_data         wan_udphdr_u.bitstrm.data
00173 
00174 #define wan_udphdr_adsl_num_frames      wan_udphdr_u.adsl.trace_info.num_frames
00175 #define wan_udphdr_adsl_ismoredata      wan_udphdr_u.adsl.trace_info.ismoredata
00176 #define wan_udphdr_adsl_data            wan_udphdr_u.adsl.data
00177 #define wan_udphdr_atm_num_frames       wan_udphdr_u.atm.trace_info.num_frames
00178 #define wan_udphdr_atm_ismoredata       wan_udphdr_u.atm.trace_info.ismoredata
00179 #define wan_udphdr_atm_data             wan_udphdr_u.atm.data
00180 #define wan_udphdr_ss7_num_frames       wan_udphdr_u.ss7.trace_info.num_frames
00181 #define wan_udphdr_ss7_ismoredata       wan_udphdr_u.ss7.trace_info.ismoredata
00182 #define wan_udphdr_ss7_data             wan_udphdr_u.ss7.data
00183 
00184 #define wan_udphdr_aft_trace_info       wan_udphdr_u.aft.trace_info
00185 #define wan_udphdr_aft_num_frames       wan_udphdr_u.aft.trace_info.num_frames
00186 #define wan_udphdr_aft_ismoredata       wan_udphdr_u.aft.trace_info.ismoredata
00187 #define wan_udphdr_aft_data             wan_udphdr_u.aft.data
00188 #define wan_udphdr_data                 wan_udphdr_aft_data
00189 
00190 } wan_udp_hdr_t;
00191 
00192 
00193 
00194 /*================================================================
00195  * KERNEL UDP API Structure
00196  *================================================================*/
00197 
00198 
00199 #if defined(WAN_KERNEL)
00200 
00201 typedef struct wan_udp_pkt {
00202     iphdr_t     ip_hdr;
00203     udphdr_t    udp_hdr;
00204     wan_udp_hdr_t   wan_udp_hdr;
00205 
00206 #define wan_ip              ip_hdr
00207 #define wan_ip_v            ip_hdr.w_ip_v
00208 #define wan_ip_hl           ip_hdr.w_ip_hl
00209 #define wan_ip_tos          ip_hdr.w_ip_tos
00210 #define wan_ip_len          ip_hdr.w_ip_len
00211 #define wan_ip_id           ip_hdr.w_ip_id
00212 #define wan_ip_off          ip_hdr.w_ip_off
00213 #define wan_ip_ttl          ip_hdr.w_ip_ttl
00214 #define wan_ip_p            ip_hdr.w_ip_p
00215 #define wan_ip_sum          ip_hdr.w_ip_sum
00216 #define wan_ip_src          ip_hdr.w_ip_src
00217 #define wan_ip_dst          ip_hdr.w_ip_dst
00218 #define wan_udp_sport           udp_hdr.w_udp_sport
00219 #define wan_udp_dport           udp_hdr.w_udp_dport
00220 #define wan_udp_len         udp_hdr.w_udp_len
00221 #define wan_udp_sum         udp_hdr.w_udp_sum
00222 #define wan_udp_cmd         wan_udp_hdr.wan_cmd
00223 #define wan_udp_signature       wan_udp_hdr.wan_udphdr_signature
00224 #define wan_udp_request_reply       wan_udp_hdr.wan_udphdr_request_reply
00225 #define wan_udp_id          wan_udp_hdr.wan_udphdr_id
00226 #define wan_udp_opp_flag        wan_udp_hdr.wan_udphdr_opp_flag
00227 #define wan_udp_command         wan_udp_hdr.wan_udphdr_command
00228 #define wan_udp_data_len        wan_udp_hdr.wan_udphdr_data_len
00229 #define wan_udp_return_code     wan_udp_hdr.wan_udphdr_return_code
00230 #define wan_udp_hdlc_PF_bit         wan_udp_hdr.wan_udphdr_hdlc_PF_bit
00231 #define wan_udp_fr_dlci         wan_udp_hdr.wan_udphdr_fr_dlci
00232 #define wan_udp_fr_attr         wan_udp_hdr.wan_udphdr_fr_attr
00233 #define wan_udp_fr_rxlost1      wan_udp_hdr.wan_udphdr_fr_rxlost1
00234 #define wan_udp_fr_rxlost2      wan_udp_hdr.wan_udphdr_fr_rxlost2
00235 #define wan_udp_x25_pf          wan_udp_hdr.wan_udphdr_x25_pf
00236 #define wan_udp_x25_lcn         wan_udp_hdr.wan_udphdr_x25_lcn
00237 #define wan_udp_x25_qdm         wan_udp_hdr.wan_udphdr_x25_qdm
00238 #define wan_udp_x25_cause       wan_udp_hdr.wan_udphdr_x25_cause
00239 #define wan_udp_x25_diagn       wan_udp_hdr.wan_udphdr_x25_diagn
00240 #define wan_udp_x25_pktType         wan_udp_hdr.wan_udphdr_x25_pktType
00241 #define wan_udp_bscstrm_misc_bits   wan_udp_hdr.wan_udphdr_bscstrm_misc_bits
00242 #define wan_udp_bscstrm_Rx_err_bits     wan_udp_hdr.wan_udphdr_bscstrm_Rx_err_bits
00243 #define wan_udp_bscstrm_Rx_time_stam    wan_udp_hdr.wan_udphdr_bscstrm_Rx_time_stamp
00244 #define wan_udp_bscstrm_port        wan_udp_hdr.wan_udphdr_bscstrm_port
00245 #define wan_udp_bsc_misc_bits       wan_udp_hdr.wan_udphdr_bsc_misc_bits
00246 #define wan_udp_bsc_misc_heading_len    wan_udp_hdr.wan_udphdr_bsc_misc_heading_len
00247 #define wan_udp_bsc_misc_notify     wan_udp_hdr.wan_udphdr_bsc_misc_notify
00248 #define wan_udp_bsc_misc_station    wan_udp_hdr.wan_udphdr_bsc_misc_station
00249 #define wan_udp_bsc_misc_poll_add   wan_udp_hdr.wan_udphdr_bsc_misc_poll_add
00250 #define wan_udp_bsc_misc_select_addr    wan_udp_hdr.wan_udphdr_bsc_misc_select_addr
00251 #define wan_udp_bsc_misc_device_addr    wan_udp_hdr.wan_udphdr_bsc_misc_device_addr
00252 #define wan_udp_bsc_misc_notify_ext     wan_udp_hdr.wan_udphdr_bsc_misc_notify_ext
00253 #define wan_udp_chdlc_num_frames    wan_udp_hdr.wan_udphdr_chdlc_num_frames
00254 #define wan_udp_chdlc_ismoredata    wan_udp_hdr.wan_udphdr_chdlc_ismoredata
00255 #define wan_udp_chdlc_data      wan_udp_hdr.wan_udphdr_chdlc_data
00256 
00257 #define wan_udp_bitstrm_num_frames  wan_udp_hdr.wan_udphdr_bitstrm_num_frames
00258 #define wan_udp_bitstrm_ismoredata  wan_udp_hdr.wan_udphdr_bitstrm_ismoredata
00259 #define wan_udp_bitstrm_data        wan_udp_hdr.wan_udphdr_bitstrm_data
00260 
00261 #define wan_udp_adsl_num_frames     wan_udp_hdr.wan_udphdr_adsl_num_frames
00262 #define wan_udp_adsl_ismoredata     wan_udp_hdr.wan_udphdr_adsl_ismoredata
00263 #define wan_udp_adsl_data       wan_udp_hdr.wan_udphdr_adsl_data
00264 #define wan_udp_atm_num_frames      wan_udp_hdr.wan_udphdr_atm_num_frames
00265 #define wan_udp_atm_ismoredata      wan_udp_hdr.wan_udphdr_atm_ismoredata
00266 #define wan_udp_atm_data        wan_udp_hdr.wan_udphdr_atm_data
00267 #define wan_udp_ss7_num_frames      wan_udp_hdr.wan_udphdr_ss7_num_frames
00268 #define wan_udp_ss7_ismoredata      wan_udp_hdr.wan_udphdr_ss7_ismoredata
00269 #define wan_udp_ss7_data        wan_udp_hdr.wan_udphdr_ss7_data
00270 
00271 #define wan_udp_aft_trace_info      wan_udp_hdr.wan_udphdr_aft_trace_info
00272 #define wan_udp_aft_num_frames      wan_udp_hdr.wan_udphdr_aft_num_frames
00273 #define wan_udp_aft_ismoredata      wan_udp_hdr.wan_udphdr_aft_ismoredata
00274 #define wan_udp_data                wan_udp_hdr.wan_udphdr_data
00275 } wan_udp_pkt_t;
00276 
00277 #endif
00278 
00279 #pragma pack()
00280 
00288 enum wanpipe_aft_devel_events {
00289     SIOC_WAN_READ_REG = 0x01,
00290     SIOC_WAN_WRITE_REG,
00291     SIOC_WAN_HWPROBE,
00292     SIOC_WAN_ALL_HWPROBE,
00293     SIOC_WAN_ALL_READ_REG,
00294     SIOC_WAN_ALL_WRITE_REG,
00295     SIOC_WAN_ALL_SET_PCI_BIOS,
00296     SIOC_WAN_SET_PCI_BIOS,
00297     SIOC_WAN_COREREV,
00298     SIOC_WAN_GET_CFG,
00299     SIOC_WAN_FE_READ_REG,
00300     SIOC_WAN_FE_WRITE_REG,
00301     SIOC_WAN_EC_REG,
00302     SIOC_WAN_READ_PCIBRIDGE_REG,
00303     SIOC_WAN_ALL_READ_PCIBRIDGE_REG,
00304     SIOC_WAN_WRITE_PCIBRIDGE_REG,
00305     SIOC_WAN_ALL_WRITE_PCIBRIDGE_REG,
00306     SIOC_WAN_GET_CARD_TYPE,
00307     SIOC_WAN_USB_READ_REG,
00308     SIOC_WAN_USB_WRITE_REG,
00309 };
00310 
00311 #include "wanpipe_api_deprecated.h"
00312 
00313 #endif
00314 

Generated on Fri Jun 26 12:46:14 2009 for libsangoma by  doxygen 1.4.7