Open Files 5.3.0
Multi-Platform Event-Driven Application Framework
time.h
Go to the documentation of this file.
1 /* Copyright (c) 2021 Connected Way, LLC. All rights reserved.
2  * Use of this source code is governed by a Creative Commons
3  * Attribution-NoDerivatives 4.0 International license that can be
4  * found in the LICENSE file.
5  */
6 #if !defined(__OFC_TIME_H__)
7 #define __OFC_TIME_H__
8 
9 #include "ofc/core.h"
10 #include "ofc/types.h"
11 #include "ofc/file.h"
12 
36 #define OFC_DOS_DAY 0x001F
40 #define OFC_DOS_DAY_SHIFT 0
44 #define OFC_DOS_MONTH 0x01E0
48 #define OFC_DOS_MONTH_SHIFT 5
52 #define OFC_DOS_YEAR 0xFE00
56 #define OFC_DOS_YEAR_SHIFT 9
60 #define OFC_DOS_YEAR_BASE 1980
64 #define OFC_DOS_SECS 0x001F
68 #define OFC_DOS_SECS_SHIFT 0
72 #define OFC_DOS_MINS 0x07E0
76 #define OFC_DOS_MINS_SHIFT 5
80 #define OFC_DOS_HRS 0xF800
84 #define OFC_DOS_HRS_SHIFT 11
85 
86 /*
87  * This brings us to 1900
88  */
89 #define OFC_TIME_S_EPOCH_OFFSET_1900 11644473600LL
90 /*
91  * This brings us to 1970
92  */
93 #define OFC_TIME_S_EPOCH_OFFSET_1970 9435484800LL
94 
95 #if defined(__cplusplus)
96 extern "C"
97 {
98 #endif
113  const OFC_ULONG tv_nsec,
114  OFC_FILETIME *filetime);
129  OFC_ULONG *tv_sec,
130  OFC_ULONG *tv_nsec);
137 OFC_CORE_LIB OFC_MSTIME
145 OFC_CORE_LIB OFC_VOID
153 OFC_CORE_LIB OFC_UINT16
170 OFC_CORE_LIB OFC_BOOL
172  OFC_WORD *lpFatDate,
173  OFC_WORD *lpFatTime);
189 OFC_CORE_LIB OFC_BOOL
191  OFC_FILETIME *lpFileTime);
219 OFC_CORE_LIB OFC_VOID
221  OFC_UINT16 year, OFC_UINT16 hour,
222  OFC_UINT16 min, OFC_UINT16 sec,
223  OFC_WORD *lpFatDate, OFC_WORD *lpFatTime);
253 OFC_CORE_LIB OFC_VOID
255  OFC_UINT16 *month, OFC_UINT16 *day,
256  OFC_UINT16 *year, OFC_UINT16 *hour,
257  OFC_UINT16 *min, OFC_UINT16 *sec);
264 OFC_CORE_LIB OFC_MSTIME
266 
267 #if defined(__cplusplus)
268 }
269 #endif
271 #endif
272 
Definition: file.h:126
OFC_CORE_LIB OFC_VOID ofc_dos_date_time_to_elements(OFC_WORD FatDate, OFC_WORD FatTime, OFC_UINT16 *month, OFC_UINT16 *day, OFC_UINT16 *year, OFC_UINT16 *hour, OFC_UINT16 *min, OFC_UINT16 *sec)
OFC_CORE_LIB OFC_MSTIME ofc_time_get_now(OFC_VOID)
OFC_CORE_LIB OFC_UINT16 ofc_time_get_time_zone(OFC_VOID)
OFC_CORE_LIB OFC_BOOL ofc_dos_date_time_to_file_time(OFC_WORD FatDate, OFC_WORD FatTime, OFC_FILETIME *lpFileTime)
OFC_CORE_LIB OFC_MSTIME ofc_get_runtime(OFC_VOID)
OFC_VOID epoch_time_to_file_time(const OFC_ULONG tv_sec, const OFC_ULONG tv_nsec, OFC_FILETIME *filetime)
OFC_CORE_LIB OFC_BOOL ofc_file_time_to_dos_date_time(const OFC_FILETIME *lpFileTime, OFC_WORD *lpFatDate, OFC_WORD *lpFatTime)
OFC_CORE_LIB OFC_VOID ofc_time_elements_to_dos_date_time(OFC_UINT16 month, OFC_UINT16 day, OFC_UINT16 year, OFC_UINT16 hour, OFC_UINT16 min, OFC_UINT16 sec, OFC_WORD *lpFatDate, OFC_WORD *lpFatTime)
OFC_CORE_LIB OFC_VOID ofc_time_get_file_time(OFC_FILETIME *now)
OFC_VOID file_time_to_epoch_time(const OFC_FILETIME *filetime, OFC_ULONG *tv_sec, OFC_ULONG *tv_nsec)
void OFC_VOID
Definition: types.h:159
OFC_UINT8 OFC_BOOL
Definition: types.h:624
OFC_UINT16 OFC_WORD
Definition: types.h:426
unsigned long OFC_ULONG
Definition: types.h:364
OFC_INT32 OFC_MSTIME
Definition: types.h:506
unsigned short int OFC_UINT16
Definition: types.h:183