• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #include "time32.h"
2 #include <time.h>
3 #include <sys/time.h>
4 #include <sys/timex.h>
5 #include <string.h>
6 #include <stddef.h>
7 
8 struct timex32 {
9 	unsigned modes;
10 	long offset, freq, maxerror, esterror;
11 	int status;
12 	long constant, precision, tolerance;
13 	struct timeval32 time;
14 	long tick, ppsfreq, jitter;
15 	int shift;
16 	long stabil, jitcnt, calcnt, errcnt, stbcnt;
17 	int tai;
18 	int __padding[11];
19 };
20 
__clock_adjtime32(clockid_t clock_id,struct timex32 * tx32)21 int __clock_adjtime32(clockid_t clock_id, struct timex32 *tx32)
22 {
23 	struct timex utx = {
24 		.modes = tx32->modes,
25 		.offset = tx32->offset,
26 		.freq = tx32->freq,
27 		.maxerror = tx32->maxerror,
28 		.esterror = tx32->esterror,
29 		.status = tx32->status,
30 		.constant = tx32->constant,
31 		.precision = tx32->precision,
32 		.tolerance = tx32->tolerance,
33 		.time.tv_sec = tx32->time.tv_sec,
34 		.time.tv_usec = tx32->time.tv_usec,
35 		.tick = tx32->tick,
36 		.ppsfreq = tx32->ppsfreq,
37 		.jitter = tx32->jitter,
38 		.shift = tx32->shift,
39 		.stabil = tx32->stabil,
40 		.jitcnt = tx32->jitcnt,
41 		.calcnt = tx32->calcnt,
42 		.errcnt = tx32->errcnt,
43 		.stbcnt = tx32->stbcnt,
44 		.tai = tx32->tai,
45 	};
46 	int r = clock_adjtime(clock_id, &utx);
47 	if (r<0) return r;
48 	tx32->modes = utx.modes;
49 	tx32->offset = utx.offset;
50 	tx32->freq = utx.freq;
51 	tx32->maxerror = utx.maxerror;
52 	tx32->esterror = utx.esterror;
53 	tx32->status = utx.status;
54 	tx32->constant = utx.constant;
55 	tx32->precision = utx.precision;
56 	tx32->tolerance = utx.tolerance;
57 	tx32->time.tv_sec = utx.time.tv_sec;
58 	tx32->time.tv_usec = utx.time.tv_usec;
59 	tx32->tick = utx.tick;
60 	tx32->ppsfreq = utx.ppsfreq;
61 	tx32->jitter = utx.jitter;
62 	tx32->shift = utx.shift;
63 	tx32->stabil = utx.stabil;
64 	tx32->jitcnt = utx.jitcnt;
65 	tx32->calcnt = utx.calcnt;
66 	tx32->errcnt = utx.errcnt;
67 	tx32->stbcnt = utx.stbcnt;
68 	tx32->tai = utx.tai;
69 	return r;
70 }
71