X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=util-vserver%2Flib%2Fvserver.h;h=6938f450475aedc92ed1d7e841b2cd5a94e9cfa9;hb=1971065b471830690f52c3094ee6692010884550;hp=48b2c6892ba542004a37d115a85b935c287f3e11;hpb=93ca33f8fef9038e57493cc780329c8fbe06c9dc;p=util-vserver.git diff --git a/util-vserver/lib/vserver.h b/util-vserver/lib/vserver.h index 48b2c68..6938f45 100644 --- a/util-vserver/lib/vserver.h +++ b/util-vserver/lib/vserver.h @@ -99,6 +99,16 @@ #define VC_IMMUTABLE_LINK_FL 0x00008000l #define VC_IMMUTABLE_ALL (VC_IMMUTABLE_LINK_FL|VC_IMMUTABLE_FILE_FL) +#define VC_IATTR_XID 0x01000000 + +#define VC_IATTR_ADMIN 0x00000001 +#define VC_IATTR_WATCH 0x00000002 +#define VC_IATTR_HIDE 0x00000004 + +#define VC_IATTR_BARRIER 0x00010000 +#define VC_IATTR_IUNLINK 0x00020000 + + #ifdef __cplusplus extern "C" { #endif @@ -152,19 +162,31 @@ extern "C" { int vc_ctx_kill(xid_t ctx, pid_t pid, int sig); - /** Returns the context of the given process. pid==0 means the current process. */ - xid_t vc_X_getctx(pid_t pid); - - /** Returns the pid of the 'init' process */ - pid_t vc_X_getinitpid(pid_t pid); + int vc_set_iattr(dev_t dev, ino_t ino, xid_t xid, uint32_t flags, uint32_t mask); + int vc_get_iattr(dev_t dev, ino_t ino, xid_t * /*@null@*/ xid, + uint32_t * /*@null@*/ flags, uint32_t * /*@null@*/ mask); - xid_t vc_X_get_filecontext(int fd); - int vc_X_set_filecontext(int fd, xid_t ctx); + int vc_set_iattr_compat(char const *filename, + dev_t dev, ino_t ino, xid_t xid, + uint32_t flags, uint32_t mask, + mode_t const * /*@null@*/ mode); - int vc_X_get_ext2flags(int fd, long *flags); - int vc_X_set_ext2flags(int fd, long set_flags, long del_flags); + int vc_get_iattr_compat(char const *filename, + dev_t dev, ino_t ino, + xid_t * /*@null@*/ xid, + uint32_t * /*@null@*/ flags, + uint32_t * /*@inout@*/ mask, + mode_t const * /*@null@*/ mode); + struct vc_vx_info { + xid_t xid; + pid_t initpid; + }; + + /** Returns the context of the given process. pid==0 means the current process. */ + xid_t vc_get_task_xid(pid_t pid); + int vc_get_vx_info(xid_t xid, struct vc_vx_info *info); int vc_text2cap(char const *); char const * vc_cap2text(int); @@ -180,6 +202,16 @@ extern "C" { (1<