Linux x86_64Sistema de arquivos#254
inotify_add_watch
Adiciona (ou modifica) um item monitorado por uma instância inotify.
Descrição
Cada chamada retorna um 'watch descriptor' usado para identificar de qual caminho monitorado um evento lido depois se originou.
Header:
sys/inotify.hman 2Desde o kernel 2.6.13Atenção
inotify não monitora recursivamente subdiretórios automaticamente — para uma árvore inteira, é preciso adicionar um watch para cada diretório e reagir a novos diretórios criados adicionando watches para eles também.
Assinatura
int inotify_add_watch(int fd, const char * pathname, uint32_t mask);Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
| fd | int | Descritor da instância inotify. |
| pathname | const char * | Caminho a monitorar. |
| mask | uint32_t | Eventos de interesse: IN_MODIFY, IN_CREATE, IN_DELETE, IN_MOVE, etc. |
Registradores (x86_64)
| Registrador | Papel | Argumento |
|---|---|---|
| rax | número da syscall (chamada) / valor de retorno (após SYSCALL) | — |
| rdi | argumento 1 | fdint |
| rsi | argumento 2 | pathnameconst char * |
| rdx | argumento 3 | maskuint32_t |
Valor de retorno
Um identificador de watch em sucesso; -1 em erro, com errno definido.
Códigos de erro (errno)
- EACCES(13)
- Permissão negada.
- EBADF(9)
- Descritor de arquivo inválido.
- EFAULT(14)
- Endereço de memória inválido (ponteiro fora do espaço de endereçamento válido).
- EINVAL(22)
- Argumento inválido.
- ENOMEM(12)
- Memória insuficiente para completar a operação.
- ENOSPC(28)
- Sem espaço livre no dispositivo.