cleanups; outsourced some macros/inlines to libinternal.a
[util-vserver.git] / util-vserver / src / util.h
index b85097d..127c007 100644 (file)
 #define H_UTIL_VSERVER_SRC_UTIL_H
 
 #include "compat.h"
+#include "lib_internal/util-io.h"
+#include "lib_internal/util-mem.h"
+#include "lib_internal/util-safechdir.h"
+#include "lib_internal/util-dotfile.h"
 
 #include <unistd.h>
 #include <string.h>
 #  define const_cast(X)         const_cast<X>
 #endif
 
-inline static void *
-Xmemcpy(void * restrict dst, void const * restrict src, size_t len)
-{
-  memcpy(dst, src, len);
-  return (char *)(dst)+len;
-}
+#define DIM_OF(X)              (sizeof(X)/sizeof((X)[0]))
 
-inline static void UNUSED
-writeStr(int fd, char const *cmd)
-{
-  (void)write(fd, cmd, strlen(cmd));
-}
+void   exitLikeProcess(int pid) NORETURN;
 
-struct stat;
-int    safeChdir(char const *, struct stat const *exp_stat) NONNULL((1,2));
 
-#define WRITE_MSG(FD,X)                (void)(write(FD,X,sizeof(X)-1))
-#define WRITE_STR(FD,X)                writeStr(FD,X)
+#define VSERVER_DECLARE_CMD(CMD)     \
+  char         buf[strlen(CMD)+1];  \
+  memcpy(buf, (CMD), strlen(CMD)+1); \
+  CMD = basename(buf);
 
 #endif //  H_UTIL_VSERVER_SRC_UTIL_H