1 /*
2  * Date and time functions
3  *
4  * Copyright (C) 2010-2021, Joachim Metz <joachim.metz@gmail.com>
5  *
6  * Refer to AUTHORS for acknowledgements.
7  *
8  * This program is free software: you can redistribute it and/or modify
9  * it under the terms of the GNU Lesser General Public License as published by
10  * the Free Software Foundation, either version 3 of the License, or
11  * (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public License
19  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
20  */
21 
22 #if !defined( _PYFSEXT_DATETIME_H )
23 #define _PYFSEXT_DATETIME_H
24 
25 #include <common.h>
26 #include <types.h>
27 
28 #include "pyfsext_python.h"
29 
30 #if defined( __cplusplus )
31 extern "C" {
32 #endif
33 
34 PyObject *pyfsext_datetime_new_from_time_elements(
35            uint16_t year,
36            uint64_t number_of_days,
37            uint8_t hours,
38            uint8_t minutes,
39            uint8_t seconds,
40            uint32_t micro_seconds );
41 
42 PyObject *pyfsext_datetime_new_from_fat_date_time(
43            uint32_t fat_date_time );
44 
45 PyObject *pyfsext_datetime_new_from_filetime(
46            uint64_t filetime );
47 
48 PyObject *pyfsext_datetime_new_from_floatingtime(
49            uint64_t floatingtime );
50 
51 PyObject *pyfsext_datetime_new_from_hfs_time(
52            uint32_t hfs_time );
53 
54 PyObject *pyfsext_datetime_new_from_posix_time(
55            int64_t posix_time );
56 
57 PyObject *pyfsext_datetime_new_from_posix_time_in_micro_seconds(
58            int64_t posix_time );
59 
60 #if defined( __cplusplus )
61 }
62 #endif
63 
64 #endif /* !defined( _PYFSEXT_DATETIME_H ) */
65 
66