Linux-2.6.12-rc2
[linux-2.6/next.git] / drivers / char / rio / rup.h
blobb9d2bc03d14b6122bfb1e4f1e0513a955ccce2d8
1 /****************************************************************************
2 ******* *******
3 ******* R U P S T R U C T U R E
4 ******* *******
5 ****************************************************************************
7 Author : Ian Nandhra
8 Date :
11 * (C) 1990 - 2000 Specialix International Ltd., Byfleet, Surrey, UK.
13 * This program is free software; you can redistribute it and/or modify
14 * it under the terms of the GNU General Public License as published by
15 * the Free Software Foundation; either version 2 of the License, or
16 * (at your option) any later version.
18 * This program is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU General Public License for more details.
23 * You should have received a copy of the GNU General Public License
24 * along with this program; if not, write to the Free Software
25 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
27 Version : 0.01
30 Mods
31 ----------------------------------------------------------------------------
32 Date By Description
33 ----------------------------------------------------------------------------
35 ***************************************************************************/
37 #ifndef _rup_h
38 #define _rup_h 1
40 #ifdef SCCS_LABELS
41 #ifndef lint
42 /* static char *_rio_rup_h_sccs = "@(#)rup.h 1.5"; */
43 #endif
44 #endif
46 #if defined( HOST ) || defined( INKERNEL )
47 #define MAX_RUP ((short) 16)
48 #endif
49 #ifdef RTA
50 #define MAX_RUP ((short) 1)
51 #endif
53 #define PKTS_PER_RUP ((short) 2) /* They are always used in pairs */
55 /*************************************************
56 * Define all the packet request stuff
57 ************************************************/
58 #define TX_RUP_INACTIVE 0 /* Nothing to transmit */
59 #define TX_PACKET_READY 1 /* Transmit packet ready */
60 #define TX_LOCK_RUP 2 /* Transmit side locked */
62 #define RX_RUP_INACTIVE 0 /* Nothing received */
63 #define RX_PACKET_READY 1 /* Packet received */
65 #define RUP_NO_OWNER 0xff /* RUP not owned by any process */
67 struct RUP {
68 PKT_ptr txpkt; /* Outgoing packet */
69 PKT_ptr rxpkt; /* Incoming packet */
70 WORD link; /* Which link to send down? */
71 BYTE rup_dest_unit[2]; /* Destination unit */
72 WORD handshake; /* For handshaking */
73 WORD timeout; /* Timeout */
74 WORD status; /* Status */
75 WORD txcontrol; /* Transmit control */
76 WORD rxcontrol; /* Receive control */
79 #endif
81 /*********** end of file ***********/