Lines Matching full:implementation
11 // APIs for installing a new logging implementation.
16 /// to replace the default runtime-controllable implementation that comes with
17 /// compiler-rt/xray. The "flight data recorder" (FDR) mode implementation uses
19 /// compiler-rt/lib/xray_fdr_logging.{h,cc} for details of that implementation.
34 /// // Once that's done, we can now attempt to configure the implementation.
42 /// // When the log implementation has had the chance to initialize, we can
51 /// // If we want to stop the implementation, we can then finalize it (before
59 /// // chance to see that the implementation is already finalized. Also, at
78 /// // implementation supports exporting this data directly).
89 /// implementation first. Some implementations might stay in an "off" state when
100 /// This enum defines the valid states in which the logging implementation can
104 /// initialization, the implementation MUST return XRAY_LOG_UNINITIALIZED.
114 /// When an implementation is done initializing, it MUST return
116 /// guaranteed that the implementation installed with
127 /// When an implementation is done finalizing, it MUST return
128 /// XRAY_LOG_FINALIZED. It is up to the implementation to determine what the
129 /// semantics of a finalized implementation is. Some implementations might
135 /// This enum allows an implementation to signal log flushing operations via
143 /// This enum indicates the installation state of a logging implementation, when
144 /// associating a mode to a particular logging implementation through
153 /// A valid XRay logging implementation MUST provide all of the function
157 /// The log initialization routine provided by the implementation, always
162 /// - a pointer to an argument struct that the implementation MUST handle
165 /// See XRayLogInitStatus for details on what the implementation MUST return
168 /// If the implementation needs to install handlers aside from the 0-argument
174 /// The log finalization routine provided by the implementation.
176 /// See XRayLogInitStatus for details on what the implementation MUST return
182 /// implementation wants to support arg1 (or other future extensions to XRay
189 /// The log implementation provided routine for when __xray_log_flushLog() is
192 /// See XRayLogFlushStatus for details on what the implementation MUST return
201 /// This function installs a new logging implementation that XRay will use. In
206 /// implementation. Use with caution.
210 /// - When the implementation is UNINITIALIZED.
211 /// - When the implementation is FINALIZED.
212 /// - When there is no current implementation installed.
214 /// It is logging implementation defined what happens when this function is
218 /// This function registers a logging implementation against a "mode"
228 /// - XRAY_DUPLICATE_MODE when an implementation is already associated with
230 /// implementation.
234 /// This function selects the implementation associated with Mode that has been
236 /// implementation (as if through calling __xray_set_log_impl(...)). The same
242 /// - XRAY_MODE_NOT_FOUND if there is no implementation associated with Mode;
243 /// does not update the currently installed implementation.
251 /// This function removes the currently installed implementation. It will also
256 /// implementation. Use with caution.
260 /// - When the implementation is UNINITIALIZED.
261 /// - When the implementation is FINALIZED.
262 /// - When there is no current implementation installed.
264 /// It is logging implementation defined what happens when this function is
270 /// Invokes the installed implementation initialization routine. See
299 /// Invokes the installed implementation finalization routine. See
303 /// Invokes the install implementation log flushing routine. See
308 /// processing functions as bytes stored in the logging implementation's
329 /// memory from the logging implementation. The callback function must:
336 /// This API is best used in place of the `__xray_log_flushLog()` implementation
338 /// data from the XRay implementation.