cleanups; outsourced some macros/inlines to libinternal.a
[util-vserver.git] / util-vserver / src / util.h
index ebf6ee0..127c007 100644 (file)
 #ifndef H_UTIL_VSERVER_SRC_UTIL_H
 #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>
 
   "the GNU General Public License.  This program has absolutely no warranty.\n"
 #endif
 
-inline static void
-writeStr(int fd, char const *cmd)
-{
-  (void)write(fd, cmd, strlen(cmd));
-}
+#ifndef __cplusplus
+#  define cAsT_(X)              (X))
+#  define reinterpret_cast(X)   ((X) cAsT_
+#  define static_cast(X)        ((X) cAsT_
+#  define const_cast(X)         ((X) cAsT_
+#else   /* __cplusplus */
+#  define reinterpret_cast(X)   reinterpret_cast<X>
+#  define static_cast(X)        static_cast<X>
+#  define const_cast(X)         const_cast<X>
+#endif
+
+#define DIM_OF(X)              (sizeof(X)/sizeof((X)[0]))
+
+void   exitLikeProcess(int pid) NORETURN;
+
 
-#define WRITE_MSG(FD,X)                (void)(write(FD,X,sizeof(X)))
-#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