X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=hardware%2Falsa%2Fprotocol.h;h=d8688929015b2825cc8d8828ac8024455d9e4aca;hb=fe9d5abefcebb3a382d990e069d93c28e9541e35;hp=61aafb384cb1e58835fac50a5c6c2f2862126aca;hpb=6944b2d02f23cf562574d3d1b37a2d698bdbde4e;p=libsigrok.git diff --git a/hardware/alsa/protocol.h b/hardware/alsa/protocol.h index 61aafb38..d8688929 100644 --- a/hardware/alsa/protocol.h +++ b/hardware/alsa/protocol.h @@ -23,20 +23,12 @@ #ifndef LIBSIGROK_HARDWARE_ALSA_PROTOCOL_H #define LIBSIGROK_HARDWARE_ALSA_PROTOCOL_H +#include +#include #include "libsigrok.h" #include "libsigrok-internal.h" -#include -#include - -/* Message logging helpers with driver-specific prefix string. */ -#define DRIVER_LOG_DOMAIN "alsa: " -#define sr_log(l, s, args...) sr_log(l, DRIVER_LOG_DOMAIN s, ## args) -#define sr_spew(s, args...) sr_spew(DRIVER_LOG_DOMAIN s, ## args) -#define sr_dbg(s, args...) sr_dbg(DRIVER_LOG_DOMAIN s, ## args) -#define sr_info(s, args...) sr_info(DRIVER_LOG_DOMAIN s, ## args) -#define sr_warn(s, args...) sr_warn(DRIVER_LOG_DOMAIN s, ## args) -#define sr_err(s, args...) sr_err(DRIVER_LOG_DOMAIN s, ## args) +#define LOG_PREFIX "alsa" /** Private, per-device-instance driver context. */ struct dev_context { @@ -44,15 +36,17 @@ struct dev_context { uint64_t limit_samples; uint64_t num_samples; uint8_t num_probes; - const char *hwdev; + uint64_t *samplerates; + char *hwdev; snd_pcm_t *capture_handle; snd_pcm_hw_params_t *hw_params; struct pollfd *ufds; void *cb_data; }; -SR_PRIV GSList *alsa_scan(GSList *options, struct sr_dev_driver *di); -SR_PRIV void alsa_dev_inst_clear(struct sr_dev_inst *sdi); +SR_PRIV GSList *alsa_scan(GSList *options, struct sr_dev_driver *di); +SR_PRIV int alsa_set_samplerate(const struct sr_dev_inst *sdi, + uint64_t newrate); SR_PRIV int alsa_receive_data(int fd, int revents, void *cb_data); -#endif /* LIBSIGROK_HARDWARE_ALSA_PROTOCOL_H */ +#endif