OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [drivers/] [scsi/] [cpqfcTSioctl.h] - Blame information for rev 1275

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
// for user apps, make sure data size types are defined
2
// with 
3
 
4
 
5
#define CCPQFCTS_IOC_MAGIC 'Z'
6
 
7
typedef struct {
8
        __u8 bus;
9
        __u8 dev_fn;
10
        __u32 board_id;
11
} cpqfc_pci_info_struct;
12
 
13
typedef __u32 DriverVer_type;
14
 
15
/* this is nearly duplicated in idashare.h */
16
typedef struct {
17
        int lc;                 /* Controller number */
18
        int node;               /* Node (box) number */
19
        int ld;                 /* Logical Drive on this box, if required */
20
        __u32 nexus;            /* SCSI Nexus */
21
        void *argp;             /* Argument pointer */
22
} VENDOR_IOCTL_REQ;
23
 
24
 
25
typedef struct {
26
        char cdb[16];           /* SCSI CDB for the pass-through */
27
        ushort bus;             /* Target bus on the box */
28
        ushort pdrive;          /* Physical drive on the box */
29
        int len;                /* Length of the data area of the CDB */
30
        int sense_len;          /* Length of the sense data */
31
        char sense_data[40];    /* Sense data */
32
        void *bufp;             /* Data area for the CDB */
33
        char rw_flag;           /* Read CDB or Write CDB */
34
} cpqfc_passthru_t;
35
 
36
/*
37
 * Defines for the IOCTLS.
38
 */
39
 
40
#define VENDOR_READ_OPCODE                      0x26
41
#define VENDOR_WRITE_OPCODE                     0x27
42
 
43
#define CPQFCTS_GETPCIINFO _IOR( CCPQFCTS_IOC_MAGIC, 1, cpqfc_pci_info_struct)
44
#define CPQFCTS_GETDRIVVER _IOR( CCPQFCTS_IOC_MAGIC, 9, DriverVer_type)
45
 
46
#define CPQFCTS_SCSI_PASSTHRU _IOWR( CCPQFCTS_IOC_MAGIC,11, VENDOR_IOCTL_REQ)
47
 
48
/*
49
 *      We would rather have equivalent generic, low-level driver agnostic
50
 *      ioctls that do what CPQFC_IOCTL_FC_TARGET_ADDRESS and
51
 *      CPQFC_IOCTL_FC_TDR 0x5388 do, but currently, we do not have them,
52
 *      consequently applications would have to know they are talking to cpqfc.
53
 */
54
 
55
/*
56
 *      Used to get Fibre Channel WWN and port_id from device
57
 */
58
 
59
#define CPQFC_IOCTL_FC_TARGET_ADDRESS \
60
        _IOR( CCPQFCTS_IOC_MAGIC, 13, Scsi_FCTargAddress)
61
 
62
/*
63
 *      Used to invoke Target Defice Reset for Fibre Channel
64
 */
65
 
66
#define CPQFC_IOCTL_FC_TDR _IO( CCPQFCTS_IOC_MAGIC, 15)

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.