⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 link.h

📁 linux-2.6.15.6
💻 H
字号:
/**************************************************************************** *******                                                              ******* *******                      L I N K *******                                                              ******* **************************************************************************** Author  : Ian Nandhra / Jeremy Rolls Date    : * *  (C) 1990 - 2000 Specialix International Ltd., Byfleet, Surrey, UK. * *      This program is free software; you can redistribute it and/or modify *      it under the terms of the GNU General Public License as published by *      the Free Software Foundation; either version 2 of the License, or *      (at your option) any later version. * *      This program is distributed in the hope that it will be useful, *      but WITHOUT ANY WARRANTY; without even the implied warranty of *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *      GNU General Public License for more details. * *      You should have received a copy of the GNU General Public License *      along with this program; if not, write to the Free Software *      Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Version : 0.01                            Mods ----------------------------------------------------------------------------  Date     By                Description ---------------------------------------------------------------------------- ***************************************************************************/#ifndef _link_h#define _link_h 1#ifndef lint#ifdef SCCS_LABELS/* static char *_rio_link_h_sccs = "@(#)link.h	1.15"; */#endif#endif/************************************************* * Define the Link Status stuff ************************************************/#define LRT_ACTIVE         ((ushort) 0x01)#define LRT_SPARE1         ((ushort) 0x02)#define INTRO_RCVD         ((ushort) 0x04)#define FORCED_DISCONNECT  ((ushort) 0x08)#define LRT_SPARE2	   ((ushort) 0x80)#define TOP_OF_RTA_RAM     ((ushort) 0x7000)#define HOST_SERIAL_POINTER (unsigned char **) (TOP_OF_RTA_RAM - 2 * sizeof (ushort))/* Flags for ltt_status */#define  WAITING_ACK		(ushort) 0x0001#define  DATA_SENT		(ushort) 0x0002#define  WAITING_RUP		(ushort) 0x0004#define  WAITING_RETRY		(ushort) 0x0008#define  WAITING_TOPOLOGY	(ushort) 0x0010#define  SEND_SYNC		(ushort) 0x0020#define  FOAD_THIS_LINK		(ushort) 0x0040#define  REQUEST_SYNC		(ushort) 0x0080#define  REMOTE_DYING		(ushort) 0x0100#define  DIE_NOW		(ushort) 0x0200/* Boot request stuff */#define BOOT_REQUEST       ((ushort) 0)    /* Request for a boot */#define BOOT_ABORT         ((ushort) 1)    /* Abort a boot */#define BOOT_SEQUENCE      ((ushort) 2)    /* Packet with the number of packets                                              and load address */#define BOOT_COMPLETED     ((ushort) 3)    /* Boot completed *//* States that a link can be in */#define	LINK_DISCONNECTED  ((ushort) 0)    /* Disconnected */#define LINK_BOOT1         ((ushort) 1)    /* Trying to send 1st stage boot */#define LINK_BOOT2         ((ushort) 2)    /* Trying to send 2nd stage boot */#define LINK_BOOT2WAIT     ((ushort) 3)    /* Waiting for selftest results */#define LINK_BOOT3         ((ushort) 4)    /* Trying to send 3rd stage boots */#define LINK_SYNC          ((ushort) 5)    /* Syncing */#define LINK_INTRO         ((ushort) 10)    /* Introductory packet */#define LINK_SUPPLYID      ((ushort) 11)    /* Trying to supply an ID */#define LINK_TOPOLOGY      ((ushort) 12)    /* Send a topology update */#define LINK_REQUESTID     ((ushort) 13)    /* Waiting for an ID */#define LINK_CONNECTED     ((ushort) 14)    /* Connected */#define LINK_INTERCONNECT  ((ushort) 20)   /* Subnets interconnected */#define LINK_SPARE	   ((ushort) 40)/*** Set the default timeout for link communications.*/#define	LINKTIMEOUT		(400 * MILLISECOND)/*** LED stuff*/#if defined(RTA)#define LED_OFF            ((ushort) 0)    /* LED off */#define LED_RED            ((ushort) 1)    /* LED Red */#define LED_GREEN          ((ushort) 2)    /* LED Green */#define LED_ORANGE         ((ushort) 4)    /* LED Orange */#define LED_1TO8_OPEN      ((ushort) 1)    /* Port 1->8 LED on */#define LED_9TO16_OPEN     ((ushort) 2)    /* Port 9->16 LED on */#define LED_SET_COLOUR(colour)	(link->led = (colour))#define LED_OR_COLOUR(colour)	(link->led |= (colour))#define LED_TIMEOUT(time)    (link->led_timeout = RioTimePlus(RioTime(),(time)))#else#define LED_SET_COLOUR(colour)#define LED_OR_COLOUR(colour)#define LED_TIMEOUT(time)#endif /* RTA */struct LPB {               WORD          link_number ;       /* Link Number */               Channel_ptr   in_ch ;             /* Link In Channel */               Channel_ptr   out_ch ;            /* Link Out Channel */#ifdef RTA               uchar        stat_led ;          /* Port open leds */               uchar        led ;               /* True, light led! */#endif               BYTE attached_serial[4]; /* Attached serial number */               BYTE attached_host_serial[4];                                                 /* Serial number of Host who                                                    booted the other end */               WORD          descheduled ;       /* Currently Descheduled */               WORD          state;              /* Current state */               WORD          send_poll ;         /* Send a Poll Packet */               Process_ptr   ltt_p ;             /* Process Descriptor */               Process_ptr   lrt_p ;             /* Process Descriptor */               WORD          lrt_status ;        /* Current lrt status */               WORD          ltt_status ;        /* Current ltt status */               WORD          timeout ;           /* Timeout value */               WORD          topology;           /* Topology bits */               WORD          mon_ltt ;               WORD          mon_lrt ;               WORD          WaitNoBoot ;	 /* Secs to hold off booting */               PKT_ptr       add_packet_list;    /* Add packets to here */               PKT_ptr       remove_packet_list; /* Send packets from here */#ifdef RTA#ifdef DCIRRUS#define    QBUFS_PER_REDIRECT (4 / PKTS_PER_BUFFER + 1) #else#define    QBUFS_PER_REDIRECT (8 / PKTS_PER_BUFFER + 1) #endif               PKT_ptr_ptr   rd_add ;            /* Add a new Packet here */               Q_BUF_ptr     rd_add_qb;          /* Pointer to the add Q buf */               PKT_ptr_ptr   rd_add_st_qbb ;     /* Pointer to start of the Q's buf */               PKT_ptr_ptr   rd_add_end_qbb ;    /* Pointer to the end of the Q's buf */               PKT_ptr_ptr   rd_remove ;         /* Remove a Packet here */               Q_BUF_ptr     rd_remove_qb ;      /* Pointer to the remove Q buf */               PKT_ptr_ptr   rd_remove_st_qbb ;  /* Pointer to the start of the Q buf */               PKT_ptr_ptr   rd_remove_end_qbb ; /* Pointer to the end of the Q buf */               ushort        pkts_in_q ;         /* Packets in queue */#endif               Channel_ptr   lrt_fail_chan ;     /* Lrt's failure channel */               Channel_ptr   ltt_fail_chan ;     /* Ltt's failure channel */#if defined (HOST) || defined (INKERNEL) /* RUP structure for HOST to driver communications */               struct RUP           rup ;              #endif               struct RUP           link_rup;           /* RUP for the link (POLL,                                                    topology etc.) */               WORD          attached_link ;     /* Number of attached link */               WORD          csum_errors ;       /* csum errors */               WORD          num_disconnects ;   /* number of disconnects */               WORD          num_sync_rcvd ;     /* # sync's received */               WORD          num_sync_rqst ;     /* # sync requests */               WORD          num_tx ;            /* Num pkts sent */               WORD          num_rx ;            /* Num pkts received */               WORD          module_attached;    /* Module tpyes of attached */               WORD          led_timeout;        /* LED timeout */               WORD          first_port;         /* First port to service */               WORD          last_port;          /* Last port to service */           } ;#endif/*********** end of file ***********/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -