resource.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #ifndef _SYS_RESOURCE_H
  2. #define _SYS_RESOURCE_H
  3. #define __NEED_id_t
  4. #define __NEED_time_t
  5. #define __NEED_struct_timeval
  6. #include <bits/alltypes.h>
  7. typedef unsigned long long rlim_t;
  8. struct rlimit
  9. {
  10. rlim_t rlim_cur;
  11. rlim_t rlim_max;
  12. };
  13. struct rusage
  14. {
  15. struct timeval ru_utime;
  16. struct timeval ru_stime;
  17. /* linux extentions, but useful */
  18. long ru_maxrss;
  19. long ru_ixrss;
  20. long ru_idrss;
  21. long ru_isrss;
  22. long ru_minflt;
  23. long ru_majflt;
  24. long ru_nswap;
  25. long ru_inblock;
  26. long ru_oublock;
  27. long ru_msgsnd;
  28. long ru_msgrcv;
  29. long ru_nsignals;
  30. long ru_nvcsw;
  31. long ru_nivcsw;
  32. /* room for more... */
  33. long __reserved[16];
  34. };
  35. int getrlimit (int, struct rlimit *);
  36. int setrlimit (int, const struct rlimit *);
  37. int getrusage (int, struct rusage *);
  38. int getpriority (int, id_t);
  39. int setpriority (int, id_t, int);
  40. #define PRIO_PROCESS 0
  41. #define PRIO_PGRP 1
  42. #define PRIO_USER 2
  43. #define RUSAGE_SELF 0
  44. #define RUSAGE_CHILDREN 1
  45. #define RLIM_INFINITY (~0ULL)
  46. #define RLIM_SAVED_CUR RLIM_INFINITY
  47. #define RLIM_SAVED_MAX RLIM_INFINITY
  48. #define RLIMIT_CPU 0
  49. #define RLIMIT_FSIZE 1
  50. #define RLIMIT_DATA 2
  51. #define RLIMIT_STACK 3
  52. #define RLIMIT_CORE 4
  53. #define RLIMIT_RSS 5
  54. #define RLIMIT_NOFILE 7
  55. #define RLIMIT_AS 9
  56. #define RLIMIT_NPROC 6
  57. #define RLIMIT_MEMLOCK 8
  58. #define RLIMIT_LOCKS 10
  59. #endif