Namespaces
Records
-
class AnyProtocol -
class BadBlockProtocol -
class BadBlockProtocolClient -
class BindRule -
class BlockImplProtocol -
class BlockImplProtocolClient -
class BlockPartitionProtocol -
class BlockPartitionProtocolClient -
class BlockProtocol -
class BlockProtocolClient -
class BlockVolumeProtocol -
class BlockVolumeProtocolClient -
class CameraSensor2Protocol -
class CameraSensor2ProtocolClient -
class ChildPreReleaseable -
class CodecProtocol -
class CodecProtocolClient -
class CompositeNodeSpec -
class DaiProtocol -
class DaiProtocolClient -
class Device -
class DeviceAddArgs -
class EmptyProtocol -
class EthMacProtocol -
class EthMacProtocolClient -
class EthernetIfcProtocol -
class EthernetIfcProtocolClient -
class EthernetImplProtocol -
class EthernetImplProtocolClient -
class GdcProtocol -
class GdcProtocolClient -
class Ge2dProtocol -
class Ge2dProtocolClient -
class GetProtocolable -
class I2cChannel -
class IhdaCodecProtocol -
class IhdaCodecProtocolClient -
class InitTxn -
class Initializable -
class IntelGpuCoreProtocol -
class IntelGpuCoreProtocolClient -
class IoBuffer -
class IspProtocol -
class IspProtocolClient -
class MadeVisibleable -
class Messageable -
class MessageableInternal -
class MetadataList -
class MetadataServer -
class MipiCsiProtocol -
class MipiCsiProtocolClient -
class MockMipiCsi -
class MockSdio -
class MockUsb -
class MockUsbFunction -
class NandProtocol -
class NandProtocolClient -
class OutputStreamProtocol -
class OutputStreamProtocolClient -
class ParentProtocol -
class ParentProtocolClient -
class Pci -
class PcirootProtocol -
class PcirootProtocolClient -
class PowerImplProtocol -
class PowerImplProtocolClient -
class PwmImplProtocol -
class PwmImplProtocolClient -
class RawNandProtocol -
class RawNandProtocolClient -
class SdioProtocol -
class SdioProtocolClient -
class SdmmcProtocol -
class SdmmcProtocolClient -
class SuspendTxn -
class Suspendable -
class ThermalProtocol -
class ThermalProtocolClient -
class TpmImplProtocol -
class TpmImplProtocolClient -
class UnbindTxn -
class Unbindable -
class UsbBusInterfaceProtocol -
class UsbBusInterfaceProtocolClient -
class UsbBusProtocol -
class UsbBusProtocolClient -
class UsbCompositeProtocol -
class UsbCompositeProtocolClient -
class UsbDciInterfaceProtocol -
class UsbDciInterfaceProtocolClient -
class UsbDciProtocol -
class UsbDciProtocolClient -
class UsbFunctionInterfaceProtocol -
class UsbFunctionInterfaceProtocolClient -
class UsbFunctionProtocol -
class UsbFunctionProtocolClient -
class UsbHciProtocol -
class UsbHciProtocolClient -
class UsbHubInterfaceProtocol -
class UsbHubInterfaceProtocolClient -
class UsbProtocol -
class UsbProtocolClient
Functions
-
device_fidl_txn_t IntoDeviceFIDLTransaction (fidl::Transaction * txn)Defined at line 13 of file ../../src/lib/ddktl/fidl.cc
-
zx::result<std::vector<uint8_t>> GetMetadataBlob (zx_device_t * dev, uint32_t type)Gets the raw metadata.
Returns an error if metadata does not exist.
Defined at line 18 of file ../../src/lib/ddktl/include/ddktl/metadata.h
-
fidl::Transaction * FromDeviceFIDLTransaction (device_fidl_txn_t & txn)Defined at line 19 of file ../../src/lib/ddktl/fidl.cc
-
template <typename FidlType>zx::result<fidl::ClientEnd<fuchsia_driver_metadata::Metadata>> ConnectToMetadataServer (zx_device_t * device, const char * instance_name)Connects to the FIDL service that provides |FidlType|. This service is found within |device|'s
incoming namespace at FIDL service instance |instance_name|.
Defined at line 21 of file ../../src/lib/ddktl/include/ddktl/metadata_server.h
-
template <class T>zx::result<std::unique_ptr<T>> GetMetadata (zx_device_t * dev, uint32_t type)Gets a metadata that is contained in a specific struct.
Checks that the size of the metadata corresponds to the struct size.
Defined at line 36 of file ../../src/lib/ddktl/include/ddktl/metadata.h
-
template <class T>zx::result<std::vector<T>> GetMetadataArray (zx_device_t * dev, uint32_t type)Gets a metadata that is contained in an array of struct T.
Checks that the size of the metadata corresponds to the struct size.
Defined at line 50 of file ../../src/lib/ddktl/include/ddktl/metadata.h
-
template <typename FidlType>zx::result<FidlType> GetMetadata (zx_device_t * device, const char * instance_name)When converting a driver from DFv1 to DFv2, replace `ddk::GetMetadata()` with the
`fdf_metadata::GetMetadata()` function found in the //sdk/lib/driver/metadata/cpp library.
Retrieves metadata from the incoming namespace of |device| found at instance |instance_name|.
The metadata is expected to be served by `ddk::MetadataServer
<
|FidlType|>`. `FidlType` must be
annotated with `
`.
Make sure that the component manifest declares that it uses the
`FidlType::kSerializableName` service.
Defined at line 53 of file ../../src/lib/ddktl/include/ddktl/metadata_server.h
-
template <typename T>zx::result<T> GetEncodedMetadata (zx_device_t * dev, uint32_t type)Retrieves the persisted FIDL metadata of type `T` associated with the metadata ID `type` and
returns the unpersisted version of the metadata.
Defined at line 65 of file ../../src/lib/ddktl/include/ddktl/metadata.h
-
BindRule MakeAcceptBindRule (uint32_t key, uint32_t val)Factory functions to create a BindRule.
std::string values passed in the functions must outlive the returned value.
Defined at line 90 of file ../../src/lib/ddktl/include/ddktl/composite-node-spec.h
-
BindRule MakeAcceptBindRule (const std::string & key, uint32_t val)Defined at line 95 of file ../../src/lib/ddktl/include/ddktl/composite-node-spec.h
-
template <typename FidlType>zx::result<std::optional<FidlType>> GetMetadataIfExists (zx_device_t * device, const char * instance_name)This function is the same as `ddk::GetMetadata
<FidlType
>()` except that it will return a
`std::nullopt` if there is no metadata FIDL protocol within |device|'s incoming namespace at
|instance_name|.
Defined at line 96 of file ../../src/lib/ddktl/include/ddktl/metadata_server.h
-
BindRule MakeAcceptBindRule (const char * key, uint32_t val)Defined at line 100 of file ../../src/lib/ddktl/include/ddktl/composite-node-spec.h
-
BindRule MakeAcceptBindRule (const std::string & key, bool val)Defined at line 105 of file ../../src/lib/ddktl/include/ddktl/composite-node-spec.h
-
BindRule MakeAcceptBindRule (const char * key, bool val)Defined at line 110 of file ../../src/lib/ddktl/include/ddktl/composite-node-spec.h
-
BindRule MakeAcceptBindRule (const std::string & key, const std::string & val)Defined at line 115 of file ../../src/lib/ddktl/include/ddktl/composite-node-spec.h
-
BindRule MakeAcceptBindRule (const char * key, const std::string & val)Defined at line 120 of file ../../src/lib/ddktl/include/ddktl/composite-node-spec.h
-
BindRule MakeAcceptBindRule (const std::string & key, const char * val)Defined at line 125 of file ../../src/lib/ddktl/include/ddktl/composite-node-spec.h
-
BindRule MakeAcceptBindRule (const char * key, const char * val)Defined at line 130 of file ../../src/lib/ddktl/include/ddktl/composite-node-spec.h
-
BindRule MakeRejectBindRule (uint32_t key, uint32_t val)Defined at line 135 of file ../../src/lib/ddktl/include/ddktl/composite-node-spec.h
-
BindRule MakeRejectBindRule (const std::string & key, uint32_t val)Defined at line 140 of file ../../src/lib/ddktl/include/ddktl/composite-node-spec.h
-
BindRule MakeRejectBindRule (const char * key, uint32_t val)Defined at line 145 of file ../../src/lib/ddktl/include/ddktl/composite-node-spec.h
-
BindRule MakeRejectBindRule (const std::string & key, bool val)Defined at line 150 of file ../../src/lib/ddktl/include/ddktl/composite-node-spec.h
-
BindRule MakeRejectBindRule (const char * key, bool val)Defined at line 155 of file ../../src/lib/ddktl/include/ddktl/composite-node-spec.h
-
BindRule MakeRejectBindRule (const std::string & key, const std::string & val)Defined at line 160 of file ../../src/lib/ddktl/include/ddktl/composite-node-spec.h
-
BindRule MakeRejectBindRule (const char * key, const std::string & val)Defined at line 165 of file ../../src/lib/ddktl/include/ddktl/composite-node-spec.h
-
BindRule MakeRejectBindRule (const std::string & key, const char * val)Defined at line 170 of file ../../src/lib/ddktl/include/ddktl/composite-node-spec.h
-
BindRule MakeRejectBindRule (const char * key, const char * val)Defined at line 175 of file ../../src/lib/ddktl/include/ddktl/composite-node-spec.h
-
BindRule MakeAcceptBindRuleList (uint32_t key, cpp20::span<const uint32_t> values)Defined at line 180 of file ../../src/lib/ddktl/include/ddktl/composite-node-spec.h
-
BindRule MakeAcceptBindRuleList (const std::string & key, cpp20::span<const uint32_t> values)Defined at line 185 of file ../../src/lib/ddktl/include/ddktl/composite-node-spec.h
-
BindRule MakeAcceptBindRuleList (const char * key, cpp20::span<const uint32_t> values)Defined at line 190 of file ../../src/lib/ddktl/include/ddktl/composite-node-spec.h
-
BindRule MakeAcceptBindRuleList (const std::string & key, cpp20::span<const char *> values)Defined at line 195 of file ../../src/lib/ddktl/include/ddktl/composite-node-spec.h
-
BindRule MakeAcceptBindRuleList (const char * key, cpp20::span<const char *> values)Defined at line 200 of file ../../src/lib/ddktl/include/ddktl/composite-node-spec.h
-
BindRule MakeRejectBindRuleList (uint32_t key, cpp20::span<const uint32_t> values)Defined at line 205 of file ../../src/lib/ddktl/include/ddktl/composite-node-spec.h
-
BindRule MakeRejectBindRuleList (const std::string & key, cpp20::span<const uint32_t> values)Defined at line 210 of file ../../src/lib/ddktl/include/ddktl/composite-node-spec.h
-
BindRule MakeRejectBindRuleList (const char * key, cpp20::span<const uint32_t> values)Defined at line 215 of file ../../src/lib/ddktl/include/ddktl/composite-node-spec.h
-
BindRule MakeRejectBindRuleList (const std::string & key, cpp20::span<const char *> values)Defined at line 220 of file ../../src/lib/ddktl/include/ddktl/composite-node-spec.h
-
BindRule MakeRejectBindRuleList (const char * key, cpp20::span<const char *> values)Defined at line 225 of file ../../src/lib/ddktl/include/ddktl/composite-node-spec.h
-
device_bind_prop_t MakeProperty (uint32_t key, uint32_t val)Factory functions to create a device_bind_prop_t.
std::string values passed in the functions must outlive the returned value.
Defined at line 232 of file ../../src/lib/ddktl/include/ddktl/composite-node-spec.h
-
device_bind_prop_t MakeProperty (const std::string & key, uint32_t val)Defined at line 236 of file ../../src/lib/ddktl/include/ddktl/composite-node-spec.h
-
device_bind_prop_t MakeProperty (const char * key, uint32_t val)Defined at line 240 of file ../../src/lib/ddktl/include/ddktl/composite-node-spec.h
-
device_bind_prop_t MakeProperty (const std::string & key, bool val)Defined at line 244 of file ../../src/lib/ddktl/include/ddktl/composite-node-spec.h
-
device_bind_prop_t MakeProperty (const char * key, bool val)Defined at line 248 of file ../../src/lib/ddktl/include/ddktl/composite-node-spec.h
-
device_bind_prop_t MakeProperty (const std::string & key, const std::string & val)Defined at line 252 of file ../../src/lib/ddktl/include/ddktl/composite-node-spec.h
-
device_bind_prop_t MakeProperty (const char * key, const std::string & val)Defined at line 256 of file ../../src/lib/ddktl/include/ddktl/composite-node-spec.h
-
device_bind_prop_t MakeProperty (const std::string & key, const char * val)Defined at line 260 of file ../../src/lib/ddktl/include/ddktl/composite-node-spec.h
-
device_bind_prop_t MakeProperty (const char * key, const char * val)Defined at line 264 of file ../../src/lib/ddktl/include/ddktl/composite-node-spec.h
-
zx_device_str_prop_t MakeStrProperty (const std::string & key, uint32_t val)Factory functions to create a zx_device_str_prop_t.
Defined at line 272 of file ../../src/lib/ddktl/include/ddktl/device.h
-
zx_device_str_prop_t MakeStrProperty (const char * key, uint32_t val)Defined at line 276 of file ../../src/lib/ddktl/include/ddktl/device.h
-
zx_device_str_prop_t MakeStrProperty (const std::string & key, bool val)Defined at line 280 of file ../../src/lib/ddktl/include/ddktl/device.h
-
zx_device_str_prop_t MakeStrProperty (const char * key, bool val)Defined at line 284 of file ../../src/lib/ddktl/include/ddktl/device.h
-
zx_device_str_prop_t MakeStrProperty (const std::string & key, const std::string & val)Defined at line 288 of file ../../src/lib/ddktl/include/ddktl/device.h
-
zx_device_str_prop_t MakeStrProperty (const char * key, const std::string & val)Defined at line 292 of file ../../src/lib/ddktl/include/ddktl/device.h
-
zx_device_str_prop_t MakeStrProperty (const std::string & key, const char * val)Defined at line 296 of file ../../src/lib/ddktl/include/ddktl/device.h
-
zx_device_str_prop_t MakeStrProperty (const char * key, const char * val)Defined at line 300 of file ../../src/lib/ddktl/include/ddktl/device.h
-
pci_device_info_t convert_device_info_to_banjo (const fuchsia_hardware_pci::wire::DeviceInfo & info)Some helper functions to convert FIDL types to Banjo, for use mainly by C
drivers that can't directly use the C++ types.
Defined at line 317 of file ../../src/devices/pci/lib/device-protocol-pci/pci.cc
-
pci_interrupt_modes_t convert_interrupt_modes_to_banjo (const fuchsia_hardware_pci::wire::InterruptModes & modes)Defined at line 331 of file ../../src/devices/pci/lib/device-protocol-pci/pci.cc
-
pci_bar_t convert_bar_to_banjo (fuchsia_hardware_pci::wire::Bar bar)The pci_bar_t object takes ownership of the Bar's handles.
Defined at line 340 of file ../../src/devices/pci/lib/device-protocol-pci/pci.cc