# define VC_ATTR_UNUSED __attribute__((__unused__))
# define VC_ATTR_NORETURN __attribute__((__noreturn__))
# define VC_ATTR_CONST __attribute__((__const__))
-# if __GNUC__>3 || (__GNUC__==3 && __GNUC_MINOR__>=3)
+# if __GNUC__*0x10000 + __GNUC_MINOR__*0x100 + __GNUC_PATCHLEVEL__ >= 0x30300
# define VC_ATTR_NONNULL(ARGS) __attribute__((__nonnull__ ARGS))
# define VC_ATTR_ALWAYSINLINE __attribute__((__always_inline__))
# else
# define VC_ATTR_NONNULL(ARGS)
# define VC_ATTR_ALWAYSINLINE
# endif
-# if __GNUC__>3
+# if __GNUC__*0x10000 + __GNUC_MINOR__*0x100 + __GNUC_PATCHLEVEL__ >= 0x30303
# define VC_ATTR_PURE __attribute__((__pure__))
# else
# define VC_ATTR_PURE
struct vc_ctx_caps {
uint_least64_t bcaps;
+ uint_least64_t bmask;
uint_least64_t ccaps;
uint_least64_t cmask;
};
int vc_text2cap(char const *);
char const * vc_cap2text(unsigned int);
- inline static uint_least32_t vc_get_securecaps() {
+ inline static uint_least32_t vc_get_insecurecaps() {
return ( (1<<VC_CAP_LINUX_IMMUTABLE) | (1<<VC_CAP_NET_BROADCAST) |
(1<<VC_CAP_NET_ADMIN) | (1<<VC_CAP_NET_RAW) |
(1<<VC_CAP_IPC_LOCK) | (1<<VC_CAP_IPC_OWNER) |
vcCFG_RECENT_SHORT,
vcCFG_RECENT_FULL } vcCfgStyle;
+
+ /** Maps an xid given at '--xid' options to an xid_t */
+ xid_t vc_xidopt2xid(char const *, bool honor_static, char const **err_info);
+
vcCfgStyle vc_getVserverCfgStyle(char const *id);
/** Resolves the name of the vserver. The result will be allocated and must