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 
00078 #pragma pack(1)
00079 
00080 
00081 /***************************************************************/
00088 #include "wanpipe_api_hdr.h"
00089 
00090 
00091 
00092 /****************************************************************/
00095 #include "wanpipe_api_legacy.h"
00096 
00097 
00098 /*================================================================
00099  * UDP API Structure
00100  *================================================================*/
00101 
00102 #define GLOBAL_UDP_SIGNATURE        "WANPIPE"
00103 #define GLOBAL_UDP_SIGNATURE_LEN    7
00104 #define UDPMGMT_UDP_PROTOCOL        0x11
00105 
00106 
00113 typedef struct wan_mgmt{
00114     unsigned char   signature[8];
00115     unsigned char   request_reply;
00116     unsigned char   id;
00117     unsigned char   reserved[6];
00118 } wan_mgmt_t;
00119 
00120 
00130 typedef struct wan_udp_hdr{
00131     wan_mgmt_t  wan_mgmt;       
00132     wan_cmd_t   wan_cmd;        
00133     union {
00134         struct {
00135             wan_trace_info_t    trace_info;                 
00136             unsigned char       data[WAN_MAX_DATA_SIZE];    
00137         } chdlc, adsl, atm, ss7,bitstrm,aft;
00138 #define xilinx aft
00139         //unsigned char data[WAN_MAX_DATA_SIZE];
00140     } wan_udphdr_u;
00141 #define wan_udphdr_signature            wan_mgmt.signature
00142 #define wan_udphdr_request_reply        wan_mgmt.request_reply
00143 #define wan_udphdr_id                   wan_mgmt.id
00144 #define wan_udphdr_opp_flag             wan_cmd.wan_cmd_opp_flag
00145 #define wan_udphdr_command              wan_cmd.wan_cmd_command
00146 #define wan_udphdr_data_len             wan_cmd.wan_cmd_data_len
00147 #define wan_udphdr_return_code          wan_cmd.wan_cmd_return_code
00148 #define wan_udphdr_fe_force             wan_cmd.wan_cmd_fe_force
00149 #define wan_udphdr_hdlc_PF_bit          wan_cmd.wan_cmd_hdlc_PF_bit
00150 #define wan_udphdr_fr_dlci              wan_cmd.wan_cmd_fr_dlci
00151 #define wan_udphdr_fr_attr              wan_cmd.wan_cmd_fr_attr
00152 #define wan_udphdr_fr_rxlost1           wan_cmd.wan_cmd_fr_rxlost1
00153 #define wan_udphdr_fr_rxlost2           wan_cmd.wan_cmd_fr_rxlost2
00154 #define wan_udphdr_x25_pf               wan_cmd.wan_cmd_x25_pf
00155 #define wan_udphdr_x25_lcn              wan_cmd.wan_cmd_x25_lcn
00156 #define wan_udphdr_x25_qdm              wan_cmd.wan_cmd_x25_qdm
00157 #define wan_udphdr_x25_cause            wan_cmd.wan_cmd_x25_cause
00158 #define wan_udphdr_x25_diagn            wan_cmd.wan_cmd_x25_diagn
00159 #define wan_udphdr_x25_pktType          wan_cmd.wan_cmd_x25_pktType
00160 #define wan_udphdr_bscstrm_misc_bits        wan_cmd.wan_cmd_bscstrm_misc_bits
00161 #define wan_udphdr_bscstrm_Rx_err_bits      wan_cmd.wan_cmd_bscstrm_Rx_err_bits
00162 #define wan_udphdr_bscstrm_Rx_time_stamp    wan_cmd.wan_cmd_bscstrm_Rx_time_stamp
00163 #define wan_udphdr_bscstrm_port             wan_cmd.wan_cmd_bscstrm_port
00164 #define wan_udphdr_bsc_misc_bits            wan_cmd.wan_cmd_bsc_misc_bit
00165 #define wan_udphdr_bsc_misc_heading_len     wan_cmd.wan_cmd_bsc_misc_heading_len
00166 #define wan_udphdr_bsc_misc_notify          wan_cmd.wan_cmd_bsc_misc_notify
00167 #define wan_udphdr_bsc_misc_station         wan_cmd.wan_cmd_bsc_misc_station
00168 #define wan_udphdr_bsc_misc_poll_add        wan_cmd.wan_cmd_bsc_misc_poll_addr
00169 #define wan_udphdr_bsc_misc_select_addr     wan_cmd.wan_cmd_bsc_misc_select_addr
00170 #define wan_udphdr_bsc_misc_device_addr     wan_cmd.wan_cmd_bsc_misc_device_addr
00171 #define wan_udphdr_chdlc_num_frames     wan_udphdr_u.chdlc.trace_info.num_frames
00172 #define wan_udphdr_chdlc_ismoredata     wan_udphdr_u.chdlc.trace_info.ismoredata
00173 #define wan_udphdr_chdlc_data           wan_udphdr_u.chdlc.data
00174 
00175 #define wan_udphdr_bitstrm_num_frames   wan_udphdr_u.bitstrm.trace_info.num_frames
00176 #define wan_udphdr_bitstrm_ismoredata   wan_udphdr_u.bitstrm.trace_info.ismoredata
00177 #define wan_udphdr_bitstrm_data         wan_udphdr_u.bitstrm.data
00178 
00179 #define wan_udphdr_adsl_num_frames      wan_udphdr_u.adsl.trace_info.num_frames
00180 #define wan_udphdr_adsl_ismoredata      wan_udphdr_u.adsl.trace_info.ismoredata
00181 #define wan_udphdr_adsl_data            wan_udphdr_u.adsl.data
00182 #define wan_udphdr_atm_num_frames       wan_udphdr_u.atm.trace_info.num_frames
00183 #define wan_udphdr_atm_ismoredata       wan_udphdr_u.atm.trace_info.ismoredata
00184 #define wan_udphdr_atm_data             wan_udphdr_u.atm.data
00185 #define wan_udphdr_ss7_num_frames       wan_udphdr_u.ss7.trace_info.num_frames
00186 #define wan_udphdr_ss7_ismoredata       wan_udphdr_u.ss7.trace_info.ismoredata
00187 #define wan_udphdr_ss7_data             wan_udphdr_u.ss7.data
00188 
00189 #define wan_udphdr_aft_trace_info       wan_udphdr_u.aft.trace_info
00190 #define wan_udphdr_aft_num_frames       wan_udphdr_u.aft.trace_info.num_frames
00191 #define wan_udphdr_aft_ismoredata       wan_udphdr_u.aft.trace_info.ismoredata
00192 #define wan_udphdr_aft_data             wan_udphdr_u.aft.data
00193 #define wan_udphdr_data                 wan_udphdr_aft_data
00194 
00195 } wan_udp_hdr_t;
00196 
00197 
00198 
00199 /*================================================================
00200  * KERNEL UDP API Structure
00201  *================================================================*/
00202 
00203 
00204 #if defined(WAN_KERNEL)
00205 
00206 typedef struct wan_udp_pkt {
00207     iphdr_t     ip_hdr;
00208     udphdr_t    udp_hdr;
00209     wan_udp_hdr_t   wan_udp_hdr;
00210 
00211 #define wan_ip              ip_hdr
00212 #define wan_ip_v            ip_hdr.w_ip_v
00213 #define wan_ip_hl           ip_hdr.w_ip_hl
00214 #define wan_ip_tos          ip_hdr.w_ip_tos
00215 #define wan_ip_len          ip_hdr.w_ip_len
00216 #define wan_ip_id           ip_hdr.w_ip_id
00217 #define wan_ip_off          ip_hdr.w_ip_off
00218 #define wan_ip_ttl          ip_hdr.w_ip_ttl
00219 #define wan_ip_p            ip_hdr.w_ip_p
00220 #define wan_ip_sum          ip_hdr.w_ip_sum
00221 #define wan_ip_src          ip_hdr.w_ip_src
00222 #define wan_ip_dst          ip_hdr.w_ip_dst
00223 #define wan_udp_sport           udp_hdr.w_udp_sport
00224 #define wan_udp_dport           udp_hdr.w_udp_dport
00225 #define wan_udp_len         udp_hdr.w_udp_len
00226 #define wan_udp_sum         udp_hdr.w_udp_sum
00227 #define wan_udp_cmd         wan_udp_hdr.wan_cmd
00228 #define wan_udp_signature       wan_udp_hdr.wan_udphdr_signature
00229 #define wan_udp_request_reply       wan_udp_hdr.wan_udphdr_request_reply
00230 #define wan_udp_id          wan_udp_hdr.wan_udphdr_id
00231 #define wan_udp_opp_flag        wan_udp_hdr.wan_udphdr_opp_flag
00232 #define wan_udp_command         wan_udp_hdr.wan_udphdr_command
00233 #define wan_udp_data_len        wan_udp_hdr.wan_udphdr_data_len
00234 #define wan_udp_return_code     wan_udp_hdr.wan_udphdr_return_code
00235 #define wan_udp_hdlc_PF_bit         wan_udp_hdr.wan_udphdr_hdlc_PF_bit
00236 #define wan_udp_fr_dlci         wan_udp_hdr.wan_udphdr_fr_dlci
00237 #define wan_udp_fr_attr         wan_udp_hdr.wan_udphdr_fr_attr
00238 #define wan_udp_fr_rxlost1      wan_udp_hdr.wan_udphdr_fr_rxlost1
00239 #define wan_udp_fr_rxlost2      wan_udp_hdr.wan_udphdr_fr_rxlost2
00240 #define wan_udp_x25_pf          wan_udp_hdr.wan_udphdr_x25_pf
00241 #define wan_udp_x25_lcn         wan_udp_hdr.wan_udphdr_x25_lcn
00242 #define wan_udp_x25_qdm         wan_udp_hdr.wan_udphdr_x25_qdm
00243 #define wan_udp_x25_cause       wan_udp_hdr.wan_udphdr_x25_cause
00244 #define wan_udp_x25_diagn       wan_udp_hdr.wan_udphdr_x25_diagn
00245 #define wan_udp_x25_pktType         wan_udp_hdr.wan_udphdr_x25_pktType
00246 #define wan_udp_bscstrm_misc_bits   wan_udp_hdr.wan_udphdr_bscstrm_misc_bits
00247 #define wan_udp_bscstrm_Rx_err_bits     wan_udp_hdr.wan_udphdr_bscstrm_Rx_err_bits
00248 #define wan_udp_bscstrm_Rx_time_stam    wan_udp_hdr.wan_udphdr_bscstrm_Rx_time_stamp
00249 #define wan_udp_bscstrm_port        wan_udp_hdr.wan_udphdr_bscstrm_port
00250 #define wan_udp_bsc_misc_bits       wan_udp_hdr.wan_udphdr_bsc_misc_bits
00251 #define wan_udp_bsc_misc_heading_len    wan_udp_hdr.wan_udphdr_bsc_misc_heading_len
00252 #define wan_udp_bsc_misc_notify     wan_udp_hdr.wan_udphdr_bsc_misc_notify
00253 #define wan_udp_bsc_misc_station    wan_udp_hdr.wan_udphdr_bsc_misc_station
00254 #define wan_udp_bsc_misc_poll_add   wan_udp_hdr.wan_udphdr_bsc_misc_poll_add
00255 #define wan_udp_bsc_misc_select_addr    wan_udp_hdr.wan_udphdr_bsc_misc_select_addr
00256 #define wan_udp_bsc_misc_device_addr    wan_udp_hdr.wan_udphdr_bsc_misc_device_addr
00257 #define wan_udp_bsc_misc_notify_ext     wan_udp_hdr.wan_udphdr_bsc_misc_notify_ext
00258 #define wan_udp_chdlc_num_frames    wan_udp_hdr.wan_udphdr_chdlc_num_frames
00259 #define wan_udp_chdlc_ismoredata    wan_udp_hdr.wan_udphdr_chdlc_ismoredata
00260 #define wan_udp_chdlc_data      wan_udp_hdr.wan_udphdr_chdlc_data
00261 
00262 #define wan_udp_bitstrm_num_frames  wan_udp_hdr.wan_udphdr_bitstrm_num_frames
00263 #define wan_udp_bitstrm_ismoredata  wan_udp_hdr.wan_udphdr_bitstrm_ismoredata
00264 #define wan_udp_bitstrm_data        wan_udp_hdr.wan_udphdr_bitstrm_data
00265 
00266 #define wan_udp_adsl_num_frames     wan_udp_hdr.wan_udphdr_adsl_num_frames
00267 #define wan_udp_adsl_ismoredata     wan_udp_hdr.wan_udphdr_adsl_ismoredata
00268 #define wan_udp_adsl_data       wan_udp_hdr.wan_udphdr_adsl_data
00269 #define wan_udp_atm_num_frames      wan_udp_hdr.wan_udphdr_atm_num_frames
00270 #define wan_udp_atm_ismoredata      wan_udp_hdr.wan_udphdr_atm_ismoredata
00271 #define wan_udp_atm_data        wan_udp_hdr.wan_udphdr_atm_data
00272 #define wan_udp_ss7_num_frames      wan_udp_hdr.wan_udphdr_ss7_num_frames
00273 #define wan_udp_ss7_ismoredata      wan_udp_hdr.wan_udphdr_ss7_ismoredata
00274 #define wan_udp_ss7_data        wan_udp_hdr.wan_udphdr_ss7_data
00275 
00276 #define wan_udp_aft_trace_info      wan_udp_hdr.wan_udphdr_aft_trace_info
00277 #define wan_udp_aft_num_frames      wan_udp_hdr.wan_udphdr_aft_num_frames
00278 #define wan_udp_aft_ismoredata      wan_udp_hdr.wan_udphdr_aft_ismoredata
00279 #define wan_udp_data                wan_udp_hdr.wan_udphdr_data
00280 } wan_udp_pkt_t;
00281 
00282 #endif
00283 
00284 #pragma pack()
00285 
00293 #define WP_PORT_NAME_FORM       "wanpipe%d"
00294 #define WP_INTERFACE_NAME_FORM  "wanpipe%d_if%d"
00295 
00296 
00304 enum wanpipe_aft_devel_events {
00305     SIOC_WAN_READ_REG = 0x01,
00306     SIOC_WAN_WRITE_REG,
00307     SIOC_WAN_HWPROBE,
00308     SIOC_WAN_ALL_HWPROBE,
00309     SIOC_WAN_ALL_READ_REG,
00310     SIOC_WAN_ALL_WRITE_REG,
00311     SIOC_WAN_ALL_SET_PCI_BIOS,
00312     SIOC_WAN_SET_PCI_BIOS,
00313     SIOC_WAN_COREREV,
00314     SIOC_WAN_GET_CFG,
00315     SIOC_WAN_FE_READ_REG,
00316     SIOC_WAN_FE_WRITE_REG,
00317     SIOC_WAN_EC_REG,
00318     SIOC_WAN_READ_PCIBRIDGE_REG,
00319     SIOC_WAN_ALL_READ_PCIBRIDGE_REG,
00320     SIOC_WAN_WRITE_PCIBRIDGE_REG,
00321     SIOC_WAN_ALL_WRITE_PCIBRIDGE_REG,
00322     SIOC_WAN_GET_CARD_TYPE
00323 };
00324 
00325 #include "wanpipe_api_depricated.h"
00326 
00327 #endif
00328 

Generated on Tue Jan 6 18:08:59 2009 for libsangoma by  doxygen 1.4.7