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
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
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
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
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