Statistics
| Branch: | Revision:

root / prex-0.9.0 / bsp / drv / include / rtc.h @ 03e9c04a

History | View | Annotate | Download (2.73 KB)

1
/*        $OpenBSD: time.h,v 1.25 2007/05/09 17:42:19 deraadt Exp $        */
2
/*        $NetBSD: time.h,v 1.18 1996/04/23 10:29:33 mycroft Exp $        */
3

    
4
/*
5
 * Copyright (c) 1982, 1986, 1993
6
 *        The Regents of the University of California.  All rights reserved.
7
 *
8
 * Redistribution and use in source and binary forms, with or without
9
 * modification, are permitted provided that the following conditions
10
 * are met:
11
 * 1. Redistributions of source code must retain the above copyright
12
 *    notice, this list of conditions and the following disclaimer.
13
 * 2. Redistributions in binary form must reproduce the above copyright
14
 *    notice, this list of conditions and the following disclaimer in the
15
 *    documentation and/or other materials provided with the distribution.
16
 * 3. Neither the name of the University nor the names of its contributors
17
 *    may be used to endorse or promote products derived from this software
18
 *    without specific prior written permission.
19
 *
20
 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30
 * SUCH DAMAGE.
31
 *
32
 *        @(#)time.h        8.2 (Berkeley) 7/10/94
33
 */
34

    
35
/* Modified for Prex by Kohsuke Ohtani */
36

    
37
#ifndef _RTC_H
38
#define _RTC_H
39

    
40
#include <sys/cdefs.h>
41

    
42
struct rtc_ops {
43
        int        (*gettime)(void *aux, struct timeval *tv);
44
        int        (*settime)(void *aux, struct timeval *tv);
45
};
46

    
47
/*
48
 * "POSIX time" to/from "YY/MM/DD/hh/mm/ss"
49
 */
50
struct clock_ymdhms {
51
        u_short                year;
52
        u_char                mon;
53
        u_char                day;
54
        u_char                dow;        /* Day of week */
55
        u_char                hour;
56
        u_char                min;
57
        u_char                sec;
58
        u_char                nsec;
59
};
60

    
61
/*
62
 * BCD to decimal and decimal to BCD.
63
 */
64
#define FROMBCD(x)      (u_char)(((x) >> 4) * 10 + ((x) & 0xf))
65
#define TOBCD(x)        (u_char)(((x) / 10 * 16) + ((x) % 10))
66

    
67
/* Some handy constants. */
68
#define SECDAY          86400L
69
#define SECYR           (SECDAY * 365)
70

    
71
/* Traditional POSIX base year */
72
#define POSIX_BASE_YEAR 1970
73

    
74
__BEGIN_DECLS
75
time_t        rtc_ymdhms_to_secs(struct clock_ymdhms *dt);
76
void        rtc_secs_to_ymdhms(time_t secs, struct clock_ymdhms *dt);
77
void        rtc_attach(struct rtc_ops *ops, void *aux);
78
__END_DECLS
79

    
80
#endif /* !_RTC_H */