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 SOLIDSYSLOGSWITCHINGSENDERPRIVATE_H
6 : #define SOLIDSYSLOGSWITCHINGSENDERPRIVATE_H
7 :
8 : #include <stdbool.h>
9 : #include <stdint.h>
10 :
11 : #include "SolidSyslogError.h"
12 : #include "SolidSyslogPrival.h"
13 : #include "SolidSyslogSenderDefinition.h"
14 : #include "SolidSyslogSwitchingSender.h"
15 : #include "SolidSyslogSwitchingSenderErrors.h"
16 :
17 : struct SolidSyslogSwitchingSender
18 : {
19 : struct SolidSyslogSender Base;
20 : struct SolidSyslogSwitchingSenderConfig Config;
21 : struct SolidSyslogSender* CurrentSender;
22 : bool OutOfRangeReported;
23 : };
24 :
25 : void SolidSyslogSwitchingSender_Initialise(
26 : struct SolidSyslogSender* base,
27 : const struct SolidSyslogSwitchingSenderConfig* config
28 : );
29 : void SolidSyslogSwitchingSender_Cleanup(struct SolidSyslogSender* base);
30 :
31 56 : static inline void SwitchingSender_Report(
32 : enum SolidSyslogSeverity severity,
33 : uint16_t category,
34 : enum SolidSyslogSwitchingSenderErrors code
35 : )
36 : {
37 56 : SolidSyslog_Error(severity, &SolidSyslogSwitchingSenderErrorSource, category, (int32_t) code);
38 56 : }
39 :
40 : #endif /* SOLIDSYSLOGSWITCHINGSENDERPRIVATE_H */
|