2005-04-17 06:20:36 +08:00
|
|
|
/****************************************************************************
|
|
|
|
******* *******
|
|
|
|
******* R U P S T R U C T U R E
|
|
|
|
******* *******
|
|
|
|
****************************************************************************
|
|
|
|
|
|
|
|
Author : Ian Nandhra
|
|
|
|
Date :
|
|
|
|
|
|
|
|
*
|
|
|
|
* (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.
|
|
|
|
|
|
|
|
Version : 0.01
|
|
|
|
|
|
|
|
|
|
|
|
Mods
|
|
|
|
----------------------------------------------------------------------------
|
|
|
|
Date By Description
|
|
|
|
----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
***************************************************************************/
|
|
|
|
|
|
|
|
#ifndef _rup_h
|
|
|
|
#define _rup_h 1
|
|
|
|
|
|
|
|
#ifdef SCCS_LABELS
|
|
|
|
#ifndef lint
|
|
|
|
/* static char *_rio_rup_h_sccs = "@(#)rup.h 1.5"; */
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
2006-01-12 04:17:49 +08:00
|
|
|
#define MAX_RUP ((short) 16)
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2006-01-12 04:17:49 +08:00
|
|
|
#define PKTS_PER_RUP ((short) 2) /* They are always used in pairs */
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
/*************************************************
|
|
|
|
* Define all the packet request stuff
|
|
|
|
************************************************/
|
2006-01-12 04:17:49 +08:00
|
|
|
#define TX_RUP_INACTIVE 0 /* Nothing to transmit */
|
|
|
|
#define TX_PACKET_READY 1 /* Transmit packet ready */
|
|
|
|
#define TX_LOCK_RUP 2 /* Transmit side locked */
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2006-01-12 04:17:49 +08:00
|
|
|
#define RX_RUP_INACTIVE 0 /* Nothing received */
|
|
|
|
#define RX_PACKET_READY 1 /* Packet received */
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2006-01-12 04:17:49 +08:00
|
|
|
#define RUP_NO_OWNER 0xff /* RUP not owned by any process */
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
struct RUP {
|
2006-01-12 04:17:49 +08:00
|
|
|
PKT_ptr txpkt; /* Outgoing packet */
|
|
|
|
PKT_ptr rxpkt; /* Incoming packet */
|
|
|
|
WORD link; /* Which link to send down? */
|
|
|
|
BYTE rup_dest_unit[2]; /* Destination unit */
|
|
|
|
WORD handshake; /* For handshaking */
|
|
|
|
WORD timeout; /* Timeout */
|
|
|
|
WORD status; /* Status */
|
|
|
|
WORD txcontrol; /* Transmit control */
|
|
|
|
WORD rxcontrol; /* Receive control */
|
|
|
|
};
|
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
#endif
|
|
|
|
|
|
|
|
/*********** end of file ***********/
|