Syscall BSD#122
svc · unix #122
settimeofday
Définit l'heure murale système.
Prototype
int settimeofday(struct timeval *tv, struct timezone *tzp);Retour: int
Arguments
| Name | Type | Dir | Description |
|---|---|---|---|
| tv | struct timeval | - | |
| tzp | struct timezone | - |
Historique des versions
| XNU tag | macOS | # |
|---|---|---|
| xnu-1456.1.26 | macOS 10.6 Snow Leopard | 122 |
| xnu-1486.2.11 | — | 122 |
| xnu-1504.15.3 | — | 122 |
| xnu-1504.3.12 | — | 122 |
| xnu-1504.7.4 | — | 122 |
| xnu-1504.9.17 | — | 122 |
| xnu-1504.9.26 | — | 122 |
| xnu-1504.9.37 | — | 122 |
Notes
Requiert un UID effectif root et, sous SIP, est encore restreint : seuls les processus entitled (timed, systemsetup) peuvent réellement changer l'heure. Provoque un saut discontinu, raison pour laquelle timed préfère adjtime()/ntp_adjtime() pour de petites corrections.
Détection
La probe DTrace syscall::settimeofday:entry expose le pointeur du nouveau timeval dans arg0. Les logs unifiés de com.apple.timed enregistrent chaque changement d'heure système.
API associées
gettimeofdayadjtimentp_adjtimentp_gettime