blob: 8d44fec91dd5212a1f588c4cc7752865a847d990 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/****************************************************************************
2 ******* *******
3 ******* R U P S T R U C T U R E
4 ******* *******
5 ****************************************************************************
6
7 Author : Ian Nandhra
8 Date :
9
10 *
11 * (C) 1990 - 2000 Specialix International Ltd., Byfleet, Surrey, UK.
12 *
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.
17 *
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.
22 *
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.
26
27 Version : 0.01
28
29
30 Mods
31 ----------------------------------------------------------------------------
32 Date By Description
33 ----------------------------------------------------------------------------
34
35 ***************************************************************************/
36
37#ifndef _rup_h
38#define _rup_h 1
39
40#ifdef SCCS_LABELS
41#ifndef lint
42/* static char *_rio_rup_h_sccs = "@(#)rup.h 1.5"; */
43#endif
44#endif
45
46#if defined( HOST ) || defined( INKERNEL )
Andrew Morton8d8706e2006-01-11 12:17:49 -080047#define MAX_RUP ((short) 16)
Linus Torvalds1da177e2005-04-16 15:20:36 -070048#endif
49#ifdef RTA
50#define MAX_RUP ((short) 1)
51#endif
52
Andrew Morton8d8706e2006-01-11 12:17:49 -080053#define PKTS_PER_RUP ((short) 2) /* They are always used in pairs */
Linus Torvalds1da177e2005-04-16 15:20:36 -070054
55/*************************************************
56 * Define all the packet request stuff
57 ************************************************/
Andrew Morton8d8706e2006-01-11 12:17:49 -080058#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 */
Linus Torvalds1da177e2005-04-16 15:20:36 -070061
Andrew Morton8d8706e2006-01-11 12:17:49 -080062#define RX_RUP_INACTIVE 0 /* Nothing received */
63#define RX_PACKET_READY 1 /* Packet received */
Linus Torvalds1da177e2005-04-16 15:20:36 -070064
Andrew Morton8d8706e2006-01-11 12:17:49 -080065#define RUP_NO_OWNER 0xff /* RUP not owned by any process */
Linus Torvalds1da177e2005-04-16 15:20:36 -070066
67struct RUP {
Andrew Morton8d8706e2006-01-11 12:17:49 -080068 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 */
77};
78
Linus Torvalds1da177e2005-04-16 15:20:36 -070079#endif
80
81/*********** end of file ***********/