SeaBreeze
Data Structures | Macros | Functions
NativeUSB.h File Reference

Go to the source code of this file.

Data Structures

struct  USBConfigurationDescriptor
 
struct  USBDeviceDescriptor
 
struct  USBInterfaceDescriptor
 
struct  USBEndpointDescriptor
 

Macros

#define OPEN_OK   0
 
#define NO_DEVICE_FOUND   -1
 
#define NO_DEVICE_MATCH   -2
 
#define CLAIM_INTERFACE_FAILED   -3
 
#define CLOSE_OK   0
 
#define CLOSE_ERROR   -1
 
#define WRITE_FAILED   -1
 
#define READ_FAILED   -1
 
#define ABORT_OK   0
 
#define ABORT_FAILED   -1
 
#define RESET_OK   0
 
#define RESET_FAILED   -1
 

Functions

int USBProbeDevices (int vendorID, int productID, unsigned long *output, int max_devices)
 
void * USBOpen (unsigned long deviceID, int *errorCode)
 
int USBClose (void *handle)
 
int USBWrite (void *handle, unsigned char endpoint, char *data, int numberOfBytes)
 
int USBRead (void *handle, unsigned char endpoint, char *data, int numberOfBytes)
 
void USBClearStall (void *handle, unsigned char endpoint)
 
int USBGetDeviceDescriptor (void *handle, struct USBDeviceDescriptor *desc)
 
int USBGetInterfaceDescriptor (void *handle, struct USBInterfaceDescriptor *desc)
 
int USBGetEndpointDescriptor (void *handle, int endpoint_index, struct USBEndpointDescriptor *desc)
 
int USBGetStringDescriptor (void *handle, unsigned int string_index, char *buffer, int maxLength)
 

Detailed Description

Date
October 31, 2007
Author
Ocean Optics, Inc.

This provides a relatively simple interface for opening, closing, writing to, and reading from Ocean Optics USB Devices. It has been extended to provide more complete USB functionality at least for Linux, and equivalent functionality should be brought back in for Windows and MacOSX.

LICENSE:

SeaBreeze Copyright (C) 2014, Ocean Optics Inc

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.