resource.h 1.5 KB

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