X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=util-vserver%2Flib%2Fvirtual.h;h=34a7ceea3c812f9b91d44dad5e6a4d7b6dd588ed;hb=437b5e9a1c7245fb99ddcf114b6b1bce36ae69f7;hp=f83d18fead0a0815166c376025c324c4a1c40aa4;hpb=0e7aecf8b93f6c446115fbf05dfdecfa9f677237;p=util-vserver.git diff --git a/util-vserver/lib/virtual.h b/util-vserver/lib/virtual.h index f83d18f..34a7cee 100644 --- a/util-vserver/lib/virtual.h +++ b/util-vserver/lib/virtual.h @@ -48,12 +48,16 @@ */ #define VC_CAT_VERSION 0 - +#define VC_CAT_VHOST 2 + +#define VC_CAT_PROCALT 10 #define VC_CAT_PROCTRL 12 #define VC_CAT_SCHED 14 #define VC_CAT_INODE 38 +#define VC_CAT_VINFO 46 + #define VC_CAT_RLIMIT 60 #define VC_CAT_SYSTEST 61 @@ -75,6 +79,8 @@ #define VCMD_new_s_context VC_CMD(COMPAT, 1, 1) #define VCMD_set_ipv4root VC_CMD(COMPAT, 2, 3) +#define VCMD_enter_namespace VC_CMD(PROCALT, 1, 0) + /* compatibiliy vserver arguments */ struct vcmd_new_s_context_v1 { @@ -147,15 +153,16 @@ struct vcmd_tbf_sched_v1 { /* inode vserver commands */ -#define VCMD_get_iattr VC_CMD(INODE, 1, 0) -#define VCMD_set_iattr VC_CMD(INODE, 2, 0) +#define VCMD_get_iattr_v0 VC_CMD(INODE, 1, 0) +#define VCMD_set_iattr_v0 VC_CMD(INODE, 2, 0) +#define VCMD_get_iattr VC_CMD(INODE, 1, 1) +#define VCMD_set_iattr VC_CMD(INODE, 2, 1) -struct vcmd_ctx_iattr_v0 { - uint64_t dev; - uint64_t ino; - uint32_t xid; - uint32_t flags; - uint32_t mask; +struct vcmd_ctx_iattr_v1 { + const char *file_name; + uint32_t xid; + uint32_t flags; + uint32_t mask; }; #define IATTR_XID 0x01000000 @@ -169,5 +176,37 @@ struct vcmd_ctx_iattr_v0 { +/* vinfo commands */ + +#define VCMD_task_xid VC_CMD(VINFO, 1, 0) +#define VCMD_task_nid VC_CMD(VINFO, 2, 0) + +#define VCMD_vx_info VC_CMD(VINFO, 5, 0) +#define VCMD_nx_info VC_CMD(VINFO, 6, 0) + +struct vcmd_vx_info_v0 { + uint32_t xid; + uint32_t initpid; + /* more to come */ +}; + + +#define VCMD_vx_set_vhi_name VC_CMD(VHOST, 1, 0) +#define VCMD_vx_get_vhi_name VC_CMD(VHOST, 2, 0) + +struct vcmd_vx_vhi_name_v0 { + uint32_t field; + char name[65]; +}; + +enum vx_vhi_name_field { + VHIN_CONTEXT=0, + VHIN_SYSNAME, + VHIN_NODENAME, + VHIN_RELEASE, + VHIN_VERSION, + VHIN_MACHINE, + VHIN_DOMAINNAME, +}; #endif /* _LINUX_VIRTUAL_H */