Subversion Repositories idreammicro-avr

Compare Revisions

Ignore whitespace Rev 15 → Rev 16

/trunk/libraries/useful/datetime.h
0,0 → 1,91
/**************************************************************************//**
* \brief Date and time management library
* \author Copyright (C) 2011 Julien Le Sech - www.idreammicro.com
* \version 1.0
* \date 20090501
*
* This file is part of the iDreamMicro library.
*
* This library is free software: you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option) any
* later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
* details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see http://www.gnu.org/licenses/
******************************************************************************/
 
/**************************************************************************//**
* \headerfile datetime.h
******************************************************************************/
 
#ifndef H__IDREAMMICRO__USEFUL__DATETIME__H
#define H__IDREAMMICRO__USEFUL__DATETIME__H
 
#ifdef _cplusplus
extern "C"{
#endif
 
/******************************************************************************
* Header file inclusions.
******************************************************************************/
 
#include <stdint.h>
 
/******************************************************************************
* Public types definitions.
******************************************************************************/
 
/**************************************************************************//**
* \enum datetime__meridiems
* \brief Time meridiems.
*
* \typedef datetime__meridiem_t
* \brief Time meridiem.
******************************************************************************/
typedef enum datetime__meridiems
{
DATETIME__MERIDIEM__AM = 0, /*!< Ante meridiem. */
DATETIME__MERIDIEM__PM = 1 /*!< Post meridiem. */
} datetime__meridiem_t;
 
/**************************************************************************//**
* \struct datetime__time
* \brief Time.
*
* \typedef datetime__time_t
* \brief Time.
******************************************************************************/
typedef struct datetime__time
{
uint8_t seconds; /*!< Seconds (0-59). */
uint8_t minutes; /*!< Minutes (0-59). */
uint8_t hours; /*!< Hours (1-12 or 0-23). */
datetime__meridiem_t meridiem; /*!< Meridiem (AM-PM). */
} datetime__time_t;
 
/**************************************************************************//**
* \struct datetime__date
* \brief Date.
*
* \typedef datetime__date_t
* \brief Date.
******************************************************************************/
typedef struct datetime__date
{
uint8_t day; /*!< Day (1-7). */
uint8_t date; /*!< Date (1-31). */
uint8_t month; /*!< Month (1-12). */
uint8_t year; /*!< Year (0-99). */
} datetime__date_t;
 
#ifdef _cplusplus
}
#endif
 
#endif /* H__IDREAMMICRO__USEFUL__DATETIME__H */