sdc_sys_res.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #ifndef __MEMORY_H__
  2. #define __MEMORY_H__
  3. /******************************************************************************
  4. 版权所有 (C), 2019-2020, SDC OS 开源软件小组所有
  5. ******************************************************************************
  6. 文 件 名 : sdc_sys_res.h
  7. 版 本 号 : 初稿
  8. 作 者 : athina
  9. 生成日期 : 2020年8月15日
  10. 最近修改 :
  11. 功能描述 : 获取系统资源
  12. 函数列表 :
  13. 修改历史 :
  14. 1.日 期 : 2020年8月15日
  15. 作 者 : athina
  16. 修改内容 : 创建文件
  17. ******************************************************************************/
  18. #include <stdint.h>
  19. #define MAX_MEMINFO_SIZE 64
  20. typedef struct tagMemoryData {
  21. uint32_t uiMemTotal; // kB
  22. uint32_t uiBuffer; // kB
  23. uint32_t uiMemfree; // kB
  24. uint32_t uiCache; // kB
  25. uint32_t uiUsedMem; // kB
  26. } MemoryData;
  27. typedef struct tagCpuData
  28. {
  29. uint32_t uiUserTime;
  30. uint32_t uiNiceTime;
  31. uint32_t uiSysTime;
  32. uint32_t uiIdleTime;
  33. uint32_t uiIowaitTime;
  34. uint32_t uiIrqTime;
  35. uint32_t uiSoftirqTime;
  36. } CpuData;
  37. class MemoryInfo
  38. {
  39. public:
  40. MemoryInfo(void);
  41. ~MemoryInfo(void);
  42. int32_t GetMemory(MemoryData &data);
  43. int32_t GetProcMem(uint32_t &usedMem) const;
  44. };
  45. class CpuInfo
  46. {
  47. public:
  48. CpuInfo(void);
  49. ~CpuInfo(void);
  50. int32_t CalcUsage(uint32_t &cpuUsage);
  51. private:
  52. int32_t SamplingData(CpuData &data);
  53. CpuData m_lastSampleData;
  54. };
  55. #endif /* __MEMORY_H__ */