platformSystem.h 2.0 KB

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