[BACK]Return to ataio.h CVS log [TXT][DIR] Up to [local] / sys / sys

Annotation of sys/sys/ataio.h, Revision 1.1.1.1

1.1       nbrk        1: /*     $OpenBSD: ataio.h,v 1.5 2003/09/26 21:43:32 miod Exp $  */
                      2: /*     $NetBSD: ataio.h,v 1.2 1998/11/23 22:58:23 kenh Exp $   */
                      3:
                      4: #ifndef _SYS_ATAIO_H_
                      5: #define _SYS_ATAIO_H_
                      6:
                      7: #include <sys/types.h>
                      8: #include <sys/ioctl.h>
                      9:
                     10: typedef struct atareq {
                     11:        u_long  flags;          /* info about the request status and type */
                     12:        u_char  command;        /* command code */
                     13:        u_char  features;       /* feature modifier bits for command */
                     14:        u_char  sec_count;      /* sector count */
                     15:        u_char  sec_num;        /* sector number */
                     16:        u_char  head;           /* head number */
                     17:        u_short cylinder;       /* cylinder/lba address */
                     18:
                     19:        caddr_t databuf;        /* pointer to I/O data buffer */
                     20:        u_long  datalen;        /* length of data buffer */
                     21:        int     timeout;        /* command timeout */
                     22:        u_char  retsts;         /* return status for the command */
                     23:        u_char  error;          /* error bits */
                     24: } atareq_t;
                     25:
                     26: /* bit definitions for flags */
                     27: #define ATACMD_READ            0x00000001
                     28: #define ATACMD_WRITE           0x00000002
                     29: #define ATACMD_READREG         0x00000004
                     30:
                     31: /* definitions for the return status (retsts) */
                     32: #define ATACMD_OK      0x00
                     33: #define ATACMD_TIMEOUT 0x01
                     34: #define ATACMD_ERROR   0x02
                     35: #define ATACMD_DF      0x03
                     36:
                     37: #define ATAIOCCOMMAND  _IOWR('Q', 8, atareq_t)
                     38:
                     39: typedef struct atagettrace {
                     40:        unsigned int    buf_size;       /* length of data buffer */
                     41:        void            *buf;           /* pointer to data buffer */
                     42:        unsigned int    bytes_copied;   /* number of bytes copied to buffer */
                     43:        unsigned int    bytes_left;     /* number of bytes left */
                     44: } atagettrace_t;
                     45:
                     46: #define ATAIOGETTRACE  _IOWR('Q', 27, struct atagettrace)
                     47:
                     48: #endif /* _SYS_ATAIO_H_ */

CVSweb