File: /usr/src/linux/include/linux/if_wanpipe_common.h
1 /*****************************************************************************
2 * if_wanipe_common.h Sangoma Driver/Socket common area definitions.
3 *
4 * Author: Nenad Corbic <ncorbic@sangoma.com>
5 *
6 * Copyright: (c) 2000 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 * Jan 13, 2000 Nenad Corbic Initial version
14 *****************************************************************************/
15
16
17 #ifndef _WANPIPE_SOCK_DRIVER_COMMON_H
18 #define _WANPIPE_SOCK_DRIVER_COMMON_H
19
20 #include <linux/version.h>
21
22 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,3,0)
23 #define netdevice_t struct net_device
24 #else
25 #define netdevice_t struct device
26 #endif
27
28
29 typedef struct {
30 netdevice_t *slave;
31 atomic_t packet_sent;
32 atomic_t receive_block;
33 atomic_t command;
34 atomic_t disconnect;
35 atomic_t driver_busy;
36 unsigned char common_critical;
37 struct timer_list *tx_timer;
38 struct sock *sk; /* Wanpipe Sock bind's here */
39 int (*func) (struct sk_buff *, netdevice_t *,
40 struct sock *);
41
42 struct tq_struct wanpipe_task; /* Immediate BH handler task */
43 unsigned char rw_bind; /* Sock bind state */
44 unsigned char usedby;
45 unsigned char state;
46 unsigned char svc;
47 unsigned short lcn;
48 void *mbox;
49 } wanpipe_common_t;
50
51
52 enum {
53 WANSOCK_UNCONFIGURED, /* link/channel is not configured */
54 WANSOCK_DISCONNECTED, /* link/channel is disconnected */
55 WANSOCK_CONNECTING, /* connection is in progress */
56 WANSOCK_CONNECTED, /* link/channel is operational */
57 WANSOCK_LIMIT, /* for verification only */
58 WANSOCK_DUALPORT, /* for Dual Port cards */
59 WANSOCK_DISCONNECTING,
60 WANSOCK_BINDED,
61 WANSOCK_BIND_LISTEN,
62 WANSOCK_LISTEN
63 };
64
65 #endif
66
67
68