linux/drivers/usb/class/cdc-acm.h

/* SPDX-License-Identifier: GPL-2.0 */
/*
 *
 * Includes for cdc-acm.c
 *
 * Mainly take from usbnet's cdc-ether part
 *
 */

/*
 * Major and minor numbers.
 */

#define ACM_TTY_MAJOR
#define ACM_TTY_MINORS

#define ACM_MINOR_INVALID

/*
 * Requests.
 */

#define USB_RT_ACM

/*
 * Internal driver structures.
 */

/*
 * The only reason to have several buffers is to accommodate assumptions
 * in line disciplines. They ask for empty space amount, receive our URB size,
 * and proceed to issue several 1-character writes, assuming they will fit.
 * The very first write takes a complete URB. Fortunately, this only happens
 * when processing onlcr, so we only need 2 buffers. These values must be
 * powers of 2.
 */
#define ACM_NW
#define ACM_NR

struct acm_wb {};

struct acm_rb {};

struct acm {};

/* constants describing various quirks and errors */
#define NO_UNION_NORMAL
#define SINGLE_RX_URB
#define NO_CAP_LINE
#define IGNORE_DEVICE
#define QUIRK_CONTROL_LINE_STATE
#define CLEAR_HALT_CONDITIONS
#define SEND_ZERO_PACKET
#define DISABLE_ECHO