acl_perm.c (75928) | acl_perm.c (90781) |
---|---|
1/* | 1/* |
2 * Copyright (c) 2001 Chris D. Faulhaber | 2 * Copyright (c) 2001-2002 Chris D. Faulhaber |
3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright 9 * notice, this list of conditions and the following disclaimer. 10 * 2. Redistributions in binary form must reproduce the above copyright --- 7 unchanged lines hidden (view full) --- 18 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 19 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 20 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 21 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 22 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 23 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 24 * POSSIBILITY OF SUCH DAMAGE. 25 * | 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright 9 * notice, this list of conditions and the following disclaimer. 10 * 2. Redistributions in binary form must reproduce the above copyright --- 7 unchanged lines hidden (view full) --- 18 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 19 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 20 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 21 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 22 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 23 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 24 * POSSIBILITY OF SUCH DAMAGE. 25 * |
26 * $FreeBSD: head/lib/libc/posix1e/acl_perm.c 75928 2001-04-24 22:45:41Z jedgar $ | 26 * $FreeBSD: head/lib/libc/posix1e/acl_perm.c 90781 2002-02-17 20:05:20Z jedgar $ |
27 */ 28 29#include <sys/types.h> 30#include "namespace.h" 31#include <sys/acl.h> 32#include "un-namespace.h" 33 34#include <errno.h> --- 8 unchanged lines hidden (view full) --- 43{ 44 45 if (permset_d) { 46 switch(perm) { 47 case ACL_READ: 48 case ACL_WRITE: 49 case ACL_EXECUTE: 50 *permset_d |= perm; | 27 */ 28 29#include <sys/types.h> 30#include "namespace.h" 31#include <sys/acl.h> 32#include "un-namespace.h" 33 34#include <errno.h> --- 8 unchanged lines hidden (view full) --- 43{ 44 45 if (permset_d) { 46 switch(perm) { 47 case ACL_READ: 48 case ACL_WRITE: 49 case ACL_EXECUTE: 50 *permset_d |= perm; |
51 return 0; | 51 return (0); |
52 } 53 } 54 55 errno = EINVAL; | 52 } 53 } 54 55 errno = EINVAL; |
56 return -1; | 56 return (-1); |
57} 58 59/* 60 * acl_clear_perms() (23.4.3): clear all permisions from the permission 61 * set permset_d 62 */ 63int 64acl_clear_perms(acl_permset_t permset_d) 65{ 66 | 57} 58 59/* 60 * acl_clear_perms() (23.4.3): clear all permisions from the permission 61 * set permset_d 62 */ 63int 64acl_clear_perms(acl_permset_t permset_d) 65{ 66 |
67 if (!permset_d) { | 67 if (permset_d == NULL) { |
68 errno = EINVAL; | 68 errno = EINVAL; |
69 return -1; | 69 return (-1); |
70 } 71 72 *permset_d = ACL_PERM_NONE; 73 | 70 } 71 72 *permset_d = ACL_PERM_NONE; 73 |
74 return 0; | 74 return (0); |
75} 76 77/* 78 * acl_delete_perm() (23.4.10): remove the permission in perm from the 79 * permission set permset_d 80 */ 81int 82acl_delete_perm(acl_permset_t permset_d, acl_perm_t perm) 83{ 84 85 if (permset_d) { 86 switch(perm) { 87 case ACL_READ: 88 case ACL_WRITE: 89 case ACL_EXECUTE: 90 *permset_d &= ~(perm & ACL_PERM_BITS); | 75} 76 77/* 78 * acl_delete_perm() (23.4.10): remove the permission in perm from the 79 * permission set permset_d 80 */ 81int 82acl_delete_perm(acl_permset_t permset_d, acl_perm_t perm) 83{ 84 85 if (permset_d) { 86 switch(perm) { 87 case ACL_READ: 88 case ACL_WRITE: 89 case ACL_EXECUTE: 90 *permset_d &= ~(perm & ACL_PERM_BITS); |
91 return 0; | 91 return (0); |
92 } 93 } 94 95 errno = EINVAL; | 92 } 93 } 94 95 errno = EINVAL; |
96 return -1; | 96 return (-1); |
97} | 97} |