nspluginwrapper/lsb-build/headers/sys/resource.h

111 lines
3.1 KiB
C

#ifndef _SYS_RESOURCE_H_
#define _SYS_RESOURCE_H_
#include <sys/types.h>
#include <sys/time.h>
#ifdef __cplusplus
extern "C" {
#endif
#define RUSAGE_CHILDREN (-1)
#define RUSAGE_BOTH (-2)
#define RLIM_INFINITY (~0UL)
#define RLIM_SAVED_CUR -1
#define RLIM_SAVED_MAX -1
#define RLIMIT_CPU 0
#define RUSAGE_SELF 0
#define RLIMIT_FSIZE 1
#define RLIMIT_LOCKS 10
#define RLIM_NLIMITS 11
#define RLIMIT_DATA 2
#define RLIMIT_STACK 3
#define RLIMIT_CORE 4
#define RLIMIT_RSS 5
#define RLIMIT_NPROC 6
#define RLIMIT_NOFILE 7
#define RLIMIT_MEMLOCK 8
#define RLIMIT_AS 9
typedef unsigned long int rlim_t;
typedef unsigned long long int rlim64_t;
typedef int __rlimit_resource_t;
struct rlimit {
rlim_t rlim_cur; /* The current (soft) limit. */
rlim_t rlim_max; /* The hard limit. */
};
struct rlimit64 {
rlim64_t rlim_cur; /* The current (soft) limit. */
rlim64_t rlim_max; /* The hard limit. */
};
struct rusage {
struct timeval ru_utime; /* Total amount of user time used. */
struct timeval ru_stime; /* Total amount of system time used. */
long int ru_maxrss; /* Maximum resident set size (in kilobytes). */
long int ru_ixrss; /* Amount of sharing of text segment memory with other p */
long int ru_idrss; /* Amount of data segment memory used (kilobyte-seconds). */
long int ru_isrss; /* Amount of stack memory used (kilobyte-seconds). */
long int ru_minflt; /* Number of soft page faults (i.e. those serviced by reclaimin */
long int ru_majflt; /* Number of hard page faults (i.e. those that required I/O). */
long int ru_nswap; /* Number of times a process was swapped out of physical memory */
long int ru_inblock; /* Number of input operations via the file system. Note: This */
long int ru_oublock; /* Number of output operations via the file system. */
long int ru_msgsnd; /* Number of IPC messages sent. */
long int ru_msgrcv; /* Number of IPC messages received. */
long int ru_nsignals; /* Number of signals delivered. */
long int ru_nvcsw; /* Number of voluntary context switches, i.e. because the proce */
long int ru_nivcsw; /* Number of involuntary context switches, i.e. a higher priori */
};
/* Priority limits.*/
/* The type of the WHICH argument to `getpriority' and `setpriority',
indicating what flavor of entity the WHO argument specifies.*/
enum __priority_which {
PRIO_PROCESS = 0, /* WHO is a process ID. */
PRIO_PGRP = 1, /* WHO is a process group ID. */
PRIO_USER = 2 /* WHO is a user ID. */
};
#define PRIO_PGRP PRIO_PGRP
#define PRIO_PROCESS PRIO_PROCESS
#define PRIO_USER PRIO_USER
typedef enum __priority_which __priority_which_t;
extern int getpriority(__priority_which_t, id_t);
extern int getrlimit64(id_t, struct rlimit64 *);
extern int setpriority(__priority_which_t, id_t, int);
extern int setrlimit(__rlimit_resource_t, const struct rlimit *);
extern int setrlimit64(__rlimit_resource_t, const struct rlimit64 *);
extern int getrlimit(__rlimit_resource_t, struct rlimit *);
extern int getrusage(int, struct rusage *);
#ifdef __cplusplus
}
#endif
#endif