updated
[util-vserver.git] / util-vserver / lib_internal / unify.h
index 6498d3f..60691eb 100644 (file)
 #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, struct stat const *dst_stat) NONNULL((1,2,3,4));
+           char const *dst, bool ignore_zero) NONNULL((1,2,3));
+
+bool
+Unify_copy(char const *src, struct stat const *src_stat,
+          char const *dst) NONNULL((1,2,3));
 
 bool
-Unify_deUnify(char const *src, struct stat const *src_stat,
-             char const *dst, struct stat const *dst_stat) NONNULL((1,2,3,4));
+Unify_deUnify(char const *dst) NONNULL((1));
+
+bool
+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  &&    \