Annotation of Net2/sys/cdio.h, revision 1.1

1.1     ! root        1: /*
        !             2:  *
        !             3:  * PATCHES MAGIC                LEVEL   PATCH THAT GOT US HERE
        !             4:  * --------------------         -----   ----------------------
        !             5:  * CURRENT PATCH LEVEL:         1       00098
        !             6:  * --------------------         -----   ----------------------
        !             7:  *
        !             8:  * 16 Feb 93   Julian Elischer         ADDED for SCSI system
        !             9:  */
        !            10: /* Shared between kernel & process */
        !            11: 
        !            12: struct cd_toc_entry {
        !            13:        u_char  :8;
        !            14:        u_char  control:4;
        !            15:        u_char  addr_type:4;
        !            16:        u_char  track;
        !            17:        u_char  :8;
        !            18:        u_char  addr[4];
        !            19: };
        !            20: 
        !            21: struct cd_sub_channel_header {
        !            22:        u_char  :8;   
        !            23:        u_char  audio_status; 
        !            24: #define CD_AS_AUDIO_INVALID        0x00
        !            25: #define CD_AS_PLAY_IN_PROGRESS     0x11
        !            26: #define CD_AS_PLAY_PAUSED          0x12
        !            27: #define CD_AS_PLAY_COMPLETED       0x13
        !            28: #define CD_AS_PLAY_ERROR           0x14
        !            29: #define CD_AS_NO_STATUS            0x15
        !            30:        u_char  data_len[2];
        !            31: };
        !            32: 
        !            33: struct cd_sub_channel_position_data {
        !            34:        u_char  data_format;
        !            35:        u_char  control:4;
        !            36:        u_char  addr_type:4;
        !            37:        u_char  track_number;
        !            38:        u_char  index_number;
        !            39:        u_char  absaddr[4];
        !            40:        u_char  reladdr[4];
        !            41: };
        !            42: 
        !            43: struct cd_sub_channel_media_catalog {
        !            44:         u_char  data_format;
        !            45:         u_char  :8;
        !            46:         u_char  :8;
        !            47:         u_char  :8;
        !            48:         u_char  :7;
        !            49:         u_char  mc_valid:1;
        !            50:         u_char  mc_number[15]; 
        !            51: };
        !            52: 
        !            53: struct cd_sub_channel_track_info {
        !            54:         u_char  data_format;
        !            55:         u_char  :8;
        !            56:         u_char  track_number;
        !            57:         u_char  :8;
        !            58:         u_char  :7;
        !            59:         u_char  ti_valid:1;   
        !            60:         u_char  ti_number[15]; 
        !            61: };
        !            62: 
        !            63: struct cd_sub_channel_info {
        !            64:        struct cd_sub_channel_header header;
        !            65:        union {
        !            66:                struct cd_sub_channel_position_data position;
        !            67:                struct cd_sub_channel_media_catalog media_catalog;
        !            68:                struct cd_sub_channel_track_info track_info;    
        !            69:        } what;
        !            70: };
        !            71: 
        !            72: /***************************************************************\
        !            73: * Ioctls for the CD drive                                      *
        !            74: \***************************************************************/
        !            75: struct ioc_play_track
        !            76: {
        !            77:        u_char  start_track;
        !            78:        u_char  start_index;
        !            79:        u_char  end_track;
        !            80:        u_char  end_index;
        !            81: };
        !            82: 
        !            83: #define        CDIOCPLAYTRACKS _IOW('c',1,struct ioc_play_track)
        !            84: struct ioc_play_blocks
        !            85: {
        !            86:        int     blk;
        !            87:        int     len;
        !            88: };
        !            89: #define        CDIOCPLAYBLOCKS _IOW('c',2,struct ioc_play_blocks)
        !            90: 
        !            91: struct ioc_read_subchannel {
        !            92:        u_char address_format;
        !            93: #define CD_LBA_FORMAT  1
        !            94: #define CD_MSF_FORMAT  2
        !            95:        u_char data_format;
        !            96: #define CD_SUBQ_DATA           0
        !            97: #define CD_CURRENT_POSITION    1
        !            98: #define CD_MEDIA_CATALOG       2
        !            99: #define CD_TRACK_INFO          3
        !           100:        u_char track;
        !           101:        int     data_len;
        !           102:        struct  cd_sub_channel_info *data;
        !           103: };
        !           104: #define CDIOCREADSUBCHANNEL _IOWR('c', 3 , struct ioc_read_subchannel )
        !           105: 
        !           106: 
        !           107: struct ioc_toc_header {
        !           108:        u_short len;
        !           109:        u_char  starting_track;
        !           110:        u_char  ending_track;
        !           111: };
        !           112: 
        !           113: #define CDIOREADTOCHEADER _IOR('c',4,struct ioc_toc_header)
        !           114: 
        !           115: struct ioc_read_toc_entry {
        !           116:        u_char  address_format;
        !           117:        u_char  starting_track;
        !           118:        u_short data_len;
        !           119:        struct  cd_toc_entry *data;
        !           120: };
        !           121: #define CDIOREADTOCENTRYS _IOWR('c',5,struct ioc_read_toc_entry)
        !           122: 
        !           123: struct ioc_patch
        !           124: {
        !           125:        u_char  patch[4];       /* one for each channel */
        !           126: };
        !           127: #define        CDIOCSETPATCH   _IOW('c',9,struct ioc_patch)
        !           128: struct ioc_vol
        !           129: {
        !           130:        u_char  vol[4]; /* one for each channel */
        !           131: };
        !           132: #define        CDIOCGETVOL     _IOR('c',10,struct ioc_vol)
        !           133: #define        CDIOCSETVOL     _IOW('c',11,struct ioc_vol)
        !           134: #define        CDIOCSETMONO    _IO('c',12)
        !           135: #define        CDIOCSETSTERIO  _IO('c',13)
        !           136: #define        CDIOCSETMUTE    _IO('c',14)
        !           137: #define        CDIOCSETLEFT    _IO('c',15)
        !           138: #define        CDIOCSETRIGHT   _IO('c',16)
        !           139: #define        CDIOCSETDEBUG   _IO('c',17)
        !           140: #define        CDIOCCLRDEBUG   _IO('c',18)
        !           141: #define        CDIOCPAUSE      _IO('c',19)
        !           142: #define        CDIOCRESUME     _IO('c',20)
        !           143: #define        CDIOCRESET      _IO('c',21)
        !           144: #define        CDIOCSTART      _IO('c',22)
        !           145: #define        CDIOCSTOP       _IO('c',23)
        !           146: #define        CDIOCEJECT      _IO('c',24)
        !           147: 
        !           148: 
        !           149: 

unix.superglobalmegacorp.com

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