#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.
|