X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fvserver.h;h=bb0b93a7408315cc24076e98221937e8e97a6eaf;hb=9bbe41ab46077aed94fd7483cf6bc1e2857e12e5;hp=41479fb7fd24cf8835359be5058e763cdf3643a9;hpb=e303b8205d3b33f3c96c0a5fe3ab8ea87971eb0a;p=util-vserver.git diff --git a/lib/vserver.h b/lib/vserver.h index 41479fb..bb0b93a 100644 --- a/lib/vserver.h +++ b/lib/vserver.h @@ -28,6 +28,7 @@ #include #include #include +#include #ifndef IS_DOXYGEN #if defined(__GNUC__) @@ -230,6 +231,11 @@ // the network flags #define VC_NXF_INFO_LOCK 0x00000001ull +#define VC_NXF_INFO_PRIVATE 0x00000008ull + +#define VC_NXF_SINGLE_IP 0x00000100ull + +#define VC_NXF_HIDE_NETIF 0x02000000ull #define VC_NXF_STATE_SETUP (1ULL<<32) #define VC_NXF_STATE_ADMIN (1ULL<<34) @@ -246,6 +252,23 @@ #define VC_VLIMIT_SEMARY 20 #define VC_VLIMIT_NSEMS 21 #define VC_VLIMIT_DENTRY 22 +#define VC_VLIMIT_MAPPED 23 + + +// the VCI bit values +#define VC_VCI_NO_DYNAMIC (1 << 0) +#define VC_VCI_SPACES (1 << 10) + + +#ifndef CLONE_NEWNS +# define CLONE_NEWNS 0x00020000 +#endif +#ifndef CLONE_NEWUTS +# define CLONE_NEWUTS 0x04000000 +#endif +#ifndef CLONE_NEWIPC +# define CLONE_NEWIPC 0x08000000 +#endif @@ -602,9 +625,10 @@ extern "C" { /** Returns true iff \a xid is a dynamic xid */ bool vc_is_dynamic_xid(xid_t xid); - int vc_enter_namespace(xid_t xid); - int vc_set_namespace(); + 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(); /** \brief Flags of process-contexts @@ -855,6 +879,8 @@ extern "C" { /** Maps an xid given at '--xid' options to an xid_t */ xid_t vc_xidopt2xid(char const *, bool honor_static, char const **err_info); + /** Maps a nid given at '--nid' options to a nid_t */ + nid_t vc_nidopt2nid(char const *, bool honor_static, char const **err_info); vcCfgStyle vc_getVserverCfgStyle(char const *id);