/* * Copyright (c) 2023 Nordic Semiconductor ASA. * * SPDX-License-Identifier: Apache-2.0 */ #ifndef ZEPHYR_SAMPLES_SUBSYS_USB_COMMON_SAMPLE_USBD_H #define ZEPHYR_SAMPLES_SUBSYS_USB_COMMON_SAMPLE_USBD_H #include #include /* * The scope of this header is limited to use in USB samples together with the * new experimental USB device stack, you should not use it in your own * application. However, you can use the code as a template. */ /* * This function uses Kconfig.sample_usbd options to configure and initialize a * USB device. It configures sample's device context, default string descriptors, * USB device configuration, registers any available class instances, and * finally initializes USB device. It is limited to a single device with a * single configuration instantiated in sample_usbd_init.c, which should be * enough for a simple USB device sample. * * It returns the configured and initialized USB device context on success, * otherwise it returns NULL. */ struct usbd_context *sample_usbd_init_device(usbd_msg_cb_t msg_cb); /* * This function is similar to sample_usbd_init_device(), but does not * initialize the device. It allows the application to set additional features, * such as additional descriptors. */ struct usbd_context *sample_usbd_setup_device(usbd_msg_cb_t msg_cb); #endif /* ZEPHYR_SAMPLES_SUBSYS_USB_COMMON_SAMPLE_USBD_H */