!C99Shell v. 1.0 pre-release build #13!

Software: Apache/2.0.54 (Unix) mod_perl/1.99_09 Perl/v5.8.0 mod_ssl/2.0.54 OpenSSL/0.9.7l DAV/2 FrontPage/5.0.2.2635 PHP/4.4.0 mod_gzip/2.0.26.1a 

uname -a: Linux snow.he.net 4.4.276-v2-mono-1 #1 SMP Wed Jul 21 11:21:17 PDT 2021 i686 

uid=99(nobody) gid=98(nobody) groups=98(nobody) 

Safe-mode: OFF (not secure)

/usr/src/linux-2.4.18-xfs-1.1/drivers/char/rio/   drwxr-xr-x
Free 318.35 GB of 458.09 GB (69.49%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     riowinif.h (58.31 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/************************************************************************/
/*                                    */
/*    Title        :    RIO Shared Memory Window Inteface    */
/*                                    */
/*    Author        :    N.P.Vassallo                */
/*                                    */
/*    Creation    :    7th June 1999                */
/*                                    */
/*    Version        :    1.0.0                    */
/*                                    */
/*    Copyright    :    (c) Specialix International Ltd. 1999    *
 *      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.
 *                                    */
/*    Description    :    Prototypes, structures and definitions    */
/*                describing RIO host card shared    memory    */
/*                window interface structures:        */
/*                    PARMMAP                */
/*                    RUP                */
/*                    PHB                */
/*                    LPB                */
/*                    PKT                */
/*                                    */
/************************************************************************/

/* History...

1.0.0    07/06/99 NPV    Creation. (based on PARMMAP.H)

*/

#ifndef    _riowinif_h                /* If RIOWINDIF.H not already defined */
#define    _riowinif_h    1

/*****************************************************************************
********************************             *********************************
********************************   General   *********************************
********************************             *********************************
*****************************************************************************/

#define    TPNULL        ((_u16)(0x8000))

/*****************************************************************************
********************************              ********************************
********************************   PARM_MAP   ********************************
********************************              ********************************
*****************************************************************************/

/* The PARM_MAP structure defines global values relating to the Host Card / RTA
   and is the main structure from which all other structures are referenced. */

typedef    struct    _PARM_MAP
{
    _u16    phb_ptr;        /* 0x00 Pointer to the PHB array */
    _u16    phb_num_ptr;        /* 0x02 Ptr to Number of PHB's */
    _u16    free_list;        /* 0x04 Free List pointer */
    _u16    free_list_end;        /* 0x06 Free List End pointer */
    _u16    q_free_list_ptr;    /* 0x08 Ptr to Q_BUF variable */
    _u16    unit_id_ptr;        /* 0x0A Unit Id */
    _u16    link_str_ptr;        /* 0x0C Link Structure Array */
    _u16    bootloader_1;        /* 0x0E 1st Stage Boot Loader */
    _u16    bootloader_2;        /* 0x10 2nd Stage Boot Loader */
    _u16    port_route_map_ptr;    /* 0x12 Port Route Map */
    _u16    route_ptr;        /* 0x14 Route Map */
    _u16    map_present;        /* 0x16 Route Map present */
    _u16    pkt_num;        /* 0x18 Total number of packets */
    _u16    q_num;            /* 0x1A Total number of Q packets */
    _u16    buffers_per_port;    /* 0x1C Number of buffers per port */
    _u16    heap_size;        /* 0x1E Initial size of heap */
    _u16    heap_left;        /* 0x20 Current Heap left */
    _u16    error;            /* 0x22 Error code */
    _u16    tx_max;            /* 0x24 Max number of tx pkts per phb */
    _u16    rx_max;            /* 0x26 Max number of rx pkts per phb */
    _u16    rx_limit;        /* 0x28 For high / low watermarks */
    _u16    links;            /* 0x2A Links to use */
    _u16    timer;            /* 0x2C Interrupts per second */
    _u16    rups;            /* 0x2E Pointer to the RUPs */
    _u16    max_phb;        /* 0x30 Mostly for debugging */
    _u16    living;            /* 0x32 Just increments!! */
    _u16    init_done;        /* 0x34 Initialisation over */
    _u16    booting_link;        /* 0x36 */
    _u16    idle_count;        /* 0x38 Idle time counter */
    _u16    busy_count;        /* 0x3A Busy counter */
    _u16    idle_control;        /* 0x3C Control Idle Process */
    _u16    tx_intr;        /* 0x3E TX interrupt pending */
    _u16    rx_intr;        /* 0x40 RX interrupt pending */
    _u16    rup_intr;        /* 0x42 RUP interrupt pending */

} PARM_MAP;

/* Same thing again, but defined as offsets... */

#define    PM_phb_ptr        0x00    /* 0x00 Pointer to the PHB array */
#define    PM_phb_num_ptr        0x02    /* 0x02 Ptr to Number of PHB's */
#define    PM_free_list        0x04    /* 0x04 Free List pointer */
#define    PM_free_list_end    0x06    /* 0x06 Free List End pointer */
#define    PM_q_free_list_ptr    0x08    /* 0x08 Ptr to Q_BUF variable */
#define    PM_unit_id_ptr        0x0A    /* 0x0A Unit Id */
#define    PM_link_str_ptr        0x0C    /* 0x0C Link Structure Array */
#define    PM_bootloader_1        0x0E    /* 0x0E 1st Stage Boot Loader */
#define    PM_bootloader_2        0x10    /* 0x10 2nd Stage Boot Loader */
#define    PM_port_route_map_ptr    0x12    /* 0x12 Port Route Map */
#define    PM_route_ptr        0x14    /* 0x14 Route Map */
#define    PM_map_present        0x16    /* 0x16 Route Map present */
#define    PM_pkt_num        0x18    /* 0x18 Total number of packets */
#define    PM_q_num        0x1A    /* 0x1A Total number of Q packets */
#define    PM_buffers_per_port    0x1C    /* 0x1C Number of buffers per port */
#define    PM_heap_size        0x1E    /* 0x1E Initial size of heap */
#define    PM_heap_left        0x20    /* 0x20 Current Heap left */
#define    PM_error        0x22    /* 0x22 Error code */
#define    PM_tx_max        0x24    /* 0x24 Max number of tx pkts per phb */
#define    PM_rx_max        0x26    /* 0x26 Max number of rx pkts per phb */
#define    PM_rx_limit        0x28    /* 0x28 For high / low watermarks */
#define    PM_links        0x2A    /* 0x2A Links to use */
#define    PM_timer        0x2C    /* 0x2C Interrupts per second */
#define    PM_rups            0x2E    /* 0x2E Pointer to the RUPs */
#define    PM_max_phb        0x30    /* 0x30 Mostly for debugging */
#define    PM_living        0x32    /* 0x32 Just increments!! */
#define    PM_init_done        0x34    /* 0x34 Initialisation over */
#define    PM_booting_link        0x36    /* 0x36 */
#define    PM_idle_count        0x38    /* 0x38 Idle time counter */
#define    PM_busy_count        0x3A    /* 0x3A Busy counter */
#define    PM_idle_control        0x3C    /* 0x3C Control Idle Process */
#define    PM_tx_intr        0x3E    /* 0x4E TX interrupt pending */
#define    PM_rx_intr        0x40    /* 0x40 RX interrupt pending */
#define    PM_rup_intr        0x42    /* 0x42 RUP interrupt pending */
#define    sizeof_PARM_MAP        0x44    /* structure size = 0x44 */

/* PARM_MAP.error definitions... */
#define    E_NO_ERROR        0x00
#define    E_PROCESS_NOT_INIT    0x01
#define    E_LINK_TIMEOUT        0x02
#define    E_NO_ROUTE        0x03
#define    E_CONFUSED        0x04
#define    E_HOME            0x05
#define    E_CSUM_FAIL        0x06
#define    E_DISCONNECTED        0x07
#define    E_BAD_RUP        0x08
#define    E_NO_VIRGIN        0x09
#define    E_BOOT_RUP_BUSY        0x10
#define    E_CHANALLOC        0x80
#define    E_POLL_ALLOC        0x81
#define    E_LTTWAKE        0x82
#define    E_LTT_ALLOC        0x83
#define    E_LRT_ALLOC        0x84
#define    E_CIRRUS        0x85
#define    E_MONITOR        0x86
#define    E_PHB_ALLOC        0x87
#define    E_ARRAY_ALLOC        0x88
#define    E_QBUF_ALLOC        0x89
#define    E_PKT_ALLOC        0x8a
#define    E_GET_TX_Q_BUF        0x8b
#define    E_GET_RX_Q_BUF        0x8c
#define    E_MEM_OUT        0x8d
#define    E_MMU_INIT        0x8e
#define    E_LTT_INIT        0x8f
#define    E_LRT_INIT        0x90
#define    E_LINK_RUN        0x91
#define    E_MONITOR_ALLOC        0x92
#define    E_MONITOR_INIT        0x93
#define    E_POLL_INIT        0x94

/* PARM_MAP.links definitions... */
#define    RIO_LINK_ENABLE    0x80FF

/*****************************************************************************
**********************************         ***********************************
**********************************   RUP   ***********************************
**********************************         ***********************************
*****************************************************************************/

/* The RUP (Remote Unit Port) structure relates to the Remote Terminal Adapters
   attached to the system and there is normally an array of MAX_RUPS (=16) structures
   in a host card, defined by PARM_MAP->rup. */

typedef    struct    _RUP
{
    _u16        txpkt;            /* 0x00 Outgoing packet */
    _u16        rxpkt;            /* 0x02 ncoming packet */
    _u16        link;            /* 0x04 Which link to send packet down ? */
    _u8        rup_dest_unit[2];    /* 0x06 Destination Unit */
    _u16        handshake;        /* 0x08 Handshaking */
    _u16        timeout;        /* 0x0A Timeout */
    _u16        status;            /* 0x0C Status */
    _u16        txcontrol;        /* 0x0E Transmit control */
    _u16        rxcontrol;        /* 0x10 Receive control */

} RUP;

/* Same thing again, but defined as offsets... */

#define    RUP_txpkt        0x00        /* 0x00 Outgoing packet */
#define    RUP_rxpkt        0x02        /* 0x02 Incoming packet */
#define    RUP_link        0x04        /* 0x04 Which link to send packet down ? */
#define    RUP_rup_dest_unit    0x06        /* 0x06 Destination Unit */
#define    RUP_handshake        0x08        /* 0x08 Handshaking */
#define    RUP_timeout        0x0A        /* 0x0A Timeout */
#define    RUP_status        0x0C        /* 0x0C Status */
#define    RUP_txcontrol        0x0E        /* 0x0E Transmit control */
#define    RUP_rxcontrol        0x10        /* 0x10 Receive control */
#define    sizeof_RUP        0x12        /* structure size = 0x12 */

#define MAX_RUP            16

/* RUP.txcontrol definitions... */
#define    TX_RUP_INACTIVE        0        /* Nothing to transmit */
#define    TX_PACKET_READY        1        /* Transmit packet ready */
#define    TX_LOCK_RUP        2        /* Transmit side locked */

/* RUP.txcontrol definitions... */
#define    RX_RUP_INACTIVE        0        /* Nothing received */
#define    RX_PACKET_READY        1        /* Packet received */

#define    RUP_NO_OWNER        0xFF        /* RUP not owned by any process */

/*****************************************************************************
**********************************         ***********************************
**********************************   PHB   ***********************************
**********************************         ***********************************
*****************************************************************************/

/* The PHB (Port Header Block) structure relates to the serial ports attached
   to the system and there is normally an array of MAX_PHBS (=128) structures
   in a host card, defined by PARM_MAP->phb_ptr and PARM_MAP->phb_num_ptr. */

typedef    struct    _PHB
{
    _u16        source;            /* 0x00 Location of the PHB in the host card */
    _u16        handshake;        /* 0x02 Used to manage receive packet flow control */
    _u16        status;            /* 0x04 Internal port transmit/receive status */
    _u16        timeout;        /* 0x06 Time period to wait for an ACK */
    _u16        link;            /* 0x08 The host link associated with the PHB */
    _u16        destination;        /* 0x0A Location of the remote port on the network */

    _u16        tx_start;        /* 0x0C first entry in the packet array for transmit packets */
    _u16        tx_end;            /* 0x0E last entry in the packet array for transmit packets */
    _u16        tx_add;            /* 0x10 position in the packet array for new transmit packets */
    _u16        tx_remove;        /* 0x12 current position in the packet pointer array */

    _u16        rx_start;        /* 0x14 first entry in the packet array for receive packets */
    _u16        rx_end;            /* 0x16 last entry in the packet array for receive packets */
    _u16        rx_add;            /* 0x18 position in the packet array for new receive packets */
    _u16        rx_remove;        /* 0x1A current position in the packet pointer array */

} PHB;

/* Same thing again, but defined as offsets... */

#define    PHB_source        0x00        /* 0x00 Location of the PHB in the host card */
#define    PHB_handshake        0x02        /* 0x02 Used to manage receive packet flow control */
#define    PHB_status        0x04        /* 0x04 Internal port transmit/receive status */
#define    PHB_timeout        0x06        /* 0x06 Time period to wait for an ACK */
#define    PHB_link        0x08        /* 0x08 The host link associated with the PHB */
#define    PHB_destination        0x0A        /* 0x0A Location of the remote port on the network */
#define    PHB_tx_start        0x0C        /* 0x0C first entry in the packet array for transmit packets */
#define    PHB_tx_end        0x0E        /* 0x0E last entry in the packet array for transmit packets */
#define    PHB_tx_add        0x10        /* 0x10 position in the packet array for new transmit packets */
#define    PHB_tx_remove        0x12        /* 0x12 current position in the packet pointer array */
#define    PHB_rx_start        0x14        /* 0x14 first entry in the packet array for receive packets */
#define    PHB_rx_end        0x16        /* 0x16 last entry in the packet array for receive packets */
#define    PHB_rx_add        0x18        /* 0x18 position in the packet array for new receive packets */
#define    PHB_rx_remove        0x1A        /* 0x1A current position in the packet pointer array */
#define    sizeof_PHB        0x1C        /* structure size = 0x1C */

/* PHB.handshake definitions... */
#define    PHB_HANDSHAKE_SET    0x0001        /* Set by LRT */
#define    PHB_HANDSHAKE_RESET    0x0002        /* Set by ISR / driver */
#define    PHB_HANDSHAKE_FLAGS    (PHB_HANDSHAKE_RESET|PHB_HANDSHAKE_SET)
                        /* Reset by ltt */

#define    MAX_PHB            128        /* range 0-127 */

/*****************************************************************************
**********************************         ***********************************
**********************************   LPB   ***********************************
**********************************         ***********************************
*****************************************************************************/

/* The LPB (Link Parameter Block) structure relates to a RIO Network Link
   and there is normally an array of MAX_LINKS (=4) structures in a host card,
   defined by PARM_MAP->link_str_ptr. */

typedef    struct    _LPB
{
    _u16        link_number;        /* 0x00 Link Number */
    _u16        in_ch;            /* 0x02 Link In Channel */
    _u16        out_ch;            /* 0x04 Link Out Channel */
    _u8        attached_serial[4];    /* 0x06 Attached serial number */
    _u8        attached_host_serial[4];/* 0x0A Serial number of Host who booted other end */
    _u16        descheduled;        /* 0x0E Currently Descheduled */
    _u16        state;            /* 0x10 Current state */
    _u16        send_poll;        /* 0x12 Send a Poll Packet */
    _u16        ltt_p;            /* 0x14 Process Descriptor */
    _u16        lrt_p;            /* 0x16 Process Descriptor */
    _u16        lrt_status;        /* 0x18 Current lrt status */
    _u16        ltt_status;        /* 0x1A Current ltt status */
    _u16        timeout;        /* 0x1C Timeout value */
    _u16        topology;        /* 0x1E Topology bits */
    _u16        mon_ltt;        /* 0x20 */
    _u16        mon_lrt;        /* 0x22 */
    _u16        num_pkts;        /* 0x24 */
    _u16        add_packet_list;    /* 0x26 Add packets to here */
    _u16        remove_packet_list;    /* 0x28 Send packets from here */

    _u16        lrt_fail_chan;        /* 0x2A Lrt's failure channel */
    _u16        ltt_fail_chan;        /* 0x2C Ltt's failure channel */

    RUP        rup;            /* 0x2E RUP structure for HOST to driver comms */
    RUP        link_rup;        /* 0x40 RUP for the link (POLL, topology etc.) */
    _u16        attached_link;        /* 0x52 Number of attached link */
    _u16        csum_errors;        /* 0x54 csum errors */
    _u16        num_disconnects;    /* 0x56 number of disconnects */
    _u16        num_sync_rcvd;        /* 0x58 # sync's received */
    _u16        num_sync_rqst;        /* 0x5A # sync requests */
    _u16        num_tx;            /* 0x5C Num pkts sent */
    _u16        num_rx;            /* 0x5E Num pkts received */
    _u16        module_attached;    /* 0x60 Module tpyes of attached */
    _u16        led_timeout;        /* 0x62 LED timeout */
    _u16        first_port;        /* 0x64 First port to service */
    _u16        last_port;        /* 0x66 Last port to service */

} LPB;

/* Same thing again, but defined as offsets... */

#define    LPB_link_number        0x00        /* 0x00 Link Number */
#define    LPB_in_ch        0x02        /* 0x02 Link In Channel */
#define    LPB_out_ch        0x04        /* 0x04 Link Out Channel */
#define    LPB_attached_serial    0x06        /* 0x06 Attached serial number */
#define    LPB_attached_host_serial 0x0A        /* 0x0A Serial number of Host who booted other end */
#define    LPB_descheduled        0x0E        /* 0x0E Currently Descheduled */
#define    LPB_state        0x10        /* 0x10 Current state */
#define    LPB_send_poll        0x12        /* 0x12 Send a Poll Packet */
#define    LPB_ltt_p        0x14        /* 0x14 Process Descriptor */
#define    LPB_lrt_p        0x16        /* 0x16 Process Descriptor */
#define    LPB_lrt_status        0x18        /* 0x18 Current lrt status */
#define    LPB_ltt_status        0x1A        /* 0x1A Current ltt status */
#define    LPB_timeout        0x1C        /* 0x1C Timeout value */
#define    LPB_topology        0x1E        /* 0x1E Topology bits */
#define    LPB_mon_ltt        0x20        /* 0x20 */
#define    LPB_mon_lrt        0x22        /* 0x22 */
#define    LPB_num_pkts        0x24        /* 0x24 */
#define    LPB_add_packet_list    0x26        /* 0x26 Add packets to here */
#define    LPB_remove_packet_list    0x28        /* 0x28 Send packets from here */
#define    LPB_lrt_fail_chan    0x2A        /* 0x2A Lrt's failure channel */
#define    LPB_ltt_fail_chan    0x2C        /* 0x2C Ltt's failure channel */
#define    LPB_rup            0x2E        /* 0x2E RUP structure for HOST to driver comms */
#define    LPB_link_rup        0x40        /* 0x40 RUP for the link (POLL, topology etc.) */
#define    LPB_attached_link    0x52        /* 0x52 Number of attached link */
#define    LPB_csum_errors        0x54        /* 0x54 csum errors */
#define    LPB_num_disconnects    0x56        /* 0x56 number of disconnects */
#define    LPB_num_sync_rcvd    0x58        /* 0x58 # sync's received */
#define    LPB_num_sync_rqst    0x5A        /* 0x5A # sync requests */
#define    LPB_num_tx        0x5C        /* 0x5C Num pkts sent */
#define    LPB_num_rx        0x5E        /* 0x5E Num pkts received */
#define    LPB_module_attached    0x60        /* 0x60 Module tpyes of attached */
#define    LPB_led_timeout        0x62        /* 0x62 LED timeout */
#define    LPB_first_port        0x64        /* 0x64 First port to service */
#define    LPB_last_port        0x66        /* 0x66 Last port to service */
#define    sizeof_LPB        0x68        /* structure size = 0x68 */

#define    LINKS_PER_UNIT        4        /* number of links from a host */

/*****************************************************************************
********************************               *******************************
********************************   FREE_LIST   *******************************
********************************               *******************************
*****************************************************************************/

/* Used to overlay packet headers when allocating/freeing packets from the free list */

typedef    struct    _FREE_LIST
{
    _u16        next;            /* 0x00 offset of next list item */
    _u16        prev;            /* 0x02 offset of previous list item */

} FREE_LIST;

/* Same thing again, but defined as offsets... */

#define    FL_next            0x00        /* 0x00 offset of next list item */
#define    FL_prev            0x02        /* 0x02 offset of previous list item */

/*****************************************************************************
**********************************         ***********************************
**********************************   PKT   ***********************************
**********************************         ***********************************
*****************************************************************************/

/* The PKT is the main unit of communication between Host Cards and RTAs across
   the RIO network.  */

#define PKT_MAX_DATA_LEN   72            /* Size of packet data */

typedef    struct    _PKT
{
    _u8        dest_unit;        /* 0x00 Destination Unit Id */
    _u8        dest_port;        /* 0x01 Destination Port */
    _u8        src_unit;        /* 0x02 Source Unit Id */
    _u8        src_port;        /* 0x03 Source Port */
    _u8        len;            /* 0x04 Length (in bytes) of data field */
    _u8        control;        /* 0x05 */
    _u8        data[PKT_MAX_DATA_LEN];    /* 0x06 Actual data */
    _u16        csum;            /* 0x4E C-SUM */

} PKT;

/* Same thing again, but defined as offsets... */

#define    PKT_dest_unit        0x00        /* 0x00 Destination Unit Id */
#define    PKT_dest_port        0x01        /* 0x01 Destination Port */
#define    PKT_src_unit        0x02        /* 0x02 Source Unit Id */
#define    PKT_src_port        0x03        /* 0x03 Source Port */
#define    PKT_len            0x04        /* 0x04 Length (in bytes) of data field */
#define    PKT_control        0x05        /* 0x05 */
#define    PKT_data        0x06        /* 0x06 Actual data */
#define    PKT_csum        0x4E        /* 0x4E C-SUM */
#define    sizeof_PKT        0x50        /* structure size = 0x50 */

/* PKT.len definitions... */
#define    PKT_CMD_BIT        0x80
#define    PKT_CMD_DATA        0x80
#define    PKT_LEN_MASK        0x7F

/* PKT.control definitions... */
#define    PKT_ACK            0x40
#define    PKT_TGL            0x20
#define    DATA_WNDW        0x10
#define    PKT_TTL_MASK        0x0F
#define    MAX_TTL            0x0F

/*****************************************************************************
*****************************                     ****************************
*****************************   Control Packets   ****************************
*****************************                     ****************************
*****************************************************************************/

/* The following definitions and structures define the control packets sent
   between the driver and RIO Ports, RTAs and Host Cards. */

#define    PRE_EMPTIVE        0x80            /* Pre-emptive command (sent via port's RUP) */

/* "in-band" and "pre-emptive" port commands... */
#define    OPEN            0x00            /* Driver->RIO Open a port */
#define    CONFIG            0x01            /* Driver->RIO Configure a port */
#define    MOPEN            0x02            /* Driver->RIO Modem open (wait for DCD) */
#define    CLOSE            0x03            /* Driver->RIO Close a port */
#define    WFLUSH            (0x04|PRE_EMPTIVE)    /* Driver->RIO Write flush */
#define    RFLUSH            (0x05|PRE_EMPTIVE)    /* Driver->RIO Read flush */
#define    RESUME            (0x06|PRE_EMPTIVE)    /* Driver->RIO Behave as if XON received */
#define    SBREAK            0x07            /* Driver->RIO Start break */
#define    EBREAK            0x08            /* Driver->RIO End break */
#define    SUSPEND            (0x09|PRE_EMPTIVE)    /* Driver->RIO Behave as if XOFF received */
#define    FCLOSE            (0x0A|PRE_EMPTIVE)    /* Driver->RIO Force close */
#define    XPRINT            0x0B            /* Driver->RIO Xprint packet */
#define    MBIS            (0x0C|PRE_EMPTIVE)    /* Driver->RIO Set modem lines */
#define    MBIC            (0x0D|PRE_EMPTIVE)    /* Driver->RIO Clear modem lines */
#define    MSET            (0x0E|PRE_EMPTIVE)    /* Driver->RIO Set modem lines */
#define    PCLOSE            0x0F            /* Driver->RIO Pseudo close */
#define    MGET            (0x10|PRE_EMPTIVE)    /* Driver->RIO Force update of modem status */
#define    MEMDUMP            (0x11|PRE_EMPTIVE)    /* Driver->RIO DEBUG request for RTA memory */
#define    READ_REGISTER        (0x12|PRE_EMPTIVE)    /* Driver->RIO DEBUG read CD1400 register */

/* Remote Unit Port (RUP) packet definitions... (specified in PKT.dest_unit and PKT.src_unit) */
#define    SYNC_RUP        0xFF            /* Download internal */
#define    COMMAND_RUP        0xFE            /* Command ack/status */
#define    ERROR_RUP        0xFD            /* Download internal */
#define    POLL_RUP        0xFC            /* Download internal */
#define    BOOT_RUP        0xFB            /* Used to boot RTAs */
#define    ROUTE_RUP        0xFA            /* Used to specify routing/topology */
#define    STATUS_RUP        0xF9            /* Not used */
#define    POWER_RUP        0xF8            /* Download internal */

/* COMMAND_RUP definitions... */
#define    COMPLETE        (0x20|PRE_EMPTIVE)    /* RIO->Driver Command complete */
#define    BREAK_RECEIVED        (0x21|PRE_EMPTIVE)    /* RIO->Driver Break received */
#define    MODEM_STATUS        (0x22|PRE_EMPTIVE)    /* RIO->Driver Modem status change */

/* BOOT_RUP definitions... */
#define    BOOT_REQUEST        0x00            /* RIO->Driver Request for boot */
#define    BOOT_ABORT        0x01            /* Driver->RIO Abort a boot */
#define    BOOT_SEQUENCE        0x02            /* Driver->RIO Packet with firmware details */
#define    BOOT_COMPLETED        0x03            /* RIO->Driver Boot completed */
#define IFOAD            0x2F            /* Driver->RIO Shutdown/Reboot RTA (Fall Over And Die) */
#define    IDENTIFY        0x30            /* Driver->RIO Identify RTA */
#define    ZOMBIE            0x31            /* Driver->RIO Shutdown/Flash LEDs */
#define    UFOAD            0x32            /* Driver->RIO Shutdown/Reboot neighbouring RTA */
#define IWAIT            0x33            /* Driver->RIO Pause booting process */

/* ROUTE_RUP definitions... */
#define    ROUTE_REQUEST        0x00            /* RIO->Driver Request an ID */
#define    ROUTE_FOAD        0x01            /* Driver->RIO Shutdown/reboot RTA */
#define    ROUTE_ALREADY        0x02            /* Driver->RIO Not used */
#define    ROUTE_USED        0x03            /* Driver->RIO Not used */
#define    ROUTE_ALLOCATE        0x04            /* Driver->RIO Allocate RTA RUP numbers */
#define    ROUTE_REQ_TOP        0x05            /* Driver->RIO Not used */
#define ROUTE_TOPOLOGY        0x06            /* RIO->Driver Route/Topology status */

/*****************************************************************************
**********************************          **********************************
**********************************   OPEN   **********************************
**********************************          **********************************
*****************************************************************************/

/* (Driver->RIO,in-band)

   Sent to open a port. 
   Structure of configuration info used with OPEN, CONFIG and MOPEN packets... */

#define    PKT_Cmd            (PKT_Data+0)        /* Command code */
#define    PKT_Cor1        (PKT_Data+1)        /* Channel Option Register 1 */
#define    PKT_Cor2        (PKT_Data+2)        /* Channel Option Register 2 */
#define    PKT_Cor4        (PKT_Data+3)        /* Channel Option Register 4 */
#define    PKT_Cor5        (PKT_Data+4)        /* Channel Option Register 5 */
#define    PKT_TxXon        (PKT_Data+5)        /* Transmit XON character */
#define    PKT_TxXoff        (PKT_Data+6)        /* Transmit XOFF character */
#define    PKT_RxXon        (PKT_Data+7)        /* Receive XON character */
#define    PKT_RxXoff        (PKT_Data+8)        /* Receive XOFF character */
#define    PKT_Lnext        (PKT_Data+9)        /* Lnext character */
#define    PKT_TxBaud        (PKT_Data+10)        /* Transmit baud rate */
#define    PKT_RxBaud        (PKT_Data+11)        /* Receive baud rate */

/* COR1 definitions... */
#define    COR1_PARITY        0xE0            /* Parity mask */
#define    COR1_NONE        0x00            /* No parity */
#define    COR1_SPACE        0x20            /* Space parity */
#define    COR1_EVEN        0x40            /* Even parity */
#define    COR1_MARK        0xA0            /* Mark parity */
#define    COR1_ODD        0xC0            /* Odd parity */

#define    COR1_STOPBITS        0x0C            /* Stop bits mask */
#define    COR1_STOP1        0x00            /* 1 stop bit */
#define    COR1_STOP1_5        0x04            /* 1.5 stop bits */
#define    COR1_STOP2        0x08            /* 2 stop bits */

#define    COR1_DATABITS        0x03            /* Data bits mask */
#define    COR1_DATA5        0x00            /* 5 data bits */
#define    COR1_DATA6        0x01            /* 6 data bits */
#define    COR1_DATA7        0x02            /* 7 data bits */
#define    COR1_DATA8        0x03            /* 8 data bits */

/* COR2 definitions... */
#define    COR2_XON_TXFLOW        0x40            /* XON/XOFF Transmit Flow */
#define    COR2_XANY_TXFLOW    0xC0            /* XON/XANY Transmit Flow */
#define    COR2_HUPCL        0x20            /* Hang Up On Close */
#define    COR2_DSR_TXFLOW        0x08            /* DSR Transmit Flow Control */
#define    COR2_RTS_RXFLOW        0x04            /* RTS Receive Flow Control */
#define    COR2_CTS_TXFLOW        0x02            /* CTS Transmit Flow Control */
#define    COR2_XON_RXFLOW        0x01            /* XON/XOFF Receive Flow */

/* COR4 definition... */
#define    COR4_IGNCR        0x80            /* Discard received CR */
#define    COR4_ICRNL        0x40            /* Map received CR -> NL */
#define    COR4_INLCR        0x20            /* Map received NL -> CR */
#define    COR4_IGNBRK        0x10            /* Ignore Received Break */
#define    COR4_NBRKINT        0x08            /* No interrupt on rx Break */
#define    COR4_IGNPAR        0x04            /* ignore rx parity error chars */
#define    COR4_PARMRK        0x02            /* Mark rx parity error chars */
#define    COR4_RAISEMOD        0x01            /* Raise modem lines on !0 baud */

/* COR5 definitions... */
#define    COR5_ISTRIP        0x80            /* Strip input chars to 7 bits */
#define    COR5_LNE        0x40            /* Enable LNEXT processing */
#define    COR5_CMOE        0x20            /* Match good & error characters */
#define    COR5_TAB3        0x10            /* TAB3 mode */
#define    COR5_TSTATE_ON        0x08            /* Enable tbusy/tstop monitoring */
#define    COR5_TSTATE_OFF        0x04            /* Disable tbusy/tstop monitoring */
#define    COR5_ONLCR        0x02            /* NL -> CR NL on output */
#define    COR5_OCRNL        0x01            /* CR -> NL on output */

/* RxBaud and TxBaud definitions... */
#define    RIO_B0            0x00            /* RTS / DTR signals dropped */
#define    RIO_B50            0x01            /* 50 baud */
#define    RIO_B75            0x02            /* 75 baud */
#define    RIO_B110        0x03            /* 110 baud */
#define    RIO_B134        0x04            /* 134.5 baud */
#define    RIO_B150        0x05            /* 150 baud */
#define    RIO_B200        0x06            /* 200 baud */
#define    RIO_B300        0x07            /* 300 baud */
#define    RIO_B600        0x08            /* 600 baud */
#define    RIO_B1200        0x09            /* 1200 baud */
#define    RIO_B1800        0x0A            /* 1800 baud */
#define    RIO_B2400        0x0B            /* 2400 baud */
#define    RIO_B4800        0x0C            /* 4800 baud */
#define    RIO_B9600        0x0D            /* 9600 baud */
#define    RIO_B19200        0x0E            /* 19200 baud */
#define    RIO_B38400        0x0F            /* 38400 baud */
#define    RIO_B56000        0x10            /* 56000 baud */
#define    RIO_B57600        0x11            /* 57600 baud */
#define    RIO_B64000        0x12            /* 64000 baud */
#define    RIO_B115200        0x13            /* 115200 baud */
#define    RIO_B2000        0x14            /* 2000 baud */

/*****************************************************************************
*********************************            *********************************
*********************************   CONFIG   *********************************
*********************************            *********************************
*****************************************************************************/

/* (Driver->RIO,in-band)

   CONFIG is sent from the driver to configure an already opened port.
   Packet structure is same as OPEN.  */

/*****************************************************************************
*********************************           **********************************
*********************************   MOPEN   **********************************
*********************************           **********************************
*****************************************************************************/

/* (Driver->RIO,in-band)

   MOPEN is sent from the driver to open a port attached to a modem. (in-band)
   Packet structure is same as OPEN.  */

/*****************************************************************************
*********************************           **********************************
*********************************   CLOSE   **********************************
*********************************           **********************************
*****************************************************************************/

/* (Driver->RIO,in-band)

   CLOSE is sent from the driver to close a previously opened port.
   No parameters.
 */
#if 0
#define    PKT_Cmd            (PKT_Data+0)        /* Command code */
#endif
/*****************************************************************************
*********************************            *********************************
*********************************   WFLUSH   *********************************
*********************************            *********************************
*****************************************************************************/

/* (Driver->RIO,pre-emptive)

   WFLUSH is sent pre-emptively from the driver to flush the write buffers and
   packets of a port.  (pre-emptive)
   
   WFLUSH is also sent in-band from the driver to a port as a marker to end
   write flushing previously started by a pre-emptive WFLUSH packet. (in-band)
   */
#if 0
#define    PKT_Cmd            (PKT_Data+0)        /* Command code */
#endif
#define    PKT_PhbNum        (PKT_Data+1)        /* Port number wrt RTA */

/*****************************************************************************
*********************************            *********************************
*********************************   RFLUSH   *********************************
*********************************            *********************************
*****************************************************************************/

/* (Driver->RIO,pre-emptive)

   RFLUSH is sent pre-emptively from the driver to flush the read buffers and
   packets of a port.
   */
#if 0
#define    PKT_Cmd            (PKT_Data+0)        /* Command code */
#define    PKT_PhbNum        (PKT_Data+1)        /* Port number wrt RTA */
#endif

/*****************************************************************************
*********************************            *********************************
*********************************   RESUME   *********************************
*********************************            *********************************
*****************************************************************************/

/* (Driver->RIO,pre-emptive)

   RESUME is sent pre-emptively from the driver to cause a port to resume 
   transmission of data if blocked by XOFF.  (as if XON had been received)
   */
#if 0
#define    PKT_Cmd            (PKT_Data+0)        /* Command code */
#define    PKT_PhbNum        (PKT_Data+1)        /* Port number wrt RTA */
#endif

/*****************************************************************************
*********************************            *********************************
*********************************   SBREAK   *********************************
*********************************            *********************************
*****************************************************************************/

/* (Driver->RIO,in-band)

   SBREAK is sent in-band from the driver to a port to suspend data and start
   break signal transmission.

   If the break delay is 0, the break signal will be acknowledged with a
   RUP_COMMAND, COMPLETE packet and continue until an EBREAK packet is received.

   Otherwise, there is no acknowledgement and the break signal will last for the
   specified number of mS.
   */
#if 0
#define    PKT_Cmd            (PKT_Data+0)        /* Command code */
#endif
#define    PKT_BreakDelay        (PKT_Data+1)        /* Break delay in mS */

/*****************************************************************************
*********************************            *********************************
*********************************   EBREAK   *********************************
*********************************            *********************************
*****************************************************************************/

/* (Driver->RIO,in-band)

   EBREAK is sent in-band from the driver to a port to stop transmission of a
   break signal.

   No parameters.  */

/*****************************************************************************
*********************************             ********************************
*********************************   SUSPEND   ********************************
*********************************             ********************************
*****************************************************************************/

/* (Driver->RIO,pre-emptive)

   SUSPEND is sent pre-emptively from the driver to cause a port to suspend
   transmission of data.  (as if XOFF had been received)
   */
#if 0
#define    PKT_Cmd            (PKT_Data+0)        /* Command code */
#define    PKT_PhbNum        (PKT_Data+1)        /* Port number wrt RTA */
#endif

/*****************************************************************************
*********************************            *********************************
*********************************   FCLOSE   *********************************
*********************************            *********************************
*****************************************************************************/

/* (Driver->RIO,pre-emptive)

   FCLOSE is sent pre-emptively from the driver to force close a port.
   A force close flushes receive and transmit queues, and also lowers all output
   modem signals if the COR5_HUPCL (Hang Up On Close) flag is set.
   */
#if 0
#define    PKT_Cmd            (PKT_Data+0)        /* Command code */
#define    PKT_PhbNum        (PKT_Data+1)        /* Port number wrt RTA */
#endif

/*****************************************************************************
*********************************            *********************************
*********************************   XPRINT   *********************************
*********************************            *********************************
*****************************************************************************/

/* (Driver->RIO,in-band)

   XPRINT is sent as a normal I/O data packet except that the PKT_CMD_BIT of
   the "len" field is set, and the first "data" byte is XPRINT.

   The I/O data in the XPRINT packet will contain the following:
   -    Transparent Print Start Sequence
   -    Transparent Print Data
   -    Transparent Print Stop Sequence.
   */
#if 0
#define    PKT_Cmd            (PKT_Data+0)        /* Command code */
#define    PKT_PhbNum        (PKT_Data+1)        /* Port number wrt RTA */
#endif

/*****************************************************************************
**********************************          **********************************
**********************************   MBIS   **********************************
**********************************          **********************************
*****************************************************************************/

/* (Driver->RIO,pre-emptive)

   MBIS is sent pre-emptively from the driver to set a port's modem signals.
   */
#if 0
#define    PKT_Cmd            (PKT_Data+0)        /* Command code */
#define    PKT_PhbNum        (PKT_Data+1)        /* Port number wrt RTA */
#endif
#define    PKT_ModemSet        (PKT_Data+4)        /* Modem set signals mask */

/* ModemSet definitions... */
#define    MBIS_RTS        0x01            /* RTS modem signal */
#define    MBIS_DTR        0x02            /* DTR modem signal */

/*****************************************************************************
**********************************          **********************************
**********************************   MBIC   **********************************
**********************************          **********************************
*****************************************************************************/

/* (Driver->RIO,pre-emptive)

   MBIC is sent pre-emptively from the driver to clear a port's modem signals.
   */
#if 0   
#define    PKT_Cmd            (PKT_Data+0)        /* Command code */
#define    PKT_PhbNum        (PKT_Data+1)        /* Port number wrt RTA */
#endif

#define    PKT_ModemClear        (PKT_Data+4)        /* Modem clear signals mask */

/* ModemClear definitions... */
#define    MBIC_RTS        0x01            /* RTS modem signal */
#define    MBIC_DTR        0x02            /* DTR modem signal */

/*****************************************************************************
**********************************          **********************************
**********************************   MSET   **********************************
**********************************          **********************************
*****************************************************************************/

/* (Driver->RIO,pre-emptive)

   MSET is sent pre-emptively from the driver to set/clear a port's modem signals. */
#if 0
#define    PKT_Cmd            (PKT_Data+0)        /* Command code */
#define    PKT_PhbNum        (PKT_Data+1)        /* Port number wrt RTA */
#endif

#define    PKT_ModemSet        (PKT_Data+4)        /* Modem set signals mask */

/* ModemSet definitions... */
#define    MSET_RTS        0x01            /* RTS modem signal */
#define    MSET_DTR        0x02            /* DTR modem signal */

/*****************************************************************************
*********************************            *********************************
*********************************   PCLOSE   *********************************
*********************************            *********************************
*****************************************************************************/

/* (Driver->RIO,in-band)

   PCLOSE is sent from the driver to pseudo close a previously opened port.
   
   The port will close when all data has been sent/received, however, the
   port's transmit / receive and modem signals will be left enabled and the
   port marked internally as Pseudo Closed. */

#define    PKT_Cmd            (PKT_Data+0)        /* Command code */

/*****************************************************************************
**********************************          **********************************
**********************************   MGET   **********************************
**********************************          **********************************
*****************************************************************************/

/* (Driver->RIO,pre-emptive)

   MGET is sent pre-emptively from the driver to request the port's current modem signals. */

#define    PKT_Cmd            (PKT_Data+0)        /* Command code */
#define    PKT_PhbNum        (PKT_Data+1)        /* Port number wrt RTA */

/*****************************************************************************
*********************************             ********************************
*********************************   MEMDUMP   ********************************
*********************************             ********************************
*****************************************************************************/

/* (Driver->RIO,pre-emptive)

   MEMDUMP is sent pre-emptively from the driver to request a dump of 32 bytes
   of the specified port's RTA address space.
   */
#if 0
#define    PKT_Cmd            (PKT_Data+0)        /* Command code */
#endif
#define    PKT_PhbNum        (PKT_Data+1)        /* Port number wrt RTA */
#define    PKT_SubCmd        (PKT_Data+5)        /* Sub Command */
#define    PKT_Address        (PKT_Data+6)        /* Requested address */

/*****************************************************************************
******************************                   *****************************
******************************   READ_REGISTER   *****************************
******************************                   *****************************
*****************************************************************************/

/* (Driver->RIO,pre-emptive)

   READ_REGISTER is sent pre-emptively from the driver to request the contents
   of the CD1400 register specified in address.
   */
#if 0
#define    PKT_Cmd            (PKT_Data+0)        /* Command code */
#endif
#define    PKT_PhbNum        (PKT_Data+1)        /* Port number wrt RTA */
#define    PKT_SubCmd        (PKT_Data+5)        /* Sub Command */
#define    PKT_Address        (PKT_Data+6)        /* Requested address */

/*****************************************************************************
************************                            **************************
************************   COMMAND_RUP - COMPLETE   **************************
************************                            **************************
*****************************************************************************/

/* (RIO->Driver,pre-emptive)

   COMMAND_RUP - COMPLETE is sent in response to all port I/O control command
   packets, except MEMDUMP and READ_REGISTER.
   */
#if 0
#define    PKT_Cmd            (PKT_Data+0)        /* Command code */
#endif
#define    PKT_PhbNum        (PKT_Data+1)        /* Port number wrt RTA */
#define    PKT_Cmd2        (PKT_Data+2)        /* Command code copy */
#define    PKT_ModemStatus        (PKT_Data+3)        /* Modem signal status */
#define    PKT_PortStatus        (PKT_Data+4)        /* Port signal status */
#define    PKT_SubCmd        (PKT_Data+5)        /* Sub Command */

/* ModemStatus definitions... */
#define    MODEM_DSR        0x80            /* Data Set Ready modem state */
#define    MODEM_CTS        0x40            /* Clear To Send modem state */
#define    MODEM_RI        0x20            /* Ring Indicate modem state */
#define    MODEM_CD        0x10            /* Carrier Detect modem state */
#define    MODEM_TSTOP        0x08            /* Transmit Stopped state */
#define    MODEM_TEMPTY        0x04            /* Transmit Empty state */
#define    MODEM_DTR        0x02            /* DTR modem output state */
#define    MODEM_RTS        0x01            /* RTS modem output state */

/* PortStatus definitions... */
#define    PORT_ISOPEN        0x01            /* Port open ? */
#define    PORT_HUPCL        0x02            /* Hangup on close? */
#define    PORT_MOPENPEND        0x04            /* Modem open pending */
#define    PORT_ISPARALLEL        0x08            /* Parallel port */
#define    PORT_BREAK        0x10            /* Port on break */
#define    PORT_STATUSPEND        0020            /* Status packet pending */
#define    PORT_BREAKPEND        0x40            /* Break packet pending */
#define    PORT_MODEMPEND        0x80            /* Modem status packet pending */

/*****************************************************************************
************************                            **************************
************************   COMMAND_RUP - COMPLETE   **************************
************************                            **************************
*****************************************************************************/

/* (RIO->Driver,pre-emptive)

   COMMAND_RUP - COMPLETE is sent in response to all port I/O control command
   packets, except MEMDUMP and READ_REGISTER.
   */
#if 0
#define    PKT_Cmd            (PKT_Data+0)        /* Command code */
#define    PKT_PhbNum        (PKT_Data+1)        /* Port number wrt RTA */
#define    PKT_Cmd2        (PKT_Data+2)        /* Command code copy */
#endif
#define    PKT_ModemStatus        (PKT_Data+3)        /* Modem signal status */
#define    PKT_PortStatus        (PKT_Data+4)        /* Port signal status */
#if 0
#define    PKT_SubCmd        (PKT_Data+5)        /* Sub Command */
#endif

/* ModemStatus definitions... */
#define    MODEM_DSR        0x80            /* Data Set Ready modem state */
#define    MODEM_CTS        0x40            /* Clear To Send modem state */
#define    MODEM_RI        0x20            /* Ring Indicate modem state */
#define    MODEM_CD        0x10            /* Carrier Detect modem state */
#define    MODEM_TSTOP        0x08            /* Transmit Stopped state */
#define    MODEM_TEMPTY        0x04            /* Transmit Empty state */
#define    MODEM_DTR        0x02            /* DTR modem output state */
#define    MODEM_RTS        0x01            /* RTS modem output state */

/* PortStatus definitions... */
#define    PORT_ISOPEN        0x01            /* Port open ? */
#define    PORT_HUPCL        0x02            /* Hangup on close? */
#define    PORT_MOPENPEND        0x04            /* Modem open pending */
#define    PORT_ISPARALLEL        0x08            /* Parallel port */
#define    PORT_BREAK        0x10            /* Port on break */
#define    PORT_STATUSPEND        0020            /* Status packet pending */
#define    PORT_BREAKPEND        0x40            /* Break packet pending */
#define    PORT_MODEMPEND        0x80            /* Modem status packet pending */

/*****************************************************************************
********************                                      ********************
********************   COMMAND_RUP - COMPLETE - MEMDUMP   ********************
********************                                      ********************
*****************************************************************************/

/* (RIO->Driver,pre-emptive)

   COMMAND_RUP - COMPLETE - MEMDUMP is sent as an acknowledgement for a MEMDUMP
   port I/O control command packet.
   */
#if 0
#define    PKT_Cmd            (PKT_Data+0)        /* Command code */
#define    PKT_PhbNum        (PKT_Data+1)        /* Port number wrt RTA */
#define    PKT_Cmd2        (PKT_Data+2)        /* Command code copy */
#define    PKT_ModemStatus        (PKT_Data+3)        /* Modem signal status */
#define    PKT_PortStatus        (PKT_Data+4)        /* Port signal status */
#define    PKT_SubCmd        (PKT_Data+5)        /* Sub Command */
#define    PKT_Address        (PKT_Data+6)        /* Requested address */
#endif
#define    PKT_Dump        (PKT_Data+8)        /* 32bytes of requested dump data */

/*****************************************************************************
*****************                                            *****************
*****************   COMMAND_RUP - COMPLETE - READ_REGISTER   *****************
*****************                                            *****************
*****************************************************************************/

/* (RIO->Driver,pre-emptive)

   COMMAND_RUP - COMPLETE - READ_REGISTER is sent as an acknowledgement for a
   READ_REGISTER port I/O control command packet.
   */
#if 0
#define    PKT_Cmd            (PKT_Data+0)        /*Command code */
#define    PKT_PhbNum        (PKT_Data+1)        /*Port number wrt RTA */
#define    PKT_Cmd2        (PKT_Data+2)        /* Command code copy */
#endif
#define    PKT_RegisterValue    (PKT_Data+3)        /* Modem signal status */
#if 0
#define    PKT_PortStatus        (PKT_Data+4)        /* Port signal status */
#define    PKT_SubCmd        (PKT_Data+5)        /* Sub Command */
#endif

/*****************************************************************************
*********************                                  ***********************
*********************   COMMAND_RUP - BREAK_RECEIVED   ***********************
*********************                                  ***********************
*****************************************************************************/

/* (RIO->Driver,pre-emptive)

   COMMAND_RUP - BREAK_RECEIVED packets are sent when the port detects a receive BREAK signal.
   */
#if 0
#define    PKT_Cmd            (PKT_Data+0)        /* Command code */
#define    PKT_PhbNum        (PKT_Data+1)        /* Port number wrt RTA */
#define    PKT_Cmd2        (PKT_Data+2)        /* Command code copy */
#endif

/*****************************************************************************
*********************                                *************************
*********************   COMMAND_RUP - MODEM_STATUS   *************************
*********************                                *************************
*****************************************************************************/

/* (RIO->Driver,pre-emptive)

   COMMAND_RUP - MODEM_STATUS packets are sent whenever the port detects a
   change in the input modem signal states.

   */
#if 0
#define    PKT_Cmd            (PKT_Data+0)        /* Command code */
#define    PKT_PhbNum        (PKT_Data+1)        /* Port number wrt RTA */
#define    PKT_Cmd2        (PKT_Data+2)        /* Command code copy */
#define    PKT_ModemStatus        (PKT_Data+3)        /* Modem signal status */
#endif

/*****************************************************************************
************************                             *************************
************************   BOOT_RUP - BOOT_REQUEST   *************************
************************                             *************************
*****************************************************************************/

/* (RIO->Driver,pre-emptive)

   BOOT_RUP - BOOT_REQUEST packets are sent to the Driver from RIO to request
   firmware code to load onto attached RTAs.
   */
#if 0
#define    PKT_Cmd            (PKT_Data+0)        /* Command code */
#endif

/*****************************************************************************
************************                              ************************
************************   BOOT_RUP - BOOT_SEQUENCE   ************************
************************                              ************************
*****************************************************************************/

/* (Driver->RIO,pre-emptive)

   BOOT_RUP - BOOT_SEQUENCE packets are sent from the Driver to RIO in response
   to a BOOT_RUP - BOOT_REQUEST packet.
   */
#if 0
#define    PKT_Cmd            (PKT_Data+0)        /* Command code */
#endif
#define    PKT_NumPackets        (PKT_Data+2)        /* Packets required to load firmware */
#define    PKT_LoadBase        (PKT_Data+4)        /* RTA firmware load address */
#define    PKT_CodeSize        (PKT_Data+6)        /* Size of firmware in bytes */
#define    PKT_CmdString        (PKT_Data+8)        /* Command string */

/*****************************************************************************
************************                               ***********************
************************   BOOT_RUP - BOOT_COMPLETED   ***********************
************************                               ***********************
*****************************************************************************/

/* (RIO->Driver,pre-emptive)

   BOOT_RUP - BOOT_COMPLETE is sent to the Driver from RIO when downloading of
   RTA firmware has completed.
   */
#if 0
#define    PKT_Cmd            (PKT_Data+0)        /* Command code */
#endif
#define    PKT_LinkNumber        (PKT_Data+1)        /* Link number RTA booted on */
#define    PKT_SerialNumber    (PKT_Data+2)        /* 4 byte serial number */

/*****************************************************************************
************************                               ***********************
************************   BOOT_RUP - Packet Request   ***********************
************************                               ***********************
*****************************************************************************/

/* (RIO->Driver,pre-emptive)

   BOOT_RUP packet without the PKT_CMD_BIT set in the PKT->len field is sent
   from RIO to the Driver as a request for a firmware boot packet. */

#define    PKT_SequenceNumber    (PKT_Data+0)        /* Packet sequence number */

/*****************************************************************************
***********************                                ***********************
***********************   BOOT_RUP - Packet Response   ***********************
***********************                                ***********************
*****************************************************************************/

/* (Driver->RIO,pre-emptive)

   In response to a BOOT_RUP boot packet request, the driver fills out the response
   packet with the 70 bytes of the requested sequence.
   */
#if 0
#define    PKT_SequenceNumber    (PKT_Data+0)        /* Packet sequence number */
#endif
#define    PKT_FirmwarePacket    (PKT_Data+2)        /* Firmware packet */

/*****************************************************************************
****************************                      ****************************
****************************   BOOT_RUP - IFOAD   ****************************
****************************                      ****************************
*****************************************************************************/

/* (Driver->RIO,pre-emptive)

   BOOT_RUP - IFOAD packets are sent from the Driver to an RTA to cause the
   RTA to shut down and reboot.
   */
#if 0
#define    PKT_Cmd            (PKT_Data+0)        /* Command code */
#endif
#define    PKT_IfoadId1        (PKT_Data+2)        /* IFOAD Id 1 */
#define    PKT_IfoadId2        (PKT_Data+3)        /* IFOAD Id 2 */

#define    IFOADID1        0xAD
#define    IFOADID2        0xF0

/*****************************************************************************
**************************                         ***************************
**************************   BOOT_RUP - IDENTIFY   ***************************
**************************                         ***************************
*****************************************************************************/

/* (Driver->RIO,pre-emptive)

   BOOT_RUP - IDENTIFY packets are sent from the Driver to an RTA to cause the
   RTA to flash its LEDs for a period of time.
   */
#if 0
#define    PKT_Cmd            (PKT_Data+0)        /* Command code */
#endif
#define    PKT_IdentifyId        (PKT_Data+2)        /* defines pattern to flash */

/*****************************************************************************
****************************                       ***************************
****************************   BOOT_RUP - ZOMBIE   ***************************
****************************                       ***************************
*****************************************************************************/

/* (Driver->RIO,pre-emptive)

   BOOT_RUP - ZOMBIE packets are sent from the Driver to an RTA to cause the
   RTA to shut down and flash it's LEDs.
   */
#if 0
#define    PKT_Cmd            (PKT_Data+0)        /* Command code */
#endif
#define    PKT_ZombieId1        (PKT_Data+2)        /* ZOMBIE Id 1 */
#define    PKT_ZombieId2        (PKT_Data+3)        /* ZOMBIE Id 2 */

#define    ZOMBIEID1        0x52
#define    ZOMBIEID2        0x21

/*****************************************************************************
****************************                      ****************************
****************************   BOOT_RUP - UFOAD   ****************************
****************************                      ****************************
*****************************************************************************/

/* (Driver->RIO,pre-emptive)

   BOOT_RUP - UFOAD packets are sent from the Driver to an RTA to cause the RTA
   to ask it's neighbouring RTA to shut down and reboot.
   */
#if 0
#define    PKT_Cmd            (PKT_Data+0)        /* Command code */
#define    PKT_LinkNumber        (PKT_Data+1)        /* Link number of RTA to UFOAD */
#endif
#define    PKT_UfoadId1        (PKT_Data+2)        /* UFOAD Id 1 */
#define    PKT_UfoadId2        (PKT_Data+3)        /* UFOAD Id 2 */

#define    UFOADID1        0x1E
#define    UFOADID2        0x0D

/*****************************************************************************
****************************                      ****************************
****************************   BOOT_RUP - IWAIT   ****************************
****************************                      ****************************
*****************************************************************************/

/* (Driver->RIO,pre-emptive)

   BOOT_RUP - IWAIT packets are sent from the Driver to an RTA to cause the RTA
   to pause booting on the specified link for 30 seconds.
   */
#if 0
#define    PKT_Cmd            (PKT_Data+0)        /* Command code */
#define    PKT_LinkNumber        (PKT_Data+1)        /* Link number of RTA to UFOAD */
#endif
#define    PKT_IwaitId1        (PKT_Data+2)        /* IWAIT Id 1 */
#define    PKT_IwaitId2        (PKT_Data+3)        /* IWAIT Id 2 */

#define    IWAITID1        0xDE
#define    IWAITID2        0xB1

/*****************************************************************************
************************                               ***********************
************************   ROUTE_RUP - ROUTE_REQUEST   ***********************
************************                               ***********************
*****************************************************************************/

/* (RIO->Driver,pre-emptive)

   ROUTE_RUP - ROUTE_REQUEST packets are sent from a newly booted or connected
   RTA to a Driver to request an ID (RUP or unit number).
   */
#if 0
#define    PKT_Cmd            (PKT_Data+0)        /* Command code */
#endif
#define    PKT_SerialNumber    (PKT_Data+2)        /* 4 byte serial number */
#define    PKT_ModuleTypes        (PKT_Data+6)        /* RTA Module types */

/* ModuleTypes definitions... */
#define    MOD_BLANK        0x0F            /* Blank plate attached */
#define    MOD_RS232DB25        0x00            /* RS232 DB25 connector */
#define    MOD_RS232RJ45        0x01            /* RS232 RJ45 connector */
#define    MOD_RS422DB25        0x02            /* RS422 DB25 connector */
#define    MOD_RS485DB25        0x03            /* RS485 DB25 connector */
#define    MOD_PARALLEL        0x04            /* Centronics parallel */

#define    MOD2            0x08            /* Set to indicate Rev2 module */

/*****************************************************************************
*************************                            *************************
*************************   ROUTE_RUP - ROUTE_FOAD   *************************
*************************                            *************************
*****************************************************************************/

/* (Driver->RIO,pre-emptive)

   ROUTE_RUP - ROUTE_FOAD packet is sent as a response to a ROUTE_RUP - ROUTE_REQUEST
   packet to cause the RTA to "Fall Over And Die"., i.e. shutdown and reboot.
   */
#if 0
#define    PKT_Cmd            (PKT_Data+0)        /* Command code */
#endif
#define    PKT_RouteCmdString    (PKT_Data+2)        /* Command string */

/*****************************************************************************
***********************                                ***********************
***********************   ROUTE_RUP - ROUTE_ALLOCATE   ***********************
***********************                                ***********************
*****************************************************************************/

/* (Driver->RIO,pre-emptive)

   ROUTE_RUP - ROUTE_ALLOCATE packet is sent as a response to a ROUTE_RUP - ROUTE_REQUEST
   packet to allocate the RTA's Id number (RUP number 1..16)
   */
#if 0
#define    PKT_Cmd            (PKT_Data+0)        /* Command code */
#endif
#define    PKT_IdNum        (PKT_Data+1)        /* RUP number for ports 1..8 */
#if 0
#define    PKT_RouteCmdString    (PKT_Data+2)        /* Command string */
#endif
#define    PKT_IdNum2        (PKT_Data+0x17)        /* RUP number for ports 9..16 */

/*****************************************************************************
***********************                                ***********************
***********************   ROUTE_RUP - ROUTE_TOPOLOGY   ***********************
***********************                                ***********************
*****************************************************************************/

/* (RIO->Driver,pre-emptive)

   ROUTE_RUP - ROUTE_TOPOLOGY packet is sent to inform the driver of an RTA's
   current link status.
   */
#if 0
#define    PKT_Cmd            (PKT_Data+0)        /* Command code */
#endif
#define    PKT_Link1Rup        (PKT_Data+2)        /* Link 1 RUP number */
#define    PKT_Link1Link        (PKT_Data+3)        /* Link 1 link number */
#define    PKT_Link2Rup        (PKT_Data+4)        /* Link 2 RUP number */
#define    PKT_Link2Link        (PKT_Data+5)        /* Link 2 link number */
#define    PKT_Link3Rup        (PKT_Data+6)        /* Link 3 RUP number */
#define    PKT_Link3Link        (PKT_Data+7)        /* Link 3 link number */
#define    PKT_Link4Rup        (PKT_Data+8)        /* Link 4 RUP number */
#define    PKT_Link4Link        (PKT_Data+9)        /* Link 4 link number */
#define    PKT_RtaVpdProm        (PKT_Data+10)        /* 32 bytes of RTA VPD PROM Contents */

#endif                        /* _sxwinif_h */

/* End of RIOWINIF.H */

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 1.0 pre-release build #13 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.008 ]--