mirror of
https://github.com/justinian/jsix.git
synced 2025-12-10 00:14:32 -08:00
[libc] Remove old libc
Removing the very old PDCLib-based libc, in preparation for adding the new one.
This commit is contained in:
@@ -1,105 +0,0 @@
|
||||
#pragma once
|
||||
/* Date and time <time.h>
|
||||
|
||||
This file is part of the Public Domain C Library (PDCLib).
|
||||
Permission is granted to use, modify, and / or redistribute at will.
|
||||
*/
|
||||
|
||||
#include "j6libc/cpp.h"
|
||||
#include "j6libc/int.h"
|
||||
#include "j6libc/null.h"
|
||||
#include "j6libc/size_t.h"
|
||||
|
||||
CPP_CHECK_BEGIN
|
||||
|
||||
/* These are defined to be "real types capable of representing types", with
|
||||
"range and precision of times representable in [them being] implementation-
|
||||
defined".
|
||||
As part of struct timespec (see below), time_t is further defined as "a
|
||||
linear count of seconds", with potentially different semantics from a
|
||||
"normal" time_t.
|
||||
For sake of simplicity, we used just that (common) definition of "seconds
|
||||
since epoch" as integer.
|
||||
*/
|
||||
typedef _PDCLIB_time_t time_t;
|
||||
typedef _PDCLIB_clock_t clock_t;
|
||||
|
||||
#define CLOCKS_PER_SEC _PDCLIB_CLOCKS_PER_SEC
|
||||
#define TIME_UTC _PDCLIB_TIME_UTC
|
||||
|
||||
struct timespec
|
||||
{
|
||||
time_t tv_sec;
|
||||
long tv_nsec;
|
||||
};
|
||||
|
||||
struct tm
|
||||
{
|
||||
int tm_sec; /* 0-60 */
|
||||
int tm_min; /* 0-59 */
|
||||
int tm_hour; /* 0-23 */
|
||||
int tm_mday; /* 1-31 */
|
||||
int tm_mon; /* 0-11 */
|
||||
int tm_year; /* years since 1900 */
|
||||
int tm_wday; /* 0-6 */
|
||||
int tm_yday; /* 0-365 */
|
||||
int tm_isdst; /* >0 DST, 0 no DST, <0 information unavailable */
|
||||
};
|
||||
|
||||
/* Returns the number of "clocks" in processor time since the invocation
|
||||
of the program. Divide by CLOCKS_PER_SEC to get the value in seconds.
|
||||
Returns -1 if the value cannot be represented in the return type or is
|
||||
not available.
|
||||
*/
|
||||
clock_t clock( void );
|
||||
|
||||
/* Returns the difference between two calendar times in seconds. */
|
||||
double difftime( time_t time1, time_t time0 );
|
||||
|
||||
/* Normalizes the values in the broken-down time pointed to by timeptr.
|
||||
Returns the calender time specified by the broken-down time.
|
||||
*/
|
||||
time_t mktime( struct tm * timeptr );
|
||||
|
||||
/* Returns the current calender time. If timer is not a NULL pointer, stores
|
||||
the current calender time at that address as well.
|
||||
*/
|
||||
time_t time( time_t * timer );
|
||||
|
||||
/* Sets the interval pointed to by ts to the current calender time, based
|
||||
on the specified base.
|
||||
Returns base, if successful, otherwise zero.
|
||||
*/
|
||||
int timespec_get( struct timespec * ts, int base );
|
||||
|
||||
/* Converts the broken-down time pointed to by timeptr into a string in the
|
||||
form "Sun Sep 16 01:03:52 1973\n\0".
|
||||
*/
|
||||
char * asctime( const struct tm * timeptr );
|
||||
|
||||
/* Equivalent to asctime( localtime( timer ) ). */
|
||||
char * ctime( const time_t * timer );
|
||||
|
||||
/* Converts the calender time pointed to by timer into a broken-down time
|
||||
expressed as UTC.
|
||||
Returns a pointer to the broken-down time, or a NULL pointer if it
|
||||
cannot be represented.
|
||||
*/
|
||||
struct tm * gmtime( const time_t * timer );
|
||||
|
||||
/* Converts the calender time pointed to by timer into a broken-down time
|
||||
expressed as local time.
|
||||
Returns a pointer to the broken-down time, or a NULL pointer if if
|
||||
cannot be represented.
|
||||
*/
|
||||
struct tm * localtime( const time_t * timer );
|
||||
|
||||
/* Writes the broken-down time pointed to by timeptr into the character
|
||||
array pointed to by s. The string pointed to by format controls the
|
||||
exact output. No more than maxsize charactrs will be written.
|
||||
Returns the number of characters written (excluding the terminating
|
||||
null character), or zero on failure.
|
||||
*/
|
||||
size_t strftime( char * restrict s, size_t maxsize, const char * restrict format, const struct tm * restrict timeptr );
|
||||
|
||||
CPP_CHECK_END
|
||||
Reference in New Issue
Block a user