Crate fidl_fuchsia_fuzzer

Source

Macros§

CorpusUnknown
Pattern that matches an unknown Corpus member.
DataUnknown
Pattern that matches an unknown Data member.
Result_Unknown
Pattern that matches an unknown Result_ member.
TestOutputUnknown
Pattern that matches an unknown TestOutput member.
UpdateReasonUnknown
Pattern that matches an unknown UpdateReason member.

Structs§

Artifact
Encapsulates the result of a long-running fuzzing workflow and optionally the input that caused it, depending on the workflow.
ControllerAddMonitorRequest
ControllerAddMonitorResponder
ControllerAddToCorpusRequest
ControllerAddToCorpusResponder
ControllerCleanseRequest
ControllerCleanseResponder
ControllerConfigureRequest
ControllerConfigureResponder
ControllerControlHandle
ControllerEventStream
ControllerFuzzResponder
ControllerGetOptionsResponder
ControllerGetOptionsResponse
ControllerGetStatusResponder
ControllerGetStatusResponse
ControllerMarker
ControllerMergeResponder
ControllerMinimizeRequest
ControllerMinimizeResponder
ControllerProviderConnectRequest
ControllerProviderConnectResponder
ControllerProviderControlHandle
ControllerProviderEventStream
ControllerProviderMarker
ControllerProviderProxy
ControllerProviderRequestStream
A Stream of incoming requests for fuchsia.fuzzer/ControllerProvider.
ControllerProviderSynchronousProxy
ControllerProxy
ControllerReadCorpusRequest
ControllerReadCorpusResponder
ControllerReadDictionaryResponder
ControllerReadDictionaryResponse
ControllerRequestStream
A Stream of incoming requests for fuchsia.fuzzer/Controller.
ControllerSynchronousProxy
ControllerTryOneRequest
ControllerTryOneResponder
ControllerWatchArtifactResponder
ControllerWatchArtifactResponse
ControllerWriteDictionaryRequest
ControllerWriteDictionaryResponder
CorpusReaderControlHandle
CorpusReaderEventStream
CorpusReaderMarker
CorpusReaderNextRequest
CorpusReaderNextResponder
CorpusReaderNextResponse
CorpusReaderProxy
CorpusReaderRequestStream
A Stream of incoming requests for fuchsia.fuzzer/CorpusReader.
CorpusReaderSynchronousProxy
CoverageData
Represents an instrumented target process or the code coverage it is sharing.
CoverageDataCollectorAddInline8bitCountersRequest
CoverageDataCollectorAddInline8bitCountersResponder
CoverageDataCollectorControlHandle
CoverageDataCollectorEventStream
CoverageDataCollectorInitializeRequest
CoverageDataCollectorInitializeResponder
CoverageDataCollectorInitializeResponse
CoverageDataCollectorMarker
CoverageDataCollectorProxy
CoverageDataCollectorRequestStream
A Stream of incoming requests for fuchsia.fuzzer/CoverageDataCollector.
CoverageDataCollectorSynchronousProxy
CoverageDataProviderControlHandle
CoverageDataProviderEventStream
CoverageDataProviderMarker
CoverageDataProviderProxy
CoverageDataProviderRequestStream
A Stream of incoming requests for fuchsia.fuzzer/CoverageDataProvider.
CoverageDataProviderSetOptionsRequest
CoverageDataProviderSynchronousProxy
CoverageDataProviderWatchCoverageDataResponder
CoverageDataProviderWatchCoverageDataResponse
Input
Encapsulation of a fuzzer input transferred over a socket, e.g. between a host and device via overnet.
InstrumentedProcess
Represents an instrumented target process under test.
ManagerConnectRequest
ManagerConnectResponder
ManagerControlHandle
ManagerEventStream
ManagerGetOutputRequest
ManagerGetOutputResponder
ManagerMarker
ManagerProxy
ManagerRequestStream
A Stream of incoming requests for fuchsia.fuzzer/Manager.
ManagerStopRequest
ManagerStopResponder
ManagerSynchronousProxy
MonitorControlHandle
MonitorEventStream
MonitorMarker
MonitorProxy
MonitorRequestStream
A Stream of incoming requests for fuchsia.fuzzer/Monitor.
MonitorSynchronousProxy
MonitorUpdateRequest
MonitorUpdateResponder
Options
See fuchsia.fuzzer.Controller/Configure.
OutputFlags
Specifies how a fuzzing engine should configure output streams.
ProcessStats
Details about an instrumented process.
RegistrarControlHandle
RegistrarEventStream
RegistrarMarker
RegistrarProxy
RegistrarRegisterRequest
RegistrarRegisterResponder
RegistrarRequestStream
A Stream of incoming requests for fuchsia.fuzzer/Registrar.
RegistrarSynchronousProxy
RegistryConnectRequest
RegistryConnectResponder
RegistryControlHandle
RegistryDisconnectRequest
RegistryDisconnectResponder
RegistryEventStream
RegistryMarker
RegistryProxy
RegistryRequestStream
A Stream of incoming requests for fuchsia.fuzzer/Registry.
RegistrySynchronousProxy
SanitizerOptions
Corresponds to sanitizer enviroment variables.
Status
See Controller.GetStatus.
TargetAdapterConnectRequest
TargetAdapterConnectResponder
TargetAdapterControlHandle
TargetAdapterEventStream
TargetAdapterGetParametersResponder
TargetAdapterGetParametersResponse
TargetAdapterMarker
TargetAdapterProxy
TargetAdapterRequestStream
A Stream of incoming requests for fuchsia.fuzzer/TargetAdapter.
TargetAdapterSynchronousProxy

Enums§

ControllerEvent
ControllerProviderEvent
ControllerProviderRequest
Provides a Controller implementation.
ControllerRequest
Provides the management interface for fuzzing.
Corpus
See |Controller.GetCorpusWriter| and |Controller.GetCorpusReader|.
CorpusReaderEvent
CorpusReaderRequest
Sends a sequence of test inputs belonging to a fuzzer’s corpus.
CoverageDataCollectorEvent
CoverageDataCollectorRequest
Collects VMOs used to share code coverage from instrumented target processes.
CoverageDataProviderEvent
CoverageDataProviderRequest
Provides the process Handles and VMOs used to share code coverage to the fuzzing engine.
Data
ManagerEvent
ManagerRequest
Entry point for users, e.g. ffx fuzz, used to start and stop fuzzers. A fuzzer will be started on the first call to Connect with a given URL. Closing the given Controller channel does not stop the associated fuzzer. Instead, since fuzzing is meant to be long-running, clients may drop the connection and re-Connect some time later.
MonitorEvent
MonitorRequest
See Status. This protocol is used to push status from the Controller to callers.
RegistrarEvent
RegistrarRequest
Entry point for the fuzz_test_runner. It uses this protocol to transfer one end of a channel it creates to the fuzz_manager. The other end is passed as a startup handle to the fuzzer component itself, which is used to provide Controllers on request.
RegistryEvent
RegistryRequest
Entry point for the fuzz_manager. It uses this protocol to wait for fuzz tests started within the test runner framework to register a ControllerProvider, and to stop those fuzzers upon request.
Result_
Indicates the result of a long-running fuzzing workflow.
TargetAdapterEvent
TargetAdapterRequest
Maps test inputs to specific behaviors in the target code, e.g. by invoking APIs, making FIDL calls. etc. The adapter includes the target-specific code often referred to as the “fuzz target function”.
TestOutput
Represents types of fuzzer output.
UpdateReason
See Controller.Monitor. Used to indicate why an update was sent.

Constants§

DONE_MARKER
Marker indicating the last message in a diagnostic output stream.
FUZZ_MODE
Command line flag requesting fuzzing to be performed.
MAX_COVERAGE_DATA
Maximum length of a vector of CoverageData structs.
MAX_PARAMETERS
MAX_PARAMETER_LEN
MAX_PROCESS_STATS
The maximum number of processes for which stats will be returned via Status.
MAX_SANITIZER_OPTIONS_NAME_SIZE
Maximum length of a sanitizer options environment variable name.
MAX_SANITIZER_OPTIONS_VALUE_SIZE
Maximum length of a sanitizer options environment variable value.

Traits§

ControllerProviderProxyInterface
ControllerProxyInterface
CorpusReaderProxyInterface
CoverageDataCollectorProxyInterface
CoverageDataProviderProxyInterface
ManagerProxyInterface
MonitorProxyInterface
RegistrarProxyInterface
RegistryProxyInterface
TargetAdapterProxyInterface

Type Aliases§

ControllerAddToCorpusResult
ControllerCleanseResult
ControllerConfigureResult
ControllerFuzzResult
ControllerMergeResult
ControllerMinimizeResult
ControllerTryOneResult
ControllerWriteDictionaryResult
ManagerConnectResult
ManagerGetOutputResult
ManagerStopResult
RegistryConnectResult
RegistryDisconnectResult