Changeset 657 for trunk/src/emx/include/time.h
- Timestamp:
- Sep 7, 2003, 9:23:15 PM (22 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/emx/include/time.h
-
Property cvs2svn:cvs-rev
changed from
1.3
to1.4
r656 r657 1 /* time.h (emx+gcc) */ 2 3 #ifndef _TIME_H 4 #define _TIME_H 5 6 #if defined (__cplusplus) 7 extern "C" { 8 #endif 9 10 #if !defined (_SIZE_T) 11 #define _SIZE_T 12 typedef unsigned long size_t; 13 #endif 14 15 #if !defined (NULL) 16 #if defined (__cplusplus) 17 #define NULL 0 18 #else 19 #define NULL ((void *)0) 20 #endif 21 #endif 22 23 #if !defined (_TIME_T) 24 #define _TIME_T 25 typedef unsigned long time_t; 26 #endif 27 28 #if !defined (_CLOCK_T) 29 #define _CLOCK_T 30 typedef long clock_t; 31 #endif 32 33 #if !defined (_TM) 34 #define _TM 35 struct tm /* cf. <emx/thread.h> */ 36 { 37 int tm_sec; /* 0..59 */ 38 int tm_min; /* 0..59 */ 39 int tm_hour; /* 0..23 */ 40 int tm_mday; /* 1..31 */ 41 int tm_mon; /* 0..11 */ 42 int tm_year; /* 0(:=1900).. */ 43 int tm_wday; /* 0..6 */ 44 int tm_yday; /* 0..365 */ 45 int tm_isdst; /* 0 */ 1 /* 2 * Copyright (c) 1989, 1993 3 * The Regents of the University of California. All rights reserved. 4 * (c) UNIX System Laboratories, Inc. 5 * All or some portions of this file are derived from material licensed 6 * to the University of California by American Telephone and Telegraph 7 * Co. or Unix System Laboratories, Inc. and are reproduced herein with 8 * the permission of UNIX System Laboratories, Inc. 9 * 10 * Redistribution and use in source and binary forms, with or without 11 * modification, are permitted provided that the following conditions 12 * are met: 13 * 1. Redistributions of source code must retain the above copyright 14 * notice, this list of conditions and the following disclaimer. 15 * 2. Redistributions in binary form must reproduce the above copyright 16 * notice, this list of conditions and the following disclaimer in the 17 * documentation and/or other materials provided with the distribution. 18 * 3. All advertising materials mentioning features or use of this software 19 * must display the following acknowledgement: 20 * This product includes software developed by the University of 21 * California, Berkeley and its contributors. 22 * 4. Neither the name of the University nor the names of its contributors 23 * may be used to endorse or promote products derived from this software 24 * without specific prior written permission. 25 * 26 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 27 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 28 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 29 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 30 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 36 * SUCH DAMAGE. 37 * 38 * @(#)time.h 8.3 (Berkeley) 1/21/94 39 */ 40 41 /* 42 * $FreeBSD: src/include/time.h,v 1.30 2002/09/06 11:23:32 tjr Exp $ 43 */ 44 45 /** @file 46 * FreeBSD 5.1 47 * 48 * @changed EMX isms. 49 * @changed Removed timezone() function as it clashes with the timezone 50 * variable defined in EMX and OGBSI6. 51 * @changed Changed CLK_TCK and CLOCKS_PER_SEC to 100. 52 * @changed Commented out tm_gmtoff and tm_zone in struct tm as LIBC doesn't 53 * implement these yet. 54 * 55 * @todo Implement tm_gmtoff and tm_zone members in struct tm. 56 * @todo Implement clock_getres(), clock_gettime(), clock_settime(), nanosleep(). 57 * asctime_r(), ctime_r(), gmtime_r() and localtime_r() which are defined in 58 * various POSIX standard revisions. 59 * @todo Implement tzsetwall(), timelocal(), timegm() which are BSD specific. 60 */ 61 62 #ifndef _TIME_H_ 63 #define _TIME_H_ 64 #define _TIME_H /* bird: EMX */ 65 66 #include <sys/cdefs.h> 67 #include <sys/_types.h> 68 69 #if __POSIX_VISIBLE > 0 && __POSIX_VISIBLE < 200112 || __BSD_VISIBLE 70 /* 71 * Frequency of the clock ticks reported by times(). Deprecated - use 72 * sysconf(_SC_CLK_TCK) instead. (Removed in 1003.1-2001.) 73 */ 74 #define CLK_TCK 100 /* bird: EMX uses 100, FreeBSD 128. */ 75 #endif 76 77 /* Frequency of the clock ticks reported by clock(). */ 78 #define CLOCKS_PER_SEC 100 /* bird: EMX uses 100, FreeBSD 128. */ 79 80 #ifndef NULL 81 #define NULL 0 82 #endif 83 84 #if !defined(_CLOCK_T_DECLARED) && !defined(_CLOCK_T) /* bird: EMX */ 85 typedef __clock_t clock_t; 86 #define _CLOCK_T_DECLARED 87 #define _CLOCK_T /* bird: EMX */ 88 #endif 89 90 #if !defined(_TIME_T_DECLARED) && !defined(_TIME_T) /* bird: EMX */ 91 typedef __time_t time_t; 92 #define _TIME_T_DECLARED 93 #define _TIME_T /* bird: EMX */ 94 #endif 95 96 #if !defined(_SIZE_T_DECLARED) && !defined(_SIZE_T) /* bird: EMX */ 97 typedef __size_t size_t; 98 #define _SIZE_T_DECLARED 99 #define _SIZE_T /* bird: EMX */ 100 #endif 101 102 #if __POSIX_VISIBLE >= 199309 103 /* 104 * New in POSIX 1003.1b-1993. 105 */ 106 #if !defined(_CLOCKID_T_DECLARED) && !defined(_CLOCKID_T) /* bird: EMX */ 107 typedef __clockid_t clockid_t; 108 #define _CLOCKID_T_DECLARED 109 #define _CLOCKID_T /* bird: EMX */ 110 #endif 111 112 #if !defined(_TIMER_T_DECLARED) && !defined(_TIMER_T) /* bird: EMX */ 113 typedef __timer_t timer_t; 114 #define _TIMER_T_DECLARED 115 #define _TIMER_T /* bird: EMX */ 116 #endif 117 118 #include <sys/timespec.h> 119 #endif /* __POSIX_VISIBLE >= 199309 */ 120 121 struct tm { 122 int tm_sec; /* seconds after the minute [0-60] */ 123 int tm_min; /* minutes after the hour [0-59] */ 124 int tm_hour; /* hours since midnight [0-23] */ 125 int tm_mday; /* day of the month [1-31] */ 126 int tm_mon; /* months since January [0-11] */ 127 int tm_year; /* years since 1900 */ 128 int tm_wday; /* days since Sunday [0-6] */ 129 int tm_yday; /* days since January 1 [0-365] */ 130 int tm_isdst; /* Daylight Savings Time flag */ 131 #if 0 /* bird: LIBC isn't implementing tm_gmtoff and tm_zone. */ 132 long tm_gmtoff; /* offset from UTC in seconds */ 133 char *tm_zone; /* timezone abbreviation */ 134 #endif 46 135 }; 47 #endif 48 49 #if !defined (CLOCKS_PER_SEC) 50 #define CLOCKS_PER_SEC 100 51 #endif 52 53 char *asctime (__const__ struct tm *); 54 char *ctime (__const__ time_t *); 55 clock_t clock (void); 56 double difftime (time_t, time_t); 57 struct tm *gmtime (__const__ time_t *); 58 struct tm *localtime (__const__ time_t *); 59 time_t mktime (struct tm *); 60 size_t strftime (char *, size_t, __const__ char *, __const__ struct tm *); 61 time_t time (time_t *); 62 63 64 #if !defined (__STRICT_ANSI__) 65 66 /* POSIX.1 */ 67 68 void tzset (void); 69 70 #endif 71 72 73 #if !defined (__STRICT_ANSI__) && !defined (_POSIX_SOURCE) 74 75 #if !defined (CLK_TCK) 76 #define CLK_TCK 100 77 #endif 78 136 137 #if __POSIX_VISIBLE 138 extern char *tzname[]; 139 #endif 140 141 __BEGIN_DECLS 142 char *asctime(const struct tm *); 143 clock_t clock(void); 144 char *ctime(const time_t *); 145 double difftime(time_t, time_t); 146 struct tm *gmtime(const time_t *); 147 struct tm *localtime(const time_t *); 148 time_t mktime(struct tm *); 149 size_t strftime(char * __restrict, size_t, const char * __restrict, 150 const struct tm * __restrict); 151 time_t time(time_t *); 152 153 #if __POSIX_VISIBLE 154 void tzset(void); 155 #endif 156 157 #if __POSIX_VISIBLE >= 199309 158 int clock_getres(clockid_t, struct timespec *); 159 int clock_gettime(clockid_t, struct timespec *); 160 int clock_settime(clockid_t, const struct timespec *); 161 int nanosleep(const struct timespec *, struct timespec *); 162 #endif /* __POSIX_VISIBLE >= 199309 */ 163 164 #if __POSIX_VISIBLE >= 199506 165 char *asctime_r(const struct tm *, char *); 166 char *ctime_r(const time_t *, char *); 167 struct tm *gmtime_r(const time_t *, struct tm *); 168 struct tm *localtime_r(const time_t *, struct tm *); 169 #endif 170 171 #if __XSI_VISIBLE 172 char *strptime(const char * __restrict, const char * __restrict, 173 struct tm * __restrict); 174 #endif 175 176 #if __BSD_VISIBLE 177 /* bird: clash with EMX (and OGBSI6) timezone is a variable. man page say this 178 * is for Unix version 7 compatability though... 179 char *timezone(int, int); */ 180 void tzsetwall(void); 181 time_t timelocal(struct tm * const); 182 time_t timegm(struct tm * const); 183 #endif /* __BSD_VISIBLE */ 184 185 /* bird: LIBC OGBSI6 compliance extras. */ 186 #if __POSIX_VISIBLE 79 187 extern int daylight; 80 188 extern long timezone; 81 extern char *tzname[2]; 82 83 char *strptime (__const__ char *, __const__ char *, struct tm *); 84 85 #endif 86 87 88 #if (!defined (__STRICT_ANSI__) && !defined (_POSIX_SOURCE)) \ 89 || defined (_WITH_UNDERSCORE) 90 189 #endif 190 191 /* bird: EMX/VAC/MSC legacy start. */ 192 #if (!defined (__STRICT_ANSI__) && !defined (_POSIX_SOURCE)) || defined (_WITH_UNDERSCORE) 91 193 extern int _daylight; 92 194 extern long _timezone; 93 195 extern char *_tzname[2]; 94 95 196 char *_strptime (__const__ char *, __const__ char *, struct tm *); 96 197 void _tzset (void); 97 98 #endif 99 100 101 #if defined (__cplusplus) 102 } 103 #endif 104 105 #endif /* not _TIME_H */ 198 #endif 199 /* bird: EMX stuff end. */ 200 201 __END_DECLS 202 203 #endif /* !_TIME_H_ */ 204 -
Property cvs2svn:cvs-rev
changed from
Note:
See TracChangeset
for help on using the changeset viewer.