Preliminary User Guide, Rev. 2

USS-720

February 1999

USB Device Driver

 

 

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:

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.*

 

 

*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-720USB-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-720USB-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.

Lucent Technologies Inc.

7-13

Page 71
Image 71
Lucent Technologies USS-720 manual IOCTL1284 Setmode, Register Mode Description