summaryrefslogtreecommitdiffstats
path: root/drivers/isdn/hardware/eicon/pr_pc.h
blob: bf49a5af567f3e3d78d51d24523fa69ff2c78192 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
/*
 *
  Copyright (c) Eicon Networks, 2002.
 *
  This source file is supplied for the use with
  Eicon Networks range of DIVA Server Adapters.
 *
  Eicon File Revision :    2.1
 *
  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, or (at your option)
  any later version.
 *
  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY OF ANY KIND WHATSOEVER INCLUDING ANY
  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  See the GNU General Public License for more details.
 *
  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the Free Software
  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 *
 */
struct pr_ram {
  word NextReq;         /* pointer to next Req Buffer               */
  word NextRc;          /* pointer to next Rc Buffer                */
  word NextInd;         /* pointer to next Ind Buffer               */
  byte ReqInput;        /* number of Req Buffers sent               */
  byte ReqOutput;       /* number of Req Buffers returned           */
  byte ReqReserved;     /* number of Req Buffers reserved           */
  byte Int;             /* ISDN-P interrupt                         */
  byte XLock;           /* Lock field for arbitration               */
  byte RcOutput;        /* number of Rc buffers received            */
  byte IndOutput;       /* number of Ind buffers received           */
  byte IMask;           /* Interrupt Mask Flag                      */
  byte Reserved1[2];    /* reserved field, do not use               */
  byte ReadyInt;        /* request field for ready interrupt        */
  byte Reserved2[12];   /* reserved field, do not use               */
  byte InterfaceType;   /* interface type 1=16K interface           */
  word Signature;       /* ISDN-P initialized indication            */
  byte B[1];            /* buffer space for Req,Ind and Rc          */
};
typedef struct {
  word next;
  byte Req;
  byte ReqId;
  byte ReqCh;
  byte Reserved1;
  word Reference;
  byte Reserved[8];
  PBUFFER XBuffer;
} REQ;
typedef struct {
  word next;
  byte Rc;
  byte RcId;
  byte RcCh;
  byte Reserved1;
  word Reference;
  byte Reserved2[8];
} RC;
typedef struct {
  word next;
  byte Ind;
  byte IndId;
  byte IndCh;
  byte MInd;
  word MLength;
  word Reference;
  byte RNR;
  byte Reserved;
  dword Ack;
  PBUFFER RBuffer;
} IND;