14 #ifndef IRMP_SHAREDLIB_H 15 #define IRMP_SHAREDLIB_H 25 #ifndef IRMP_DLLEXPORT 26 # if defined WIN32 && defined _MSC_VER 27 # define IRMP_DLLEXPORT __declspec(dllexport) 29 # define IRMP_DLLEXPORT __attribute__((visibility("default"))) 34 #define WITH_IRMP_DETECT_BUFFER 0 92 #define IRMP_DATA_FLAG_REPETITION (1 << 0) 93 #define IRMP_DATA_FLAG_RELEASE (1 << 1) 124 #if WITH_IRMP_DETECT_BUFFER IRMP_DLLEXPORT void irmp_instance_unlock(struct irmp_instance *state)
Release a decoder instance's lock.
uint32_t command
!< address
IR decoder result data at the library's public API.
uint32_t address
!< name of the protocol
uint32_t start_sample
!< flags currently only repetition (bit 0)
IRMP_DLLEXPORT int irmp_add_one_sample(int sample)
Feed an individual sample to the detector.
IRMP_DLLEXPORT uint32_t irmp_get_sample_rate(void)
Query the IRMP library's configured sample rate.
uint32_t end_sample
!< the sampleindex there the detected command started
IRMP_DLLEXPORT struct irmp_instance * irmp_instance_alloc(void)
Allocate a decoder instance.
IRMP_DLLEXPORT int irmp_get_result_data(struct irmp_result_data *data)
Query result data after detection succeeded.
IRMP_DLLEXPORT void irmp_reset_state(void)
Reset internal decoder state.
const char * protocol_name
!< protocol, e.g.
IRMP_DLLEXPORT void irmp_instance_free(struct irmp_instance *state)
Release a decoder instance.
IRMP_DLLEXPORT size_t irmp_instance_id(struct irmp_instance *state)
Get the client ID of an IRMP decoder core instance.
IRMP_DLLEXPORT const char * irmp_get_protocol_name(uint32_t protocol)
Resolve the protocol identifer to the protocol's name.
IRMP_DLLEXPORT int irmp_instance_lock(struct irmp_instance *state, int wait)
Acquire a decoder instance's lock.