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 : #include "SolidSyslogNullBlockDevice.h"
6 :
7 : #include <stdbool.h>
8 : #include <stddef.h>
9 :
10 : #include "SolidSyslogBlockDeviceDefinition.h"
11 :
12 : static bool NullBlockDevice_Acquire(struct SolidSyslogBlockDevice* base, size_t blockIndex);
13 : static bool NullBlockDevice_Dispose(struct SolidSyslogBlockDevice* base, size_t blockIndex);
14 : static bool NullBlockDevice_Exists(struct SolidSyslogBlockDevice* base, size_t blockIndex);
15 : // NOLINTBEGIN(bugprone-easily-swappable-parameters) -- vtable signature mirrored from BlockDevice contract
16 : static bool NullBlockDevice_Read(
17 : struct SolidSyslogBlockDevice* base,
18 : size_t blockIndex,
19 : size_t offset,
20 : void* buf,
21 : size_t count
22 : );
23 : static bool NullBlockDevice_WriteAt(
24 : struct SolidSyslogBlockDevice* base,
25 : size_t blockIndex,
26 : size_t offset,
27 : const void* buf,
28 : size_t count
29 : );
30 : // NOLINTEND(bugprone-easily-swappable-parameters)
31 : static bool NullBlockDevice_Append(
32 : struct SolidSyslogBlockDevice* base,
33 : size_t blockIndex,
34 : const void* buf,
35 : size_t count
36 : );
37 : static bool NullBlockDevice_Size(struct SolidSyslogBlockDevice* base, size_t blockIndex, size_t* size);
38 : static size_t NullBlockDevice_GetBlockSize(struct SolidSyslogBlockDevice* base);
39 :
40 718 : struct SolidSyslogBlockDevice* SolidSyslogNullBlockDevice_Get(void)
41 : {
42 : static struct SolidSyslogBlockDevice instance = {
43 : .Acquire = NullBlockDevice_Acquire,
44 : .Dispose = NullBlockDevice_Dispose,
45 : .Exists = NullBlockDevice_Exists,
46 : .Read = NullBlockDevice_Read,
47 : .Append = NullBlockDevice_Append,
48 : .WriteAt = NullBlockDevice_WriteAt,
49 : .Size = NullBlockDevice_Size,
50 : .GetBlockSize = NullBlockDevice_GetBlockSize,
51 : };
52 718 : return &instance;
53 : }
54 :
55 2 : static bool NullBlockDevice_Acquire(struct SolidSyslogBlockDevice* base, size_t blockIndex)
56 : {
57 : (void) base;
58 : (void) blockIndex;
59 2 : return false;
60 : }
61 :
62 2 : static bool NullBlockDevice_Dispose(struct SolidSyslogBlockDevice* base, size_t blockIndex)
63 : {
64 : (void) base;
65 : (void) blockIndex;
66 2 : return false;
67 : }
68 :
69 2 : static bool NullBlockDevice_Exists(struct SolidSyslogBlockDevice* base, size_t blockIndex)
70 : {
71 : (void) base;
72 : (void) blockIndex;
73 2 : return false;
74 : }
75 :
76 : // NOLINTBEGIN(bugprone-easily-swappable-parameters) -- vtable signature mirrored from BlockDevice contract
77 2 : static bool NullBlockDevice_Read(
78 : struct SolidSyslogBlockDevice* base,
79 : size_t blockIndex,
80 : size_t offset,
81 : void* buf,
82 : size_t count
83 : )
84 : {
85 : (void) base;
86 : (void) blockIndex;
87 : (void) offset;
88 : (void) buf;
89 : (void) count;
90 2 : return false;
91 : }
92 :
93 : // NOLINTEND(bugprone-easily-swappable-parameters)
94 :
95 2 : static bool NullBlockDevice_Append(
96 : struct SolidSyslogBlockDevice* base,
97 : size_t blockIndex,
98 : const void* buf,
99 : size_t count
100 : )
101 : {
102 : (void) base;
103 : (void) blockIndex;
104 : (void) buf;
105 : (void) count;
106 2 : return false;
107 : }
108 :
109 : // NOLINTBEGIN(bugprone-easily-swappable-parameters) -- vtable signature mirrored from BlockDevice contract
110 2 : static bool NullBlockDevice_WriteAt(
111 : struct SolidSyslogBlockDevice* base,
112 : size_t blockIndex,
113 : size_t offset,
114 : const void* buf,
115 : size_t count
116 : )
117 : {
118 : (void) base;
119 : (void) blockIndex;
120 : (void) offset;
121 : (void) buf;
122 : (void) count;
123 2 : return false;
124 : }
125 :
126 : // NOLINTEND(bugprone-easily-swappable-parameters)
127 :
128 3 : static bool NullBlockDevice_Size(struct SolidSyslogBlockDevice* base, size_t blockIndex, size_t* size)
129 : {
130 : (void) base;
131 : (void) blockIndex;
132 3 : *size = 0U;
133 3 : return false;
134 : }
135 :
136 1 : static size_t NullBlockDevice_GetBlockSize(struct SolidSyslogBlockDevice* base)
137 : {
138 : (void) base;
139 1 : return 0;
140 : }
|