| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 40 | /************************************************* | 
 | 41 |  * Define the Link Status stuff | 
 | 42 |  ************************************************/ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 43 | /* Boot request stuff */ | 
| Andrew Morton | 8d8706e | 2006-01-11 12:17:49 -0800 | [diff] [blame] | 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 */ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 49 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 50 |  | 
 | 51 | struct LPB { | 
| Alan Cox | 74769ab | 2006-03-24 03:18:24 -0800 | [diff] [blame] | 52 | 	u16 link_number;	/* Link Number */ | 
| Alan Cox | 57c2d60 | 2006-03-24 03:18:31 -0800 | [diff] [blame] | 53 | 	u16 in_ch;	/* Link In Channel */ | 
 | 54 | 	u16 out_ch;	/* Link Out Channel */ | 
| Alan Cox | 74769ab | 2006-03-24 03:18:24 -0800 | [diff] [blame] | 55 | 	u8 attached_serial[4];  /* Attached serial number */ | 
 | 56 | 	u8 attached_host_serial[4]; | 
| Andrew Morton | 8d8706e | 2006-01-11 12:17:49 -0800 | [diff] [blame] | 57 | 	/* Serial number of Host who | 
 | 58 | 	   booted the other end */ | 
| Alan Cox | 74769ab | 2006-03-24 03:18:24 -0800 | [diff] [blame] | 59 | 	u16 descheduled;	/* Currently Descheduled */ | 
 | 60 | 	u16 state;		/* Current state */ | 
 | 61 | 	u16 send_poll;		/* Send a Poll Packet */ | 
| Alan Cox | 57c2d60 | 2006-03-24 03:18:31 -0800 | [diff] [blame] | 62 | 	u16 ltt_p;	/* Process Descriptor */ | 
 | 63 | 	u16 lrt_p;	/* Process Descriptor */ | 
| Alan Cox | 74769ab | 2006-03-24 03:18:24 -0800 | [diff] [blame] | 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 */ | 
| Alan Cox | 27c6e52 | 2006-03-24 03:18:26 -0800 | [diff] [blame] | 71 | 	u16 add_packet_list;	/* Add packets to here */ | 
 | 72 | 	u16 remove_packet_list;	/* Send packets from here */ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 73 |  | 
| Alan Cox | 57c2d60 | 2006-03-24 03:18:31 -0800 | [diff] [blame] | 74 | 	u16 lrt_fail_chan;	/* Lrt's failure channel */ | 
 | 75 | 	u16 ltt_fail_chan;	/* Ltt's failure channel */ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 76 |  | 
| Andrew Morton | 8d8706e | 2006-01-11 12:17:49 -0800 | [diff] [blame] | 77 | 	/* RUP structure for HOST to driver communications */ | 
 | 78 | 	struct RUP rup; | 
| Andrew Morton | 8d8706e | 2006-01-11 12:17:49 -0800 | [diff] [blame] | 79 | 	struct RUP link_rup;	/* RUP for the link (POLL, | 
 | 80 | 				   topology etc.) */ | 
| Alan Cox | 74769ab | 2006-03-24 03:18:24 -0800 | [diff] [blame] | 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 */ | 
| Andrew Morton | 8d8706e | 2006-01-11 12:17:49 -0800 | [diff] [blame] | 92 | }; | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 93 |  | 
 | 94 | #endif | 
 | 95 |  | 
 | 96 | /*********** end of file ***********/ |