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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [rc203soc/] [sw/] [uClinux/] [drivers/] [scsi/] [gdth_ioctl.h] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1626 jcastillo
#ifndef _GDTH_IOCTL_H
2
#define _GDTH_IOCTL_H
3
 
4
/* gdth_ioctl.h
5
 * $Id: gdth_ioctl.h,v 1.1 2005-12-20 10:17:45 jcastillo Exp $
6
 */
7
 
8
/* IOCTLs */
9
#define GDTIOCTL_MASK       ('J'<<8)
10
#define GDTIOCTL_GENERAL    (GDTIOCTL_MASK | 0) /* general IOCTL */
11
#define GDTIOCTL_DRVERS     (GDTIOCTL_MASK | 1) /* get driver version */
12
#define GDTIOCTL_CTRTYPE    (GDTIOCTL_MASK | 2) /* get controller type */
13
#define GDTIOCTL_OSVERS     (GDTIOCTL_MASK | 3) /* get OS version */
14
#define GDTIOCTL_CTRCNT     (GDTIOCTL_MASK | 5) /* get controller count */
15
#define GDTIOCTL_LOCKDRV    (GDTIOCTL_MASK | 6) /* lock host drive */
16
#define GDTIOCTL_LOCKCHN    (GDTIOCTL_MASK | 7) /* lock channel */
17
#define GDTIOCTL_EVENT      (GDTIOCTL_MASK | 8) /* read controller events */
18
 
19
#define GDTIOCTL_MAGIC      0x06030f07UL
20
 
21
 
22
/* IOCTL structure (write) */
23
typedef struct {
24
    ulong                   magic;              /* IOCTL magic */
25
    ushort                  ioctl;              /* IOCTL */
26
    ushort                  ionode;             /* controller number */
27
    ushort                  service;            /* controller service */
28
    ushort                  timeout;            /* timeout */
29
    union {
30
        struct {
31
            unchar          command[512];       /* controller command */
32
            unchar          data[1];            /* add. data */
33
        } general;
34
        struct {
35
            unchar          lock;               /* lock/unlock */
36
            unchar          drive_cnt;          /* drive count */
37
            ushort          drives[35];         /* drives */
38
        } lockdrv;
39
        struct {
40
            unchar          lock;               /* lock/unlock */
41
            unchar          channel;            /* channel */
42
        } lockchn;
43
        struct {
44
            int             erase;              /* erase event ? */
45
            int             handle;
46
        } event;
47
    } iu;
48
} gdth_iowr_str;
49
 
50
/* IOCTL structure (read) */
51
typedef struct {
52
    ulong                   size;               /* buffer size */
53
    ulong                   status;             /* IOCTL error code */
54
    union {
55
        struct {
56
            unchar          data[1];            /* data */
57
        } general;
58
        struct {
59
            ushort          version;            /* driver version */
60
        } drvers;
61
        struct {
62
            unchar          type;               /* controller type */
63
            ushort          info;               /* slot etc. */
64
            ushort          oem_id;             /* OEM ID */
65
            ushort          bios_ver;           /* not used */
66
            ushort          access;             /* not used */
67
            ushort          ext_type;           /* extended type */
68
        } ctrtype;
69
        struct {
70
            unchar          version;            /* OS version */
71
            unchar          subversion;         /* OS subversion */
72
            ushort          revision;           /* revision */
73
        } osvers;
74
        struct {
75
            ushort          count;              /* controller count */
76
        } ctrcnt;
77
        struct {
78
            int             handle;
79
            unchar          evt[32];            /* event structure */
80
        } event;
81
    } iu;
82
} gdth_iord_str;
83
 
84
 
85
#endif
86
 

powered by: WebSVN 2.1.0

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