kernels/linux-2.4.0/drivers/usb/serial/keyspan_pda.c
/* modem control pins: DTR and RTS are outputs and can be controlled.
   DCD, RI, DSR, CTS are inputs and can be read. All outputs can also be
   read. The byte passed is: DTR(b7) DCD RI DSR CTS RTS(b2) unused unused */
modem control pins: DTR and RTS are outputs and can be controlled.
DCD, RI, DSR, CTS are inputs and can be read. All outputs can also be
read.
modem control pins : DTR and RTS are outputs and can be controlled . DCD RI DSR CTS are inputs and can be read . All outputs can also be read .
static int keyspan_pda_get_modem_info(struct usb_serial *serial,
				      unsigned char *value)
{
	int rc;
	unsigned char data;
	rc = usb_control_msg(serial->dev, usb_rcvctrlpipe(serial->dev, 0),
			     3, 
			     USB_TYPE_VENDOR|USB_RECIP_INTERFACE|USB_DIR_IN,
			     0, 0, &data, 1, 2*HZ);
	if (rc > 0)
		*value = data;
	return rc;
}
static int keyspan_pda_get_modem_info ( struct usb_serial * serial , unsigned char * value ) { int rc ; unsigned char data ; rc = usb_control_msg ( serial -> dev , usb_rcvctrlpipe ( serial -> dev , 0 ) , 3 , USB_TYPE_VENDOR | USB_RECIP_INTERFACE | USB_DIR_IN , 0 , 0 , & data , 1 , 2 * HZ ) ; if ( rc > 0 ) * value = data ; return rc ; }
modem control pins: DTR and RTS are outputs and can be controlled.
modem control pins : DTR and RTS are outputs and can be controlled .
/* get pins */