!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/fc4/   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:     fcp_impl.h (4.06 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* fcp_impl.h: Generic SCSI on top of FC4 - our interface defines.
 *
 * Copyright (C) 1997-1999 Jakub Jelinek (jj@ultra.linux.cz)
 * Copyright (C) 1998 Jirka Hanika (geo@ff.cuni.cz)
 */

#ifndef _FCP_SCSI_H
#define _FCP_SCSI_H

#include <linux/types.h>
#include <linux/blk.h>
#include "../scsi/scsi.h"

#include "fc.h"
#include "fcp.h"
#include "fc-al.h"

#include <asm/io.h>
#ifdef __sparc__
#include <asm/sbus.h>
#endif

/* 0 or 1 */
#define    FCP_SCSI_USE_NEW_EH_CODE    0

#define FC_CLASS_OUTBOUND    0x01
#define FC_CLASS_INBOUND    0x02
#define FC_CLASS_SIMPLE        0x03
#define FC_CLASS_IO_WRITE    0x04
#define FC_CLASS_IO_READ    0x05
#define FC_CLASS_UNSOLICITED    0x06
#define FC_CLASS_OFFLINE    0x08

#define PROTO_OFFLINE        0x02
#define PROTO_REPORT_AL_MAP    0x03
#define PROTO_FORCE_LIP        0x06

struct _fc_channel; 

typedef struct fcp_cmnd {
    struct fcp_cmnd        *next;
    struct fcp_cmnd        *prev;
    void            (*done)(Scsi_Cmnd *);
    unsigned short        proto;
    unsigned short        token;
    unsigned int        did;
    /* FCP SCSI stuff */
    dma_addr_t        data;
    /* From now on this cannot be touched for proto == TYPE_SCSI_FCP */
    fc_hdr            fch;
    dma_addr_t        cmd;
    dma_addr_t        rsp;
    int            cmdlen;
    int            rsplen;
    int            class;
    int            datalen;
    /* This is just used as a verification during login */
    struct _fc_channel    *fc;
    void            *ls;
} fcp_cmnd;

typedef struct {
    unsigned int        len;
    unsigned char        list[0];
} fcp_posmap;

typedef struct _fc_channel {
    struct _fc_channel    *next;
    int            irq;
    int            state;
    int            sid;
    int            did;
    char            name[16];
    void            (*fcp_register)(struct _fc_channel *, u8, int);
    void            (*reset)(struct _fc_channel *);
    int            (*hw_enque)(struct _fc_channel *, fcp_cmnd *);
    fc_wwn            wwn_node;
    fc_wwn            wwn_nport;
    fc_wwn            wwn_dest;
    common_svc_parm        *common_svc;
    svc_parm        *class_svcs;
#ifdef __sparc__    
    struct sbus_dev        *dev;
#else
    struct pci_dev        *dev;
#endif
    struct module        *module;
    /* FCP SCSI stuff */
    short            can_queue;
    short            abort_count;
    int            rsp_size;
    fcp_cmd            *scsi_cmd_pool;
    char            *scsi_rsp_pool;
    dma_addr_t        dma_scsi_cmd, dma_scsi_rsp;
    long            *scsi_bitmap;
    long            scsi_bitmap_end;
    int            scsi_free;
    int            (*encode_addr)(Scsi_Cmnd *, u16 *, struct _fc_channel *, fcp_cmnd *);
    fcp_cmnd        *scsi_que;
    char            scsi_name[4];
    fcp_cmnd        **cmd_slots;
    int            channels;
    int            targets;
    long            *ages;
    Scsi_Cmnd        *rst_pkt;
    fcp_posmap        *posmap;
    /* LOGIN stuff */
    fcp_cmnd        *login;
    void            *ls;
} fc_channel;

extern fc_channel *fc_channels;

#define FC_STATE_UNINITED    0
#define FC_STATE_ONLINE        1
#define FC_STATE_OFFLINE    2
#define FC_STATE_RESETING    3
#define FC_STATE_FPORT_OK    4
#define FC_STATE_MAYBEOFFLINE    5

#define FC_STATUS_OK            0
#define FC_STATUS_P_RJT            2
#define FC_STATUS_F_RJT            3
#define FC_STATUS_P_BSY            4
#define FC_STATUS_F_BSY            5
#define FC_STATUS_ERR_OFFLINE        0x11
#define FC_STATUS_TIMEOUT        0x12
#define FC_STATUS_ERR_OVERRUN        0x13
#define FC_STATUS_POINTTOPOINT        0x15
#define FC_STATUS_AL            0x16
#define FC_STATUS_UNKNOWN_CQ_TYPE    0x20
#define FC_STATUS_BAD_SEG_CNT        0x21
#define FC_STATUS_MAX_XCHG_EXCEEDED    0x22
#define FC_STATUS_BAD_XID        0x23
#define FC_STATUS_XCHG_BUSY        0x24
#define FC_STATUS_BAD_POOL_ID        0x25
#define FC_STATUS_INSUFFICIENT_CQES    0x26
#define FC_STATUS_ALLOC_FAIL        0x27
#define FC_STATUS_BAD_SID        0x28
#define FC_STATUS_NO_SEQ_INIT        0x29
#define FC_STATUS_TIMED_OUT        -1
#define FC_STATUS_BAD_RSP        -2

void fcp_queue_empty(fc_channel *);
int fcp_init(fc_channel *);
void fcp_release(fc_channel *fc_chain, int count);
void fcp_receive_solicited(fc_channel *, int, int, int, fc_hdr *);
void fcp_state_change(fc_channel *, int);
int fc_do_plogi(fc_channel *, unsigned char, fc_wwn *, fc_wwn *);
int fc_do_prli(fc_channel *, unsigned char);

#define for_each_fc_channel(fc)                \
    for (fc = fc_channels; fc; fc = fc->next)
    
#define for_each_online_fc_channel(fc)             \
    for_each_fc_channel(fc)                \
        if (fc->state == FC_STATE_ONLINE)

int fcp_scsi_queuecommand(Scsi_Cmnd *, void (* done)(Scsi_Cmnd *));
int fcp_old_abort(Scsi_Cmnd *);
int fcp_scsi_abort(Scsi_Cmnd *);
int fcp_scsi_dev_reset(Scsi_Cmnd *);
int fcp_scsi_bus_reset(Scsi_Cmnd *);
int fcp_scsi_host_reset(Scsi_Cmnd *);

#endif /* !(_FCP_SCSI_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.0248 ]--