Files
MontaukOS/programs/include/rtlsdr/rtlsdr.h
T
2026-08-29 10:02:32 +02:00

43 lines
1.2 KiB
C

#pragma once
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef struct rtlsdr_device rtlsdr_device;
typedef struct rtlsdr_device_info {
char name[64];
char tuner[32];
char serial[32];
uint64_t freq_min;
uint64_t freq_max;
uint32_t sample_rate_min;
uint32_t sample_rate_max;
uint32_t num_gains;
int32_t gains[32];
} rtlsdr_device_info;
int rtlsdr_count(void);
int rtlsdr_get_device_info(int index, rtlsdr_device_info* out);
int rtlsdr_open(rtlsdr_device** out, int index);
int rtlsdr_close(rtlsdr_device* dev);
int rtlsdr_set_center_freq(rtlsdr_device* dev, uint64_t hz);
uint64_t rtlsdr_get_center_freq(const rtlsdr_device* dev);
int rtlsdr_set_sample_rate(rtlsdr_device* dev, uint32_t hz);
uint32_t rtlsdr_get_sample_rate(const rtlsdr_device* dev);
int rtlsdr_set_tuner_gain_mode(rtlsdr_device* dev, int manual);
int rtlsdr_set_tuner_gain(rtlsdr_device* dev, int tenths_db);
int rtlsdr_set_freq_correction(rtlsdr_device* dev, int ppm);
int rtlsdr_set_agc_mode(rtlsdr_device* dev, int on);
int rtlsdr_set_direct_sampling(rtlsdr_device* dev, int mode);
int rtlsdr_start(rtlsdr_device* dev);
int rtlsdr_stop(rtlsdr_device* dev);
int rtlsdr_read(rtlsdr_device* dev, void* data, uint32_t length);
#ifdef __cplusplus
}
#endif