Data Structures | |
struct | _vx_limit |
Resource limits. More... | |
struct | _vx_limit_stat |
Resource limit accounting. More... | |
Defines | |
#define | CRLIM_UNSET (0ULL) |
#define | CRLIM_INFINITY (~0ULL) |
#define | CRLIM_KEEP (~1ULL) |
#define | VLIMIT_NSOCK 16 |
#define | VLIMIT_OPENFD 17 |
#define | VLIMIT_ANON 18 |
#define | VLIMIT_SHMEM 19 |
#define | VLIMIT_SEMARY 20 |
#define | VLIMIT_NSEMS 21 |
#define | VLIMIT_DENTRY 22 |
#define | VLIMIT_MAPPED 23 |
Typedefs | |
typedef _vx_limit | vx_limit_t |
Resource limits. | |
typedef _vx_limit_stat | vx_limit_stat_t |
Resource limit accounting. | |
Functions | |
int | vx_limit_mask_get (vx_limit_t *data) |
Get resource limits mask. | |
int | vx_limit_set (xid_t xid, vx_limit_t *data) |
Set resource limit. | |
int | vx_limit_get (xid_t xid, vx_limit_t *data) |
Get resource limits. | |
int | vx_limit_stat (xid_t xid, vx_limit_stat_t *data) |
Get resource limit accounting data. | |
int | vx_limit_reset (xid_t xid) |
Reset resource limit accounting data. |
typedef struct _vx_limit vx_limit_t |
Resource limits.
typedef struct _vx_limit_stat vx_limit_stat_t |
Resource limit accounting.
int vx_limit_mask_get | ( | vx_limit_t * | data | ) |
Get resource limits mask.
data | Empty vx_limit_t struct to be filled |
Definition at line 26 of file limit.c.
References _vx_limit::maximum, _vx_limit::minimum, _vx_limit::softlimit, and vserver().
00027 { 00028 int rc; 00029 struct vcmd_ctx_rlimit_mask_v0 kdata; 00030 00031 if (!data) 00032 return errno = EINVAL, -1; 00033 00034 rc = vserver(VCMD_get_rlimit_mask, 0, &kdata); 00035 00036 if (rc == -1) 00037 return rc; 00038 00039 data->minimum = kdata.minimum; 00040 data->softlimit = kdata.softlimit; 00041 data->maximum = kdata.maximum; 00042 00043 return rc; 00044 }
int vx_limit_set | ( | xid_t | xid, | |
vx_limit_t * | data | |||
) |
Set resource limit.
xid | Context ID | |
data | Resource limits |
Definition at line 46 of file limit.c.
References _vx_limit::id, _vx_limit::maximum, _vx_limit::minimum, _vx_limit::softlimit, and vserver().
00047 { 00048 struct vcmd_ctx_rlimit_v0 kdata; 00049 00050 if (!data) 00051 return errno = EINVAL, -1; 00052 00053 kdata.id = data->id; 00054 kdata.minimum = data->minimum; 00055 kdata.softlimit = data->softlimit; 00056 kdata.maximum = data->maximum; 00057 00058 return vserver(VCMD_set_rlimit, xid, &kdata); 00059 }
int vx_limit_get | ( | xid_t | xid, | |
vx_limit_t * | data | |||
) |
Get resource limits.
xid | Context ID | |
data | Empty vx_limit_t struct to be filled |
Definition at line 61 of file limit.c.
References _vx_limit::id, _vx_limit::maximum, _vx_limit::minimum, _vx_limit::softlimit, and vserver().
00062 { 00063 int rc; 00064 struct vcmd_ctx_rlimit_v0 kdata; 00065 00066 if (!data) 00067 return errno = EINVAL, -1; 00068 00069 kdata.id = data->id; 00070 00071 rc = vserver(VCMD_get_rlimit, xid, &kdata); 00072 00073 if (rc == -1) 00074 return rc; 00075 00076 data->minimum = kdata.minimum; 00077 data->softlimit = kdata.softlimit; 00078 data->maximum = kdata.maximum; 00079 00080 return rc; 00081 }
int vx_limit_stat | ( | xid_t | xid, | |
vx_limit_stat_t * | data | |||
) |
Get resource limit accounting data.
xid | Context ID | |
data | Empty vx_limit_stat_t struct to be filled |
Definition at line 83 of file limit.c.
References _vx_limit_stat::hits, _vx_limit_stat::id, _vx_limit_stat::maximum, _vx_limit_stat::minimum, _vx_limit_stat::value, and vserver().
00084 { 00085 int rc; 00086 struct vcmd_rlimit_stat_v0 kdata; 00087 00088 if (!data) 00089 return errno = EINVAL, -1; 00090 00091 kdata.id = data->id; 00092 00093 rc = vserver(VCMD_rlimit_stat, xid, &kdata); 00094 00095 if (rc == -1) 00096 return rc; 00097 00098 data->hits = kdata.hits; 00099 data->value = kdata.value; 00100 data->minimum = kdata.minimum; 00101 data->maximum = kdata.maximum; 00102 00103 return rc; 00104 }
int vx_limit_reset | ( | xid_t | xid | ) |