@@ -107,6 +107,18 @@ Glossary of Terms
107
107
architecture to implement an interrupt vector table. The IDT is used
108
108
to determine the correct response to interrupts and exceptions.
109
109
110
+ internal API
111
+ Any internal function, structure or macro defined anywhere in the Zephyr
112
+ source tree. Internal APIs are intended to "extend" Zephyr, and are to be
113
+ used only between certain :term: `software components <software
114
+ component> `, usually in-tree but in some cases out-of-tree (e.g. adding an
115
+ out-of-tree architecture or driver). Applications must not invoke
116
+ internal APIs outside their own scope. The context where the API is
117
+ called or implemented is well defined. For example, functions prefixed
118
+ with ``arch_ `` are intended for use by the Zephyr kernel to invoke
119
+ architecture-specific code. Internal APIs are mostly kept stable, but with
120
+ fewer guarantees than :term: `public APIs <public API> `.
121
+
110
122
ISR
111
123
(Interrupt Service Routine) Also known as an interrupt handler, an ISR
112
124
is a callback function whose execution is triggered by a hardware
@@ -127,6 +139,22 @@ Glossary of Terms
127
139
Power gating reduces power consumption by shutting off areas of an
128
140
integrated circuit that are not in use.
129
141
142
+ private API
143
+ Any function, structure or macro defined anywhere in the Zephyr source
144
+ tree which are only intended for consumption inside the
145
+ :term: `software component ` where they are defined. Private APIs may change
146
+ at any time and must not be used by code outside the corresponding
147
+ software component.
148
+
149
+ public API
150
+ Any function, structure or macro defined inside the ``include/zephyr ``
151
+ folder that is not explicitly marked as private. Public APIs are intended
152
+ for consumption by any and all in-tree or out-of-tree :term: `software
153
+ components <software component> `. Public APIs cannot be modified without
154
+ following the provisions described in the :ref: `API lifecycle
155
+ <api_lifecycle>` section, which means they provide guarantees that they
156
+ will remain stable over time.
157
+
130
158
SoC
131
159
A `System on a chip `_, that is, an integrated circuit that contains at
132
160
least one :term: `CPU cluster ` (in turn with at least one :term: `CPU core `),
@@ -140,6 +168,11 @@ Glossary of Terms
140
168
A number of different :term: `SoCs <SoC> ` that share similar characteristics and
141
169
features, and that the vendor typically names and markets together.
142
170
171
+ software component
172
+ A software component is a self-contained, modular, and replaceable part of
173
+ the Zephyr source code. A driver, a subsystem or an applications are all
174
+ examples of software components present in Zephyr.
175
+
143
176
subsystem
144
177
A subsystem refers to a logically distinct part of the operating system
145
178
that handles specific functionality or provides certain services.
0 commit comments