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... | |
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. |
Este TAD oculta la representación de las ternas (ID, MODO, USR_GRP) que se usarán en las ACL a nivel del VFS, así como los algoritmos que se usan para obtener los atributos privados.
La estructura oculta acl_entry no debe ser accedida excepto por las funciones de la interfaz aquí documentada. Como esto no es posible imponerlo en tiempo de compilación, los programadores son los responsables de mantener esta disciplina.
|
Para indicar que se trata de los permisos de un grupo en una entrada de la ACL. Se utiliza para establecer el campo acl_entry::type de la estructura ACL. |
|
Para indicar que se trata de los permisos de un usuario en una entrada de la ACL. Se utiliza para establecer el campo acl_entry::type de la estructura ACL. |
|
Devuelve el el campo id de una entrada ACL. Como acl_entry::id es una union puede retornarse un entero que representa un UID o GID, dependiendo del valor de acl_entry::type. |