X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=include%2Fatalk%2Facl.h;h=c7343a9e735f37878cc0b6e89dbc43fc258b4b4b;hb=3a84db87064922ad10ac10cc1d6833380e575995;hp=edb391598517ddb757f57607719cffd4cfdf340b;hpb=9f013bf0ce828ff7c61db4f5a404d9029ed82999;p=netatalk.git diff --git a/include/atalk/acl.h b/include/atalk/acl.h index edb39159..c7343a9e 100644 --- a/include/atalk/acl.h +++ b/include/atalk/acl.h @@ -1,5 +1,4 @@ /* - $Id: acl.h,v 1.1 2009-10-14 15:04:01 franklahm Exp $ Copyright (c) 2009 Frank Lahm This program is free software; you can redistribute it and/or modify @@ -20,15 +19,50 @@ #include "config.h" #endif /* HAVE_CONFIG_H */ -#ifdef HAVE_NFSv4_ACLS +#ifdef HAVE_ACLS + +#define O_NETATALK_ACL (O_NOFOLLOW << 1) +#define O_IGNORE (O_NOFOLLOW << 2) + +#ifdef HAVE_SOLARIS_ACLS #include -#endif /* HAVE_NFSv4_ACLS */ +#endif +#ifdef HAVE_FREEBSD_SUNACL +#include +#endif + +#ifdef HAVE_NFSV4_ACLS + +#define chmod_acl nfsv4_chmod -/* Solaris NFSv4 ACL stuff */ -#ifdef HAVE_NFSv4_ACLS extern int get_nfsv4_acl(const char *name, ace_t **retAces); -extern int remove_acl(const char *name); -#endif /* HAVE_NFSv4_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_NFSV4_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); + +#else /* HAVE_ACLS=no */ + +#define O_NETATALK_ACL 0 +#define chmod_acl chmod +#endif /* HAVE_ACLS */ -#endif /* ATALK_ACL_H */ +#endif /* ATALK_ACL_H */