Files
aqhomecontrol/aqhome/serial.h
2023-01-22 17:47:30 +01:00

49 lines
1.1 KiB
C

/****************************************************************************
* This file is part of the project AqHome.
* AqHome (c) by 2023 Martin Preuss, all rights reserved.
*
* The license for this file can be found in the file COPYING which you
* should have received along with this file.
****************************************************************************/
#ifndef AQH_SERIAL_H
#define AQH_SERIAL_H
#include <aqhome/api.h>
#include <gwenhywfar/buffer.h>
#include <inttypes.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef struct AQH_SERIAL AQH_SERIAL;
AQHOME_API AQH_SERIAL *AQH_Serial_new(const char *deviceName, uint8_t addr);
AQHOME_API void AQH_Serial_free(AQH_SERIAL *sr);
AQHOME_API uint8_t AQH_Serial_GetAddress(const AQH_SERIAL *sr);
AQHOME_API int AQH_Serial_Open(AQH_SERIAL *sr);
AQHOME_API void AQH_Serial_Close(AQH_SERIAL *sr);
AQHOME_API int AQH_Serial_Recv(AQH_SERIAL *sr, uint8_t *buf, int len);
AQHOME_API int AQH_Serial_Send(AQH_SERIAL *sr, const uint8_t *ptr, uint8_t len);
AQHOME_API int AQH_Serial_SendPacket(AQH_SERIAL *sr, uint8_t destAddr, const uint8_t *ptr, uint8_t len);
#ifdef __cplusplus
}
#endif
#endif