Estructuras de datos privadas (ocultas) | |
struct | vfs_acl |
ACL a nivel VFS. Se utiliza dentro del inodo del VFS. Más... | |
Funciones privadas de vfs_acl | |
#define | ACL_INUSE(e) (e.mode != ACL_NULL_BITS) |
Determina si la entrada e de la ACL esta o no en uso. | |
int | search_free_slot (struct vfs_acl *vfs_acl) |
Busca una entrada libre dentro de la ACL. | |
int | search_id (struct vfs_acl *vfs_acl, int id, int type) |
Busca la entrada en la ACL que corresponde a al usuario o grupo id. | |
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. | |
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. | |
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. | |
Funciones de la interfaz de vfs_acl | |
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. | |
int | xmode_to_acl (int xmode, int owner) |
Calcula los permisos compatibles con el modo. | |
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_getmode (struct vfs_acl *vfs_acl, int id, int type) |
Obtiene el modo de un usuario/grupo. | |
int | acl_getsize (struct vfs_acl *vfs_acl) |
Devuelve la cantidad de entradas válidas que existen en la ACL. |
Este TAD oculta la representación de las listas de control de acceso a nivel del VFS, así como los algoritmos que se usan para establecer y obtener los atributos privados.
La estructura oculta vfs_acl 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.
|
Retorno de funciones que manejan las ACL. Indica que la operación se realizó con éxito. |
|
Retorno de las funciones que iteran sobre la ACL de un inodo. Indica que no existen más entradas válidas en la ACL a partir de la posición pasada como parámetro. |
|
Macro que itera entre todas las entradas válidas de una ACL.
|
|
Busca una entrada libre dentro de la ACL.
|
|
Busca la entrada en la ACL que corresponde a al usuario o grupo id.
|
|
Calcula el modo tradicional de un inodo a partir de su ACL.
|
|
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.
|
|
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.
|
|
Obtiene el modo de un usuario/grupo.
|
|
Devuelve la cantidad de entradas válidas que existen en la 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.
|