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