Line data Source code
1 : /* SPDX-FileCopyrightText: Copyright 2026 Cozens Software Solutions Limited
2 : * SPDX-License-Identifier: PolyForm-Noncommercial-1.0.0 OR LicenseRef-PolyForm-Internal-Use-1.0.0 OR LicenseRef-COSOSO-Commercial
3 : */
4 :
5 : #ifndef SOLIDSYSLOGLITTLEFSFILEPRIVATE_H
6 : #define SOLIDSYSLOGLITTLEFSFILEPRIVATE_H
7 :
8 : #include <stdbool.h>
9 : #include <stdint.h>
10 :
11 : #include "SolidSyslogError.h"
12 : #include "SolidSyslogFileDefinition.h"
13 : #include "SolidSyslogLittleFsFileErrors.h"
14 : #include "SolidSyslogPrival.h"
15 : #include "lfs.h"
16 :
17 : struct SolidSyslogLittleFsFile
18 : {
19 : struct SolidSyslogFile Base;
20 : lfs_t* Filesystem;
21 : lfs_file_t Handle;
22 : struct lfs_file_config OpenConfig;
23 : bool IsOpen;
24 : };
25 :
26 : bool SolidSyslogLittleFsFile_Initialise(
27 : struct SolidSyslogFile* base,
28 : lfs_t* filesystem,
29 : void* fileBuffer,
30 : uint32_t fileBufferBytes
31 : );
32 : void SolidSyslogLittleFsFile_Cleanup(struct SolidSyslogFile* base);
33 :
34 16 : static inline void LittleFsFile_Report(
35 : enum SolidSyslogSeverity severity,
36 : uint16_t category,
37 : enum SolidSyslogFileErrors code
38 : )
39 : {
40 16 : SolidSyslog_Error(severity, &SolidSyslogLittleFsFileErrorSource, category, (int32_t) code);
41 16 : }
42 :
43 : #endif /* SOLIDSYSLOGLITTLEFSFILEPRIVATE_H */
|