*BSD News Article 57717


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!news.cs.su.oz.au!metro!munnari.OZ.AU!spool.mu.edu!howland.reston.ans.net!agate!news.ucdavis.edu!quadrophenia.ucdavis.edu!ccjason
From: ccjason@quadrophenia.ucdavis.edu (Jason Gabler)
Newsgroups: comp.unix.bsd.freebsd.misc
Subject: [BUG] IOCTL/CDIO bad audio status report?
Date: 17 Dec 1995 11:11:15 GMT
Organization: University of California, Davis
Lines: 52
Message-ID: <4b0tsj$7rp@mark.ucdavis.edu>
NNTP-Posting-Host: quadrophenia.ucdavis.edu
X-Newsreader: TIN [version 1.2 PL2]


I've been doing extensive ioctl programming for cd-rom player
hardware.  All of the ioctl calls I have use so far (e.g. play,
track status, eject, et. al. have worked beautifully.  So
I am assuming I do infact know what I am doing :)

However, one call that I thought would be simple, do a CDIOCREADSUBCHANNEL
and read the audio_status.

Here's my little function:

int get_cd_status()
{
        struct ioc_read_subchannel sub_chan_info;
        ioctl(fd, CDIOCREADSUBCHANNEL,  (char *)&sub_chan_info);
        return((int)sub_chan_info.data->header.audio_status);
}

sub_chan_info.data->header.audio_status is actually a "u_char", so I might
be missing something here.  But... this call ALWAYS returns 0xc4

hmmmm...

here's the sub struct in sys/cdio.h

struct cd_sub_channel_header {
        u_char  :8;
        u_char  audio_status;
#define CD_AS_AUDIO_INVALID        0x00
#define CD_AS_PLAY_IN_PROGRESS     0x11
#define CD_AS_PLAY_PAUSED          0x12
#define CD_AS_PLAY_COMPLETED       0x13
#define CD_AS_PLAY_ERROR           0x14
#define CD_AS_NO_STATUS            0x15
        u_char  data_len[2];  
};      

*Any* ideas?


--
Vale,
 		jason 

.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,
` Jason Gabler                              jygabler@ucdavis.edu       `
' campus office: 916-752-9215               home office: 415-752-1969  '
' Distributed Computing Analysis & Support, Information Technology, UCD'  
'----------------------------------------------------------------------`
` <http://quadrophnia.ucdavis.edu>   Kerberos/Security   Telecommuting '
'    X Windows    BSD   Dist.-Environments   ISDN   E-mail Integrity   `
`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'