X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fvserver.h;h=b2858fa48997477402a879df1774322a15c624c2;hb=d641b1e3fac4d105ac0c7d0739d4cff765387264;hp=2224be7a70552646c2b3b2e9797a518eae289070;hpb=ada825d2337179c8a973df7e4ae05293d4ff91f4;p=util-vserver.git diff --git a/lib/vserver.h b/lib/vserver.h index 2224be7..b2858fa 100644 --- a/lib/vserver.h +++ b/lib/vserver.h @@ -160,6 +160,7 @@ #define VC_IATTR_BARRIER 0x00010000u #define VC_IATTR_IUNLINK 0x00020000u #define VC_IATTR_IMMUTABLE 0x00040000u +#define VC_IATTR_COW 0x00080000u // the flags @@ -205,6 +206,7 @@ #define VC_VXC_SET_UTSNAME 0x00000001ull #define VC_VXC_SET_RLIMIT 0x00000002ull #define VC_VXC_FS_SECURITY 0x00000004ull +#define VC_VXC_TIOCSTI 0x00000010ull #define VC_VXC_RAW_ICMP 0x00000100ull #define VC_VXC_SYSLOG 0x00001000ull @@ -220,6 +222,7 @@ #define VC_VXC_ADMIN_CLOOP 0x00400000ull #define VC_VXC_KTHREAD 0x01000000ull +#define VC_VXC_NAMESPACE 0x02000000ull // the scheduler flags @@ -278,8 +281,18 @@ // the VCI bit values #define VC_VCI_NO_DYNAMIC (1 << 0) +#define VC_VCI_PROC_SECURE (1 << 4) +#define VC_VCI_HARDCPU (1 << 5) +#define VC_VCI_IDLELIMIT (1 << 6) +#define VC_VCI_IDLETIME (1 << 7) +#define VC_VCI_COWBL (1 << 8) +#define VC_VCI_FULLCOWBL (1 << 9) #define VC_VCI_SPACES (1 << 10) #define VC_VCI_NETV2 (1 << 11) +#define VC_VCI_MEMCG (1 << 12) +#define VC_VCI_DEBUG (1 << 16) +#define VC_VCI_HISTORY (1 << 20) +#define VC_VCI_TAGGED (1 << 24) #define VC_VCI_PPTAG (1 << 28) @@ -379,6 +392,8 @@ extern "C" { */ vc_vci_t vc_get_vci(); + int vc_get_kernel(); + /** \brief Moves current process into a context * \ingroup syscalls * @@ -847,6 +862,15 @@ extern "C" { int vc_set_badness(xid_t xid, int64_t badness); + /** \brief Namespaces allowed to unshare */ + struct vc_umask { + uint_least64_t umask; + uint_least64_t mask; + }; + + int vc_get_umask(xid_t xid, struct vc_umask *umask); + int vc_set_umask(xid_t xid, struct vc_umask const *umask); + /** \brief Information about parsing errors * \ingroup helper */ @@ -919,7 +943,10 @@ extern "C" { int vc_list2ccap(char const *, size_t len, struct vc_err_listparser *err, struct vc_ctx_caps *); - + char const * vc_loumask2text(uint_least64_t *); + int vc_list2umask(char const *, size_t len, + struct vc_err_listparser *err, + struct vc_umask *); int vc_list2cflag(char const *, size_t len, struct vc_err_listparser *err, struct vc_ctx_flags *flags); @@ -977,7 +1004,8 @@ extern "C" { vcFEATURE_VSHELPER0, vcFEATURE_VSHELPER, vcFEATURE_VWAIT, vcFEATURE_VNET, vcFEATURE_VSTAT, vcFEATURE_PPTAG, vcFEATURE_PIDSPACE, vcFEATURE_SPACES, vcFEATURE_PERSISTENT, - vcFEATURE_PIVOT_ROOT, + vcFEATURE_PIVOT_ROOT, vcFEATURE_MEMCG, vcFEATURE_DYNAMIC, + vcFEATURE_BME, } vcFeatureSet;