📄 acl.h
字号:
/* cygwin/acl.h header file for Cygwin. Copyright 1999, 2000, 2001, 2002 Red Hat, Inc. Written by C. Vinschen.This file is part of Cygwin.This software is a copyrighted work licensed under the terms of theCygwin license. Please consult the file "CYGWIN_LICENSE" fordetails. */#ifndef _CYGWIN_ACL_H#ifdef __cplusplusextern "C" {#endif#define _CYGWIN_ACL_H#include <_ansi.h>#include <sys/types.h>#include <sys/stat.h>/* Values for `cmd' in calls to acl(2) and facl(2) */#define SETACL (0x0)#define GETACL (0x1)#define GETACLCNT (0x2)#define MIN_ACL_ENTRIES (4) // minimal acl entries from GETACLCNT#define MAX_ACL_ENTRIES (256) // max entries of each type// Return values of aclcheck(3) in case of error */#define GRP_ERROR (0x1)#define USER_ERROR (0x2)#define CLASS_ERROR (0x3)#define OTHER_ERROR (0x4)#define DUPLICATE_ERROR (0x5)#define ENTRY_ERROR (0x6)#define MISS_ERROR (0x7) // which = -1#define MEM_ERROR (0x8) // which = -1// Values for entry type of struct acl#define USER_OBJ (0x0001) // owner#define USER (0x0002) // additional user#define GROUP_OBJ (0x0004) // owning group#define GROUP (0x0008) // additional group#define CLASS_OBJ (0x0010) // mask entry#define OTHER_OBJ (0x0020) // others#define ACL_DEFAULT (0x1000) // default flag#define DEF_USER_OBJ (ACL_DEFAULT|USER_OBJ) // default owner#define DEF_USER (ACL_DEFAULT|USER) // default additional user#define DEF_GROUP_OBJ (ACL_DEFAULT|GROUP_OBJ) // default owning group#define DEF_GROUP (ACL_DEFAULT|GROUP) // default additional group#define DEF_CLASS_OBJ (ACL_DEFAULT|CLASS_OBJ) // default mask entry#define DEF_OTHER_OBJ (ACL_DEFAULT|OTHER_OBJ) // default others// Values with equivalent meanings#define USER_OWNER USER_OBJ#define GROUP_OWNER GROUP_OBJ#define MASK CLASS_OBJ#define OTHER OTHER_OBJ#ifdef __INSIDE_CYGWIN__typedef struct __acl16 { int a_type; __uid16_t a_id; mode_t a_perm;} __aclent16_t;typedef struct __acl32 { int a_type; __uid32_t a_id; mode_t a_perm;} __aclent32_t;#elsetypedef struct acl { int a_type; /* entry type */ uid_t a_id; /* UID | GID */ mode_t a_perm; /* permissions */} aclent_t;#endif#ifndef __INSIDE_CYGWIN__int _EXFUN(acl,(const char *path, int cmd, int nentries, aclent_t *aclbufp));int _EXFUN(lacl,(const char *path, int cmd, int nentries, aclent_t *aclbufp));int _EXFUN(facl,(int fd, int cmd, int nentries, aclent_t *aclbufp));int _EXFUN(aclcheck,(aclent_t *aclbufp, int nentries, int *which));int _EXFUN(aclsort,(int nentries, int calclass, aclent_t *aclbufp));int _EXFUN(acltomode,(aclent_t *aclbufp, int nentries, mode_t *modep));int _EXFUN(aclfrommode,(aclent_t *aclbufp, int nentries, mode_t *modep));int _EXFUN(acltopbits,(aclent_t *aclbufp, int nentries, mode_t *pbitsp));int _EXFUN(aclfrompbits,(aclent_t *aclbufp, int nentries, mode_t *pbitsp));char *_EXFUN(acltotext,(aclent_t *aclbufp, int aclcnt));aclent_t *_EXFUN(aclfromtext,(char *acltextp, int *aclcnt));#endif#ifdef __cplusplus}#endif#endif /* _CYGWIN_ACL_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -