Now exporting the vserver rlimit interface directly, which can be used to
[util-vserver.git] / lib / vserver-internal.h
index fbccfd5..972f301 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vserver-internal.h,v 1.1.4.13 2004/02/05 03:52:45 ensc Exp $    --*- c++ -*--
+// $Id: vserver-internal.h,v 1.1.4.14 2004/02/14 00:25:34 ensc Exp $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -26,8 +26,8 @@
 #include <asm/unistd.h>
 #include <errno.h>
 
-#ifndef __NR_vserver
-#  define __NR_vserver 273
+#if !defined(__NR_vserver) && defined(ENSC_SYSCALL__NR_vserver)
+#  define __NR_vserver ENSC_SYSCALL__NR_vserver
 #endif
 
 #define VC_PREFIX      0)
 extern "C" {
 #endif
 
+#define ENSC_STRUCT_IDX(STRUCT,ATTR)                   \
+  ((char*)(&(STRUCT).ATTR) - (char*)(&(STRUCT)))
+#define ENSC_SAME_STRUCT_IDX(LHS,RHS,ATTR)                     \
+  (ENSC_STRUCT_IDX(LHS,ATTR) == ENSC_STRUCT_IDX(RHS,ATTR))
+#define ENSC_SAME_STRUCT_ITEM(LHS,RHS,ATTR)    \
+  (ENSC_SAME_STRUCT_IDX(LHS,RHS,ATTR) &&       \
+   sizeof((LHS).ATTR)==sizeof((RHS).ATTR) &&   \
+   sizeof(LHS)==sizeof(RHS))
+
 #ifndef HAVE_VSERVER
 #ifdef ENSC_SYSCALL_TRADITIONAL
 inline static UNUSED ALWAYSINLINE