OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [isoinfra/] [current/] [include/] [time.h] - Blame information for rev 838

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 786 skrzyp
#ifndef CYGONCE_ISO_TIME_H
2
#define CYGONCE_ISO_TIME_H
3
/*========================================================================
4
//
5
//      time.h
6
//
7
//      ISO time functions
8
//
9
//========================================================================
10
// ####ECOSGPLCOPYRIGHTBEGIN####
11
// -------------------------------------------
12
// This file is part of eCos, the Embedded Configurable Operating System.
13
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
14
//
15
// eCos is free software; you can redistribute it and/or modify it under
16
// the terms of the GNU General Public License as published by the Free
17
// Software Foundation; either version 2 or (at your option) any later
18
// version.
19
//
20
// eCos is distributed in the hope that it will be useful, but WITHOUT
21
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
22
// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
23
// for more details.
24
//
25
// You should have received a copy of the GNU General Public License
26
// along with eCos; if not, write to the Free Software Foundation, Inc.,
27
// 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
28
//
29
// As a special exception, if other files instantiate templates or use
30
// macros or inline functions from this file, or you compile this file
31
// and link it with other works to produce a work based on this file,
32
// this file does not by itself cause the resulting work to be covered by
33
// the GNU General Public License. However the source code for this file
34
// must still be made available in accordance with section (3) of the GNU
35
// General Public License v2.
36
//
37
// This exception does not invalidate any other reasons why a work based
38
// on this file might be covered by the GNU General Public License.
39
// -------------------------------------------
40
// ####ECOSGPLCOPYRIGHTEND####
41
//========================================================================
42
//#####DESCRIPTIONBEGIN####
43
//
44
// Author(s):     jlarmour
45
// Contributors:
46
// Date:          2000-04-14
47
// Purpose:       This file provides the time macros, types and functions
48
//                required by ISO C and POSIX 1003.1.
49
// Description:   The real contents of this file get set from the
50
//                configuration (set by the implementation)
51
// Usage:         #include <time.h>
52
//
53
//####DESCRIPTIONEND####
54
//
55
//======================================================================
56
*/
57
 
58
/* CONFIGURATION */
59
 
60
#include <pkgconf/isoinfra.h>          /* Configuration header */
61
 
62
/* INCLUDES */
63
 
64
/* This is the "standard" way to get NULL and size_t from stddef.h,
65
 * which is the canonical location of the definitions.
66
 */
67
#define __need_NULL
68
#define __need_size_t
69
#include <stddef.h>
70
 
71
#ifdef CYGBLD_ISO_TIME_T_HEADER
72
# include CYGBLD_ISO_TIME_T_HEADER
73
#else
74
 
75
/* Define time_t as per ISO C para 7.12.1
76
 * It is conventionally given the meaning of seconds since the
77
 * Epoch (00:00:00 GMT, 1970-01-01), but don't rely on this - always use
78
 * the type opaquely
79
 */
80
typedef long time_t;
81
 
82
/* Additional POSIX-derived types. Not the ideal place as these should
83
 * also be defined in <sys/types.h>, along with time_t but that will
84
 * require major upheaval to resolve these sorts of minor strict
85
 * compliance issues properly.
86
 */
87
typedef long suseconds_t;
88
typedef long useconds_t;
89
 
90
# define __time_t_defined
91
 
92
#endif
93
 
94
#ifdef CYGBLD_ISO_CLOCK_T_HEADER
95
# include CYGBLD_ISO_CLOCK_T_HEADER
96
#else
97
 
98
/* What to divide clock_t by to get seconds (para 7.12.1)
99
 * According to SUS3, CLOCKS_PER_SEC must be 1 million on all
100
 * XSI-conformant systems.
101
 */
102
#  define CLOCKS_PER_SEC 1000000
103
 
104
/* Define clock_t as per ISO C para 7.12.1 */
105
 
106
typedef long clock_t;
107
#  define __clock_t_defined
108
#endif
109
 
110
#ifdef CYGINT_ISO_POSIX_CLOCK_TYPES
111
# include CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER
112
#else
113
 
114
/* Provide a default struct timespec. */
115
 
116
struct timespec
117
{
118
    time_t      tv_sec;
119
    long        tv_nsec;
120
};
121
#endif
122
 
123
#ifdef CYGINT_ISO_POSIX_TIMER_TYPES
124
# include CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER
125
#else
126
 
127
/* Provide a default struct itimerspec. */
128
struct itimerspec
129
{
130
    struct timespec     it_interval;
131
    struct timespec     it_value;
132
};
133
 
134
#endif
135
 
136
#ifdef CYGINT_ISO_C_TIME_TYPES
137
# include CYGBLD_ISO_C_TIME_TYPES_HEADER
138
#endif
139
 
140
#ifdef CYGINT_ISO_POSIX_CLOCKS
141
# include CYGBLD_ISO_POSIX_CLOCKS_HEADER
142
#endif
143
 
144
#ifdef CYGINT_ISO_POSIX_TIMERS
145
# include CYGBLD_ISO_POSIX_TIMERS_HEADER
146
#endif
147
 
148
#ifdef CYGINT_ISO_C_CLOCK_FUNCS
149
# include CYGBLD_ISO_C_CLOCK_FUNCS_HEADER
150
#endif
151
 
152
#ifdef CYGINT_ISO_TZSET
153
# include CYGBLD_ISO_TZSET_HEADER
154
#endif
155
 
156
#endif /* CYGONCE_ISO_TIME_H multiple inclusion protection */
157
 
158
/* EOF time.h */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.