Prex Home / Browse Source - Prex Version: 0.9.0

root/bsp/drv/include/rtc.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   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 */

/* [<][>][^][v][top][bottom][index][help] */