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 SOLIDSYSLOGMETASDPRIVATE_H
6 : #define SOLIDSYSLOGMETASDPRIVATE_H
7 :
8 : #include <stdint.h>
9 :
10 : #include "SolidSyslogError.h"
11 : #include "SolidSyslogMetaSd.h"
12 : #include "SolidSyslogMetaSdErrors.h"
13 : #include "SolidSyslogPrival.h"
14 : #include "SolidSyslogSdValueFunction.h"
15 : #include "SolidSyslogStructuredDataDefinition.h"
16 :
17 : struct SolidSyslogAtomicCounter;
18 :
19 : struct SolidSyslogMetaSd
20 : {
21 : struct SolidSyslogStructuredData Base;
22 : struct SolidSyslogAtomicCounter* Counter;
23 : SolidSyslogSysUpTimeFunction GetSysUpTime;
24 : SolidSyslogSdValueFunction GetLanguage;
25 : void* LanguageContext;
26 : };
27 :
28 : void SolidSyslogMetaSd_Initialise(struct SolidSyslogStructuredData* base, const struct SolidSyslogMetaSdConfig* config);
29 : void SolidSyslogMetaSd_Cleanup(struct SolidSyslogStructuredData* base);
30 :
31 15 : static inline void MetaSd_Report(
32 : enum SolidSyslogSeverity severity,
33 : uint16_t category,
34 : enum SolidSyslogMetaSdErrors code
35 : )
36 : {
37 15 : SolidSyslog_Error(severity, &SolidSyslogMetaSdErrorSource, category, (int32_t) code);
38 15 : }
39 :
40 : #endif /* SOLIDSYSLOGMETASDPRIVATE_H */
|