#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