# define MS_MOVE 8192
#endif
-#ifndef HAVE_CTX_T
+#ifndef HAVE_XID_T
#include <stdint.h>
-typedef uint32_t ctx_t;
+typedef uint32_t xid_t;
#endif
#endif // H_UTIL_VSERVER_COMPAT_H
AC_CHECK_FUNCS([sys_virtual_context])
AC_CHECK_DECLS(MS_MOVE,,,[#include <linux/fs.h>])
-AC_CHECK_TYPES(ctx_t,,,[#include <sys/types.h>])
+AC_CHECK_TYPES(xid_t,,,[#include <sys/types.h>])
AC_CONFIG_FILES([util-vserver.spec Makefile])
AC_OUTPUT
#include "getctx-legacy.hc"
-static inline ALWAYSINLINE ctx_t
+static inline ALWAYSINLINE xid_t
vc_X_getctx_compat(pid_t pid)
{
return vc_X_getctx_legacy(pid);
#define CTX_TAG "\ns_context: "
-static ctx_t
+static xid_t
vc_X_getctx_legacy(pid_t pid)
{
static volatile size_t bufsize=4097;
#include <sys/types.h>
-ctx_t
+xid_t
vc_X_getctx(pid_t pid)
{
CALL_VC(CALL_VC_COMPAT(vc_X_getctx, pid),
#include <unistd.h>
static inline ALWAYSINLINE int
-vc_new_s_context_compat(ctx_t ctx, unsigned int remove_cap, unsigned int flags)
+vc_new_s_context_compat(xid_t ctx, unsigned int remove_cap, unsigned int flags)
{
struct vcmd_new_s_context_v1 msg;
msg.remove_cap = remove_cap;
#if defined(VC_ENABLE_API_COMPAT) || defined(VC_ENABLE_API_LEGACY)
int
-vc_new_s_context(ctx_t ctx, unsigned int remove_cap, unsigned int flags)
+vc_new_s_context(xid_t ctx, unsigned int remove_cap, unsigned int flags)
{
CALL_VC(CALL_VC_COMPAT(vc_new_s_context, ctx, remove_cap, flags),
CALL_VC_LEGACY(vc_new_s_context, ctx, remove_cap, flags));
#endif
static inline ALWAYSINLINE int
-vc_ctx_kill_v11(ctx_t ctx, pid_t pid, int sig)
+vc_ctx_kill_v11(xid_t ctx, pid_t pid, int sig)
{
struct vcmd_ctx_kill_v0 param = {
.pid = pid,
#endif
int
-vc_ctx_kill(ctx_t ctx, pid_t pid, int sig)
+vc_ctx_kill(xid_t ctx, pid_t pid, int sig)
{
CALL_VC(CALL_VC_V11(vc_ctx_kill, ctx, pid, sig));
}
((LIMIT)==VC_LIM_KEEP) ? CRLIM_KEEP : (LIMIT))
static inline ALWAYSINLINE int
-vc_get_rlimit_v11(ctx_t ctx, int resource, struct vc_rlimit *lim)
+vc_get_rlimit_v11(xid_t ctx, int resource, struct vc_rlimit *lim)
{
struct vcmd_ctx_rlimit_v0 vc_lim;
int rc;
}
static inline ALWAYSINLINE int
-vc_set_rlimit_v11(ctx_t ctx, int resource, struct vc_rlimit const *lim)
+vc_set_rlimit_v11(xid_t ctx, int resource, struct vc_rlimit const *lim)
{
struct vcmd_ctx_rlimit_v0 vc_lim;
}
static inline ALWAYSINLINE int
-vc_get_rlimit_mask_v11(ctx_t ctx, int tmp, struct vc_rlimit_mask *lim)
+vc_get_rlimit_mask_v11(xid_t ctx, int tmp, struct vc_rlimit_mask *lim)
{
struct vcmd_ctx_rlimit_v0 vc_lim;
int rc;
#if defined (VC_ENABLE_API_V11)
int
-vc_get_rlimit(ctx_t ctx, int resource, struct vc_rlimit *lim)
+vc_get_rlimit(xid_t ctx, int resource, struct vc_rlimit *lim)
{
CALL_VC(CALL_VC_V11(vc_get_rlimit, ctx, resource, lim));
}
int
-vc_set_rlimit(ctx_t ctx, int resource, struct vc_rlimit const *lim)
+vc_set_rlimit(xid_t ctx, int resource, struct vc_rlimit const *lim)
{
CALL_VC(CALL_VC_V11(vc_set_rlimit, ctx, resource, lim));
}
int
-vc_get_rlimit_mask(ctx_t ctx, struct vc_rlimit_mask *lim)
+vc_get_rlimit_mask(xid_t ctx, struct vc_rlimit_mask *lim)
{
CALL_VC(CALL_VC_V11(vc_get_rlimit_mask, ctx, 0, lim));
}
#if 1
# define CTX_KERNEL2USER(X) (((X)==(uint32_t)(-1)) ? VC_NOCTX : \
((X)==(uint32_t)(-2)) ? VC_SAMECTX : \
- (ctx_t)(X))
+ (xid_t)(X))
# define CTX_USER2KERNEL(X) (((X)==VC_RANDCTX) ? (uint32_t)(-1) : \
((X)==VC_SAMECTX) ? (uint32_t)(-2) : \
#include <sys/types.h>
/** the value which is returned in error-case (no ctx found) */
-#define VC_NOCTX ((ctx_t)(-1))
+#define VC_NOCTX ((xid_t)(-1))
/** the value which means a random (the next free) ctx */
-#define VC_RANDCTX ((ctx_t)(-1))
+#define VC_RANDCTX ((xid_t)(-1))
/** the value which means the current ctx */
-#define VC_SAMECTX ((ctx_t)(-2))
+#define VC_SAMECTX ((xid_t)(-2))
#define VC_LIM_INFINITY (~0ULL)
#define VC_LIM_KEEP (~1ULL)
* - VC_SAMECTX which means the current context (just for changing caps and flags)
* - VC_RANDCTX which means the next free context; this value can be used by
* ordinary users also */
- int vc_new_s_context(ctx_t ctx, unsigned int remove_cap, unsigned int flags);
+ int vc_new_s_context(xid_t ctx, unsigned int remove_cap, unsigned int flags);
/** Sets the ipv4root information.
* \precondition: nb<16 */
uint32_t hard;
};
- int vc_get_rlimit(ctx_t ctx, int resource, struct vc_rlimit *lim);
- int vc_set_rlimit(ctx_t ctx, int resource, struct vc_rlimit const *lim);
- int vc_get_rlimit_mask(ctx_t ctx, struct vc_rlimit_mask *lim);
+ int vc_get_rlimit(xid_t ctx, int resource, struct vc_rlimit *lim);
+ int vc_set_rlimit(xid_t ctx, int resource, struct vc_rlimit const *lim);
+ int vc_get_rlimit_mask(xid_t ctx, struct vc_rlimit_mask *lim);
/** sends a signal to a context/pid
Special values for pid are:
* -1 which means every process in ctx except the init-process
* 0 which means every process in ctx inclusive the init-process */
- int vc_ctx_kill(ctx_t ctx, pid_t pid, int sig);
+ int vc_ctx_kill(xid_t ctx, pid_t pid, int sig);
/** Returns the context of the given process. pid==0 means the current process. */
- ctx_t vc_X_getctx(pid_t pid);
+ xid_t vc_X_getctx(pid_t pid);
#ifdef __cplusplus
}
int set_mask = 0;
struct vc_rlimit limits[32];
bool show_all = false;
- ctx_t ctx = -2;
+ xid_t ctx = VC_SAMECTX;
{
size_t i;