111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/****************************************************************************
211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   This header was automatically generated from a Linux kernel header
511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   of the same name, to make information necessary for userspace to
611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   call into the kernel available to libc.  It contains only constants,
711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   structures, and macros generated from the original header, and thus,
811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   contains no copyrightable information.
911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************/
1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef _ROUTER_H
1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _ROUTER_H
1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ROUTER_NAME "wanrouter"
1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ROUTER_VERSION 1
1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ROUTER_RELEASE 1
1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ROUTER_IOCTL 'W'
1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ROUTER_MAGIC 0x524D4157L
2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertenum router_ioctls
2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ROUTER_SETUP = ROUTER_IOCTL<<8,
2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ROUTER_DOWN,
2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ROUTER_STAT,
2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ROUTER_IFNEW,
2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ROUTER_IFDEL,
2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ROUTER_IFSTAT,
2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ROUTER_USER = (ROUTER_IOCTL<<8)+16,
3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ROUTER_USER_MAX = (ROUTER_IOCTL<<8)+31
3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PROC_DATA_PORT_0 0x8000
3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PROC_DATA_PORT_1 0x8001
3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NLPID_IP 0xCC
3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NLPID_SNAP 0x80
3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NLPID_CLNP 0x81
3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NLPID_ESIS 0x82
4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NLPID_ISIS 0x83
4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NLPID_Q933 0x08
4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WAN_IFNAME_SZ 15
4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WAN_DRVNAME_SZ 15
4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WAN_ADDRESS_SZ 31
4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USED_BY_FIELD 8
4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define UDP_PTPIPE_TYPE 0x01
4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define UDP_FPIPE_TYPE 0x02
5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define UDP_CPIPE_TYPE 0x03
5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define UDP_DRVSTATS_TYPE 0x04
5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define UDP_INVALID_TYPE 0x05
5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
5411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CMD_OK 0
5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CMD_TIMEOUT 0xFF
5611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define UDP_PKT_FRM_STACK 0x00
5811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define UDP_PKT_FRM_NETWORK 0x01
5911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
6011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MAX_INTR_TEST_COUNTER 100
6111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
6211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CRITICAL_IN_ISR 0xA1
6311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CRITICAL_INTR_HANDLED 0xB1
6411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
6511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct wan_x25_conf
6611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
6711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned lo_pvc;
6811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned hi_pvc;
6911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned lo_svc;
7011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned hi_svc;
7111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned hdlc_window;
7211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned pkt_window;
7311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned t1;
7411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned t2;
7511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned t4;
7611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned n2;
7711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned t10_t20;
7811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned t11_t21;
7911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned t12_t22;
8011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned t13_t23;
8111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned t16_t26;
8211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned t28;
8311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned r10_r20;
8411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned r12_r22;
8511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned r13_r23;
8611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned ccitt_compat;
8711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned x25_conf_opt;
8811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char LAPB_hdlc_only;
8911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char logging;
9011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char oob_on_modem;
9111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} wan_x25_conf_t;
9211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
9311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct wan_fr_conf
9411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
9511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned signalling;
9611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned t391;
9711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned t392;
9811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned n391;
9911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned n392;
10011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned n393;
10111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned dlci_num;
10211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned dlci[100];
10311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} wan_fr_conf_t;
10411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
10511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct wan_ppp_conf
10611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
10711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned restart_tmr;
10811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned auth_rsrt_tmr;
10911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned auth_wait_tmr;
11011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned mdm_fail_tmr;
11111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned dtr_drop_tmr;
11211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned connect_tmout;
11311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned conf_retry;
11411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned term_retry;
11511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned fail_retry;
11611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned auth_retry;
11711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned auth_options;
11811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned ip_options;
11911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char authenticator;
12011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char ip_mode;
12111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} wan_ppp_conf_t;
12211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
12311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct wan_chdlc_conf
12411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
12511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char ignore_dcd;
12611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char ignore_cts;
12711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char ignore_keepalive;
12811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char hdlc_streaming;
12911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char receive_only;
13011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned keepalive_tx_tmr;
13111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned keepalive_rx_tmr;
13211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned keepalive_err_margin;
13311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned slarp_timer;
13411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} wan_chdlc_conf_t;
13511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
13611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct wandev_conf
13711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
13811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned magic;
13911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned config_id;
14011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
14111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned ioport;
14211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long maddr;
14311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned msize;
14411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int irq;
14511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int dma;
14611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char S514_CPU_no[1];
14711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned PCI_slot_no;
14811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char auto_pci_cfg;
14911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char comm_port;
15011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned bps;
15111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned mtu;
15211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned udp_port;
15311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char ttl;
15411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char ft1;
15511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char interface;
15611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char clocking;
15711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char line_coding;
15811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char station;
15911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char connection;
16011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char read_mode;
16111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char receive_only;
16211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char tty;
16311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned tty_major;
16411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned tty_minor;
16511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned tty_mode;
16611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char backup;
16711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned hw_opt[4];
16811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned reserved[4];
16911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
17011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned data_size;
17111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert void* data;
17211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert union
17311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert {
17411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert wan_x25_conf_t x25;
17511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert wan_ppp_conf_t ppp;
17611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert wan_fr_conf_t fr;
17711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert wan_chdlc_conf_t chdlc;
17811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert } u;
17911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} wandev_conf_t;
18011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
18111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANCONFIG_X25 101
18211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANCONFIG_FR 102
18311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANCONFIG_PPP 103
18411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANCONFIG_CHDLC 104
18511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANCONFIG_BSC 105
18611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANCONFIG_HDLC 106
18711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANCONFIG_MPPP 107
18811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
18911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANOPT_OFF 0
19011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANOPT_ON 1
19111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANOPT_NO 0
19211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANOPT_YES 1
19311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
19411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANOPT_RS232 0
19511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANOPT_V35 1
19611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
19711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANOPT_NRZ 0
19811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANOPT_NRZI 1
19911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANOPT_FM0 2
20011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANOPT_FM1 3
20111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
20211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANOPT_POINTTOPOINT 0
20311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANOPT_MULTIDROP 1
20411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
20511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANOPT_EXTERNAL 0
20611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANOPT_INTERNAL 1
20711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
20811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANOPT_DTE 0
20911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANOPT_DCE 1
21011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANOPT_CPE 0
21111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANOPT_NODE 1
21211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANOPT_SECONDARY 0
21311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANOPT_PRIMARY 1
21411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
21511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANOPT_PERMANENT 0
21611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANOPT_SWITCHED 1
21711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANOPT_ONDEMAND 2
21811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
21911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANOPT_FR_ANSI 1
22011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANOPT_FR_Q933 2
22111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANOPT_FR_LMI 3
22211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
22311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANOPT_PPP_STATIC 0
22411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANOPT_PPP_HOST 1
22511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANOPT_PPP_PEER 2
22611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
22711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANOPT_ONE 1
22811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANOPT_TWO 2
22911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANOPT_ONE_AND_HALF 3
23011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
23111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANOPT_NONE 0
23211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANOPT_ODD 1
23311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANOPT_EVEN 2
23411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
23511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANOPT_PRI 0
23611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANOPT_SEC 1
23711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
23811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANOPT_INTR 0
23911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANOPT_POLL 1
24011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
24111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANOPT_TTY_SYNC 0
24211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WANOPT_TTY_ASYNC 1
24311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
24411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct wandev_stat
24511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
24611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned state;
24711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned ndev;
24811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
24911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned connection;
25011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned media_type;
25111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned mtu;
25211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
25311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned modem_status;
25411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned rx_frames;
25511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned rx_overruns;
25611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned rx_crc_err;
25711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned rx_aborts;
25811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned rx_bad_length;
25911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned rx_dropped;
26011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned tx_frames;
26111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned tx_underruns;
26211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned tx_timeouts;
26311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned tx_rejects;
26411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
26511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned rx_bad_format;
26611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned rx_bad_addr;
26711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned tx_retries;
26811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned reserved[16];
26911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} wandev_stat_t;
27011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
27111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertenum wan_states
27211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
27311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert WAN_UNCONFIGURED,
27411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert WAN_DISCONNECTED,
27511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert WAN_CONNECTING,
27611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert WAN_CONNECTED,
27711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert WAN_LIMIT,
27811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert WAN_DUALPORT,
27911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert WAN_DISCONNECTING,
28011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert WAN_FT1_READY
28111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
28211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
28311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertenum {
28411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert WAN_LOCAL_IP,
28511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert WAN_POINTOPOINT_IP,
28611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert WAN_NETMASK_IP,
28711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert WAN_BROADCAST_IP
28811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
28911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
29011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WAN_MODEM_CTS 0x0001
29111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WAN_MODEM_DCD 0x0002
29211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WAN_MODEM_DTR 0x0010
29311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WAN_MODEM_RTS 0x0020
29411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
29511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct wanif_conf
29611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
29711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned magic;
29811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned config_id;
29911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char name[WAN_IFNAME_SZ+1];
30011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char addr[WAN_ADDRESS_SZ+1];
30111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char usedby[USED_BY_FIELD];
30211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned idle_timeout;
30311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned hold_timeout;
30411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned cir;
30511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned bc;
30611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned be;
30711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char enable_IPX;
30811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char inarp;
30911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned inarp_interval;
31011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long network_number;
31111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char mc;
31211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char local_addr[WAN_ADDRESS_SZ+1];
31311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char port;
31411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char protocol;
31511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char pap;
31611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char chap;
31711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char userid[511];
31811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char passwd[511];
31911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char sysname[31];
32011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char ignore_dcd;
32111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char ignore_cts;
32211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char ignore_keepalive;
32311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char hdlc_streaming;
32411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned keepalive_tx_tmr;
32511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned keepalive_rx_tmr;
32611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned keepalive_err_margin;
32711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned slarp_timer;
32811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char ttl;
32911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char interface;
33011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char clocking;
33111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned bps;
33211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned mtu;
33311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char if_down;
33411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char gateway;
33511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char true_if_encoding;
33611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
33711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char asy_data_trans;
33811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char rts_hs_for_receive;
33911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char xon_xoff_hs_for_receive;
34011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char xon_xoff_hs_for_transmit;
34111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char dcd_hs_for_transmit;
34211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char cts_hs_for_transmit;
34311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char async_mode;
34411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned tx_bits_per_char;
34511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned rx_bits_per_char;
34611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned stop_bits;
34711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char parity;
34811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned break_timer;
34911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned inter_char_timer;
35011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned rx_complete_length;
35111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned xon_char;
35211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned xoff_char;
35311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char receive_only;
35411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} wanif_conf_t;
35511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
35611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
357