xref: /freebsd/lib/libc/posix1e/acl_compat.c (revision 8d7e1f1585176ff0f0c9139e030a669a52c50600)
1ae1add4eSEdward Tomasz Napierala /*-
2ae1add4eSEdward Tomasz Napierala  * Copyright (c) 2008 Edward Tomasz Napierała <trasz@FreeBSD.org>
3ae1add4eSEdward Tomasz Napierala  * All rights reserved.
4ae1add4eSEdward Tomasz Napierala  *
5ae1add4eSEdward Tomasz Napierala  * Redistribution and use in source and binary forms, with or without
6ae1add4eSEdward Tomasz Napierala  * modification, are permitted provided that the following conditions
7ae1add4eSEdward Tomasz Napierala  * are met:
8ae1add4eSEdward Tomasz Napierala  * 1. Redistributions of source code must retain the above copyright
9ae1add4eSEdward Tomasz Napierala  *    notice, this list of conditions and the following disclaimer.
10ae1add4eSEdward Tomasz Napierala  * 2. Redistributions in binary form must reproduce the above copyright
11ae1add4eSEdward Tomasz Napierala  *    notice, this list of conditions and the following disclaimer in the
12ae1add4eSEdward Tomasz Napierala  *    documentation and/or other materials provided with the distribution.
13ae1add4eSEdward Tomasz Napierala  *
14b7014134SEdward Tomasz Napierala  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15b7014134SEdward Tomasz Napierala  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16b7014134SEdward Tomasz Napierala  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17b7014134SEdward Tomasz Napierala  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18b7014134SEdward Tomasz Napierala  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19b7014134SEdward Tomasz Napierala  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20b7014134SEdward Tomasz Napierala  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21b7014134SEdward Tomasz Napierala  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22b7014134SEdward Tomasz Napierala  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23b7014134SEdward Tomasz Napierala  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24b7014134SEdward Tomasz Napierala  * SUCH DAMAGE.
25ae1add4eSEdward Tomasz Napierala  */
26ae1add4eSEdward Tomasz Napierala 
27ae1add4eSEdward Tomasz Napierala #include <sys/cdefs.h>
28ae1add4eSEdward Tomasz Napierala __FBSDID("$FreeBSD$");
29ae1add4eSEdward Tomasz Napierala 
30ae1add4eSEdward Tomasz Napierala #include <sys/acl.h>
31ae1add4eSEdward Tomasz Napierala 
32*8d7e1f15SCraig Rodrigues int __oldacl_get_perm_np(acl_permset_t, oldacl_perm_t);
33*8d7e1f15SCraig Rodrigues int __oldacl_add_perm(acl_permset_t, oldacl_perm_t);
34*8d7e1f15SCraig Rodrigues int __oldacl_delete_perm(acl_permset_t, oldacl_perm_t);
359762525cSCraig Rodrigues 
36ae1add4eSEdward Tomasz Napierala /*
37ae1add4eSEdward Tomasz Napierala  * Compatibility wrappers for applications compiled against libc from before
38ae1add4eSEdward Tomasz Napierala  * NFSv4 ACLs were added.
39ae1add4eSEdward Tomasz Napierala  */
40ae1add4eSEdward Tomasz Napierala int
41ae1add4eSEdward Tomasz Napierala __oldacl_get_perm_np(acl_permset_t permset_d, oldacl_perm_t perm)
42ae1add4eSEdward Tomasz Napierala {
43ae1add4eSEdward Tomasz Napierala 
44ae1add4eSEdward Tomasz Napierala 	return (acl_get_perm_np(permset_d, perm));
45ae1add4eSEdward Tomasz Napierala }
46ae1add4eSEdward Tomasz Napierala 
47ae1add4eSEdward Tomasz Napierala int
48ae1add4eSEdward Tomasz Napierala __oldacl_add_perm(acl_permset_t permset_d, oldacl_perm_t perm)
49ae1add4eSEdward Tomasz Napierala {
50ae1add4eSEdward Tomasz Napierala 
51ae1add4eSEdward Tomasz Napierala 	return (acl_add_perm(permset_d, perm));
52ae1add4eSEdward Tomasz Napierala }
53ae1add4eSEdward Tomasz Napierala 
54ae1add4eSEdward Tomasz Napierala int
55ae1add4eSEdward Tomasz Napierala __oldacl_delete_perm(acl_permset_t permset_d, oldacl_perm_t perm)
56ae1add4eSEdward Tomasz Napierala {
57ae1add4eSEdward Tomasz Napierala 
58ae1add4eSEdward Tomasz Napierala 	return (acl_delete_perm(permset_d, perm));
59ae1add4eSEdward Tomasz Napierala }
60ae1add4eSEdward Tomasz Napierala 
61ae1add4eSEdward Tomasz Napierala __sym_compat(acl_get_perm_np, __oldacl_get_perm_np, FBSD_1.0);
62ae1add4eSEdward Tomasz Napierala __sym_compat(acl_add_perm, __oldacl_add_perm, FBSD_1.0);
63ae1add4eSEdward Tomasz Napierala __sym_compat(acl_delete_perm, __oldacl_delete_perm, FBSD_1.0);
64