EFAULT
buf does not point to writable memory.
EINVAL
(kernels before Linux 2.6.26)
An attempt was made to set buf.freq to a value outside the
range (-33554432, +33554432).
EINVAL
(kernels before Linux 2.6.26)
An attempt was made to set buf.offset to a value outside
the permitted range. In kernels before Linux 2.0, the
permitted range was (-131072, +131072). From Linux 2.0
onwards, the permitted range was (-512000, +512000).
EINVAL
An attempt was made to set buf.status to a value other
than those listed above.
EINVAL
The clk_id given to clock_adjtime
() is invalid for one of
two reasons. Either the System-V style hard-coded
positive clock ID value is out of range, or the dynamic
clk_id does not refer to a valid instance of a clock
object. See clock_gettime(2) for a discussion of dynamic
clocks.
EINVAL
An attempt was made to set buf.tick to a value outside the
range 900000/HZ
to 1100000/HZ
, where HZ
is the system
timer interrupt frequency.
ENODEV
The hot-pluggable device (like USB for example)
represented by a dynamic clk_id has disappeared after its
character device was opened. See clock_gettime(2) for a
discussion of dynamic clocks.
EOPNOTSUPP
The given clk_id does not support adjustment.
EPERM
buf.modes is neither 0 nor ADJ_OFFSET_SS_READ
, and the
caller does not have sufficient privilege. Under Linux,
the CAP_SYS_TIME
capability is required.