link.h 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. /****************************************************************************
  2. ******* *******
  3. ******* L I N K
  4. ******* *******
  5. ****************************************************************************
  6. Author : Ian Nandhra / Jeremy Rolls
  7. Date :
  8. *
  9. * (C) 1990 - 2000 Specialix International Ltd., Byfleet, Surrey, UK.
  10. *
  11. * This program is free software; you can redistribute it and/or modify
  12. * it under the terms of the GNU General Public License as published by
  13. * the Free Software Foundation; either version 2 of the License, or
  14. * (at your option) any later version.
  15. *
  16. * This program is distributed in the hope that it will be useful,
  17. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  18. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  19. * GNU General Public License for more details.
  20. *
  21. * You should have received a copy of the GNU General Public License
  22. * along with this program; if not, write to the Free Software
  23. * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  24. Version : 0.01
  25. Mods
  26. ----------------------------------------------------------------------------
  27. Date By Description
  28. ----------------------------------------------------------------------------
  29. ***************************************************************************/
  30. #ifndef _link_h
  31. #define _link_h 1
  32. /*************************************************
  33. * Define the Link Status stuff
  34. ************************************************/
  35. /* Boot request stuff */
  36. #define BOOT_REQUEST ((ushort) 0) /* Request for a boot */
  37. #define BOOT_ABORT ((ushort) 1) /* Abort a boot */
  38. #define BOOT_SEQUENCE ((ushort) 2) /* Packet with the number of packets
  39. and load address */
  40. #define BOOT_COMPLETED ((ushort) 3) /* Boot completed */
  41. struct LPB {
  42. u16 link_number; /* Link Number */
  43. u16 in_ch; /* Link In Channel */
  44. u16 out_ch; /* Link Out Channel */
  45. u8 attached_serial[4]; /* Attached serial number */
  46. u8 attached_host_serial[4];
  47. /* Serial number of Host who
  48. booted the other end */
  49. u16 descheduled; /* Currently Descheduled */
  50. u16 state; /* Current state */
  51. u16 send_poll; /* Send a Poll Packet */
  52. u16 ltt_p; /* Process Descriptor */
  53. u16 lrt_p; /* Process Descriptor */
  54. u16 lrt_status; /* Current lrt status */
  55. u16 ltt_status; /* Current ltt status */
  56. u16 timeout; /* Timeout value */
  57. u16 topology; /* Topology bits */
  58. u16 mon_ltt;
  59. u16 mon_lrt;
  60. u16 WaitNoBoot; /* Secs to hold off booting */
  61. u16 add_packet_list; /* Add packets to here */
  62. u16 remove_packet_list; /* Send packets from here */
  63. u16 lrt_fail_chan; /* Lrt's failure channel */
  64. u16 ltt_fail_chan; /* Ltt's failure channel */
  65. /* RUP structure for HOST to driver communications */
  66. struct RUP rup;
  67. struct RUP link_rup; /* RUP for the link (POLL,
  68. topology etc.) */
  69. u16 attached_link; /* Number of attached link */
  70. u16 csum_errors; /* csum errors */
  71. u16 num_disconnects; /* number of disconnects */
  72. u16 num_sync_rcvd; /* # sync's received */
  73. u16 num_sync_rqst; /* # sync requests */
  74. u16 num_tx; /* Num pkts sent */
  75. u16 num_rx; /* Num pkts received */
  76. u16 module_attached; /* Module tpyes of attached */
  77. u16 led_timeout; /* LED timeout */
  78. u16 first_port; /* First port to service */
  79. u16 last_port; /* Last port to service */
  80. };
  81. #endif
  82. /*********** end of file ***********/