X-Git-Url: https://sigrok.org/gitweb/?p=libsigrok.git;a=blobdiff_plain;f=hardware%2Falsa%2Fprotocol.h;h=465ebbaa8da7a1ec01dab337158e0959f1dcfb0d;hp=61aafb384cb1e58835fac50a5c6c2f2862126aca;hb=ba7dd8bbb8168cba432a844259a3e239aa5f36d7;hpb=6944b2d02f23cf562574d3d1b37a2d698bdbde4e diff --git a/hardware/alsa/protocol.h b/hardware/alsa/protocol.h index 61aafb38..465ebbaa 100644 --- a/hardware/alsa/protocol.h +++ b/hardware/alsa/protocol.h @@ -23,36 +23,30 @@ #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 { uint64_t cur_samplerate; uint64_t limit_samples; uint64_t num_samples; - uint8_t num_probes; - const char *hwdev; + uint8_t num_channels; + 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