Linux x86_64Tempo & temporizadores#305
clock_adjtime
Como adjtimex, mas permite escolher qual relógio ajustar (não apenas CLOCK_REALTIME).
Descrição
Generalização de `adjtimex` para relógios além do relógio de sistema padrão, relevante em sistemas com múltiplos domínios de tempo (ex.: PTP em hardware de rede).
man 2Desde o kernel 3.0
Assinatura
int clock_adjtime(clockid_t clk_id, struct timex * buf);Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
| clk_id | clockid_t | Relógio a ajustar/consultar. |
| buf | struct timex * | Parâmetros de ajuste na entrada; estado atual na saída. |
Registradores (x86_64)
| Registrador | Papel | Argumento |
|---|---|---|
| rax | número da syscall (chamada) / valor de retorno (após SYSCALL) | — |
| rdi | argumento 1 | clk_idclockid_t |
| rsi | argumento 2 | bufstruct timex * |
Valor de retorno
O estado de sincronização do relógio em sucesso; -1 em erro, com errno definido.
Códigos de erro (errno)
- EFAULT(14)
- Endereço de memória inválido (ponteiro fora do espaço de endereçamento válido).
- EINVAL(22)
- Argumento inválido.
- EPERM(1)
- Operação não permitida (falta de privilégio).