sd: remove 'ssd' driver support
[unleashed/tickless.git] / usr / src / lib / libast / common / tm / tvsettime.c
blobcff60a05b7e7116a3ce6397606ee4f448342d8e6
1 /***********************************************************************
2 * *
3 * This software is part of the ast package *
4 * Copyright (c) 1985-2010 AT&T Intellectual Property *
5 * and is licensed under the *
6 * Common Public License, Version 1.0 *
7 * by AT&T Intellectual Property *
8 * *
9 * A copy of the License is available at *
10 * http://www.opensource.org/licenses/cpl1.0.txt *
11 * (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) *
12 * *
13 * Information and Software Systems Research *
14 * AT&T Research *
15 * Florham Park NJ *
16 * *
17 * Glenn Fowler <gsf@research.att.com> *
18 * David Korn <dgk@research.att.com> *
19 * Phong Vo <kpv@research.att.com> *
20 * *
21 ***********************************************************************/
22 #pragma prototyped
24 #include <tv.h>
25 #include <tm.h>
26 #include <errno.h>
28 #include "FEATURE/tvlib"
30 int
31 tvsettime(const Tv_t* tv)
34 #if _lib_clock_settime && defined(CLOCK_REALTIME)
36 struct timespec s;
38 s.tv_sec = tv->tv_sec;
39 s.tv_nsec = tv->tv_nsec;
40 return clock_settime(CLOCK_REALTIME, &s);
42 #else
44 #if defined(tmsettimeofday)
46 struct timeval v;
48 v.tv_sec = tv->tv_sec;
49 v.tv_usec = tv->tv_nsec / 1000;
50 return tmsettimeofday(&v);
52 #else
54 #if _lib_stime
56 static time_t s;
58 s = tv->tv_sec + (tv->tv_nsec != 0);
59 return stime(s);
61 #else
63 errno = EPERM;
64 return -1;
66 #endif
68 #endif
70 #endif