source: svn/trunk/newcon3bcm2_21bu/toolchain/mips-linux-uclibc/include/linux/sdla_ppp.h

Last change on this file was 2, checked in by jglee, 11 years ago

first commit

  • Property svn:executable set to *
File size: 23.0 KB
Line 
1/*****************************************************************************
2* sdla_ppp.h    Sangoma PPP firmware API definitions.
3*
4* Author:       Nenad Corbic    <ncorbic@sangoma.com>
5*
6* Copyright:    (c) 1995-1997 Sangoma Technologies Inc.
7*
8*               This program is free software; you can redistribute it and/or
9*               modify it under the terms of the GNU General Public License
10*               as published by the Free Software Foundation; either version
11*               2 of the License, or (at your option) any later version.
12* ============================================================================
13* Feb 24, 2000  Nenad Corbic    v2.1.2
14* Jan 06, 1997  Gene Kozin      v2.0
15* Apr 11, 1996  Gene Kozin      Initial version.
16*****************************************************************************/
17#ifndef _SDLA_PPP_H
18#define _SDLA_PPP_H
19
20/*----------------------------------------------------------------------------
21 * Notes:
22 * ------
23 * 1. All structures defined in this file are byte-alined. 
24 *
25 *      Compiler        Platform
26 *      --------        --------
27 *      GNU C           Linux           
28 */
29
30#ifndef PACKED
31#    define     PACKED  __attribute__((packed))
32#endif  /* PACKED */
33
34/* Adapter memory layout and important constants */
35#define PPP508_MB_VECT  0xE000  /* mailbox window vector */
36#define PPP508_MB_OFFS  0               /* mailbox offset */
37#define PPP508_FLG_OFFS 0x1000  /* status flags offset */
38#define PPP508_BUF_OFFS 0x1100  /* buffer info block offset */
39#define PPP514_MB_OFFS  0xE000  /* mailbox offset */
40#define PPP514_FLG_OFFS 0xF000  /* status flags offset */
41#define PPP514_BUF_OFFS 0xF100  /* buffer info block offset */
42
43#define PPP_MAX_DATA    1008    /* command block data buffer length */
44
45/****** Data Structures *****************************************************/
46
47/*----------------------------------------------------------------------------
48 * PPP Command Block.
49 */
50typedef struct ppp_cmd{
51        unsigned char  command  PACKED; /* command code */
52        unsigned short length   PACKED; /* length of data buffer */
53        unsigned char  result   PACKED; /* return code */
54        unsigned char  rsrv[11] PACKED; /* reserved for future use */
55} ppp_cmd_t;
56
57typedef struct cblock{
58        unsigned char  opp_flag PACKED;
59        unsigned char  command  PACKED; /* command code */
60        unsigned short length   PACKED; /* length of data buffer */
61        unsigned char  result   PACKED; /* return code */
62        unsigned char  rsrv[11] PACKED; /* reserved for future use */
63} cblock_t;
64
65typedef struct ppp_udp_pkt{
66        ip_pkt_t        ip_pkt  PACKED;
67        udp_pkt_t       udp_pkt PACKED;
68        wp_mgmt_t       wp_mgmt PACKED;
69        cblock_t        cblock  PACKED;
70        unsigned char   data[MAX_LGTH_UDP_MGNT_PKT] PACKED;
71} ppp_udp_pkt_t;       
72
73typedef struct {
74        unsigned char   status          PACKED;
75        unsigned char   data_avail      PACKED;
76        unsigned short  real_length     PACKED;
77        unsigned short  time_stamp      PACKED;
78        unsigned char   data[1]         PACKED;
79} trace_pkt_t;
80
81
82typedef struct {
83        unsigned char   opp_flag        PACKED;
84        unsigned char   trace_type      PACKED;
85        unsigned short  trace_length    PACKED;
86        unsigned short  trace_data_ptr  PACKED;
87        unsigned short  trace_time_stamp PACKED;
88} trace_element_t;
89
90/* 'command' field defines */
91#define PPP_READ_CODE_VERSION   0x10    /* configuration commands */
92#define PPP_SET_CONFIG          0x05
93#define PPP_READ_CONFIG         0x06
94#define PPP_SET_INTR_FLAGS      0x20
95#define PPP_READ_INTR_FLAGS     0x21
96#define PPP_SET_INBOUND_AUTH    0x30
97#define PPP_SET_OUTBOUND_AUTH   0x31
98#define PPP_GET_CONNECTION_INFO 0x32
99
100#define PPP_COMM_ENABLE         0x03    /* operational commands */
101#define PPP_COMM_DISABLE        0x04
102#define PPP_SEND_SIGN_FRAME     0x23
103#define PPP_READ_SIGN_RESPONSE  0x24
104#define PPP_DATALINE_MONITOR    0x33
105
106#define PPP_READ_STATISTICS     0x07    /* statistics commands */
107#define PPP_FLUSH_STATISTICS    0x08
108#define PPP_READ_ERROR_STATS    0x09
109#define PPP_FLUSH_ERROR_STATS   0x0A
110#define PPP_READ_PACKET_STATS   0x12
111#define PPP_FLUSH_PACKET_STATS  0x13
112#define PPP_READ_LCP_STATS      0x14
113#define PPP_FLUSH_LCP_STATS     0x15
114#define PPP_READ_LPBK_STATS     0x16
115#define PPP_FLUSH_LPBK_STATS    0x17
116#define PPP_READ_IPCP_STATS     0x18
117#define PPP_FLUSH_IPCP_STATS    0x19
118#define PPP_READ_IPXCP_STATS    0x1A
119#define PPP_FLUSH_IPXCP_STATS   0x1B
120#define PPP_READ_PAP_STATS      0x1C
121#define PPP_FLUSH_PAP_STATS     0x1D
122#define PPP_READ_CHAP_STATS     0x1E
123#define PPP_FLUSH_CHAP_STATS    0x1F
124
125/* 'result' field defines */
126#define PPPRES_OK               0x00    /* command executed successfully */
127#define PPPRES_INVALID_STATE    0x09    /* invalid command in this context */
128
129/*----------------------------------------------------------------------------
130 * PPP Mailbox.
131 *      This structure is located at offset PPP???_MB_OFFS into PPP???_MB_VECT
132 */
133typedef struct ppp_mbox
134{
135        unsigned char flag      PACKED; /* 00h: command execution flag */
136        ppp_cmd_t     cmd       PACKED; /* 01h: command block */
137        unsigned char data[1]   PACKED; /* 10h: variable length data buffer */
138} ppp_mbox_t;
139
140/*----------------------------------------------------------------------------
141 * PPP Status Flags.
142 *      This structure is located at offset PPP???_FLG_OFFS into
143 *      PPP???_MB_VECT.
144 */
145typedef struct  ppp_flags
146{
147        unsigned char iflag             PACKED; /* 00: interrupt flag */
148        unsigned char imask             PACKED; /* 01: interrupt mask */
149        unsigned char resrv             PACKED;
150        unsigned char mstatus           PACKED; /* 03: modem status */
151        unsigned char lcp_state         PACKED; /* 04: LCP state */
152        unsigned char ppp_phase         PACKED; /* 05: PPP phase */
153        unsigned char ip_state          PACKED; /* 06: IPCP state */
154        unsigned char ipx_state         PACKED; /* 07: IPXCP state */
155        unsigned char pap_state         PACKED; /* 08: PAP state */
156        unsigned char chap_state        PACKED; /* 09: CHAP state */
157        unsigned short disc_cause       PACKED; /* 0A: disconnection cause */
158} ppp_flags_t;
159
160/* 'iflag' defines */
161#define PPP_INTR_RXRDY          0x01    /* Rx ready */
162#define PPP_INTR_TXRDY          0x02    /* Tx ready */
163#define PPP_INTR_MODEM          0x04    /* modem status change (DCD, CTS) */
164#define PPP_INTR_CMD            0x08    /* interface command completed */
165#define PPP_INTR_DISC           0x10    /* data link disconnected */
166#define PPP_INTR_OPEN           0x20    /* data link open */
167#define PPP_INTR_DROP_DTR       0x40    /* DTR drop timeout expired */
168#define PPP_INTR_TIMER          0x80    /* timer interrupt */
169
170
171/* 'mstatus' defines */
172#define PPP_MDM_DCD             0x08    /* mdm_status: DCD */
173#define PPP_MDM_CTS             0x20    /* mdm_status: CTS */
174
175/* 'disc_cause' defines */
176#define PPP_LOCAL_TERMINATION   0x0001  /* Local Request by PPP termination phase */
177#define PPP_DCD_CTS_DROP        0x0002  /* DCD and/or CTS dropped. Link down */
178#define PPP_REMOTE_TERMINATION  0x0800  /* Remote Request by PPP termination phase */
179
180/* 'misc_config_bits' defines */
181#define DONT_RE_TX_ABORTED_I_FRAMES     0x01
182#define TX_FRM_BYTE_COUNT_STATS         0x02
183#define RX_FRM_BYTE_COUNT_STATS         0x04
184#define TIME_STAMP_IN_RX_FRAMES         0x08
185#define NON_STD_ADPTR_FREQ              0x10
186#define INTERFACE_LEVEL_RS232           0x20
187#define AUTO_LINK_RECOVERY              0x100
188#define DONT_TERMINATE_LNK_MAX_CONFIG   0x200                   
189
190/* 'authentication options' defines */
191#define NO_AUTHENTICATION       0x00
192#define INBOUND_AUTH            0x80
193#define PAP_AUTH                0x01
194#define CHAP_AUTH               0x02           
195
196/* 'ip options' defines */
197#define L_AND_R_IP_NO_ASSIG     0x00
198#define L_IP_LOCAL_ASSIG        0x01
199#define L_IP_REMOTE_ASSIG       0x02
200#define R_IP_LOCAL_ASSIG        0x04
201#define R_IP_REMOTE_ASSIG       0x08
202#define ENABLE_IP               0x80
203
204/* 'ipx options' defines */
205#define ROUTING_PROT_DEFAULT    0x20
206#define ENABLE_IPX              0x80
207#define DISABLE_IPX             0x00
208
209/*----------------------------------------------------------------------------
210 * PPP Buffer Info.
211 *      This structure is located at offset PPP508_BUF_OFFS into
212 *      PPP508_MB_VECT.
213 */
214typedef struct  ppp508_buf_info
215{
216        unsigned short txb_num  PACKED; /* 00: number of transmit buffers */
217        unsigned long  txb_ptr  PACKED; /* 02: pointer to the buffer ctl. */
218        unsigned long  txb_nxt  PACKED;
219        unsigned char  rsrv1[22] PACKED;
220        unsigned short rxb_num  PACKED; /* 20: number of receive buffers */
221        unsigned long  rxb_ptr  PACKED; /* 22: pointer to the buffer ctl. */
222        unsigned long  rxb1_ptr PACKED; /* 26: pointer to the first buf.ctl. */
223        unsigned long  rxb_base PACKED; /* 2A: pointer to the buffer base */
224        unsigned char  rsrv2[2] PACKED;
225        unsigned long  rxb_end  PACKED; /* 30: pointer to the buffer end */
226} ppp508_buf_info_t;
227
228/*----------------------------------------------------------------------------
229 * Transmit/Receive Buffer Control Block.
230 */
231typedef struct  ppp_buf_ctl
232{
233        unsigned char  flag             PACKED; /* 00: 'buffer ready' flag */
234        unsigned short length           PACKED; /* 01: length of data */
235        unsigned char  reserved1[1]     PACKED; /* 03: */
236        unsigned char  proto            PACKED; /* 04: protocol */
237        unsigned short timestamp        PACKED; /* 05: time stamp (Rx only) */
238        unsigned char  reserved2[5]     PACKED; /* 07: */
239        union
240        {
241                unsigned short o_p[2];  /* 1C: buffer offset & page (S502) */
242                unsigned long  ptr;     /* 1C: buffer pointer (S508) */
243        } buf                           PACKED;
244} ppp_buf_ctl_t;
245
246/*----------------------------------------------------------------------------
247 * S508 Adapter Configuration Block (passed to the PPP_SET_CONFIG command).
248 */
249typedef struct  ppp508_conf
250{
251        unsigned long  line_speed       PACKED; /* 00: baud rate, bps */
252        unsigned short txbuf_percent    PACKED; /* 04: % of Tx buffer */
253        unsigned short conf_flags       PACKED; /* 06: configuration bits */
254        unsigned short mtu_local        PACKED; /* 08: local MTU */
255        unsigned short mtu_remote       PACKED; /* 0A: remote MTU */
256        unsigned short restart_tmr      PACKED; /* 0C: restart timer */
257        unsigned short auth_rsrt_tmr    PACKED; /* 0E: authentication timer */
258        unsigned short auth_wait_tmr    PACKED; /* 10: authentication timer */
259        unsigned short mdm_fail_tmr     PACKED; /* 12: modem failure timer */
260        unsigned short dtr_drop_tmr     PACKED; /* 14: DTR drop timer */
261        unsigned short connect_tmout    PACKED; /* 16: connection timeout */
262        unsigned short conf_retry       PACKED; /* 18: max. retry */
263        unsigned short term_retry       PACKED; /* 1A: max. retry */
264        unsigned short fail_retry       PACKED; /* 1C: max. retry */
265        unsigned short auth_retry       PACKED; /* 1E: max. retry */
266        unsigned char  auth_options     PACKED; /* 20: authentication opt. */
267        unsigned char  ip_options       PACKED; /* 21: IP options */
268        unsigned long  ip_local         PACKED; /* 22: local IP address */
269        unsigned long  ip_remote        PACKED; /* 26: remote IP address */
270        unsigned char  ipx_options      PACKED; /* 2A: IPX options */
271        unsigned char  ipx_netno[4]     PACKED; /* 2B: IPX net number */
272        unsigned char  ipx_local[6]     PACKED; /* 2F: local IPX node number*/
273        unsigned char  ipx_remote[6]    PACKED; /* 35: remote IPX node num.*/
274        unsigned char  ipx_router[48]   PACKED; /* 3B: IPX router name*/
275        unsigned long  alt_cpu_clock    PACKED; /* 6B:  */
276} ppp508_conf_t;
277
278/*----------------------------------------------------------------------------
279 * S508 Adapter Read Connection Information Block
280 *    Returned by the PPP_GET_CONNECTION_INFO command
281 */
282typedef struct  ppp508_connect_info
283{
284        unsigned short  mru             PACKED; /* 00-01 Remote Max Rec' Unit */
285        unsigned char   ip_options      PACKED; /* 02: Negotiated ip options  */
286        unsigned long   ip_local        PACKED; /* 03-06: local IP address    */
287        unsigned long   ip_remote       PACKED; /* 07-0A: remote IP address   */
288        unsigned char   ipx_options     PACKED; /* 0B: Negotiated ipx options */
289        unsigned char   ipx_netno[4]    PACKED; /* 0C-0F: IPX net number      */
290        unsigned char   ipx_local[6]    PACKED; /* 10-1F: local IPX node #    */
291        unsigned char   ipx_remote[6]   PACKED; /* 16-1B: remote IPX node #   */
292        unsigned char   ipx_router[48]  PACKED; /* 1C-4B: IPX router name     */
293        unsigned char   auth_status     PACKED; /* 4C: Authentication Status  */
294        unsigned char   inbd_auth_peerID[1] PACKED; /* 4D: variable length inbound authenticated peer ID */
295} ppp508_connect_info_t;
296
297/* 'line_speed' field */
298#define PPP_BITRATE_1200        0x01
299#define PPP_BITRATE_2400        0x02
300#define PPP_BITRATE_4800        0x03
301#define PPP_BITRATE_9600        0x04
302#define PPP_BITRATE_19200       0x05
303#define PPP_BITRATE_38400       0x06
304#define PPP_BITRATE_45000       0x07
305#define PPP_BITRATE_56000       0x08
306#define PPP_BITRATE_64000       0x09
307#define PPP_BITRATE_74000       0x0A
308#define PPP_BITRATE_112000      0x0B
309#define PPP_BITRATE_128000      0x0C
310#define PPP_BITRATE_156000      0x0D
311
312/* Defines for the 'conf_flags' field */
313#define PPP_IGNORE_TX_ABORT     0x01    /* don't re-transmit aborted frames */
314#define PPP_ENABLE_TX_STATS     0x02    /* enable Tx statistics */
315#define PPP_ENABLE_RX_STATS     0x04    /* enable Rx statistics */
316#define PPP_ENABLE_TIMESTAMP    0x08    /* enable timestamp */
317
318/* 'ip_options' defines */
319#define PPP_LOCAL_IP_LOCAL      0x01
320#define PPP_LOCAL_IP_REMOTE     0x02
321#define PPP_REMOTE_IP_LOCAL     0x04
322#define PPP_REMOTE_IP_REMOTE    0x08
323
324/* 'ipx_options' defines */
325#define PPP_REMOTE_IPX_NETNO    0x01
326#define PPP_REMOTE_IPX_LOCAL    0x02
327#define PPP_REMOTE_IPX_REMOTE   0x04
328#define PPP_IPX_ROUTE_RIP_SAP   0x08
329#define PPP_IPX_ROUTE_NLSP      0x10
330#define PPP_IPX_ROUTE_DEFAULT   0x20
331#define PPP_IPX_CONF_COMPLETE   0x40
332#define PPP_IPX_ENABLE          0x80
333
334/*----------------------------------------------------------------------------
335 * S508 Adapter Configuration Block (returned by the PPP_READ_CONFIG command).
336 */
337typedef struct  ppp508_get_conf
338{
339        unsigned long  bps      PACKED; /* 00: baud rate, bps */
340        ppp508_conf_t  conf     PACKED; /* 04: requested config. */
341        unsigned short txb_num  PACKED; /* 6F: number of Tx buffers */
342        unsigned short rxb_num  PACKED; /* 71: number of Rx buffers */
343} ppp508_get_conf_t;
344
345/*----------------------------------------------------------------------------
346 * S508 Operational Statistics (returned by the PPP_READ_STATISTIC command).
347 */
348typedef struct ppp508_stats
349{
350        unsigned short reserved1        PACKED; /* 00: */
351        unsigned short rx_bad_len       PACKED; /* 02: */
352        unsigned short reserved2        PACKED; /* 04: */
353        unsigned long  tx_frames        PACKED; /* 06: */
354        unsigned long  tx_bytes PACKED; /* 0A: */
355        unsigned long  rx_frames        PACKED; /* 0E: */
356        unsigned long  rx_bytes PACKED; /* 12: */
357} ppp508_stats_t;
358
359/*----------------------------------------------------------------------------
360 * Adapter Error Statistics (returned by the PPP_READ_ERROR_STATS command).
361 */
362typedef struct  ppp_err_stats
363{
364        unsigned char    rx_overrun     PACKED; /* 00: Rx overrun errors */
365        unsigned char    rx_bad_crc     PACKED; /* 01: Rx CRC errors */
366        unsigned char    rx_abort       PACKED; /* 02: Rx aborted frames */
367        unsigned char    rx_lost        PACKED; /* 03: Rx frames lost */
368        unsigned char    tx_abort       PACKED; /* 04: Tx aborted frames */
369        unsigned char    tx_underrun    PACKED; /* 05: Tx underrun errors */
370        unsigned char    tx_missed_intr PACKED; /* 06: Tx underruns missed */
371        unsigned char    reserved       PACKED; /* 07: Tx underruns missed */
372        unsigned char    dcd_trans      PACKED; /* 08: DCD transitions */
373        unsigned char    cts_trans      PACKED; /* 09: CTS transitions */
374} ppp_err_stats_t;
375
376/*----------------------------------------------------------------------------
377 * Packet Statistics (returned by the PPP_READ_PACKET_STATS command).
378 */
379typedef struct  ppp_pkt_stats
380{
381        unsigned short rx_bad_header    PACKED; /* 00: */
382        unsigned short rx_prot_unknwn   PACKED; /* 02: */
383        unsigned short rx_too_large     PACKED; /* 04: */
384        unsigned short rx_lcp           PACKED; /* 06: */
385        unsigned short tx_lcp           PACKED; /* 08: */
386        unsigned short rx_ipcp          PACKED; /* 0A: */
387        unsigned short tx_ipcp          PACKED; /* 0C: */
388        unsigned short rx_ipxcp         PACKED; /* 0E: */
389        unsigned short tx_ipxcp         PACKED; /* 10: */
390        unsigned short rx_pap           PACKED; /* 12: */
391        unsigned short tx_pap           PACKED; /* 14: */
392        unsigned short rx_chap          PACKED; /* 16: */
393        unsigned short tx_chap          PACKED; /* 18: */
394        unsigned short rx_lqr           PACKED; /* 1A: */
395        unsigned short tx_lqr           PACKED; /* 1C: */
396        unsigned short rx_ip            PACKED; /* 1E: */
397        unsigned short tx_ip            PACKED; /* 20: */
398        unsigned short rx_ipx           PACKED; /* 22: */
399        unsigned short tx_ipx           PACKED; /* 24: */
400} ppp_pkt_stats_t;
401
402/*----------------------------------------------------------------------------
403 * LCP Statistics (returned by the PPP_READ_LCP_STATS command).
404 */
405typedef struct  ppp_lcp_stats
406{
407        unsigned short rx_unknown       PACKED; /* 00: unknown LCP type */
408        unsigned short rx_conf_rqst     PACKED; /* 02: Configure-Request */
409        unsigned short rx_conf_ack      PACKED; /* 04: Configure-Ack */
410        unsigned short rx_conf_nak      PACKED; /* 06: Configure-Nak */
411        unsigned short rx_conf_rej      PACKED; /* 08: Configure-Reject */
412        unsigned short rx_term_rqst     PACKED; /* 0A: Terminate-Request */
413        unsigned short rx_term_ack      PACKED; /* 0C: Terminate-Ack */
414        unsigned short rx_code_rej      PACKED; /* 0E: Code-Reject */
415        unsigned short rx_proto_rej     PACKED; /* 10: Protocol-Reject */
416        unsigned short rx_echo_rqst     PACKED; /* 12: Echo-Request */
417        unsigned short rx_echo_reply    PACKED; /* 14: Echo-Reply */
418        unsigned short rx_disc_rqst     PACKED; /* 16: Discard-Request */
419        unsigned short tx_conf_rqst     PACKED; /* 18: Configure-Request */
420        unsigned short tx_conf_ack      PACKED; /* 1A: Configure-Ack */
421        unsigned short tx_conf_nak      PACKED; /* 1C: Configure-Nak */
422        unsigned short tx_conf_rej      PACKED; /* 1E: Configure-Reject */
423        unsigned short tx_term_rqst     PACKED; /* 20: Terminate-Request */
424        unsigned short tx_term_ack      PACKED; /* 22: Terminate-Ack */
425        unsigned short tx_code_rej      PACKED; /* 24: Code-Reject */
426        unsigned short tx_proto_rej     PACKED; /* 26: Protocol-Reject */
427        unsigned short tx_echo_rqst     PACKED; /* 28: Echo-Request */
428        unsigned short tx_echo_reply    PACKED; /* 2A: Echo-Reply */
429        unsigned short tx_disc_rqst     PACKED; /* 2E: Discard-Request */
430        unsigned short rx_too_large     PACKED; /* 30: packets too large */
431        unsigned short rx_ack_inval     PACKED; /* 32: invalid Conf-Ack */
432        unsigned short rx_rej_inval     PACKED; /* 34: invalid Conf-Reject */
433        unsigned short rx_rej_badid     PACKED; /* 36: Conf-Reject w/bad ID */
434} ppp_lcp_stats_t;
435
436/*----------------------------------------------------------------------------
437 * Loopback Error Statistics (returned by the PPP_READ_LPBK_STATS command).
438 */
439typedef struct  ppp_lpbk_stats
440{
441        unsigned short conf_magic       PACKED; /* 00:  */
442        unsigned short loc_echo_rqst    PACKED; /* 02:  */
443        unsigned short rem_echo_rqst    PACKED; /* 04:  */
444        unsigned short loc_echo_reply   PACKED; /* 06:  */
445        unsigned short rem_echo_reply   PACKED; /* 08:  */
446        unsigned short loc_disc_rqst    PACKED; /* 0A:  */
447        unsigned short rem_disc_rqst    PACKED; /* 0C:  */
448        unsigned short echo_tx_collsn   PACKED; /* 0E:  */
449        unsigned short echo_rx_collsn   PACKED; /* 10:  */
450} ppp_lpbk_stats_t;
451
452/*----------------------------------------------------------------------------
453 * Protocol Statistics (returned by the PPP_READ_IPCP_STATS and
454 * PPP_READ_IPXCP_STATS commands).
455 */
456typedef struct  ppp_prot_stats
457{
458        unsigned short rx_unknown       PACKED; /* 00: unknown type */
459        unsigned short rx_conf_rqst     PACKED; /* 02: Configure-Request */
460        unsigned short rx_conf_ack      PACKED; /* 04: Configure-Ack */
461        unsigned short rx_conf_nak      PACKED; /* 06: Configure-Nak */
462        unsigned short rx_conf_rej      PACKED; /* 08: Configure-Reject */
463        unsigned short rx_term_rqst     PACKED; /* 0A: Terminate-Request */
464        unsigned short rx_term_ack      PACKED; /* 0C: Terminate-Ack */
465        unsigned short rx_code_rej      PACKED; /* 0E: Code-Reject */
466        unsigned short reserved         PACKED; /* 10: */
467        unsigned short tx_conf_rqst     PACKED; /* 12: Configure-Request */
468        unsigned short tx_conf_ack      PACKED; /* 14: Configure-Ack */
469        unsigned short tx_conf_nak      PACKED; /* 16: Configure-Nak */
470        unsigned short tx_conf_rej      PACKED; /* 18: Configure-Reject */
471        unsigned short tx_term_rqst     PACKED; /* 1A: Terminate-Request */
472        unsigned short tx_term_ack      PACKED; /* 1C: Terminate-Ack */
473        unsigned short tx_code_rej      PACKED; /* 1E: Code-Reject */
474        unsigned short rx_too_large     PACKED; /* 20: packets too large */
475        unsigned short rx_ack_inval     PACKED; /* 22: invalid Conf-Ack */
476        unsigned short rx_rej_inval     PACKED; /* 24: invalid Conf-Reject */
477        unsigned short rx_rej_badid     PACKED; /* 26: Conf-Reject w/bad ID */
478} ppp_prot_stats_t;
479
480/*----------------------------------------------------------------------------
481 * PAP Statistics (returned by the PPP_READ_PAP_STATS command).
482 */
483typedef struct  ppp_pap_stats
484{
485        unsigned short rx_unknown       PACKED; /* 00: unknown type */
486        unsigned short rx_auth_rqst     PACKED; /* 02: Authenticate-Request */
487        unsigned short rx_auth_ack      PACKED; /* 04: Authenticate-Ack */
488        unsigned short rx_auth_nak      PACKED; /* 06: Authenticate-Nak */
489        unsigned short reserved         PACKED; /* 08: */
490        unsigned short tx_auth_rqst     PACKED; /* 0A: Authenticate-Request */
491        unsigned short tx_auth_ack      PACKED; /* 0C: Authenticate-Ack */
492        unsigned short tx_auth_nak      PACKED; /* 0E: Authenticate-Nak */
493        unsigned short rx_too_large     PACKED; /* 10: packets too large */
494        unsigned short rx_bad_peerid    PACKED; /* 12: invalid peer ID */
495        unsigned short rx_bad_passwd    PACKED; /* 14: invalid password */
496} ppp_pap_stats_t;
497
498/*----------------------------------------------------------------------------
499 * CHAP Statistics (returned by the PPP_READ_CHAP_STATS command).
500 */
501typedef struct  ppp_chap_stats
502{
503        unsigned short rx_unknown       PACKED; /* 00: unknown type */
504        unsigned short rx_challenge     PACKED; /* 02: Authenticate-Request */
505        unsigned short rx_response      PACKED; /* 04: Authenticate-Ack */
506        unsigned short rx_success       PACKED; /* 06: Authenticate-Nak */
507        unsigned short rx_failure       PACKED; /* 08: Authenticate-Nak */
508        unsigned short reserved         PACKED; /* 0A: */
509        unsigned short tx_challenge     PACKED; /* 0C: Authenticate-Request */
510        unsigned short tx_response      PACKED; /* 0E: Authenticate-Ack */
511        unsigned short tx_success       PACKED; /* 10: Authenticate-Nak */
512        unsigned short tx_failure       PACKED; /* 12: Authenticate-Nak */
513        unsigned short rx_too_large     PACKED; /* 14: packets too large */
514        unsigned short rx_bad_peerid    PACKED; /* 16: invalid peer ID */
515        unsigned short rx_bad_passwd    PACKED; /* 18: invalid password */
516        unsigned short rx_bad_md5       PACKED; /* 1A: invalid MD5 format */
517        unsigned short rx_bad_resp      PACKED; /* 1C: invalid response */
518} ppp_chap_stats_t;
519
520/*----------------------------------------------------------------------------
521 * Connection Information (returned by the PPP_GET_CONNECTION_INFO command).
522 */
523typedef struct  ppp_conn_info
524{
525        unsigned short remote_mru       PACKED; /* 00:  */
526        unsigned char  ip_options       PACKED; /* 02:  */
527        unsigned char  ip_local[4]      PACKED; /* 03:  */
528        unsigned char  ip_remote[4]     PACKED; /* 07:  */
529        unsigned char  ipx_options      PACKED; /* 0B:  */
530        unsigned char  ipx_network[4]   PACKED; /* 0C:  */
531        unsigned char  ipx_local[6]     PACKED; /* 10:  */
532        unsigned char  ipx_remote[6]    PACKED; /* 16:  */
533        unsigned char  ipx_router[48]   PACKED; /* 1C:  */
534        unsigned char  auth_status      PACKED; /* 4C:  */
535        unsigned char  peer_id[0]       PACKED; /* 4D:  */
536} ppp_conn_info_t;
537
538/* Data structure for SET_TRIGGER_INTR command
539 */
540
541typedef struct ppp_intr_info{
542        unsigned char  i_enable         PACKED; /* 0 Interrupt enable bits */
543        unsigned char  irq              PACKED; /* 1 Irq number */
544        unsigned short timer_len        PACKED; /* 2 Timer delay */
545} ppp_intr_info_t;
546
547
548#define FT1_MONITOR_STATUS_CTRL                         0x80
549#define SET_FT1_MODE                                    0x81
550
551
552
553/* Special UDP drivers management commands */
554#define PPIPE_ENABLE_TRACING                            0x20
555#define PPIPE_DISABLE_TRACING                           0x21
556#define PPIPE_GET_TRACE_INFO                            0x22
557#define PPIPE_GET_IBA_DATA                              0x23
558#define PPIPE_KILL_BOARD                                0x24
559#define PPIPE_FT1_READ_STATUS                           0x25
560#define PPIPE_DRIVER_STAT_IFSEND                        0x26
561#define PPIPE_DRIVER_STAT_INTR                          0x27
562#define PPIPE_DRIVER_STAT_GEN                           0x28
563#define PPIPE_FLUSH_DRIVER_STATS                        0x29
564#define PPIPE_ROUTER_UP_TIME                            0x30
565
566#define DISABLE_TRACING                                 0x00
567#define TRACE_SIGNALLING_FRAMES                         0x01
568#define TRACE_DATA_FRAMES                               0x02
569
570
571
572#ifdef          _MSC_
573#  pragma       pack()
574#endif
575#endif  /* _SDLA_PPP_H */
Note: See TracBrowser for help on using the repository browser.