/***************************************************************************** * if_wanipe_common.h Sangoma Driver/Socket common area definitions. * * 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 13, 2000 Nenad Corbic Initial version *****************************************************************************/ #ifndef _WANPIPE_SOCK_DRIVER_COMMON_H #define _WANPIPE_SOCK_DRIVER_COMMON_H #include #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,3,0) #define netdevice_t struct net_device #else #define netdevice_t struct device #endif typedef struct { netdevice_t *slave; atomic_t packet_sent; atomic_t receive_block; atomic_t command; atomic_t disconnect; atomic_t driver_busy; unsigned char common_critical; struct timer_list *tx_timer; struct sock *sk; /* Wanpipe Sock bind's here */ int (*func) (struct sk_buff *, netdevice_t *, struct sock *); struct tq_struct wanpipe_task; /* Immediate BH handler task */ unsigned char rw_bind; /* Sock bind state */ unsigned char usedby; unsigned char state; unsigned char svc; unsigned short lcn; void *mbox; } wanpipe_common_t; enum { WANSOCK_UNCONFIGURED, /* link/channel is not configured */ WANSOCK_DISCONNECTED, /* link/channel is disconnected */ WANSOCK_CONNECTING, /* connection is in progress */ WANSOCK_CONNECTED, /* link/channel is operational */ WANSOCK_LIMIT, /* for verification only */ WANSOCK_DUALPORT, /* for Dual Port cards */ WANSOCK_DISCONNECTING, WANSOCK_BINDED, WANSOCK_BIND_LISTEN, WANSOCK_LISTEN }; #endif