Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  acl.h   Sprache: C

 
// SPDX-License-Identifier: GPL-2.0
/*
  File: fs/ext4/acl.h

  (C) 2001 Andreas Gruenbacher, <a.gruenbacher@computer.org>
*/


#include <linux/posix_acl_xattr.h>

#define EXT4_ACL_VERSION 0x0001

typedef struct {
 __le16  e_tag;
 __le16  e_perm;
 __le32  e_id;
} ext4_acl_entry;

typedef struct {
 __le16  e_tag;
 __le16  e_perm;
} ext4_acl_entry_short;

typedef struct {
 __le32  a_version;
} ext4_acl_header;

static inline size_t ext4_acl_size(int count)
{
 if (count <= 4) {
  return sizeof(ext4_acl_header) +
         count * sizeof(ext4_acl_entry_short);
 } else {
  return sizeof(ext4_acl_header) +
         4 * sizeof(ext4_acl_entry_short) +
         (count - 4) * sizeof(ext4_acl_entry);
 }
}

static inline int ext4_acl_count(size_t size)
{
 ssize_t s;
 size -= sizeof(ext4_acl_header);
 s = size - 4 * sizeof(ext4_acl_entry_short);
 if (s < 0) {
  if (size % sizeof(ext4_acl_entry_short))
   return -1;
  return size / sizeof(ext4_acl_entry_short);
 } else {
  if (s % sizeof(ext4_acl_entry))
   return -1;
  return s / sizeof(ext4_acl_entry) + 4;
 }
}

#ifdef CONFIG_EXT4_FS_POSIX_ACL

/* acl.c */
struct posix_acl *ext4_get_acl(struct inode *inode, int type, bool rcu);
int ext4_set_acl(struct mnt_idmap *idmap, struct dentry *dentry,
   struct posix_acl *acl, int type);
extern int ext4_init_acl(handle_t *, struct inode *, struct inode *);

#else  /* CONFIG_EXT4_FS_POSIX_ACL */
#include <linux/sched.h>
#define ext4_get_acl NULL
#define ext4_set_acl NULL

static inline int
ext4_init_acl(handle_t *handle, struct inode *inode, struct inode *dir)
{
 return 0;
}
#endif  /* CONFIG_EXT4_FS_POSIX_ACL */


Messung V0.5
C=97 H=87 G=91

¤ Dauer der Verarbeitung: 0.9 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.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge