Subversion Repositories shark

Rev

Rev 2 | Rev 80 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

#include "semaphore.h"


typedef struct sb_device {
    DWORD BaseAddress;
    BYTE IntLine;
    BYTE DMA8Channel;
    BYTE DMA16Channel;
    BYTE DSPVersionM;
    BYTE DSPVersionm;
//    WORD period;
//    BYTE pwarning;
    TASK_MODEL *m;
} SB_DEVICE;

typedef struct sound_buffer {
    sem_t synchr;
    BYTE synch;
    struct dma_buff *sound_dma;
    int (*fun)(struct dma_buff *buff);
} SOUND_BUFFER;

typedef struct rawfuncs {
    int (*infun)(void *rawbuffer);
    BYTE infunpresent;
    int (*outfun)(void *rawbuffer);
    BYTE outfunpresent;
} RAWFUNCS;

void sb_spkoff (void);
void sb_spkon (void);
int sb_init (void); // return 0 if ok or ENODEV otherwise
void sbmixer_setmiclev(BYTE level);
void sbmixer_setoutput(BYTE in, BYTE onoff);
void sbmixer_setinput(BYTE in, BYTE onoff);
void sbmixer_reset(void);
void sbmixer_setingainlev(BYTE level);
void sbmixer_setAGC(BYTE onoff);
void sb_setrate (int sps, BYTE i_o);
void sb_dmaop(BYTE i_o);
void sb_dma16op(BYTE i_o);
void sb_dmabuffop(BYTE i_o);
void sb_dma16buffop(BYTE i_o);
void sb_stopdsp(BYTE b);
void sb_show(void);