beautypg.com

4 ioctl_1284_ set_mode, 1 parameters, 2 notes – Lucent Technologies USS-720 User Manual

Page 71: 3 error codes, 4 i/o control codes

background image

Preliminary User Guide, Rev. 2

USS-720

February 1999

USB Device Driver

Lucent Technologies Inc.

7-13

13

4 I/O Control Codes

(continued)

4.4 IOCTL_1284_ SET_MODE

IOCTL_1284_ SET_MODE negotiates the peripheral into one of the valid register modes. Details regarding param-
eters and error codes follow.

4.4.1 Parameters

lpInBuffer—Points to a buffer that contains a single byte that specifies one of the following register modes:

* Using EPP mode is possible in the USS-720 for users capable of writing their own software based on the USS-720 data sheet information.

However, the USS720.SYS driver does not support EPP mode applications.

nInBufferSize—Specifies the size (in bytes) of the buffer pointed to by lpInBuffer. For this operation, this value
should be 1.

lpOutBuffer—Points to an output buffer. Not used with this operation. Set to NULL.

nOutBufferSize—Specifies the size (in bytes) of the buffer pointed to by lpOutBuffer. Not used with this operation.
Set to zero.

lpBytesReturned—Points to a DWORD that receives the actual size (in bytes) of the data stored into lpOutBuffer.
Not used with this operation.

4.4.2 Notes

All operations expect the USS-720 device to have been reset (see IOCTL_SOFT_RESET) before executing this
command.

In standard, bidirectional, and compatibility register modes, no 1284 negotiation takes place. The USS-720 device
is simply placed into the appropriate register-based operation. (See

USS-720 USB-to-IEEE 1284 Bridge Prelimi-

nary Data Sheet, “Register-Based Operations.”)

In ECP_REGISTER_MODE and ECP_RLE_REGISTER_MODE, the USS-720 device is placed into ECP register-
based operation after correctly negotiating into ECP mode via the Control and Status registers. (See

USS-720

USB-to-IEEE 1284 Bridge Preliminary Data Sheet, “Register-Based Operations.”)

4.4.3 Error Codes

ERROR_INVALID_ALTERNATESETTING—This command is only supported in ALT_INTERFACE_2 (see Section
4.9 of this document).

ERROR_INVALID_REGISTER_MODE—Register mode is either invalid or not currently supported for the device
instance.

STATUS_IO_DEVICE_ERROR—Negotiation failed.

Register Mode

Description

STANDARD_REGISTER_MODE

Sets USS-720 into register-based Standard Mode.

BIDIRECTIONAL_REGISTER_MODE

Sets USS-720 into register-based Bidirectional Mode.

COMPATIBILITY_REGISTER_MODE

Sets USS-720 into register-based Compatibility Mode.

ECP_REGISTER_MODE

Negotiates the USS-720 into register-based ECP Mode without RLE.

ECP_RLE_REGISTER_MODE

Negotiates the USS-720 into register-based ECP Mode with RLE.

EPP_REGISTER_MODE

Currently not supported.*