libsangoma  1
wanpipe_api.h
Go to the documentation of this file.
1 /******************************************************************************/
36 #ifndef _AFT_CORE_API_H__
37 #define _AFT_CORE_API_H__
38 
39 #include "aft_core_user.h"
40 #include "wanpipe_api_hdr.h"
41 #include "wanpipe_api_iface.h"
42 #include "wanpipe_codec_iface.h"
43 
44 /***************************************************************/
51 #include "wanpipe_api_hdr.h"
52 
53 
54 /****************************************************************/
57 #include "wanpipe_api_legacy.h"
58 
59 
60 /*================================================================
61  * UDP API Structure
62  *================================================================*/
63 
64 #define GLOBAL_UDP_SIGNATURE "WANPIPE"
65 #define GLOBAL_UDP_SIGNATURE_LEN 7
66 #define UDPMGMT_UDP_PROTOCOL 0x11
67 
68 #pragma pack(1)
69 
76 typedef struct wan_mgmt{
77  unsigned char signature[8];
78  unsigned char request_reply;
79  unsigned char id;
80  unsigned char reserved[6];
81 } wan_mgmt_t;
82 
92 typedef struct wan_udp_hdr{
95  union {
96  struct {
97  wan_trace_info_t trace_info;
98  unsigned char data[WAN_MAX_DATA_SIZE];
99  } chdlc, adsl, atm, ss7,bitstrm,aft;
100 #define xilinx aft
101  //unsigned char data[WAN_MAX_DATA_SIZE];
102  } wan_udphdr_u;
103 #define wan_udphdr_signature wan_mgmt.signature
104 #define wan_udphdr_request_reply wan_mgmt.request_reply
105 #define wan_udphdr_id wan_mgmt.id
106 #define wan_udphdr_opp_flag wan_cmd.wan_cmd_opp_flag
107 #define wan_udphdr_command wan_cmd.wan_cmd_command
108 #define wan_udphdr_data_len wan_cmd.wan_cmd_data_len
109 #define wan_udphdr_return_code wan_cmd.wan_cmd_return_code
110 #define wan_udphdr_fe_force wan_cmd.wan_cmd_fe_force
111 #define wan_udphdr_hdlc_PF_bit wan_cmd.wan_cmd_hdlc_PF_bit
112 #define wan_udphdr_fr_dlci wan_cmd.wan_cmd_fr_dlci
113 #define wan_udphdr_fr_attr wan_cmd.wan_cmd_fr_attr
114 #define wan_udphdr_fr_rxlost1 wan_cmd.wan_cmd_fr_rxlost1
115 #define wan_udphdr_fr_rxlost2 wan_cmd.wan_cmd_fr_rxlost2
116 #define wan_udphdr_x25_pf wan_cmd.wan_cmd_x25_pf
117 #define wan_udphdr_x25_lcn wan_cmd.wan_cmd_x25_lcn
118 #define wan_udphdr_x25_qdm wan_cmd.wan_cmd_x25_qdm
119 #define wan_udphdr_x25_cause wan_cmd.wan_cmd_x25_cause
120 #define wan_udphdr_x25_diagn wan_cmd.wan_cmd_x25_diagn
121 #define wan_udphdr_x25_pktType wan_cmd.wan_cmd_x25_pktType
122 #define wan_udphdr_bscstrm_misc_bits wan_cmd.wan_cmd_bscstrm_misc_bits
123 #define wan_udphdr_bscstrm_Rx_err_bits wan_cmd.wan_cmd_bscstrm_Rx_err_bits
124 #define wan_udphdr_bscstrm_Rx_time_stamp wan_cmd.wan_cmd_bscstrm_Rx_time_stamp
125 #define wan_udphdr_bscstrm_port wan_cmd.wan_cmd_bscstrm_port
126 #define wan_udphdr_bsc_misc_bits wan_cmd.wan_cmd_bsc_misc_bit
127 #define wan_udphdr_bsc_misc_heading_len wan_cmd.wan_cmd_bsc_misc_heading_len
128 #define wan_udphdr_bsc_misc_notify wan_cmd.wan_cmd_bsc_misc_notify
129 #define wan_udphdr_bsc_misc_station wan_cmd.wan_cmd_bsc_misc_station
130 #define wan_udphdr_bsc_misc_poll_add wan_cmd.wan_cmd_bsc_misc_poll_addr
131 #define wan_udphdr_bsc_misc_select_addr wan_cmd.wan_cmd_bsc_misc_select_addr
132 #define wan_udphdr_bsc_misc_device_addr wan_cmd.wan_cmd_bsc_misc_device_addr
133 #define wan_udphdr_chdlc_num_frames wan_udphdr_u.chdlc.trace_info.num_frames
134 #define wan_udphdr_chdlc_ismoredata wan_udphdr_u.chdlc.trace_info.ismoredata
135 #define wan_udphdr_chdlc_data wan_udphdr_u.chdlc.data
136 
137 #define wan_udphdr_bitstrm_num_frames wan_udphdr_u.bitstrm.trace_info.num_frames
138 #define wan_udphdr_bitstrm_ismoredata wan_udphdr_u.bitstrm.trace_info.ismoredata
139 #define wan_udphdr_bitstrm_data wan_udphdr_u.bitstrm.data
140 
141 #define wan_udphdr_adsl_num_frames wan_udphdr_u.adsl.trace_info.num_frames
142 #define wan_udphdr_adsl_ismoredata wan_udphdr_u.adsl.trace_info.ismoredata
143 #define wan_udphdr_adsl_data wan_udphdr_u.adsl.data
144 #define wan_udphdr_atm_num_frames wan_udphdr_u.atm.trace_info.num_frames
145 #define wan_udphdr_atm_ismoredata wan_udphdr_u.atm.trace_info.ismoredata
146 #define wan_udphdr_atm_data wan_udphdr_u.atm.data
147 #define wan_udphdr_ss7_num_frames wan_udphdr_u.ss7.trace_info.num_frames
148 #define wan_udphdr_ss7_ismoredata wan_udphdr_u.ss7.trace_info.ismoredata
149 #define wan_udphdr_ss7_data wan_udphdr_u.ss7.data
150 
151 #define wan_udphdr_aft_trace_info wan_udphdr_u.aft.trace_info
152 #define wan_udphdr_aft_num_frames wan_udphdr_u.aft.trace_info.num_frames
153 #define wan_udphdr_aft_ismoredata wan_udphdr_u.aft.trace_info.ismoredata
154 #define wan_udphdr_aft_data wan_udphdr_u.aft.data
155 #define wan_udphdr_data wan_udphdr_aft_data
156 
157 } wan_udp_hdr_t;
158 
159 
160 
161 /*================================================================
162  * KERNEL UDP API Structure
163  *================================================================*/
164 
165 
166 #if defined(WAN_KERNEL)
167 
168 typedef struct wan_udp_pkt {
169  iphdr_t ip_hdr;
170  udphdr_t udp_hdr;
172 
173 #define wan_ip ip_hdr
174 #define wan_ip_v ip_hdr.w_ip_v
175 #define wan_ip_hl ip_hdr.w_ip_hl
176 #define wan_ip_tos ip_hdr.w_ip_tos
177 #define wan_ip_len ip_hdr.w_ip_len
178 #define wan_ip_id ip_hdr.w_ip_id
179 #define wan_ip_off ip_hdr.w_ip_off
180 #define wan_ip_ttl ip_hdr.w_ip_ttl
181 #define wan_ip_p ip_hdr.w_ip_p
182 #define wan_ip_sum ip_hdr.w_ip_sum
183 #define wan_ip_src ip_hdr.w_ip_src
184 #define wan_ip_dst ip_hdr.w_ip_dst
185 #define wan_udp_sport udp_hdr.w_udp_sport
186 #define wan_udp_dport udp_hdr.w_udp_dport
187 #define wan_udp_len udp_hdr.w_udp_len
188 #define wan_udp_sum udp_hdr.w_udp_sum
189 #define wan_udp_cmd wan_udp_hdr.wan_cmd
190 #define wan_udp_signature wan_udp_hdr.wan_udphdr_signature
191 #define wan_udp_request_reply wan_udp_hdr.wan_udphdr_request_reply
192 #define wan_udp_id wan_udp_hdr.wan_udphdr_id
193 #define wan_udp_opp_flag wan_udp_hdr.wan_udphdr_opp_flag
194 #define wan_udp_command wan_udp_hdr.wan_udphdr_command
195 #define wan_udp_data_len wan_udp_hdr.wan_udphdr_data_len
196 #define wan_udp_return_code wan_udp_hdr.wan_udphdr_return_code
197 #define wan_udp_hdlc_PF_bit wan_udp_hdr.wan_udphdr_hdlc_PF_bit
198 #define wan_udp_fr_dlci wan_udp_hdr.wan_udphdr_fr_dlci
199 #define wan_udp_fr_attr wan_udp_hdr.wan_udphdr_fr_attr
200 #define wan_udp_fr_rxlost1 wan_udp_hdr.wan_udphdr_fr_rxlost1
201 #define wan_udp_fr_rxlost2 wan_udp_hdr.wan_udphdr_fr_rxlost2
202 #define wan_udp_x25_pf wan_udp_hdr.wan_udphdr_x25_pf
203 #define wan_udp_x25_lcn wan_udp_hdr.wan_udphdr_x25_lcn
204 #define wan_udp_x25_qdm wan_udp_hdr.wan_udphdr_x25_qdm
205 #define wan_udp_x25_cause wan_udp_hdr.wan_udphdr_x25_cause
206 #define wan_udp_x25_diagn wan_udp_hdr.wan_udphdr_x25_diagn
207 #define wan_udp_x25_pktType wan_udp_hdr.wan_udphdr_x25_pktType
208 #define wan_udp_bscstrm_misc_bits wan_udp_hdr.wan_udphdr_bscstrm_misc_bits
209 #define wan_udp_bscstrm_Rx_err_bits wan_udp_hdr.wan_udphdr_bscstrm_Rx_err_bits
210 #define wan_udp_bscstrm_Rx_time_stam wan_udp_hdr.wan_udphdr_bscstrm_Rx_time_stamp
211 #define wan_udp_bscstrm_port wan_udp_hdr.wan_udphdr_bscstrm_port
212 #define wan_udp_bsc_misc_bits wan_udp_hdr.wan_udphdr_bsc_misc_bits
213 #define wan_udp_bsc_misc_heading_len wan_udp_hdr.wan_udphdr_bsc_misc_heading_len
214 #define wan_udp_bsc_misc_notify wan_udp_hdr.wan_udphdr_bsc_misc_notify
215 #define wan_udp_bsc_misc_station wan_udp_hdr.wan_udphdr_bsc_misc_station
216 #define wan_udp_bsc_misc_poll_add wan_udp_hdr.wan_udphdr_bsc_misc_poll_add
217 #define wan_udp_bsc_misc_select_addr wan_udp_hdr.wan_udphdr_bsc_misc_select_addr
218 #define wan_udp_bsc_misc_device_addr wan_udp_hdr.wan_udphdr_bsc_misc_device_addr
219 #define wan_udp_bsc_misc_notify_ext wan_udp_hdr.wan_udphdr_bsc_misc_notify_ext
220 #define wan_udp_chdlc_num_frames wan_udp_hdr.wan_udphdr_chdlc_num_frames
221 #define wan_udp_chdlc_ismoredata wan_udp_hdr.wan_udphdr_chdlc_ismoredata
222 #define wan_udp_chdlc_data wan_udp_hdr.wan_udphdr_chdlc_data
223 
224 #define wan_udp_bitstrm_num_frames wan_udp_hdr.wan_udphdr_bitstrm_num_frames
225 #define wan_udp_bitstrm_ismoredata wan_udp_hdr.wan_udphdr_bitstrm_ismoredata
226 #define wan_udp_bitstrm_data wan_udp_hdr.wan_udphdr_bitstrm_data
227 
228 #define wan_udp_adsl_num_frames wan_udp_hdr.wan_udphdr_adsl_num_frames
229 #define wan_udp_adsl_ismoredata wan_udp_hdr.wan_udphdr_adsl_ismoredata
230 #define wan_udp_adsl_data wan_udp_hdr.wan_udphdr_adsl_data
231 #define wan_udp_atm_num_frames wan_udp_hdr.wan_udphdr_atm_num_frames
232 #define wan_udp_atm_ismoredata wan_udp_hdr.wan_udphdr_atm_ismoredata
233 #define wan_udp_atm_data wan_udp_hdr.wan_udphdr_atm_data
234 #define wan_udp_ss7_num_frames wan_udp_hdr.wan_udphdr_ss7_num_frames
235 #define wan_udp_ss7_ismoredata wan_udp_hdr.wan_udphdr_ss7_ismoredata
236 #define wan_udp_ss7_data wan_udp_hdr.wan_udphdr_ss7_data
237 
238 #define wan_udp_aft_trace_info wan_udp_hdr.wan_udphdr_aft_trace_info
239 #define wan_udp_aft_num_frames wan_udp_hdr.wan_udphdr_aft_num_frames
240 #define wan_udp_aft_ismoredata wan_udp_hdr.wan_udphdr_aft_ismoredata
241 #define wan_udp_data wan_udp_hdr.wan_udphdr_data
242 } wan_udp_pkt_t;
243 
244 #endif
245 
246 #pragma pack()
247 
256  SIOC_WAN_READ_REG = 0x01,
257  SIOC_WAN_WRITE_REG,
258  SIOC_WAN_HWPROBE,
259  SIOC_WAN_ALL_HWPROBE,
260  SIOC_WAN_ALL_READ_REG,
261  SIOC_WAN_ALL_WRITE_REG,
262  SIOC_WAN_ALL_SET_PCI_BIOS,
263  SIOC_WAN_SET_PCI_BIOS,
264  SIOC_WAN_COREREV,
265  SIOC_WAN_GET_CFG,
266  SIOC_WAN_FE_READ_REG,
267  SIOC_WAN_FE_WRITE_REG,
268  SIOC_WAN_EC_REG,
269  SIOC_WAN_READ_PCIBRIDGE_REG,
270  SIOC_WAN_ALL_READ_PCIBRIDGE_REG,
271  SIOC_WAN_WRITE_PCIBRIDGE_REG,
272  SIOC_WAN_ALL_WRITE_PCIBRIDGE_REG,
273  SIOC_WAN_GET_CARD_TYPE,
274  SIOC_WAN_USB_READ_REG,
275  SIOC_WAN_USB_WRITE_REG,
276  SIOC_WAN_USB_CPU_WRITE_REG,
277  SIOC_WAN_USB_CPU_READ_REG,
278  SIOC_WAN_USB_FE_WRITE_REG,
279  SIOC_WAN_USB_FE_READ_REG,
280  SIOC_WAN_USB_FW_DATA_READ,
281  SIOC_WAN_USB_FW_DATA_WRITE,
282  SIOC_WAN_USB_FWUPDATE_ENABLE,
283 };
284 
285 #include "wanpipe_api_deprecated.h"
286 
287 #endif
288 
wan_mgmt_t wan_mgmt
Definition: wanpipe_api.h:93
Wanpipe UDP Management Structure.
Definition: wanpipe_api.h:76
WANPIPE(tm) Driver API Headers and Defines.
WANPIPE(tm) Driver Legacy API.
wanpipe_aft_devel_events
Wanpipe Commands associated with WANPIPE_IOCTL_DEVEL Ioctl.
Definition: wanpipe_api.h:255
Wanpipe Legacy Command Structure.
wan_cmd_t wan_cmd
Definition: wanpipe_api.h:94
Wanpipe UDP Structure used for Maintenance and Debugging.
Definition: wanpipe_api.h:92
WANPIPE(tm) Driver API Interface -.
wan_trace_info_t trace_info
Definition: wanpipe_api.h:97
unsigned char data[WAN_MAX_DATA_SIZE]
Definition: wanpipe_api.h:98