From 51bb00dbddbc88e4c53bd893330b439d121a26f5 Mon Sep 17 00:00:00 2001 From: Nathan Scott Date: Mon, 25 Feb 2002 22:47:37 +0000 Subject: Merge of xfs-cmds-2.4.18:slinx:112279a by nathans. add missing SUBDIRS so the source tarball is built correctly. --- include/libacl.h | 123 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) (limited to 'include/libacl.h') diff --git a/include/libacl.h b/include/libacl.h index e69de29..600d4ee 100644 --- a/include/libacl.h +++ b/include/libacl.h @@ -0,0 +1,123 @@ +/* + File: libacl.h + + (C) 1999, 2000 Andreas Gruenbacher, +*/ + +#ifndef __ACL_LIBACL_H +#define __ACL_LIBACL_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* acl_entry_to_any_str(), acl_to_any_text() */ + +/* Print NO, SOME or ALL effective permissions comments. SOME prints + effective rights comments for entries which have different permissions + than effective permissions. */ +#define TEXT_NO_EFFECTIVE 0x00 +#define TEXT_SOME_EFFECTIVE 0x01 +#define TEXT_ALL_EFFECTIVE 0x02 + +/* Align effective permission comments to column 32 using tabs or + use a single tab. */ +#define TEXT_SMART_INDENT 0x04 + +/* User and group IDs instead of names. */ +#define TEXT_NUMERIC_IDS 0x08 + +/* Only output the first letter of entry types + ("u::rwx" instead of "user::rwx"). */ +#define TEXT_ABBREVIATE 0x10 + +/* Don't put an end-of-line ('\n') after the ACL */ +#define TEXT_NO_ENDOFLINE 0x20 + +/* acl_check error codes */ + +#define ACL_MULTI_ERROR (0x1000) /* multiple unique objects */ +#define ACL_DUPLICATE_ERROR (0x2000) /* duplicate Id's in entries */ +#define ACL_MISS_ERROR (0x3000) /* missing required entry */ +#define ACL_ENTRY_ERROR (0x4000) /* wrong entry type */ + +extern char * +acl_to_any_text( + acl_t acl, + ssize_t *len_p, + const char *prefix, + char separator, + const char *suffix, + int options); +extern ssize_t +acl_entry_to_any_str( + const acl_entry_t entry_d, + char *text_p, + ssize_t size, + const acl_entry_t mask_d, + const char *prefix, + int options); +extern int +acl_cmp( + acl_t acl1, + acl_t acl2); +extern int +acl_check( + acl_t acl, + int *last); +extern acl_t +acl_from_mode( + mode_t mode); +extern int +acl_equiv_mode( + acl_t acl, + mode_t *mode_p); +extern acl_t +acl_get_file_mode( + const char *path_p); +extern acl_t +acl_get_fd_mode( + int fd); +extern int +acl_set_file_mode( + const char *path_p, + acl_type_t type, + acl_t acl); +extern int +acl_set_fd_mode( + int fd, + acl_t acl); +int +acl_extended_file( + const char *path_p); +int +acl_extended_fd( + int fd); +extern int +acl_print( + FILE *file, + acl_t acl, + const char *prefix, + int options); +extern int +acl_entries( + acl_t acl); +extern const char * +acl_error( + int code); +extern int +acl_get_perm( + acl_permset_t permset_d, + acl_perm_t perm); +extern int +acl_delete_acc_file( + const char *file); + +#ifdef __cplusplus +} +#endif + +#endif /* __ACL_LIBACL_H */ + -- cgit v1.2.1