ieusb_io.h File Reference


Defines

#define IEUSB_LIB_ALL_MODES   ( (IEUSB_LIB_MODE)(IO_WIN | IO_ICA | IO_RDP) )

Typedefs

typedef void * IEUSB_HANDLE
typedef void * IEUSB_LIB_HANDLE

Enumerations

enum  IEUSB_LIB_MODE { IO_WIN = 1, IO_ICA = 2, IO_RDP = 4 }

Functions

IEUSB_LIB_HANDLE IEUS_InitializeLibraryContext (IEUSB_LIB_MODE modes)
IEUSB_LIB_MODE IEUS_GetIoMode (IEUSB_LIB_HANDLE hLibContext)
void IEUS_ReleaseLibraryContext (IEUSB_LIB_HANDLE hLibContext)
ULONG IEUS_GetNumDevices (IEUSB_LIB_HANDLE hLibContext, USHORT DEVICEPID, USHORT DEVICEVID, USHORT CAPSUsagePageValue, int fExclusiveOpen, int *iNumEndpoints)
IEUSB_HANDLE IEUS_OpenDevice (IEUSB_LIB_HANDLE hLibContext, ULONG iDeviceNum, USHORT DEVICEPID, USHORT DEVICEVID, USHORT CAPSUsagePageValue, int fExclusiveOpen)
void IEUS_CloseDevice (IEUSB_HANDLE hDevice)
BOOLEAN IEUS_GetFWRevision (IEUSB_HANDLE hDevice, USHORT *p_bcdVersion)
BOOLEAN IEUS_GetVidPid (IEUSB_HANDLE hDevice, USHORT *pVID, USHORT *pPID)
BOOLEAN IEUS_HidGetIndexedString (IEUSB_HANDLE hDevice, ULONG StringIndex, PVOID Buffer, ULONG BufferLength)
BOOLEAN IEUS_HidGetFeature (IEUSB_HANDLE hDevice, PVOID ReportBuffer, ULONG ReportBufferLength)
BOOLEAN IEUS_HidSetFeature (IEUSB_HANDLE hDevice, PVOID ReportBuffer, ULONG ReportBufferLength)
BOOLEAN IEUS_ReadFile (IEUSB_HANDLE hDevice, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped)
DWORD IEUS_GetTimeoutValue (IEUSB_HANDLE hDevice)
BOOLEAN IEUS_GetOverlappedResult (IEUSB_HANDLE hDevice, LPOVERLAPPED lpOverlapped, LPDWORD lpNumberOfBytesTransferred, BOOL bWait)
HANDLE IEUS_GETHANDLE (IEUSB_HANDLE hDevice)
BOOLEAN IEUS_GetDataReportSize (IEUSB_HANDLE hDevice, ULONG *pInputReportlength, ULONG *pFeatureReportLength=NULL, ULONG *pOutputReportLength=NULL)

Define Documentation

#define IEUSB_LIB_ALL_MODES   ( (IEUSB_LIB_MODE)(IO_WIN | IO_ICA | IO_RDP) )


Typedef Documentation

typedef void* IEUSB_HANDLE

typedef void* IEUSB_LIB_HANDLE


Enumeration Type Documentation

enum IEUSB_LIB_MODE

Enumerator:
IO_WIN 
IO_ICA 
IO_RDP 
00030              {
00031     IO_WIN    = 1,
00032     IO_ICA    = 2,
00033     IO_RDP    = 4
00034 } IEUSB_LIB_MODE;


Function Documentation

void IEUS_CloseDevice ( IEUSB_HANDLE  hDevice  ) 

Closes the referenced device

BOOLEAN IEUS_GetDataReportSize ( IEUSB_HANDLE  hDevice,
ULONG *  pInputReportlength,
ULONG *  pFeatureReportLength = NULL,
ULONG *  pOutputReportLength = NULL 
)

BOOLEAN IEUS_GetFWRevision ( IEUSB_HANDLE  hDevice,
USHORT *  p_bcdVersion 
)

Fills in the user-specified buffer with the bcdRevision of the FW on an already opened device.

Returns:
TRUE if successful

HANDLE IEUS_GETHANDLE ( IEUSB_HANDLE  hDevice  ) 

Returns the native underlying handle of the device or NULL if it doesn't exist / cannot be translated.

IEUSB_LIB_MODE IEUS_GetIoMode ( IEUSB_LIB_HANDLE  hLibContext  ) 

ULONG IEUS_GetNumDevices ( IEUSB_LIB_HANDLE  hLibContext,
USHORT  DEVICEPID,
USHORT  DEVICEVID,
USHORT  CAPSUsagePageValue,
int  fExclusiveOpen,
int *  iNumEndpoints 
)

Returns the # of devices matching the specified vid, pid and usage page

BOOLEAN IEUS_GetOverlappedResult ( IEUSB_HANDLE  hDevice,
LPOVERLAPPED  lpOverlapped,
LPDWORD  lpNumberOfBytesTransferred,
BOOL  bWait 
)

Follows the MSFT defined GetOverlappedResult function.

Note that for OS's that do not support this function (winCE) it is implemented in such a way that it always indicates success.

DWORD IEUS_GetTimeoutValue ( IEUSB_HANDLE  hDevice  ) 

Get the timeout value from module. Typically for windows is INFINITE, RDP/ICA is 250.

BOOLEAN IEUS_GetVidPid ( IEUSB_HANDLE  hDevice,
USHORT *  pVID,
USHORT *  pPID 
)

Fills in the user-specified buffers with the vid/pid of the device.

Returns:
TRUE if successful

BOOLEAN IEUS_HidGetFeature ( IEUSB_HANDLE  hDevice,
PVOID  ReportBuffer,
ULONG  ReportBufferLength 
)

Gets a feature from the device

BOOLEAN IEUS_HidGetIndexedString ( IEUSB_HANDLE  hDevice,
ULONG  StringIndex,
PVOID  Buffer,
ULONG  BufferLength 
)

Returns the requested string from the current device.

BOOLEAN IEUS_HidSetFeature ( IEUSB_HANDLE  hDevice,
PVOID  ReportBuffer,
ULONG  ReportBufferLength 
)

Sets a feature on the device

IEUSB_LIB_HANDLE IEUS_InitializeLibraryContext ( IEUSB_LIB_MODE  modes  ) 

Called once before using any other library functions. If no specified modes are available, returns NULL.

IEUSB_HANDLE IEUS_OpenDevice ( IEUSB_LIB_HANDLE  hLibContext,
ULONG  iDeviceNum,
USHORT  DEVICEPID,
USHORT  DEVICEVID,
USHORT  CAPSUsagePageValue,
int  fExclusiveOpen 
)

Attempts to open the specified device matching the specified vid, pid and usage page.

Returns:
NULL on error, else a valid handle.

BOOLEAN IEUS_ReadFile ( IEUSB_HANDLE  hDevice,
LPVOID  lpBuffer,
DWORD  nNumberOfBytesToRead,
LPDWORD  lpNumberOfBytesRead,
LPOVERLAPPED  lpOverlapped 
)

Reads data from the device. Typically these are input reports.

Input parameters follow the MSFT API ReadFile.

void IEUS_ReleaseLibraryContext ( IEUSB_LIB_HANDLE  hLibContext  ) 

Called when all usage of the library is complete


Generated on Mon Dec 17 17:19:30 2007 for ePadAPIs by  doxygen 1.5.4