OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [drivers/] [usb/] [auerisdn_b.h] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
/*****************************************************************************/
2
/*
3
 *      auerisdn_b.h  --  Auerswald PBX/System Telephone ISDN B channel interface.
4
 *
5
 *      Copyright (C) 2002  Wolfgang Mües (wolfgang@iksw-muees.de)
6
 *
7
 *      This program is free software; you can redistribute it and/or modify
8
 *      it under the terms of the GNU General Public License as published by
9
 *      the Free Software Foundation; either version 2 of the License, or
10
 *      (at your option) any later version.
11
 *
12
 *      This program is distributed in the hope that it will be useful,
13
 *      but WITHOUT ANY WARRANTY; without even the implied warranty of
14
 *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
 *      GNU General Public License for more details.
16
 *
17
 *      You should have received a copy of the GNU General Public License
18
 *      along with this program; if not, write to the Free Software
19
 *      Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20
 */
21
 /*****************************************************************************/
22
 
23
#ifndef AUERISDN_B_H
24
#define AUERISDN_B_H
25
 
26
#include <../drivers/isdn/hisax/hisax_if.h>
27
#include <linux/skbuff.h>
28
#include "auerbuf.h"
29
#include <../drivers/isdn/hisax/isdnhdlc.h>
30
 
31
#define AUISDN_RXSIZE   4096    /* RX buffer size */
32
#define AUISDN_BCHANNELS   2    /* Number of supported B channels */
33
 
34
/* states for intbo_state */
35
#define INTBOS_IDLE     0
36
#define INTBOS_RUNNING  1
37
#define INTBOS_CHANGE   2
38
#define INTBOS_RESTART  3
39
 
40
/* ...................................................................*/
41
/* B channel state data */
42
struct auerswald;
43
struct auerisdnbc {
44
        struct auerswald *cp;   /* Context to usb device */
45
        struct sk_buff *txskb;  /* sk buff to transmitt */
46
        spinlock_t txskb_lock;  /* protect against races */
47
        unsigned int mode;      /* B-channel mode */
48
        unsigned int channel;   /* Number of this B-channel */
49
        unsigned int ofsize;    /* Size of device OUT fifo in Bytes */
50
        int txfree;             /* free bytes in tx buffer of device */
51
        unsigned int txsize;    /* size of data paket for this channel */
52
        unsigned char *rxbuf;   /* Receiver input buffer */
53
        struct isdnhdlc_vars inp_hdlc_state;    /* state for RX software HDLC */
54
        struct isdnhdlc_vars outp_hdlc_state;   /* state for TX software HDLC */
55
        unsigned int lastbyte;  /* last byte sent out to trans. B channel */
56
};
57
 
58
/* Function Prototypes */
59
void auerisdn_b_l2l1(struct hisax_if *ifc, int pr, void *arg,
60
                     unsigned int channel);
61
void auerisdn_b_l1l2(struct auerisdnbc *bc, int pr, void *arg);
62
 
63
void auerisdn_intbi_complete(struct urb *urb);
64
unsigned int auerisdn_b_disconnect(struct auerswald *cp);
65
 
66
#endif  /* AUERISDN_B_H */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.