drivers/usb/serial/keyspan_usa90msg.h

Source file repositories/reference/linux-study-clean/drivers/usb/serial/keyspan_usa90msg.h

File Facts

System
Linux kernel
Corpus path
drivers/usb/serial/keyspan_usa90msg.h
Extension
.h
Size
6649 bytes
Lines
200
Domain
Driver Families
Bucket
drivers/usb
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

usa90msg.h

	Copyright (c) 1998-2003 InnoSys Incorporated.  All Rights Reserved
	This file is available under a BSD-style copyright

	Keyspan USB Async Message Formats for the USA19HS

	Redistribution and use in source and binary forms, with or without
	modification, are permitted provided that the following conditions are
	met:

	1. Redistributions of source code must retain this licence text
   	without modification, this list of conditions, and the following
   	disclaimer.  The following copyright notice must appear immediately at
   	the beginning of all source files:

        	Copyright (c) 1998-2003 InnoSys Incorporated.  All Rights Reserved

        	This file is available under a BSD-style copyright

	2. The name of InnoSys Incorporated may not be used to endorse or promote
   	products derived from this software without specific prior written
   	permission.

	THIS SOFTWARE IS PROVIDED BY INNOSYS CORP. ``AS IS'' AND ANY EXPRESS OR
	IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
	OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
	NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
	INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
	(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
	SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
	CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
	LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
	OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
	SUCH DAMAGE.    

	Revisions:

	2003feb14		add setTxMode/txMode  and cancelRxXoff to portControl
	2003mar21		change name of PARITY_0/1 to add MARK/SPACE
*/

#ifndef	__USA90MSG__
#define	__USA90MSG__

struct keyspan_usa90_portControlMessage
{
	/*
		there are three types of "commands" sent in the control message:

		1.	configuration changes which must be requested by setting
			the corresponding "set" flag (and should only be requested
			when necessary, to reduce overhead on the device):
	*/

	u8	setClocking,	// host requests baud rate be set
		baudLo,			// host does baud divisor calculation
		baudHi,			// host does baud divisor calculation 
		
		setLcr,			// host requests lcr be set
		lcr,			// use PARITY, STOPBITS, DATABITS below
		
		setRxMode,		// set receive mode
		rxMode,			// RXMODE_DMA or RXMODE_BYHAND

		setTxMode,		// set transmit mode
		txMode,			// TXMODE_DMA or TXMODE_BYHAND

		setTxFlowControl,	// host requests tx flow control be set
		txFlowControl	,	// use TX_FLOW... bits below
		setRxFlowControl,	// host requests rx flow control be set
		rxFlowControl,	// use RX_FLOW... bits below
		sendXoff,		// host requests XOFF transmitted immediately
		sendXon,		// host requests XON char transmitted
		xonChar,		// specified in current character format
		xoffChar,		// specified in current character format

		sendChar,		// host requests char transmitted immediately
		txChar,			// character to send

		setRts,			// host requests RTS output be set
		rts,			// 1=on, 0=off
		setDtr, 		// host requests DTR output be set
		dtr;			// 1=on, 0=off

	
	/*
		2.	configuration data which is simply used as is 
			and must be specified correctly in every host message.
	*/

Annotation

Implementation Notes