gfaserial.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. // gfaserial.h :
  2. //
  3. #if !defined(AGD_GFASERIAL_H__8CCAB1A3_1A01_49EB_BE03_9183B29CA9F4__INCLUDED_)
  4. #define AGD_GFASERIAL_H__8CCAB1A3_1A01_49EB_BE03_9183B29CA9F4__INCLUDED_
  5. #include <stdint.h>
  6. #include <stdbool.h>
  7. #include <sys/time.h>
  8. #include <gfagenericdev.h>
  9. #ifdef __cplusplus
  10. extern "C" {
  11. #endif // __cplusplus
  12. /////////////////////////////////////////////////////////////////////////////
  13. // gfaserial.h - Declarations:
  14. typedef struct _GFA_SER_CFG_PARAMS
  15. {
  16. uint32_t baud;
  17. uint8_t data;
  18. uint8_t stop;
  19. uint8_t parity;
  20. bool flowHW;
  21. bool flowSW;
  22. bool bHandleTxEcho;
  23. }GFA_SER_CFG_PARAMS, *LPGFA_SER_CFG_PARAMS;
  24. typedef const GFA_SER_CFG_PARAMS *LPCGFA_SER_CFG_PARAMS;
  25. /////////////////////////////////////////////////////////////////////////////
  26. HGFADEVICE GfaSerialOpen(const char *pszDeviceName, LPCGFA_SER_CFG_PARAMS pscp, size_t nSizeCfgParams);
  27. void GfaSerialClose(HGFADEVICE hSer);
  28. ssize_t GfaSerialGetConfig(HGFADEVICE hSer, LPGFA_SER_CFG_PARAMS pscp, size_t nSizeCfgParams);
  29. int GfaSerialSetConfig(HGFADEVICE hSer, LPCGFA_SER_CFG_PARAMS pscp, size_t nSizeCfgParams);
  30. bool GfaSerialGetDeviceInterface(LPGFA_GENERIC_DEVICE_INTERFACE pDevItf);
  31. bool GfaSerialGetTimeouts(HGFADEVICE hSer, struct timeval *ptvRX, struct timeval *ptvTX);
  32. bool GfaSerialSetTimeouts(HGFADEVICE hSer, const struct timeval *ptvRX, const struct timeval *ptvTX);
  33. ssize_t GfaSerialPurgeRXBuffer(HGFADEVICE hSer);
  34. ssize_t GfaSerialReceive(HGFADEVICE hSer, void *pBuf, size_t nCbToRead); // blocking
  35. ssize_t GfaSerialRead(HGFADEVICE hSer, void *pBuf, size_t nCbToRead); // not blocking
  36. ssize_t GfaSerialPop(HGFADEVICE hSer, uint8_t *pb); // 1 byte, blocking
  37. ssize_t GfaSerialPeek(HGFADEVICE hSer); // not blocking
  38. ssize_t GfaSerialTransmit(HGFADEVICE hSer, const void *pData, size_t nCbData); // blocking
  39. ssize_t GfaSerialWrite(HGFADEVICE hSer, const void *pData, size_t nCbData); // not blocking
  40. ssize_t GfaSerialPush(HGFADEVICE hSer, uint8_t b); // 1 byte, blocking
  41. /////////////////////////////////////////////////////////////////////////////
  42. #ifdef __cplusplus
  43. }
  44. #endif // __cplusplus
  45. #endif // !defined(AGD_GFASERIAL_H__8CCAB1A3_1A01_49EB_BE03_9183B29CA9F4__INCLUDED_)