57 lines
1.7 KiB
C
57 lines
1.7 KiB
C
#ifndef __ADAPTER_ODEV_H__
|
|
#define __ADAPTER_ODEV_H__
|
|
|
|
#include "generic/typedef.h"
|
|
#include "adapter_odev_bt.h"
|
|
#include "adapter_media.h"
|
|
#include "wireless_mic_test.h"
|
|
#include "event.h"
|
|
|
|
enum adapter_odev_type {
|
|
ADAPTER_ODEV_BT = 0x0,
|
|
ADAPTER_ODEV_DAC,
|
|
ADAPTER_ODEV_USB,
|
|
};
|
|
|
|
enum {
|
|
ADAPTER_ODEV_PAUSE = 0x0,
|
|
ADAPTER_ODEV_PLAY,
|
|
};
|
|
|
|
struct odev {
|
|
u16 id;
|
|
int (*open)(void *);
|
|
int (*start)(void *, struct adapter_media *);
|
|
int (*stop)(void *);
|
|
int (*close)(void *);
|
|
int (*get_status)(void *);
|
|
int (*media_pp)(u8);
|
|
int (*media_prepare)(u8, int (*fun)(void *, u8, u8, void *), void *);
|
|
int (*event_fun)(struct sys_event *);
|
|
int (*config)(int cmd, void *parm);
|
|
int (*output)(void *, u8 *, u16);
|
|
};
|
|
|
|
struct odev *adapter_odev_open(u16 id, void *parm);
|
|
void adapter_odev_start(struct odev *dev, struct adapter_media *media);
|
|
void adapter_odev_stop(struct odev *dev);
|
|
void adapter_odev_close(struct odev *dev);
|
|
int adapter_odev_get_status(struct odev *dev);
|
|
int adapter_odev_media_pp(struct odev *dev, u8 pp);
|
|
int adapter_odev_media_prepare(struct odev *dev, u8 mode, int (*fun)(void *, u8, u8, void *), void *priv);
|
|
int adapter_odev_event_deal(struct odev *dev, struct sys_event *event);
|
|
void adapter_odev_config(struct odev *dev, int cmd, void *priv);
|
|
int adapter_odev_output(struct odev *dev, void *priv, u8 *buf, u16 len);
|
|
|
|
#define REGISTER_ADAPTER_ODEV(ops) \
|
|
const struct odev ops sec(.adapter_odev)
|
|
|
|
extern const struct odev adapter_odev_begin[];
|
|
extern const struct odev adapter_odev_end[];
|
|
|
|
#define list_for_each_adapter_odev(p) \
|
|
for (p = adapter_odev_begin; p < adapter_odev_end; p++)
|
|
|
|
#endif//__ADAPTER_ODEV_H__
|
|
|