#ifndef H_UTIL_VSERVER_LIB_INTERNAL_UNIFY_H
#define H_UTIL_VSERVER_LIB_INTERNAL_UNIFY_H
+#include <sys/stat.h>
#include <stdbool.h>
-struct stat;
-
bool
Unify_unify(char const *src, struct stat const *src_stat,
- char const *dst) NONNULL((1,2,3));
+ char const *dst, bool ignore_zero) NONNULL((1,2,3));
bool
Unify_copy(char const *src, struct stat const *src_stat,
Unify_setTime(char const *dst, struct stat const *stat) NONNULL((1,2));
+typedef enum { unifyUNSUPPORTED, unifyUINLINKABLE, unifyBUSY } UnifyStatus;
+
+UnifyStatus
+Unify_isIUnlinkable(char const *filename) NONNULL((1));
+
#define Unify_isUnified(LHS, RHS) \
((bool)((LHS)->st_dev ==(RHS)->st_dev && \
(LHS)->st_ino ==(RHS)->st_ino))