root/branches/behrens/mfiles/private/libusb_win_proto.m @ 234

Revision 234, 15.6 KB (checked in by behrens, 5 years ago)

add libusb windows modifications (only one libusb subfunction win and linux), Version seems to be stable! :-)

Line 
1function [methodinfo,structs,enuminfo]=libusb_win_proto
2% Prototype file for library "libusb0" (used in Indows USB communication)
3%
4% Syntax
5%   [methodinfo,structs,enuminfo]=libusb_win_proto
6%
7% Description
8%   This function was generated by loadlibrary.m
9%
10%   It is based on the libusb0 header-file usb.h, whose method
11%   usb_bulk_read ans usb_bulk_write were modified in order to avoid returning zero-terminated
12%   strings (which get truncated by MATLAB with binary data).
13%
14% Signature
15%   Author: Linus Atorf, Alexander Behrens (see AUTHORS)
16%   Date: 2008/08/15
17%   Copyright: 2007-2008, RWTH Aachen University
18;
19%
20% ***********************************************************************************************
21% *  This file is part of the RWTH - Mindstorms NXT Toolbox.                                    *
22% *                                                                                             *
23% *  The RWTH - Mindstorms NXT Toolbox is free software: you can redistribute it and/or modify  *
24% *  it under the terms of the GNU General Public License as published by the Free Software     *
25% *  Foundation, either version 3 of the License, or (at your option) any later version.        *
26% *                                                                                             *
27% *  The RWTH - Mindstorms NXT Toolbox is distributed in the hope that it will be useful,       *
28% *  but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS  *
29% *  FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.             *
30% *                                                                                             *
31% *  You should have received a copy of the GNU General Public License along with the           *
32% *  RWTH - Mindstorms NXT Toolbox. If not, see <http://www.gnu.org/licenses/>.                 *
33% *********************************************************************************************
34% **
35
36%LIBUSB_WIN_PROTO Create structures to define interfaces found in 'usb'.
37
38%This function was generated by loadlibrary.m parser version 1.1.6.22 on Tue Aug 12 14:43:09 2008
39%perl options:'usb.i -outfile=libusb_win_proto.m'
40ival={cell(1,0)}; % change 0 to the actual number of functions to preallocate the data.
41fcns=struct('name',ival,'calltype',ival,'LHS',ival,'RHS',ival,'alias',ival);
42structs=[];enuminfo=[];fcnNum=1;
43% usb_dev_handle * usb_open ( struct usb_device * dev );
44fcns.name{fcnNum}='usb_open'; fcns.calltype{fcnNum}='cdecl'; fcns.LHS{fcnNum}='usb_dev_handlePtr'; fcns.RHS{fcnNum}={'usb_devicePtr'};fcnNum=fcnNum+1;
45% int usb_close ( usb_dev_handle * dev );
46fcns.name{fcnNum}='usb_close'; fcns.calltype{fcnNum}='cdecl'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'usb_dev_handlePtr'};fcnNum=fcnNum+1;
47% int usb_get_string ( usb_dev_handle * dev , int index , int langid , char * buf , size_t buflen );
48fcns.name{fcnNum}='usb_get_string'; fcns.calltype{fcnNum}='cdecl'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'usb_dev_handlePtr', 'int32', 'int32', 'cstring', 'uint32'};fcnNum=fcnNum+1;
49% int usb_get_string_simple ( usb_dev_handle * dev , int index , char * buf , size_t buflen );
50fcns.name{fcnNum}='usb_get_string_simple'; fcns.calltype{fcnNum}='cdecl'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'usb_dev_handlePtr', 'int32', 'cstring', 'uint32'};fcnNum=fcnNum+1;
51% int usb_get_descriptor_by_endpoint ( usb_dev_handle * udev , int ep , unsigned char type , unsigned char index , void * buf , int size );
52fcns.name{fcnNum}='usb_get_descriptor_by_endpoint'; fcns.calltype{fcnNum}='cdecl'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'usb_dev_handlePtr', 'int32', 'uint8', 'uint8', 'voidPtr', 'int32'};fcnNum=fcnNum+1;
53% int usb_get_descriptor ( usb_dev_handle * udev , unsigned char type , unsigned char index , void * buf , int size );
54fcns.name{fcnNum}='usb_get_descriptor'; fcns.calltype{fcnNum}='cdecl'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'usb_dev_handlePtr', 'uint8', 'uint8', 'voidPtr', 'int32'};fcnNum=fcnNum+1;
55% int usb_bulk_write ( usb_dev_handle * dev , int ep , char * bytes , int size , int timeout );
56fcns.name{fcnNum}='usb_bulk_write'; fcns.calltype{fcnNum}='cdecl'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'usb_dev_handlePtr', 'int32', 'voidPtr', 'int32', 'int32'};fcnNum=fcnNum+1;
57% int usb_bulk_read ( usb_dev_handle * dev , int ep , char * bytes , int size , int timeout );
58fcns.name{fcnNum}='usb_bulk_read'; fcns.calltype{fcnNum}='cdecl'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'usb_dev_handlePtr', 'int32', 'voidPtr', 'int32', 'int32'};fcnNum=fcnNum+1;
59% int usb_interrupt_write ( usb_dev_handle * dev , int ep , char * bytes , int size , int timeout );
60fcns.name{fcnNum}='usb_interrupt_write'; fcns.calltype{fcnNum}='cdecl'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'usb_dev_handlePtr', 'int32', 'cstring', 'int32', 'int32'};fcnNum=fcnNum+1;
61% int usb_interrupt_read ( usb_dev_handle * dev , int ep , char * bytes , int size , int timeout );
62fcns.name{fcnNum}='usb_interrupt_read'; fcns.calltype{fcnNum}='cdecl'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'usb_dev_handlePtr', 'int32', 'cstring', 'int32', 'int32'};fcnNum=fcnNum+1;
63% int usb_control_msg ( usb_dev_handle * dev , int requesttype , int request , int value , int index , char * bytes , int size , int timeout );
64fcns.name{fcnNum}='usb_control_msg'; fcns.calltype{fcnNum}='cdecl'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'usb_dev_handlePtr', 'int32', 'int32', 'int32', 'int32', 'cstring', 'int32', 'int32'};fcnNum=fcnNum+1;
65% int usb_set_configuration ( usb_dev_handle * dev , int configuration );
66fcns.name{fcnNum}='usb_set_configuration'; fcns.calltype{fcnNum}='cdecl'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'usb_dev_handlePtr', 'int32'};fcnNum=fcnNum+1;
67% int usb_claim_interface ( usb_dev_handle * dev , int interface );
68fcns.name{fcnNum}='usb_claim_interface'; fcns.calltype{fcnNum}='cdecl'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'usb_dev_handlePtr', 'int32'};fcnNum=fcnNum+1;
69% int usb_release_interface ( usb_dev_handle * dev , int interface );
70fcns.name{fcnNum}='usb_release_interface'; fcns.calltype{fcnNum}='cdecl'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'usb_dev_handlePtr', 'int32'};fcnNum=fcnNum+1;
71% int usb_set_altinterface ( usb_dev_handle * dev , int alternate );
72fcns.name{fcnNum}='usb_set_altinterface'; fcns.calltype{fcnNum}='cdecl'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'usb_dev_handlePtr', 'int32'};fcnNum=fcnNum+1;
73% int usb_resetep ( usb_dev_handle * dev , unsigned int ep );
74fcns.name{fcnNum}='usb_resetep'; fcns.calltype{fcnNum}='cdecl'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'usb_dev_handlePtr', 'uint32'};fcnNum=fcnNum+1;
75% int usb_clear_halt ( usb_dev_handle * dev , unsigned int ep );
76fcns.name{fcnNum}='usb_clear_halt'; fcns.calltype{fcnNum}='cdecl'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'usb_dev_handlePtr', 'uint32'};fcnNum=fcnNum+1;
77% int usb_reset ( usb_dev_handle * dev );
78fcns.name{fcnNum}='usb_reset'; fcns.calltype{fcnNum}='cdecl'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'usb_dev_handlePtr'};fcnNum=fcnNum+1;
79% char * usb_strerror ( void );
80fcns.name{fcnNum}='usb_strerror'; fcns.calltype{fcnNum}='cdecl'; fcns.LHS{fcnNum}='cstring'; fcns.RHS{fcnNum}=[];fcnNum=fcnNum+1;
81% void usb_init ( void );
82fcns.name{fcnNum}='usb_init'; fcns.calltype{fcnNum}='cdecl'; fcns.LHS{fcnNum}=[]; fcns.RHS{fcnNum}=[];fcnNum=fcnNum+1;
83% void usb_set_debug ( int level );
84fcns.name{fcnNum}='usb_set_debug'; fcns.calltype{fcnNum}='cdecl'; fcns.LHS{fcnNum}=[]; fcns.RHS{fcnNum}={'int32'};fcnNum=fcnNum+1;
85% int usb_find_busses ( void );
86fcns.name{fcnNum}='usb_find_busses'; fcns.calltype{fcnNum}='cdecl'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}=[];fcnNum=fcnNum+1;
87% int usb_find_devices ( void );
88fcns.name{fcnNum}='usb_find_devices'; fcns.calltype{fcnNum}='cdecl'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}=[];fcnNum=fcnNum+1;
89% struct usb_device * usb_device ( usb_dev_handle * dev );
90fcns.name{fcnNum}='usb_device'; fcns.calltype{fcnNum}='cdecl'; fcns.LHS{fcnNum}='usb_devicePtr'; fcns.RHS{fcnNum}={'usb_dev_handlePtr'};fcnNum=fcnNum+1;
91% struct usb_bus * usb_get_busses ( void );
92fcns.name{fcnNum}='usb_get_busses'; fcns.calltype{fcnNum}='cdecl'; fcns.LHS{fcnNum}='usb_busPtr'; fcns.RHS{fcnNum}=[];fcnNum=fcnNum+1;
93% int usb_install_service_np ( void );
94fcns.name{fcnNum}='usb_install_service_np'; fcns.calltype{fcnNum}='cdecl'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}=[];fcnNum=fcnNum+1;
95% void _stdcall usb_install_service_np_rundll ( HWND wnd , HINSTANCE instance , LPSTR cmd_line , int cmd_show );
96fcns.name{fcnNum}='usb_install_service_np_rundll'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}=[]; fcns.RHS{fcnNum}={'voidPtr', 'voidPtr', 'cstring', 'int32'};fcnNum=fcnNum+1;
97% int usb_uninstall_service_np ( void );
98fcns.name{fcnNum}='usb_uninstall_service_np'; fcns.calltype{fcnNum}='cdecl'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}=[];fcnNum=fcnNum+1;
99% void _stdcall usb_uninstall_service_np_rundll ( HWND wnd , HINSTANCE instance , LPSTR cmd_line , int cmd_show );
100fcns.name{fcnNum}='usb_uninstall_service_np_rundll'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}=[]; fcns.RHS{fcnNum}={'voidPtr', 'voidPtr', 'cstring', 'int32'};fcnNum=fcnNum+1;
101% int usb_install_driver_np ( const char * inf_file );
102fcns.name{fcnNum}='usb_install_driver_np'; fcns.calltype{fcnNum}='cdecl'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'cstring'};fcnNum=fcnNum+1;
103% void _stdcall usb_install_driver_np_rundll ( HWND wnd , HINSTANCE instance , LPSTR cmd_line , int cmd_show );
104fcns.name{fcnNum}='usb_install_driver_np_rundll'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}=[]; fcns.RHS{fcnNum}={'voidPtr', 'voidPtr', 'cstring', 'int32'};fcnNum=fcnNum+1;
105% int usb_touch_inf_file_np ( const char * inf_file );
106fcns.name{fcnNum}='usb_touch_inf_file_np'; fcns.calltype{fcnNum}='cdecl'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'cstring'};fcnNum=fcnNum+1;
107% void _stdcall usb_touch_inf_file_np_rundll ( HWND wnd , HINSTANCE instance , LPSTR cmd_line , int cmd_show );
108fcns.name{fcnNum}='usb_touch_inf_file_np_rundll'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}=[]; fcns.RHS{fcnNum}={'voidPtr', 'voidPtr', 'cstring', 'int32'};fcnNum=fcnNum+1;
109% int usb_install_needs_restart_np ( void );
110fcns.name{fcnNum}='usb_install_needs_restart_np'; fcns.calltype{fcnNum}='cdecl'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}=[];fcnNum=fcnNum+1;
111% const struct usb_version * usb_get_version ( void );
112fcns.name{fcnNum}='usb_get_version'; fcns.calltype{fcnNum}='cdecl'; fcns.LHS{fcnNum}='usb_versionPtr'; fcns.RHS{fcnNum}=[];fcnNum=fcnNum+1;
113% int usb_isochronous_setup_async ( usb_dev_handle * dev , void ** context , unsigned char ep , int pktsize );
114fcns.name{fcnNum}='usb_isochronous_setup_async'; fcns.calltype{fcnNum}='cdecl'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'usb_dev_handlePtr', 'voidPtrPtr', 'uint8', 'int32'};fcnNum=fcnNum+1;
115% int usb_bulk_setup_async ( usb_dev_handle * dev , void ** context , unsigned char ep );
116fcns.name{fcnNum}='usb_bulk_setup_async'; fcns.calltype{fcnNum}='cdecl'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'usb_dev_handlePtr', 'voidPtrPtr', 'uint8'};fcnNum=fcnNum+1;
117% int usb_interrupt_setup_async ( usb_dev_handle * dev , void ** context , unsigned char ep );
118fcns.name{fcnNum}='usb_interrupt_setup_async'; fcns.calltype{fcnNum}='cdecl'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'usb_dev_handlePtr', 'voidPtrPtr', 'uint8'};fcnNum=fcnNum+1;
119% int usb_submit_async ( void * context , char * bytes , int size );
120fcns.name{fcnNum}='usb_submit_async'; fcns.calltype{fcnNum}='cdecl'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'voidPtr', 'cstring', 'int32'};fcnNum=fcnNum+1;
121% int usb_reap_async ( void * context , int timeout );
122fcns.name{fcnNum}='usb_reap_async'; fcns.calltype{fcnNum}='cdecl'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'voidPtr', 'int32'};fcnNum=fcnNum+1;
123% int usb_reap_async_nocancel ( void * context , int timeout );
124fcns.name{fcnNum}='usb_reap_async_nocancel'; fcns.calltype{fcnNum}='cdecl'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'voidPtr', 'int32'};fcnNum=fcnNum+1;
125% int usb_cancel_async ( void * context );
126fcns.name{fcnNum}='usb_cancel_async'; fcns.calltype{fcnNum}='cdecl'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'voidPtr'};fcnNum=fcnNum+1;
127% int usb_free_async ( void ** context );
128fcns.name{fcnNum}='usb_free_async'; fcns.calltype{fcnNum}='cdecl'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'voidPtrPtr'};fcnNum=fcnNum+1;
129structs.usb_descriptor_header.packing=1;
130structs.usb_descriptor_header.members=struct('bLength', 'uint8', 'bDescriptorType', 'uint8');
131structs.usb_string_descriptor.packing=1;
132structs.usb_string_descriptor.members=struct('bLength', 'uint8', 'bDescriptorType', 'uint8', 'wData', 'uint16#1');
133structs.usb_hid_descriptor.packing=1;
134structs.usb_hid_descriptor.members=struct('bLength', 'uint8', 'bDescriptorType', 'uint8', 'bcdHID', 'uint16', 'bCountryCode', 'uint8', 'bNumDescriptors', 'uint8');
135structs.usb_endpoint_descriptor.packing=1;
136structs.usb_endpoint_descriptor.members=struct('bLength', 'uint8', 'bDescriptorType', 'uint8', 'bEndpointAddress', 'uint8', 'bmAttributes', 'uint8', 'wMaxPacketSize', 'uint16', 'bInterval', 'uint8', 'bRefresh', 'uint8', 'bSynchAddress', 'uint8', 'extra', 'uint8Ptr', 'extralen', 'int32');
137structs.usb_interface_descriptor.packing=1;
138structs.usb_interface_descriptor.members=struct('bLength', 'uint8', 'bDescriptorType', 'uint8', 'bInterfaceNumber', 'uint8', 'bAlternateSetting', 'uint8', 'bNumEndpoints', 'uint8', 'bInterfaceClass', 'uint8', 'bInterfaceSubClass', 'uint8', 'bInterfaceProtocol', 'uint8', 'iInterface', 'uint8', 'endpoint', 'usb_endpoint_descriptorPtr', 'extra', 'uint8Ptr', 'extralen', 'int32');
139structs.usb_interface.packing=1;
140structs.usb_interface.members=struct('altsetting', 'usb_interface_descriptorPtr', 'num_altsetting', 'int32');
141structs.usb_config_descriptor.packing=1;
142structs.usb_config_descriptor.members=struct('bLength', 'uint8', 'bDescriptorType', 'uint8', 'wTotalLength', 'uint16', 'bNumInterfaces', 'uint8', 'bConfigurationValue', 'uint8', 'iConfiguration', 'uint8', 'bmAttributes', 'uint8', 'MaxPower', 'uint8', 'interface', 'usb_interfacePtr', 'extra', 'uint8Ptr', 'extralen', 'int32');
143structs.usb_device_descriptor.packing=1;
144structs.usb_device_descriptor.members=struct('bLength', 'uint8', 'bDescriptorType', 'uint8', 'bcdUSB', 'uint16', 'bDeviceClass', 'uint8', 'bDeviceSubClass', 'uint8', 'bDeviceProtocol', 'uint8', 'bMaxPacketSize0', 'uint8', 'idVendor', 'uint16', 'idProduct', 'uint16', 'bcdDevice', 'uint16', 'iManufacturer', 'uint8', 'iProduct', 'uint8', 'iSerialNumber', 'uint8', 'bNumConfigurations', 'uint8');
145structs.usb_ctrl_setup.packing=1;
146structs.usb_ctrl_setup.members=struct('bRequestType', 'uint8', 'bRequest', 'uint8', 'wValue', 'uint16', 'wIndex', 'uint16', 'wLength', 'uint16');
147structs.usb_device.packing=1;
148structs.usb_device.members=struct('next', 'usb_devicePtr', 'prev', 'usb_devicePtrPtr', 'filename', 'int8#512', 'bus', 'voidPtr', 'descriptor', 'usb_device_descriptor', 'config', 'usb_config_descriptorPtr', 'dev', 'voidPtr', 'devnum', 'uint8', 'num_children', 'uint8', 'children', 'usb_devicePtrPtr');
149structs.usb_bus.packing=1;
150structs.usb_bus.members=struct('next', 'usb_busPtr', 'prev', 'usb_busPtrPtr', 'dirname', 'int8#512', 'devices', 'usb_devicePtr', 'location', 'uint32', 'root_dev', 'usb_devicePtr');
151structs.usb_version.packing=1;
152structs.usb_version.members=struct('dllmajor', 'error', 'dllminor', 'int32', 'dllmicro', 'int32', 'dllnano', 'int32', 'dll', 'error', 'drvmajor', 'error', 'drvminor', 'int32', 'drvmicro', 'int32', 'drvnano', 'int32', 'driver', 'error');
153structs.usb_dev_handle.packing=1;
154structs.usb_dev_handle.members=struct('');
155methodinfo=fcns;
Note: See TracBrowser for help on using the browser.