Annotation of XNU/iokit/Families/IOCDDrive/IOCDAudioNubClient.h, revision 1.1.1.1

1.1       root        1: #ifndef _IOKIT_IOCDAUDIONUBCLIENT_H
                      2: #define _IOKIT_IOCDAUDIONUBCLIENT_H
                      3: 
                      4: #include <IOKit/IOUserClient.h>
                      5: 
                      6: enum {
                      7:     kTest = 0,
                      8:     kGetNumAudioTracks,
                      9:     kGetMSF,
                     10:     kPlayTrack,
                     11:     kPause,
                     12:     kResume,
                     13:     kGetVolume,
                     14:     kSetVolume,
                     15:     kGetAudioStatus,
                     16:     kPlayMSF,
                     17:     kMethods
                     18: };
                     19: 
                     20: class IOCDAudioNub;
                     21: 
                     22: class IOCDAudioNubClient : public IOUserClient
                     23: {
                     24:     OSDeclareDefaultStructors(IOCDAudioNubClient)
                     25: 
                     26: private:
                     27:     task_t             fTask;
                     28:     IOExternalMethod    fMethods[ kMethods ];
                     29:     IOCDAudioNub *      fOwner;
                     30: 
                     31: public:
                     32:     static IOCDAudioNubClient *withTask(task_t owningTask);
                     33:     virtual IOReturn clientClose( void );
                     34:     virtual IOReturn clientDied( void );
                     35: 
                     36:     virtual IOReturn registerNotificationPort(
                     37:                mach_port_t port, UInt32 type );
                     38: 
                     39:     virtual IOReturn connectClient( IOUserClient * client );
                     40: 
                     41:     virtual IOReturn clientMemoryForType( UInt32 type,
                     42:         UInt32 * flags, IOMemoryDescriptor ** memory );
                     43: 
                     44:     virtual IOExternalMethod * getExternalMethodForIndex( UInt32 index );
                     45: 
                     46:     virtual bool start( IOService * provider );
                     47: 
                     48:     virtual IOReturn CDAudioNubTest(UInt32 opcode,
                     49:         UInt32 operand1, UInt32 operand2, UInt32 *status);
                     50: 
                     51:     virtual IOReturn playTrack(UInt32 track, UInt32 *status);
                     52:     virtual IOReturn playMSF(UInt32 start_msf, UInt32 end_msf, UInt32 *status);
                     53:     virtual IOReturn getMSF(UInt32 track, UInt32 *status);
                     54:     virtual IOReturn getNumAudioTracks(UInt32 *status);
                     55:     virtual IOReturn pause(UInt32 *status);
                     56:     virtual IOReturn resume(UInt32 *status);
                     57:     virtual IOReturn getVolume(UInt32 *status);
                     58:     virtual IOReturn setVolume(UInt8 left, UInt8 right, UInt32 *status);
                     59:     virtual IOReturn getAudioStatus(UInt32 *status, UInt32 *absAddress,
                     60:                          UInt32 *relAddress, UInt32 *trackType);
                     61:     virtual IOReturn readHeader(UInt32 address, UInt32 *status);
                     62: };
                     63: 
                     64: #endif /* _IOKIT_IOCDAUDIONUBCLIENT_H */

unix.superglobalmegacorp.com

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