[BACK]Return to usbcdc.h CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / dev / usb

Annotation of src/sys/dev/usb/usbcdc.h, Revision 1.2

1.2     ! augustss    1: /*     $NetBSD: usbcdc.h,v 1.1 1999/01/01 07:43:13 augustss Exp $      */
1.1       augustss    2:
                      3: /*
                      4:  * Copyright (c) 1998 The NetBSD Foundation, Inc.
                      5:  * All rights reserved.
                      6:  *
                      7:  * This code is derived from software contributed to The NetBSD Foundation
                      8:  * by Lennart Augustsson (augustss@carlstedt.se) at
                      9:  * Carlstedt Research & Technology.
                     10:  *
                     11:  * Redistribution and use in source and binary forms, with or without
                     12:  * modification, are permitted provided that the following conditions
                     13:  * are met:
                     14:  * 1. Redistributions of source code must retain the above copyright
                     15:  *    notice, this list of conditions and the following disclaimer.
                     16:  * 2. Redistributions in binary form must reproduce the above copyright
                     17:  *    notice, this list of conditions and the following disclaimer in the
                     18:  *    documentation and/or other materials provided with the distribution.
                     19:  * 3. All advertising materials mentioning features or use of this software
                     20:  *    must display the following acknowledgement:
                     21:  *        This product includes software developed by the NetBSD
                     22:  *        Foundation, Inc. and its contributors.
                     23:  * 4. Neither the name of The NetBSD Foundation nor the names of its
                     24:  *    contributors may be used to endorse or promote products derived
                     25:  *    from this software without specific prior written permission.
                     26:  *
                     27:  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
                     28:  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
                     29:  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
                     30:  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
                     31:  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
                     32:  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
                     33:  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
                     34:  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
                     35:  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
                     36:  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
                     37:  * POSSIBILITY OF SUCH DAMAGE.
                     38:  */
                     39:
                     40: #ifndef _USBCDC_H_
                     41: #define _USBCDC_H_
                     42:
                     43: #define UDESCSUB_CDC_HEADER    0
                     44: #define UDESCSUB_CDC_CM                1 /* Call Management */
                     45: #define UDESCSUB_CDC_ACM       2 /* Abstract Control Model */
                     46: #define UDESCSUB_CDC_DLM       3 /* Direct Line Management */
                     47: #define UDESCSUB_CDC_TRF       4 /* Telephone Ringer */
                     48: #define UDESCSUB_CDC_TCLSR     5 /* Telephone Call ... */
                     49: #define UDESCSUB_CDC_UNION     6
                     50: #define UDESCSUB_CDC_CS                7 /* Country Selection */
                     51: #define UDESCSUB_CDC_TOM       8 /* Telephone Operational Modes */
                     52: #define UDESCSUB_CDC_USBT      9 /* USB Terminal */
                     53:
1.2     ! augustss   54: typedef struct {
1.1       augustss   55:        uByte           bLength;
                     56:        uByte           bDescriptorType;
                     57:        uByte           bDescriptorSubtype;
                     58:        uWord           bcdCDC;
1.2     ! augustss   59: } usb_cdc_header_descriptor_t;
1.1       augustss   60:
1.2     ! augustss   61: typedef struct {
1.1       augustss   62:        uByte           bLength;
                     63:        uByte           bDescriptorType;
                     64:        uByte           bDescriptorSubtype;
                     65:        uByte           bmCapabilities;
                     66: #define USB_CDC_CM_DOES_CM             0x01
                     67: #define USB_CDC_CM_CM_OVER_DATA                0x02
                     68:        uByte           bDataInterface;
1.2     ! augustss   69: } usb_cdc_cm_descriptor_t;
1.1       augustss   70:
1.2     ! augustss   71: typedef struct {
1.1       augustss   72:        uByte           bLength;
                     73:        uByte           bDescriptorType;
                     74:        uByte           bDescriptorSubtype;
                     75:        uByte           bmCapabilities;
                     76: #define USB_CDC_ACM_HAS_FEATURE                0x01
                     77: #define USB_CDC_ACM_HAS_LINE           0x02
                     78: #define USB_CDC_ACM_HAS_BREAK          0x04
                     79: #define USB_CDC_ACM_HAS_NETWORK_CONN   0x08
1.2     ! augustss   80: } usb_cdc_acm_descriptor_t;
1.1       augustss   81:
1.2     ! augustss   82: typedef struct {
1.1       augustss   83:        uByte           bLength;
                     84:        uByte           bDescriptorType;
                     85:        uByte           bDescriptorSubtype;
                     86:        uByte           bMasterInterface;
                     87:        uByte           bSlaveInterface[1];
1.2     ! augustss   88: } usb_cdc_union_descriptor_t;
1.1       augustss   89:
                     90: #define UCDC_SEND_ENCAPSULATED_COMMAND 0x00
                     91: #define UCDC_GET_ENCAPSULATED_RESPONSE 0x01
                     92: #define UCDC_SET_COMM_FEATURE          0x02
                     93: #define UCDC_GET_COMM_FEATURE          0x03
                     94: #define  UCDC_ABSTRACT_STATE           0x01
                     95: #define  UCDC_COUNTRY_SETTING          0x02
                     96: #define UCDC_CLEAR_COMM_FEATURE                0x04
                     97: #define UCDC_SET_LINE_CODING           0x20
                     98: #define UCDC_GET_LINE_CODING           0x21
1.2     ! augustss   99:
        !           100: typedef struct {
        !           101:        uWord   wFeatures;
        !           102: #define UCDC_DATA_MULTIPLEXED          0x0001
        !           103: #define UCDC_IDLE_SETTING              0x0002
        !           104: } usb_cdc_abstract_state_t;
        !           105:
        !           106: typedef struct {
        !           107:        uDWord  dwDTERate;
        !           108:        uByte   bCharFormat;
        !           109: #define UCDC_STOP_BIT_1                        0
        !           110: #define UCDC_STOP_BIT_1_5              1
        !           111: #define UCDC_STOP_BIT_2                        2
        !           112:        uByte   bParityType;
        !           113: #define UCDC_PARITY_NONE               0
        !           114: #define UCDC_PARITY_ODD                        1
        !           115: #define UCDC_PARITY_EVEN               2
        !           116: #define UCDC_PARITY_MARK               3
        !           117: #define UCDC_PARITY_SPACE              4
        !           118:        uByte   bDataBits;
        !           119: } usb_cdc_line_state_t;
1.1       augustss  120:
                    121: #endif /* _USBCDC_H_ */

CVSweb <webmaster@jp.NetBSD.org>