/* $Id: snd_if.h,v 1.2 2008/08/30 17:27:58 mtrillo Exp $ */ #ifndef DEV_SND_IF_H #define DEV_SND_IF_H #include #include typedef void (*snd_postproc_t)(void *, u_char *, u_int); struct snd_hw_if { int (*set_params)(void *, u_int, struct snd_spec *, snd_postproc_t *, void **); kmutex_t* (*get_mutex)(void *); u_int (*round_buffersize)(void *, u_int, u_int); u_int (*round_blocksize)(void *, u_int, u_int); void* (*allocm)(void *, u_int, u_int, int); int (*trigger_output)(void *, void *, void *, u_int, void (*)(void *), void *); int (*trigger_input)(void *, void *, void *, u_int, void (*)(void *), void *); void (*halt_output)(void *); void (*halt_input)(void *); void (*freem)(void *, void *); int (*getdev)(void *, struct snd_device *); /* Mixer (in/out ports) */ int (*set_port)(void *, mixer_ctrl_t *); int (*get_port)(void *, mixer_ctrl_t *); int (*query_devinfo)(void *, mixer_devinfo_t *); }; #define SND_MAGIC 0x534e4423 struct snd_attach_args { u_int sa_magic; const struct snd_hw_if *sa_hw; void *sa_hw_arg; }; #endif // DEV_SND_IF_H