Subversion Repositories shark

Rev

Blame | Last modification | View Log | RSS feed

/*****************************************************************************
* if_wanipe_common.h   Sangoma Driver/Socket common area definitions.
*
* Author:       Nenad Corbic <ncorbic@sangoma.com>
*
* 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 <linux/version.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