Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Linux/include/linux/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 1 kB image not shown  

Quelle  posix_acl_xattr.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0 */
/*
  File: linux/posix_acl_xattr.h

  Extended attribute system call representation of Access Control Lists.

  Copyright (C) 2000 by Andreas Gruenbacher <a.gruenbacher@computer.org>
  Copyright (C) 2002 SGI - Silicon Graphics, Inc <linux-xfs@oss.sgi.com>
 */

#ifndef _POSIX_ACL_XATTR_H
#define _POSIX_ACL_XATTR_H

#include <uapi/linux/xattr.h>
#include <uapi/linux/posix_acl_xattr.h>
#include <linux/posix_acl.h>

static inline size_t
posix_acl_xattr_size(int count)
{
 return (sizeof(struct posix_acl_xattr_header) +
  (count * sizeof(struct posix_acl_xattr_entry)));
}

static inline int
posix_acl_xattr_count(size_t size)
{
 if (size < sizeof(struct posix_acl_xattr_header))
  return -1;
 size -= sizeof(struct posix_acl_xattr_header);
 if (size % sizeof(struct posix_acl_xattr_entry))
  return -1;
 return size / sizeof(struct posix_acl_xattr_entry);
}

#ifdef CONFIG_FS_POSIX_ACL
struct posix_acl *posix_acl_from_xattr(struct user_namespace *user_ns,
           const void *value, size_t size);
#else
static inline struct posix_acl *
posix_acl_from_xattr(struct user_namespace *user_ns, const void *value,
       size_t size)
{
 return ERR_PTR(-EOPNOTSUPP);
}
#endif

int posix_acl_to_xattr(struct user_namespace *user_ns,
         const struct posix_acl *acl, void *buffer, size_t size);
static inline const char *posix_acl_xattr_name(int type)
{
 switch (type) {
 case ACL_TYPE_ACCESS:
  return XATTR_NAME_POSIX_ACL_ACCESS;
 case ACL_TYPE_DEFAULT:
  return XATTR_NAME_POSIX_ACL_DEFAULT;
 }

 return "";
}

static inline int posix_acl_type(const char *name)
{
 if (strcmp(name, XATTR_NAME_POSIX_ACL_ACCESS) == 0)
  return ACL_TYPE_ACCESS;
 else if (strcmp(name, XATTR_NAME_POSIX_ACL_DEFAULT) == 0)
  return ACL_TYPE_DEFAULT;

 return -1;
}

/* These are legacy handlers. Don't use them for new code. */
extern const struct xattr_handler nop_posix_acl_access;
extern const struct xattr_handler nop_posix_acl_default;

#endif /* _POSIX_ACL_XATTR_H */

Messung V0.5
C=94 H=98 G=95

¤ Dauer der Verarbeitung: 0.11 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.