summaryrefslogtreecommitdiff
path: root/release/src/linux/linux/include/linux/if_wanpipe.h
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2015-01-03 12:04:58 +0100
committerAndreas Baumann <mail@andreasbaumann.cc>2015-01-03 12:04:58 +0100
commit008d0be72b2f160382c6e880765e96b64a050c65 (patch)
tree36f48a98a3815a408e2ce1693dd182af90f80305 /release/src/linux/linux/include/linux/if_wanpipe.h
parent611becfb8726c60cb060368541ad98191d4532f5 (diff)
downloadtomato-008d0be72b2f160382c6e880765e96b64a050c65.tar.gz
tomato-008d0be72b2f160382c6e880765e96b64a050c65.tar.bz2
imported original firmware WRT54GL_v4.30.11_11_US
Diffstat (limited to 'release/src/linux/linux/include/linux/if_wanpipe.h')
-rw-r--r--release/src/linux/linux/include/linux/if_wanpipe.h128
1 files changed, 128 insertions, 0 deletions
diff --git a/release/src/linux/linux/include/linux/if_wanpipe.h b/release/src/linux/linux/include/linux/if_wanpipe.h
new file mode 100644
index 00000000..484a7675
--- /dev/null
+++ b/release/src/linux/linux/include/linux/if_wanpipe.h
@@ -0,0 +1,128 @@
+/*****************************************************************************
+* if_wanpipe.h Header file for the Sangoma AF_WANPIPE Socket
+*
+* Author: Nenad Corbic
+*
+* Copyright: (c) 2000 Sangoma Technologies Inc.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version
+* 2 of the License, or (at your option) any later version.
+* ============================================================================
+*
+* Jan 28, 2000 Nenad Corbic Initial Version
+*
+*****************************************************************************/
+
+#ifndef __LINUX_IF_WAN_PACKET_H
+#define __LINUX_IF_WAN_PACKET_H
+
+struct wan_sockaddr_ll
+{
+ unsigned short sll_family;
+ unsigned short sll_protocol;
+ int sll_ifindex;
+ unsigned short sll_hatype;
+ unsigned char sll_pkttype;
+ unsigned char sll_halen;
+ unsigned char sll_addr[8];
+ unsigned char sll_device[14];
+ unsigned char sll_card[14];
+};
+
+typedef struct
+{
+ unsigned char free;
+ unsigned char sk_state;
+ int rcvbuf;
+ int sndbuf;
+ int rmem;
+ int wmem;
+ int sk_count;
+ unsigned char bound;
+ char name[14];
+ unsigned char d_state;
+ unsigned char svc;
+ unsigned short lcn;
+ unsigned char mbox;
+ unsigned char cmd_busy;
+ unsigned char command;
+ unsigned poll;
+ unsigned poll_cnt;
+ int rblock;
+} wan_debug_hdr_t;
+
+#define MAX_NUM_DEBUG 10
+#define X25_PROT 0x16
+#define PVC_PROT 0x17
+
+typedef struct
+{
+ wan_debug_hdr_t debug[MAX_NUM_DEBUG];
+}wan_debug_t;
+
+#define SIOC_WANPIPE_GET_CALL_DATA (SIOCPROTOPRIVATE + 0)
+#define SIOC_WANPIPE_SET_CALL_DATA (SIOCPROTOPRIVATE + 1)
+#define SIOC_WANPIPE_ACCEPT_CALL (SIOCPROTOPRIVATE + 2)
+#define SIOC_WANPIPE_CLEAR_CALL (SIOCPROTOPRIVATE + 3)
+#define SIOC_WANPIPE_RESET_CALL (SIOCPROTOPRIVATE + 4)
+#define SIOC_WANPIPE_DEBUG (SIOCPROTOPRIVATE + 5)
+#define SIOC_WANPIPE_SET_NONBLOCK (SIOCPROTOPRIVATE + 6)
+#define SIOC_WANPIPE_CHECK_TX (SIOCPROTOPRIVATE + 7)
+#define SIOC_WANPIPE_SOCK_STATE (SIOCPROTOPRIVATE + 8)
+
+/* Packet types */
+
+#define WAN_PACKET_HOST 0 /* To us */
+#define WAN_PACKET_BROADCAST 1 /* To all */
+#define WAN_PACKET_MULTICAST 2 /* To group */
+#define WAN_PACKET_OTHERHOST 3 /* To someone else */
+#define WAN_PACKET_OUTGOING 4 /* Outgoing of any type */
+/* These ones are invisible by user level */
+#define WAN_PACKET_LOOPBACK 5 /* MC/BRD frame looped back */
+#define WAN_PACKET_FASTROUTE 6 /* Fastrouted frame */
+
+
+/* X25 specific */
+#define WAN_PACKET_DATA 7
+#define WAN_PACKET_CMD 8
+#define WAN_PACKET_ASYNC 9
+#define WAN_PACKET_ERR 10
+
+/* Packet socket options */
+
+#define WAN_PACKET_ADD_MEMBERSHIP 1
+#define WAN_PACKET_DROP_MEMBERSHIP 2
+
+#define WAN_PACKET_MR_MULTICAST 0
+#define WAN_PACKET_MR_PROMISC 1
+#define WAN_PACKET_MR_ALLMULTI 2
+
+#ifdef __KERNEL__
+#ifndef netdevice_t
+#include <linux/version.h>
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,3,0)
+ #define netdevice_t struct net_device
+#else
+ #define netdevice_t struct device
+#endif
+#endif
+
+/* Private wanpipe socket structures. */
+struct wanpipe_opt
+{
+ void *mbox; /* Mail box */
+ void *card; /* Card bouded to */
+ netdevice_t *dev; /* Bounded device */
+ unsigned short lcn; /* Binded LCN */
+ unsigned char svc; /* 0=pvc, 1=svc */
+ unsigned char timer; /* flag for delayed transmit*/
+ struct timer_list tx_timer;
+ unsigned poll_cnt;
+ unsigned char force; /* Used to force sock release */
+ atomic_t packet_sent;
+};
+#endif
+
+#endif