OpenCloudOS-Kernel/drivers/char/rio/rup.h

83 lines
3.0 KiB
C

/****************************************************************************
******* *******
******* 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
#if defined( HOST ) || defined( INKERNEL )
#define MAX_RUP ((short) 16)
#endif
#ifdef RTA
#define MAX_RUP ((short) 1)
#endif
#define PKTS_PER_RUP ((short) 2) /* They are always used in pairs */
/*************************************************
* Define all the packet request stuff
************************************************/
#define TX_RUP_INACTIVE 0 /* Nothing to transmit */
#define TX_PACKET_READY 1 /* Transmit packet ready */
#define TX_LOCK_RUP 2 /* Transmit side locked */
#define RX_RUP_INACTIVE 0 /* Nothing received */
#define RX_PACKET_READY 1 /* Packet received */
#define RUP_NO_OWNER 0xff /* RUP not owned by any process */
struct RUP {
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 */
};
#endif
/*********** end of file ***********/