Linux x86_64Sistema de arquivos#301
fanotify_mark
Adiciona, remove ou modifica um item monitorado (arquivo, diretório ou montagem inteira) em uma instância fanotify.
Descrição
Contraparte de `inotify_add_watch`/`inotify_rm_watch` para fanotify, com granularidade adicional de operar sobre um mount point inteiro.
Header:
sys/fanotify.hman 2Desde o kernel 2.6.36Assinatura
int fanotify_mark(
int fanotify_fd,
unsigned int flags,
uint64_t mask,
int dirfd,
const char * pathname
);Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
| fanotify_fd | int | Descritor da instância fanotify. |
| flags | unsigned int | FAN_MARK_ADD, FAN_MARK_REMOVE, FAN_MARK_MOUNT, etc. |
| mask | uint64_t | Eventos de interesse: FAN_ACCESS, FAN_MODIFY, FAN_OPEN, FAN_CLOSE_WRITE, etc. |
| dirfd | int | Descritor do diretório base, ou AT_FDCWD. |
| pathname | const char * | Caminho do item a monitorar, ou NULL para operar sobre `dirfd` diretamente. |
Registradores (x86_64)
| Registrador | Papel | Argumento |
|---|---|---|
| rax | número da syscall (chamada) / valor de retorno (após SYSCALL) | — |
| rdi | argumento 1 | fanotify_fdint |
| rsi | argumento 2 | flagsunsigned int |
| rdx | argumento 3 | maskuint64_t |
| r10 | argumento 4 | dirfdint |
| r8 | argumento 5 | pathnameconst char * |
Valor de retorno
0 em sucesso; -1 em erro, com errno definido.
Códigos de erro (errno)
- EBADF(9)
- Descritor de arquivo inválido.
- EINVAL(22)
- Argumento inválido.
- ENOENT(2)
- Arquivo ou diretório inexistente.
- ENOSPC(28)
- Sem espaço livre no dispositivo.
- ENOMEM(12)
- Memória insuficiente para completar a operação.