Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/drivers/usb/gadget/function/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 3 kB image not shown  

Quelle  u_uvc.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0 */
/*
 * u_uvc.h
 *
 * Utility definitions for the uvc function
 *
 * Copyright (c) 2013-2014 Samsung Electronics Co., Ltd.
 * http://www.samsung.com
 *
 * Author: Andrzej Pietrasiewicz <andrzejtp2010@gmail.com>
 */


#ifndef U_UVC_H
#define U_UVC_H

#include <linux/mutex.h>
#include <linux/usb/composite.h>
#include <linux/usb/video.h>

#define fi_to_f_uvc_opts(f) container_of(f, struct f_uvc_opts, func_inst)

struct f_uvc_opts {
 struct usb_function_instance   func_inst;
 unsigned int     streaming_interval;
 unsigned int     streaming_maxpacket;
 unsigned int     streaming_maxburst;

 unsigned int     control_interface;
 unsigned int     streaming_interface;
 char      function_name[32];
 unsigned int     last_unit_id;

 bool      enable_interrupt_ep;

 /*
 * Control descriptors array pointers for full-/high-speed and
 * super-speed. They point by default to the uvc_fs_control_cls and
 * uvc_ss_control_cls arrays respectively. Legacy gadgets must
 * override them in their gadget bind callback.
 */

 const struct uvc_descriptor_header * const *fs_control;
 const struct uvc_descriptor_header * const *ss_control;

 /*
 * Streaming descriptors array pointers for full-speed, high-speed and
 * super-speed. They will point to the uvc_[fhs]s_streaming_cls arrays
 * for configfs-based gadgets. Legacy gadgets must initialize them in
 * their gadget bind callback.
 */

 const struct uvc_descriptor_header * const *fs_streaming;
 const struct uvc_descriptor_header * const *hs_streaming;
 const struct uvc_descriptor_header * const *ss_streaming;

 /* Default control descriptors for configfs-based gadgets. */
 struct uvc_camera_terminal_descriptor  uvc_camera_terminal;
 struct uvc_processing_unit_descriptor  uvc_processing;
 struct uvc_output_terminal_descriptor  uvc_output_terminal;

 /*
 * Control descriptors pointers arrays for full-/high-speed and
 * super-speed. The first element is a configurable control header
 * descriptor, the other elements point to the fixed default control
 * descriptors. Used by configfs only, must not be touched by legacy
 * gadgets.
 */

 struct uvc_descriptor_header   *uvc_fs_control_cls[5];
 struct uvc_descriptor_header   *uvc_ss_control_cls[5];

 /*
 * Control descriptors for extension units. There could be any number
 * of these, including none at all.
 */

 struct list_head    extension_units;

 /*
 * Streaming descriptors for full-speed, high-speed and super-speed.
 * Used by configfs only, must not be touched by legacy gadgets. The
 * arrays are allocated at runtime as the number of descriptors isn't
 * known in advance.
 */

 struct uvc_descriptor_header   **uvc_fs_streaming_cls;
 struct uvc_descriptor_header   **uvc_hs_streaming_cls;
 struct uvc_descriptor_header   **uvc_ss_streaming_cls;

 /*
 * Indexes into the function's string descriptors allowing users to set
 * custom descriptions rather than the hard-coded defaults.
 */

 u8      iad_index;
 u8      vs0_index;
 u8      vs1_index;

 /*
 * Read/write access to configfs attributes is handled by configfs.
 *
 * This lock protects the descriptors from concurrent access by
 * read/write and symlink creation/removal.
 */

 struct mutex   lock;
 int    refcnt;

 /*
 * Only for legacy gadget. Shall be NULL for configfs-composed gadgets,
 * which is guaranteed by alloc_inst implementation of f_uvc doing kzalloc.
 */

 struct uvcg_streaming_header *header;
};

#endif /* U_UVC_H */

Messung V0.5
C=90 H=100 G=95

¤ Dauer der Verarbeitung: 0.11 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.