/***************************************************************************** * 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 typedef struct { struct net_device *slave; atomic_t packet_sent; atomic_t receive_block; atomic_t command; atomic_t disconnect; atomic_t driver_busy; long common_critical; struct timer_list *tx_timer; struct sock *sk; /* Wanpipe Sock bind's here */ int (*func)(struct sk_buff *skb, struct net_device *dev, struct sock *sk); struct work_struct wanpipe_work; /* deferred keventd work */ 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