diff options
Diffstat (limited to 'lib/libc/posix1e/acl_init.c')
-rw-r--r-- | lib/libc/posix1e/acl_init.c | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/lib/libc/posix1e/acl_init.c b/lib/libc/posix1e/acl_init.c deleted file mode 100644 index 4fe4037..0000000 --- a/lib/libc/posix1e/acl_init.c +++ /dev/null @@ -1,93 +0,0 @@ -/*- - * Copyright (c) 1999, 2000, 2001 Robert N. M. Watson - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ -/* - * acl_init -- return a fresh acl structure - * acl_dup -- duplicate an acl and return the new copy - */ - -#include <sys/cdefs.h> -__FBSDID("$FreeBSD$"); - -#include <sys/types.h> -#include "namespace.h" -#include <sys/acl.h> -#include "un-namespace.h" -#include <errno.h> -#include <stdlib.h> -#include <string.h> -#include <assert.h> - -#include "acl_support.h" - -#ifndef CTASSERT -#define CTASSERT(x) _CTASSERT(x, __LINE__) -#define _CTASSERT(x, y) __CTASSERT(x, y) -#define __CTASSERT(x, y) typedef char __assert_ ## y [(x) ? 1 : -1] -#endif - -CTASSERT(1 << _ACL_T_ALIGNMENT_BITS > sizeof(struct acl_t_struct)); - -acl_t -acl_init(int count) -{ - int error; - acl_t acl; - - if (count > ACL_MAX_ENTRIES) { - errno = ENOMEM; - return (NULL); - } - if (count < 0) { - errno = EINVAL; - return (NULL); - } - - error = posix_memalign((void *)&acl, 1 << _ACL_T_ALIGNMENT_BITS, - sizeof(struct acl_t_struct)); - if (error) - return (NULL); - - bzero(acl, sizeof(struct acl_t_struct)); - acl->ats_brand = ACL_BRAND_UNKNOWN; - acl->ats_acl.acl_maxcnt = ACL_MAX_ENTRIES; - - return (acl); -} - -acl_t -acl_dup(acl_t acl) -{ - acl_t acl_new; - - acl_new = acl_init(ACL_MAX_ENTRIES); - if (acl_new != NULL) { - *acl_new = *acl; - acl->ats_cur_entry = 0; - acl_new->ats_cur_entry = 0; - } - - return (acl_new); -} |