/*
 * time.h for libRILc.

    This file is part of libRILc, a standard C library for GCC on Amiga OS.
    Copyright © 1997, 1998  Rask Ingemann Lambertsen

    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Library General Public
    License as published by the Free Software Foundation; either
    version 2 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
    Library General Public License for more details.

    You should have received a copy of the GNU Library General Public
    License along with this library; if not, write to the Free
    Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

    As a special exception, if you link this library with files compiled
    with a GNU compiler to produce an executable, this does not cause the
    resulting executable to be covered by the GNU General Public License.
    This exception does not however invalidate any other reasons why the
    executable file might be covered by the GNU General Public License.
 */

#ifndef _TIME_H
#define _TIME_H

#ifdef __cplusplus
extern "C" {
#endif

/* Prevent exec/types.h from typedef'ing FLOAT (so GCC builds). */
#define FLOAT __exec__FLOAT

#include <exec/types.h>
#include <dos/dos.h>
#include <utility/date.h>
#include <sys/types.h>

/* Fix exec/types.h conflict with libg++ */
#undef GLOBAL
#undef FLOAT

#define CLOCKS_PER_SEC 1000000

typedef ULONG time_t;

/*
struct tm
{
  struct ClockData  tm_cd;
  int               tm_yday;
  int               tm_isdst;
};

#define tm_sec  tm_cd.sec
#define tm_min  tm_cd.min
#define tm_hour tm_cd.hour
#define tm_mday tm_cd.mday
#define tm_mon  tm_cd.month
#define tm_year tm_cd.year
#define tm_wday tm_cd.wday
*/

struct tm
{
     int  tm_sec;   /* seconds after the minute - [0, 59] */
     int  tm_min;   /* minutes after the hour - [0, 59] */
     int  tm_hour;  /* hour since midnight - [0, 23] */
     int  tm_mday;  /* day of the month - [1, 31] */
     int  tm_mon;   /* months since January - [0, 11] */
     int  tm_year;  /* years since 1900 */
     int  tm_wday;  /* days since Sunday - [0, 6] */
     int  tm_yday;  /* days since January 1 - [0, 365] */
     int  tm_isdst; /* daylight savings time flag */
};

/*
extern char *tzname[2];
long int timezone;
extern int daylight;
*/

time_t time (time_t *tloc);
clock_t clock(void);

#ifdef __cplusplus
}
#endif

#endif _TIME_H
