1 /****************************************************************************
2  *******                                                              *******
3  *******                      L I N K
4  *******                                                              *******
5  ****************************************************************************
6 
7  Author  : Ian Nandhra / Jeremy Rolls
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 _link_h
38 #define _link_h 1
39 
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 */
49 
50 
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 */
73 
74 	u16 lrt_fail_chan;	/* Lrt's failure channel */
75 	u16 ltt_fail_chan;	/* Ltt's failure channel */
76 
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 */
92 };
93 
94 #endif
95 
96 /*********** end of file ***********/
97