mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 09:07:44 +00:00

As suggested by Joshua, this commit adds the 2-clause BSD license as a comment block to the top of every source file. For the first pass, I've just added myself for simplicity. I encourage everyone to add themselves as copyright holders of any file they've added or modified in some significant way. If I've added myself in error somewhere, feel free to replace it with the appropriate copyright holder instead. Going forward, all new source files should include a license header.
86 lines
2.9 KiB
C
86 lines
2.9 KiB
C
/*
|
|
* Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org>
|
|
* All rights reserved.
|
|
*
|
|
* Redistribution and use in source and binary forms, with or without
|
|
* modification, are permitted provided that the following conditions are met:
|
|
*
|
|
* 1. Redistributions of source code must retain the above copyright notice, this
|
|
* list of conditions and the following disclaimer.
|
|
*
|
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
* this list of conditions and the following disclaimer in the documentation
|
|
* and/or other materials provided with the distribution.
|
|
*
|
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <sys/cdefs.h>
|
|
#include <sys/types.h>
|
|
|
|
__BEGIN_DECLS
|
|
|
|
struct tm {
|
|
int tm_sec; /* Seconds (0-60) */
|
|
int tm_min; /* Minutes (0-59) */
|
|
int tm_hour; /* Hours (0-23) */
|
|
int tm_mday; /* Day of the month (1-31) */
|
|
int tm_mon; /* Month (0-11) */
|
|
int tm_year; /* Year - 1900 */
|
|
int tm_wday; /* Day of the week (0-6, Sunday = 0) */
|
|
int tm_yday; /* Day in the year (0-365, 1 Jan = 0) */
|
|
int tm_isdst; /* Daylight saving time */
|
|
};
|
|
|
|
extern long timezone;
|
|
extern long altzone;
|
|
extern char* tzname[2];
|
|
extern int daylight;
|
|
|
|
typedef uint32_t clock_t;
|
|
typedef uint32_t time_t;
|
|
|
|
struct tm* localtime(const time_t*);
|
|
struct tm* gmtime(const time_t*);
|
|
time_t mktime(struct tm*);
|
|
time_t time(time_t*);
|
|
char* ctime(const time_t*);
|
|
void tzset();
|
|
char* asctime(const struct tm*);
|
|
|
|
#define CLOCKS_PER_SEC 1000
|
|
clock_t clock();
|
|
|
|
struct timespec {
|
|
time_t tv_sec;
|
|
long tv_nsec;
|
|
};
|
|
|
|
typedef int clockid_t;
|
|
|
|
#define CLOCK_MONOTONIC 1
|
|
#define TIMER_ABSTIME 99
|
|
|
|
int clock_gettime(clockid_t, struct timespec*);
|
|
int clock_nanosleep(clockid_t, int flags, const struct timespec* requested_sleep, struct timespec* remaining_sleep);
|
|
int clock_getres(clockid_t, struct timespec* result);
|
|
struct tm* gmtime_r(const time_t* timep, struct tm* result);
|
|
struct tm* localtime_r(const time_t* timep, struct tm* result);
|
|
|
|
double difftime(time_t, time_t);
|
|
size_t strftime(char* s, size_t max, const char* format, const struct tm*);
|
|
|
|
#define difftime(t1, t0) (double)(t1 - t0)
|
|
|
|
__END_DECLS
|