import of upstream 2.4.34.4 from kernel.org
[linux-2.4.git] / drivers / isdn / eicon / pr_pc.h
1 /*
2  * Copyright (C) Eicon Technology Corporation, 2000.
3  *
4  * Eicon File Revision :    1.0  
5  *
6  * This software may be used and distributed according to the terms
7  * of the GNU General Public License, incorporated herein by reference.
8  *
9  */
10
11
12 #if !defined(PR_PC_H)
13 #define PR_PC_H
14
15 struct pr_ram {
16   word NextReq;         /* pointer to next Req Buffer               */
17   word NextRc;          /* pointer to next Rc Buffer                */
18   word NextInd;         /* pointer to next Ind Buffer               */
19   byte ReqInput;        /* number of Req Buffers sent               */
20   byte ReqOutput;       /* number of Req Buffers returned           */
21   byte ReqReserved;     /* number of Req Buffers reserved           */
22   byte Int;             /* ISDN-P interrupt                         */
23   byte XLock;           /* Lock field for arbitration               */
24   byte RcOutput;        /* number of Rc buffers received            */
25   byte IndOutput;       /* number of Ind buffers received           */
26   byte IMask;           /* Interrupt Mask Flag                      */
27   byte Reserved1[2];    /* reserved field, do not use               */
28   byte ReadyInt;        /* request field for ready interrupt        */
29   byte Reserved2[12];   /* reserved field, do not use               */
30   byte InterfaceType;   /* interface type 1=16K interface           */
31   word Signature;       /* ISDN-P initialized indication            */
32   byte B[1];            /* buffer space for Req,Ind and Rc          */
33 };
34
35 typedef struct {
36   word next;
37   byte Req;
38   byte ReqId;
39   byte ReqCh;
40   byte Reserved1;
41   word Reference;
42   byte Reserved[8];
43   PBUFFER XBuffer;
44 } REQ;
45
46 typedef struct {
47   word next;
48   byte Rc;
49   byte RcId;
50   byte RcCh;
51   byte Reserved1;
52   word Reference;
53   byte Reserved2[8];
54 } RC;
55
56 typedef struct {
57   word next;
58   byte Ind;
59   byte IndId;
60   byte IndCh;
61   byte MInd;
62   word MLength;
63   word Reference;
64   byte RNR;
65   byte Reserved;
66   dword Ack;
67   PBUFFER RBuffer;
68 } IND;
69
70 #endif