gfaserial.h 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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. bool GfaSerialGetDeviceInterface(LPGFA_GENERIC_DEVICE_INTERFACE pDevItf);
  29. bool GfaSerialIsValidBaudrate(uint32_t nBaudrate);
  30. ssize_t GfaSerialGetConfig(HGFADEVICE hSer, LPGFA_SER_CFG_PARAMS pscp, size_t nSizeCfgParams);
  31. int GfaSerialSetConfig(HGFADEVICE hSer, LPCGFA_SER_CFG_PARAMS pscp, size_t nSizeCfgParams);
  32. int GfaSerialGetBaudrate(HGFADEVICE hSer, uint32_t *pnBaudrate);
  33. int GfaSerialSetBaudrate(HGFADEVICE hSer, uint32_t nBaudrate);
  34. bool GfaSerialGetTimeouts(HGFADEVICE hSer, struct timeval *ptvRX, struct timeval *ptvTX);
  35. bool GfaSerialSetTimeouts(HGFADEVICE hSer, const struct timeval *ptvRX, const struct timeval *ptvTX);
  36. ssize_t GfaSerialPurgeRXBuffer(HGFADEVICE hSer);
  37. ssize_t GfaSerialReceive(HGFADEVICE hSer, void *pBuf, size_t nCbToRead); // blocking
  38. ssize_t GfaSerialRead(HGFADEVICE hSer, void *pBuf, size_t nCbToRead); // not blocking
  39. ssize_t GfaSerialPop(HGFADEVICE hSer, uint8_t *pb); // 1 byte, blocking
  40. ssize_t GfaSerialPeek(HGFADEVICE hSer); // not blocking
  41. ssize_t GfaSerialTransmit(HGFADEVICE hSer, const void *pData, size_t nCbData); // blocking
  42. ssize_t GfaSerialWrite(HGFADEVICE hSer, const void *pData, size_t nCbData); // not blocking
  43. ssize_t GfaSerialPush(HGFADEVICE hSer, uint8_t b); // 1 byte, blocking
  44. /////////////////////////////////////////////////////////////////////////////
  45. #ifdef __cplusplus
  46. }
  47. #endif // __cplusplus
  48. #endif // !defined(AGD_GFASERIAL_H__8CCAB1A3_1A01_49EB_BE03_9183B29CA9F4__INCLUDED_)