!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/net/   drwxr-xr-x
Free 318.34 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:     3c505.h (6.41 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/*****************************************************************
 *
 *  defines for 3Com Etherlink Plus adapter
 *
 *****************************************************************/

#define ELP_DMA       6
#define ELP_RX_PCBS   4
#define ELP_MAX_CARDS 4

/*
 * I/O register offsets
 */
#define    PORT_COMMAND    0x00    /* read/write, 8-bit */
#define    PORT_STATUS    0x02    /* read only, 8-bit */
#define    PORT_AUXDMA    0x02    /* write only, 8-bit */
#define    PORT_DATA    0x04    /* read/write, 16-bit */
#define    PORT_CONTROL    0x06    /* read/write, 8-bit */

#define ELP_IO_EXTENT    0x10    /* size of used IO registers */

/*
 * host control registers bits
 */
#define    ATTN    0x80    /* attention */
#define    FLSH    0x40    /* flush data register */
#define DMAE    0x20    /* DMA enable */
#define DIR    0x10    /* direction */
#define    TCEN    0x08    /* terminal count interrupt enable */
#define    CMDE    0x04    /* command register interrupt enable */
#define    HSF2    0x02    /* host status flag 2 */
#define    HSF1    0x01    /* host status flag 1 */

/*
 * combinations of HSF flags used for PCB transmission
 */
#define    HSF_PCB_ACK    HSF1
#define    HSF_PCB_NAK    HSF2
#define    HSF_PCB_END    (HSF2|HSF1)
#define    HSF_PCB_MASK    (HSF2|HSF1)

/*
 * host status register bits
 */
#define    HRDY    0x80    /* data register ready */
#define    HCRE    0x40    /* command register empty */
#define    ACRF    0x20    /* adapter command register full */
/* #define DIR     0x10    direction - same as in control register */
#define    DONE    0x08    /* DMA done */
#define    ASF3    0x04    /* adapter status flag 3 */
#define    ASF2    0x02    /* adapter status flag 2 */
#define    ASF1    0x01    /* adapter status flag 1 */

/*
 * combinations of ASF flags used for PCB reception
 */
#define    ASF_PCB_ACK    ASF1
#define    ASF_PCB_NAK    ASF2
#define    ASF_PCB_END    (ASF2|ASF1)
#define    ASF_PCB_MASK    (ASF2|ASF1)

/*
 * host aux DMA register bits
 */
#define    DMA_BRST    0x01    /* DMA burst */

/*
 * maximum amount of data allowed in a PCB
 */
#define    MAX_PCB_DATA    62

/*****************************************************************
 *
 *  timeout value
 *    this is a rough value used for loops to stop them from 
 *    locking up the whole machine in the case of failure or
 *    error conditions
 *
 *****************************************************************/

#define    TIMEOUT    300

/*****************************************************************
 *
 * PCB commands
 *
 *****************************************************************/

enum {
  /*
   * host PCB commands
   */
  CMD_CONFIGURE_ADAPTER_MEMORY    = 0x01,
  CMD_CONFIGURE_82586        = 0x02,
  CMD_STATION_ADDRESS        = 0x03,
  CMD_DMA_DOWNLOAD        = 0x04,
  CMD_DMA_UPLOAD        = 0x05,
  CMD_PIO_DOWNLOAD        = 0x06,
  CMD_PIO_UPLOAD        = 0x07,
  CMD_RECEIVE_PACKET        = 0x08,
  CMD_TRANSMIT_PACKET        = 0x09,
  CMD_NETWORK_STATISTICS    = 0x0a,
  CMD_LOAD_MULTICAST_LIST    = 0x0b,
  CMD_CLEAR_PROGRAM        = 0x0c,
  CMD_DOWNLOAD_PROGRAM        = 0x0d,
  CMD_EXECUTE_PROGRAM        = 0x0e,
  CMD_SELF_TEST            = 0x0f,
  CMD_SET_STATION_ADDRESS    = 0x10,
  CMD_ADAPTER_INFO        = 0x11,
  NUM_TRANSMIT_CMDS,

  /*
   * adapter PCB commands
   */
  CMD_CONFIGURE_ADAPTER_RESPONSE    = 0x31,
  CMD_CONFIGURE_82586_RESPONSE        = 0x32,
  CMD_ADDRESS_RESPONSE            = 0x33,
  CMD_DOWNLOAD_DATA_REQUEST        = 0x34,
  CMD_UPLOAD_DATA_REQUEST        = 0x35,
  CMD_RECEIVE_PACKET_COMPLETE        = 0x38,
  CMD_TRANSMIT_PACKET_COMPLETE        = 0x39,
  CMD_NETWORK_STATISTICS_RESPONSE    = 0x3a,
  CMD_LOAD_MULTICAST_RESPONSE        = 0x3b,
  CMD_CLEAR_PROGRAM_RESPONSE        = 0x3c,
  CMD_DOWNLOAD_PROGRAM_RESPONSE        = 0x3d,
  CMD_EXECUTE_RESPONSE            = 0x3e,
  CMD_SELF_TEST_RESPONSE        = 0x3f,
  CMD_SET_ADDRESS_RESPONSE        = 0x40,
  CMD_ADAPTER_INFO_RESPONSE        = 0x41
};

/* Definitions for the PCB data structure */

/* Data units */
typedef unsigned char         byte;
typedef unsigned short int    word;
typedef unsigned long int     dword;

/* Data structures */
struct Memconf {
    word    cmd_q,
        rcv_q,
        mcast,
        frame,
        rcv_b,
        progs;
};

struct Rcv_pkt {
    word    buf_ofs,
        buf_seg,
        buf_len,
        timeout;
};

struct Xmit_pkt {
    word    buf_ofs,
        buf_seg,
        pkt_len;
};

struct Rcv_resp {
    word    buf_ofs,
        buf_seg,
        buf_len,
        pkt_len,
        timeout,
        status;
    dword    timetag;
};

struct Xmit_resp {
    word    buf_ofs,
        buf_seg,
        c_stat,
        status;
};


struct Netstat {
    dword    tot_recv,
        tot_xmit;
    word    err_CRC,
        err_align,
        err_res,
        err_ovrrun;
};


struct Selftest {
    word    error;
    union {
        word ROM_cksum;
        struct {
            word ofs, seg;
        } RAM;
        word i82586;
    } failure;
};

struct Info {
    byte    minor_vers,
        major_vers;
    word    ROM_cksum,
        RAM_sz,
        free_ofs,
        free_seg;
};

struct Memdump {
       word size,
            off,
            seg;
};

/*
Primary Command Block. The most important data structure. All communication
between the host and the adapter is done with these. (Except for the actual
Ethernet data, which has different packaging.)
*/
typedef struct {
    byte    command;
    byte    length;
    union    {
        struct Memconf        memconf;
        word            configure;
        struct Rcv_pkt        rcv_pkt;
        struct Xmit_pkt        xmit_pkt;
        byte            multicast[10][6];
        byte            eth_addr[6];
        byte            failed;
        struct Rcv_resp        rcv_resp;
        struct Xmit_resp    xmit_resp;
        struct Netstat        netstat;
        struct Selftest        selftest;
        struct Info        info;
        struct Memdump        memdump;
        byte            raw[62];
    } data;
} pcb_struct;

/* These defines for 'configure' */
#define RECV_STATION    0x00
#define RECV_BROAD    0x01
#define RECV_MULTI    0x02
#define RECV_PROMISC    0x04
#define NO_LOOPBACK    0x00
#define INT_LOOPBACK    0x08
#define EXT_LOOPBACK    0x10

/*****************************************************************
 *
 *  structure to hold context information for adapter
 *
 *****************************************************************/

#define DMA_BUFFER_SIZE  1600
#define BACKLOG_SIZE      4

typedef struct {
    volatile short got[NUM_TRANSMIT_CMDS];    /* flags for
                           command completion */
    pcb_struct tx_pcb;    /* PCB for foreground sending */
    pcb_struct rx_pcb;    /* PCB for foreground receiving */
    pcb_struct itx_pcb;    /* PCB for background sending */
    pcb_struct irx_pcb;    /* PCB for background receiving */
    struct net_device_stats stats;

    void *dma_buffer;

    struct {
        unsigned int length[BACKLOG_SIZE];
        unsigned int in;
        unsigned int out;
    } rx_backlog;

    struct {
        unsigned int direction;
        unsigned int length;
        struct sk_buff *skb;
            void *target;
        long int start_time;
    } current_dma;

    /* flags */
    unsigned long send_pcb_semaphore;
    unsigned long dmaing;
    unsigned long busy;

    unsigned int rx_active;  /* number of receive PCBs */
        volatile unsigned char hcr_val;  /* what we think the HCR contains */
        spinlock_t lock;    /* Interrupt v tx lock */
} elp_device;

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