make it compilable with non-C99 compilers
[util-vserver.git] / util-vserver / src / wrappers.h
index 319b7c8..9165b1a 100644 (file)
 static UNUSED void 
 FatalErrnoError(bool condition, char const msg[]) /*@*/
 {
+  extern int   wrapper_exit_code;
+
   if (!condition)       return;
   perror(msg);
 
-  extern int   wrapper_exit_code;
   exit(wrapper_exit_code);
 }
 
@@ -169,6 +170,37 @@ Ewrite(int fd, void const *ptr, size_t len)
   return res;
 }
 
+inline static WRAPPER_DECL void
+Ereadlink(const char *path, char *buf, size_t bufsiz)
+{
+  FatalErrnoError(readlink(path, buf, bufsiz)==-1, "readlink()");
+}
+
+inline static WRAPPER_DECL void
+Esymlink(const char *oldpath, const char *newpath)
+{
+  FatalErrnoError(symlink(oldpath, newpath)==-1, "symlink()");
+}
+
+inline static WRAPPER_DECL void
+Eunlink(char const *pathname)
+{
+  FatalErrnoError(unlink(pathname)==-1, "unlink()");
+}
+
+inline static WRAPPER_DECL void
+Egetrlimit(int resource, struct rlimit *rlim)
+{
+  FatalErrnoError(getrlimit(resource, rlim)==-1, "getrlimit()");
+}
+
+inline static WRAPPER_DECL void
+Esetrlimit(int resource, struct rlimit const *rlim)
+{
+  FatalErrnoError(setrlimit(resource, rlim)==-1, "setrlimit()");
+}
+
+
 #undef WRAPPER_DECL
 
 #endif //  H_UTIL_VSERVER_SRC_WRAPPERS_H