cleanups; use CALL_VC() macro
authorEnrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Wed, 21 Jan 2004 18:54:35 +0000 (18:54 +0000)
committerEnrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Wed, 21 Jan 2004 18:54:35 +0000 (18:54 +0000)
git-svn-id: http://svn.linux-vserver.org/svn/util-vserver/trunk@670 94cd875c-1c1d-0410-91d2-eb244daf1a30

util-vserver/lib/fscompat_getiattr.c
util-vserver/lib/fscompat_setiattr.c

index 4d6ae59..38f8dd2 100644 (file)
 #endif
 
 #include "vserver.h"
-#include "vserver-internal.h"
 #include <fcntl.h>
 
+#if defined(VC_ENABLE_API_FSCOMPAT) && defined(VC_ENABLE_API_V13)
+#  define VC_MULTIVERSION_SYSCALL      1
+#endif
+#include "vserver-internal.h"
+
 #ifdef VC_ENABLE_API_FSCOMPAT
-#  include "fscompat_getiattr-v11.hc"
+#  include "fscompat_getiattr-fscompat.hc"
+#endif
+
+#ifdef VC_ENABLE_API_V13
+#  include "fscompat_getiattr-v13.hc"
 #endif
 
 int
 vc_get_iattr_compat(char const *filename,
                    dev_t dev, ino_t ino,
-                   xid_t    * /*@null@*/ xid,
-                   uint32_t * /*@null@*/ flags,
-                   uint32_t * mask)
+                   xid_t * xid, uint32_t * flags, uint32_t * mask)
 {
-#ifdef VC_ENABLE_API_FSCOMPAT
-  int          ver = utilvserver_checkCompatVersion();
-  if (ver==-1) return -1;
-#endif
-
   if ( (mask==0) ||
        ((*mask&VC_IATTR_XID)  && xid==0) ||
        ((*mask&~VC_IATTR_XID) && flags==0) ) {
@@ -47,16 +48,7 @@ vc_get_iattr_compat(char const *filename,
     return -1;
   }
   if ( flags ) *flags &= ~*mask;
-  
-#ifdef VC_ENABLE_API_FSCOMPAT
-  if ((ver&0xffff)<=4)
-    return vc_get_iattr_compat_v11(filename, dev, ino, xid, flags, mask);
-#endif
-
-#ifdef VC_ENABLE_API_V13
-  return vc_get_iattr(dev, ino, xid, flags, mask);
-#endif
 
-  errno = ENOSYS;
-  return -1;
+  CALL_VC(CALL_VC_V13     (vc_get_iattr_compat, filename, dev, ino, xid, flags, mask),
+         CALL_VC_FSCOMPAT(vc_get_iattr_compat, filename, dev, ino, xid, flags, mask));
 }
index e4f937b..3d27004 100644 (file)
 #endif
 
 #include "vserver.h"
-#include "vserver-internal.h"
 #include <fcntl.h>
 
-#ifdef VC_ENABLE_API_FSCOMPAT
-#  include "fscompat_setiattr-v11.hc"
+#if defined(VC_ENABLE_API_FSCOMPAT) && defined(VC_ENABLE_API_V13)
+#  define VC_MULTIVERSION_SYSCALL      1
 #endif
+#include "vserver-internal.h"
 
-int
-vc_set_iattr_compat(char const *filename,
-                   dev_t dev, ino_t ino, xid_t xid,
-                   uint32_t flags, uint32_t mask)
-{
 #ifdef VC_ENABLE_API_FSCOMPAT
-  int          ver = utilvserver_checkCompatVersion();
-  if (ver==-1) return -1;
-  if ((ver&0xffff)<=4)
-    return vc_set_iattr_compat_v11(filename, dev, ino, xid, flags, mask);
+#  include "fscompat_setiattr-fscompat.hc"
 #endif
 
 #ifdef VC_ENABLE_API_V13
-  return vc_set_iattr(dev, ino, xid, flags, mask);
+#  include "fscompat_setiattr-v13.hc"
 #endif
 
-  errno = ENOSYS;
-  return -1;
+int
+vc_set_iattr_compat(char const *filename,
+                   dev_t dev, ino_t ino, xid_t xid,
+                   uint32_t flags, uint32_t mask)
+{
+  CALL_VC(CALL_VC_V13     (vc_set_iattr_compat, filename, dev, ino, xid, flags, mask),
+         CALL_VC_FSCOMPAT(vc_set_iattr_compat, filename, dev, ino, xid, flags, mask));
 }