#ifndef __CD_LL_LINUX_H
#define __CD_LL_LINUX_H

#include "cd_ll.h"

// linux implementation of lowlevel cd functions

class cd_ll_linux : public cd_ll {
public:
    cd_ll_linux();
    ~cd_ll_linux();
    void open(void);
    void close(void);
    bool is_open(void);
    int read_toc_header(cd_ll_toc_header* toc_hdr);
    int read_status(cd_ll_status* st);
    int start(void);
    int play(cd_ll_tracks* t);
    int stop(void);
    int pause(void);
    int resume(void);
    int eject(void);
    int set_volume(cd_ll_volume* vol);
    int read_volume(cd_ll_volume* vol);
private:
    int m_fd;             // file descriptor
};


#endif // __CD_LL_LINUX_H
