]> git.k1024.org Git - pylibacl.git/blob - PORTING
Implement the acl_extended_* functions
[pylibacl.git] / PORTING
1 First, determine if your OS supports the full 28 functions of the
2 POSIX.1e draft (if so, LEVEL2) or only the first 11 functions (most
3 common case, meaning LEVEL1).
4
5 If your OS supports only LEVEL1, modift setup.py as appropriately;
6 unfortunately, the functionality of the module is quite low.
7
8 If your OS supports LEVEL2, there is a function which you must define:
9 testing if an acl_permset_t contains a given permission. For example,
10 under Linux, the acl library defines:
11     int acl_get_perm(acl_permset_t permset_d, acl_perm_t perm);
12 under FreeBSD, the acl_permset_t is actually a mode_t and you can test
13 with |. So just see how this is implemented in your platform and
14 define a function:
15     static int get_perm(acl_permset_t permset_d, acl_perm_t perm);
16 which return 1 if the permset contains perm and 0 otherwise. Put that
17 function in a separate file, os_<your os>.c and modify the top of
18 acl.c to include that file (see there for example).