#include <linux/types.h>
Estructuras de datos privadas (ocultas) | |
| struct | acl_entry |
| Entrada de la ACL a nivel VFS. Se utiliza dentro del la estructura vfs_acl. Más... | |
| struct | vfs_acl |
| ACL a nivel VFS. Se utiliza dentro del inodo del VFS. Más... | |
Constantes (públicas) de vfs_acl | |
| Debe considerarse que el nombre de la constante es público y su valor privado. | |
| #define | ACL_OK 0 |
| Retorno de funciones que manejan las ACL. | |
Constantes (públicas) de acl_entry | |
| Debe considerarse que el nombre de la constante es público y su valor privado. | |
| #define | ACL_NULL_BITS 0 |
| Para representar el modo nulo (ningun permiso) en la ACL. | |
| #define | ACL_EXEC_BIT 1 |
| Para representar el permiso de ejecutabilidad en la ACL. | |
| #define | ACL_WRITE_BIT 2 |
| Para representar el permiso de escritura en la ACL. | |
| #define | ACL_READ_BIT 4 |
| Para representar el permiso de lectura en la ACL. | |
| #define | ACL_OWNER_BIT 8 |
| Para representar el permiso de propiedad (dueño) en la ACL. | |
| #define | ACL_RWXO_BIT ACL_EXEC_BIT|ACL_READ_BIT|ACL_WRITE_BIT|ACL_OWNER_BIT |
| Para representar el modo que tiene todos los permisos y también es dueño. | |
| #define | ACL_GRP 0 |
| Para indicar que se trata de los permisos de un grupo en una entrada de la ACL. | |
| #define | ACL_USR 1 |
| Para indicar que se trata de los permisos de un usuario en una entrada de la ACL. | |
Funciones de la interfaz de acl_entry | |
| #define | ACL_TYPE(e) e.type |
| Devuelve el campo type de una entrada de ACL. | |
| #define | ACL_MODE(e) e.mode |
| Devuelve el campo mode de una entrada ACL. | |
| #define | ACL_ID(e) ((ACL_TYPE(e)==ACL_USR)?e.id.uid:e.id.gid) |
| Devuelve el el campo id de una entrada ACL. | |
Iterador para las acl_entry de un objeto vfs_acl | |
| También forma parte de la interfaz de vfs_acl.
Ver acl_for_each para un ejemplo. | |
| #define | ACL_IT_ERROR -1 |
| Retorno de las funciones que iteran sobre la ACL de un inodo. | |
| #define | acl_for_each(acl, i) for(i=acl_first(acl);i!=ACL_IT_ERROR;i=acl_next(acl,i)) |
| Macro que itera entre todas las entradas válidas de una ACL. | |
Definiciones | |
| #define | MAX_ACL_LEN 8 |
| Cantidad máxima de entradas posibles a la ACL de un inodo del VFS. | |
| #define | ALLGRP 666 |
| Identificación del grupo AllGrp. | |
| #define | ROOTID 0 |
| Identificación del usuario Root. | |
| #define | ROOTGRP 0 |
| Identificación del grupo Root. | |
Tipos definidos | |
| typedef int | acl_iterator |
| Renombre del tipo int, utilizado como iterador dentro de una ACL. | |
Funciones | |
| void | acl_aclinit (struct vfs_acl *vfs_acl) |
| Inicializa una ACL. | |
| void | acl_acldestroy (struct vfs_acl *vfs_acl) |
| Aun no está implementada, pero debería liberar la ACL que recibe como parámetro. | |
| int | acl_setmode (struct vfs_acl *vfs_acl, int id, int mode, int type) |
| Establece el modo de un usuario o grupo en la ACL. | |
| int | acl_getsize (struct vfs_acl *vfs_acl) |
| Devuelve la cantidad de entradas válidas que existen en la ACL. | |
| int | acl_getmode (struct vfs_acl *vfs_acl, int id, int type) |
| Obtiene el modo de un usuario/grupo. | |
| int | xmode_to_acl (int xmode, int owner) |
| Calcula los permisos compatibles con el modo. | |
| umode_t | acl_calc_xmode (struct vfs_acl *vfs_acl, uid_t uid, gid_t gid) |
| Calcula el modo tradicional de un inodo a partir de su ACL. | |
| acl_iterator | acl_first (struct vfs_acl *vfs_acl) |
| Busca la primer entrada válida dentro de la ACL. | |
| acl_iterator | acl_next (struct vfs_acl *vfs_acl, acl_iterator it) |
| Busca la próxima entrada válida en la ACL a partir de una posición que se pasa como parámetro. | |
| acl_entry | acl_getentry (struct vfs_acl *vfs_acl, acl_iterator it) |
| Devuelve una entrada de la ACL. | |
|
|
Inicializa una ACL.
|
|
||||||||||||||||||||
|
Establece el modo de un usuario o grupo en la ACL. En caso de que el usuario/grupo exista en la ACL, cambia su modo siempre que el modo pasado como parámetro sea un modo válido. Si no existe tal usuario/grupo y hay lugar en la ACL, lo agrega.
|
|
|
Devuelve la cantidad de entradas válidas que existen en la ACL.
|
|
||||||||||||||||
|
Obtiene el modo de un usuario/grupo.
|
|
||||||||||||
|
Calcula los permisos compatibles con el modo. Calcula los permisos compatibles con el modo utilizado en una ACL, a partir de un modo tradicional y de un entero que indica si son permisos de dueño o no.
|
|
||||||||||||||||
|
Calcula el modo tradicional de un inodo a partir de su ACL.
|
|
|
Busca la primer entrada válida dentro de la ACL.
|
|
||||||||||||
|
Busca la próxima entrada válida en la ACL a partir de una posición que se pasa como parámetro.
|
|
||||||||||||
|
Devuelve una entrada de la ACL.
|
1.3-rc2