Linux-2.6.12-rc2
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!
This commit is contained in:
206
drivers/char/rio/cmdpkt.h
Normal file
206
drivers/char/rio/cmdpkt.h
Normal file
@@ -0,0 +1,206 @@
|
||||
/*
|
||||
** -----------------------------------------------------------------------------
|
||||
**
|
||||
** Perle Specialix driver for Linux
|
||||
** Ported from existing RIO Driver for SCO sources.
|
||||
*
|
||||
* (C) 1990 - 2000 Specialix International Ltd., Byfleet, Surrey, UK.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the 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.
|
||||
**
|
||||
** Module : cmdpkt.h
|
||||
** SID : 1.2
|
||||
** Last Modified : 11/6/98 11:34:09
|
||||
** Retrieved : 11/6/98 11:34:20
|
||||
**
|
||||
** ident @(#)cmdpkt.h 1.2
|
||||
**
|
||||
** -----------------------------------------------------------------------------
|
||||
*/
|
||||
#ifndef __rio_cmdpkt_h__
|
||||
#define __rio_cmdpkt_h__
|
||||
|
||||
#ifdef SCCS_LABELS
|
||||
#ifndef lint
|
||||
static char *_cmdpkt_h_sccs_ = "@(#)cmdpkt.h 1.2";
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
** overlays for the data area of a packet. Used in both directions
|
||||
** (to build a packet to send, and to interpret a packet that arrives)
|
||||
** and is very inconvenient for MIPS, so they appear as two separate
|
||||
** structures - those used for modifying/reading packets on the card
|
||||
** and those for modifying/reading packets in real memory, which have an _M
|
||||
** suffix.
|
||||
*/
|
||||
|
||||
#define RTA_BOOT_DATA_SIZE (PKT_MAX_DATA_LEN-2)
|
||||
|
||||
/*
|
||||
** The boot information packet looks like this:
|
||||
** This structure overlays a PktCmd->CmdData structure, and so starts
|
||||
** at Data[2] in the actual pkt!
|
||||
*/
|
||||
struct BootSequence
|
||||
{
|
||||
WORD NumPackets;
|
||||
WORD LoadBase;
|
||||
WORD CodeSize;
|
||||
};
|
||||
|
||||
#define BOOT_SEQUENCE_LEN 8
|
||||
|
||||
struct SamTop
|
||||
{
|
||||
BYTE Unit;
|
||||
BYTE Link;
|
||||
};
|
||||
|
||||
struct CmdHdr
|
||||
{
|
||||
BYTE PcCommand;
|
||||
union
|
||||
{
|
||||
BYTE PcPhbNum;
|
||||
BYTE PcLinkNum;
|
||||
BYTE PcIDNum;
|
||||
} U0;
|
||||
};
|
||||
|
||||
|
||||
struct PktCmd
|
||||
{
|
||||
union
|
||||
{
|
||||
struct
|
||||
{
|
||||
struct CmdHdr CmdHdr;
|
||||
struct BootSequence PcBootSequence;
|
||||
} S1;
|
||||
struct
|
||||
{
|
||||
WORD PcSequence;
|
||||
BYTE PcBootData[RTA_BOOT_DATA_SIZE];
|
||||
} S2;
|
||||
struct
|
||||
{
|
||||
WORD __crud__;
|
||||
BYTE PcUniqNum[4]; /* this is really a uint. */
|
||||
BYTE PcModuleTypes; /* what modules are fitted */
|
||||
} S3;
|
||||
struct
|
||||
{
|
||||
struct CmdHdr CmdHdr;
|
||||
BYTE __undefined__;
|
||||
BYTE PcModemStatus;
|
||||
BYTE PcPortStatus;
|
||||
BYTE PcSubCommand; /* commands like mem or register dump */
|
||||
WORD PcSubAddr; /* Address for command */
|
||||
BYTE PcSubData[64]; /* Date area for command */
|
||||
} S4;
|
||||
struct
|
||||
{
|
||||
struct CmdHdr CmdHdr;
|
||||
BYTE PcCommandText[1];
|
||||
BYTE __crud__[20];
|
||||
BYTE PcIDNum2; /* It had to go somewhere! */
|
||||
} S5;
|
||||
struct
|
||||
{
|
||||
struct CmdHdr CmdHdr;
|
||||
struct SamTop Topology[LINKS_PER_UNIT];
|
||||
} S6;
|
||||
} U1;
|
||||
};
|
||||
|
||||
struct PktCmd_M
|
||||
{
|
||||
union
|
||||
{
|
||||
struct
|
||||
{
|
||||
struct
|
||||
{
|
||||
uchar PcCommand;
|
||||
union
|
||||
{
|
||||
uchar PcPhbNum;
|
||||
uchar PcLinkNum;
|
||||
uchar PcIDNum;
|
||||
} U0;
|
||||
} CmdHdr;
|
||||
struct
|
||||
{
|
||||
ushort NumPackets;
|
||||
ushort LoadBase;
|
||||
ushort CodeSize;
|
||||
} PcBootSequence;
|
||||
} S1;
|
||||
struct
|
||||
{
|
||||
ushort PcSequence;
|
||||
uchar PcBootData[RTA_BOOT_DATA_SIZE];
|
||||
} S2;
|
||||
struct
|
||||
{
|
||||
ushort __crud__;
|
||||
uchar PcUniqNum[4]; /* this is really a uint. */
|
||||
uchar PcModuleTypes; /* what modules are fitted */
|
||||
} S3;
|
||||
struct
|
||||
{
|
||||
ushort __cmd_hdr__;
|
||||
uchar __undefined__;
|
||||
uchar PcModemStatus;
|
||||
uchar PcPortStatus;
|
||||
uchar PcSubCommand;
|
||||
ushort PcSubAddr;
|
||||
uchar PcSubData[64];
|
||||
} S4;
|
||||
struct
|
||||
{
|
||||
ushort __cmd_hdr__;
|
||||
uchar PcCommandText[1];
|
||||
uchar __crud__[20];
|
||||
uchar PcIDNum2; /* Tacked on end */
|
||||
} S5;
|
||||
struct
|
||||
{
|
||||
ushort __cmd_hdr__;
|
||||
struct Top Topology[LINKS_PER_UNIT];
|
||||
} S6;
|
||||
} U1;
|
||||
};
|
||||
|
||||
#define Command U1.S1.CmdHdr.PcCommand
|
||||
#define PhbNum U1.S1.CmdHdr.U0.PcPhbNum
|
||||
#define IDNum U1.S1.CmdHdr.U0.PcIDNum
|
||||
#define IDNum2 U1.S5.PcIDNum2
|
||||
#define LinkNum U1.S1.CmdHdr.U0.PcLinkNum
|
||||
#define Sequence U1.S2.PcSequence
|
||||
#define BootData U1.S2.PcBootData
|
||||
#define BootSequence U1.S1.PcBootSequence
|
||||
#define UniqNum U1.S3.PcUniqNum
|
||||
#define ModemStatus U1.S4.PcModemStatus
|
||||
#define PortStatus U1.S4.PcPortStatus
|
||||
#define SubCommand U1.S4.PcSubCommand
|
||||
#define SubAddr U1.S4.PcSubAddr
|
||||
#define SubData U1.S4.PcSubData
|
||||
#define CommandText U1.S5.PcCommandText
|
||||
#define RouteTopology U1.S6.Topology
|
||||
#define ModuleTypes U1.S3.PcModuleTypes
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user