Components/IFS/src/include/IFS/Types.h
Go to the documentation of this file.
1 /****
2  * Types.h
3  * Platform-specific definitions
4  *
5  * Created on: 26 Aug 2018
6  *
7  * Copyright 2019 mikee47 <mike@sillyhouse.net>
8  *
9  * This file is part of the IFS Library
10  *
11  * This library is free software: you can redistribute it and/or modify it under the terms of the
12  * GNU General Public License as published by the Free Software Foundation, version 3 or later.
13  *
14  * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
15  * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16  * See the GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License along with this library.
19  * If not, see <https://www.gnu.org/licenses/>.
20  *
21  ****/
22 
23 #pragma once
24 
25 #include <assert.h>
26 #include <time.h>
27 #include <debug_progmem.h>
28 #include <BitManipulations.h>
29 #include <stringutil.h>
30 #include <sming_attr.h>
31 #include <WString.h>
32 #include <Data/BitSet.h>
33 #include <Storage/Types.h>
34 
35 #define snprintf(_buf, _length, _fmt, ...) m_snprintf(_buf, _length, _fmt, ##__VA_ARGS__)
36 
38 
39 #ifdef ENABLE_FILE_SIZE64
40 
41 #ifndef ENABLE_STORAGE_SIZE64
42 static_assert(false, "ENABLE_FILE_SIZE64 requires ENABLE_STORAGE_SIZE64 also");
43 #endif
44 
45 using file_size_t = uint64_t;
46 using file_offset_t = int64_t;
47 
48 #else
49 
50 using file_size_t = uint32_t;
51 using file_offset_t = int32_t;
52 
53 #endif
int32_t file_offset_t
Definition: Components/IFS/src/include/IFS/Types.h:51
storage_size_t volume_size_t
Definition: Components/IFS/src/include/IFS/Types.h:37
uint32_t file_size_t
Definition: Components/IFS/src/include/IFS/Types.h:50
uint32_t storage_size_t
Definition: Components/Storage/src/include/Storage/Types.h:19