add win32 compatibility

Signed-off-by: Steve Markgraf <steve@steve-m.de>
This commit is contained in:
Hoernchen
2012-04-02 20:56:24 +02:00
committed by Steve Markgraf
parent ff50e0beda
commit 229ebd2ff2
7 changed files with 311 additions and 15 deletions

View File

@ -22,5 +22,6 @@
########################################################################
install(FILES
rtl-sdr.h
rtl-sdr_export.h
DESTINATION include
)

View File

@ -24,41 +24,42 @@ extern "C" {
#endif
#include <stdint.h>
#include "rtl-sdr_export.h"
typedef struct rtlsdr_dev rtlsdr_dev_t;
uint32_t rtlsdr_get_device_count(void);
uint32_t RTLSDR_API rtlsdr_get_device_count(void);
const char *rtlsdr_get_device_name(uint32_t index);
RTLSDR_API const char* rtlsdr_get_device_name(uint32_t index);
rtlsdr_dev_t *rtlsdr_open(uint32_t index);
RTLSDR_API rtlsdr_dev_t* rtlsdr_open(uint32_t index);
int rtlsdr_close(rtlsdr_dev_t *dev);
int RTLSDR_API rtlsdr_close(rtlsdr_dev_t *dev);
/* configuration functions */
int rtlsdr_set_center_freq(rtlsdr_dev_t *dev, uint32_t freq);
int RTLSDR_API rtlsdr_set_center_freq(rtlsdr_dev_t *dev, uint32_t freq);
int rtlsdr_get_center_freq(rtlsdr_dev_t *dev);
int RTLSDR_API rtlsdr_get_center_freq(rtlsdr_dev_t *dev);
int rtlsdr_set_freq_correction(rtlsdr_dev_t *dev, int ppm);
int RTLSDR_API rtlsdr_set_freq_correction(rtlsdr_dev_t *dev, int ppm);
int rtlsdr_get_freq_correction(rtlsdr_dev_t *dev);
int RTLSDR_API rtlsdr_get_freq_correction(rtlsdr_dev_t *dev);
int rtlsdr_set_tuner_gain(rtlsdr_dev_t *dev, int gain);
int RTLSDR_API rtlsdr_set_tuner_gain(rtlsdr_dev_t *dev, int gain);
int rtlsdr_get_tuner_gain(rtlsdr_dev_t *dev);
int RTLSDR_API rtlsdr_get_tuner_gain(rtlsdr_dev_t *dev);
/* this will select the baseband filters according to the requested sample rate */
int rtlsdr_set_sample_rate(rtlsdr_dev_t *dev, uint32_t rate);
int RTLSDR_API rtlsdr_set_sample_rate(rtlsdr_dev_t *dev, uint32_t rate);
int rtlsdr_get_sample_rate(rtlsdr_dev_t *dev);
int RTLSDR_API rtlsdr_get_sample_rate(rtlsdr_dev_t *dev);
/* streaming functions */
int rtlsdr_reset_buffer(rtlsdr_dev_t *dev);
int RTLSDR_API rtlsdr_reset_buffer(rtlsdr_dev_t *dev);
int rtlsdr_read_sync(rtlsdr_dev_t *dev, void *buf, int len, int *n_read);
int RTLSDR_API rtlsdr_read_sync(rtlsdr_dev_t *dev, void *buf, int len, int *n_read);
#ifdef __cplusplus
}

29
include/rtl-sdr_export.h Normal file
View File

@ -0,0 +1,29 @@
#ifndef RTLSDR_EXPORT_H
#define RTLSDR_EXPORT_H
#if defined __GNUC__
# if __GNUC__ >= 4
# define __SDR_EXPORT __attribute__((visibility("default")))
# define __SDR_IMPORT __attribute__((visibility("default")))
# else
# define __SDR_EXPORT
# define __SDR_IMPORT
# endif
#elif _MSC_VER
# define __SDR_EXPORT __declspec(dllexport)
# define __SDR_IMPORT __declspec(dllimport)
#else
# define __SDR_EXPORT
# define __SDR_IMPORT
#endif
#ifndef rtlsdr_STATIC
# ifdef rtlsdr_EXPORTS
# define RTLSDR_API __SDR_EXPORT
# else
# define RTLSDR_API __SDR_IMPORT
# endif
#else
#define RTLSDR_API
#endif
#endif /* RTLSDR_EXPORT_H */