mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
a1efea7412
--HG-- extra : rebase_source : 2a767e04768a94eb943370bbe7945a8dc409bf1d
50 lines
1.6 KiB
C
50 lines
1.6 KiB
C
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
|
* vim: set ts=8 sts=4 et sw=4 tw=99:
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#ifndef prmjtime_h
|
|
#define prmjtime_h
|
|
|
|
#include <stddef.h>
|
|
#include <stdint.h>
|
|
|
|
/*
|
|
* Broken down form of 64 bit time value.
|
|
*/
|
|
struct PRMJTime {
|
|
int32_t tm_usec; /* microseconds of second (0-999999) */
|
|
int8_t tm_sec; /* seconds of minute (0-59) */
|
|
int8_t tm_min; /* minutes of hour (0-59) */
|
|
int8_t tm_hour; /* hour of day (0-23) */
|
|
int8_t tm_mday; /* day of month (1-31) */
|
|
int8_t tm_mon; /* month of year (0-11) */
|
|
int8_t tm_wday; /* 0=sunday, 1=monday, ... */
|
|
int32_t tm_year; /* absolute year, AD */
|
|
int16_t tm_yday; /* day of year (0 to 365) */
|
|
int8_t tm_isdst; /* non-zero if DST in effect */
|
|
};
|
|
|
|
/* Some handy constants */
|
|
#define PRMJ_USEC_PER_SEC 1000000L
|
|
#define PRMJ_USEC_PER_MSEC 1000L
|
|
|
|
/* Return the current local time in micro-seconds */
|
|
extern int64_t
|
|
PRMJ_Now(void);
|
|
|
|
/* Release the resources associated with PRMJ_Now; don't call PRMJ_Now again */
|
|
#if defined(JS_THREADSAFE) && defined(XP_WIN)
|
|
extern void
|
|
PRMJ_NowShutdown(void);
|
|
#else
|
|
#define PRMJ_NowShutdown()
|
|
#endif
|
|
|
|
/* Format a time value into a buffer. Same semantics as strftime() */
|
|
extern size_t
|
|
PRMJ_FormatTime(char *buf, int buflen, const char *fmt, PRMJTime *tm);
|
|
|
|
#endif /* prmjtime_h */
|