!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:     port.h (8.12 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/*
** -----------------------------------------------------------------------------
**
**  Perle Specialix driver for Linux
**  Ported from existing RIO Driver for SCO sources.
 *
 *  (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.
**
**    Module        : port.h
**    SID        : 1.3
**    Last Modified    : 11/6/98 11:34:12
**    Retrieved    : 11/6/98 11:34:21
**
**  ident @(#)port.h    1.3
**
** -----------------------------------------------------------------------------
*/

#ifndef    __rio_port_h__
#define    __rio_port_h__

#ifdef SCCS_LABELS
static char *_port_h_sccs_ = "@(#)port.h    1.3";
#endif


#undef VPIX


/*
** the port data structure - one per port in the system
*/

#ifdef STATS
struct RIOStats
{
    /*
    ** interrupt statistics
    */
    uint    BreakIntCnt;
    uint    ModemOffCnt;
    uint    ModemOnCnt;
    uint    RxIntCnt;
    uint    TxIntCnt;
    /*
    ** throughput statistics
    */
    uint    RxCharCnt;
    uint    RxPktCnt;
    uint    RxSaveCnt;
    uint    TxCharCnt;
    uint    TxPktCnt;
    /*
    ** driver entry statistics
    */
    uint    CloseCnt;
    uint    IoctlCnt;
    uint    OpenCnt;
    uint    ReadCnt;
    uint    WriteCnt;
    /*
    ** proc statistics
    */
    uint    BlockCnt;
    uint    OutputCnt;
    uint    ResumeCnt;
    uint    RflushCnt;
    uint    SuspendCnt;
    uint    TbreakCnt;
    uint    TimeoutCnt;
    uint    UnblockCnt;
    uint    WflushCnt;
    uint    WFBodgeCnt;
};
#endif

/*
**    Port data structure
*/
struct    Port
{
  struct gs_port gs; 
  int                PortNum;    /* RIO port no., 0-511 */
  struct Host    *HostP;
  volatile caddr_t        Caddr;
  ushort            HostPort;  /* Port number on host card */
  uchar            RupNum;    /* Number of RUP for port */
  uchar            ID2;    /* Second ID of RTA for port */
  ulong            State;    /* FLAGS for open & xopen */
#define    RIO_LOPEN    0x00001        /* Local open */
#define    RIO_MOPEN    0x00002        /* Modem open */
#define    RIO_WOPEN    0x00004        /* Waiting for open */
#define    RIO_CLOSING    0x00008        /* The port is being close */
#define    RIO_XPBUSY    0x00010        /* Transparent printer busy */
#define    RIO_BREAKING    0x00020        /* Break in progress */
#define    RIO_DIRECT    0x00040        /* Doing Direct output */
#define    RIO_EXCLUSIVE    0x00080        /* Stream open for exclusive use */
#define    RIO_NDELAY    0x00100        /* Stream is open FNDELAY */
#define    RIO_CARR_ON    0x00200        /* Stream has carrier present */
#define    RIO_XPWANTR    0x00400        /* Stream wanted by Xprint */
#define    RIO_RBLK    0x00800        /* Stream is read-blocked */
#define    RIO_BUSY    0x01000        /* Stream is BUSY for write */
#define    RIO_TIMEOUT    0x02000        /* Stream timeout in progress */
#define    RIO_TXSTOP    0x04000        /* Stream output is stopped */
#define    RIO_WAITFLUSH    0x08000        /* Stream waiting for flush */
#define    RIO_DYNOROD    0x10000        /* Drain failed */
#define    RIO_DELETED    0x20000        /* RTA has been deleted */
#define RIO_ISSCANCODE    0x40000        /* This line is in scancode mode */
#define    RIO_USING_EUC    0x100000    /* Using extended Unix chars */
#define    RIO_CAN_COOK    0x200000    /* This line can do cooking */
#define RIO_TRIAD_MODE  0x400000        /* Enable TRIAD special ops. */
#define RIO_TRIAD_BLOCK 0x800000        /* Next read will block */
#define RIO_TRIAD_FUNC  0x1000000       /* Seen a function key coming in */
#define RIO_THROTTLE_RX 0x2000000       /* RX needs to be throttled. */

    ulong            Config;    /* FLAGS for NOREAD.... */
#define    RIO_NOREAD    0x0001        /* Are not allowed to read port */
#define    RIO_NOWRITE    0x0002        /* Are not allowed to write port */
#define    RIO_NOXPRINT    0x0004        /* Are not allowed to xprint port */
#define    RIO_NOMASK    0x0007        /* All not allowed things */
#define RIO_IXANY    0x0008          /* Port is allowed ixany */
#define    RIO_MODEM    0x0010        /* Stream is a modem device */
#define    RIO_IXON    0x0020        /* Port is allowed ixon */
#define RIO_WAITDRAIN    0x0040        /* Wait for port to completely drain */
#define RIO_MAP_50_TO_50    0x0080    /* Map 50 baud to 50 baud */
#define RIO_MAP_110_TO_110    0x0100    /* Map 110 baud to 110 baud */

/*
** 15.10.1998 ARG - ESIL 0761 prt fix
** As LynxOS does not appear to support Hardware Flow Control .....
** Define our own flow control flags in 'Config'.
*/
#define RIO_CTSFLOW    0x0200        /* RIO's own CTSFLOW flag */
#define RIO_RTSFLOW    0x0400        /* RIO's own RTSFLOW flag */


    struct PHB            *PhbP;      /* pointer to PHB for port */
    WORD                        *TxAdd;   /* Add packets here */
    WORD                        *TxStart; /* Start of add array */
    WORD                        *TxEnd;         /* End of add array */
    WORD                        *RxRemove;      /* Remove packets here */
    WORD                        *RxStart;       /* Start of remove array */
    WORD                        *RxEnd;         /* End of remove array */
    uint            RtaUniqueNum;    /* Unique number of RTA */
    ushort            PortState;    /* status of port */
    ushort            ModemState;    /* status of modem lines */
    ulong            ModemLines;    /* Modem bits sent to RTA */
    uchar            CookMode;    /* who expands CR/LF? */
    uchar            ParamSem;    /* Prevent write during param */
    uchar            Mapped;        /* if port mapped onto host */
    uchar            SecondBlock;    /* if port belongs to 2nd block
                           of 16 port RTA */
    uchar            InUse;        /* how many pre-emptive cmds */
    uchar            Lock;        /* if params locked */
    uchar            Store;    /* if params stored across closes */
    uchar            FirstOpen; /* TRUE if first time port opened */
    uchar            FlushCmdBodge;    /* if doing a (non)flush */
    uchar            MagicFlags;    /* require intr processing */
#define    MAGIC_FLUSH    0x01    /* mirror of WflushFlag */
#define    MAGIC_REBOOT    0x02    /* RTA re-booted, re-open ports */
#define    MORE_OUTPUT_EYGOR 0x04    /* riotproc failed to empty clists */
    uchar            WflushFlag;    /* 1 How many WFLUSHs active */
/*
** Transparent print stuff
*/
    struct Xprint
    {
#ifndef MAX_XP_CTRL_LEN
#define MAX_XP_CTRL_LEN        16        /* ALSO IN DAEMON.H */
#endif
    uint            XpCps;
    char            XpOn[MAX_XP_CTRL_LEN];
    char            XpOff[MAX_XP_CTRL_LEN];
    ushort            XpLen;        /* strlen(XpOn)+strlen(XpOff) */
    uchar            XpActive;
    uchar            XpLastTickOk;    /* TRUE if we can process */
#define    XP_OPEN        00001
#define    XP_RUNABLE    00002
    struct ttystatics         *XttyP;
    } Xprint;
#ifdef VPIX
    v86_t            *StashP;
    uint            IntMask;
    struct termss         VpixSs;
    uchar            ModemStatusReg;    /* Modem status register */
#endif
    uchar            RxDataStart;
    uchar            Cor2Copy;    /* copy of COR2 */
    char            *Name;        /* points to the Rta's name */
#ifdef STATS
    struct RIOStats         Stat;        /* ports statistics */
#endif
    char            *TxRingBuffer;
    ushort            TxBufferIn;    /* New data arrives here */
    ushort            TxBufferOut;    /* Intr removes data here */
    ushort            OldTxBufferOut;    /* Indicates if draining */
    int                TimeoutId;    /* Timeout ID */
    uint            Debug;
    uchar            WaitUntilBooted; /* True if open should block */
    uint            statsGather;    /* True if gathering stats */
    ulong            txchars;    /* Chars transmitted */
    ulong            rxchars;    /* Chars received */
    ulong            opens;        /* port open count */
    ulong            closes;        /* port close count */
    ulong            ioctls;        /* ioctl count */
    uchar            LastRxTgl;    /* Last state of rx toggle bit */
  spinlock_t                portSem;    /* Lock using this sem */
    int                MonitorTstate;    /* Monitoring ? */
    int                timeout_id;    /* For calling 100 ms delays */
    int                timeout_sem;/* For calling 100 ms delays */
    int                firstOpen;    /* First time open ? */
    char *            p;            /* save the global struc here .. */
};

struct ModuleInfo
{
    char    *Name;
    uint    Flags[4];    /* one per port on a module */
};
#endif

/*
** This struct is required because trying to grab an entire Port structure
** runs into problems with differing struct sizes between driver and config.
*/
struct PortParams {
    uint    Port;
    ulong    Config;
    ulong    State;
    struct ttystatics    *TtyP;
};

:: 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.0049 ]--