]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blob - drivers/char/rio/rup.h
Linux-2.6.12-rc2
[mirror_ubuntu-artful-kernel.git] / drivers / char / rio / rup.h
1 /****************************************************************************
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 )
47 #define MAX_RUP ((short) 16)
48 #endif
49 #ifdef RTA
50 #define MAX_RUP ((short) 1)
51 #endif
52
53 #define PKTS_PER_RUP ((short) 2) /* They are always used in pairs */
54
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 */
61
62 #define RX_RUP_INACTIVE 0 /* Nothing received */
63 #define RX_PACKET_READY 1 /* Packet received */
64
65 #define RUP_NO_OWNER 0xff /* RUP not owned by any process */
66
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 */
77 };
78
79 #endif
80
81 /*********** end of file ***********/
82