X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fvserver.h;h=a1ba744e5025af84036c6e34db28887f75fd1aaf;hb=08c25ff5102e38cd861f267c7702981629f736fd;hp=890bd1a78eab79c60f90d9a6077b1d275db5f764;hpb=d551c7d26f91aab498645827fd77cc36d6c3459c;p=util-vserver.git diff --git a/lib/vserver.h b/lib/vserver.h index 890bd1a..a1ba744 100644 --- a/lib/vserver.h +++ b/lib/vserver.h @@ -151,7 +151,8 @@ #define VC_IATTR_ADMIN 0x00000001u #define VC_IATTR_WATCH 0x00000002u #define VC_IATTR_HIDE 0x00000004u -#define VC_IATTR_FLAGS 0x00000007u +#define VC_IATTR_WRITE 0x00000008u +#define VC_IATTR_FLAGS 0x0000000fu #define VC_IATTR_BARRIER 0x00010000u #define VC_IATTR_IUNLINK 0x00020000u @@ -194,6 +195,7 @@ #define VC_VXF_PROLIFIC (1ULL<<49) #define VC_VXF_IGNEG_NICE (1ULL<<52) +#define VC_VXF_IGNEG_IONICE (1ULL<<53) // the ccapabilities @@ -211,6 +213,8 @@ #define VC_VXC_ADMIN_MAPPER 0x00200000ull #define VC_VXC_ADMIN_CLOOP 0x00400000ull +#define VC_VXC_KTHREAD 0x01000000ull + // the scheduler flags #define VC_VXSM_FILL_RATE 0x0001 @@ -237,6 +241,7 @@ #define VC_NXF_SINGLE_IP 0x00000100ull #define VC_NXF_LBACK_REMAP 0x00000200ull +#define VC_NXF_LBACK_ALLOW 0x00000400ull #define VC_NXF_HIDE_NETIF 0x02000000ull #define VC_NXF_HIDE_LBACK 0x04000000ull @@ -249,6 +254,8 @@ // the network capabilities +#define VC_NXC_TUN_CREATE 0x00000001ull + #define VC_NXC_RAW_ICMP 0x00000100ull @@ -309,6 +316,12 @@ #ifndef CLONE_NEWUSER # define CLONE_NEWUSER 0x10000000 #endif +#ifndef CLONE_NEWPID +# define CLONE_NEWPID 0x20000000 +#endif +#ifndef CLONE_NEWNET +# define CLONE_NEWNET 0x40000000 +#endif #define VC_BAD_PERSONALITY ((uint_least32_t)(-1)) @@ -649,7 +662,7 @@ extern "C" { } mask; } s; #define vna_v4_ip s.ip.v4 -#define vna_v4_ip2 s.ip2.v6 +#define vna_v4_ip2 s.ip2.v4 #define vna_v4_mask s.mask.v4 #define vna_v6_ip s.ip.v6 #define vna_v6_ip2 s.ip2.v6 @@ -750,8 +763,9 @@ extern "C" { /* namespace related functions */ int vc_enter_namespace(xid_t xid, uint_least64_t mask); int vc_set_namespace(xid_t xid, uint_least64_t mask); - int vc_cleanup_namespace(); - uint_least64_t vc_get_space_mask(); + int vc_cleanup_namespace(void); + uint_least64_t vc_get_space_mask(void); + uint_least64_t vc_get_space_default(void); /* disk limit related things */ @@ -823,6 +837,9 @@ extern "C" { int vc_set_mapping(xid_t xid, const char *device, const char *target, uint32_t flags); int vc_unset_mapping(xid_t xid, const char *device, const char *target, uint32_t flags); + int vc_get_badness(xid_t xid, int64_t *badness); + int vc_set_badness(xid_t xid, int64_t badness); + /** \brief Information about parsing errors * \ingroup helper @@ -952,7 +969,9 @@ extern "C" { vcFEATURE_COMPAT, vcFEATURE_MIGRATE, vcFEATURE_NAMESPACE, vcFEATURE_SCHED, vcFEATURE_VINFO, vcFEATURE_VHI, vcFEATURE_VSHELPER0, vcFEATURE_VSHELPER, vcFEATURE_VWAIT, - vcFEATURE_VNET, vcFEATURE_VSTAT, vcFEATURE_PPTAG, } + vcFEATURE_VNET, vcFEATURE_VSTAT, vcFEATURE_PPTAG, + vcFEATURE_PIDSPACE, vcFEATURE_SPACES, vcFEATURE_PERSISTENT, + } vcFeatureSet; bool vc_isSupported(vcFeatureSet) VC_ATTR_CONST; @@ -1032,6 +1051,8 @@ extern "C" { int vc_compareVserverById(char const *lhs, vcCfgStyle lhs_style, char const *rhs, vcCfgStyle rhs_style); + + void vc_exitLikeProcess(int pid, int ret) VC_ATTR_NORETURN; #define vcSKEL_INTERFACES 1u #define vcSKEL_PKGMGMT 2u