Linux 2.6.21.1
[linux/fpc-iii.git] / drivers / char / rio / link.h
blobf3bf11a04d41c7cb20a4672865888d37f9160195
1 /****************************************************************************
2 ******* *******
3 ******* L I N K
4 ******* *******
5 ****************************************************************************
7 Author : Ian Nandhra / Jeremy Rolls
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 _link_h
38 #define _link_h 1
40 /*************************************************
41 * Define the Link Status stuff
42 ************************************************/
43 /* Boot request stuff */
44 #define BOOT_REQUEST ((ushort) 0) /* Request for a boot */
45 #define BOOT_ABORT ((ushort) 1) /* Abort a boot */
46 #define BOOT_SEQUENCE ((ushort) 2) /* Packet with the number of packets
47 and load address */
48 #define BOOT_COMPLETED ((ushort) 3) /* Boot completed */
51 struct LPB {
52 u16 link_number; /* Link Number */
53 u16 in_ch; /* Link In Channel */
54 u16 out_ch; /* Link Out Channel */
55 u8 attached_serial[4]; /* Attached serial number */
56 u8 attached_host_serial[4];
57 /* Serial number of Host who
58 booted the other end */
59 u16 descheduled; /* Currently Descheduled */
60 u16 state; /* Current state */
61 u16 send_poll; /* Send a Poll Packet */
62 u16 ltt_p; /* Process Descriptor */
63 u16 lrt_p; /* Process Descriptor */
64 u16 lrt_status; /* Current lrt status */
65 u16 ltt_status; /* Current ltt status */
66 u16 timeout; /* Timeout value */
67 u16 topology; /* Topology bits */
68 u16 mon_ltt;
69 u16 mon_lrt;
70 u16 WaitNoBoot; /* Secs to hold off booting */
71 u16 add_packet_list; /* Add packets to here */
72 u16 remove_packet_list; /* Send packets from here */
74 u16 lrt_fail_chan; /* Lrt's failure channel */
75 u16 ltt_fail_chan; /* Ltt's failure channel */
77 /* RUP structure for HOST to driver communications */
78 struct RUP rup;
79 struct RUP link_rup; /* RUP for the link (POLL,
80 topology etc.) */
81 u16 attached_link; /* Number of attached link */
82 u16 csum_errors; /* csum errors */
83 u16 num_disconnects; /* number of disconnects */
84 u16 num_sync_rcvd; /* # sync's received */
85 u16 num_sync_rqst; /* # sync requests */
86 u16 num_tx; /* Num pkts sent */
87 u16 num_rx; /* Num pkts received */
88 u16 module_attached; /* Module tpyes of attached */
89 u16 led_timeout; /* LED timeout */
90 u16 first_port; /* First port to service */
91 u16 last_port; /* Last port to service */
94 #endif
96 /*********** end of file ***********/