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