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