#include "time32.h" #include #include #include #include #include struct timex32 { unsigned modes; long offset, freq, maxerror, esterror; int status; long constant, precision, tolerance; struct timeval32 time; long tick, ppsfreq, jitter; int shift; long stabil, jitcnt, calcnt, errcnt, stbcnt; int tai; int __padding[11]; }; int __clock_adjtime32(clockid_t clock_id, struct timex32 *tx32) { struct timex utx = { .modes = tx32->modes, .offset = tx32->offset, .freq = tx32->freq, .maxerror = tx32->maxerror, .esterror = tx32->esterror, .status = tx32->status, .constant = tx32->constant, .precision = tx32->precision, .tolerance = tx32->tolerance, .time.tv_sec = tx32->time.tv_sec, .time.tv_usec = tx32->time.tv_usec, .tick = tx32->tick, .ppsfreq = tx32->ppsfreq, .jitter = tx32->jitter, .shift = tx32->shift, .stabil = tx32->stabil, .jitcnt = tx32->jitcnt, .calcnt = tx32->calcnt, .errcnt = tx32->errcnt, .stbcnt = tx32->stbcnt, .tai = tx32->tai, }; int r = clock_adjtime(clock_id, &utx); if (r<0) return r; tx32->modes = utx.modes; tx32->offset = utx.offset; tx32->freq = utx.freq; tx32->maxerror = utx.maxerror; tx32->esterror = utx.esterror; tx32->status = utx.status; tx32->constant = utx.constant; tx32->precision = utx.precision; tx32->tolerance = utx.tolerance; tx32->time.tv_sec = utx.time.tv_sec; tx32->time.tv_usec = utx.time.tv_usec; tx32->tick = utx.tick; tx32->ppsfreq = utx.ppsfreq; tx32->jitter = utx.jitter; tx32->shift = utx.shift; tx32->stabil = utx.stabil; tx32->jitcnt = utx.jitcnt; tx32->calcnt = utx.calcnt; tx32->errcnt = utx.errcnt; tx32->stbcnt = utx.stbcnt; tx32->tai = utx.tai; return r; }