!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/include/linux/   drwxr-xr-x
Free 318.33 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:     isicom.h (7.26 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#ifndef _LINUX_ISICOM_H
#define _LINUX_ISICOM_H

/*#define        ISICOM_DEBUG*/
/*#define        ISICOM_DEBUG_DTR_RTS*/


/*
 *    Firmware Loader definitions ...
 */
 
#define        __MultiTech        ('M'<<8)
#define        MIOCTL_LOAD_FIRMWARE    (__MultiTech | 0x01)
#define         MIOCTL_READ_FIRMWARE    (__MultiTech | 0x02)
#define         MIOCTL_XFER_CTRL    (__MultiTech | 0x03)
#define         MIOCTL_RESET_CARD    (__MultiTech | 0x04)

#define        DATA_SIZE    16

typedef    struct    {
        unsigned short    exec_segment;
        unsigned short    exec_addr;
}    exec_record;

typedef    struct    {
        int        board;        /* Board to load */
        unsigned short    addr;
        unsigned short    count;
}    bin_header;

typedef    struct    {
        int        board;        /* Board to load */
        unsigned short    addr;
        unsigned short    count;
        unsigned short    segment;
        unsigned char    bin_data[DATA_SIZE];
}    bin_frame;

#ifdef __KERNEL__

#define        YES    1
#define        NO    0

#define        ISILOAD_MISC_MINOR    155    /* /dev/isctl */
#define        ISILOAD_NAME        "ISILoad"

/*    
 *  ISICOM Driver definitions ...
 *
 */

#define        ISICOM_NAME    "ISICom"

/*
 *      PCI definitions
 */

 #define        DEVID_COUNT     9
 #define        VENDOR_ID       0x10b5

/*
 *    These are now officially allocated numbers
 */

#define        ISICOM_NMAJOR    112    /* normal  */
#define        ISICOM_CMAJOR    113    /* callout */
#define        ISICOM_MAGIC    (('M' << 8) | 'T')

#define        WAKEUP_CHARS    256    /* hard coded for now    */ 
#define        TX_SIZE        254 
 
#define        BOARD_COUNT    4
#define        PORT_COUNT    (BOARD_COUNT*16)

#define        SERIAL_TYPE_NORMAL    1
#define        SERIAL_TYPE_CALLOUT    2

/*   character sizes  */

#define        ISICOM_CS5        0x0000
#define        ISICOM_CS6        0x0001
#define        ISICOM_CS7        0x0002
#define        ISICOM_CS8        0x0003

/* stop bits */

#define        ISICOM_1SB        0x0000
#define        ISICOM_2SB        0x0004

/* parity */

#define        ISICOM_NOPAR        0x0000
#define        ISICOM_ODPAR        0x0008
#define        ISICOM_EVPAR        0x0018

/* flow control */

#define        ISICOM_CTSRTS        0x03
#define        ISICOM_INITIATE_XONXOFF    0x04
#define        ISICOM_RESPOND_XONXOFF    0x08

#define InterruptTheCard(base) (outw(0,(base)+0xc)) 
#define ClearInterrupt(base) (inw((base)+0x0a))    

#define    BOARD(line)  (((line) >> 4) & 0x3)
#define MIN(a, b) ( (a) < (b) ? (a) : (b) )

    /*    isi kill queue bitmap    */
    
#define        ISICOM_KILLTX        0x01
#define        ISICOM_KILLRX        0x02

    /* isi_board status bitmap */
    
#define        FIRMWARE_LOADED        0x0001
#define        BOARD_ACTIVE        0x0002

     /* isi_port status bitmap  */

#define        ISI_CTS            0x1000
#define        ISI_DSR            0x2000
#define        ISI_RI            0x4000
#define        ISI_DCD            0x8000
#define        ISI_DTR            0x0100
#define        ISI_RTS            0x0200


#define        ISI_TXOK        0x0001 
 
struct    isi_board {
    unsigned short        base;
    unsigned char        irq;
    unsigned char        port_count;
    unsigned short        status;
    unsigned short        port_status; /* each bit represents a single port */
    unsigned short        shift_count;
    struct isi_port        * ports;
    signed char        count;
    unsigned char        isa;
};

struct    isi_port {
    unsigned short        magic;
    unsigned int        flags;
    int            count;
    int            blocked_open;
    int            close_delay;
    unsigned short        channel;
    unsigned short        status;
    unsigned short        closing_wait;
    long             session;
    long            pgrp;
    struct isi_board    * card;
    struct tty_struct     * tty;
    wait_queue_head_t    close_wait;
    wait_queue_head_t    open_wait;
    struct tq_struct    hangup_tq;
    struct tq_struct    bh_tqueue;
    unsigned char        * xmit_buf;
    int            xmit_head;
    int            xmit_tail;
    int            xmit_cnt;
    struct termios         normal_termios;
    struct termios        callout_termios;
};


/*
 *  ISI Card specific ops ...
 */
 
static inline void raise_dtr(struct isi_port * port)
{
    struct isi_board * card = port->card;
    unsigned short base = card->base;
    unsigned char channel = port->channel;
    short wait=400;
    while(((inw(base+0x0e) & 0x01) == 0) && (wait-- > 0));
    if (wait <= 0) {
        printk(KERN_WARNING "ISICOM: Card found busy in raise_dtr.\n");
        return;
    }
#ifdef ISICOM_DEBUG_DTR_RTS    
    printk(KERN_DEBUG "ISICOM: raise_dtr.\n");
#endif    
    outw(0x8000 | (channel << card->shift_count) | 0x02 , base);
    outw(0x0504, base);
    InterruptTheCard(base);
    port->status |= ISI_DTR;
}

static inline void drop_dtr(struct isi_port * port)
{    
    struct isi_board * card = port->card;
    unsigned short base = card->base;
    unsigned char channel = port->channel;
    short wait=400;
    while(((inw(base+0x0e) & 0x01) == 0) && (wait-- > 0));
    if (wait <= 0) {
        printk(KERN_WARNING "ISICOM: Card found busy in drop_dtr.\n");
        return;
    }
#ifdef ISICOM_DEBUG_DTR_RTS    
    printk(KERN_DEBUG "ISICOM: drop_dtr.\n");
#endif    
    outw(0x8000 | (channel << card->shift_count) | 0x02 , base);
    outw(0x0404, base);
    InterruptTheCard(base);    
    port->status &= ~ISI_DTR;
}
static inline void raise_rts(struct isi_port * port)
{
    struct isi_board * card = port->card;
    unsigned short base = card->base;
    unsigned char channel = port->channel;
    short wait=400;
    while(((inw(base+0x0e) & 0x01) == 0) && (wait-- > 0));
    if (wait <= 0) {
        printk(KERN_WARNING "ISICOM: Card found busy in raise_rts.\n");
        return;
    }
#ifdef ISICOM_DEBUG_DTR_RTS    
    printk(KERN_DEBUG "ISICOM: raise_rts.\n");
#endif    
    outw(0x8000 | (channel << card->shift_count) | 0x02 , base);
    outw(0x0a04, base);
    InterruptTheCard(base);    
    port->status |= ISI_RTS;
}
static inline void drop_rts(struct isi_port * port)
{
    struct isi_board * card = port->card;
    unsigned short base = card->base;
    unsigned char channel = port->channel;
    short wait=400;
    while(((inw(base+0x0e) & 0x01) == 0) && (wait-- > 0));
    if (wait <= 0) {
        printk(KERN_WARNING "ISICOM: Card found busy in drop_rts.\n");
        return;
    }
#ifdef ISICOM_DEBUG_DTR_RTS    
    printk(KERN_DEBUG "ISICOM: drop_rts.\n");
#endif    
    outw(0x8000 | (channel << card->shift_count) | 0x02 , base);
    outw(0x0804, base);
    InterruptTheCard(base);    
    port->status &= ~ISI_RTS;
}
static inline void raise_dtr_rts(struct isi_port * port)
{
    struct isi_board * card = port->card;
    unsigned short base = card->base;
    unsigned char channel = port->channel;
    short wait=400;
    while(((inw(base+0x0e) & 0x01) == 0) && (wait-- > 0));
    if (wait <= 0) {
        printk(KERN_WARNING "ISICOM: Card found busy in raise_dtr_rts.\n");
        return;
    }
#ifdef ISICOM_DEBUG_DTR_RTS    
    printk(KERN_DEBUG "ISICOM: raise_dtr_rts.\n");
#endif    
    outw(0x8000 | (channel << card->shift_count) | 0x02 , base);
    outw(0x0f04, base);
    InterruptTheCard(base);
    port->status |= (ISI_DTR | ISI_RTS);
}
static inline void drop_dtr_rts(struct isi_port * port)
{
    struct isi_board * card = port->card;
    unsigned short base = card->base;
    unsigned char channel = port->channel;
    short wait=400;
    while(((inw(base+0x0e) & 0x01) == 0) && (wait-- > 0));
    if (wait <= 0) {
        printk(KERN_WARNING "ISICOM: Card found busy in drop_dtr_rts.\n");
        return;
    }
#ifdef ISICOM_DEBUG_DTR_RTS    
    printk(KERN_DEBUG "ISICOM: drop_dtr_rts.\n");
#endif    
    outw(0x8000 | (channel << card->shift_count) | 0x02 , base);
    outw(0x0c04, base);
    InterruptTheCard(base);    
    port->status &= ~(ISI_RTS | ISI_DTR);
}

static inline void kill_queue(struct isi_port * port, short queue)
{
    struct isi_board * card = port->card;
    unsigned short base = card->base;
    unsigned char channel = port->channel;
    short wait=400;
    while(((inw(base+0x0e) & 0x01) == 0) && (wait-- > 0));
    if (wait <= 0) {
        printk(KERN_WARNING "ISICOM: Card found busy in kill_queue.\n");
        return;
    }
#ifdef ISICOM_DEBUG    
    printk(KERN_DEBUG "ISICOM: kill_queue 0x%x.\n", queue);
#endif    
    outw(0x8000 | (channel << card->shift_count) | 0x02 , base);
    outw((queue << 8) | 0x06, base);
    InterruptTheCard(base);    
}

#endif    /*    __KERNEL__    */

#endif    /*    ISICOM_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.0044 ]--