2
** -----------------------------------------------------------------------------
4
** Perle Specialix driver for Linux
5
** Ported from existing RIO Driver for SCO sources.
7
* (C) 1990 - 2000 Specialix International Ltd., Byfleet, Surrey, UK.
9
* This program is free software; you can redistribute it and/or modify
10
* it under the terms of the GNU General Public License as published by
11
* the Free Software Foundation; either version 2 of the License, or
12
* (at your option) any later version.
14
* This program is distributed in the hope that it will be useful,
15
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
* GNU General Public License for more details.
19
* You should have received a copy of the GNU General Public License
20
* along with this program; if not, write to the Free Software
21
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
25
** Last Modified : 11/6/98 11:34:09
26
** Retrieved : 11/6/98 11:34:20
28
** ident @(#)cmdpkt.h 1.2
30
** -----------------------------------------------------------------------------
32
#ifndef __rio_cmdpkt_h__
33
#define __rio_cmdpkt_h__
36
** overlays for the data area of a packet. Used in both directions
37
** (to build a packet to send, and to interpret a packet that arrives)
38
** and is very inconvenient for MIPS, so they appear as two separate
39
** structures - those used for modifying/reading packets on the card
40
** and those for modifying/reading packets in real memory, which have an _M
44
#define RTA_BOOT_DATA_SIZE (PKT_MAX_DATA_LEN-2)
47
** The boot information packet looks like this:
48
** This structure overlays a PktCmd->CmdData structure, and so starts
49
** at Data[2] in the actual pkt!
57
#define BOOT_SEQUENCE_LEN 8
78
struct BootSequence PcBootSequence;
82
u8 PcBootData[RTA_BOOT_DATA_SIZE];
86
u8 PcUniqNum[4]; /* this is really a uint. */
87
u8 PcModuleTypes; /* what modules are fitted */
94
u8 PcSubCommand; /* commands like mem or register dump */
95
u16 PcSubAddr; /* Address for command */
96
u8 PcSubData[64]; /* Date area for command */
102
u8 PcIDNum2; /* It had to go somewhere! */
105
struct CmdHdr CmdHdr;
106
struct SamTop Topology[LINKS_PER_UNIT];
130
u8 PcBootData[RTA_BOOT_DATA_SIZE];
134
u8 PcUniqNum[4]; /* this is really a uint. */
135
u8 PcModuleTypes; /* what modules are fitted */
150
u8 PcIDNum2; /* Tacked on end */
154
struct Top Topology[LINKS_PER_UNIT];
159
#define Command U1.S1.CmdHdr.PcCommand
160
#define PhbNum U1.S1.CmdHdr.U0.PcPhbNum
161
#define IDNum U1.S1.CmdHdr.U0.PcIDNum
162
#define IDNum2 U1.S5.PcIDNum2
163
#define LinkNum U1.S1.CmdHdr.U0.PcLinkNum
164
#define Sequence U1.S2.PcSequence
165
#define BootData U1.S2.PcBootData
166
#define BootSequence U1.S1.PcBootSequence
167
#define UniqNum U1.S3.PcUniqNum
168
#define ModemStatus U1.S4.PcModemStatus
169
#define PortStatus U1.S4.PcPortStatus
170
#define SubCommand U1.S4.PcSubCommand
171
#define SubAddr U1.S4.PcSubAddr
172
#define SubData U1.S4.PcSubData
173
#define CommandText U1.S5.PcCommandText
174
#define RouteTopology U1.S6.Topology
175
#define ModuleTypes U1.S3.PcModuleTypes