X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=include%2Fatalk%2Facl.h;h=810be707bfec96b9ee2a8366cd1e25b8a83ad28e;hb=b362b6f7b22b6e4e9e74760989f389149677917b;hp=6b48e5522c1e365a187fb081f2275a81c2704c3d;hpb=7e8176ccdb84296ac46cd211c8a1a6884d1d95f3;p=netatalk.git diff --git a/include/atalk/acl.h b/include/atalk/acl.h index 6b48e552..810be707 100644 --- a/include/atalk/acl.h +++ b/include/atalk/acl.h @@ -19,14 +19,43 @@ #include "config.h" #endif /* HAVE_CONFIG_H */ +#ifdef HAVE_ACLS + +#define O_NETATALK_ACL (O_NOFOLLOW << 1) + #ifdef HAVE_SOLARIS_ACLS #include -#endif /* HAVE_SOLARIS_ACLS */ -#ifdef HAVE_SOLARIS_ACLS +#define chmod_acl nfsv4_chmod + extern int get_nfsv4_acl(const char *name, ace_t **retAces); -#endif /* HAVE_SOLARIS_ACLS */ +extern int strip_trivial_aces(ace_t **saces, int sacecount); +extern int strip_nontrivial_aces(ace_t **saces, int sacecount); +extern ace_t *concat_aces(ace_t *aces1, int ace1count, ace_t *aces2, int ace2count); +extern int nfsv4_chmod(char *name, mode_t mode); + +#endif /* HAVE_SOLARIS_ACLS */ + +#ifdef HAVE_POSIX_ACLS +#include +#include +#include + +#define chmod_acl posix_chmod +#define fchmod_acl posix_fchmod + +extern int posix_chmod(const char *name, mode_t mode); +extern int posix_fchmod(int fd, mode_t mode); + +#endif /* HAVE_POSIX_ACLS */ extern int remove_acl_vfs(const char *name); -#endif /* ATALK_ACL_H */ +#else /* HAVE_ACLS=no */ + +#define O_NETATALK_ACL +#define chmod_acl chmod + +#endif /* HAVE_ACLS */ + +#endif /* ATALK_ACL_H */