platformSystem.h 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #ifndef __platformSystem__
  2. #define __platformSystem__
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. #include <stdio.h>
  7. #include <stdint.h>
  8. #include <assert.h>
  9. #include "RyanMqttPublic.h"
  10. #include <rtthread.h>
  11. #ifdef RT_ASSERT
  12. #define platformAssert(EX) RT_ASSERT(EX)
  13. #else
  14. #define platformAssert(EX) assert(EX)
  15. #endif
  16. typedef struct
  17. {
  18. rt_thread_t thread;
  19. } platformThread_t;
  20. typedef struct
  21. {
  22. rt_mutex_t mutex;
  23. } platformMutex_t;
  24. typedef struct
  25. {
  26. rt_base_t level;
  27. } platformCritical_t;
  28. extern void *platformMemoryMalloc(size_t size);
  29. extern void platformMemoryFree(void *ptr);
  30. extern void platformPrint(char *str, uint16_t strLen);
  31. extern void platformDelay(uint32_t ms);
  32. extern uint32_t platformUptimeMs(void);
  33. extern RyanMqttError_e platformThreadInit(void *userData, platformThread_t *platformThread, const char *name,
  34. void (*entry)(void *), void *const param, uint32_t stackSize,
  35. uint32_t priority);
  36. extern RyanMqttError_e platformThreadDestroy(void *userData, platformThread_t *platformThread);
  37. extern RyanMqttError_e platformThreadStart(void *userData, platformThread_t *platformThread);
  38. extern RyanMqttError_e platformThreadStop(void *userData, platformThread_t *platformThread);
  39. extern RyanMqttError_e platformMutexInit(void *userData, platformMutex_t *platformMutex);
  40. extern RyanMqttError_e platformMutexDestroy(void *userData, platformMutex_t *platformMutex);
  41. extern RyanMqttError_e platformMutexLock(void *userData, platformMutex_t *platformMutex);
  42. extern RyanMqttError_e platformMutexUnLock(void *userData, platformMutex_t *platformMutex);
  43. extern RyanMqttError_e platformCriticalInit(void *userData, platformCritical_t *platformCritical);
  44. extern RyanMqttError_e platformCriticalDestroy(void *userData, platformCritical_t *platformCritical);
  45. extern RyanMqttError_e platformCriticalEnter(void *userData, platformCritical_t *platformCritical);
  46. extern RyanMqttError_e platformCriticalExit(void *userData, platformCritical_t *platformCritical);
  47. #ifdef __cplusplus
  48. }
  49. #endif
  50. #endif