Blame include/acl_ea.h

rpm-build 0a0c83
/*
rpm-build 0a0c83
  File: acl_ea.h
rpm-build 0a0c83
rpm-build 0a0c83
  (extended attribute representation of access control lists)
rpm-build 0a0c83
rpm-build 0a0c83
  Copyright (C) 2002  Andreas Gruenbacher, <agruen@suse.de>
rpm-build 0a0c83
rpm-build 0a0c83
  This program is free software: you can redistribute it and/or modify it
rpm-build 0a0c83
  under the terms of the GNU Lesser General Public License as published by
rpm-build 0a0c83
  the Free Software Foundation, either version 2.1 of the License, or
rpm-build 0a0c83
  (at your option) any later version.
rpm-build 0a0c83
rpm-build 0a0c83
  This program is distributed in the hope that it will be useful,
rpm-build 0a0c83
  but WITHOUT ANY WARRANTY; without even the implied warranty of
rpm-build 0a0c83
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
rpm-build 0a0c83
  GNU Lesser General Public License for more details.
rpm-build 0a0c83
rpm-build 0a0c83
  You should have received a copy of the GNU Lesser General Public License
rpm-build 0a0c83
  along with this program.  If not, see <http://www.gnu.org/licenses/>.
rpm-build 0a0c83
*/
rpm-build 0a0c83
rpm-build 0a0c83
#define ACL_EA_ACCESS		"system.posix_acl_access"
rpm-build 0a0c83
#define ACL_EA_DEFAULT		"system.posix_acl_default"
rpm-build 0a0c83
rpm-build 0a0c83
#define ACL_EA_VERSION		0x0002
rpm-build 0a0c83
rpm-build 0a0c83
typedef struct {
rpm-build 0a0c83
	u_int16_t	e_tag;
rpm-build 0a0c83
	u_int16_t	e_perm;
rpm-build 0a0c83
	u_int32_t	e_id;
rpm-build 0a0c83
} acl_ea_entry;
rpm-build 0a0c83
rpm-build 0a0c83
typedef struct {
rpm-build 0a0c83
	u_int32_t	a_version;
rpm-build 0a0c83
	acl_ea_entry	a_entries[0];
rpm-build 0a0c83
} acl_ea_header;
rpm-build 0a0c83
rpm-build 0a0c83
static inline size_t acl_ea_size(int count)
rpm-build 0a0c83
{
rpm-build 0a0c83
	return sizeof(acl_ea_header) + count * sizeof(acl_ea_entry);
rpm-build 0a0c83
}
rpm-build 0a0c83
rpm-build 0a0c83
static inline int acl_ea_count(size_t size)
rpm-build 0a0c83
{
rpm-build 0a0c83
	if (size < sizeof(acl_ea_header))
rpm-build 0a0c83
		return -1;
rpm-build 0a0c83
	size -= sizeof(acl_ea_header);
rpm-build 0a0c83
	if (size % sizeof(acl_ea_entry))
rpm-build 0a0c83
		return -1;
rpm-build 0a0c83
	return size / sizeof(acl_ea_entry);
rpm-build 0a0c83
}
rpm-build 0a0c83