]> git.sur5r.net Git - cc65/blobdiff - include/time.h
Fixed a bug
[cc65] / include / time.h
index 0c6040dcf8bf743e6a94230e4932ddd696c2d827..678231685b02a4363a9036b8edb7760ee861d206 100644 (file)
 #endif
 #define NULL   0
 
+/* size_t is needed */
+#ifndef _SIZE_T
+#define _SIZE_T
+typedef unsigned size_t;
+#endif
+
 typedef unsigned long time_t;
 typedef unsigned long clock_t;
 
 /* Structure for broken down time */
 struct tm {
-    int        tm_sec;
-    int tm_min;
-    int tm_hour;
-    int tm_mday;
-    int tm_mon;
-    int tm_year;
-    int tm_wday;
-    int tm_yday;
-    int tm_isdst;
+    int            tm_sec;
+    int     tm_min;
+    int     tm_hour;
+    int     tm_mday;
+    int     tm_mon;
+    int     tm_year;
+    int     tm_wday;
+    int     tm_yday;
+    int     tm_isdst;
 };
 
-#if defined(__CBM__)
+/* Timezone representation, default is UTC */
+extern struct _timezone {
+    char    daylight;   /* True if daylight savings time active */
+    long    timezone;   /* Number of seconds behind UTC */
+    char    tzname[5];  /* Name of timezone, e.g. CET */
+    char    dstname[5]; /* Name when daylight true, e.g. CEST */
+} _tz;
+
+
+
+#if defined(__ATARI__)
+/* The clock depends on the video standard, so read it at runtime */
+unsigned _clocks_per_sec (void);
+#  define CLK_TCK              _clocks_per_sec()
+#  define CLOCKS_PER_SEC       _clocks_per_sec()
+#elif defined(__ATMOS__)
+#  define CLK_TCK                      100     /* POSIX */
+#  define CLOCKS_PER_SEC       100     /* ANSI */
+#elif defined(__CBM__)
 #  if defined(__CBM510__) || defined(__CBM610__)
 /* The 510/610 gets its clock from the AC current */
 #    define CLK_TCK                    50      /* POSIX */
@@ -69,19 +93,28 @@ struct tm {
 #    define CLK_TCK            60      /* POSIX */
 #    define CLOCKS_PER_SEC     60      /* ANSI */
 #  endif
+#elif defined(__NES__)
+#  define CLK_TCK              50      /* POSIX */
+#  define CLOCKS_PER_SEC       50      /* ANSI */
 #endif
 
-#if defined(__ATARI__)
-/* The clock depends on the video standard, so read it at runtime */
-unsigned _clocks_per_sec (void);
-#  define CLK_TCK              _clocks_per_sec()
-#  define CLOCKS_PER_SEC       _clocks_per_sec()
-#endif
 
 
+time_t _systime (void);
+/* Similar to time(), but:
+ *   - Is not ISO C
+ *   - Does not take the additional pointer
+ *   - Does not set errno when returning -1
+ */
 
-/* Function prototypes */
+/* ISO C function prototypes */
+char* __fastcall__ asctime (const struct tm* timep);
 clock_t clock (void);
+char* __fastcall__ ctime (const time_t* timep);
+struct tm* __fastcall__ gmtime (const time_t* timep);
+struct tm* __fastcall__ localtime (const time_t* timep);
+time_t __fastcall__ mktime (struct tm* timep);
+size_t __fastcall__ strftime (char* buf, size_t bufsize, const char* format, const struct tm* tm);
 time_t __fastcall__ time (time_t* t);