X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=hardware%2Falsa%2Fprotocol.h;h=e844bc740afabed26327654f0deb0c25b5ac5bce;hb=21d464a7e53efc9ac9810d9301a12b6a56fdb061;hp=c66fc1ecf217608e3204a55cbf9d9f7853fd28b8;hpb=9cd9f6b71c35c0203b7e8997ce9425d0dc6e0f4d;p=libsigrok.git diff --git a/hardware/alsa/protocol.h b/hardware/alsa/protocol.h index c66fc1ec..e844bc74 100644 --- a/hardware/alsa/protocol.h +++ b/hardware/alsa/protocol.h @@ -23,20 +23,19 @@ #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) +/* Message logging helpers with subsystem-specific prefix string. */ +#define LOG_PREFIX "alsa: " +#define sr_log(l, s, args...) sr_log(l, LOG_PREFIX s, ## args) +#define sr_spew(s, args...) sr_spew(LOG_PREFIX s, ## args) +#define sr_dbg(s, args...) sr_dbg(LOG_PREFIX s, ## args) +#define sr_info(s, args...) sr_info(LOG_PREFIX s, ## args) +#define sr_warn(s, args...) sr_warn(LOG_PREFIX s, ## args) +#define sr_err(s, args...) sr_err(LOG_PREFIX s, ## args) /** Private, per-device-instance driver context. */ struct dev_context { @@ -44,12 +43,17 @@ struct dev_context { uint64_t limit_samples; uint64_t num_samples; uint8_t num_probes; + 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 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