Annotation of coherent/f/usr/include/sys/hdioctl.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * /usr/include/sys/hdioctl.h
                      3:  *
                      4:  * Ioctl support for hard disk devices.
                      5:  *
                      6:  * Revised: Sun Aug  1 17:24:39 1993 CDT
                      7:  */
                      8: #ifndef __SYS_HDIOCTL_H__
                      9: #define        __SYS_HDIOCTL_H__
                     10: 
                     11: #define        HDIOC   ('H' << 8)
                     12: #define        HDGETA  (HDIOC|1)       /* get drive attributes */
                     13: #define        HDSETA  (HDIOC|2)       /* set drive attributes */
                     14: 
                     15: /*
                     16:  * Drive attributes
                     17:  * Note: all fields defined as bytes to prevent compiler arith probs.
                     18:  *     All multi-byte fields are stored low-byte first.
                     19:  * This struct is configured for binary compatibility with ROM data!
                     20:  */
                     21: typedef struct hdparm_s {
                     22:        unsigned char   ncyl[2];        /* number of cylinders */
                     23:        unsigned char   nhead;          /* number heads */
                     24:        unsigned char   rwccp[2];       /* reduced write curr cyl */
                     25:        unsigned char   wpcc[2];        /* write pre-compensation cyl */
                     26:        unsigned char   eccl;           /* max ecc data length */
                     27:        unsigned char   ctrl;           /* control byte */
                     28:        unsigned char   fill2[3];
                     29:        unsigned char   landc[2];       /* landing zone cylinder */
                     30:        unsigned char   nspt;           /* number of sectors per track */
                     31:        unsigned char   hdfill3;
                     32: } hdparm_t;
                     33: 
                     34: /* Macro for initializing drive parameter tables. */
                     35: #define _HDPARMS(cyl,hd,spt,ctl,pcomp) { \
                     36:        { (cyl) & 0xFF, (cyl) >> 8 }, hd, { 0, 0 }, \
                     37:        { (pcomp) & 0xFF, (pcomp) >> 8 }, 0, ctl, \
                     38:        { 0, 0, 0 }, { 0 , 0 }, spt, 0 }
                     39: 
                     40: /* Convert from a 2-element unsigned char array to unsigned short. */
                     41: #define _CHAR2_TO_USHORT(c_array)      \
                     42:        ((unsigned short) ((c_array)[1] << 8) | (c_array)[0])
                     43: 
                     44: /* Copy number into a 2-element unsigned char array. */
                     45: #define _NUM_TO_CHAR2(c_array, num) \
                     46:        (((c_array)[0] = num & 0xFF), ((c_array)[1] = num >> 8))
                     47: 
                     48: #if __KERNEL__
                     49: #define N_ATDRV        2                       /* only two drives supported */
                     50: #endif
                     51: 
                     52: #endif /* ndef __SYS_HDIOCTL_H__ */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.