X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fvserver.h;h=be896e134d0757874e1cc66cfa51ed70c56c569b;hb=c8219c13d0a45263725d23d6aa3adf49d6cc36a5;hp=d403677f389cbac0418104669a264f03396875c9;hpb=3564d8678a2134185e5e6e83083de027b359ca28;p=util-vserver.git diff --git a/lib/vserver.h b/lib/vserver.h index d403677..be896e1 100644 --- a/lib/vserver.h +++ b/lib/vserver.h @@ -211,6 +211,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 @@ -306,7 +308,9 @@ #ifndef CLONE_NEWIPC # define CLONE_NEWIPC 0x08000000 #endif - +#ifndef CLONE_NEWUSER +# define CLONE_NEWUSER 0x10000000 +#endif #define VC_BAD_PERSONALITY ((uint_least32_t)(-1)) @@ -632,20 +636,26 @@ extern "C" { uint16_t vna_flags; uint16_t vna_prefix; uint16_t vna_parent; - union { - struct { - struct in_addr ip; - struct in_addr mask; - } ipv4; - struct { - struct in6_addr ip; - struct in6_addr mask; - } ipv6; - } u; -#define vna_v4_ip u.ipv4.ip -#define vna_v4_mask u.ipv4.mask -#define vna_v6_ip u.ipv6.ip -#define vna_v6_mask u.ipv6.mask + struct { + union { + struct in_addr v4; + struct in6_addr v6; + } ip; + union { + struct in_addr v4; + struct in6_addr v6; + } ip2; + union { + struct in_addr v4; + struct in6_addr v6; + } mask; + } s; +#define vna_v4_ip s.ip.v4 +#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 +#define vna_v6_mask s.mask.v6 }; struct vc_net_flags { @@ -813,6 +823,10 @@ extern "C" { /* misc. syscalls */ 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