Subversion Repositories group.NITPanels

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
3 pfowler 1
<?xml version="1.0"?>
2
<doc>
3
    <assembly>
4
        <name>LibUsbDotNet</name>
5
    </assembly>
6
    <members>
7
        <member name="T:LibUsbDotNet.Main.UsbRegDeviceList">
8
            <summary>
9
            Array of USB device available for communication via LibUsb or WinUsb.
10
            </summary>
11
        </member>
12
        <member name="M:LibUsbDotNet.Main.UsbRegDeviceList.#ctor">
13
            <summary>
14
             Creates an empty <see cref="T:LibUsbDotNet.Main.UsbRegDeviceList"/> instance.
15
            </summary>
16
        </member>
17
        <member name="M:LibUsbDotNet.Main.UsbRegDeviceList.System#Collections#Generic#IEnumerable{LibUsbDotNet#Main#UsbRegistry}#GetEnumerator">
18
            <summary>
19
            Returns an enumerator that iterates through the collection.
20
            </summary>
21
 
22
            <returns>
23
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
24
            </returns>
25
        </member>
26
        <member name="M:LibUsbDotNet.Main.UsbRegDeviceList.GetEnumerator">
27
            <summary>
28
            Returns an enumerator that iterates through a collection.
29
            </summary>
30
 
31
            <returns>
32
            An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
33
            </returns>
34
        </member>
35
        <member name="M:LibUsbDotNet.Main.UsbRegDeviceList.Find(System.Predicate{LibUsbDotNet.Main.UsbRegistry})">
36
            <summary>
37
            Find the first UsbRegistry device that matches the FindUsbPredicate.  
38
            </summary>
39
            <param name="findUsbPredicate">The predicate function to use.</param>
40
            <returns>A valid usb registry class if the device was found or Null if the device was not found.</returns>
41
        </member>
42
        <member name="M:LibUsbDotNet.Main.UsbRegDeviceList.FindAll(System.Predicate{LibUsbDotNet.Main.UsbRegistry})">
43
            <summary>
44
            Find all UsbRegistry devices that matches the FindUsbPredicate.  
45
            </summary>
46
            <param name="findUsbPredicate">The predicate function to use.</param>
47
            <returns>All usb registry classes that match.</returns>
48
        </member>
49
        <member name="M:LibUsbDotNet.Main.UsbRegDeviceList.FindLast(System.Predicate{LibUsbDotNet.Main.UsbRegistry})">
50
            <summary>
51
            Find the last a UsbRegistry device that matches the FindUsbPredicate.  
52
            </summary>
53
            <param name="findUsbPredicate">The predicate function to use.</param>
54
            <returns>A valid usb registry class if the device was found or Null if the device was not found.</returns>
55
        </member>
56
        <member name="M:LibUsbDotNet.Main.UsbRegDeviceList.Find(LibUsbDotNet.Main.UsbDeviceFinder)">
57
            <summary>
58
            Find the first UsbRegistry device using a <see cref="T:LibUsbDotNet.Main.UsbDeviceFinder"/> instance.  
59
            </summary>
60
            <param name="usbDeviceFinder">The <see cref="T:LibUsbDotNet.Main.UsbDeviceFinder"/> instance used to locate the usb registry devices.</param>
61
            <returns>A valid usb registry class if the device was found or Null if the device was not found.</returns>
62
        </member>
63
        <member name="M:LibUsbDotNet.Main.UsbRegDeviceList.FindAll(LibUsbDotNet.Main.UsbDeviceFinder)">
64
            <summary>
65
            Find all UsbRegistry devices using a <see cref="T:LibUsbDotNet.Main.UsbDeviceFinder"/> instance.  
66
            </summary>
67
            <param name="usbDeviceFinder">The <see cref="T:LibUsbDotNet.Main.UsbDeviceFinder"/> instance used to locate the usb registry devices.</param>
68
            <returns>All usb registry classes that match.</returns>
69
        </member>
70
        <member name="M:LibUsbDotNet.Main.UsbRegDeviceList.FindLast(LibUsbDotNet.Main.UsbDeviceFinder)">
71
            <summary>
72
            Find the last UsbRegistry devices using a <see cref="T:LibUsbDotNet.Main.UsbDeviceFinder"/> instance.  
73
            </summary>
74
            <param name="usbDeviceFinder">The <see cref="T:LibUsbDotNet.Main.UsbDeviceFinder"/> instance used to locate the usb registry devices.</param>
75
            <returns>A valid usb registry class if the device was found or Null if the device was not found.</returns>
76
        </member>
77
        <member name="M:LibUsbDotNet.Main.UsbRegDeviceList.Contains(LibUsbDotNet.Main.UsbRegistry)">
78
            <summary>
79
            Determines whether the <see cref="T:System.Collections.Generic.ICollection`1"/> contains a specific value.
80
            </summary>
81
 
82
            <returns>
83
            true if item is found in the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false.
84
            </returns>
85
 
86
            <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
87
        </member>
88
        <member name="M:LibUsbDotNet.Main.UsbRegDeviceList.CopyTo(LibUsbDotNet.Main.UsbRegistry[],System.Int32)">
89
            <summary>
90
            Copies the elements of the <see cref="T:System.Collections.Generic.ICollection`1"/> to an <see cref="T:System.Array"/>, starting at a particular <see cref="T:System.Array"/> index.
91
            </summary>
92
 
93
            <param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:System.Collections.Generic.ICollection`1"/>. The <see cref="T:System.Array"/> must have zero-based indexing.</param>
94
            <param name="offset">The zero-based index in Array at which copying begins.</param>
95
            <exception cref="T:System.ArgumentOutOfRangeException">Offset is less than 0.</exception>
96
            <exception cref="T:System.ArgumentNullException">Array is null.</exception>
97
            <exception cref="T:System.ArgumentException">Array is multidimensional.-or-Offset is equal to or greater than the length of Array.-or-The number of elements in the source <see cref="T:System.Collections.Generic.ICollection`1"/> is greater than the available space from Offset to the end of the destination Array.-or-Type T cannot be cast automatically to the type of the destination Array.</exception>
98
        </member>
99
        <member name="M:LibUsbDotNet.Main.UsbRegDeviceList.IndexOf(LibUsbDotNet.Main.UsbRegistry)">
100
            <summary>
101
            Determines the index of a specific item in the <see cref="T:System.Collections.Generic.IList`1"/>.
102
            </summary>
103
 
104
            <returns>
105
            The index of item if found in the list; otherwise, -1.
106
            </returns>
107
 
108
            <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.IList`1"/>.</param>
109
        </member>
110
        <member name="P:LibUsbDotNet.Main.UsbRegDeviceList.Item(System.Int32)">
111
            <summary>
112
            Gets the element at the specified index.
113
            </summary>
114
 
115
            <returns>
116
            The element at the specified index.
117
            </returns>
118
 
119
            <param name="index">The zero-based index of the element to get or set.</param>
120
            <exception cref="T:System.ArgumentOutOfRangeException">index is not a valid index in the <see cref="T:System.Collections.Generic.IList`1"/>.</exception>
121
            <exception cref="T:System.NotSupportedException">The property is set and the <see cref="T:System.Collections.Generic.IList`1"/> is read-only.</exception>
122
        </member>
123
        <member name="P:LibUsbDotNet.Main.UsbRegDeviceList.Count">
124
            <summary>
125
            Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
126
            </summary>
127
 
128
            <returns>
129
            The number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
130
            </returns>
131
 
132
        </member>
133
        <member name="T:LibUsbDotNet.UsbEndpointWriter">
134
            <summary>Contains methods for writing data to a <see cref="F:LibUsbDotNet.Main.EndpointType.Bulk"/> or <see cref="F:LibUsbDotNet.Main.EndpointType.Interrupt"/> endpoint using the overloaded <see cref="M:LibUsbDotNet.UsbEndpointWriter.Write(System.Byte[],System.Int32,System.Int32@)"/> functions.
135
            </summary> 
136
        </member>
137
        <member name="T:LibUsbDotNet.Main.UsbEndpointBase">
138
            <summary> 
139
            Endpoint members common to Read, Write, Bulk, and Interrupt <see cref="T:LibUsbDotNet.Main.EndpointType"/>.
140
            </summary> 
141
        </member>
142
        <member name="F:LibUsbDotNet.Main.UsbEndpointBase.MaxReadWrite">
143
            <summary>
144
            The maximum transfer payload size for all usb endpoints.
145
            </summary>
146
            <remarks>
147
            Transfers greater than this amount are automatically split into
148
            multiple transfers.  This applies to all endpoint transfer methods
149
            (reads and writes). The default is 4megs (4,194,304 bytes)
150
            </remarks>
151
        </member>
152
        <member name="M:LibUsbDotNet.Main.UsbEndpointBase.Dispose">
153
            <summary>
154
            Frees resources associated with the endpoint.  Once disposed this <see cref="T:LibUsbDotNet.Main.UsbEndpointBase"/> cannot be used.
155
            </summary>
156
        </member>
157
        <member name="M:LibUsbDotNet.Main.UsbEndpointBase.Abort">
158
            <summary>
159
            Aborts pending IO operation on this enpoint of one exists.
160
            </summary>
161
            <returns>True on success or if no pending IO operation exits.</returns>
162
        </member>
163
        <member name="M:LibUsbDotNet.Main.UsbEndpointBase.Flush">
164
            <summary>
165
            Discards any data that is cached in this endpoint.
166
            </summary>
167
            <returns>True on success.</returns>
168
        </member>
169
        <member name="M:LibUsbDotNet.Main.UsbEndpointBase.Reset">
170
            <summary>
171
            Resets the data toggle and clears the stall condition on an enpoint.
172
            </summary>
173
            <returns>True on success.</returns>
174
        </member>
175
        <member name="M:LibUsbDotNet.Main.UsbEndpointBase.Transfer(System.IntPtr,System.Int32,System.Int32,System.Int32,System.Int32@)">
176
            <summary>
177
            Synchronous bulk/interrupt transfer function.
178
            </summary>
179
            <param name="buffer">An <see cref="T:System.IntPtr"/> to a caller-allocated buffer.</param>
180
            <param name="offset">Position in buffer that transferring begins.</param>
181
            <param name="length">Number of bytes, starting from thr offset parameter to transfer.</param>
182
            <param name="timeout">Maximum time to wait for the transfer to complete.</param>
183
            <param name="transferLength">Number of bytes actually transferred.</param>
184
            <returns>True on success.</returns>
185
        </member>
186
        <member name="M:LibUsbDotNet.Main.UsbEndpointBase.SubmitAsyncTransfer(System.Object,System.Int32,System.Int32,System.Int32,LibUsbDotNet.Main.UsbTransfer@)">
187
            <summary>
188
            Creates, fills and submits an asynchronous <see cref="T:LibUsbDotNet.Main.UsbTransfer"/> context.
189
            </summary>
190
            <remarks>
191
            <note type="tip">This is a non-blocking asynchronous transfer function. This function returns immediately after the context is created and submitted.</note>
192
            </remarks>
193
            <param name="buffer">A caller-allocated buffer for the data that is transferred.</param>
194
            <param name="offset">Position in buffer that transferring begins.</param>
195
            <param name="length">Number of bytes, starting from thr offset parameter to transfer.</param>
196
            <param name="timeout">Maximum time to wait for the transfer to complete.</param>
197
            <param name="transferContext">On <see cref="F:LibUsbDotNet.Main.ErrorCode.Success"/>, a new transfer context.</param>
198
            <returns><see cref="F:LibUsbDotNet.Main.ErrorCode.Success"/> if the transfer context was created and <see cref="M:LibUsbDotNet.Main.UsbTransfer.Submit"/> succeeded.</returns>
199
            <seealso cref="M:LibUsbDotNet.Main.UsbEndpointBase.SubmitAsyncTransfer(System.IntPtr,System.Int32,System.Int32,System.Int32,LibUsbDotNet.Main.UsbTransfer@)"/>
200
            <seealso cref="M:LibUsbDotNet.Main.UsbEndpointBase.NewAsyncTransfer"/>
201
        </member>
202
        <member name="M:LibUsbDotNet.Main.UsbEndpointBase.SubmitAsyncTransfer(System.IntPtr,System.Int32,System.Int32,System.Int32,LibUsbDotNet.Main.UsbTransfer@)">
203
            <summary>
204
            Creates, fills and submits an asynchronous <see cref="T:LibUsbDotNet.Main.UsbTransfer"/> context.
205
            </summary>
206
            <remarks>
207
            <note type="tip">This is a non-blocking asynchronous transfer function. This function returns immediately after the context is created and submitted.</note>
208
            </remarks>
209
            <param name="buffer">A caller-allocated buffer for the data that is transferred.</param>
210
            <param name="offset">Position in buffer that transferring begins.</param>
211
            <param name="length">Number of bytes, starting from thr offset parameter to transfer.</param>
212
            <param name="timeout">Maximum time to wait for the transfer to complete.</param>
213
            <param name="transferContext">On <see cref="F:LibUsbDotNet.Main.ErrorCode.Success"/>, a new transfer context.</param>
214
            <returns><see cref="F:LibUsbDotNet.Main.ErrorCode.Success"/> if the transfer context was created and <see cref="M:LibUsbDotNet.Main.UsbTransfer.Submit"/> succeeded.</returns>
215
            <seealso cref="M:LibUsbDotNet.Main.UsbEndpointBase.SubmitAsyncTransfer(System.Object,System.Int32,System.Int32,System.Int32,LibUsbDotNet.Main.UsbTransfer@)"/>
216
            <seealso cref="M:LibUsbDotNet.Main.UsbEndpointBase.NewAsyncTransfer"/>
217
        </member>
218
        <member name="M:LibUsbDotNet.Main.UsbEndpointBase.NewAsyncTransfer">
219
            <summary>
220
            Creates a <see cref="T:LibUsbDotNet.Main.UsbTransfer"/> context for asynchronous transfers.
221
            </summary>
222
            <remarks>
223
            <para> This method returns a new, empty transfer context.  Unlike <see cref="M:LibUsbDotNet.Main.UsbEndpointBase.SubmitAsyncTransfer(System.Object,System.Int32,System.Int32,System.Int32,LibUsbDotNet.Main.UsbTransfer@)">SubmitAsyncTransfer</see>, this context is <c>not</c> filled and submitted.</para>
224
            <note type="tip">This is a non-blocking asynchronous transfer function. This function returns immediately after the context created.</note>
225
            </remarks>
226
            <returns>A new <see cref="T:LibUsbDotNet.Main.UsbTransfer"/> context.</returns>
227
            <seealso cref="M:LibUsbDotNet.Main.UsbEndpointBase.SubmitAsyncTransfer(System.IntPtr,System.Int32,System.Int32,System.Int32,LibUsbDotNet.Main.UsbTransfer@)"/>
228
            <seealso cref="M:LibUsbDotNet.Main.UsbEndpointBase.SubmitAsyncTransfer(System.Object,System.Int32,System.Int32,System.Int32,LibUsbDotNet.Main.UsbTransfer@)"/>
229
        </member>
230
        <member name="M:LibUsbDotNet.Main.UsbEndpointBase.LookupEndpointInfo(LibUsbDotNet.Info.UsbConfigInfo,System.Byte,LibUsbDotNet.Info.UsbInterfaceInfo@,LibUsbDotNet.Info.UsbEndpointInfo@)">
231
            <summary>
232
            Looks up endpoint/interface information in a configuration.
233
            </summary>
234
            <param name="currentConfigInfo">The config to seach.</param>
235
            <param name="endpointAddress">The endpoint address to look for.</param>
236
            <param name="usbInterfaceInfo">On success, the <see cref="T:LibUsbDotNet.Info.UsbInterfaceInfo"/> class for this endpoint.</param>
237
            <param name="usbEndpointInfo">On success, the <see cref="T:LibUsbDotNet.Info.UsbEndpointInfo"/> class for this endpoint.</param>
238
            <returns>True of the endpoint was found, otherwise false.</returns>
239
        </member>
240
        <member name="M:LibUsbDotNet.Main.UsbEndpointBase.Transfer(System.Object,System.Int32,System.Int32,System.Int32,System.Int32@)">
241
            <summary>
242
            Synchronous bulk/interrupt transfer function.
243
            </summary>
244
            <param name="buffer">A caller-allocated buffer for the transfer data. This object is pinned using <see cref="T:LibUsbDotNet.Main.PinnedHandle"/>.</param>
245
            <param name="offset">Position in buffer that transferring begins.</param>
246
            <param name="length">Number of bytes, starting from thr offset parameter to transfer.</param>
247
            <param name="timeout">Maximum time to wait for the transfer to complete.</param>
248
            <param name="transferLength">Number of bytes actually transferred.</param>
249
            <returns>True on success.</returns>
250
        </member>
251
        <member name="P:LibUsbDotNet.Main.UsbEndpointBase.IsDisposed">
252
            <summary>
253
            Gets a value indicating if the object is disposed.
254
            </summary>
255
        </member>
256
        <member name="P:LibUsbDotNet.Main.UsbEndpointBase.Device">
257
            <summary>
258
            Gets the <see cref="T:LibUsbDotNet.UsbDevice"/> class this endpoint belongs to.
259
            </summary>
260
        </member>
261
        <member name="P:LibUsbDotNet.Main.UsbEndpointBase.EpNum">
262
            <summary>
263
            Gets the endpoint ID for this <see cref="T:LibUsbDotNet.Main.UsbEndpointBase"/> class.
264
            </summary>
265
        </member>
266
        <member name="P:LibUsbDotNet.Main.UsbEndpointBase.Type">
267
            <summary>
268
            Returns the <see cref="T:LibUsbDotNet.Main.EndpointType"/> for this endpoint.
269
            </summary>
270
        </member>
271
        <member name="P:LibUsbDotNet.Main.UsbEndpointBase.EndpointInfo">
272
            <summary>
273
            Returns the <see cref="T:LibUsbDotNet.Info.UsbEndpointInfo"/> descriptor for this endpoint.
274
            </summary>
275
        </member>
276
        <member name="M:LibUsbDotNet.UsbEndpointWriter.Write(System.Byte[],System.Int32,System.Int32@)">
277
            <summary>
278
            Writes data to the current <see cref="T:LibUsbDotNet.UsbEndpointWriter"/>.
279
            </summary>
280
            <param name="buffer">The buffer storing the data to write.</param>
281
            <param name="timeout">Maximum time to wait for the transfer to complete.  If the transfer times out, the IO operation will be cancelled.</param>
282
            <param name="transferLength">Number of bytes actually transferred.</param>
283
            <returns>
284
            <see cref="T:LibUsbDotNet.Main.ErrorCode"/>.<see cref="F:LibUsbDotNet.Main.ErrorCode.None"/> on success.
285
            </returns>
286
        </member>
287
        <member name="M:LibUsbDotNet.UsbEndpointWriter.Write(System.IntPtr,System.Int32,System.Int32,System.Int32,System.Int32@)">
288
            <summary>
289
            Writes data to the current <see cref="T:LibUsbDotNet.UsbEndpointWriter"/>.
290
            </summary>
291
            <param name="pBuffer">The buffer storing the data to write.</param>
292
            <param name="offset">The position in buffer to start writing the data from.</param>
293
            <param name="count">The number of bytes to write.</param>
294
            <param name="timeout">Maximum time to wait for the transfer to complete.  If the transfer times out, the IO operation will be cancelled.</param>
295
            <param name="transferLength">Number of bytes actually transferred.</param>
296
            <returns>
297
            <see cref="T:LibUsbDotNet.Main.ErrorCode"/>.<see cref="F:LibUsbDotNet.Main.ErrorCode.None"/> on success.
298
            </returns>
299
        </member>
300
        <member name="M:LibUsbDotNet.UsbEndpointWriter.Write(System.Byte[],System.Int32,System.Int32,System.Int32,System.Int32@)">
301
            <summary>
302
            Writes data to the current <see cref="T:LibUsbDotNet.UsbEndpointWriter"/>.
303
            </summary>
304
            <param name="buffer">The buffer storing the data to write.</param>
305
            <param name="offset">The position in buffer to start writing the data from.</param>
306
            <param name="count">The number of bytes to write.</param>
307
            <param name="timeout">Maximum time to wait for the transfer to complete.  If the transfer times out, the IO operation will be cancelled.</param>
308
            <param name="transferLength">Number of bytes actually transferred.</param>
309
            <returns>
310
            <see cref="T:LibUsbDotNet.Main.ErrorCode"/>.<see cref="F:LibUsbDotNet.Main.ErrorCode.None"/> on success.
311
            </returns>
312
        </member>
313
        <member name="M:LibUsbDotNet.UsbEndpointWriter.Write(System.Object,System.Int32,System.Int32,System.Int32,System.Int32@)">
314
            <summary>
315
            Writes data to the current <see cref="T:LibUsbDotNet.UsbEndpointWriter"/>.
316
            </summary>
317
            <param name="buffer">The buffer storing the data to write.</param>
318
            <param name="offset">The position in buffer to start writing the data from.</param>
319
            <param name="count">The number of bytes to write.</param>
320
            <param name="timeout">Maximum time to wait for the transfer to complete.  If the transfer times out, the IO operation will be cancelled.</param>
321
            <param name="transferLength">Number of bytes actually transferred.</param>
322
            <returns>
323
            <see cref="T:LibUsbDotNet.Main.ErrorCode"/>.<see cref="F:LibUsbDotNet.Main.ErrorCode.None"/> on success.
324
            </returns>
325
        </member>
326
        <member name="M:LibUsbDotNet.UsbEndpointWriter.Write(System.Object,System.Int32,System.Int32@)">
327
            <summary>
328
            Writes data to the current <see cref="T:LibUsbDotNet.UsbEndpointWriter"/>.
329
            </summary>
330
            <param name="buffer">The buffer storing the data to write.</param>
331
            <param name="timeout">Maximum time to wait for the transfer to complete.  If the transfer times out, the IO operation will be cancelled.</param>
332
            <param name="transferLength">Number of bytes actually transferred.</param>
333
            <returns>
334
            <see cref="T:LibUsbDotNet.Main.ErrorCode"/>.<see cref="F:LibUsbDotNet.Main.ErrorCode.None"/> on success.
335
            </returns>
336
        </member>
337
        <member name="T:LibUsbDotNet.UsbEndpointReader">
338
            <summary>
339
            Contains methods for retrieving data from a <see cref="F:LibUsbDotNet.Main.EndpointType.Bulk"/> or <see cref="F:LibUsbDotNet.Main.EndpointType.Interrupt"/> endpoint using the overloaded <see cref="M:LibUsbDotNet.UsbEndpointReader.Read(System.Byte[],System.Int32,System.Int32@)"/> functions or a <see cref="E:LibUsbDotNet.UsbEndpointReader.DataReceived"/> event.
340
            </summary> 
341
            <remarks>
342
            <list type="bullet">
343
            <item>Before using the <see cref="E:LibUsbDotNet.UsbEndpointReader.DataReceived"/> event, the <see cref="P:LibUsbDotNet.UsbEndpointReader.DataReceivedEnabled"/> property must be set to true.</item>
344
            <item>While the <see cref="P:LibUsbDotNet.UsbEndpointReader.DataReceivedEnabled"/> property is True, the overloaded <see cref="M:LibUsbDotNet.UsbEndpointReader.Read(System.Byte[],System.Int32,System.Int32@)"/> functions cannot be used.</item>
345
            </list>
346
            </remarks>
347
        </member>
348
        <member name="M:LibUsbDotNet.UsbEndpointReader.Read(System.Byte[],System.Int32,System.Int32@)">
349
            <summary>
350
            Reads data from the current <see cref="T:LibUsbDotNet.UsbEndpointReader"/>.
351
            </summary>
352
            <param name="buffer">The buffer to store the recieved data in.</param>
353
            <param name="timeout">Maximum time to wait for the transfer to complete.  If the transfer times out, the IO operation will be cancelled.</param>
354
            <param name="transferLength">Number of bytes actually transferred.</param>
355
            <returns>
356
            <see cref="T:LibUsbDotNet.Main.ErrorCode"/>.<see cref="F:LibUsbDotNet.Main.ErrorCode.None"/> on success.
357
            </returns>
358
        </member>
359
        <member name="M:LibUsbDotNet.UsbEndpointReader.Read(System.IntPtr,System.Int32,System.Int32,System.Int32,System.Int32@)">
360
            <summary>
361
            Reads data from the current <see cref="T:LibUsbDotNet.UsbEndpointReader"/>.
362
            </summary>
363
            <param name="buffer">The buffer to store the recieved data in.</param>
364
            <param name="offset">The position in buffer to start storing the data.</param>
365
            <param name="count">The maximum number of bytes to receive.</param>
366
            <param name="timeout">Maximum time to wait for the transfer to complete.  If the transfer times out, the IO operation will be cancelled.</param>
367
            <param name="transferLength">Number of bytes actually transferred.</param>
368
            <returns>
369
            <see cref="T:LibUsbDotNet.Main.ErrorCode"/>.<see cref="F:LibUsbDotNet.Main.ErrorCode.None"/> on success.
370
            </returns>
371
        </member>
372
        <member name="M:LibUsbDotNet.UsbEndpointReader.Read(System.Byte[],System.Int32,System.Int32,System.Int32,System.Int32@)">
373
            <summary>
374
            Reads data from the current <see cref="T:LibUsbDotNet.UsbEndpointReader"/>.
375
            </summary>
376
            <param name="buffer">The buffer to store the recieved data in.</param>
377
            <param name="offset">The position in buffer to start storing the data.</param>
378
            <param name="count">The maximum number of bytes to receive.</param>
379
            <param name="timeout">Maximum time to wait for the transfer to complete.  If the transfer times out, the IO operation will be cancelled.</param>
380
            <param name="transferLength">Number of bytes actually transferred.</param>
381
            <returns>
382
            <see cref="T:LibUsbDotNet.Main.ErrorCode"/>.<see cref="F:LibUsbDotNet.Main.ErrorCode.None"/> on success.
383
            </returns>
384
        </member>
385
        <member name="M:LibUsbDotNet.UsbEndpointReader.Read(System.Object,System.Int32,System.Int32,System.Int32,System.Int32@)">
386
            <summary>
387
            Reads data from the current <see cref="T:LibUsbDotNet.UsbEndpointReader"/>.
388
            </summary>
389
            <param name="buffer">The buffer to store the recieved data in.</param>
390
            <param name="offset">The position in buffer to start storing the data.</param>
391
            <param name="count">The maximum number of bytes to receive.</param>
392
            <param name="timeout">Maximum time to wait for the transfer to complete.  If the transfer times out, the IO operation will be cancelled.</param>
393
            <param name="transferLength">Number of bytes actually transferred.</param>
394
            <returns>
395
            <see cref="T:LibUsbDotNet.Main.ErrorCode"/>.<see cref="F:LibUsbDotNet.Main.ErrorCode.None"/> on success.
396
            </returns>
397
        </member>
398
        <member name="M:LibUsbDotNet.UsbEndpointReader.Read(System.Object,System.Int32,System.Int32@)">
399
            <summary>
400
            Reads data from the current <see cref="T:LibUsbDotNet.UsbEndpointReader"/>.
401
            </summary>
402
            <param name="buffer">The buffer to store the recieved data in.</param>
403
            <param name="timeout">Maximum time to wait for the transfer to complete.  If the transfer times out, the IO operation will be cancelled.</param>
404
            <param name="transferLength">Number of bytes actually transferred.</param>
405
            <returns>
406
            <see cref="T:LibUsbDotNet.Main.ErrorCode"/>.<see cref="F:LibUsbDotNet.Main.ErrorCode.None"/> on success.
407
            </returns>
408
        </member>
409
        <member name="M:LibUsbDotNet.UsbEndpointReader.ReadFlush">
410
            <summary>
411
            Reads/discards data from the enpoint until no more data is available.
412
            </summary>
413
            <returns>Alwats returns <see cref="F:LibUsbDotNet.Main.ErrorCode.None"/> </returns>
414
        </member>
415
        <member name="P:LibUsbDotNet.UsbEndpointReader.DefReadBufferSize">
416
            <summary>
417
            Default read buffer size when using the <see cref="E:LibUsbDotNet.UsbEndpointReader.DataReceived"/> event.
418
            </summary>
419
            <remarks>
420
            This value can be bypassed using the second parameter of the <see cref="M:LibUsbDotNet.UsbDevice.OpenEndpointReader(LibUsbDotNet.Main.ReadEndpointID,System.Int32)"/> method.
421
            The default is 4096.
422
            </remarks>
423
        </member>
424
        <member name="P:LibUsbDotNet.UsbEndpointReader.DataReceivedEnabled">
425
            <summary>
426
            Gets/Sets a value indicating if the <see cref="E:LibUsbDotNet.UsbEndpointReader.DataReceived"/> event should be used.
427
            </summary>
428
            <remarks>
429
            If DataReceivedEnabled is true the <see cref="M:LibUsbDotNet.UsbEndpointReader.Read(System.Byte[],System.Int32,System.Int32,System.Int32,System.Int32@)"/> functions cannot be used.
430
            </remarks>
431
        </member>
432
        <member name="P:LibUsbDotNet.UsbEndpointReader.ReadBufferSize">
433
            <summary>
434
            Size of the read buffer in bytes for the <see cref="E:LibUsbDotNet.UsbEndpointReader.DataReceived"/> event.
435
            </summary>
436
            <remarks>
437
            Setting a large values, for example 64K will yield a lower number of <see cref="E:LibUsbDotNet.UsbEndpointReader.DataReceived"/> and a higher data rate. 
438
            </remarks>
439
        </member>
440
        <member name="P:LibUsbDotNet.UsbEndpointReader.ReadThreadPriority">
441
            <summary>
442
            Gets/Sets the Priority level for the read thread when <see cref="P:LibUsbDotNet.UsbEndpointReader.DataReceivedEnabled"/> is true.
443
            </summary>
444
        </member>
445
        <member name="E:LibUsbDotNet.UsbEndpointReader.DataReceived">
446
            <summary>
447
            The DataReceived Event is fired when new data arrives for the current <see cref="T:LibUsbDotNet.UsbEndpointReader"/>.
448
            </summary>
449
            <remarks>To use the DataReceived event, <see cref="P:LibUsbDotNet.UsbEndpointReader.DataReceivedEnabled"/> must be set to truw.</remarks>
450
        </member>
451
        <member name="E:LibUsbDotNet.UsbEndpointReader.DataReceivedEnabledChanged">
452
            <summary>
453
            The <see cref="E:LibUsbDotNet.UsbEndpointReader.DataReceivedEnabledChanged"/> Event is fired when the <see cref="E:LibUsbDotNet.UsbEndpointReader.DataReceived"/> event is started or stopped.
454
            </summary>
455
        </member>
456
        <member name="T:LibUsbDotNet.WinUsb.DeviceInformationTypes">
457
            <summary> Types of information that can be retrieved with the WinUsb QueryDevice function.
458
            </summary> 
459
        </member>
460
        <member name="F:LibUsbDotNet.WinUsb.DeviceInformationTypes.DeviceSpeed">
461
            <summary>
462
            The device speed.
463
            </summary>
464
        </member>
465
        <member name="T:MonoLibUsb.MonoUsbDeviceHandle">
466
            <summary>
467
            Represents a Libusb-1.0 device handle.
468
            </summary>
469
            <remarks>
470
            <para>To close a device, see the <see cref="M:MonoLibUsb.MonoUsbDeviceHandle.Close"/> method.</para>
471
            <note title="Libusb-1.0 API Note:" type="cpp">A <see cref="T:MonoLibUsb.MonoUsbDeviceHandle"/> is roughly equivalent to a <a href="http://libusb.sourceforge.net/api-1.0/group__dev.html#ga7df95821d20d27b5597f1d783749d6a4">libusb_device_handle</a>.</note>
472
            </remarks>
473
            <code>
474
            MonoUsbDeviceHandle deviceHandle = new MonoUsbDeviceHandle(profileHandle);
475
            if (deviceHandle.IsInvalid) throw new Exception("Invalid device context.");
476
            </code>
477
        </member>
478
        <member name="T:LibUsbDotNet.Main.SafeContextHandle">
479
            <summary>
480
            Base class for all critial handles.
481
            </summary>
482
        </member>
483
        <member name="M:LibUsbDotNet.Main.SafeContextHandle.#ctor(System.IntPtr,System.Boolean)">
484
            <summary>
485
 
486
            </summary>
487
            <param name="pHandle"></param>
488
            <param name="ownsHandle"></param>
489
        </member>
490
        <member name="M:LibUsbDotNet.Main.SafeContextHandle.#ctor(System.IntPtr)">
491
            <summary>
492
 
493
            </summary>
494
            <param name="pHandleToOwn"></param>
495
        </member>
496
        <member name="P:LibUsbDotNet.Main.SafeContextHandle.IsInvalid">
497
            <summary>
498
            Gets a value indicating whether the handle value is invalid.
499
            </summary>
500
            <returns>
501
            true if the handle value is invalid; otherwise, false.
502
            </returns>
503
            <PermissionSet><IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="UnmanagedCode"/></PermissionSet>
504
        </member>
505
        <member name="M:MonoLibUsb.MonoUsbDeviceHandle.#ctor(MonoLibUsb.Profile.MonoUsbProfileHandle)">
506
            <summary>Open a device handle from <paramref name="profileHandle"/>.</summary>
507
            <remarks>
508
            <para>A handle allows you to perform I/O on the device in question.</para>
509
            <para>To close a device handle call its <see cref="M:System.Runtime.InteropServices.SafeHandle.Close"/> method.</para>
510
            <para>This is a non-blocking function; no requests are sent over the bus.</para>
511
            <note title="Libusb-1.0 API Note:" type="cpp">The <see cref="M:MonoLibUsb.MonoUsbDeviceHandle.#ctor(MonoLibUsb.Profile.MonoUsbProfileHandle)"/> constructor is roughly equivalent to <a href="http://libusb.sourceforge.net/api-1.0/group__dev.html#ga8163100afdf933fabed0db7fa81c89d1">libusb_open()</a>.</note>
512
            </remarks>
513
            <param name="profileHandle">A device profile handle.</param>
514
        </member>
515
        <member name="M:MonoLibUsb.MonoUsbDeviceHandle.ReleaseHandle">
516
            <summary>
517
            Closes the <see cref="T:MonoLibUsb.MonoUsbDeviceHandle"/>.
518
            </summary>
519
            <returns>
520
            true if the <see cref="T:MonoLibUsb.MonoUsbDeviceHandle"/> is released successfully; otherwise, in the event of a catastrophic failure, false. In this case, it generates a ReleaseHandleFailed Managed Debugging Assistant.
521
            </returns>
522
        </member>
523
        <member name="M:MonoLibUsb.MonoUsbDeviceHandle.Close">
524
            <summary>
525
            Closes the <see cref="T:MonoLibUsb.MonoUsbDeviceHandle"/> reference.  When all references are no longer is use, the device
526
            is closed in the <see cref="M:MonoLibUsb.MonoUsbDeviceHandle.ReleaseHandle"/> finalizer.
527
            </summary>
528
            <remarks>
529
            <note title="Libusb-1.0 API Note:" type="cpp">The <see cref="M:MonoLibUsb.MonoUsbDeviceHandle.Close"/> method is roughly equivalent to <a href="http://libusb.sourceforge.net/api-1.0/group__dev.html#ga779bc4f1316bdb0ac383bddbd538620e">libusb_close()</a>.</note>
530
            </remarks>
531
        </member>
532
        <member name="P:MonoLibUsb.MonoUsbDeviceHandle.LastErrorString">
533
            <summary>
534
            If the device handle is <see cref="P:LibUsbDotNet.Main.SafeContextHandle.IsInvalid"/>, gets a descriptive string for the <see cref="P:MonoLibUsb.MonoUsbDeviceHandle.LastErrorCode"/>.
535
            </summary>
536
        </member>
537
        <member name="P:MonoLibUsb.MonoUsbDeviceHandle.LastErrorCode">
538
            <summary>
539
            If the device handle is <see cref="P:LibUsbDotNet.Main.SafeContextHandle.IsInvalid"/>, gets the <see cref="T:MonoLibUsb.MonoUsbError"/> status code indicating the reason.
540
            </summary>
541
        </member>
542
        <member name="T:LibUsbDotNet.Main.UsbTransfer">
543
            <summary>
544
            Base class for async transfer context.
545
            </summary>
546
        </member>
547
        <member name="F:LibUsbDotNet.Main.UsbTransfer.mIsoPacketSize">
548
            <summary></summary>
549
        </member>
550
        <member name="F:LibUsbDotNet.Main.UsbTransfer.mOriginalCount">
551
            <summary></summary>
552
        </member>
553
        <member name="F:LibUsbDotNet.Main.UsbTransfer.mOriginalOffset">
554
            <summary></summary>
555
        </member>
556
        <member name="F:LibUsbDotNet.Main.UsbTransfer.mTimeout">
557
            <summary></summary>
558
        </member>
559
        <member name="F:LibUsbDotNet.Main.UsbTransfer.mHasWaitBeenCalled">
560
            <summary></summary>
561
        </member>
562
        <member name="F:LibUsbDotNet.Main.UsbTransfer.mTransferLOCK">
563
            <summary></summary>
564
        </member>
565
        <member name="F:LibUsbDotNet.Main.UsbTransfer.mTransferCancelEvent">
566
            <summary></summary>
567
        </member>
568
        <member name="F:LibUsbDotNet.Main.UsbTransfer.mTransferCompleteEvent">
569
            <summary></summary>
570
        </member>
571
        <member name="M:LibUsbDotNet.Main.UsbTransfer.#ctor(LibUsbDotNet.Main.UsbEndpointBase)">
572
            <summary></summary>
573
        </member>
574
        <member name="M:LibUsbDotNet.Main.UsbTransfer.Dispose">
575
            <summary>
576
            Cancels any pending transfer and frees resources.
577
            </summary>
578
        </member>
579
        <member name="M:LibUsbDotNet.Main.UsbTransfer.Cancel">
580
            <summary>
581
            Cancels a pending transfer that was previously submitted with <see cref="M:LibUsbDotNet.Main.UsbTransfer.Submit"/>.
582
            </summary>
583
            <returns></returns>
584
        </member>
585
        <member name="M:LibUsbDotNet.Main.UsbTransfer.Submit">
586
            <summary>
587
            Submits the transfer.
588
            </summary>
589
            <remarks>
590
            This functions submits the USB transfer and return immediately.
591
            </remarks>
592
            <returns>
593
            <see cref="F:LibUsbDotNet.Main.ErrorCode.Success"/> if the submit succeeds, 
594
            otherwise one of the other <see cref="T:LibUsbDotNet.Main.ErrorCode"/> codes.
595
            </returns>
596
        </member>
597
        <member name="M:LibUsbDotNet.Main.UsbTransfer.Wait(System.Int32@,System.Boolean)">
598
            <summary>
599
            Wait for the transfer to complete, timeout, or get cancelled.
600
            </summary>
601
            <param name="transferredCount">The number of bytes transferred on <see cref="F:LibUsbDotNet.Main.ErrorCode.Success"/>.</param>
602
            <param name="cancel">If true, the transfer is cancelled if it does not complete within the time specified in <see cref="T:System.Threading.Timeout"/>.</param>
603
            <returns><see cref="F:LibUsbDotNet.Main.ErrorCode.Success"/> if the transfer completes successfully, otherwise one of the other <see cref="T:LibUsbDotNet.Main.ErrorCode"/> codes.</returns>
604
        </member>
605
        <member name="M:LibUsbDotNet.Main.UsbTransfer.Wait(System.Int32@)">
606
            <summary>
607
            Wait for the transfer to complete, timeout, or get cancelled.
608
            </summary>
609
            <param name="transferredCount">The number of bytes transferred on <see cref="F:LibUsbDotNet.Main.ErrorCode.Success"/>.</param>
610
            <returns><see cref="F:LibUsbDotNet.Main.ErrorCode.Success"/> if the transfer completes successfully, otherwise one of the other <see cref="T:LibUsbDotNet.Main.ErrorCode"/> codes.</returns>
611
        </member>
612
        <member name="M:LibUsbDotNet.Main.UsbTransfer.Fill(System.Object,System.Int32,System.Int32,System.Int32)">
613
            <summary>
614
            Fills the transfer with the data to <see cref="M:LibUsbDotNet.Main.UsbTransfer.Submit"/>.
615
            </summary>
616
            <param name="buffer">The buffer; See <see cref="T:LibUsbDotNet.Main.PinnedHandle"/> for more details.</param>
617
            <param name="offset">The offset on the buffer where the transfer should read/write.</param>
618
            <param name="count">The number of bytes to transfer.</param>
619
            <param name="timeout">Time (milliseconds) to wait before the transfer times out.</param>
620
        </member>
621
        <member name="M:LibUsbDotNet.Main.UsbTransfer.Fill(System.Object,System.Int32,System.Int32,System.Int32,System.Int32)">
622
            <summary>
623
            Fills the transfer with the data to <see cref="M:LibUsbDotNet.Main.UsbTransfer.Submit"/> an isochronous transfer.
624
            </summary>
625
            <param name="buffer">The buffer; See <see cref="T:LibUsbDotNet.Main.PinnedHandle"/> for more details.</param>
626
            <param name="offset">The offset on the buffer where the transfer should read/write.</param>
627
            <param name="count">The number of bytes to transfer.</param>
628
            <param name="timeout">Time (milliseconds) to wait before the transfer times out.</param>
629
            <param name="isoPacketSize">Size of each isochronous packet.</param>
630
        </member>
631
        <member name="M:LibUsbDotNet.Main.UsbTransfer.Fill(System.IntPtr,System.Int32,System.Int32,System.Int32)">
632
            <summary>
633
            Fills the transfer with the data to <see cref="M:LibUsbDotNet.Main.UsbTransfer.Submit"/>.
634
            </summary>
635
            <param name="buffer">The buffer.</param>
636
            <param name="offset">The offset on the buffer where the transfer should read/write.</param>
637
            <param name="count">The number of bytes to transfer.</param>
638
            <param name="timeout">Time (milliseconds) to wait before the transfer times out.</param>
639
        </member>
640
        <member name="M:LibUsbDotNet.Main.UsbTransfer.Fill(System.IntPtr,System.Int32,System.Int32,System.Int32,System.Int32)">
641
            <summary>
642
            Fills the transfer with the data to <see cref="M:LibUsbDotNet.Main.UsbTransfer.Submit"/> an isochronous transfer.
643
            </summary>
644
            <param name="buffer">The buffer.</param>
645
            <param name="offset">The offset on the buffer where the transfer should read/write.</param>
646
            <param name="count">The number of bytes to transfer.</param>
647
            <param name="timeout">Time (milliseconds) to wait before the transfer times out.</param>
648
            <param name="isoPacketSize">Size of each isochronous packet.</param>
649
        </member>
650
        <member name="M:LibUsbDotNet.Main.UsbTransfer.IncrementTransfer(System.Int32)">
651
            <summary>
652
            Increments the internal counters to the next transfer batch (for transfers greater than <see cref="F:LibUsbDotNet.Main.UsbEndpointBase.MaxReadWrite"/>)
653
            </summary>
654
            <param name="amount">This will usually be the total transferred on the previous batch.</param>
655
            <returns>True if the buffer still has data available and internal counters were successfully incremented.</returns>
656
        </member>
657
        <member name="M:LibUsbDotNet.Main.UsbTransfer.Reset">
658
            <summary>
659
            Resets the transfer to its orignal state.
660
            </summary>
661
            <remarks>
662
            Prepares a <see cref="T:LibUsbDotNet.Main.UsbTransfer"/> to be resubmitted.
663
            </remarks>
664
        </member>
665
        <member name="P:LibUsbDotNet.Main.UsbTransfer.EndpointBase">
666
            <summary>
667
            Returns the <see cref="T:LibUsbDotNet.UsbEndpointReader"/> or <see cref="T:LibUsbDotNet.UsbEndpointWriter"/> this transfer context is associated with.
668
            </summary>
669
        </member>
670
        <member name="P:LibUsbDotNet.Main.UsbTransfer.RequestCount">
671
            <summary>
672
            Number of bytes that will be requested for the next transfer.
673
            </summary>
674
        </member>
675
        <member name="P:LibUsbDotNet.Main.UsbTransfer.NextBufPtr">
676
            <summary></summary>
677
        </member>
678
        <member name="P:LibUsbDotNet.Main.UsbTransfer.IsCancelled">
679
            <summary>
680
             True if the transfer has been cacelled with <see cref="M:LibUsbDotNet.Main.UsbTransfer.Cancel"/>.
681
            </summary>
682
        </member>
683
        <member name="P:LibUsbDotNet.Main.UsbTransfer.CancelWaitHandle">
684
            <summary>
685
            Gets the <see cref="T:System.Threading.WaitHandle"/> for the cancel event.
686
            </summary>
687
        </member>
688
        <member name="P:LibUsbDotNet.Main.UsbTransfer.IsoPacketSize">
689
            <summary>
690
            Gets the size of each isochronous packet.
691
            </summary>
692
            <remarks>
693
            To change the packet size see <see cref="M:LibUsbDotNet.Main.UsbTransfer.Fill(System.IntPtr,System.Int32,System.Int32,System.Int32,System.Int32)"/>
694
            </remarks>
695
        </member>
696
        <member name="P:LibUsbDotNet.Main.UsbTransfer.Transmitted">
697
            <summary>
698
            Totoal number of bytes transferred.
699
            </summary>
700
        </member>
701
        <member name="P:LibUsbDotNet.Main.UsbTransfer.Remaining">
702
            <summary>
703
            Remaining bytes in the transfer data buffer.
704
            </summary>
705
        </member>
706
        <member name="P:LibUsbDotNet.Main.UsbTransfer.IsCompleted">
707
            <summary>
708
            Gets an indication whether the asynchronous operation has completed.
709
            </summary>
710
            <returns>
711
            true if the operation is complete; otherwise, false.
712
            </returns>
713
            <filterpriority>2</filterpriority>
714
        </member>
715
        <member name="P:LibUsbDotNet.Main.UsbTransfer.AsyncWaitHandle">
716
            <summary>
717
            Gets a <see cref="T:System.Threading.WaitHandle"/> that is used to wait for an asynchronous operation to complete.
718
            </summary>
719
            <returns>
720
            A <see cref="T:System.Threading.WaitHandle"/> that is used to wait for an asynchronous operation to complete.
721
            </returns>
722
            <filterpriority>2</filterpriority>
723
        </member>
724
        <member name="P:LibUsbDotNet.Main.UsbTransfer.AsyncState">
725
            <summary>
726
            Gets a user-defined object that qualifies or contains information about an asynchronous operation.
727
            </summary>
728
            <returns>
729
            A user-defined object that qualifies or contains information about an asynchronous operation.
730
            </returns>
731
            <filterpriority>2</filterpriority>
732
        </member>
733
        <member name="P:LibUsbDotNet.Main.UsbTransfer.CompletedSynchronously">
734
            <summary>
735
            Gets an indication of whether the asynchronous operation completed synchronously.
736
            </summary>
737
            <returns>
738
            true if the asynchronous operation completed synchronously; otherwise, false.
739
            </returns>
740
            <filterpriority>2</filterpriority>
741
        </member>
742
        <member name="F:MonoLibUsb.Transfer.Internal.libusb_control_setup.bmRequestType">
743
            Request type. Bits 0:4 determine recipient, see
744
            \ref libusb_request_recipient. Bits 5:6 determine type, see
745
            \ref libusb_request_type. Bit 7 determines data transfer direction, see
746
            \ref libusb_endpoint_direction.
747
        </member>
748
        <member name="F:MonoLibUsb.Transfer.Internal.libusb_control_setup.bRequest">
749
            Request. If the type bits of bmRequestType are equal to
750
            \ref libusb_request_type::LIBUSB_REQUEST_TYPE_STANDARD
751
            "LIBUSB_REQUEST_TYPE_STANDARD" then this field refers to
752
            \ref libusb_standard_request. For other cases, use of this field is
753
            application-specific. 
754
        </member>
755
        <member name="F:MonoLibUsb.Transfer.Internal.libusb_control_setup.wValue">
756
            Value. Varies according to request 
757
        </member>
758
        <member name="F:MonoLibUsb.Transfer.Internal.libusb_control_setup.wIndex">
759
            Index. Varies according to request, typically used to pass an index
760
            or offset 
761
        </member>
762
        <member name="F:MonoLibUsb.Transfer.Internal.libusb_control_setup.wLength">
763
            Number of bytes to transfer 
764
        </member>
765
        <member name="T:LibUsbDotNet.DeviceNotify.Info.VolumeNotifyInfo">
766
            <summary> Describes the storage volume that caused the notification.
767
            See <see cref="T:LibUsbDotNet.DeviceNotify.Info.IVolumeNotifyInfo"/> for more information.
768
            </summary> 
769
        </member>
770
        <member name="T:LibUsbDotNet.DeviceNotify.Info.IVolumeNotifyInfo">
771
            <summary> Common interface describing a storage volume arrival or removal notification.
772
            </summary> 
773
        </member>
774
        <member name="M:LibUsbDotNet.DeviceNotify.Info.IVolumeNotifyInfo.ToString">
775
            <summary>
776
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.DeviceNotify.Info.VolumeNotifyInfo"/>.
777
            </summary>
778
 
779
            <returns>
780
            A <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.DeviceNotify.Info.VolumeNotifyInfo"/>.
781
            </returns>
782
        </member>
783
        <member name="P:LibUsbDotNet.DeviceNotify.Info.IVolumeNotifyInfo.Letter">
784
            <summary>
785
            Under windows, gets the letter representation of the unitmask.
786
            Under linux, gets the full path of the device name.
787
            </summary>
788
        </member>
789
        <member name="P:LibUsbDotNet.DeviceNotify.Info.IVolumeNotifyInfo.ChangeAffectsMediaInDrive">
790
            <summary>
791
             If true, change affects media in drive. If false, change affects physical device or drive.
792
            </summary>
793
        </member>
794
        <member name="P:LibUsbDotNet.DeviceNotify.Info.IVolumeNotifyInfo.IsNetworkVolume">
795
            <summary>
796
            If True, the indicated logical volume is a network volume
797
            </summary>
798
        </member>
799
        <member name="P:LibUsbDotNet.DeviceNotify.Info.IVolumeNotifyInfo.Flags">
800
            <summary>
801
            Raw DevBroadcastVolume flags.
802
            </summary>
803
        </member>
804
        <member name="P:LibUsbDotNet.DeviceNotify.Info.IVolumeNotifyInfo.Unitmask">
805
            <summary>
806
            Gets the bit unit mask of the device. IE (bit 0 = A:, bit 1 = B:, etc..)
807
            </summary>
808
        </member>
809
        <member name="M:LibUsbDotNet.DeviceNotify.Info.VolumeNotifyInfo.ToString">
810
            <summary>
811
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.DeviceNotify.Info.VolumeNotifyInfo"/>.
812
            </summary>
813
 
814
            <returns>
815
            A <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.DeviceNotify.Info.VolumeNotifyInfo"/>.
816
            </returns>
817
        </member>
818
        <member name="P:LibUsbDotNet.DeviceNotify.Info.VolumeNotifyInfo.Letter">
819
            <summary>
820
            Gets the letter representation of the unitmask.
821
            </summary>
822
        </member>
823
        <member name="P:LibUsbDotNet.DeviceNotify.Info.VolumeNotifyInfo.ChangeAffectsMediaInDrive">
824
            <summary>
825
             If true, change affects media in drive. If false, change affects physical device or drive.
826
            </summary>
827
        </member>
828
        <member name="P:LibUsbDotNet.DeviceNotify.Info.VolumeNotifyInfo.IsNetworkVolume">
829
            <summary>
830
            If True, the indicated logical volume is a network volume
831
            </summary>
832
        </member>
833
        <member name="P:LibUsbDotNet.DeviceNotify.Info.VolumeNotifyInfo.Flags">
834
            <summary>
835
            Raw DevBroadcastVolume flags.
836
            </summary>
837
        </member>
838
        <member name="P:LibUsbDotNet.DeviceNotify.Info.VolumeNotifyInfo.Unitmask">
839
            <summary>
840
            Gets the bit unit mask of the device. IE (bit 0 = A:, bit 1 = B:, etc..)
841
            </summary>
842
        </member>
843
        <member name="T:LibUsbDotNet.DeviceNotify.DeviceType">
844
            <summary> 
845
            Type of notification device.
846
            </summary> 
847
        </member>
848
        <member name="F:LibUsbDotNet.DeviceNotify.DeviceType.Oem">
849
            <summary>
850
            oem-defined device type.
851
            </summary>
852
        </member>
853
        <member name="F:LibUsbDotNet.DeviceNotify.DeviceType.DevNode">
854
            <summary>
855
            devnode number.
856
            </summary>
857
        </member>
858
        <member name="F:LibUsbDotNet.DeviceNotify.DeviceType.Volume">
859
            <summary>
860
            logical volume.
861
            </summary>
862
        </member>
863
        <member name="F:LibUsbDotNet.DeviceNotify.DeviceType.Port">
864
            <summary>
865
            serial, parallel.
866
            </summary>
867
        </member>
868
        <member name="F:LibUsbDotNet.DeviceNotify.DeviceType.Net">
869
            <summary>
870
            network resource.
871
            </summary>
872
        </member>
873
        <member name="F:LibUsbDotNet.DeviceNotify.DeviceType.DeviceInterface">
874
            <summary>
875
            device interface class
876
            </summary>
877
        </member>
878
        <member name="F:LibUsbDotNet.DeviceNotify.DeviceType.Handle">
879
            <summary>
880
            file system handle.
881
            </summary>
882
        </member>
883
        <member name="T:LibUsbDotNet.Descriptors.UsbEndpointDescriptor">
884
            <summary> Usb Endpoint Descriptor
885
            </summary> 
886
            <remarks> This is the actual descriptor as described in the USB 2.0 Specifications.
887
            </remarks> 
888
        </member>
889
        <member name="T:LibUsbDotNet.Descriptors.UsbDescriptor">
890
            <summary> Base class for all usb descriptors structures.
891
            </summary> 
892
            <remarks> This is the actual descriptor as described in the USB 2.0 Specifications.
893
            </remarks> 
894
        </member>
895
        <member name="F:LibUsbDotNet.Descriptors.UsbDescriptor.ToStringParamValueSeperator">
896
            <summary>
897
            String value used to seperate the name/value pairs for all ToString overloads of the descriptor classes.
898
            </summary>
899
        </member>
900
        <member name="F:LibUsbDotNet.Descriptors.UsbDescriptor.ToStringFieldSeperator">
901
            <summary>
902
            String value used to seperate the name/value groups for all ToString overloads of the descriptor classes.
903
            </summary>
904
        </member>
905
        <member name="F:LibUsbDotNet.Descriptors.UsbDescriptor.Size">
906
            <summary>
907
            Total size of this structure in bytes.
908
            </summary>
909
        </member>
910
        <member name="F:LibUsbDotNet.Descriptors.UsbDescriptor.Length">
911
            <summary>
912
            Length of structure reported by the associated usb device.
913
            </summary>
914
        </member>
915
        <member name="F:LibUsbDotNet.Descriptors.UsbDescriptor.DescriptorType">
916
            <summary>
917
            Type of structure reported by the associated usb device.
918
            </summary>
919
        </member>
920
        <member name="M:LibUsbDotNet.Descriptors.UsbDescriptor.ToString">
921
            <summary>
922
            String representation of the UsbDescriptor class.
923
            </summary>
924
        </member>
925
        <member name="F:LibUsbDotNet.Descriptors.UsbEndpointDescriptor.Size">
926
            <summary>
927
            Total size of this structure in bytes.
928
            </summary>
929
        </member>
930
        <member name="F:LibUsbDotNet.Descriptors.UsbEndpointDescriptor.EndpointID">
931
            <summary>
932
            Endpoint Address
933
            Bits 0..3b Endpoint Number.
934
            Bits 4..6b Reserved. Set to Zero
935
            Bits 7 Direction 0 = Out, 1 = In (Ignored for Control Endpoints)
936
            </summary>
937
        </member>
938
        <member name="F:LibUsbDotNet.Descriptors.UsbEndpointDescriptor.Attributes">
939
            <summary>
940
            Bits 0..1 Transfer Type 
941
            00 = Control
942
            01 = Isochronous
943
            10 = Bulk
944
            11 = Interrupt
945
 
946
            Bits 2..7 are reserved. If Isochronous endpoint, 
947
            Bits 3..2 = Synchronisation Type (Iso Mode) 
948
            00 = No Synchonisation
949
            01 = Asynchronous
950
            10 = Adaptive
951
            11 = Synchronous
952
 
953
            Bits 5..4 = Usage Type (Iso Mode) 
954
            00 = Data Endpoint
955
            01 = Feedback Endpoint
956
            10 = Explicit Feedback Data Endpoint
957
            11 = Reserved
958
            </summary>
959
        </member>
960
        <member name="F:LibUsbDotNet.Descriptors.UsbEndpointDescriptor.MaxPacketSize">
961
            <summary>
962
            Maximum Packet Size this endpoint is capable of sending or receiving
963
            </summary>
964
        </member>
965
        <member name="F:LibUsbDotNet.Descriptors.UsbEndpointDescriptor.Interval">
966
            <summary>
967
            Interval for polling endpoint data transfers. Value in frame counts. Ignored for Bulk and Control Endpoints. Isochronous must equal 1 and field may range from 1 to 255 for interrupt endpoints.
968
            </summary>
969
        </member>
970
        <member name="F:LibUsbDotNet.Descriptors.UsbEndpointDescriptor.Refresh">
971
            <summary>
972
            Audio endpoint specific.
973
            </summary>
974
        </member>
975
        <member name="F:LibUsbDotNet.Descriptors.UsbEndpointDescriptor.SynchAddress">
976
            <summary>
977
            Audio endpoint specific.
978
            </summary>
979
        </member>
980
        <member name="M:LibUsbDotNet.Descriptors.UsbEndpointDescriptor.ToString">
981
            <summary>
982
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.Descriptors.UsbEndpointDescriptor"/>.
983
            </summary>
984
 
985
            <returns>
986
            A <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.Descriptors.UsbEndpointDescriptor"/>.
987
            </returns>
988
        </member>
989
        <member name="M:LibUsbDotNet.Descriptors.UsbEndpointDescriptor.ToString(System.String,System.String,System.String)">
990
            <summary>
991
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.Descriptors.UsbEndpointDescriptor"/>.
992
            </summary>
993
 
994
            <param name="prefixSeperator">The field prefix string.</param>
995
            <param name="entitySperator">The field/value seperator string.</param>
996
            <param name="suffixSeperator">The value suffix string.</param>
997
            <returns>A formatted representation of the <see cref="T:LibUsbDotNet.Descriptors.UsbEndpointDescriptor"/>.</returns>
998
        </member>
999
        <member name="T:LibUsbDotNet.WinUsb.PipePolicies">
1000
            <summary> Endpoint specific policies. <see cref="M:LibUsbDotNet.WinUsb.WinUsbDevice.EndpointPolicies(LibUsbDotNet.Main.ReadEndpointID)"/>.
1001
            </summary> 
1002
        </member>
1003
        <member name="M:LibUsbDotNet.WinUsb.PipePolicies.ToString">
1004
            <summary>
1005
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
1006
            </summary>
1007
 
1008
            <returns>
1009
            A <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
1010
            </returns>
1011
        </member>
1012
        <member name="M:LibUsbDotNet.WinUsb.PipePolicies.Finalize">
1013
            <summary>
1014
            Frees instance resources.
1015
            </summary>
1016
        </member>
1017
        <member name="P:LibUsbDotNet.WinUsb.PipePolicies.AllowPartialReads">
1018
            <summary>
1019
            If the allow partial reads policy parameter is FALSE (that is, zero), the read request fails whenever the device returns more data than the client requested. 
1020
            If the allow partial reads policy parameter is TRUE, the WinUSB driver saves the extra data and sends the extra data to the client during the client's next read. 
1021
            The default value of the allow partial reads policy parameter is TRUE.
1022
            </summary>
1023
        </member>
1024
        <member name="P:LibUsbDotNet.WinUsb.PipePolicies.ShortPacketTerminate">
1025
            <summary>
1026
            If the short packet terminate policy parameter is TRUE (that is, nonzero), every write request that is a multiple of the maximum packet size for the endpoint is terminated with a zero-length packet. 
1027
            The default value of the short packet terminate policy parameter is FALSE.
1028
            </summary>
1029
        </member>
1030
        <member name="P:LibUsbDotNet.WinUsb.PipePolicies.AutoClearStall">
1031
            <summary>
1032
            If the auto clear stall policy parameter is TRUE (that is, nonzero), the driver fails stalled data transfers, but the driver clears the stall condition automatically, and data continues to flow on the pipe. This policy parameter does not affect control pipes. 
1033
            The default value for the auto clear stall policy parameter is FALSE.
1034
            </summary>
1035
        </member>
1036
        <member name="P:LibUsbDotNet.WinUsb.PipePolicies.AutoFlush">
1037
            <summary>
1038
             The auto flush policy parameter works with allow partial reads. If allow partial reads is FALSE, the WinUSB driver ignores the value of auto flush. If allow partial reads is TRUE, the value of auto flush determines what the WinUSB driver does when the device returns more data than the client requested. 
1039
             If both allow partial reads and auto flush policy parameters are TRUE (that is, nonzero) and the device returns more data than the client requested, the remaining data is discarded. If allow partial reads is TRUE, but auto flush is FALSE, the WinUSB driver caches the extra data and sends it to the client in the next read operation. 
1040
             The default value of the auto flush policy parameter is FALSE.
1041
            </summary>
1042
        </member>
1043
        <member name="P:LibUsbDotNet.WinUsb.PipePolicies.IgnoreShortPackets">
1044
            <summary>
1045
            If the ignore short packets policy parameter is TRUE (that is, nonzero), the host does not complete a read operation after it receives a short packet. Instead, the the host completes the operation only after the host has read the specified number of bytes. 
1046
            If the ignore short packets policy parameter is FALSE, the host completes a read operation when either the host has read the specified number of bytes or the host has received a short packet. 
1047
            The default value of the ignore short packets policy parameter is FALSE.
1048
            </summary>
1049
        </member>
1050
        <member name="P:LibUsbDotNet.WinUsb.PipePolicies.RawIo">
1051
            <summary>
1052
            If the raw i/o policy parameter is TRUE (that is, nonzero), calls to WinUsb_ReadPipe and WinUsb_WritePipe for the specified endpoint must satisfy the following conditions:
1053
            The buffer length must be a multiple of the maximum endpoint packet size. 
1054
            The length must be less than what the host controller supports. 
1055
            If the preceding conditions are met, WinUSB sends data directly to the USB driver stack, bypassing WinUSB's queuing and error handling. 
1056
            If the raw i/o policy parameter is FALSE, no restrictions are imposed on the buffers that are passed to WinUsb_ReadPipe and WinUsb_WritePipe. 
1057
            The default value of the raw i/o policy parameter is FALSE.
1058
            </summary>
1059
        </member>
1060
        <member name="P:LibUsbDotNet.WinUsb.PipePolicies.PipeTransferTimeout">
1061
            <summary>
1062
            The pipe transfer timeout policy parameter specifies the time-out interval, in milliseconds. The host cancels transfers that do not complete within the time-out interval. A value of zero means that transfers do not time out. 
1063
            By default, the time-out value is zero, and the host never cancels a transfer because of a time-out.
1064
            </summary>
1065
        </member>
1066
        <member name="P:LibUsbDotNet.WinUsb.PipePolicies.MaxTransferSize">
1067
            <summary>
1068
            The maximum number of bytes that can be transferred at once.
1069
            </summary>
1070
        </member>
1071
        <member name="T:MonoLibUsb.Descriptors.MonoUsbInterface">
1072
            <summary>A collection of alternate settings for a particular USB interface.</summary>
1073
        </member>
1074
        <member name="F:MonoLibUsb.Descriptors.MonoUsbInterface.pAltSetting">
1075
            <summary> Array of interface descriptors. The length of this array is determined by the num_altsetting field.</summary>
1076
        </member>
1077
        <member name="F:MonoLibUsb.Descriptors.MonoUsbInterface.num_altsetting">
1078
            <summary> The number of alternate settings that belong to this interface</summary>
1079
        </member>
1080
        <member name="P:MonoLibUsb.Descriptors.MonoUsbInterface.AltInterfaceList">
1081
            <summary> Array of interface descriptors. The length of this array is determined by the num_altsetting field.</summary>
1082
        </member>
1083
        <member name="T:MonoLibUsb.Profile.AddRemoveType">
1084
            <summary>
1085
            Event type.
1086
            </summary>
1087
        </member>
1088
        <member name="F:MonoLibUsb.Profile.AddRemoveType.Added">
1089
            <summary>
1090
            A usb device was attached.
1091
            </summary>
1092
        </member>
1093
        <member name="F:MonoLibUsb.Profile.AddRemoveType.Removed">
1094
            <summary>
1095
            A usb device was detached.
1096
            </summary>
1097
        </member>
1098
        <member name="T:LibUsbDotNet.DeviceNotify.Linux.LinuxDeviceNotifier">
1099
            <summary>
1100
             Creates an instance of the <see cref="T:LibUsbDotNet.DeviceNotify.Linux.LinuxDeviceNotifier"/> class.
1101
             See the <see cref="T:LibUsbDotNet.DeviceNotify.IDeviceNotifier"/> interface or <see cref="M:LibUsbDotNet.DeviceNotify.DeviceNotifier.OpenDeviceNotifier"/> method for more information
1102
            </summary>
1103
            <remarks>
1104
            To make your code platform-independent use the <see cref="M:LibUsbDotNet.DeviceNotify.DeviceNotifier.OpenDeviceNotifier"/> method for creating instances.
1105
            </remarks>
1106
        </member>
1107
        <member name="T:LibUsbDotNet.DeviceNotify.IDeviceNotifier">
1108
            <summary>
1109
            Notifies an application of a change to the hardware Configuration of a device or 
1110
            the computer.
1111
            </summary>
1112
            <remarks>
1113
            For devices that offer software-controllable features, such as ejection and locking, 
1114
            the system typically sends a <see cref="F:LibUsbDotNet.DeviceNotify.EventType.DeviceRemovePending"/> message to 
1115
            let applications and device drivers end their use of the device gracefully. If the 
1116
            system forcibly removes a device, it may not send a 
1117
            <see cref="F:LibUsbDotNet.DeviceNotify.EventType.DeviceQueryRemove"/> message before doing so.
1118
            </remarks>
1119
            <example>
1120
            <code source="..\Test_DeviceNotify\fTestDeviceNotify.cs" lang="cs"/>
1121
            </example>
1122
        </member>
1123
        <member name="P:LibUsbDotNet.DeviceNotify.IDeviceNotifier.Enabled">
1124
            <summary>
1125
             Enables/Disables notification events.
1126
            </summary>
1127
        </member>
1128
        <member name="E:LibUsbDotNet.DeviceNotify.IDeviceNotifier.OnDeviceNotify">
1129
            <summary>
1130
            Main Notify event for all device notifications.
1131
            </summary>
1132
        </member>
1133
        <member name="M:LibUsbDotNet.DeviceNotify.Linux.LinuxDeviceNotifier.#ctor(System.String)">
1134
            <summary>
1135
            Creates a new instance of the LinuxDeviceNotifier using 'devDir' as the root device path. (IE. '/dev').
1136
            </summary>
1137
            <param name="devDir">The directory to monitor; usually '/dev'.</param>
1138
        </member>
1139
        <member name="M:LibUsbDotNet.DeviceNotify.Linux.LinuxDeviceNotifier.#ctor">
1140
            <summary>
1141
            Creates a new instance of the LinuxDeviceNotifier using '/dev' as the root device path.
1142
            </summary>
1143
        </member>
1144
        <member name="F:LibUsbDotNet.DeviceNotify.Linux.LinuxDeviceNotifier.PollingInterval">
1145
            <summary>
1146
             The interval (milliseconds) in which the device list is queried for changes when using the <see cref="F:LibUsbDotNet.DeviceNotify.Linux.LinuxDeviceNotifierMode.PollDeviceList"/> mode.
1147
            </summary>
1148
        </member>
1149
        <member name="P:LibUsbDotNet.DeviceNotify.Linux.LinuxDeviceNotifier.Mode">
1150
            <summary>
1151
             Gets the mode being used to detect notification events.
1152
            </summary>
1153
        </member>
1154
        <member name="P:LibUsbDotNet.DeviceNotify.Linux.LinuxDeviceNotifier.Enabled">
1155
            <summary>
1156
             Enables/Disables notification events.
1157
            </summary>
1158
        </member>
1159
        <member name="E:LibUsbDotNet.DeviceNotify.Linux.LinuxDeviceNotifier.OnDeviceNotify">
1160
            <summary>
1161
            Main Notify event for all device notifications.
1162
            </summary>
1163
        </member>
1164
        <member name="T:MonoLibUsb.Profile.MonoUsbProfileList">
1165
            <summary>
1166
            Manages the device list.  This class is thread safe.
1167
            </summary>
1168
        </member>
1169
        <member name="M:MonoLibUsb.Profile.MonoUsbProfileList.Refresh(MonoLibUsb.MonoUsbSessionHandle)">
1170
            <summary>
1171
            Refreshes the <see cref="T:MonoLibUsb.Profile.MonoUsbProfile"/> list.
1172
            </summary>
1173
            <remarks>
1174
            <para>This is your entry point into finding a USB device to operate.</para>
1175
            <para>This return value of this function indicates the number of devices in the resultant list.</para>
1176
            <para>The <see cref="T:MonoLibUsb.Profile.MonoUsbProfileList"/> has a crude form of built-in device notification that works on all platforms. By adding an event handler to the <see cref="E:MonoLibUsb.Profile.MonoUsbProfileList.AddRemoveEvent"/> changes in the device profile list are reported when <see cref="M:MonoLibUsb.Profile.MonoUsbProfileList.Refresh(MonoLibUsb.MonoUsbSessionHandle)"/> is called.</para>
1177
            </remarks>
1178
            <param name="sessionHandle">A valid <see cref="T:MonoLibUsb.MonoUsbSessionHandle"/>.</param>
1179
            <returns>The number of devices in the outputted list, or <see cref="F:MonoLibUsb.MonoUsbError.ErrorNoMem"/> on memory allocation failure.</returns>
1180
            <example>
1181
            <code source="..\MonoLibUsb\MonoUsb.ShowInfo\ShowInfo.cs" lang="cs"/>
1182
            </example>
1183
        </member>
1184
        <member name="M:MonoLibUsb.Profile.MonoUsbProfileList.Close">
1185
            <summary>
1186
            Frees all unreferenced profiles contained in the list.
1187
            </summary>
1188
            <remarks>
1189
            <para>
1190
            <see cref="T:MonoLibUsb.Profile.MonoUsbProfileHandle"/>s that are in-use are never closed until all reference(s) have gone 
1191
            out-of-scope or specifically been closed with the <see cref="M:System.Runtime.InteropServices.SafeHandle.Close"/> method.
1192
            </para>
1193
            </remarks>
1194
        </member>
1195
        <member name="M:MonoLibUsb.Profile.MonoUsbProfileList.GetEnumerator">
1196
            <summary>
1197
            Returns an enumerator that iterates through the collection.
1198
            </summary>
1199
            <returns>
1200
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
1201
            </returns>
1202
            <filterpriority>1</filterpriority>
1203
        </member>
1204
        <member name="M:MonoLibUsb.Profile.MonoUsbProfileList.GetList">
1205
            <summary>
1206
            Gets a <see cref="T:System.Collections.Generic.List`1"/> of <see cref="T:MonoLibUsb.Profile.MonoUsbProfile"/> instances.
1207
            </summary>
1208
            <remarks>
1209
            <para>
1210
            The <see cref="T:MonoLibUsb.Profile.MonoUsbProfileList"/> uses an internal list that is locked when changes must be made.
1211
            The <see cref="M:MonoLibUsb.Profile.MonoUsbProfileList.GetList"/> method returns a copy of this list that can be searched and modified as needed by the user.
1212
            </para>
1213
            <para>
1214
            The returned generic <see cref="T:System.Collections.Generic.List`1"/> contains many more functions for finding devices.  
1215
            It may be desirable to use these members, such as <see cref="M:System.Collections.Generic.List`1.FindAll(System.Predicate{`0})"/> or <see cref="M:System.Collections.Generic.List`1.ForEach(System.Action{`0})"/> to find a <see cref="T:MonoLibUsb.Profile.MonoUsbProfile"/> instead of iterating through the <see cref="T:MonoLibUsb.Profile.MonoUsbProfileList"/> one-by-one.
1216
            </para>
1217
            </remarks>
1218
            <returns>A <see cref="T:System.Collections.Generic.List`1"/> of <see cref="T:MonoLibUsb.Profile.MonoUsbProfile"/> instances.</returns>
1219
        </member>
1220
        <member name="E:MonoLibUsb.Profile.MonoUsbProfileList.AddRemoveEvent">
1221
            <summary>
1222
            Usb device arrival/removal notification handler. 
1223
            This event only reports when the <see cref="M:MonoLibUsb.Profile.MonoUsbProfileList.Refresh(MonoLibUsb.MonoUsbSessionHandle)"/> method is called.
1224
            </summary>
1225
            <remarks>
1226
            <see cref="E:MonoLibUsb.Profile.MonoUsbProfileList.AddRemoveEvent"/> could be used for a crude form for receiving usb 
1227
            device arrival/removal notification.
1228
            </remarks>
1229
            <example>
1230
            <code>
1231
            // Startup code
1232
            MonoUsbProfileList profileList = new MonoUsbProfileList();
1233
            profileList.AddRemoveEvent += OnDeviceAddRemove;
1234
 
1235
            // Device AddRemove event template
1236
            private void OnDeviceAddRemove(object sender, AddRemoveEventArgs addRemoveArgs)
1237
            {
1238
            // This method will only report when Refresh() is called.
1239
            }
1240
 
1241
            // Refresh profile list.
1242
            // Any devices added or removed since the last call to Refresh() will be returned
1243
            // in the OnDeviceAddRemove method.
1244
            profileList.Refresh();
1245
            </code>
1246
            </example>
1247
        </member>
1248
        <member name="P:MonoLibUsb.Profile.MonoUsbProfileList.Count">
1249
            <summary>
1250
            Returns the number of <see cref="T:MonoLibUsb.Profile.MonoUsbProfile"/> instances in the list.
1251
            </summary>
1252
        </member>
1253
        <member name="P:MonoLibUsb.Profile.MonoUsbProfileList.Item(System.Int32)">
1254
            <summary>
1255
            Gets the <see cref="T:MonoLibUsb.Profile.MonoUsbProfile"/> at the specfied index.
1256
            </summary>
1257
            <param name="index">The index of the <see cref="T:MonoLibUsb.Profile.MonoUsbProfile"/> to retrieve.</param>
1258
            <returns>The <see cref="T:MonoLibUsb.Profile.MonoUsbProfile"/> instance at the specified <paramref name="index"/>.</returns>
1259
            <exception cref="T:System.ArgumentOutOfRangeException">If index is invalid.</exception>
1260
        </member>
1261
        <member name="T:MonoLibUsb.Profile.MonoUsbProfile">
1262
            <summary>
1263
            Representing a USB device that can be opened and used by Libusb-1.0.
1264
            </summary>
1265
        </member>
1266
        <member name="M:MonoLibUsb.Profile.MonoUsbProfile.Equals(System.Object)">
1267
            <summary>
1268
            Determines whether the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:System.Object"/>.
1269
            </summary>
1270
            <returns>
1271
            true if the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:System.Object"/>; otherwise, false.
1272
            </returns>
1273
            <param name="obj">The <see cref="T:System.Object"/> to compare with the current <see cref="T:System.Object"/>. </param><exception cref="T:System.NullReferenceException">The <paramref name="obj"/> parameter is null.</exception><filterpriority>2</filterpriority>
1274
        </member>
1275
        <member name="M:MonoLibUsb.Profile.MonoUsbProfile.GetHashCode">
1276
            <summary>
1277
            Serves as a hash function for a particular type. 
1278
            </summary>
1279
            <returns>
1280
            A hash code for the current <see cref="T:System.Object"/>.
1281
            </returns>
1282
            <filterpriority>2</filterpriority>
1283
        </member>
1284
        <member name="M:MonoLibUsb.Profile.MonoUsbProfile.op_Equality(MonoLibUsb.Profile.MonoUsbProfile,MonoLibUsb.Profile.MonoUsbProfile)">
1285
            <summary>
1286
             <c>true</c> if the <see cref="T:MonoLibUsb.Profile.MonoUsbProfile"/> types are equal.
1287
            </summary>
1288
             <remarks>
1289
             <see cref="T:MonoLibUsb.Profile.MonoUsbProfile"/> types are considered equal they have the same <see cref="P:MonoLibUsb.Profile.MonoUsbProfile.BusNumber"/> and <see cref="P:MonoLibUsb.Profile.MonoUsbProfile.DeviceAddress"/>.
1290
             </remarks>
1291
            <param name="left"><see cref="T:MonoLibUsb.Profile.MonoUsbProfile"/> on the left.</param>
1292
            <param name="right"><see cref="T:MonoLibUsb.Profile.MonoUsbProfile"/> on the right.</param>
1293
            <returns>True if the <see cref="T:MonoLibUsb.Profile.MonoUsbProfile"/> types are equal.</returns>
1294
        </member>
1295
        <member name="M:MonoLibUsb.Profile.MonoUsbProfile.op_Inequality(MonoLibUsb.Profile.MonoUsbProfile,MonoLibUsb.Profile.MonoUsbProfile)">
1296
            <summary>
1297
             <c>true</c> if the <see cref="T:MonoLibUsb.Profile.MonoUsbProfile"/> types are not equal.
1298
            </summary>
1299
             <remarks>
1300
             <see cref="T:MonoLibUsb.Profile.MonoUsbProfile"/> types are considered equal they have the same <see cref="P:MonoLibUsb.Profile.MonoUsbProfile.BusNumber"/> and <see cref="P:MonoLibUsb.Profile.MonoUsbProfile.DeviceAddress"/>.
1301
             </remarks>
1302
            <param name="left"><see cref="T:MonoLibUsb.Profile.MonoUsbProfile"/> on the left.</param>
1303
            <param name="right"><see cref="T:MonoLibUsb.Profile.MonoUsbProfile"/> on the right.</param>
1304
            <returns>True if the <see cref="T:MonoLibUsb.Profile.MonoUsbProfile"/> types are not equal.</returns>
1305
        </member>
1306
        <member name="M:MonoLibUsb.Profile.MonoUsbProfile.Close">
1307
            <summary>
1308
            Closes the internal <see cref="T:MonoLibUsb.Profile.MonoUsbProfileHandle"/>.
1309
            </summary>
1310
        </member>
1311
        <member name="M:MonoLibUsb.Profile.MonoUsbProfile.OpenDeviceHandle">
1312
            <summary>
1313
            Convenience function to open the device handle this profile handle represents.
1314
            </summary>
1315
            <returns>
1316
            A new <see cref="T:MonoLibUsb.MonoUsbDeviceHandle"/> instance. Created with <see cref="M:MonoLibUsb.MonoUsbDeviceHandle.#ctor(MonoLibUsb.Profile.MonoUsbProfileHandle)"/> constructor.
1317
            </returns>
1318
        </member>
1319
        <member name="M:MonoLibUsb.Profile.MonoUsbProfile.Equals(MonoLibUsb.Profile.MonoUsbProfile)">
1320
            <summary>
1321
            Compares a <see cref="T:MonoLibUsb.Profile.MonoUsbProfile"/> with this one.
1322
            </summary>
1323
            <param name="other">The other <see cref="T:MonoLibUsb.Profile.MonoUsbProfile"/>.</param>
1324
            <returns>True if the <see cref="P:MonoLibUsb.Profile.MonoUsbProfile.BusNumber"/> and <see cref="P:MonoLibUsb.Profile.MonoUsbProfile.DeviceAddress"/> are equal.</returns>
1325
        </member>
1326
        <member name="P:MonoLibUsb.Profile.MonoUsbProfile.DeviceDescriptor">
1327
            <summary>
1328
            Gets the standard usb device descriptor.
1329
            </summary>
1330
        </member>
1331
        <member name="P:MonoLibUsb.Profile.MonoUsbProfile.BusNumber">
1332
            <summary>
1333
            Gets the bus number the is resides on.
1334
            </summary>
1335
        </member>
1336
        <member name="P:MonoLibUsb.Profile.MonoUsbProfile.DeviceAddress">
1337
            <summary>
1338
            Gets the device address that belongs to the usb device this profile represents.
1339
            </summary>
1340
        </member>
1341
        <member name="P:MonoLibUsb.Profile.MonoUsbProfile.ProfileHandle">
1342
            <summary>
1343
            Gets the internal profile handle need for some api calls.
1344
            </summary>
1345
        </member>
1346
        <member name="T:LibUsbDotNet.LibUsb.LibUsbDevice">
1347
            <summary> Contains members that are specific to the LibUsb-Win32 driver.
1348
            </summary> 
1349
            <remarks> Use the <see cref="T:LibUsbDotNet.UsbDevice"/> class instead to allow your code to work with either LibUsb or WinUsb.
1350
            </remarks> 
1351
        </member>
1352
        <member name="T:LibUsbDotNet.UsbDevice">
1353
            <summary>Contains non-driver specific USB device communication members.</summary>
1354
            <remarks>
1355
            This class is compatible with WinUSB, LibUsb-Win32, and linux libusb v1.x. 
1356
            Platform independent applications should only use usb device members from this class.
1357
            If more functionality is required, it is up to the application to handle multi-driver
1358
            and/or multi-platfrom requirements.
1359
            </remarks>
1360
        </member>
1361
        <member name="F:LibUsbDotNet.UsbDevice.ForceLegacyLibUsb">
1362
            <summary>
1363
 
1364
            </summary>
1365
        </member>
1366
        <member name="F:LibUsbDotNet.UsbDevice.ForceLibUsbWinBack">
1367
            <summary>
1368
            Setting this field to <see langword="true"/> will force <see cref="N:LibUsbDotNet"/> to use the <a href="http://www.libusb.org/wiki/windows_backend">Libusb-1.0 Windows-backend driver.</a>  For platforms other than windows, this setting has no effect.
1369
            </summary>
1370
            <remarks>
1371
            If this is <see langword="true"/>, <see cref="P:LibUsbDotNet.UsbDevice.AllDevices"/> will return only <see cref="T:LibUsbDotNet.LudnMonoLibUsb.MonoUsbDevice"/>s in the list.
1372
            </remarks>
1373
        </member>
1374
        <member name="M:LibUsbDotNet.UsbDevice.Close">
1375
            <summary>
1376
            Closes the <see cref="T:LibUsbDotNet.UsbDevice"/> and disposes any <see cref="P:LibUsbDotNet.UsbDevice.ActiveEndpoints"/>.
1377
            </summary>
1378
            <returns>True on success.</returns>
1379
        </member>
1380
        <member name="M:LibUsbDotNet.UsbDevice.Open">
1381
            <summary>
1382
             Opens the USB device handle.
1383
            </summary>
1384
            <returns>
1385
            True if the device is already opened or was opened successfully.
1386
            False if the device does not exists or is no longer valid.  
1387
            </returns>
1388
        </member>
1389
        <member name="M:LibUsbDotNet.UsbDevice.ControlTransfer(LibUsbDotNet.Main.UsbSetupPacket@,System.IntPtr,System.Int32,System.Int32@)">
1390
            <summary>
1391
            Transmits control data over a default control endpoint.
1392
            </summary>
1393
            <param name="setupPacket">An 8-byte setup packet which contains parameters for the control request. 
1394
            See section 9.3 USB Device Requests of the Universal Serial Bus Specification Revision 2.0 for more information. </param>
1395
            <param name="buffer">Data to be sent/received from the device.</param>
1396
            <param name="bufferLength">Length of the buffer param.</param>
1397
            <param name="lengthTransferred">Number of bytes sent or received (depends on the direction of the control transfer).</param>
1398
            <returns>True on success.</returns>
1399
        </member>
1400
        <member name="M:LibUsbDotNet.UsbDevice.ControlTransfer(LibUsbDotNet.Main.UsbSetupPacket@,System.Object,System.Int32,System.Int32@)">
1401
            <summary>
1402
            Transmits control data over a default control endpoint.
1403
            </summary>
1404
            <param name="setupPacket">An 8-byte setup packet which contains parameters for the control request. 
1405
            See section 9.3 USB Device Requests of the Universal Serial Bus Specification Revision 2.0 for more information. </param>
1406
            <param name="buffer">Data to be sent/received from the device.</param>
1407
            <param name="bufferLength">Length of the buffer param.</param>
1408
            <param name="lengthTransferred">Number of bytes sent or received (depends on the direction of the control transfer).</param>
1409
            <returns>True on success.</returns>
1410
        </member>
1411
        <member name="M:LibUsbDotNet.UsbDevice.GetConfiguration(System.Byte@)">
1412
            <summary>
1413
            Gets the USB devices active configuration value. 
1414
            </summary>
1415
            <param name="config">The active configuration value. A zero value means the device is not configured and a non-zero value indicates the device is configured.</param>
1416
            <returns>True on success.</returns>
1417
        </member>
1418
        <member name="M:LibUsbDotNet.UsbDevice.GetDescriptor(System.Byte,System.Byte,System.Int16,System.IntPtr,System.Int32,System.Int32@)">
1419
            <summary>
1420
            Gets a descriptor from the device. See <see cref="T:LibUsbDotNet.Descriptors.DescriptorType"/> for more information.
1421
            </summary>
1422
            <param name="descriptorType">The descriptor type ID to retrieve; this is usually one of the <see cref="T:LibUsbDotNet.Descriptors.DescriptorType"/> enumerations.</param>
1423
            <param name="index">Descriptor index.</param>
1424
            <param name="langId">Descriptor language id.</param>
1425
            <param name="buffer">Memory to store the returned descriptor in.</param>
1426
            <param name="bufferLength">Length of the buffer parameter in bytes.</param>
1427
            <param name="transferLength">The number of bytes transferred to buffer upon success.</param>
1428
            <returns>True on success.</returns>
1429
        </member>
1430
        <member name="M:LibUsbDotNet.UsbDevice.OpenEndpointWriter(LibUsbDotNet.Main.WriteEndpointID)">
1431
            <summary>
1432
            Opens a <see cref="F:LibUsbDotNet.Main.EndpointType.Bulk"/> endpoint for writing
1433
            </summary>
1434
            <param name="writeEndpointID">Endpoint number for read operations.</param>
1435
            <returns>A <see cref="T:LibUsbDotNet.UsbEndpointWriter"/> class ready for writing. If the specified endpoint is already been opened, the original <see cref="T:LibUsbDotNet.UsbEndpointWriter"/> class is returned.</returns>
1436
        </member>
1437
        <member name="M:LibUsbDotNet.UsbDevice.OpenEndpointWriter(LibUsbDotNet.Main.WriteEndpointID,LibUsbDotNet.Main.EndpointType)">
1438
            <summary>
1439
            Opens an endpoint for writing
1440
            </summary>
1441
            <param name="writeEndpointID">Endpoint number for read operations.</param>
1442
            <param name="endpointType">The type of endpoint to open.</param>
1443
            <returns>A <see cref="T:LibUsbDotNet.UsbEndpointWriter"/> class ready for writing. If the specified endpoint is already been opened, the original <see cref="T:LibUsbDotNet.UsbEndpointWriter"/> class is returned.</returns>
1444
        </member>
1445
        <member name="M:LibUsbDotNet.UsbDevice.GetDescriptor(System.Byte,System.Byte,System.Int16,System.Object,System.Int32,System.Int32@)">
1446
            <summary>
1447
            Gets a descriptor from the device. See <see cref="T:LibUsbDotNet.Descriptors.DescriptorType"/> for more information.
1448
            </summary>
1449
            <param name="descriptorType">The descriptor type ID to retrieve; this is usually one of the <see cref="T:LibUsbDotNet.Descriptors.DescriptorType"/> enumerations.</param>
1450
            <param name="index">Descriptor index.</param>
1451
            <param name="langId">Descriptor language id.</param>
1452
            <param name="buffer">Memory to store the returned descriptor in.</param>
1453
            <param name="bufferLength">Length of the buffer parameter in bytes.</param>
1454
            <param name="transferLength">The number of bytes transferred to buffer upon success.</param>
1455
            <returns>True on success.</returns>
1456
        </member>
1457
        <member name="M:LibUsbDotNet.UsbDevice.GetLangIDs(System.Int16[]@)">
1458
            <summary>
1459
            Asking for the zero'th index is special - it returns a string
1460
            descriptor that contains all the language IDs supported by the
1461
            device. Typically there aren't many - often only one. The
1462
            language IDs are 16 bit numbers, and they start at the third byte
1463
            in the descriptor. See USB 2.0 specification, section 9.6.7, for
1464
            more information on this. 
1465
            </summary>
1466
            <returns>A collection of LCIDs that the current <see cref="T:LibUsbDotNet.UsbDevice"/> supports.</returns>
1467
        </member>
1468
        <member name="M:LibUsbDotNet.UsbDevice.GetString(System.String@,System.Int16,System.Byte)">
1469
            <summary>
1470
            Gets a <see cref="F:LibUsbDotNet.Descriptors.DescriptorType.String"/> descriptor from the device.
1471
            </summary>
1472
            <param name="stringData">Buffer to store the returned string in upon success.</param>
1473
            <param name="langId">The language ID to retrieve the string in. (0x409 for english).</param>
1474
            <param name="stringIndex">The string index to retrieve.</param>
1475
            <returns>True on success.</returns>
1476
        </member>
1477
        <member name="M:LibUsbDotNet.UsbDevice.OpenEndpointReader(LibUsbDotNet.Main.ReadEndpointID)">
1478
            <summary>
1479
            Opens a <see cref="F:LibUsbDotNet.Main.EndpointType.Bulk"/> endpoint for reading
1480
            </summary>
1481
            <param name="readEndpointID">Endpoint number for read operations.</param>
1482
            <returns>A <see cref="T:LibUsbDotNet.UsbEndpointReader"/> class ready for reading. If the specified endpoint is already been opened, the original <see cref="T:LibUsbDotNet.UsbEndpointReader"/> class is returned.</returns>
1483
        </member>
1484
        <member name="M:LibUsbDotNet.UsbDevice.OpenEndpointReader(LibUsbDotNet.Main.ReadEndpointID,System.Int32)">
1485
            <summary>
1486
            Opens a <see cref="F:LibUsbDotNet.Main.EndpointType.Bulk"/> endpoint for reading
1487
            </summary>
1488
            <param name="readEndpointID">Endpoint number for read operations.</param>
1489
            <param name="readBufferSize">Size of the read buffer allocated for the <see cref="E:LibUsbDotNet.UsbEndpointReader.DataReceived"/> event.</param>
1490
            <returns>A <see cref="T:LibUsbDotNet.UsbEndpointReader"/> class ready for reading. If the specified endpoint is already been opened, the original <see cref="T:LibUsbDotNet.UsbEndpointReader"/> class is returned.</returns>
1491
        </member>
1492
        <member name="M:LibUsbDotNet.UsbDevice.OpenEndpointReader(LibUsbDotNet.Main.ReadEndpointID,System.Int32,LibUsbDotNet.Main.EndpointType)">
1493
            <summary>
1494
            Opens an endpoint for reading
1495
            </summary>
1496
            <param name="readEndpointID">Endpoint number for read operations.</param>
1497
            <param name="readBufferSize">Size of the read buffer allocated for the <see cref="E:LibUsbDotNet.UsbEndpointReader.DataReceived"/> event.</param>
1498
            <param name="endpointType">The type of endpoint to open.</param>
1499
            <returns>A <see cref="T:LibUsbDotNet.UsbEndpointReader"/> class ready for reading. If the specified endpoint is already been opened, the original <see cref="T:LibUsbDotNet.UsbEndpointReader"/> class is returned.</returns>
1500
        </member>
1501
        <member name="M:LibUsbDotNet.UsbDevice.GetAltInterfaceSetting(System.Byte,System.Byte@)">
1502
            <summary>
1503
            Gets the selected alternate interface of the specified interface.
1504
            </summary>
1505
            <param name="interfaceID">The interface settings number (index) to retrieve the selected alternate interface setting for.</param>
1506
            <param name="selectedAltInterfaceID">The alternate interface setting selected for use with the specified interface.</param>
1507
            <returns>True on success.</returns>
1508
        </member>
1509
        <member name="M:LibUsbDotNet.UsbDevice.Exit">
1510
            <summary>
1511
            De-initializes the USB driver. 
1512
            </summary>
1513
            <remarks>
1514
            If this method is not called before the application exits, it can cause it to hang indefinitely.
1515
            <para>Calling this method multiple times will have no effect.</para>
1516
            </remarks>
1517
        </member>
1518
        <member name="M:LibUsbDotNet.UsbDevice.OpenUsbDevice(LibUsbDotNet.Main.UsbDeviceFinder)">
1519
            <summary>
1520
            Opens the usb device that matches the <see cref="T:LibUsbDotNet.Main.UsbDeviceFinder"/>.
1521
            </summary>
1522
            <param name="usbDeviceFinder">The <see cref="T:LibUsbDotNet.Main.UsbDeviceFinder"/> class used to find the usb device.</param>
1523
            <returns>An valid/open usb device class if the device was found or Null if the device was not found.</returns>
1524
        </member>
1525
        <member name="M:LibUsbDotNet.UsbDevice.OpenUsbDevice(System.Predicate{LibUsbDotNet.Main.UsbRegistry})">
1526
            <summary>
1527
            Opens the usb device that matches the find predicate.
1528
            </summary>
1529
            <param name="findDevicePredicate">The predicate function used to find the usb device.</param>
1530
            <returns>An valid/open usb device class if the device was found or Null if the device was not found.</returns>
1531
        </member>
1532
        <member name="M:LibUsbDotNet.UsbDevice.OpenUsbDevice(System.Guid@,LibUsbDotNet.UsbDevice@)">
1533
            <summary>
1534
            Opens a WinUsb device by its DeviceInterfaceGUID.
1535
            </summary>
1536
            <remarks>
1537
            This is the Microsoft-recommended way for opening a WinUsb device.  
1538
            LibUsb device can be opened in this way as well.  In order to open
1539
            LibUsb devices in this manner, an entry must be added to the driver
1540
            inf file:
1541
            <para>[Install.HW]</para>
1542
            <para>Addreg=Add_LibUsb_Guid_Reg</para>
1543
            <para>[Add_LibUsb_Guid_Reg]</para>
1544
            <para>HKR,,LibUsbInterfaceGUIDs,0x10000,"{Your-Unique-Guid-String}"</para>
1545
            </remarks>
1546
            <param name="devInterfaceGuid">Device Interface GUID of the usb device to open.</param>
1547
            <param name="usbDevice">On success, a new <see cref="T:LibUsbDotNet.UsbDevice"/> instance.</param>
1548
            <returns>True on success.</returns>
1549
        </member>
1550
        <member name="P:LibUsbDotNet.UsbDevice.AllWinUsbDevices">
1551
            <summary>
1552
            Gets a list of all available WinUSB USB devices.
1553
            </summary>
1554
            <remarks>
1555
            On windows, gets a list of WinUSB devices. On linux always returns null.
1556
            <para>
1557
            Using the <see cref="P:LibUsbDotNet.UsbDevice.AllDevices"/> property instead will ensure your source code is platform-independent.
1558
            </para>
1559
            </remarks>
1560
        </member>
1561
        <member name="P:LibUsbDotNet.UsbDevice.HasLibUsbDriver">
1562
            <summary>
1563
            True if the LibUsb driver is found on the system.
1564
            </summary>
1565
        </member>
1566
        <member name="P:LibUsbDotNet.UsbDevice.HasWinUsbDriver">
1567
            <summary>
1568
            True if the WinUSB API is available.
1569
            </summary>
1570
            <remarks>
1571
            </remarks>
1572
        </member>
1573
        <member name="P:LibUsbDotNet.UsbDevice.HasLibUsbWinBackDriver">
1574
            <summary>
1575
            True if the libusb-1.0 API is available.
1576
            </summary>
1577
        </member>
1578
        <member name="P:LibUsbDotNet.UsbDevice.IsLinux">
1579
            <summary>
1580
             Returns true if the system is a linux/unix-like operating system. 
1581
            </summary>
1582
            <exception cref="T:System.NotSupportedException"></exception>
1583
        </member>
1584
        <member name="P:LibUsbDotNet.UsbDevice.KernelType">
1585
            <summary>
1586
            Gets the kernel driver type in use by LibUsbDotNet. 
1587
            If <see cref="F:LibUsbDotNet.LibUsb.LibUsbKernelType.NativeLibUsb"/> is returned, LibUsbDotNet using using its
1588
            native kernel driver.  Basic usb device information is retreived from the windows registry
1589
            which reduces USB IO overhead. 
1590
            If <see cref="F:LibUsbDotNet.LibUsb.LibUsbKernelType.LegacyLibUsb"/> is returned, LibUsbDotNet is using the orginal kernel
1591
            available at the libusb-win32.sourceforge.net page and true windows registry support
1592
            is unavailable.
1593
            Under linux, <see cref="F:LibUsbDotNet.LibUsb.LibUsbKernelType.MonoLibUsb"/> is always returned.
1594
            </summary>
1595
        </member>
1596
        <member name="P:LibUsbDotNet.UsbDevice.KernelVersion">
1597
            <summary>
1598
            Gets the kernel driver version in use by LibUsbDotNet.
1599
            <alert class="note"><para>
1600
            if <see cref="F:LibUsbDotNet.Main.UsbKernelVersion.BcdLibUsbDotNetKernelMod"/> is non-zero then the kernel driver is native.
1601
            </para></alert>
1602
            </summary>
1603
        </member>
1604
        <member name="P:LibUsbDotNet.UsbDevice.OSVersion">
1605
            <summary>
1606
             Gets a <see cref="T:System.OperatingSystem"/> object that contains the current platform identifier and version number.
1607
            </summary>
1608
        </member>
1609
        <member name="P:LibUsbDotNet.UsbDevice.Configs">
1610
            <summary>
1611
             Gets all available configurations for this <see cref="T:LibUsbDotNet.UsbDevice"/>
1612
            </summary>
1613
             <remarks>
1614
             The first time this property is accessed it will query the <see cref="T:LibUsbDotNet.UsbDevice"/> for all configurations.
1615
             Subsequent request will return a cached copy of all configurations.
1616
             </remarks>
1617
        </member>
1618
        <member name="P:LibUsbDotNet.UsbDevice.Info">
1619
            <summary>
1620
            Gets the actual device descriptor the the current <see cref="T:LibUsbDotNet.UsbDevice"/>.
1621
            </summary>
1622
        </member>
1623
        <member name="P:LibUsbDotNet.UsbDevice.UsbRegistryInfo">
1624
            <summary>
1625
            Gets the <see cref="T:LibUsbDotNet.Main.UsbRegistry"/> class that opened the device, or null if the device was not opened by the <see cref="T:LibUsbDotNet.Main.UsbRegistry"/> class.
1626
            </summary>
1627
        </member>
1628
        <member name="P:LibUsbDotNet.UsbDevice.IsOpen">
1629
            <summary>
1630
            Gets a value indication if the device handle is valid.
1631
            </summary>
1632
        </member>
1633
        <member name="P:LibUsbDotNet.UsbDevice.ActiveEndpoints">
1634
            <summary>
1635
            A list of endpoints that have beened opened by this <see cref="T:LibUsbDotNet.UsbDevice"/> class.
1636
            </summary>
1637
        </member>
1638
        <member name="P:LibUsbDotNet.UsbDevice.DriverMode">
1639
            <summary>
1640
            Returns the DriverMode this USB device is using.
1641
            </summary>
1642
        </member>
1643
        <member name="P:LibUsbDotNet.UsbDevice.AllDevices">
1644
            <summary>
1645
            Gets a list of all available USB devices (WinUsb, LibUsb, Linux LibUsb v1.x).
1646
            </summary>
1647
            <remarks>
1648
            Use this property to get a list of USB device that can be accessed by LibUsbDotNet.
1649
            Using this property as opposed to <see cref="P:LibUsbDotNet.UsbDevice.AllLibUsbDevices"/> and <see cref="P:LibUsbDotNet.UsbDevice.AllWinUsbDevices"/>
1650
            will ensure your source code is platform-independent.
1651
            </remarks>
1652
        </member>
1653
        <member name="P:LibUsbDotNet.UsbDevice.AllLibUsbDevices">
1654
            <summary>
1655
            Gets a list of all available libusb-win32 USB devices.
1656
            </summary>
1657
            <remarks>
1658
            <para>
1659
            On windows, gets a list of libusb-win32 USB devices . If <see cref="F:LibUsbDotNet.UsbDevice.ForceLibUsbWinBack"/> 
1660
            is true, gets a list of libusb-1.0 devices.
1661
            </para>
1662
            <para>
1663
            On linux/mac, gets a list of libusb-1.0 devices.
1664
            </para>
1665
            </remarks>
1666
        </member>
1667
        <member name="P:LibUsbDotNet.UsbDevice.LastErrorNumber">
1668
            <summary>
1669
            Returns the last error number reported by LibUsbDotNet.
1670
            </summary>
1671
        </member>
1672
        <member name="P:LibUsbDotNet.UsbDevice.LastErrorString">
1673
            <summary>
1674
            Returns the last error string reported by LibUsbDotNet.
1675
            </summary>
1676
        </member>
1677
        <member name="E:LibUsbDotNet.UsbDevice.UsbErrorEvent">
1678
             <summary>
1679
             Global static error event for all Usb errors.
1680
             </summary>
1681
             <example>
1682
             Sample code to reset an endpoint if a critical error occurs.
1683
             <code>
1684
             // Hook the usb error handler function
1685
             UsbGlobals.UsbErrorEvent += UsbErrorEvent;
1686
            private void UsbErrorEvent(object sender, UsbError e)
1687
            {
1688
             // If the error is from a usb endpoint
1689
             if (sender is UsbEndpointBase)
1690
             {
1691
                 // If the endpoint transfer failed
1692
                 if (e.Win32ErrorNumber == 31)
1693
                 {
1694
                     // If the USB device is still open, connected, and valid
1695
                     if (usb.IsOpen)
1696
                     {
1697
                         // Try to reset then endpoint
1698
                         if (((UsbEndpointBase) sender).Reset())
1699
                         {
1700
                             // Endpoint reset successful.
1701
                             // Tell LibUsbDotNet to ignore this error and continue.
1702
                             e.Handled = true;
1703
                         }
1704
                     }
1705
                 }
1706
             }
1707
             }
1708
             </code>
1709
             </example>
1710
        </member>
1711
        <member name="T:LibUsbDotNet.UsbDevice.DriverModeType">
1712
            <summary>
1713
            Driver modes enumeration. See the UsbDevice.<see cref="P:LibUsbDotNet.UsbDevice.DriverMode"/> property.
1714
            </summary>
1715
        </member>
1716
        <member name="F:LibUsbDotNet.UsbDevice.DriverModeType.Unknown">
1717
            <summary>
1718
            Not yet determined.
1719
            </summary>
1720
        </member>
1721
        <member name="F:LibUsbDotNet.UsbDevice.DriverModeType.LibUsb">
1722
            <summary>
1723
            Using LibUsb kernel driver (Legacy or Native) on windows.
1724
            </summary>
1725
        </member>
1726
        <member name="F:LibUsbDotNet.UsbDevice.DriverModeType.WinUsb">
1727
            <summary>
1728
            Using WinUsb user-mode driver on windows.
1729
            </summary>
1730
        </member>
1731
        <member name="F:LibUsbDotNet.UsbDevice.DriverModeType.MonoLibUsb">
1732
            <summary>
1733
            Using Libusb 1.0 driver on linux.
1734
            </summary>
1735
        </member>
1736
        <member name="F:LibUsbDotNet.UsbDevice.DriverModeType.LibUsbWinBack">
1737
            <summary>
1738
            Using Libusb 1.0 windows backend driver on windows.
1739
            </summary>
1740
        </member>
1741
        <member name="T:LibUsbDotNet.IUsbDevice">
1742
            <summary>
1743
            The <see cref="T:LibUsbDotNet.IUsbDevice"/> interface contains members needed to configure a USB device for use. 
1744
            </summary>
1745
            <remarks>
1746
            Only "whole" usb devices have a <see cref="T:LibUsbDotNet.IUsbDevice"/> interface such as a 
1747
            <see cref="T:LibUsbDotNet.LibUsb.LibUsbDevice"/> or a <see cref="T:LibUsbDotNet.LudnMonoLibUsb.MonoUsbDevice"/>. This indicates
1748
            the USB device must be properly configured by the user before it can be used.
1749
            Partial or interfaces of devices such as a <see cref="T:LibUsbDotNet.WinUsb.WinUsbDevice"/> do not have an <see cref="T:LibUsbDotNet.IUsbDevice"/> 
1750
            interface. This indicates that the driver is handling device configuration.
1751
            </remarks>
1752
            <example>
1753
            This example uses the <see cref="T:LibUsbDotNet.IUsbDevice"/> interface to select the desired configuration and interface
1754
            for usb devices that require it.
1755
            <code source="..\Examples\Read.Write\ReadWrite.cs" lang="cs"/>
1756
            </example>
1757
        </member>
1758
        <member name="T:LibUsbDotNet.IUsbInterface">
1759
            <summary>
1760
            The <see cref="T:LibUsbDotNet.IUsbInterface"/> interface contains members needed communicate with an 
1761
            interface of a usb device. 
1762
            </summary>
1763
            <remarks>
1764
            All USB device classes implement these members.
1765
            </remarks>
1766
        </member>
1767
        <member name="M:LibUsbDotNet.IUsbInterface.Close">
1768
            <summary>
1769
            Closes and frees device resources.  Once closed the device cannot be reopened.  A new <see cref="T:LibUsbDotNet.UsbDevice"/> class must be obtained using the <see cref="T:LibUsbDotNet.UsbGlobals"/> class.
1770
            </summary>
1771
            <returns>True on success.</returns>
1772
        </member>
1773
        <member name="M:LibUsbDotNet.IUsbInterface.ControlTransfer(LibUsbDotNet.Main.UsbSetupPacket@,System.IntPtr,System.Int32,System.Int32@)">
1774
            <summary>
1775
            Sends/Receives an IO control message to endpoint 0.
1776
            </summary>
1777
            <param name="setupPacket">Contains parameters for the control request. See section 9.3 USB Device Requests of the Universal Serial Bus Specification Revision 2.0 for more information. </param>
1778
            <param name="buffer">Data to be sent/received from the device.</param>
1779
            <param name="bufferLength">Length of the buffer param.</param>
1780
            <param name="lengthTransferred">Number of bytes sent or received (depends on the direction of the control transfer).</param>
1781
            <returns>True on success.</returns>
1782
        </member>
1783
        <member name="M:LibUsbDotNet.IUsbInterface.ControlTransfer(LibUsbDotNet.Main.UsbSetupPacket@,System.Object,System.Int32,System.Int32@)">
1784
            <summary>
1785
            Transmits io control message to endpoint 0.
1786
            </summary>
1787
            <param name="setupPacket">Contains parameters for the control request. See section 9.3 USB Device Requests of the Universal Serial Bus Specification Revision 2.0 for more information. </param>
1788
            <param name="buffer">Data to be sent/received from the device.  Th</param>
1789
            <param name="bufferLength">Length of the buffer param.</param>
1790
            <param name="lengthTransferred">Number of bytes sent or received (depends on the direction of the control transfer).</param>
1791
            <returns>True on success.</returns>
1792
        </member>
1793
        <member name="M:LibUsbDotNet.IUsbInterface.GetDescriptor(System.Byte,System.Byte,System.Int16,System.IntPtr,System.Int32,System.Int32@)">
1794
            <summary>
1795
            Gets a specific descriptor from the device. See <see cref="T:LibUsbDotNet.Descriptors.DescriptorType"/> for more information.
1796
            </summary>
1797
            <param name="descriptorType">The descriptor type ID to retrieve; this is usually one of the <see cref="T:LibUsbDotNet.Descriptors.DescriptorType"/> enumerations.</param>
1798
            <param name="index">Descriptor index.</param>
1799
            <param name="langId">Descriptor language id.</param>
1800
            <param name="buffer">Memory to store the returned descriptor in.</param>
1801
            <param name="bufferLength">Length of the buffer parameter in bytes.</param>
1802
            <param name="transferLength">The number of bytes transferred to buffer upon success.</param>
1803
            <returns>True on success.</returns>
1804
        </member>
1805
        <member name="M:LibUsbDotNet.IUsbInterface.GetDescriptor(System.Byte,System.Byte,System.Int16,System.Object,System.Int32,System.Int32@)">
1806
            <summary>
1807
            Gets a specific descriptor from the device. See <see cref="T:LibUsbDotNet.Descriptors.DescriptorType"/> for more information.
1808
            </summary>
1809
            <param name="descriptorType">The descriptor type ID to retrieve; this is usually one of the <see cref="T:LibUsbDotNet.Descriptors.DescriptorType"/> enumerations.</param>
1810
            <param name="index">Descriptor index.</param>
1811
            <param name="langId">Descriptor language id.</param>
1812
            <param name="buffer">Memory to store the returned descriptor in.</param>
1813
            <param name="bufferLength">Length of the buffer parameter in bytes.</param>
1814
            <param name="transferLength">The number of bytes transferred to buffer upon success.</param>
1815
            <returns>True on success.</returns>
1816
        </member>
1817
        <member name="M:LibUsbDotNet.IUsbInterface.GetLangIDs(System.Int16[]@)">
1818
            <summary>
1819
            Asking for the zero'th index is special - it returns a string
1820
            descriptor that contains all the language IDs supported by the
1821
            device. Typically there aren't many - often only one. The
1822
            language IDs are 16 bit numbers, and they start at the third byte
1823
            in the descriptor. See USB 2.0 specification, section 9.6.7, for
1824
            more information on this. 
1825
            </summary>
1826
            <returns>A collection of LCIDs that the current <see cref="T:LibUsbDotNet.UsbDevice"/> supports.</returns>
1827
        </member>
1828
        <member name="M:LibUsbDotNet.IUsbInterface.GetString(System.String@,System.Int16,System.Byte)">
1829
            <summary>
1830
            Gets a string descriptor from the device.
1831
            </summary>
1832
            <param name="stringData">Buffer to store the returned string in upon success.</param>
1833
            <param name="langId">The language ID to retrieve the string in. (0x409 for english).</param>
1834
            <param name="stringIndex">The string index to retrieve.</param>
1835
            <returns>True on success.</returns>
1836
        </member>
1837
        <member name="M:LibUsbDotNet.IUsbInterface.Open">
1838
            <summary>
1839
             Opens/re-opens this USB device instance for communication.
1840
            </summary>
1841
            <returns>True if the device is already opened or was opened successfully.  False if the device does not exists or is no longer valid.</returns>
1842
        </member>
1843
        <member name="M:LibUsbDotNet.IUsbInterface.OpenEndpointReader(LibUsbDotNet.Main.ReadEndpointID,System.Int32)">
1844
            <summary>
1845
            Opens a <see cref="F:LibUsbDotNet.Main.EndpointType.Bulk"/> endpoint for reading
1846
            </summary>
1847
            <param name="readEndpointID">Endpoint number for read operations.</param>
1848
            <param name="readBufferSize">Size of the read buffer allocated for the <see cref="E:LibUsbDotNet.UsbEndpointReader.DataReceived"/> event.</param>
1849
            <returns>A <see cref="T:LibUsbDotNet.UsbEndpointReader"/> class ready for reading. If the specified endpoint is already been opened, the original <see cref="T:LibUsbDotNet.UsbEndpointReader"/> class is returned.</returns>
1850
        </member>
1851
        <member name="M:LibUsbDotNet.IUsbInterface.OpenEndpointReader(LibUsbDotNet.Main.ReadEndpointID,System.Int32,LibUsbDotNet.Main.EndpointType)">
1852
            <summary>
1853
            Opens an endpoint for reading
1854
            </summary>
1855
            <param name="readEndpointID">Endpoint number for read operations.</param>
1856
            <param name="readBufferSize">Size of the read buffer allocated for the <see cref="E:LibUsbDotNet.UsbEndpointReader.DataReceived"/> event.</param>
1857
            <param name="endpointType">The type of endpoint to open.</param>
1858
            <returns>A <see cref="T:LibUsbDotNet.UsbEndpointReader"/> class ready for reading. If the specified endpoint is already been opened, the original <see cref="T:LibUsbDotNet.UsbEndpointReader"/> class is returned.</returns>
1859
        </member>
1860
        <member name="M:LibUsbDotNet.IUsbInterface.OpenEndpointReader(LibUsbDotNet.Main.ReadEndpointID)">
1861
            <summary>
1862
            Opens a <see cref="F:LibUsbDotNet.Main.EndpointType.Bulk"/> endpoint for reading
1863
            </summary>
1864
            <param name="readEndpointID">Endpoint number for read operations.</param>
1865
            <returns>A <see cref="T:LibUsbDotNet.UsbEndpointReader"/> class ready for reading. If the specified endpoint is already been opened, the original <see cref="T:LibUsbDotNet.UsbEndpointReader"/> class is returned.</returns>
1866
        </member>
1867
        <member name="M:LibUsbDotNet.IUsbInterface.OpenEndpointWriter(LibUsbDotNet.Main.WriteEndpointID)">
1868
            <summary>
1869
            Opens a <see cref="F:LibUsbDotNet.Main.EndpointType.Bulk"/> endpoint for writing
1870
            </summary>
1871
            <param name="writeEndpointID">Endpoint number for read operations.</param>
1872
            <returns>A <see cref="T:LibUsbDotNet.UsbEndpointWriter"/> class ready for writing. If the specified endpoint is already been opened, the original <see cref="T:LibUsbDotNet.UsbEndpointWriter"/> class is returned.</returns>
1873
        </member>
1874
        <member name="M:LibUsbDotNet.IUsbInterface.OpenEndpointWriter(LibUsbDotNet.Main.WriteEndpointID,LibUsbDotNet.Main.EndpointType)">
1875
            <summary>
1876
            Opens an endpoint for writing
1877
            </summary>
1878
            <param name="writeEndpointID">Endpoint number for read operations.</param>
1879
            <param name="endpointType">The type of endpoint to open.</param>
1880
            <returns>A <see cref="T:LibUsbDotNet.UsbEndpointWriter"/> class ready for writing. If the specified endpoint is already been opened, the original <see cref="T:LibUsbDotNet.UsbEndpointWriter"/> class is returned.</returns>
1881
        </member>
1882
        <member name="P:LibUsbDotNet.IUsbInterface.ActiveEndpoints">
1883
            <summary>
1884
            A list of endpoints that have beened opened by this <see cref="T:LibUsbDotNet.UsbDevice"/> class.
1885
            </summary>
1886
        </member>
1887
        <member name="P:LibUsbDotNet.IUsbInterface.Configs">
1888
            <summary>
1889
             Gets the available configurations for this <see cref="T:LibUsbDotNet.UsbDevice"/>
1890
            </summary>
1891
             <remarks>
1892
             The first time this property is accessed it will query the <see cref="T:LibUsbDotNet.UsbDevice"/> for all configurations.  Subsequent request will return a cached copy of all configurations.
1893
             </remarks>
1894
        </member>
1895
        <member name="P:LibUsbDotNet.IUsbInterface.DriverMode">
1896
            <summary>
1897
            Returns the DriverMode this USB device is using.
1898
            </summary>
1899
        </member>
1900
        <member name="P:LibUsbDotNet.IUsbInterface.Info">
1901
            <summary>
1902
            Gets the actual device descriptor the the current <see cref="T:LibUsbDotNet.UsbDevice"/>.
1903
            </summary>
1904
        </member>
1905
        <member name="P:LibUsbDotNet.IUsbInterface.IsOpen">
1906
            <summary>
1907
            Gets a value indication if the device handle is valid.
1908
            </summary>
1909
        </member>
1910
        <member name="P:LibUsbDotNet.IUsbInterface.UsbRegistryInfo">
1911
            <summary>
1912
            Gets the <see cref="T:LibUsbDotNet.Main.UsbRegistry"/> class that opened the device, or null if the device was not opened by the <see cref="T:LibUsbDotNet.Main.UsbRegistry"/> class.
1913
            </summary>
1914
        </member>
1915
        <member name="M:LibUsbDotNet.IUsbDevice.SetConfiguration(System.Byte)">
1916
            <summary>
1917
            Sets the USB devices active configuration value. 
1918
            </summary>
1919
            <param name="config">The active configuration value. A zero value means the device is not configured and a non-zero value indicates the device is configured.</param>
1920
            <returns>True on success.</returns>
1921
            <remarks>
1922
            A USB device can have several different configurations, but only one active configuration.
1923
            </remarks>
1924
        </member>
1925
        <member name="M:LibUsbDotNet.IUsbDevice.GetConfiguration(System.Byte@)">
1926
            <summary>
1927
            Gets the USB devices active configuration value. 
1928
            </summary>
1929
            <param name="config">The active configuration value. A zero value means the device is not configured and a non-zero value indicates the device is configured.</param>
1930
            <returns>True on success.</returns>
1931
        </member>
1932
        <member name="M:LibUsbDotNet.IUsbDevice.SetAltInterface(System.Int32)">
1933
            <summary>
1934
            Sets an alternate interface for the most recent claimed interface.
1935
            </summary>
1936
            <param name="alternateID">The alternate interface to select for the most recent claimed interface See <see cref="M:LibUsbDotNet.LudnMonoLibUsb.MonoUsbDevice.ClaimInterface(System.Int32)"/>.</param>
1937
            <returns>True on success.</returns>
1938
        </member>
1939
        <member name="M:LibUsbDotNet.IUsbDevice.GetAltInterfaceSetting(System.Byte,System.Byte@)">
1940
            <summary>
1941
            Gets the selected alternate interface of the specified interface.
1942
            </summary>
1943
            <param name="interfaceID">The interface settings number (index) to retrieve the selected alternate interface setting for.</param>
1944
            <param name="selectedAltInterfaceID">The alternate interface setting selected for use with the specified interface.</param>
1945
            <returns>True on success.</returns>
1946
        </member>
1947
        <member name="M:LibUsbDotNet.IUsbDevice.ClaimInterface(System.Int32)">
1948
            <summary>
1949
            Claims the specified interface of the device.
1950
            </summary>
1951
            <param name="interfaceID">The interface to claim.</param>
1952
            <returns>True on success.</returns>
1953
        </member>
1954
        <member name="M:LibUsbDotNet.IUsbDevice.ReleaseInterface(System.Int32)">
1955
            <summary>
1956
            Releases an interface that was previously claimed with <see cref="M:LibUsbDotNet.IUsbDevice.ClaimInterface(System.Int32)"/>.
1957
            </summary>
1958
            <param name="interfaceID">The interface to release.</param>
1959
            <returns>True on success.</returns>
1960
        </member>
1961
        <member name="M:LibUsbDotNet.IUsbDevice.ResetDevice">
1962
            <summary>
1963
            Sends a usb device reset command.
1964
            </summary>
1965
            <remarks>
1966
            After calling <see cref="M:LibUsbDotNet.IUsbDevice.ResetDevice"/>, the <see cref="T:LibUsbDotNet.UsbDevice"/> instance is disposed and
1967
            no longer usable.  A new <see cref="T:LibUsbDotNet.UsbDevice"/> instance must be obtained from the device list.
1968
            </remarks>
1969
            <returns>True on success.</returns>
1970
        </member>
1971
        <member name="M:LibUsbDotNet.LibUsb.LibUsbDevice.Open">
1972
            <summary>
1973
             Opens the USB device handle.
1974
            </summary>
1975
            <returns>
1976
            True if the device is already opened or was opened successfully.
1977
            False if the device does not exists or is no longer valid.  
1978
            </returns>
1979
        </member>
1980
        <member name="M:LibUsbDotNet.LibUsb.LibUsbDevice.ClaimInterface(System.Int32)">
1981
            <summary>
1982
            Claims the specified interface of the device.
1983
            </summary>
1984
            <param name="interfaceID">The interface to claim.</param>
1985
            <returns>True on success.</returns>
1986
        </member>
1987
        <member name="M:LibUsbDotNet.LibUsb.LibUsbDevice.Close">
1988
            <summary>
1989
            Closes the <see cref="T:LibUsbDotNet.UsbDevice"/> and disposes any <see cref="P:LibUsbDotNet.UsbDevice.ActiveEndpoints"/>.
1990
            </summary>
1991
            <returns>True on success.</returns>
1992
        </member>
1993
        <member name="M:LibUsbDotNet.LibUsb.LibUsbDevice.ReleaseInterface(System.Int32)">
1994
            <summary>
1995
            Releases an interface that was previously claimed with <see cref="M:LibUsbDotNet.LibUsb.LibUsbDevice.ClaimInterface(System.Int32)"/>.
1996
            </summary>
1997
            <param name="interfaceID">The interface to release.</param>
1998
            <returns>True on success.</returns>
1999
        </member>
2000
        <member name="M:LibUsbDotNet.LibUsb.LibUsbDevice.SetAltInterface(System.Int32)">
2001
            <summary>
2002
            Sets an alternate interface for the most recent claimed interface.
2003
            </summary>
2004
            <param name="alternateID">The alternate interface to select for the most recent claimed interface See <see cref="M:LibUsbDotNet.LibUsb.LibUsbDevice.ClaimInterface(System.Int32)"/>.</param>
2005
            <returns>True on success.</returns>
2006
        </member>
2007
        <member name="M:LibUsbDotNet.LibUsb.LibUsbDevice.SetConfiguration(System.Byte)">
2008
            <summary>
2009
            Sets the USB devices active configuration value. 
2010
            </summary>
2011
            <param name="config">The active configuration value. A zero value means the device is not configured and a non-zero value indicates the device is configured.</param>
2012
            <returns>True on success.</returns>
2013
            <remarks>
2014
            A USB device can have several different configurations, but only one active configuration.
2015
            </remarks>
2016
        </member>
2017
        <member name="M:LibUsbDotNet.LibUsb.LibUsbDevice.Open(System.String,LibUsbDotNet.LibUsb.LibUsbDevice@)">
2018
            <summary>
2019
            Opens the USB device for communucation.
2020
            </summary>
2021
            <param name="deviceFilename">The LibUsb device filename to open.</param>
2022
            <param name="usbDevice">The newly created UsbDevice.</param>
2023
            <returns>True on success.</returns>
2024
        </member>
2025
        <member name="M:LibUsbDotNet.LibUsb.LibUsbDevice.ReleaseAllInterfaces">
2026
            <summary>
2027
            Releases all interface claimed by <see cref="M:LibUsbDotNet.LibUsb.LibUsbDevice.ClaimInterface(System.Int32)"/>.
2028
            </summary>
2029
            <returns>True on success.</returns>
2030
        </member>
2031
        <member name="M:LibUsbDotNet.LibUsb.LibUsbDevice.ReleaseInterface">
2032
            <summary>
2033
            Releases the last interface claimed by <see cref="M:LibUsbDotNet.LibUsb.LibUsbDevice.ClaimInterface(System.Int32)"/>.
2034
            </summary>
2035
            <returns>True on success.</returns>
2036
        </member>
2037
        <member name="M:LibUsbDotNet.LibUsb.LibUsbDevice.SetAltInterface(System.Int32,System.Int32)">
2038
            <summary>
2039
            Sets an alternate interface for the specified interface.
2040
            </summary>
2041
            <param name="interfaceID">The interface index to specify an alternate setting for.</param>
2042
            <param name="alternateID">The alternate interface setting.</param>
2043
            <returns>True on success.</returns>
2044
        </member>
2045
        <member name="M:LibUsbDotNet.LibUsb.LibUsbDevice.ResetDevice">
2046
            <summary>
2047
            Sends a usb device reset command.
2048
            </summary>
2049
            <remarks>
2050
            After calling <see cref="M:LibUsbDotNet.LibUsb.LibUsbDevice.ResetDevice"/>, the <see cref="T:LibUsbDotNet.LibUsb.LibUsbDevice"/> instance is disposed and
2051
            no longer usable.  A new <see cref="T:LibUsbDotNet.LibUsb.LibUsbDevice"/> instance must be obtained from the device list.
2052
            </remarks>
2053
            <returns>True on success.</returns>
2054
        </member>
2055
        <member name="P:LibUsbDotNet.LibUsb.LibUsbDevice.LegacyLibUsbDeviceList">
2056
            <summary>
2057
            Gets a list of libusb devices directly from the kernel; bypassing the windows registry.  
2058
            This function is intended for users that do not use the native kernel driver.  
2059
            If using the native kernel (sys) driver supplied with LibUsbDotNet see the <see cref="P:LibUsbDotNet.UsbDevice.AllDevices"/>.
2060
            <seealso cref="T:LibUsbDotNet.UsbGlobals"/>
2061
            <seealso cref="P:LibUsbDotNet.UsbDevice.AllLibUsbDevices"/>
2062
            <seealso cref="P:LibUsbDotNet.UsbDevice.AllWinUsbDevices"/>
2063
            <seealso cref="M:LibUsbDotNet.UsbDevice.OpenUsbDevice(LibUsbDotNet.Main.UsbDeviceFinder)"/>
2064
            </summary>
2065
        </member>
2066
        <member name="P:LibUsbDotNet.LibUsb.LibUsbDevice.DeviceFilename">
2067
            <summary>
2068
            Gets the Device filename for this device.
2069
            </summary>
2070
        </member>
2071
        <member name="P:LibUsbDotNet.LibUsb.LibUsbDevice.DriverMode">
2072
            <summary>
2073
            Returns the DriverMode this USB device is using.
2074
            </summary>
2075
        </member>
2076
        <member name="T:MonoLibUsb.Transfer.MonoUsbControlSetup">
2077
            <summary>
2078
            Reads/writes a Libusb-1.0 control setup packet pointer.  Control setup packets should be allocated with <see cref="T:MonoLibUsb.Transfer.MonoUsbControlSetupHandle"/>.
2079
            </summary>
2080
            <remarks>
2081
            <para>This class that reads and writes values directly from/to the setup packet <see cref="T:System.IntPtr"/> using <see cref="T:System.Runtime.InteropServices.Marshal"/>.</para>
2082
            <note type="tip">This type is used for asynchronous control transfers only.</note>
2083
            </remarks>
2084
            <seealso cref="T:MonoLibUsb.Transfer.MonoUsbControlSetupHandle"/>
2085
        </member>
2086
        <member name="F:MonoLibUsb.Transfer.MonoUsbControlSetup.SETUP_PACKET_SIZE">
2087
            <summary>
2088
            Size of a Libusb-1.0 setup packet.
2089
            </summary>
2090
        </member>
2091
        <member name="M:MonoLibUsb.Transfer.MonoUsbControlSetup.#ctor(System.IntPtr)">
2092
            <summary>
2093
            Creates a <see cref="T:MonoLibUsb.Transfer.MonoUsbControlSetup"/> structure for a control setup packet pointer.
2094
            </summary>
2095
            <remarks>
2096
            The <paramref name="pControlSetup"/> pointer must be a pointer in memory to a valid Libusb-1.0 <a href="http://libusb.sourceforge.net/api-1.0/structlibusb__control__setup.html">libusb__control__setup</a> that was allocated with <see cref="T:MonoLibUsb.Transfer.MonoUsbControlSetupHandle"/>.
2097
            </remarks>
2098
            <param name="pControlSetup">Pointer to the setup packet.  This will usually be <see cref="P:MonoLibUsb.Transfer.MonoUsbTransfer.PtrBuffer">MonoUsbTransfer.PtrBuffer</see></param>
2099
        </member>
2100
        <member name="M:MonoLibUsb.Transfer.MonoUsbControlSetup.SetData(System.Object,System.Int32,System.Int32)">
2101
            <summary>
2102
            Copies data into <see cref="P:MonoLibUsb.Transfer.MonoUsbControlSetup.PtrData"/>.
2103
            </summary>
2104
            <param name="data">
2105
            <para>Data buffer to copy into <see cref="P:MonoLibUsb.Transfer.MonoUsbControlSetup.PtrData"/>for an output control transfer.</para>
2106
            This value can be:
2107
            <list type="bullet">
2108
            <item>An <see cref="T:System.Array"/> of bytes or other <a href="http://msdn.microsoft.com/en-us/library/75dwhxf7.aspx">blittable</a> types.</item>
2109
            <item>An already allocated, pinned <see cref="T:System.Runtime.InteropServices.GCHandle"/>. In this case <see cref="M:System.Runtime.InteropServices.GCHandle.AddrOfPinnedObject"/> is used for the buffer address.</item>
2110
            <item>An <see cref="T:System.IntPtr"/>.</item>
2111
            </list>
2112
            </param>
2113
            <param name="offset">The offset in <paramref name="data"/> to begin copying.</param>
2114
            <param name="length">Number of to copy.</param>
2115
        </member>
2116
        <member name="M:MonoLibUsb.Transfer.MonoUsbControlSetup.GetData(System.Int32)">
2117
            <summary>
2118
            Gets control data as bytes.
2119
            </summary>
2120
            <param name="transferLength">The number of bytes to copy out of <see cref="P:MonoLibUsb.Transfer.MonoUsbControlSetup.PtrData"/>. This will usually come from <see cref="P:MonoLibUsb.Transfer.MonoUsbTransfer.ActualLength">MonoUsbTransfer.ActualLength</see>.</param>
2121
            <returns>A new byte array of control data.</returns>
2122
        </member>
2123
        <member name="P:MonoLibUsb.Transfer.MonoUsbControlSetup.RequestType">
2124
            <summary>
2125
            The request type.
2126
            </summary>
2127
        </member>
2128
        <member name="P:MonoLibUsb.Transfer.MonoUsbControlSetup.Request">
2129
            <summary>
2130
            The request.
2131
            </summary>
2132
        </member>
2133
        <member name="P:MonoLibUsb.Transfer.MonoUsbControlSetup.Value">
2134
            <summary>
2135
            The wValue.
2136
            </summary>
2137
            <remarks>
2138
            <note type="tip">The get/set accessors automatically manage the little-endian to host-endian/host-endian to little-endian conversions using the <see cref="M:LibUsbDotNet.Main.Helper.HostEndianToLE16(System.Int16)"/> method.</note>
2139
            </remarks>
2140
        </member>
2141
        <member name="P:MonoLibUsb.Transfer.MonoUsbControlSetup.Index">
2142
            <summary>
2143
            The wIndex.
2144
            </summary>
2145
            <remarks>
2146
            <note type="tip">The get/set accessors automatically manage the little-endian to host-endian/host-endian to little-endian conversions using the <see cref="M:LibUsbDotNet.Main.Helper.HostEndianToLE16(System.Int16)"/> method.</note>
2147
            </remarks>
2148
        </member>
2149
        <member name="P:MonoLibUsb.Transfer.MonoUsbControlSetup.Length">
2150
            <summary>
2151
            Number of bytes to transfer. 
2152
            </summary>
2153
            <remarks>
2154
            <note type="tip">The get/set accessors automatically manage the little-endian to host-endian/host-endian to little-endian conversions using the <see cref="M:LibUsbDotNet.Main.Helper.HostEndianToLE16(System.Int16)"/> method.</note>
2155
            </remarks>
2156
        </member>
2157
        <member name="P:MonoLibUsb.Transfer.MonoUsbControlSetup.PtrData">
2158
            <summary>
2159
            Gets a pointer to the control data buffer.
2160
            </summary>
2161
            <remarks>This is the <see cref="T:System.IntPtr"/> to the control data inside of the setup packet, not to the setup packet itself.</remarks>
2162
        </member>
2163
        <member name="T:LibUsbDotNet.Info.UsbConfigInfo">
2164
            <summary> Contains all Configuration information for the current <see cref="T:LibUsbDotNet.UsbDevice"/>.
2165
            </summary> 
2166
        </member>
2167
        <member name="T:LibUsbDotNet.Info.UsbBaseInfo">
2168
            <summary> Base class for all Usb descriptors.
2169
                    <see cref="T:LibUsbDotNet.Info.UsbConfigInfo"/>, <see cref="T:LibUsbDotNet.Info.UsbEndpointInfo"/>, <see cref="T:LibUsbDotNet.Info.UsbInterfaceInfo"/></summary>
2170
            <remarks><p>LibUsbDotNet supports and parses all the basic usb descriptors.</p><p>
2171
                      Unknown descriptors such as driver specific class descriptors are stored as byte arrays and are accessible from the <see cref="P:LibUsbDotNet.Info.UsbBaseInfo.CustomDescriptors"/> property.
2172
                    </p></remarks>
2173
        </member>
2174
        <member name="P:LibUsbDotNet.Info.UsbBaseInfo.CustomDescriptors">
2175
            <summary>
2176
            Gets the device-specific custom descriptor lists.
2177
            </summary>
2178
        </member>
2179
        <member name="M:LibUsbDotNet.Info.UsbConfigInfo.ToString">
2180
            <summary>
2181
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.Info.UsbConfigInfo"/>.
2182
            </summary>
2183
 
2184
            <returns>
2185
            A <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.Info.UsbConfigInfo"/>.
2186
            </returns>
2187
        </member>
2188
        <member name="M:LibUsbDotNet.Info.UsbConfigInfo.ToString(System.String,System.String,System.String)">
2189
            <summary>
2190
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.Info.UsbConfigInfo"/>.
2191
            </summary>
2192
 
2193
            <param name="prefixSeperator">The field prefix string.</param>
2194
            <param name="entitySperator">The field/value seperator string.</param>
2195
            <param name="suffixSeperator">The value suffix string.</param>
2196
            <returns>A formatted representation of the <see cref="T:LibUsbDotNet.Info.UsbConfigInfo"/>.</returns>
2197
        </member>
2198
        <member name="P:LibUsbDotNet.Info.UsbConfigInfo.Descriptor">
2199
            <summary>
2200
            Gets the actual <see cref="T:LibUsbDotNet.Descriptors.UsbConfigDescriptor"/> for the current config.
2201
            </summary>
2202
        </member>
2203
        <member name="P:LibUsbDotNet.Info.UsbConfigInfo.ConfigString">
2204
            <summary>
2205
            Gets the string representation of the <see cref="F:LibUsbDotNet.Descriptors.UsbConfigDescriptor.StringIndex"/> string index.
2206
            </summary>
2207
        </member>
2208
        <member name="P:LibUsbDotNet.Info.UsbConfigInfo.InterfaceInfoList">
2209
            <summary>
2210
            Gets the collection of USB device interfaces associated with this <see cref="T:LibUsbDotNet.Info.UsbConfigInfo"/> instance.
2211
            </summary>
2212
        </member>
2213
        <member name="T:LibUsbDotNet.DeviceNotify.EventType">
2214
            <summary> 
2215
            Type of notification event.
2216
            </summary> 
2217
        </member>
2218
        <member name="F:LibUsbDotNet.DeviceNotify.EventType.CustomEvent">
2219
            <summary>
2220
            A custom event has occurred.
2221
            </summary>
2222
        </member>
2223
        <member name="F:LibUsbDotNet.DeviceNotify.EventType.DeviceArrival">
2224
            <summary>
2225
            A device or piece of media has been inserted and is now available.
2226
            </summary>
2227
        </member>
2228
        <member name="F:LibUsbDotNet.DeviceNotify.EventType.DeviceQueryRemove">
2229
            <summary>
2230
            Permission is requested to remove a device or piece of media. Any application can deny this request and cancel the removal.
2231
            </summary>
2232
        </member>
2233
        <member name="F:LibUsbDotNet.DeviceNotify.EventType.DeviceQueryRemoveFailed">
2234
            <summary>
2235
            A request to remove a device or piece of media has been canceled.
2236
            </summary>
2237
        </member>
2238
        <member name="F:LibUsbDotNet.DeviceNotify.EventType.DeviceRemoveComplete">
2239
            <summary>
2240
            A device or piece of media has been removed.
2241
            </summary>
2242
        </member>
2243
        <member name="F:LibUsbDotNet.DeviceNotify.EventType.DeviceRemovePending">
2244
            <summary>
2245
            A device or piece of media is about to be removed. Cannot be denied.
2246
            </summary>
2247
        </member>
2248
        <member name="F:LibUsbDotNet.DeviceNotify.EventType.DeviceTypeSpecific">
2249
            <summary>
2250
            A device-specific event has occurred.
2251
            </summary>
2252
        </member>
2253
        <member name="T:LibUsbDotNet.UsbGlobals">
2254
            <summary> 
2255
            Static class for opening, enumerating and finding USB devices.  
2256
            </summary> 
2257
        </member>
2258
        <member name="T:LibUsbDotNet.Main.UsbEndpointList">
2259
            <summary> Endpoint list.
2260
            </summary> 
2261
        </member>
2262
        <member name="M:LibUsbDotNet.Main.UsbEndpointList.GetEnumerator">
2263
            <summary>
2264
            Returns <see cref="T:LibUsbDotNet.Main.UsbEndpointBase"/> enumerator that iterates through the collection.
2265
            </summary>
2266
 
2267
            <returns>
2268
            A <see cref="T:LibUsbDotNet.Main.UsbEndpointBase"/> enumerator that can be used to iterate through the collection.
2269
            </returns>
2270
        </member>
2271
        <member name="M:LibUsbDotNet.Main.UsbEndpointList.System#Collections#IEnumerable#GetEnumerator">
2272
            <summary>
2273
            Returns an enumerator that iterates through a collection.
2274
            </summary>
2275
 
2276
            <returns>
2277
            An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
2278
            </returns>
2279
            <filterpriority>2</filterpriority>
2280
        </member>
2281
        <member name="M:LibUsbDotNet.Main.UsbEndpointList.Clear">
2282
            <summary>
2283
            Removes all items from the <see cref="T:LibUsbDotNet.Main.UsbEndpointList"/>.
2284
            </summary>
2285
        </member>
2286
        <member name="M:LibUsbDotNet.Main.UsbEndpointList.Contains(LibUsbDotNet.Main.UsbEndpointBase)">
2287
            <summary>
2288
            Determines whether the <see cref="T:LibUsbDotNet.Main.UsbEndpointList"/> contains a specific value.
2289
            </summary>
2290
 
2291
            <returns>
2292
            true if item is found in the <see cref="T:LibUsbDotNet.Main.UsbEndpointList"/>; otherwise, false.
2293
            </returns>
2294
 
2295
            <param name="item">The <see cref="T:LibUsbDotNet.Main.UsbEndpointBase"/> to locate in the <see cref="T:LibUsbDotNet.Main.UsbEndpointList"/>.</param>
2296
        </member>
2297
        <member name="M:LibUsbDotNet.Main.UsbEndpointList.IndexOf(LibUsbDotNet.Main.UsbEndpointBase)">
2298
            <summary>
2299
            Determines the index of a specific <see cref="T:LibUsbDotNet.Main.UsbEndpointBase"/> in the <see cref="T:LibUsbDotNet.Main.UsbEndpointList"/>.
2300
            </summary>
2301
 
2302
            <returns>
2303
            The index of item if found in the list; otherwise, -1.
2304
            </returns>
2305
 
2306
            <param name="item">The <see cref="T:LibUsbDotNet.Main.UsbEndpointBase"/> to locate in the <see cref="T:LibUsbDotNet.Main.UsbEndpointList"/>.</param>
2307
        </member>
2308
        <member name="M:LibUsbDotNet.Main.UsbEndpointList.Remove(LibUsbDotNet.Main.UsbEndpointBase)">
2309
            <summary>
2310
            Removes the specified <see cref="T:LibUsbDotNet.Main.UsbEndpointBase"/> in the <see cref="T:LibUsbDotNet.Main.UsbEndpointList"/>.
2311
            </summary>
2312
 
2313
            <param name="item">The <see cref="T:LibUsbDotNet.Main.UsbEndpointBase"/> to remove in the <see cref="T:LibUsbDotNet.Main.UsbEndpointList"/>.</param>
2314
        </member>
2315
        <member name="M:LibUsbDotNet.Main.UsbEndpointList.RemoveAt(System.Int32)">
2316
            <summary>
2317
            Removes the <see cref="T:LibUsbDotNet.Main.UsbEndpointList"/> item at the specified index.
2318
            </summary>
2319
 
2320
            <param name="index">The zero-based index of the item to remove.</param>
2321
            <exception cref="T:System.ArgumentOutOfRangeException">index is not a valid index in the <see cref="T:LibUsbDotNet.Main.UsbEndpointList"/>.</exception>
2322
        </member>
2323
        <member name="P:LibUsbDotNet.Main.UsbEndpointList.Item(System.Int32)">
2324
             <summary>
2325
             Gets the <see cref="T:LibUsbDotNet.Main.UsbEndpointBase"/> item at the specified index.
2326
             </summary>
2327
             <param name="index">The zero-based index of the item.</param>
2328
             <returns>The <see cref="T:LibUsbDotNet.Main.UsbEndpointBase"/> item at the specified index.</returns>
2329
            <exception cref="T:System.ArgumentOutOfRangeException">index is not a valid index in the <see cref="T:LibUsbDotNet.Main.UsbEndpointList"/>.</exception>
2330
        </member>
2331
        <member name="P:LibUsbDotNet.Main.UsbEndpointList.Count">
2332
            <summary>
2333
            Gets the number of elements contained in the <see cref="T:LibUsbDotNet.Main.UsbEndpointList"/>.
2334
            </summary>
2335
 
2336
            <returns>
2337
            The number of elements contained in the <see cref="T:LibUsbDotNet.Main.UsbEndpointList"/>.
2338
            </returns>
2339
 
2340
        </member>
2341
        <member name="T:LibUsbDotNet.UsbError">
2342
            <summary> Describes a Usb error or setup API error.
2343
            </summary> 
2344
        </member>
2345
        <member name="M:LibUsbDotNet.UsbError.ToString">
2346
            <summary>
2347
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.UsbError"/>.
2348
            </summary>
2349
 
2350
            <returns>
2351
            A <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.UsbError"/>.
2352
            </returns>
2353
        </member>
2354
        <member name="P:LibUsbDotNet.UsbError.Sender">
2355
            <summary>
2356
            The sender of the exception.
2357
            </summary>
2358
        </member>
2359
        <member name="P:LibUsbDotNet.UsbError.ErrorCode">
2360
            <summary>
2361
            Gets the general errorcode.
2362
            </summary>
2363
        </member>
2364
        <member name="P:LibUsbDotNet.UsbError.Win32ErrorNumber">
2365
            <summary>
2366
            Gets the Windows specific error number.  Only valid when <see cref="P:LibUsbDotNet.UsbError.ErrorCode"/> is set to <see cref="T:LibUsbDotNet.Main.ErrorCode"/>.<see cref="F:LibUsbDotNet.Main.ErrorCode.Win32Error"/>.
2367
            </summary>
2368
        </member>
2369
        <member name="P:LibUsbDotNet.UsbError.Description">
2370
            <summary>
2371
            Gets the general description for the error.
2372
            </summary>
2373
        </member>
2374
        <member name="P:LibUsbDotNet.UsbError.Win32ErrorString">
2375
            <summary>
2376
            Gets the Windows specific error string. Only valid when <see cref="P:LibUsbDotNet.UsbError.ErrorCode"/> is set to <see cref="T:LibUsbDotNet.Main.ErrorCode"/>.<see cref="F:LibUsbDotNet.Main.ErrorCode.Win32Error"/>.
2377
            </summary>
2378
        </member>
2379
        <member name="M:LibUsbDotNet.Internal.SafeOverlapped.ClearAndSetEvent(System.IntPtr)">
2380
            <summary>
2381
            Set the overlapped wait handle and clear out the rest of the structure.
2382
            </summary>
2383
            <param name="hEventOverlapped"></param>
2384
        </member>
2385
        <member name="P:LibUsbDotNet.Internal.SafeOverlapped.EventHandle">
2386
            <summary>
2387
            The overlapped event wait hande.
2388
            </summary>
2389
        </member>
2390
        <member name="P:LibUsbDotNet.Internal.SafeOverlapped.GlobalOverlapped">
2391
            <summary>
2392
            Pass this into the DeviceIoControl and GetOverlappedResult APIs
2393
            </summary>
2394
        </member>
2395
        <member name="T:LibUsbDotNet.Main.LegacyUsbRegistry">
2396
            <summary> 
2397
            LibUsb specific members for device registry settings.  
2398
            This legacy class does not actually query the windows registry as the other Registry classes do. 
2399
            Instead, it wraps a <see cref="T:LibUsbDotNet.LibUsb.LibUsbDevice"/> and queries descriptors directly from the device 
2400
            using usb IO control messages.
2401
            </summary> 
2402
        </member>
2403
        <member name="T:LibUsbDotNet.Main.UsbRegistry">
2404
            <summary> USB device registry members common to both LibUsb and WinUsb devices.
2405
            </summary> 
2406
        </member>
2407
        <member name="F:LibUsbDotNet.Main.UsbRegistry.ForceSetupApi">
2408
            <summary>
2409
            If true, LibUsbDotNet will use the vid, pid and revision of the <see cref="P:LibUsbDotNet.UsbDevice.Info"/> 
2410
            descriptor to lookup additional device information in the windows registry via the setupapi.
2411
            Setting this field to false will cause all device information to come directly from the 
2412
            device descriptors.
2413
            </summary>
2414
            <remarks>
2415
            <para>
2416
            If using WinUSB or the LibUsbDotNet-libusb-win32 native driver, information provided by 
2417
            the <see cref="T:LibUsbDotNet.Main.UsbRegistry"/> class will come from the registry regardless of this setting
2418
            because these drivers have direct support for this.
2419
            </para>
2420
            <para>
2421
            The Libusb-1.0 windows-backend driver and the legacy libusb-win32 driver have their own methods
2422
            for listing, finding, and opening devices.  For these drivers, the <see cref="F:LibUsbDotNet.Main.UsbRegistry.ForceSetupApi"/> can
2423
            be set to do a "reverse lookup" via the setupapi using only the vid, pid and revision of the 
2424
            <see cref="T:LibUsbDotNet.Descriptors.UsbDeviceDescriptor"/>.  The <see cref="T:LibUsbDotNet.Main.UsbRegistry"/> class is then populated with
2425
            all available <see cref="T:LibUsbDotNet.Main.SPDRP"/> properties, device interface guids, winusb device paths, etc.
2426
            </para>
2427
            </remarks>
2428
        </member>
2429
        <member name="F:LibUsbDotNet.Main.UsbRegistry.mDeviceInterfaceGuids">
2430
            <summary>
2431
            Guid array of all <see cref="P:LibUsbDotNet.Main.UsbRegistry.DeviceInterfaceGuids"/> assigned to this device.
2432
            </summary>
2433
        </member>
2434
        <member name="M:LibUsbDotNet.Main.UsbRegistry.Open(LibUsbDotNet.UsbDevice@)">
2435
            <summary>
2436
            Opens the USB device for communucation.
2437
            </summary>
2438
            <param name="usbDevice">The newly created UsbDevice.</param>
2439
            <returns>True on success.</returns>
2440
        </member>
2441
        <member name="P:LibUsbDotNet.Main.UsbRegistry.DeviceProperties">
2442
            <summary>
2443
            Collection of known usb device properties (from the registry).
2444
            </summary>
2445
        </member>
2446
        <member name="P:LibUsbDotNet.Main.UsbRegistry.IsAlive">
2447
            <summary>
2448
            Check this value to determine if the usb device is still connected to the bus and ready to open.
2449
            </summary>
2450
            <remarks>
2451
            Uses the symbolic name as a unique id to determine if this device instance is still attached.
2452
            </remarks>
2453
            <exception cref="T:LibUsbDotNet.Main.UsbException">An exception is thrown if the <see cref="P:LibUsbDotNet.Main.UsbRegistry.SymbolicName"/> property is null or empty.</exception>
2454
        </member>
2455
        <member name="P:LibUsbDotNet.Main.UsbRegistry.SymbolicName">
2456
            <summary>
2457
            The unique "SymbolicName" of the device.
2458
            </summary>
2459
        </member>
2460
        <member name="P:LibUsbDotNet.Main.UsbRegistry.DeviceInterfaceGuids">
2461
            <summary>
2462
            The unique "SymbolicName" of the device.
2463
            </summary>
2464
        </member>
2465
        <member name="P:LibUsbDotNet.Main.UsbRegistry.Vid">
2466
            <summary>
2467
            VendorID
2468
            </summary>
2469
        </member>
2470
        <member name="P:LibUsbDotNet.Main.UsbRegistry.Pid">
2471
            <summary>
2472
            ProductID
2473
            </summary>
2474
        </member>
2475
        <member name="P:LibUsbDotNet.Main.UsbRegistry.Item(System.String)">
2476
            <summary>
2477
            Gets a device property/key from the registry.
2478
            </summary>
2479
            <param name="name">The name of the property to retrieve.</param>
2480
            <returns></returns>
2481
        </member>
2482
        <member name="P:LibUsbDotNet.Main.UsbRegistry.Item(LibUsbDotNet.Main.SPDRP)">
2483
            <summary>
2484
            Gets a device property/key from the registry.  See the <see cref="T:LibUsbDotNet.Main.SPDRP"/> enumeration for more information.
2485
            </summary>
2486
            <param name="spdrp">The name of the property to retrieve.</param>
2487
            <returns></returns>
2488
        </member>
2489
        <member name="P:LibUsbDotNet.Main.UsbRegistry.Item(LibUsbDotNet.Main.DevicePropertyType)">
2490
            <summary>
2491
            Gets a property from the registry.  See the <see cref="T:LibUsbDotNet.Main.DevicePropertyType"/> enumeration for more information.
2492
            </summary>
2493
            <param name="devicePropertyType">The name of the property to retrieve.</param>
2494
            <returns></returns>
2495
        </member>
2496
        <member name="P:LibUsbDotNet.Main.UsbRegistry.Name">
2497
            <summary>
2498
            Gets the short name of the usb device.
2499
            </summary>
2500
            <remarks>This is the device decription as it is defined in the setup/inf file.</remarks>
2501
        </member>
2502
        <member name="P:LibUsbDotNet.Main.UsbRegistry.FullName">
2503
            <summary>
2504
            Gets the manufacturer followed by the device decription in the format 'Mfu - Description'
2505
            </summary>
2506
            <remarks>This property works best for a display name.  It does additional proccessing on the manufacturer and device description that make it more user readable.</remarks>
2507
        </member>
2508
        <member name="P:LibUsbDotNet.Main.UsbRegistry.Count">
2509
            <summary>
2510
            Number of properties in the array.
2511
            </summary>
2512
        </member>
2513
        <member name="P:LibUsbDotNet.Main.UsbRegistry.Rev">
2514
            <summary>
2515
            Usb device revision number.
2516
            </summary>
2517
        </member>
2518
        <member name="P:LibUsbDotNet.Main.UsbRegistry.Device">
2519
            <summary>
2520
            Opens the USB device for communucation.
2521
            </summary>
2522
            <returns>Return a new instance of the <see cref="T:LibUsbDotNet.UsbDevice"/> class.
2523
            If the device fails to open a null refrence is return. For extended error
2524
            information see the <see cref="E:LibUsbDotNet.UsbDevice.UsbErrorEvent"/>.
2525
             </returns>
2526
        </member>
2527
        <member name="M:LibUsbDotNet.Main.LegacyUsbRegistry.Open(LibUsbDotNet.UsbDevice@)">
2528
            <summary>
2529
            Opens the USB device for communucation.
2530
            </summary>
2531
            <param name="usbDevice">The newly created UsbDevice.</param>
2532
            <returns>True on success.</returns>
2533
        </member>
2534
        <member name="P:LibUsbDotNet.Main.LegacyUsbRegistry.Device">
2535
            <summary>
2536
            Opens the USB device for communucation.
2537
            </summary>
2538
            <returns>Return a new instance of the <see cref="T:LibUsbDotNet.UsbDevice"/> class.
2539
            If the device fails to open a null refrence is return. For extended error
2540
            information use the <see cref="E:LibUsbDotNet.UsbDevice.UsbErrorEvent"/>.
2541
             </returns>
2542
        </member>
2543
        <member name="P:LibUsbDotNet.Main.LegacyUsbRegistry.DeviceInterfaceGuids">
2544
            <summary>
2545
            Gets the DeviceInterfaceGuids for the WinUsb device.
2546
            </summary>
2547
        </member>
2548
        <member name="P:LibUsbDotNet.Main.LegacyUsbRegistry.IsAlive">
2549
            <summary>
2550
            Check this value to determine if the usb device is still connected to the bus and ready to open.
2551
            </summary>
2552
            <remarks>
2553
            Uses the symbolic name as a unique id to determine if this device instance is still attached.
2554
            </remarks>
2555
            <exception cref="T:LibUsbDotNet.Main.UsbException">An exception is thrown if the <see cref="P:LibUsbDotNet.Main.UsbRegistry.SymbolicName"/> property is null or empty.</exception>
2556
        </member>
2557
        <member name="P:LibUsbDotNet.Main.LegacyUsbRegistry.DeviceList">
2558
             <summary>
2559
             Gets a list of available LibUsb devices.
2560
             </summary>
2561
 
2562
        </member>
2563
        <member name="P:LibUsbDotNet.Main.LegacyUsbRegistry.Rev">
2564
            <summary>
2565
            Usb device revision number.
2566
            </summary>
2567
        </member>
2568
        <member name="T:MonoLibUsb.Descriptors.MonoUsbEndpointDescriptor">
2569
            <summary>
2570
            A structure representing the standard USB endpoint descriptor. This
2571
            descriptor is documented in section 9.6.3 of the USB 2.0 specification.
2572
            All multiple-byte fields are represented in host-endian format.
2573
            </summary>
2574
        </member>
2575
        <member name="F:MonoLibUsb.Descriptors.MonoUsbEndpointDescriptor.bLength">
2576
            <summary> Size of this descriptor (in bytes)</summary>
2577
        </member>
2578
        <member name="F:MonoLibUsb.Descriptors.MonoUsbEndpointDescriptor.bDescriptorType">
2579
            <summary> Descriptor type. Will have value LIBUSB_DT_ENDPOINT in this context.</summary>
2580
        </member>
2581
        <member name="F:MonoLibUsb.Descriptors.MonoUsbEndpointDescriptor.bEndpointAddress">
2582
            <summary> The address of the endpoint described by this descriptor. Bits 0:3 are the endpoint number. Bits 4:6 are reserved. Bit 7 indicates direction, see \ref libusb_endpoint_direction.</summary>
2583
        </member>
2584
        <member name="F:MonoLibUsb.Descriptors.MonoUsbEndpointDescriptor.bmAttributes">
2585
            <summary> Attributes which apply to the endpoint when it is configured using the bConfigurationValue. Bits 0:1 determine the transfer type and correspond to \ref libusb_transfer_type. Bits 2:3 are only used for isochronous endpoints and correspond to \ref libusb_iso_sync_type. Bits 4:5 are also only used for isochronous endpoints and correspond to \ref libusb_iso_usage_type. Bits 6:7 are reserved.</summary>
2586
        </member>
2587
        <member name="F:MonoLibUsb.Descriptors.MonoUsbEndpointDescriptor.wMaxPacketSize">
2588
            <summary> Maximum packet size this endpoint is capable of sending/receiving.</summary>
2589
        </member>
2590
        <member name="F:MonoLibUsb.Descriptors.MonoUsbEndpointDescriptor.bInterval">
2591
            <summary> Interval for polling endpoint for data transfers.</summary>
2592
        </member>
2593
        <member name="F:MonoLibUsb.Descriptors.MonoUsbEndpointDescriptor.bRefresh">
2594
            <summary> For audio devices only: the rate at which synchronization feedback is provided.</summary>
2595
        </member>
2596
        <member name="F:MonoLibUsb.Descriptors.MonoUsbEndpointDescriptor.bSynchAddress">
2597
            <summary> For audio devices only: the address if the synch endpoint</summary>
2598
        </member>
2599
        <member name="F:MonoLibUsb.Descriptors.MonoUsbEndpointDescriptor.pExtraBytes">
2600
            <summary> Extra descriptors. If libusb encounters unknown endpoint descriptors, it will store them here, should you wish to parse them.</summary>
2601
        </member>
2602
        <member name="F:MonoLibUsb.Descriptors.MonoUsbEndpointDescriptor.ExtraLength">
2603
            <summary> Length of the extra descriptors, in bytes.</summary>
2604
        </member>
2605
        <member name="P:MonoLibUsb.Descriptors.MonoUsbEndpointDescriptor.ExtraBytes">
2606
            <summary> Extra descriptors. If libusb encounters unknown endpoint descriptors, it will store them here, should you wish to parse them.</summary>
2607
        </member>
2608
        <member name="T:MonoLibUsb.Profile.AddRemoveEventArgs">
2609
            <summary>
2610
            Describes a device arrival/removal notification event
2611
            </summary>
2612
        </member>
2613
        <member name="P:MonoLibUsb.Profile.AddRemoveEventArgs.MonoUSBProfile">
2614
            <summary>
2615
            The <see cref="T:MonoLibUsb.Profile.MonoUsbProfile"/> that was added or removed.
2616
            </summary>
2617
        </member>
2618
        <member name="P:MonoLibUsb.Profile.AddRemoveEventArgs.EventType">
2619
            <summary>
2620
            The type of event that occured.
2621
            </summary>
2622
        </member>
2623
        <member name="T:LibUsbDotNet.DeviceNotify.DeviceNotifyEventArgs">
2624
            <summary>
2625
            Describes the device notify event
2626
            </summary> 
2627
        </member>
2628
        <member name="M:LibUsbDotNet.DeviceNotify.DeviceNotifyEventArgs.ToString">
2629
            <summary>
2630
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.DeviceNotify.DeviceNotifyEventArgs"/>.
2631
            </summary>
2632
 
2633
            <returns>
2634
            A <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.DeviceNotify.DeviceNotifyEventArgs"/>.
2635
            </returns>
2636
        </member>
2637
        <member name="P:LibUsbDotNet.DeviceNotify.DeviceNotifyEventArgs.Volume">
2638
            <summary>
2639
            Gets the <see cref="T:LibUsbDotNet.DeviceNotify.Info.VolumeNotifyInfo"/> class.
2640
            </summary>
2641
            <remarks>
2642
            This value is null if the <see cref="P:LibUsbDotNet.DeviceNotify.DeviceNotifyEventArgs.DeviceType"/> is not set to <see cref="F:LibUsbDotNet.DeviceNotify.DeviceType.Volume"/>
2643
            </remarks>
2644
        </member>
2645
        <member name="P:LibUsbDotNet.DeviceNotify.DeviceNotifyEventArgs.Port">
2646
            <summary>
2647
            Gets the <see cref="T:LibUsbDotNet.DeviceNotify.Info.PortNotifyInfo"/> class.
2648
            </summary>
2649
            <remarks>
2650
            This value is null if the <see cref="P:LibUsbDotNet.DeviceNotify.DeviceNotifyEventArgs.DeviceType"/> is not set to <see cref="F:LibUsbDotNet.DeviceNotify.DeviceType.Port"/>
2651
            </remarks>
2652
        </member>
2653
        <member name="P:LibUsbDotNet.DeviceNotify.DeviceNotifyEventArgs.Device">
2654
            <summary>
2655
            Gets the <see cref="T:LibUsbDotNet.DeviceNotify.Info.UsbDeviceNotifyInfo"/> class.
2656
            </summary>
2657
            <remarks>
2658
            This value is null if the <see cref="P:LibUsbDotNet.DeviceNotify.DeviceNotifyEventArgs.DeviceType"/> is not set to <see cref="F:LibUsbDotNet.DeviceNotify.DeviceType.DeviceInterface"/>
2659
            </remarks>
2660
        </member>
2661
        <member name="P:LibUsbDotNet.DeviceNotify.DeviceNotifyEventArgs.EventType">
2662
            <summary>
2663
            Gets the <see cref="P:LibUsbDotNet.DeviceNotify.DeviceNotifyEventArgs.EventType"/> for this notification.
2664
            </summary>
2665
        </member>
2666
        <member name="P:LibUsbDotNet.DeviceNotify.DeviceNotifyEventArgs.DeviceType">
2667
            <summary>
2668
            Gets the <see cref="P:LibUsbDotNet.DeviceNotify.DeviceNotifyEventArgs.DeviceType"/> for this notification.
2669
            </summary>
2670
        </member>
2671
        <member name="P:LibUsbDotNet.DeviceNotify.DeviceNotifyEventArgs.Object">
2672
            <summary>
2673
            Gets the notification class as an object.
2674
            </summary>
2675
            <remarks>
2676
            This value is never null.
2677
            </remarks>
2678
        </member>
2679
        <member name="T:LibUsbDotNet.Descriptors.DescriptorType">
2680
            <summary> Standard USB descriptor types.
2681
            </summary> 
2682
        </member>
2683
        <member name="F:LibUsbDotNet.Descriptors.DescriptorType.Device">
2684
            <summary>
2685
            Device descriptor type.
2686
            </summary>
2687
        </member>
2688
        <member name="F:LibUsbDotNet.Descriptors.DescriptorType.Configuration">
2689
            <summary>
2690
            Configuration descriptor type.
2691
            </summary>
2692
        </member>
2693
        <member name="F:LibUsbDotNet.Descriptors.DescriptorType.String">
2694
            <summary>
2695
            String descriptor type.
2696
            </summary>
2697
        </member>
2698
        <member name="F:LibUsbDotNet.Descriptors.DescriptorType.Interface">
2699
            <summary>
2700
            Interface descriptor type.
2701
            </summary>
2702
        </member>
2703
        <member name="F:LibUsbDotNet.Descriptors.DescriptorType.Endpoint">
2704
            <summary>
2705
            Endpoint descriptor type.
2706
            </summary>
2707
        </member>
2708
        <member name="F:LibUsbDotNet.Descriptors.DescriptorType.DeviceQualifier">
2709
            <summary>
2710
            Device Qualifier descriptor type.
2711
            </summary>
2712
        </member>
2713
        <member name="F:LibUsbDotNet.Descriptors.DescriptorType.OtherSpeedConfiguration">
2714
            <summary>
2715
            Other Speed Configuration descriptor type.
2716
            </summary>
2717
        </member>
2718
        <member name="F:LibUsbDotNet.Descriptors.DescriptorType.InterfacePower">
2719
            <summary>
2720
            Interface Power descriptor type.
2721
            </summary>
2722
        </member>
2723
        <member name="F:LibUsbDotNet.Descriptors.DescriptorType.OTG">
2724
            <summary>
2725
            OTG descriptor type.
2726
            </summary>
2727
        </member>
2728
        <member name="F:LibUsbDotNet.Descriptors.DescriptorType.Debug">
2729
            <summary>
2730
            Debug descriptor type.
2731
            </summary>
2732
        </member>
2733
        <member name="F:LibUsbDotNet.Descriptors.DescriptorType.InterfaceAssociation">
2734
            <summary>
2735
            Interface Association descriptor type.
2736
            </summary>
2737
        </member>
2738
        <member name="F:LibUsbDotNet.Descriptors.DescriptorType.Hid">
2739
            <summary> HID descriptor</summary>
2740
        </member>
2741
        <member name="F:LibUsbDotNet.Descriptors.DescriptorType.HidReport">
2742
            <summary> HID report descriptor</summary>
2743
        </member>
2744
        <member name="F:LibUsbDotNet.Descriptors.DescriptorType.Physical">
2745
            <summary> Physical descriptor</summary>
2746
        </member>
2747
        <member name="F:LibUsbDotNet.Descriptors.DescriptorType.Hub">
2748
            <summary> Hub descriptor</summary>
2749
        </member>
2750
        <member name="T:LibUsbDotNet.Descriptors.ClassCodeType">
2751
            <summary> Device and/or Interface Class codes</summary>
2752
        </member>
2753
        <member name="F:LibUsbDotNet.Descriptors.ClassCodeType.PerInterface">
2754
            <summary>In the context of a "device descriptor", this bDeviceClass value indicates that each interface specifies its own class information and all interfaces operate independently.</summary>
2755
        </member>
2756
        <member name="F:LibUsbDotNet.Descriptors.ClassCodeType.Audio">
2757
            <summary>Audio class</summary>
2758
        </member>
2759
        <member name="F:LibUsbDotNet.Descriptors.ClassCodeType.Comm">
2760
            <summary> Communications class</summary>
2761
        </member>
2762
        <member name="F:LibUsbDotNet.Descriptors.ClassCodeType.Hid">
2763
            <summary> Human Interface Device class</summary>
2764
        </member>
2765
        <member name="F:LibUsbDotNet.Descriptors.ClassCodeType.Printer">
2766
            <summary> Printer dclass</summary>
2767
        </member>
2768
        <member name="F:LibUsbDotNet.Descriptors.ClassCodeType.Ptp">
2769
            <summary> Picture transfer protocol class</summary>
2770
        </member>
2771
        <member name="F:LibUsbDotNet.Descriptors.ClassCodeType.MassStorage">
2772
            <summary> Mass storage class</summary>
2773
        </member>
2774
        <member name="F:LibUsbDotNet.Descriptors.ClassCodeType.Hub">
2775
            <summary> Hub class</summary>
2776
        </member>
2777
        <member name="F:LibUsbDotNet.Descriptors.ClassCodeType.Data">
2778
            <summary> Data class</summary>
2779
        </member>
2780
        <member name="F:LibUsbDotNet.Descriptors.ClassCodeType.VendorSpec">
2781
            <summary> Class is vendor-specific</summary>
2782
        </member>
2783
        <member name="T:LibUsbDotNet.Main.UsbException">
2784
            <summary>
2785
             Represents an exception generated by a USB operation.
2786
            </summary> 
2787
        </member>
2788
        <member name="M:LibUsbDotNet.Main.UsbException.#ctor(System.Object,System.String)">
2789
            <summary>
2790
            LibUsbDotNet USB exception.
2791
            </summary>
2792
        </member>
2793
        <member name="P:LibUsbDotNet.Main.UsbException.Sender">
2794
            <summary>
2795
            The object that caused the exception.
2796
            </summary>
2797
        </member>
2798
        <member name="T:MonoLibUsb.UnixNativeTimeval">
2799
            <summary>
2800
            Unix mono.net timeval structure.
2801
            </summary>
2802
        </member>
2803
        <member name="M:MonoLibUsb.UnixNativeTimeval.#ctor(System.Int64,System.Int64)">
2804
            <summary>
2805
            Timeval constructor.
2806
            </summary>
2807
            <param name="tvSec">seconds</param>
2808
            <param name="tvUsec">milliseconds</param>
2809
        </member>
2810
        <member name="P:MonoLibUsb.UnixNativeTimeval.WindowsDefault">
2811
            <summary>
2812
            Default <see cref="T:MonoLibUsb.UnixNativeTimeval"/> used by the <see cref="T:MonoLibUsb.MonoUsbEventHandler"/> on windows platforms.
2813
            </summary>
2814
        </member>
2815
        <member name="P:MonoLibUsb.UnixNativeTimeval.LinuxDefault">
2816
            <summary>
2817
            Default <see cref="T:MonoLibUsb.UnixNativeTimeval"/> used by the <see cref="T:MonoLibUsb.MonoUsbEventHandler"/> on unix-like platforms.
2818
            </summary>
2819
        </member>
2820
        <member name="P:MonoLibUsb.UnixNativeTimeval.Default">
2821
            <summary>
2822
            Default <see cref="T:MonoLibUsb.UnixNativeTimeval"/>.
2823
            </summary>
2824
        </member>
2825
        <member name="P:MonoLibUsb.UnixNativeTimeval.tv_sec">
2826
            <summary>
2827
            Timeval seconds property.
2828
            </summary>
2829
        </member>
2830
        <member name="P:MonoLibUsb.UnixNativeTimeval.tv_usec">
2831
            <summary>
2832
            Timeval milliseconds property.
2833
            </summary>
2834
        </member>
2835
        <member name="T:LibUsbDotNet.Main.UsbRequestType">
2836
            <summary>
2837
            Standard USB requests.
2838
            </summary>
2839
            <seealso cref="T:LibUsbDotNet.Main.UsbCtrlFlags"/>
2840
        </member>
2841
        <member name="F:LibUsbDotNet.Main.UsbRequestType.TypeClass">
2842
            <summary>
2843
            Class specific request.
2844
            </summary>
2845
        </member>
2846
        <member name="F:LibUsbDotNet.Main.UsbRequestType.TypeReserved">
2847
            <summary>
2848
            RESERVED.
2849
            </summary>
2850
        </member>
2851
        <member name="F:LibUsbDotNet.Main.UsbRequestType.TypeStandard">
2852
            <summary>
2853
            Standard request.
2854
            </summary>
2855
        </member>
2856
        <member name="F:LibUsbDotNet.Main.UsbRequestType.TypeVendor">
2857
            <summary>
2858
            Vendor specific request.
2859
            </summary>
2860
        </member>
2861
        <member name="T:MonoLibUsb.Descriptors.MonoUsbAltInterfaceDescriptor">
2862
            <summary>
2863
            A structure representing the standard USB interface descriptor. This
2864
            descriptor is documented in section 9.6.5 of the USB 2.0 specification.
2865
            All multiple-byte fields are represented in host-endian format.
2866
            </summary>
2867
        </member>
2868
        <member name="F:MonoLibUsb.Descriptors.MonoUsbAltInterfaceDescriptor.bLength">
2869
            <summary>Size of this descriptor (in bytes)</summary>
2870
        </member>
2871
        <member name="F:MonoLibUsb.Descriptors.MonoUsbAltInterfaceDescriptor.bDescriptorType">
2872
            <summary>Descriptor type. Will have value LIBUSB_DT_INTERFACE in this context.</summary>
2873
        </member>
2874
        <member name="F:MonoLibUsb.Descriptors.MonoUsbAltInterfaceDescriptor.bInterfaceNumber">
2875
            <summary>Number of this interface</summary>
2876
        </member>
2877
        <member name="F:MonoLibUsb.Descriptors.MonoUsbAltInterfaceDescriptor.bAlternateSetting">
2878
            <summary>Value used to select this alternate setting for this interface</summary>
2879
        </member>
2880
        <member name="F:MonoLibUsb.Descriptors.MonoUsbAltInterfaceDescriptor.bNumEndpoints">
2881
            <summary> Number of endpoints used by this interface (excluding the control endpoint).</summary>
2882
        </member>
2883
        <member name="F:MonoLibUsb.Descriptors.MonoUsbAltInterfaceDescriptor.bInterfaceClass">
2884
            <summary> USB-IF class code for this interface. See ClassCodeType.</summary>
2885
        </member>
2886
        <member name="F:MonoLibUsb.Descriptors.MonoUsbAltInterfaceDescriptor.bInterfaceSubClass">
2887
            <summary> USB-IF subclass code for this interface, qualified by the bInterfaceClass value</summary>
2888
        </member>
2889
        <member name="F:MonoLibUsb.Descriptors.MonoUsbAltInterfaceDescriptor.bInterfaceProtocol">
2890
            <summary> USB-IF protocol code for this interface, qualified by the bInterfaceClass and bInterfaceSubClass values</summary>
2891
        </member>
2892
        <member name="F:MonoLibUsb.Descriptors.MonoUsbAltInterfaceDescriptor.iInterface">
2893
            <summary> Index of string descriptor describing this interface</summary>
2894
        </member>
2895
        <member name="F:MonoLibUsb.Descriptors.MonoUsbAltInterfaceDescriptor.pEndpointDescriptors">
2896
            <summary> Array of endpoint descriptors. This length of this array is determined by the bNumEndpoints field.</summary>
2897
        </member>
2898
        <member name="F:MonoLibUsb.Descriptors.MonoUsbAltInterfaceDescriptor.pExtraBytes">
2899
            <summary> Extra descriptors. If libusb encounters unknown interface descriptors, it will store them here, should you wish to parse them.</summary>
2900
        </member>
2901
        <member name="F:MonoLibUsb.Descriptors.MonoUsbAltInterfaceDescriptor.ExtraLength">
2902
            <summary> Length of the extra descriptors, in bytes.</summary>
2903
        </member>
2904
        <member name="P:MonoLibUsb.Descriptors.MonoUsbAltInterfaceDescriptor.ExtraBytes">
2905
            <summary> Extra descriptors. If libusb encounters unknown interface descriptors, it will store them here, should you wish to parse them.</summary>
2906
        </member>
2907
        <member name="P:MonoLibUsb.Descriptors.MonoUsbAltInterfaceDescriptor.EndpointList">
2908
            <summary> Array of endpoint descriptors. This length of this array is determined by the bNumEndpoints field.</summary>
2909
        </member>
2910
        <member name="T:LibUsbDotNet.Info.UsbInterfaceInfo">
2911
            <summary> Describes a USB device interface.
2912
            </summary> 
2913
        </member>
2914
        <member name="M:LibUsbDotNet.Info.UsbInterfaceInfo.ToString">
2915
            <summary>
2916
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.Info.UsbInterfaceInfo"/>.
2917
            </summary>
2918
 
2919
            <returns>
2920
            A <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.Info.UsbInterfaceInfo"/>.
2921
            </returns>
2922
        </member>
2923
        <member name="M:LibUsbDotNet.Info.UsbInterfaceInfo.ToString(System.String,System.String,System.String)">
2924
            <summary>
2925
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.Info.UsbInterfaceInfo"/>.
2926
            </summary>
2927
 
2928
            <param name="prefixSeperator">The field prefix string.</param>
2929
            <param name="entitySperator">The field/value seperator string.</param>
2930
            <param name="suffixSeperator">The value suffix string.</param>
2931
            <returns>A formatted representation of the <see cref="T:LibUsbDotNet.Info.UsbInterfaceInfo"/>.</returns>
2932
        </member>
2933
        <member name="P:LibUsbDotNet.Info.UsbInterfaceInfo.Descriptor">
2934
            <summary>
2935
            Gets the actual interface descriptor.
2936
            </summary>
2937
        </member>
2938
        <member name="P:LibUsbDotNet.Info.UsbInterfaceInfo.EndpointInfoList">
2939
            <summary>
2940
            Gets the collection of endpoint descriptors associated with this interface.
2941
            </summary>
2942
        </member>
2943
        <member name="P:LibUsbDotNet.Info.UsbInterfaceInfo.InterfaceString">
2944
            <summary>
2945
            Gets the string representation of the <see cref="F:LibUsbDotNet.Descriptors.UsbInterfaceDescriptor.StringIndex"/> string index.
2946
            </summary>
2947
        </member>
2948
        <member name="T:LibUsbDotNet.WinUsb.WinUsbDevice">
2949
            <summary> 
2950
            Contains members specific to Microsofts WinUSB driver.
2951
            </summary> 
2952
            <remarks>
2953
            A <see cref="T:LibUsbDotNet.WinUsb.WinUsbDevice"/> should be thought of as a part of, or an interface of a USB device.
2954
            The <see cref="T:LibUsbDotNet.WinUsb.WinUsbDevice"/> class does not have members for selecting configurations and
2955
            intefaces.  This is done at a lower level by the winusb driver depending on which interface the
2956
            <see cref="T:LibUsbDotNet.WinUsb.WinUsbDevice"/> belongs to.
2957
            </remarks> 
2958
        </member>
2959
        <member name="M:LibUsbDotNet.WinUsb.WinUsbDevice.Close">
2960
            <summary>
2961
            Closes the <see cref="T:LibUsbDotNet.UsbDevice"/> and disposes any <see cref="P:LibUsbDotNet.UsbDevice.ActiveEndpoints"/>.
2962
            </summary>
2963
            <returns>True on success.</returns>
2964
        </member>
2965
        <member name="M:LibUsbDotNet.WinUsb.WinUsbDevice.Open">
2966
            <summary>
2967
             Opens the USB device handle.
2968
            </summary>
2969
            <returns>
2970
            True if the device is already opened or was opened successfully.
2971
            False if the device does not exists or is no longer valid.  
2972
            </returns>
2973
        </member>
2974
        <member name="M:LibUsbDotNet.WinUsb.WinUsbDevice.Open(System.String,LibUsbDotNet.WinUsb.WinUsbDevice@)">
2975
            <summary>
2976
            Opens a WinUsb directly from the user supplied device path. 
2977
            </summary>
2978
            <param name="devicePath">Device path (symbolic link) of the WinUsb device to open.</param>
2979
            <param name="usbDevice">Returns an opened WinUsb device on success, null on failure.</param>
2980
            <returns>True on success.</returns>
2981
        </member>
2982
        <member name="M:LibUsbDotNet.WinUsb.WinUsbDevice.EndpointPolicies(LibUsbDotNet.Main.ReadEndpointID)">
2983
            <summary>
2984
            Gets endpoint policies for the specified endpoint id.
2985
            </summary>
2986
            <param name="epNum">The endpoint ID to retrieve <see cref="T:LibUsbDotNet.WinUsb.PipePolicies"/> for.</param>
2987
            <returns>A <see cref="T:LibUsbDotNet.WinUsb.PipePolicies"/> class.</returns>
2988
        </member>
2989
        <member name="M:LibUsbDotNet.WinUsb.WinUsbDevice.EndpointPolicies(LibUsbDotNet.Main.WriteEndpointID)">
2990
            <summary>
2991
            Gets endpoint policies for the specified endpoint id.
2992
            </summary>
2993
            <param name="epNum">The endpoint ID to retrieve <see cref="T:LibUsbDotNet.WinUsb.PipePolicies"/> for.</param>
2994
            <returns>A <see cref="T:LibUsbDotNet.WinUsb.PipePolicies"/> class.</returns>
2995
        </member>
2996
        <member name="M:LibUsbDotNet.WinUsb.WinUsbDevice.GetAssociatedInterface(System.Byte,LibUsbDotNet.WinUsb.WinUsbDevice@)">
2997
            <summary>
2998
            Gets an interface associated with this <see cref="T:LibUsbDotNet.WinUsb.WinUsbDevice"/>.
2999
            </summary>
3000
            <param name="associatedInterfaceIndex">The index to retrieve. (0 = next interface, 1= interface after next, etc.).</param>
3001
            <param name="usbDevice">A new <see cref="T:LibUsbDotNet.WinUsb.WinUsbDevice"/> class for the specified AssociatedInterfaceIndex.</param>
3002
            <returns>True on success.</returns>
3003
        </member>
3004
        <member name="M:LibUsbDotNet.WinUsb.WinUsbDevice.GetCurrentAlternateSetting(System.Byte@)">
3005
            <summary>
3006
            Gets the currently selected alternate settings number for the selected inteface.
3007
            </summary>
3008
            <param name="settingNumber">The selected AlternateSetting number.</param>
3009
            <returns>True on success.</returns>
3010
        </member>
3011
        <member name="M:LibUsbDotNet.WinUsb.WinUsbDevice.QueryDeviceSpeed(LibUsbDotNet.WinUsb.DeviceSpeedTypes@)">
3012
            <summary>
3013
            Gets the device speed.
3014
            </summary>
3015
            <param name="deviceSpeed">The device speed.</param>
3016
            <returns>True on success.</returns>
3017
        </member>
3018
        <member name="M:LibUsbDotNet.WinUsb.WinUsbDevice.QueryInterfaceSettings(System.Byte,LibUsbDotNet.Descriptors.UsbInterfaceDescriptor@)">
3019
            <summary>
3020
            Gets a <see cref="T:LibUsbDotNet.Descriptors.UsbInterfaceDescriptor"/> for the specified AlternateInterfaceNumber,
3021
            </summary>
3022
            <param name="alternateInterfaceNumber">The alternate interface index for the <see cref="T:LibUsbDotNet.Descriptors.UsbInterfaceDescriptor"/> to retrieve. </param>
3023
            <param name="usbAltInterfaceDescriptor">The <see cref="T:LibUsbDotNet.Descriptors.UsbInterfaceDescriptor"/> for the specified AlternateInterfaceNumber.</param>
3024
            <returns>True on success.</returns>
3025
        </member>
3026
        <member name="M:LibUsbDotNet.WinUsb.WinUsbDevice.GetDevicePathList(System.Guid,System.Collections.Generic.List{System.String}@)">
3027
            <summary>
3028
            Gets a list a valid, connected WinUSB device inteface paths for the a given WinUSB device interface guid.
3029
            </summary>
3030
            <param name="interfaceGuid">A WinUSB DeviceInterfaceGUID.  This is set in the usb devices inf file when the drivers for it are installed.</param>
3031
            <param name="devicePathList">A list of connected WinUSB device inteface paths.</param>
3032
            <returns>True if one or more device paths were found.  False if no devices are found or an error occured. <see cref="E:LibUsbDotNet.UsbDevice.UsbErrorEvent"/> </returns>
3033
        </member>
3034
        <member name="M:LibUsbDotNet.WinUsb.WinUsbDevice.Finalize">
3035
            <summary>
3036
            Closes the device. <see cref="M:LibUsbDotNet.WinUsb.WinUsbDevice.Close"/>.
3037
            </summary>
3038
        </member>
3039
        <member name="P:LibUsbDotNet.WinUsb.WinUsbDevice.PowerPolicy">
3040
            <summary>
3041
            Gets the power policies for this <see cref="T:LibUsbDotNet.WinUsb.WinUsbDevice"/>.
3042
            </summary>
3043
        </member>
3044
        <member name="P:LibUsbDotNet.WinUsb.WinUsbDevice.DevicePath">
3045
            <summary>
3046
            Gets the device path used to open this <see cref="T:LibUsbDotNet.WinUsb.WinUsbDevice"/>.
3047
            </summary>
3048
        </member>
3049
        <member name="P:LibUsbDotNet.WinUsb.WinUsbDevice.DriverMode">
3050
            <summary>
3051
            Returns the DriverMode this USB device is using.
3052
            </summary>
3053
        </member>
3054
        <member name="T:LibUsbDotNet.Main.UsbStandardRequest">
3055
            <summary>
3056
            Standard Device Requests.
3057
            </summary>
3058
        </member>
3059
        <member name="F:LibUsbDotNet.Main.UsbStandardRequest.ClearFeature">
3060
            <summary>
3061
            Clear or disable a specific feature.
3062
            </summary>
3063
        </member>
3064
        <member name="F:LibUsbDotNet.Main.UsbStandardRequest.GetConfiguration">
3065
            <summary>
3066
            Returns the current device Configuration value.
3067
            </summary>
3068
        </member>
3069
        <member name="F:LibUsbDotNet.Main.UsbStandardRequest.GetDescriptor">
3070
            <summary>
3071
            Returns the specified descriptor if the descriptor exists.
3072
            </summary>
3073
        </member>
3074
        <member name="F:LibUsbDotNet.Main.UsbStandardRequest.GetInterface">
3075
            <summary>
3076
            Returns the selected alternate setting for the specified interface.
3077
            </summary>
3078
        </member>
3079
        <member name="F:LibUsbDotNet.Main.UsbStandardRequest.GetStatus">
3080
            <summary>
3081
            Returns status for the specified recipient.
3082
            </summary>
3083
        </member>
3084
        <member name="F:LibUsbDotNet.Main.UsbStandardRequest.SetAddress">
3085
            <summary>
3086
            Sets the device address for all future device accesses.
3087
            </summary>
3088
        </member>
3089
        <member name="F:LibUsbDotNet.Main.UsbStandardRequest.SetConfiguration">
3090
            <summary>
3091
            Sets the device Configuration.
3092
            </summary>
3093
        </member>
3094
        <member name="F:LibUsbDotNet.Main.UsbStandardRequest.SetDescriptor">
3095
            <summary>
3096
            Optional and may be used to update existing descriptors or new descriptors may be added.
3097
            </summary>
3098
        </member>
3099
        <member name="F:LibUsbDotNet.Main.UsbStandardRequest.SetFeature">
3100
            <summary>
3101
            used to set or enable a specific feature.
3102
            </summary>
3103
        </member>
3104
        <member name="F:LibUsbDotNet.Main.UsbStandardRequest.SetInterface">
3105
            <summary>
3106
            Allows the host to select an alternate setting for the specified interface.
3107
            </summary>
3108
        </member>
3109
        <member name="F:LibUsbDotNet.Main.UsbStandardRequest.SynchFrame">
3110
            <summary>
3111
            Used to set and then report an endpoint’s synchronization frame.
3112
            </summary>
3113
        </member>
3114
        <member name="T:LibUsbDotNet.Main.ErrorCode">
3115
            <summary> 
3116
            General area in which the failure occurred. See the <see cref="T:LibUsbDotNet.UsbError"/> class.
3117
            </summary> 
3118
        </member>
3119
        <member name="F:LibUsbDotNet.Main.ErrorCode.None">
3120
            <summary>
3121
            No error. (None, Success, and Ok)
3122
            </summary>
3123
        </member>
3124
        <member name="F:LibUsbDotNet.Main.ErrorCode.Success">
3125
            <summary>
3126
            No error.
3127
            </summary>
3128
        </member>
3129
        <member name="F:LibUsbDotNet.Main.ErrorCode.Ok">
3130
            <summary>
3131
            No error.
3132
            </summary>
3133
        </member>
3134
        <member name="F:LibUsbDotNet.Main.ErrorCode.InvalidConfig">
3135
            <summary>
3136
            The USB device has errors in its Configuration descriptor.
3137
            </summary>
3138
        </member>
3139
        <member name="F:LibUsbDotNet.Main.ErrorCode.IoSyncFailed">
3140
            <summary>
3141
            A synchronous device IO operation failed.
3142
            </summary>
3143
        </member>
3144
        <member name="F:LibUsbDotNet.Main.ErrorCode.GetString">
3145
            <summary>
3146
            A request for a string failed.
3147
            </summary>
3148
        </member>
3149
        <member name="F:LibUsbDotNet.Main.ErrorCode.InvalidEndpoint">
3150
            <summary>
3151
            A specified endpoint is invalid for the operation.
3152
            </summary>
3153
        </member>
3154
        <member name="F:LibUsbDotNet.Main.ErrorCode.AbortEndpoint">
3155
            <summary>
3156
            A request to cancel IO operation failed.
3157
            </summary>
3158
        </member>
3159
        <member name="F:LibUsbDotNet.Main.ErrorCode.DeviceIoControl">
3160
            <summary>
3161
            A call to the core Win32 API DeviceIOControl failed.
3162
            </summary>
3163
        </member>
3164
        <member name="F:LibUsbDotNet.Main.ErrorCode.GetOverlappedResult">
3165
            <summary>
3166
            A call to the core Win32 API GetOverlappedResult failed.
3167
            </summary>
3168
        </member>
3169
        <member name="F:LibUsbDotNet.Main.ErrorCode.ReceiveThreadTerminated">
3170
            <summary>
3171
            An Endpoints receive thread was dangerously terminated.
3172
            </summary>
3173
        </member>
3174
        <member name="F:LibUsbDotNet.Main.ErrorCode.WriteFailed">
3175
            <summary>
3176
            A write operation failed.
3177
            </summary>
3178
        </member>
3179
        <member name="F:LibUsbDotNet.Main.ErrorCode.ReadFailed">
3180
            <summary>
3181
            A read operation failed.
3182
            </summary>
3183
        </member>
3184
        <member name="F:LibUsbDotNet.Main.ErrorCode.IoControlMessage">
3185
            <summary>
3186
            An endpoint 0 IO control message failed.
3187
            </summary>
3188
        </member>
3189
        <member name="F:LibUsbDotNet.Main.ErrorCode.CancelIoFailed">
3190
            <summary>
3191
            The action of cancelling the IO operation failed.
3192
            </summary>
3193
        </member>
3194
        <member name="F:LibUsbDotNet.Main.ErrorCode.IoCancelled">
3195
            <summary>
3196
            An IO operation was cancelled by the user before it completed.
3197
            </summary>
3198
            <remarks>
3199
            IoCancelled errors may occur as normal operation; for this reason they are not logged as a <see cref="T:LibUsbDotNet.UsbError"/>.
3200
            </remarks>
3201
        </member>
3202
        <member name="F:LibUsbDotNet.Main.ErrorCode.IoTimedOut">
3203
            <summary>
3204
            An IO operation timed out before it completed.
3205
            </summary>
3206
            <remarks>
3207
            IoTimedOut errors may occur as normal operation; for this reason they are not logged as a <see cref="T:LibUsbDotNet.UsbError"/>.
3208
            </remarks>
3209
        </member>
3210
        <member name="F:LibUsbDotNet.Main.ErrorCode.IoEndpointGlobalCancelRedo">
3211
            <summary>
3212
            An IO operation was cancelled and will be re-submiited when ready.
3213
            </summary>
3214
            <remarks>
3215
            IoEndpointGlobalCancelRedo errors may occur as normal operation; for this reason they are not logged as a <see cref="T:LibUsbDotNet.UsbError"/>.
3216
            </remarks>
3217
        </member>
3218
        <member name="F:LibUsbDotNet.Main.ErrorCode.GetDeviceKeyValueFailed">
3219
            <summary>
3220
            Failed retrieving a custom USB device key value.
3221
            </summary>
3222
        </member>
3223
        <member name="F:LibUsbDotNet.Main.ErrorCode.SetDeviceKeyValueFailed">
3224
            <summary>
3225
            Failed setting a custom USB device key value.
3226
            </summary>
3227
        </member>
3228
        <member name="F:LibUsbDotNet.Main.ErrorCode.Win32Error">
3229
            <summary>
3230
            The error is a standard windows error.
3231
            </summary>
3232
        </member>
3233
        <member name="F:LibUsbDotNet.Main.ErrorCode.DeviceAllreadyLocked">
3234
            <summary>
3235
            An attempt was made to lock a device that is already locked.
3236
            </summary>
3237
        </member>
3238
        <member name="F:LibUsbDotNet.Main.ErrorCode.EndpointAllreadyLocked">
3239
            <summary>
3240
            An attempt was made to lock an endpoint that is already locked.
3241
            </summary>
3242
        </member>
3243
        <member name="F:LibUsbDotNet.Main.ErrorCode.DeviceNotFound">
3244
            <summary>
3245
            The USB device request failed because the USB device was not found.
3246
            </summary>
3247
        </member>
3248
        <member name="F:LibUsbDotNet.Main.ErrorCode.UserAborted">
3249
            <summary>
3250
            Operation was intentionally cancelled by the user or application.
3251
            </summary>
3252
        </member>
3253
        <member name="F:LibUsbDotNet.Main.ErrorCode.InvalidParam">
3254
            <summary>
3255
            Invalid parameter.
3256
            </summary>
3257
        </member>
3258
        <member name="F:LibUsbDotNet.Main.ErrorCode.AccessDenied">
3259
            <summary>
3260
            Access denied (insufficient permissions).
3261
            </summary>
3262
        </member>
3263
        <member name="F:LibUsbDotNet.Main.ErrorCode.ResourceBusy">
3264
            <summary>
3265
            Resource Busy.
3266
            </summary>
3267
        </member>
3268
        <member name="F:LibUsbDotNet.Main.ErrorCode.Overflow">
3269
            <summary>
3270
            Overflow.
3271
            </summary>
3272
        </member>
3273
        <member name="F:LibUsbDotNet.Main.ErrorCode.PipeError">
3274
            <summary>
3275
            Pipe error or endpoint halted.
3276
            </summary>
3277
        </member>
3278
        <member name="F:LibUsbDotNet.Main.ErrorCode.Interrupted">
3279
            <summary>
3280
            System call interrupted (perhaps due to signal).
3281
            </summary>
3282
        </member>
3283
        <member name="F:LibUsbDotNet.Main.ErrorCode.InsufficientMemory">
3284
            <summary>
3285
            Insufficient memory.
3286
            </summary>
3287
        </member>
3288
        <member name="F:LibUsbDotNet.Main.ErrorCode.NotSupported">
3289
            <summary>
3290
            Operation not supported or unimplemented on this platform.
3291
            </summary>
3292
        </member>
3293
        <member name="F:LibUsbDotNet.Main.ErrorCode.UnknownError">
3294
            <summary>
3295
            Unknown or other error.
3296
            </summary>
3297
        </member>
3298
        <member name="F:LibUsbDotNet.Main.ErrorCode.MonoApiError">
3299
            <summary>
3300
            The error is one of the <see cref="T:MonoLibUsb.MonoUsbError"/>
3301
            </summary>
3302
        </member>
3303
        <member name="T:MonoLibUsb.Descriptors.MonoUsbConfigDescriptor">
3304
            <summary>A structure representing the standard USB configuration descriptor. 
3305
            This descriptor is documented in section 9.6.3 of the USB 2.0 specification. 
3306
            All multiple-byte fields are represented in host-endian format.</summary>
3307
             <example><code source="..\MonoLibUsb\MonoUsb.ShowConfig\ShowConfig.cs" lang="cs"/></example>
3308
        </member>
3309
        <member name="M:MonoLibUsb.Descriptors.MonoUsbConfigDescriptor.#ctor(MonoLibUsb.Profile.MonoUsbConfigHandle)">
3310
            <summary>
3311
            Create a new <see cref="T:MonoLibUsb.Descriptors.MonoUsbConfigDescriptor"/> instance from a <see cref="T:MonoLibUsb.Profile.MonoUsbConfigHandle"/>.
3312
            </summary>
3313
            <param name="configHandle">A config handle.</param>
3314
        </member>
3315
        <member name="F:MonoLibUsb.Descriptors.MonoUsbConfigDescriptor.bLength">
3316
            <summary> Size of this descriptor (in bytes)</summary>
3317
        </member>
3318
        <member name="F:MonoLibUsb.Descriptors.MonoUsbConfigDescriptor.bDescriptorType">
3319
            <summary> Descriptor type. Will have value LIBUSB_DT_CONFIG in this context.</summary>
3320
        </member>
3321
        <member name="F:MonoLibUsb.Descriptors.MonoUsbConfigDescriptor.wTotalLength">
3322
            <summary> Total length of data returned for this configuration</summary>
3323
        </member>
3324
        <member name="F:MonoLibUsb.Descriptors.MonoUsbConfigDescriptor.bNumInterfaces">
3325
            <summary> Number of interfaces supported by this configuration</summary>
3326
        </member>
3327
        <member name="F:MonoLibUsb.Descriptors.MonoUsbConfigDescriptor.bConfigurationValue">
3328
            <summary> Identifier value for this configuration</summary>
3329
        </member>
3330
        <member name="F:MonoLibUsb.Descriptors.MonoUsbConfigDescriptor.iConfiguration">
3331
            <summary> Index of string descriptor describing this configuration</summary>
3332
        </member>
3333
        <member name="F:MonoLibUsb.Descriptors.MonoUsbConfigDescriptor.bmAttributes">
3334
            <summary> Configuration characteristics</summary>
3335
        </member>
3336
        <member name="F:MonoLibUsb.Descriptors.MonoUsbConfigDescriptor.MaxPower">
3337
            <summary> Maximum power consumption of the USB device from this bus in this configuration when the device is fully opreation. Expressed in units of 2 mA.</summary>
3338
        </member>
3339
        <member name="F:MonoLibUsb.Descriptors.MonoUsbConfigDescriptor.pInterfaces">
3340
            <summary> Array of interfaces supported by this configuration. The length of this array is determined by the bNumInterfaces field.</summary>
3341
        </member>
3342
        <member name="F:MonoLibUsb.Descriptors.MonoUsbConfigDescriptor.pExtraBytes">
3343
            <summary> Extra descriptors. If libusb encounters unknown configuration descriptors, it will store them here, should you wish to parse them.</summary>
3344
        </member>
3345
        <member name="F:MonoLibUsb.Descriptors.MonoUsbConfigDescriptor.ExtraLength">
3346
            <summary> Length of the extra descriptors, in bytes.</summary>
3347
        </member>
3348
        <member name="P:MonoLibUsb.Descriptors.MonoUsbConfigDescriptor.ExtraBytes">
3349
            <summary> Extra descriptors. If libusb encounters unknown configuration descriptors, it will store them here, should you wish to parse them.</summary>
3350
        </member>
3351
        <member name="P:MonoLibUsb.Descriptors.MonoUsbConfigDescriptor.InterfaceList">
3352
            <summary> Array of interfaces supported by this configuration. The length of this array is determined by the bNumInterfaces field.</summary>
3353
        </member>
3354
        <member name="M:LibUsbDotNet.Internal.SetupApi.CM_Get_Device_ID(System.IntPtr,System.IntPtr,System.Int32,System.Int32)">
3355
            <summary>
3356
 
3357
            </summary>
3358
            <param name="dnDevInst">Caller-supplied device instance handle that is bound to the local machine.</param>
3359
            <param name="Buffer">Address of a buffer to receive a device instance ID string. The required buffer size can be obtained by calling CM_Get_Device_ID_Size, then incrementing the received value to allow room for the string's terminating NULL. </param>
3360
            <param name="BufferLen">Caller-supplied length, in characters, of the buffer specified by Buffer. </param>
3361
            <param name="ulFlags">Not used. set to 0.</param>
3362
            <returns>If the operation succeeds, the function returns CR_SUCCESS. Otherwise, it returns one of the CR_-prefixed error codes defined in cfgmgr32.h.</returns>
3363
        </member>
3364
        <member name="M:LibUsbDotNet.Internal.SetupApi.CM_Get_Parent(System.IntPtr@,System.IntPtr,System.Int32)">
3365
            <summary>
3366
            The CM_Get_Parent function obtains a device instance handle to the parent node of a specified device node, in the local machine's device tree.
3367
            </summary>
3368
            <param name="pdnDevInst">Caller-supplied pointer to the device instance handle to the parent node that this function retrieves. The retrieved handle is bound to the local machine.</param>
3369
            <param name="dnDevInst">Caller-supplied device instance handle that is bound to the local machine. </param>
3370
            <param name="ulFlags">Not used. set to 0.</param>
3371
            <returns>If the operation succeeds, the function returns CR_SUCCESS. Otherwise, it returns one of the CR_-prefixed error codes defined in cfgmgr32.h.</returns>
3372
        </member>
3373
        <member name="M:LibUsbDotNet.Internal.SetupApi.SetupDiEnumDeviceInterfaces(System.IntPtr,LibUsbDotNet.Internal.SetupApi.SP_DEVINFO_DATA@,System.Guid@,System.Int32,LibUsbDotNet.Internal.SetupApi.SP_DEVICE_INTERFACE_DATA@)">
3374
            <summary>
3375
            The SetupDiEnumDeviceInterfaces function enumerates the device interfaces that are contained in a device information set. 
3376
            </summary>
3377
            <param name="hDevInfo">A pointer to a device information set that contains the device interfaces for which to return information. This handle is typically returned by SetupDiGetClassDevs. </param>
3378
            <param name="devInfo">A pointer to an SP_DEVINFO_DATA structure that specifies a device information element in DeviceInfoSet. This parameter is optional and can be NULL. If this parameter is specified, SetupDiEnumDeviceInterfaces constrains the enumeration to the interfaces that are supported by the specified device. If this parameter is NULL, repeated calls to SetupDiEnumDeviceInterfaces return information about the interfaces that are associated with all the device information elements in DeviceInfoSet. This pointer is typically returned by SetupDiEnumDeviceInfo. </param>
3379
            <param name="interfaceClassGuid">A pointer to a GUID that specifies the device interface class for the requested interface. </param>
3380
            <param name="memberIndex">A zero-based index into the list of interfaces in the device information set. The caller should call this function first with MemberIndex set to zero to obtain the first interface. Then, repeatedly increment MemberIndex and retrieve an interface until this function fails and GetLastError returns ERROR_NO_MORE_ITEMS.  If DeviceInfoData specifies a particular device, the MemberIndex is relative to only the interfaces exposed by that device.</param>
3381
            <param name="deviceInterfaceData">A pointer to a caller-allocated buffer that contains, on successful return, a completed SP_DEVICE_INTERFACE_DATA structure that identifies an interface that meets the search parameters. The caller must set DeviceInterfaceData.cbSize to sizeof(SP_DEVICE_INTERFACE_DATA) before calling this function. </param>
3382
            <returns></returns>
3383
        </member>
3384
        <member name="M:LibUsbDotNet.Internal.SetupApi.SetupDiGetClassDevs(System.Guid@,System.String,System.IntPtr,LibUsbDotNet.Internal.SetupApi.DICFG)">
3385
            <summary>
3386
            The SetupDiGetClassDevs function returns a handle to a device information set that contains requested device information elements for a local machine. 
3387
            </summary>
3388
            <param name="ClassGuid">A pointer to the GUID for a device setup class or a device interface class. This pointer is optional and can be NULL. For more information about how to set ClassGuid, see the following Comments section. </param>
3389
            <param name="Enumerator">A pointer to a NULL-terminated string that supplies the name of a Plug and Play (PnP) enumerator or a PnP device instance identifier. This pointer is optional and can be NULL. For more information about how to set the Enumerator value, see the following Comments section. </param>
3390
            <param name="hwndParent">A handle of the top-level window to be used for a user interface that is associated with installing a device instance in the device information set. This handle is optional and can be NULL. </param>
3391
            <param name="Flags">A variable of type DWORD that specifies control options that filter the device information elements that are added to the device information set. This parameter can be a bitwise OR of zero or more of the following flags.</param>
3392
            <returns></returns>
3393
        </member>
3394
        <member name="M:LibUsbDotNet.Internal.SetupApi.SetupDiGetDeviceInstanceId(System.IntPtr,LibUsbDotNet.Internal.SetupApi.SP_DEVINFO_DATA@,System.Text.StringBuilder,System.Int32,System.Int32@)">
3395
            <summary>
3396
            The SetupDiGetDeviceInstanceId function retrieves the device instance ID that is associated with a device information element.
3397
            </summary>
3398
            <param name="DeviceInfoSet">A handle to the device information set that contains the device information element that represents the device for which to retrieve a device instance ID. </param>
3399
            <param name="DeviceInfoData">A pointer to an SP_DEVINFO_DATA structure that specifies the device information element in DeviceInfoSet. </param>
3400
            <param name="DeviceInstanceId">A pointer to the character buffer that will receive the NULL-terminated device instance ID for the specified device information element. For information about device instance IDs, see Device Identification Strings.</param>
3401
            <param name="DeviceInstanceIdSize">The size, in characters, of the DeviceInstanceId buffer. </param>
3402
            <param name="RequiredSize">A pointer to the variable that receives the number of characters required to store the device instance ID.</param>
3403
            <returns>The function returns TRUE if it is successful. Otherwise, it returns FALSE and the logged error can be retrieved with a call to GetLastError.</returns>
3404
        </member>
3405
        <member name="M:LibUsbDotNet.Internal.SetupApi.SetupDiGetDeviceRegistryProperty(System.IntPtr,LibUsbDotNet.Internal.SetupApi.SP_DEVINFO_DATA@,LibUsbDotNet.Main.SPDRP,Microsoft.Win32.RegistryValueKind@,System.Byte[],System.Int32,System.Int32@)">
3406
            <summary>
3407
            The SetupDiGetDeviceRegistryProperty function retrieves the specified device property.
3408
            This handle is typically returned by the SetupDiGetClassDevs or SetupDiGetClassDevsEx function.
3409
            </summary>
3410
            <param Name="DeviceInfoSet">Handle to the device information set that contains the interface and its underlying device.</param>
3411
            <param Name="DeviceInfoData">Pointer to an SP_DEVINFO_DATA structure that defines the device instance.</param>
3412
            <param Name="Property">Device property to be retrieved. SEE MSDN</param>
3413
            <param Name="PropertyRegDataType">Pointer to a variable that receives the registry data Type. This parameter can be NULL.</param>
3414
            <param Name="PropertyBuffer">Pointer to a buffer that receives the requested device property.</param>
3415
            <param Name="PropertyBufferSize">Size of the buffer, in bytes.</param>
3416
            <param Name="RequiredSize">Pointer to a variable that receives the required buffer size, in bytes. This parameter can be NULL.</param>
3417
            <returns>If the function succeeds, the return value is nonzero.</returns>
3418
        </member>
3419
        <member name="F:LibUsbDotNet.Internal.SetupApi.DICFG.DEFAULT">
3420
            <summary>
3421
            Return only the device that is associated with the system default device interface, if one is set, for the specified device interface classes. 
3422
             only valid with <see cref="F:LibUsbDotNet.Internal.SetupApi.DICFG.DEVICEINTERFACE"/>.
3423
            </summary>
3424
        </member>
3425
        <member name="F:LibUsbDotNet.Internal.SetupApi.DICFG.PRESENT">
3426
            <summary>
3427
            Return only devices that are currently present in a system. 
3428
            </summary>
3429
        </member>
3430
        <member name="F:LibUsbDotNet.Internal.SetupApi.DICFG.ALLCLASSES">
3431
            <summary>
3432
            Return a list of installed devices for all device setup classes or all device interface classes. 
3433
            </summary>
3434
        </member>
3435
        <member name="F:LibUsbDotNet.Internal.SetupApi.DICFG.PROFILE">
3436
            <summary>
3437
            Return only devices that are a part of the current hardware profile. 
3438
            </summary>
3439
        </member>
3440
        <member name="F:LibUsbDotNet.Internal.SetupApi.DICFG.DEVICEINTERFACE">
3441
            <summary>
3442
            Return devices that support device interfaces for the specified device interface classes. 
3443
            </summary>
3444
        </member>
3445
        <member name="T:LibUsbDotNet.Descriptors.UsbConfigDescriptor">
3446
            <summary> Usb Configuration Descriptor.
3447
            </summary> 
3448
        </member>
3449
        <member name="F:LibUsbDotNet.Descriptors.UsbConfigDescriptor.Size">
3450
            <summary>
3451
            Total size of this structure in bytes.
3452
            </summary>
3453
        </member>
3454
        <member name="F:LibUsbDotNet.Descriptors.UsbConfigDescriptor.TotalLength">
3455
            <summary>
3456
            Total length in bytes of data returned
3457
            </summary>
3458
        </member>
3459
        <member name="F:LibUsbDotNet.Descriptors.UsbConfigDescriptor.InterfaceCount">
3460
            <summary>
3461
            Number of Interfaces
3462
            </summary>
3463
        </member>
3464
        <member name="F:LibUsbDotNet.Descriptors.UsbConfigDescriptor.ConfigID">
3465
            <summary>
3466
            Value to use as an argument to select this Configuration
3467
            </summary>
3468
        </member>
3469
        <member name="F:LibUsbDotNet.Descriptors.UsbConfigDescriptor.StringIndex">
3470
            <summary>
3471
            Index of String Descriptor describing this Configuration
3472
            </summary>
3473
        </member>
3474
        <member name="F:LibUsbDotNet.Descriptors.UsbConfigDescriptor.Attributes">
3475
            <summary>
3476
            D7 Reserved, set to 1. (USB 1.0 Bus Powered)
3477
            D6 Self Powered
3478
            D5 Remote Wakeup
3479
            D4..0 Reserved, set to 0.
3480
            </summary>
3481
        </member>
3482
        <member name="F:LibUsbDotNet.Descriptors.UsbConfigDescriptor.MaxPower">
3483
            <summary>
3484
            Maximum Power Consumption in 2mA units 
3485
            </summary>
3486
        </member>
3487
        <member name="M:LibUsbDotNet.Descriptors.UsbConfigDescriptor.ToString">
3488
            <summary>
3489
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.Descriptors.UsbConfigDescriptor"/>.
3490
            </summary>
3491
 
3492
            <returns>
3493
            A <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.Descriptors.UsbConfigDescriptor"/>.
3494
            </returns>
3495
        </member>
3496
        <member name="M:LibUsbDotNet.Descriptors.UsbConfigDescriptor.ToString(System.String,System.String,System.String)">
3497
            <summary>
3498
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.Descriptors.UsbConfigDescriptor"/>.
3499
            </summary>
3500
 
3501
            <param name="prefixSeperator">The field prefix string.</param>
3502
            <param name="entitySperator">The field/value seperator string.</param>
3503
            <param name="suffixSeperator">The value suffix string.</param>
3504
            <returns>A formatted representation of the <see cref="T:LibUsbDotNet.Descriptors.UsbConfigDescriptor"/>.</returns>
3505
        </member>
3506
        <member name="T:LibUsbDotNet.Main.ReadEndpointID">
3507
            <summary> 
3508
            Availabled endpoint numbers/ids for reading.
3509
            </summary> 
3510
        </member>
3511
        <member name="F:LibUsbDotNet.Main.ReadEndpointID.Ep01">
3512
            <summary>
3513
            Endpoint 1
3514
            </summary>
3515
        </member>
3516
        <member name="F:LibUsbDotNet.Main.ReadEndpointID.Ep02">
3517
            <summary>
3518
            Endpoint 2
3519
            </summary>
3520
        </member>
3521
        <member name="F:LibUsbDotNet.Main.ReadEndpointID.Ep03">
3522
            <summary>
3523
            Endpoint 3
3524
            </summary>
3525
        </member>
3526
        <member name="F:LibUsbDotNet.Main.ReadEndpointID.Ep04">
3527
            <summary>
3528
            Endpoint 4
3529
            </summary>
3530
        </member>
3531
        <member name="F:LibUsbDotNet.Main.ReadEndpointID.Ep05">
3532
            <summary>
3533
            Endpoint 5
3534
            </summary>
3535
        </member>
3536
        <member name="F:LibUsbDotNet.Main.ReadEndpointID.Ep06">
3537
            <summary>
3538
            Endpoint 6
3539
            </summary>
3540
        </member>
3541
        <member name="F:LibUsbDotNet.Main.ReadEndpointID.Ep07">
3542
            <summary>
3543
            Endpoint 7
3544
            </summary>
3545
        </member>
3546
        <member name="F:LibUsbDotNet.Main.ReadEndpointID.Ep08">
3547
            <summary>
3548
            Endpoint 8
3549
            </summary>
3550
        </member>
3551
        <member name="F:LibUsbDotNet.Main.ReadEndpointID.Ep09">
3552
            <summary>
3553
            Endpoint 9
3554
            </summary>
3555
        </member>
3556
        <member name="F:LibUsbDotNet.Main.ReadEndpointID.Ep10">
3557
            <summary>
3558
            Endpoint 10
3559
            </summary>
3560
        </member>
3561
        <member name="F:LibUsbDotNet.Main.ReadEndpointID.Ep11">
3562
            <summary>
3563
            Endpoint 11
3564
            </summary>
3565
        </member>
3566
        <member name="F:LibUsbDotNet.Main.ReadEndpointID.Ep12">
3567
            <summary>
3568
            Endpoint 12
3569
            </summary>
3570
        </member>
3571
        <member name="F:LibUsbDotNet.Main.ReadEndpointID.Ep13">
3572
            <summary>
3573
            Endpoint 13
3574
            </summary>
3575
        </member>
3576
        <member name="F:LibUsbDotNet.Main.ReadEndpointID.Ep14">
3577
            <summary>
3578
            Endpoint 14
3579
            </summary>
3580
        </member>
3581
        <member name="F:LibUsbDotNet.Main.ReadEndpointID.Ep15">
3582
            <summary>
3583
            Endpoint 15
3584
            </summary>
3585
        </member>
3586
        <member name="T:MonoLibUsb.Transfer.Internal.libusb_transfer">
3587
            <remarks>
3588
            This class is never instantiated in .NET.  Instead it is used as a template by the <see cref="T:MonoLibUsb.Transfer.MonoUsbTransfer"/> class.
3589
            </remarks>
3590
        </member>
3591
        <member name="T:MonoLibUsb.Transfer.MonoUsbTansferStatus">
3592
            <summary>
3593
            Transfer status codes. 
3594
            </summary>
3595
        </member>
3596
        <member name="F:MonoLibUsb.Transfer.MonoUsbTansferStatus.TransferCompleted">
3597
            <summary>
3598
            Transfer completed without error. Note that this does not indicate that the entire amount of requested data was transferred.
3599
            </summary>
3600
        </member>
3601
        <member name="F:MonoLibUsb.Transfer.MonoUsbTansferStatus.TransferError">
3602
            <summary>
3603
            Transfer failed 
3604
            </summary>
3605
        </member>
3606
        <member name="F:MonoLibUsb.Transfer.MonoUsbTansferStatus.TransferTimedOut">
3607
            <summary>
3608
            Transfer timed out 
3609
            </summary>
3610
        </member>
3611
        <member name="F:MonoLibUsb.Transfer.MonoUsbTansferStatus.TransferCancelled">
3612
            <summary>
3613
            Transfer was cancelled 
3614
            </summary>
3615
        </member>
3616
        <member name="F:MonoLibUsb.Transfer.MonoUsbTansferStatus.TransferStall">
3617
            <summary>
3618
            For bulk/interrupt endpoints: halt condition detected (endpoint stalled). For control endpoints: control request not supported. 
3619
            </summary>
3620
        </member>
3621
        <member name="F:MonoLibUsb.Transfer.MonoUsbTansferStatus.TransferNoDevice">
3622
            <summary>
3623
            Device was disconnected 
3624
            </summary>
3625
        </member>
3626
        <member name="F:MonoLibUsb.Transfer.MonoUsbTansferStatus.TransferOverflow">
3627
            <summary>
3628
            Device sent more data than requested 
3629
            </summary>
3630
        </member>
3631
        <member name="T:LibUsbDotNet.LudnMonoLibUsb.MonoUsbDevice">
3632
            <summary>This is the LibUsbDotNet Libusb-1.0 implementation of a <see cref="T:LibUsbDotNet.UsbDevice"/>.
3633
            </summary> 
3634
            <remarks>
3635
            <para>This class is used for perform I/O and other operations on Libusb-1.0 devices using with LibUsbDotNet.</para>
3636
            <para>This class is not a part of the low-level MonLibUsb API.  This is <see cref="T:LibUsbDotNet.UsbDevice"/> class LibUsbDotNet uses to implement the low-level MonoLibUsb API.</para>
3637
            </remarks> 
3638
        </member>
3639
        <member name="M:LibUsbDotNet.LudnMonoLibUsb.MonoUsbDevice.ResetDevice">
3640
            <summary>
3641
            Sends a usb device reset command.
3642
            </summary>
3643
            <remarks>
3644
            After calling <see cref="M:LibUsbDotNet.LudnMonoLibUsb.MonoUsbDevice.ResetDevice"/>, the <see cref="T:LibUsbDotNet.LudnMonoLibUsb.MonoUsbDevice"/> instance is disposed and
3645
            no longer usable.  A new <see cref="T:LibUsbDotNet.LudnMonoLibUsb.MonoUsbDevice"/> instance must be obtained from the device list.
3646
            </remarks>
3647
            <returns>True on success.</returns>
3648
        </member>
3649
        <member name="M:LibUsbDotNet.LudnMonoLibUsb.MonoUsbDevice.Close">
3650
            <summary>
3651
            Closes the <see cref="T:LibUsbDotNet.UsbDevice"/> and disposes any <see cref="P:LibUsbDotNet.UsbDevice.ActiveEndpoints"/>.
3652
            </summary>
3653
            <returns>True on success.</returns>
3654
        </member>
3655
        <member name="M:LibUsbDotNet.LudnMonoLibUsb.MonoUsbDevice.ControlTransfer(LibUsbDotNet.Main.UsbSetupPacket@,System.IntPtr,System.Int32,System.Int32@)">
3656
            <summary>
3657
            Transmits control data over a default control endpoint.
3658
            </summary>
3659
            <param name="setupPacket">An 8-byte setup packet which contains parameters for the control request. 
3660
            See section 9.3 USB Device Requests of the Universal Serial Bus Specification Revision 2.0 for more information. </param>
3661
            <param name="buffer">Data to be sent/received from the device.</param>
3662
            <param name="bufferLength">Length of the buffer param.</param>
3663
            <param name="lengthTransferred">Number of bytes sent or received (depends on the direction of the control transfer).</param>
3664
            <returns>True on success.</returns>
3665
        </member>
3666
        <member name="M:LibUsbDotNet.LudnMonoLibUsb.MonoUsbDevice.GetDescriptor(System.Byte,System.Byte,System.Int16,System.IntPtr,System.Int32,System.Int32@)">
3667
            <summary>
3668
            Gets a descriptor from the device. See <see cref="T:LibUsbDotNet.Descriptors.DescriptorType"/> for more information.
3669
            </summary>
3670
            <param name="descriptorType">The descriptor type ID to retrieve; this is usually one of the <see cref="T:LibUsbDotNet.Descriptors.DescriptorType"/> enumerations.</param>
3671
            <param name="index">Descriptor index.</param>
3672
            <param name="langId">Descriptor language id.</param>
3673
            <param name="buffer">Memory to store the returned descriptor in.</param>
3674
            <param name="bufferLength">Length of the buffer parameter in bytes.</param>
3675
            <param name="transferLength">The number of bytes transferred to buffer upon success.</param>
3676
            <returns>True on success.</returns>
3677
        </member>
3678
        <member name="M:LibUsbDotNet.LudnMonoLibUsb.MonoUsbDevice.Open">
3679
            <summary>
3680
             Opens the USB device handle.
3681
            </summary>
3682
            <returns>
3683
            True if the device is already opened or was opened successfully.
3684
            False if the device does not exists or is no longer valid.  
3685
            </returns>
3686
        </member>
3687
        <member name="M:LibUsbDotNet.LudnMonoLibUsb.MonoUsbDevice.OpenEndpointReader(LibUsbDotNet.Main.ReadEndpointID,System.Int32,LibUsbDotNet.Main.EndpointType)">
3688
            <summary>
3689
            Opens an endpoint for reading
3690
            </summary>
3691
            <param name="readEndpointID">Endpoint number for read operations.</param>
3692
            <param name="readBufferSize">Size of the read buffer allocated for the <see cref="E:LibUsbDotNet.UsbEndpointReader.DataReceived"/> event.</param>
3693
            <param name="endpointType">The type of endpoint to open.</param>
3694
            <returns>A <see cref="T:LibUsbDotNet.UsbEndpointReader"/> class ready for reading. If the specified endpoint is already been opened, the original <see cref="T:LibUsbDotNet.UsbEndpointReader"/> class is returned.</returns>
3695
        </member>
3696
        <member name="M:LibUsbDotNet.LudnMonoLibUsb.MonoUsbDevice.OpenEndpointWriter(LibUsbDotNet.Main.WriteEndpointID,LibUsbDotNet.Main.EndpointType)">
3697
            <summary>
3698
            Opens an endpoint for writing
3699
            </summary>
3700
            <param name="writeEndpointID">Endpoint number for read operations.</param>
3701
            <param name="endpointType">The type of endpoint to open.</param>
3702
            <returns>A <see cref="T:LibUsbDotNet.UsbEndpointWriter"/> class ready for writing. If the specified endpoint is already been opened, the original <see cref="T:LibUsbDotNet.UsbEndpointWriter"/> class is returned.</returns>
3703
        </member>
3704
        <member name="M:LibUsbDotNet.LudnMonoLibUsb.MonoUsbDevice.SetConfiguration(System.Byte)">
3705
            <summary>
3706
            Sets the USB devices active configuration value. 
3707
            </summary>
3708
            <param name="config">The active configuration value. A zero value means the device is not configured and a non-zero value indicates the device is configured.</param>
3709
            <returns>True on success.</returns>
3710
            <remarks>
3711
            A USB device can have several different configurations, but only one active configuration.
3712
            </remarks>
3713
        </member>
3714
        <member name="M:LibUsbDotNet.LudnMonoLibUsb.MonoUsbDevice.GetConfiguration(System.Byte@)">
3715
            <summary>
3716
            Gets the USB devices active configuration value. 
3717
            </summary>
3718
            <param name="config">The active configuration value. A zero value means the device is not configured and a non-zero value indicates the device is configured.</param>
3719
            <returns>True on success.</returns>
3720
        </member>
3721
        <member name="M:LibUsbDotNet.LudnMonoLibUsb.MonoUsbDevice.ClaimInterface(System.Int32)">
3722
            <summary>
3723
            Claims the specified interface of the device.
3724
            </summary>
3725
            <param name="interfaceID">The interface to claim.</param>
3726
            <returns>True on success.</returns>
3727
        </member>
3728
        <member name="M:LibUsbDotNet.LudnMonoLibUsb.MonoUsbDevice.ReleaseInterface(System.Int32)">
3729
            <summary>
3730
            Releases an interface that was previously claimed with <see cref="M:LibUsbDotNet.LudnMonoLibUsb.MonoUsbDevice.ClaimInterface(System.Int32)"/>.
3731
            </summary>
3732
            <param name="interfaceID">The interface to release.</param>
3733
            <returns>True on success.</returns>
3734
        </member>
3735
        <member name="M:LibUsbDotNet.LudnMonoLibUsb.MonoUsbDevice.SetAltInterface(System.Int32)">
3736
            <summary>
3737
            Sets an alternate interface for the most recent claimed interface.
3738
            </summary>
3739
            <param name="alternateID">The alternate interface to select for the most recent claimed interface See <see cref="M:LibUsbDotNet.LudnMonoLibUsb.MonoUsbDevice.ClaimInterface(System.Int32)"/>.</param>
3740
            <returns>True on success.</returns>
3741
        </member>
3742
        <member name="M:LibUsbDotNet.LudnMonoLibUsb.MonoUsbDevice.Init">
3743
            <summary>
3744
            Initializes the <see cref="P:MonoLibUsb.MonoUsbEventHandler.SessionHandle"/> with <see cref="M:MonoLibUsb.MonoUsbEventHandler.Init"/> and starts the static handle events thread with <see cref="M:MonoLibUsb.MonoUsbEventHandler.Start"/>. 
3745
            </summary>
3746
            <remarks>
3747
            This is done automatically when needed.
3748
            <para>Usually there is no need to call this functions externally.</para> 
3749
            </remarks>
3750
        </member>
3751
        <member name="P:LibUsbDotNet.LudnMonoLibUsb.MonoUsbDevice.MonoUsbDeviceList">
3752
            <summary>
3753
            Gets a <see cref="T:LibUsbDotNet.LudnMonoLibUsb.MonoUsbDevice"/> list of Libusb-1.0 devices.  
3754
            </summary>
3755
            <remarks>
3756
            <para>Using the <see cref="P:LibUsbDotNet.LudnMonoLibUsb.MonoUsbDevice.MonoUsbDeviceList"/> property will request a device list directly from the <a href="http://www.libusb.org/">Libusb-1.0</a> driver.</para> 
3757
            <para><a href="http://www.libusb.org/">Libusb-1.0</a> is compatible with several platforms including windows.</para>
3758
            <para>You can force LibUsbDotNet to always use <a href="http://www.libusb.org/">Libusb-1.0</a> with the <see cref="F:LibUsbDotNet.UsbDevice.ForceLibUsbWinBack"/> member.</para>
3759
            <seealso cref="P:LibUsbDotNet.UsbDevice.AllDevices"/>
3760
            <seealso cref="P:LibUsbDotNet.UsbDevice.AllLibUsbDevices"/>
3761
            </remarks>
3762
        </member>
3763
        <member name="P:LibUsbDotNet.LudnMonoLibUsb.MonoUsbDevice.DeviceAddress">
3764
            <summary>
3765
            Gets the instance address the device is using.
3766
            </summary>
3767
        </member>
3768
        <member name="P:LibUsbDotNet.LudnMonoLibUsb.MonoUsbDevice.BusNumber">
3769
            <summary>
3770
            Gets the bus number the device is connected to.
3771
            </summary>
3772
        </member>
3773
        <member name="P:LibUsbDotNet.LudnMonoLibUsb.MonoUsbDevice.DriverMode">
3774
            <summary>
3775
            Returns the DriverMode this USB device is using.
3776
            </summary>
3777
        </member>
3778
        <member name="P:LibUsbDotNet.LudnMonoLibUsb.MonoUsbDevice.Profile">
3779
            <summary>
3780
            Gets the <see cref="T:MonoLibUsb.Profile.MonoUsbProfile"/> for this usb device.
3781
            </summary>
3782
        </member>
3783
        <member name="P:LibUsbDotNet.LudnMonoLibUsb.MonoUsbDevice.UsbRegistryInfo">
3784
            <summary>
3785
            Gets the <see cref="T:LibUsbDotNet.Main.UsbRegistry"/> class that opened the device, or null if the device was not opened by the <see cref="T:LibUsbDotNet.Main.UsbRegistry"/> class.
3786
            </summary>
3787
        </member>
3788
        <member name="P:LibUsbDotNet.LudnMonoLibUsb.MonoUsbDevice.Configs">
3789
            <summary>
3790
             Gets the available configurations for this <see cref="T:LibUsbDotNet.UsbDevice"/>
3791
            </summary>
3792
             <remarks>
3793
             The first time this property is accessed it will query the <see cref="T:LibUsbDotNet.UsbDevice"/> for all configurations.  Subsequent request will return a cached copy of all configurations.
3794
             </remarks>
3795
        </member>
3796
        <member name="P:LibUsbDotNet.LudnMonoLibUsb.MonoUsbDevice.Info">
3797
            <summary>
3798
            Gets the actual device descriptor the the current <see cref="T:LibUsbDotNet.UsbDevice"/>.
3799
            </summary>
3800
        </member>
3801
        <member name="T:LibUsbDotNet.Main.UsbConstants">
3802
            <summary> Various USB constants.
3803
            </summary> 
3804
        </member>
3805
        <member name="F:LibUsbDotNet.Main.UsbConstants.DEFAULT_TIMEOUT">
3806
            <summary>
3807
            Default timeout for all USB IO operations.
3808
            </summary>
3809
        </member>
3810
        <member name="F:LibUsbDotNet.Main.UsbConstants.MAX_CONFIG_SIZE">
3811
            <summary>
3812
            Maximum size of a config descriptor.
3813
            </summary>
3814
        </member>
3815
        <member name="F:LibUsbDotNet.Main.UsbConstants.MAX_DEVICES">
3816
            <summary>
3817
            Maximum number of USB devices.
3818
            </summary>
3819
        </member>
3820
        <member name="F:LibUsbDotNet.Main.UsbConstants.MAX_ENDPOINTS">
3821
            <summary>
3822
            Maximum number of endpoints per device.
3823
            </summary>
3824
        </member>
3825
        <member name="F:LibUsbDotNet.Main.UsbConstants.ENDPOINT_DIR_MASK">
3826
            <summary>
3827
            Endpoint direction mask.
3828
            </summary>
3829
        </member>
3830
        <member name="F:LibUsbDotNet.Main.UsbConstants.ENDPOINT_NUMBER_MASK">
3831
            <summary>
3832
            Endpoint number mask.
3833
            </summary>
3834
        </member>
3835
        <member name="T:LibUsbDotNet.Main.EndpointDataEventArgs">
3836
            <summary> Endpoint data received arguments returned by the <see cref="E:LibUsbDotNet.UsbEndpointReader.DataReceived"/> event.
3837
            </summary> 
3838
        </member>
3839
        <member name="P:LibUsbDotNet.Main.EndpointDataEventArgs.Buffer">
3840
            <summary>
3841
            Gets the buffer of the received data.
3842
            </summary>
3843
            <remarks>
3844
            Use the <see cref="P:LibUsbDotNet.Main.EndpointDataEventArgs.Count"/> property to determine the number of bytes actually received.
3845
            </remarks>
3846
        </member>
3847
        <member name="P:LibUsbDotNet.Main.EndpointDataEventArgs.Count">
3848
            <summary>
3849
            Gets the number of bytes received.
3850
            </summary>
3851
        </member>
3852
        <member name="T:MonoLibUsb.Transfer.MonoUsbTransfer">
3853
            <summary>
3854
            Reads/writes a Libusb-1.0 transfer pointer.  Transfer should be allocated with <see cref="M:MonoLibUsb.Transfer.MonoUsbTransfer.Alloc(System.Int32)"/>.
3855
            </summary>
3856
            <remarks>
3857
            The user populates this structure and then submits it in order to request a transfer. 
3858
            After the transfer has completed, the library populates the transfer with the results 
3859
            and passes it back to the user.
3860
            <note title="Libusb-1.0 API Note:" type="cpp">
3861
            The <see cref="T:MonoLibUsb.Transfer.MonoUsbTransfer"/> structure is roughly equivalent to
3862
            the <a href="http://libusb.sourceforge.net/api-1.0/structlibusb__transfer.html">struct libusb_transfer</a>.
3863
            </note>
3864
            </remarks>
3865
        </member>
3866
        <member name="M:MonoLibUsb.Transfer.MonoUsbTransfer.#ctor(System.Int32)">
3867
            <summary>
3868
            Allocate a libusb transfer with a specified number of isochronous packet descriptors 
3869
            </summary>
3870
            <remarks>
3871
            <para>The transfer is pre-initialized for you. When the new transfer is no longer needed, it should be freed with <see cref="M:MonoLibUsb.Transfer.MonoUsbTransfer.Free"/>.</para>
3872
            <para>Transfers intended for non-isochronous endpoints (e.g. control, bulk, interrupt) should specify an iso_packets count of zero.</para>
3873
            <para>For transfers intended for isochronous endpoints, specify an appropriate number of packet descriptors to be allocated as part of the transfer. The returned transfer is not specially initialized for isochronous I/O; you are still required to set the <see cref="P:MonoLibUsb.Transfer.MonoUsbTransfer.NumIsoPackets"/> and <see cref="P:MonoLibUsb.Transfer.MonoUsbTransfer.Type"/> fields accordingly.</para>
3874
            <para>It is safe to allocate a transfer with some isochronous packets and then use it on a non-isochronous endpoint. If you do this, ensure that at time of submission, <see cref="P:MonoLibUsb.Transfer.MonoUsbTransfer.NumIsoPackets"/> is 0 and that type is set appropriately.</para>
3875
            </remarks>
3876
            <param name="numIsoPackets">number of isochronous packet descriptors to allocate.</param>
3877
        </member>
3878
        <member name="M:MonoLibUsb.Transfer.MonoUsbTransfer.#ctor(System.IntPtr)">
3879
            <summary>
3880
            Creates a new wrapper for transfers allocated by <see cref="M:MonoLibUsb.MonoUsbApi.AllocTransfer(System.Int32)"/>,
3881
            </summary>
3882
            <param name="pTransfer">The pointer to the transfer that was previously allocated with<see cref="M:MonoLibUsb.MonoUsbApi.AllocTransfer(System.Int32)"/>. </param>
3883
        </member>
3884
        <member name="M:MonoLibUsb.Transfer.MonoUsbTransfer.Free">
3885
             <summary>
3886
             Frees this transfer.
3887
             </summary>
3888
            <remarks>
3889
             <note title="Libusb-1.0 API Note:" type="cpp">
3890
             <see cref="M:MonoLibUsb.Transfer.MonoUsbTransfer.Free"/> is roughly equivalent to
3891
             <a href="http://libusb.sourceforge.net/api-1.0/group__asyncio.html#ga6ab8b2cff4de9091298a06b2f4b86cd6">libusb_free_transfer()</a>.
3892
             </note>
3893
             <note type="warning">
3894
             Calling <see cref="M:MonoLibUsb.Transfer.MonoUsbTransfer.Free"/> on a transfer that has already been freed will result in a double free.
3895
             </note> 
3896
             </remarks>
3897
        </member>
3898
        <member name="M:MonoLibUsb.Transfer.MonoUsbTransfer.UniqueName">
3899
            <summary>
3900
            Gets a unqiue name for this transfer.
3901
            </summary>
3902
            <returns>A unqiue name for this transfer.</returns>
3903
        </member>
3904
        <member name="M:MonoLibUsb.Transfer.MonoUsbTransfer.IsoPacket(System.Int32)">
3905
            <summary>
3906
            Gets a <see cref="T:MonoLibUsb.Transfer.MonoUsbIsoPacket"/> that represents the specified iso packet descriptor. 
3907
            </summary>
3908
            <param name="packetNumber">The iso packet descriptor to return.</param>
3909
            <returns>The <see cref="T:MonoLibUsb.Transfer.MonoUsbIsoPacket"/> that represents <paramref name="packetNumber"/>.</returns>
3910
        </member>
3911
        <member name="M:MonoLibUsb.Transfer.MonoUsbTransfer.Cancel">
3912
            <summary>
3913
            Cancels this transfer.
3914
            </summary>
3915
            <remarks>
3916
            <note title="Libusb-1.0 API Note:" type="cpp">
3917
            <see cref="M:MonoLibUsb.Transfer.MonoUsbTransfer.Cancel"/> is roughly equivalent to
3918
            <a href="http://libusb.sourceforge.net/api-1.0/group__asyncio.html#ga685eb7731f9a0593f75beb99727bbe54">libusb_cancel_transfer()</a>.
3919
            </note>
3920
            </remarks>
3921
            <returns><see cref="F:MonoLibUsb.MonoUsbError.Success"/> if the cancel succeeds, otherwise one of the other <see cref="T:MonoLibUsb.MonoUsbError"/> codes.</returns>
3922
        </member>
3923
        <member name="M:MonoLibUsb.Transfer.MonoUsbTransfer.FillBulk(MonoLibUsb.MonoUsbDeviceHandle,System.Byte,System.IntPtr,System.Int32,System.Delegate,System.IntPtr,System.Int32)">
3924
            <summary>
3925
            Helper function to populate the required <see cref="T:MonoLibUsb.Transfer.MonoUsbTransfer"/> properties for a bulk transfer.
3926
            </summary>
3927
            <remarks>
3928
            <note title="Libusb-1.0 API Note:" type="cpp">
3929
            <see cref="M:MonoLibUsb.Transfer.MonoUsbTransfer.FillBulk(MonoLibUsb.MonoUsbDeviceHandle,System.Byte,System.IntPtr,System.Int32,System.Delegate,System.IntPtr,System.Int32)"/> is similar to
3930
            <a href="http://libusb.sourceforge.net/api-1.0/group__asyncio.html#gad4ddb1a5c6c7fefc979a44d7300b95d7">libusb_fill_bulk_transfer()</a>.
3931
            </note>
3932
            </remarks>
3933
            <param name="devHandle">handle of the device that will handle the transfer</param>
3934
            <param name="endpoint">address of the endpoint where this transfer will be sent</param>
3935
            <param name="buffer">data buffer</param>
3936
            <param name="length">length of data buffer</param>
3937
            <param name="callback">callback function to be invoked on transfer completion</param>
3938
            <param name="userData">user data to pass to callback function</param>
3939
            <param name="timeout">timeout for the transfer in milliseconds</param>
3940
        </member>
3941
        <member name="M:MonoLibUsb.Transfer.MonoUsbTransfer.FillInterrupt(MonoLibUsb.MonoUsbDeviceHandle,System.Byte,System.IntPtr,System.Int32,System.Delegate,System.IntPtr,System.Int32)">
3942
            <summary>
3943
            Helper function to populate the required <see cref="T:MonoLibUsb.Transfer.MonoUsbTransfer"/> properties for an interrupt transfer.
3944
            </summary>
3945
            <remarks>
3946
            <note title="Libusb-1.0 API Note:" type="cpp">
3947
            <see cref="M:MonoLibUsb.Transfer.MonoUsbTransfer.FillInterrupt(MonoLibUsb.MonoUsbDeviceHandle,System.Byte,System.IntPtr,System.Int32,System.Delegate,System.IntPtr,System.Int32)"/> is roughly equivalent to
3948
            <a href="http://libusb.sourceforge.net/api-1.0/group__asyncio.html#ga90f53cea1124a7566df1aa1202b77510">libusb_fill_interrupt_transfer()</a>.
3949
            </note>
3950
            </remarks>
3951
            <param name="devHandle">handle of the device that will handle the transfer</param>
3952
            <param name="endpoint">address of the endpoint where this transfer will be sent</param>
3953
            <param name="buffer">data buffer</param>
3954
            <param name="length">length of data buffer</param>
3955
            <param name="callback">callback function to be invoked on transfer completion</param>
3956
            <param name="userData">user data to pass to callback function</param>
3957
            <param name="timeout">timeout for the transfer in milliseconds</param>
3958
        </member>
3959
        <member name="M:MonoLibUsb.Transfer.MonoUsbTransfer.FillIsochronous(MonoLibUsb.MonoUsbDeviceHandle,System.Byte,System.IntPtr,System.Int32,System.Int32,System.Delegate,System.IntPtr,System.Int32)">
3960
            <summary>
3961
            Helper function to populate the required <see cref="T:MonoLibUsb.Transfer.MonoUsbTransfer"/> properties for an isochronous transfer.
3962
            </summary>
3963
            <remarks>
3964
            <note type="tip">
3965
            <para>Isochronous transfers are not supported on windows.</para>
3966
            </note>
3967
            <note title="Libusb-1.0 API Note:" type="cpp">
3968
            <see cref="M:MonoLibUsb.Transfer.MonoUsbTransfer.FillIsochronous(MonoLibUsb.MonoUsbDeviceHandle,System.Byte,System.IntPtr,System.Int32,System.Int32,System.Delegate,System.IntPtr,System.Int32)"/> is similar to
3969
            <a href="http://libusb.sourceforge.net/api-1.0/group__asyncio.html#ga30fdce8c461e851f0aa4c851014e1aa7">libusb_fill_iso_transfer()</a>.
3970
            </note>
3971
            </remarks>
3972
            <param name="devHandle">handle of the device that will handle the transfer</param>
3973
            <param name="endpoint">address of the endpoint where this transfer will be sent</param>
3974
            <param name="buffer">data buffer</param>
3975
            <param name="length">length of data buffer</param>
3976
            <param name="numIsoPackets">the number of isochronous packets</param>
3977
            <param name="callback">callback function to be invoked on transfer completion</param>
3978
            <param name="userData">user data to pass to callback function</param>
3979
            <param name="timeout">timeout for the transfer in milliseconds</param>
3980
        </member>
3981
        <member name="M:MonoLibUsb.Transfer.MonoUsbTransfer.GetIsoPacketBuffer(System.Int32)">
3982
            <summary>
3983
            Convenience function to locate the position of an isochronous packet within the buffer of an isochronous transfer. 
3984
            </summary>
3985
            <remarks>
3986
            <para>This is a thorough function which loops through all preceding packets, accumulating their lengths to find the position of the specified packet. Typically you will assign equal lengths to each packet in the transfer, and hence the above method is sub-optimal. You may wish to use <see cref="M:MonoLibUsb.Transfer.MonoUsbTransfer.GetIsoPacketBufferSimple(System.Int32)"/> instead.</para>
3987
            <note title="Libusb-1.0 API Note:" type="cpp">
3988
            <see cref="M:MonoLibUsb.Transfer.MonoUsbTransfer.GetIsoPacketBuffer(System.Int32)"/> is roughly equivalent to
3989
            <a href="http://libusb.sourceforge.net/api-1.0/group__asyncio.html#ga7f6ea0eb35a216d19d984977e454a7b3">libusb_get_iso_packet_buffer()</a>.
3990
            </note>
3991
            </remarks>
3992
            <param name="packet">The packet to return the address of.</param>
3993
            <returns>the base address of the packet buffer inside the transfer buffer.</returns>
3994
            <exception cref="T:System.ArgumentOutOfRangeException">This exception is thrown if the packet requested is &gt;= <see cref="P:MonoLibUsb.Transfer.MonoUsbTransfer.NumIsoPackets"/>.</exception>
3995
        </member>
3996
        <member name="M:MonoLibUsb.Transfer.MonoUsbTransfer.GetIsoPacketBufferSimple(System.Int32)">
3997
            <summary>
3998
            Convenience function to locate the position of an isochronous packet within the buffer of an isochronous transfer, for transfers where each packet is of identical size.
3999
            </summary>
4000
            <remarks>
4001
            <para>This function relies on the assumption that every packet within the transfer is of identical size to the first packet. Calculating the location of the packet buffer is then just a simple calculation: buffer + (packet_size * packet)</para>
4002
            <para>Do not use this function on transfers other than those that have identical packet lengths for each packet.</para>
4003
            <note title="Libusb-1.0 API Note:" type="cpp">
4004
            <see cref="M:MonoLibUsb.Transfer.MonoUsbTransfer.GetIsoPacketBufferSimple(System.Int32)"/> is roughly equivalent to
4005
            <a href="http://libusb.sourceforge.net/api-1.0/group__asyncio.html#ga3df9a28c4f5c8f1850181ddb5efd12fd">libusb_get_iso_packet_buffer_simple()</a>.
4006
            </note>        
4007
            </remarks>
4008
            <param name="packet">The packet to return the address of.</param>
4009
            <returns>the base address of the packet buffer inside the transfer buffer.</returns>
4010
            <exception cref="T:System.ArgumentOutOfRangeException">This exception is thrown if the packet requested is &gt;= <see cref="P:MonoLibUsb.Transfer.MonoUsbTransfer.NumIsoPackets"/>.</exception>
4011
        </member>
4012
        <member name="M:MonoLibUsb.Transfer.MonoUsbTransfer.SetIsoPacketLengths(System.Int32)">
4013
            <summary>
4014
            Convenience function to set the length of all packets in an isochronous transfer, based on the num_iso_packets field in the transfer structure. 
4015
            </summary>
4016
            <remarks>
4017
            <note title="Libusb-1.0 API Note:" type="cpp">
4018
            <see cref="M:MonoLibUsb.Transfer.MonoUsbTransfer.SetIsoPacketLengths(System.Int32)"/> is roughly equivalent to
4019
            <a href="http://libusb.sourceforge.net/api-1.0/group__asyncio.html#gacbdecd6f50093f0c1d0e72ee35ace274">libusb_set_iso_packet_lengths()</a>.
4020
            </note>   
4021
            </remarks>
4022
            <param name="length">The length to set in each isochronous packet descriptor.</param>
4023
        </member>
4024
        <member name="M:MonoLibUsb.Transfer.MonoUsbTransfer.Submit">
4025
            <summary>
4026
            Submits this transfer.
4027
            </summary>
4028
            <remarks>
4029
            This functions submits the USB transfer and return immediately.
4030
            <note>
4031
            <see cref="M:MonoLibUsb.Transfer.MonoUsbTransfer.Submit"/> is roughly equivalent to
4032
            <a href="http://libusb.sourceforge.net/api-1.0/group__asyncio.html#gabb0932601f2c7dad2fee4b27962848ce">libusb_submit_transfer()</a>.
4033
            </note>
4034
            </remarks>
4035
            <returns>
4036
            <see cref="F:MonoLibUsb.MonoUsbError.Success"/> if the submit succeeds, 
4037
            otherwise one of the other <see cref="T:MonoLibUsb.MonoUsbError"/> codes.
4038
            </returns>
4039
        </member>
4040
        <member name="M:MonoLibUsb.Transfer.MonoUsbTransfer.Alloc(System.Int32)">
4041
            <summary>
4042
            Allocate a libusb transfer with a specified number of isochronous packet descriptors 
4043
            </summary>
4044
            <remarks>
4045
            <para>The returned transfer is pre-initialized for you. When the new transfer is no longer needed, it should be freed with <see cref="M:MonoLibUsb.Transfer.MonoUsbTransfer.Free"/>.</para>
4046
            <para>Transfers intended for non-isochronous endpoints (e.g. control, bulk, interrupt) should specify an iso_packets count of zero.</para>
4047
            <para>For transfers intended for isochronous endpoints, specify an appropriate number of packet descriptors to be allocated as part of the transfer. The returned transfer is not specially initialized for isochronous I/O; you are still required to set the <see cref="P:MonoLibUsb.Transfer.MonoUsbTransfer.NumIsoPackets"/> and <see cref="P:MonoLibUsb.Transfer.MonoUsbTransfer.Type"/> fields accordingly.</para>
4048
            <para>It is safe to allocate a transfer with some isochronous packets and then use it on a non-isochronous endpoint. If you do this, ensure that at time of submission, <see cref="P:MonoLibUsb.Transfer.MonoUsbTransfer.NumIsoPackets"/> is 0 and that type is set appropriately.</para>
4049
            <note title="Libusb-1.0 API Note:" type="cpp">
4050
            <see cref="M:MonoLibUsb.Transfer.MonoUsbTransfer.Alloc(System.Int32)"/> is roughly equivalent to
4051
            <a href="http://libusb.sourceforge.net/api-1.0/group__asyncio.html#ga13cc69ea40c702181c430c950121c000">libusb_alloc_transfer()</a>.
4052
            </note>
4053
            </remarks>
4054
            <param name="numIsoPackets">number of isochronous packet descriptors to allocate.</param>
4055
            <returns>A newly allocated <see cref="T:MonoLibUsb.Transfer.MonoUsbTransfer"/>.</returns>
4056
            <exception cref="T:System.OutOfMemoryException">If the transfer was not allocated.</exception>
4057
        </member>
4058
        <member name="M:MonoLibUsb.Transfer.MonoUsbTransfer.FillControl(MonoLibUsb.MonoUsbDeviceHandle,MonoLibUsb.Transfer.MonoUsbControlSetupHandle,System.Delegate,System.IntPtr,System.Int32)">
4059
            <summary>
4060
            Helper function to populate the required <see cref="T:MonoLibUsb.Transfer.MonoUsbTransfer"/> properties for a control transfer.
4061
            </summary>
4062
            <remarks>
4063
            <note type="tip">
4064
            <para>Isochronous transfers are not supported on windows.</para>
4065
            </note>
4066
            <note title="Libusb-1.0 API Note:" type="cpp">
4067
            <see cref="M:MonoLibUsb.Transfer.MonoUsbTransfer.FillControl(MonoLibUsb.MonoUsbDeviceHandle,MonoLibUsb.Transfer.MonoUsbControlSetupHandle,System.Delegate,System.IntPtr,System.Int32)"/> is similar to
4068
            <a href="http://libusb.sourceforge.net/api-1.0/group__asyncio.html#ga3a8513ed87229fe2c9771ef0bf17206e">libusb_fill_control_transfer()</a>.
4069
            </note>
4070
            </remarks>
4071
            <param name="devHandle">handle of the device that will handle the transfer</param>
4072
            <param name="controlSetupHandle">the setup packet/control data to transfer.</param>
4073
            <param name="callback">callback function to be invoked on transfer completion</param>
4074
            <param name="userData">user data to pass to callback function</param>
4075
            <param name="timeout">timeout for the transfer in milliseconds</param>
4076
        </member>
4077
        <member name="P:MonoLibUsb.Transfer.MonoUsbTransfer.PtrBuffer">
4078
            <summary>
4079
            Gets the buffer data pointer.
4080
            </summary>
4081
        </member>
4082
        <member name="P:MonoLibUsb.Transfer.MonoUsbTransfer.PtrUserData">
4083
            <summary>
4084
            User context data to pass to the callback function.
4085
            </summary>
4086
        </member>
4087
        <member name="P:MonoLibUsb.Transfer.MonoUsbTransfer.PtrCallbackFn">
4088
            <summary>
4089
            Callback function pointer.
4090
            </summary>
4091
            <remarks>
4092
            The callback function must be declared as a <see cref="T:MonoLibUsb.MonoUsbTransferDelegate"/>.
4093
            </remarks>
4094
        </member>
4095
        <member name="P:MonoLibUsb.Transfer.MonoUsbTransfer.ActualLength">
4096
            <summary>
4097
            Actual length of data that was transferred. 
4098
            </summary>
4099
        </member>
4100
        <member name="P:MonoLibUsb.Transfer.MonoUsbTransfer.Length">
4101
            <summary>
4102
            Length of the data buffer.
4103
            </summary>
4104
        </member>
4105
        <member name="P:MonoLibUsb.Transfer.MonoUsbTransfer.Status">
4106
            <summary>
4107
            The status of the transfer.
4108
            </summary>
4109
        </member>
4110
        <member name="P:MonoLibUsb.Transfer.MonoUsbTransfer.Timeout">
4111
            <summary>
4112
            Timeout for this transfer in millseconds.
4113
            </summary>
4114
        </member>
4115
        <member name="P:MonoLibUsb.Transfer.MonoUsbTransfer.Type">
4116
            <summary>
4117
            Type of the endpoint. 
4118
            </summary>
4119
        </member>
4120
        <member name="P:MonoLibUsb.Transfer.MonoUsbTransfer.Endpoint">
4121
            <summary>
4122
            Enpoint address.
4123
            </summary>
4124
        </member>
4125
        <member name="P:MonoLibUsb.Transfer.MonoUsbTransfer.Flags">
4126
            <summary>
4127
            A bitwise OR combination of <see cref="T:MonoLibUsb.Transfer.MonoUsbTransferFlags"/>.
4128
            </summary>
4129
        </member>
4130
        <member name="P:MonoLibUsb.Transfer.MonoUsbTransfer.PtrDeviceHandle">
4131
            <summary>
4132
            Raw device handle pointer.
4133
            </summary>
4134
        </member>
4135
        <member name="P:MonoLibUsb.Transfer.MonoUsbTransfer.NumIsoPackets">
4136
            <summary>
4137
            Number of isochronous packets. 
4138
            </summary>
4139
        </member>
4140
        <member name="P:MonoLibUsb.Transfer.MonoUsbTransfer.IsInvalid">
4141
            <summary>
4142
            True if the transfer is allocated.
4143
            </summary>
4144
        </member>
4145
        <member name="T:MonoLibUsb.MonoUsbEventHandler">
4146
            <summary>
4147
            Manages a static Libusb-1.0 <see cref="T:MonoLibUsb.MonoUsbSessionHandle"/> and "handle_events" thread for simplified asynchronous IO.
4148
            </summary>
4149
            <remarks>
4150
            <para>This class contains its own <see cref="T:MonoLibUsb.MonoUsbSessionHandle"/> that is initialized with one of the overloaded <see cref="M:MonoLibUsb.MonoUsbEventHandler.Init">MonoUsbEventHandler.Init()</see> functions.</para>
4151
            <para>This class contains a static thread that execute <see cref="M:MonoLibUsb.MonoUsbApi.HandleEventsTimeout(MonoLibUsb.MonoUsbSessionHandle,MonoLibUsb.UnixNativeTimeval@)"/>. See the <see cref="M:MonoLibUsb.MonoUsbEventHandler.Start"/> and <see cref="M:MonoLibUsb.MonoUsbEventHandler.Stop(System.Boolean)"/> methods.</para>
4152
            </remarks>
4153
        </member>
4154
        <member name="M:MonoLibUsb.MonoUsbEventHandler.Exit">
4155
            <summary>
4156
            Stops the handle events thread and closes the session handle.
4157
            </summary>
4158
        </member>
4159
        <member name="M:MonoLibUsb.MonoUsbEventHandler.Init(System.Int64,System.Int64)">
4160
            <summary>
4161
            Initializes the <see cref="P:MonoLibUsb.MonoUsbEventHandler.SessionHandle"/> and sets a custom polling interval.
4162
            </summary>
4163
            <param name="tvSec">polling interval seconds</param>
4164
            <param name="tvUsec">polling interval milliseconds</param>
4165
            <seealso cref="M:MonoLibUsb.MonoUsbEventHandler.Init"/>
4166
            <seealso cref="P:MonoLibUsb.MonoUsbEventHandler.SessionHandle"/> 
4167
        </member>
4168
        <member name="M:MonoLibUsb.MonoUsbEventHandler.Init">
4169
            <summary>
4170
            Initializes the <see cref="P:MonoLibUsb.MonoUsbEventHandler.SessionHandle"/>.
4171
            </summary>
4172
            <remarks>
4173
            <para>If the session has already been initialized, this method does nothing.</para>
4174
            <para>The handle events thread is not started until the <see cref="M:MonoLibUsb.MonoUsbEventHandler.Start"/> method is called.</para>
4175
            <para>Uses the MonoLibUsb <see cref="P:MonoLibUsb.UnixNativeTimeval.Default"/> polling interval for <see cref="M:MonoLibUsb.MonoUsbApi.HandleEventsTimeout(MonoLibUsb.MonoUsbSessionHandle,MonoLibUsb.UnixNativeTimeval@)"/>.</para>
4176
            </remarks>
4177
        </member>
4178
        <member name="M:MonoLibUsb.MonoUsbEventHandler.Start">
4179
            <summary>
4180
            Starts the handle events thread.
4181
            </summary>
4182
            <remarks>
4183
            <para>If the thread is already running, this method does nothing.</para>
4184
            <para>
4185
            Using a seperate thread which executes <see cref="M:MonoLibUsb.MonoUsbApi.HandleEventsTimeout(MonoLibUsb.MonoUsbSessionHandle,MonoLibUsb.UnixNativeTimeval@)"/> can simplify asynchronous I/O
4186
            and improve performance in multi-threaded applications which use multiple endpoints.
4187
            </para>
4188
            </remarks>
4189
            <returns>
4190
            True if the thread is started or is already running.
4191
            </returns>
4192
        </member>
4193
        <member name="M:MonoLibUsb.MonoUsbEventHandler.Stop(System.Boolean)">
4194
            <summary>
4195
            Stops the handle events thread.
4196
            </summary>
4197
            <remarks>
4198
            <para>Calling this method when the thread is not running will have no affect.</para>
4199
            <note type="warning">
4200
            If the thread is running, this method must be called before the application exits.
4201
            Failure to do so will cause the application to hang.
4202
            </note>
4203
            </remarks>
4204
            <param name="bWait">If true, wait for the thread to exit before returning.</param>
4205
        </member>
4206
        <member name="P:MonoLibUsb.MonoUsbEventHandler.SessionHandle">
4207
            <summary>
4208
            Gets the session handle. 
4209
            </summary>
4210
            <remarks>
4211
            Used for MonoLibUsb members that require the <see cref="T:MonoLibUsb.MonoUsbSessionHandle"/> parameter.
4212
            </remarks>
4213
        </member>
4214
        <member name="P:MonoLibUsb.MonoUsbEventHandler.IsStopped">
4215
            <summary>
4216
            False if the handle events thread is running.
4217
            </summary>
4218
        </member>
4219
        <member name="P:MonoLibUsb.MonoUsbEventHandler.Priority">
4220
            <summary>
4221
            Thread proirity to use for the handle events thread.
4222
            </summary>
4223
        </member>
4224
        <member name="T:LibUsbDotNet.Main.DataReceivedEnabledChangedEventArgs">
4225
            <summary>
4226
            Event arguments that are passed when <see cref="P:LibUsbDotNet.UsbEndpointReader.DataReceivedEnabled"/> is changes state.
4227
            </summary>
4228
        </member>
4229
        <member name="P:LibUsbDotNet.Main.DataReceivedEnabledChangedEventArgs.ErrorCode">
4230
            <summary>
4231
            The <see cref="T:LibUsbDotNet.Main.ErrorCode"/> that caused the <see cref="E:LibUsbDotNet.UsbEndpointReader.DataReceived"/> event to terminate.
4232
            </summary>
4233
        </member>
4234
        <member name="P:LibUsbDotNet.Main.DataReceivedEnabledChangedEventArgs.Enabled">
4235
            <summary>
4236
            <c>True</c> if <see cref="P:LibUsbDotNet.UsbEndpointReader.DataReceivedEnabled"/> changes from <c>True</c> to <c>False</c>. 
4237
            </summary>
4238
        </member>
4239
        <member name="T:LibUsbDotNet.DeviceNotify.Info.IUsbDeviceNotifyInfo">
4240
            <summary> Common inteface describing USB DEVICE INTERFACE arrival and removal events.
4241
            </summary> 
4242
        </member>
4243
        <member name="M:LibUsbDotNet.DeviceNotify.Info.IUsbDeviceNotifyInfo.ToString">
4244
            <summary>
4245
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.DeviceNotify.Info.UsbDeviceNotifyInfo"/>.
4246
            </summary>
4247
 
4248
            <returns>
4249
            A <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.DeviceNotify.Info.UsbDeviceNotifyInfo"/>.
4250
            </returns>
4251
        </member>
4252
        <member name="P:LibUsbDotNet.DeviceNotify.Info.IUsbDeviceNotifyInfo.SymbolicName">
4253
            <summary>
4254
            The symbolc name class for this device.  For more information, see <see cref="T:LibUsbDotNet.Main.UsbSymbolicName"/>.
4255
            </summary>
4256
        </member>
4257
        <member name="P:LibUsbDotNet.DeviceNotify.Info.IUsbDeviceNotifyInfo.Name">
4258
            <summary>
4259
            Gets the full name of the USB device that caused the notification.
4260
            </summary>
4261
        </member>
4262
        <member name="P:LibUsbDotNet.DeviceNotify.Info.IUsbDeviceNotifyInfo.ClassGuid">
4263
            <summary>
4264
            Gets the Class Guid of the USB device that caused the notification.
4265
            </summary>
4266
        </member>
4267
        <member name="P:LibUsbDotNet.DeviceNotify.Info.IUsbDeviceNotifyInfo.IdVendor">
4268
            <summary>
4269
            Parses and returns the VID from the <see cref="P:LibUsbDotNet.DeviceNotify.Info.IUsbDeviceNotifyInfo.Name"/> property.
4270
            </summary>
4271
        </member>
4272
        <member name="P:LibUsbDotNet.DeviceNotify.Info.IUsbDeviceNotifyInfo.IdProduct">
4273
            <summary>
4274
            Parses and returns the PID from the <see cref="P:LibUsbDotNet.DeviceNotify.Info.IUsbDeviceNotifyInfo.Name"/> property.
4275
            </summary>
4276
        </member>
4277
        <member name="P:LibUsbDotNet.DeviceNotify.Info.IUsbDeviceNotifyInfo.SerialNumber">
4278
            <summary>
4279
            Parses and returns the serial number from the <see cref="P:LibUsbDotNet.DeviceNotify.Info.IUsbDeviceNotifyInfo.Name"/> property.
4280
            </summary>
4281
        </member>
4282
        <member name="T:LibUsbDotNet.Main.UsbDeviceFinder">
4283
            <summary>
4284
            Finds and identifies usb devices. Used for easily locating  
4285
            </summary>
4286
            <remarks>
4287
            <list type="bullet">
4288
            <item>
4289
            Instances of this class can optionally be passed directly into 
4290
            <see cref="M:LibUsbDotNet.UsbDevice.OpenUsbDevice(LibUsbDotNet.Main.UsbDeviceFinder)"/> 
4291
            to quickly find and open a specific usb device in one step.
4292
            </item>
4293
            <item>
4294
            Pass instances of this class into the 
4295
            <see cref="M:LibUsbDotNet.Main.UsbRegDeviceList.Find(LibUsbDotNet.Main.UsbDeviceFinder)"/>, 
4296
            <see cref="M:LibUsbDotNet.Main.UsbRegDeviceList.FindAll(LibUsbDotNet.Main.UsbDeviceFinder)"/>,  
4297
            or <see cref="M:LibUsbDotNet.Main.UsbRegDeviceList.FindLast(LibUsbDotNet.Main.UsbDeviceFinder)"/> 
4298
            functions of a  <see cref="T:LibUsbDotNet.Main.UsbRegDeviceList"/> 
4299
            instance to find connected usb devices without opening devices or interrogating the bus.
4300
            After locating the required <see cref="T:LibUsbDotNet.Main.UsbRegistry"/> instance, call the 
4301
            <see cref="M:LibUsbDotNet.Main.UsbRegistry.Open(LibUsbDotNet.UsbDevice@)"/> method to start using the <see cref="T:LibUsbDotNet.UsbDevice"/> instance.
4302
            </item>
4303
            </list>
4304
            </remarks>
4305
            <example>
4306
            <code source="..\Examples\Show.Info\ShowInfo.cs" lang="cs"/>
4307
            </example>
4308
        </member>
4309
        <member name="F:LibUsbDotNet.Main.UsbDeviceFinder.NO_PID">
4310
            <summary> The "exclude from search" value for <see cref="P:LibUsbDotNet.Main.UsbDeviceFinder.Pid"/>. </summary>
4311
        </member>
4312
        <member name="F:LibUsbDotNet.Main.UsbDeviceFinder.NO_REV">
4313
            <summary> The "exclude from search" value for <see cref="P:LibUsbDotNet.Main.UsbDeviceFinder.Revision"/>. </summary>
4314
        </member>
4315
        <member name="F:LibUsbDotNet.Main.UsbDeviceFinder.NO_SERIAL">
4316
            <summary> The "exclude from search" value for <see cref="P:LibUsbDotNet.Main.UsbDeviceFinder.SerialNumber"/>. </summary>
4317
        </member>
4318
        <member name="F:LibUsbDotNet.Main.UsbDeviceFinder.NO_VID">
4319
            <summary> The "exclude from search" value for <see cref="P:LibUsbDotNet.Main.UsbDeviceFinder.Vid"/>. </summary>
4320
        </member>
4321
        <member name="F:LibUsbDotNet.Main.UsbDeviceFinder.NO_GUID">
4322
            <summary>  The "exclude from search" value for <see cref="P:LibUsbDotNet.Main.UsbDeviceFinder.DeviceInterfaceGuid"/>. </summary>
4323
        </member>
4324
        <member name="M:LibUsbDotNet.Main.UsbDeviceFinder.#ctor(System.Int32,System.Int32,System.Int32,System.String,System.Guid)">
4325
            <summary>
4326
            Creates a UsbDeviceFinder class for locating and identifying usb devices.
4327
            </summary>
4328
            <param name="vid">The vendor id of the usb device to find, or <see cref="F:System.Int32.MaxValue"/> to ignore.</param>
4329
            <param name="pid">The product id of the usb device to find, or <see cref="F:System.Int32.MaxValue"/> to ignore.</param>
4330
            <param name="revision">The revision number of the usb device to find, or <see cref="F:System.Int32.MaxValue"/> to ignore.</param>
4331
            <param name="serialNumber">The serial number of the usb device to find, or null to ignore.</param>
4332
            <param name="deviceInterfaceGuid">The unique guid of the usb device to find, or <see cref="F:System.Guid.Empty"/> to ignore.</param>
4333
        </member>
4334
        <member name="M:LibUsbDotNet.Main.UsbDeviceFinder.#ctor(System.Int32,System.Int32,System.String)">
4335
            <summary>
4336
            Creates a UsbDeviceFinder class for locating usb devices by VendorID, ProductID, and Serial number.
4337
            </summary>
4338
            <param name="vid">The vendor id of the usb device to find.</param>
4339
            <param name="pid">The product id of the usb device to find.</param>
4340
            <param name="serialNumber">The serial number of the usb device to find.</param>
4341
        </member>
4342
        <member name="M:LibUsbDotNet.Main.UsbDeviceFinder.#ctor(System.Int32,System.Int32,System.Int32)">
4343
            <summary>
4344
            Creates a UsbDeviceFinder class for locating usb devices by VendorID, ProuctID, and Revision code.
4345
            </summary>
4346
            <param name="vid">The vendor id of the usb device to find.</param>
4347
            <param name="pid">The product id of the usb device to find.</param>
4348
            <param name="revision">The revision number of the usb device to find.</param>
4349
        </member>
4350
        <member name="M:LibUsbDotNet.Main.UsbDeviceFinder.#ctor(System.Int32,System.Int32)">
4351
            <summary>
4352
            Creates a UsbDeviceFinder class for locating usb devices vendor and product ID.
4353
            </summary>
4354
            <param name="vid">The vendor id of the usb device to find.</param>
4355
            <param name="pid">The product id of the usb device to find.</param>
4356
        </member>
4357
        <member name="M:LibUsbDotNet.Main.UsbDeviceFinder.#ctor(System.Int32)">
4358
            <summary>
4359
            Creates a UsbDeviceFinder class for locating usb devices.
4360
            </summary>
4361
            <param name="vid">The vendor id of the usb device to find.</param>
4362
        </member>
4363
        <member name="M:LibUsbDotNet.Main.UsbDeviceFinder.#ctor(System.String)">
4364
            <summary>
4365
            Creates a UsbDeviceFinder class for locating usb devices by a serial number.
4366
            </summary>
4367
            <param name="serialNumber">The serial number of the usb device to find.</param>
4368
        </member>
4369
        <member name="M:LibUsbDotNet.Main.UsbDeviceFinder.#ctor(System.Guid)">
4370
            <summary>
4371
            Creates a UsbDeviceFinder class for locating usb devices by a unique <see cref="T:System.Guid"/> string.
4372
            </summary>
4373
            <param name="deviceInterfaceGuid">The unique <see cref="T:System.Guid"/> to find.</param>
4374
        </member>
4375
        <member name="M:LibUsbDotNet.Main.UsbDeviceFinder.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
4376
            <summary>
4377
            Use a serialization stream to fill the <see cref="T:LibUsbDotNet.Main.UsbDeviceFinder"/> class. 
4378
            </summary>
4379
            <param name="info"></param>
4380
            <param name="context"></param>
4381
        </member>
4382
        <member name="M:LibUsbDotNet.Main.UsbDeviceFinder.#ctor">
4383
            <summary>
4384
 
4385
            </summary>
4386
        </member>
4387
        <member name="M:LibUsbDotNet.Main.UsbDeviceFinder.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
4388
            <summary>
4389
            Store this class as a binary serializtion object.
4390
            </summary>
4391
            <param name="info">The serialization instance to populate.</param>
4392
            <param name="context"></param>
4393
        </member>
4394
        <member name="M:LibUsbDotNet.Main.UsbDeviceFinder.Load(System.IO.Stream)">
4395
            <summary>
4396
            Load usb device finder properties from a binary stream.
4397
            </summary>
4398
            <param name="deviceFinderStream">The binary stream containing a
4399
            <see cref="T:LibUsbDotNet.Main.UsbDeviceFinder"/> </param> instance.
4400
            <returns>A pre-loaded <see cref="T:LibUsbDotNet.Main.UsbDeviceFinder"/> instance.</returns>
4401
        </member>
4402
        <member name="M:LibUsbDotNet.Main.UsbDeviceFinder.Save(LibUsbDotNet.Main.UsbDeviceFinder,System.IO.Stream)">
4403
            <summary>
4404
            Saves a <see cref="T:LibUsbDotNet.Main.UsbDeviceFinder"/> instance to a stream.
4405
            </summary>
4406
            <param name="usbDeviceFinder"></param>
4407
            <param name="outStream"></param>
4408
        </member>
4409
        <member name="M:LibUsbDotNet.Main.UsbDeviceFinder.Check(LibUsbDotNet.Main.UsbRegistry)">
4410
            <summary>
4411
            Dynamic predicate find function. Pass this function into any method that has a <see cref="T:System.Predicate`1"/> parameter.
4412
            </summary>
4413
            <remarks>
4414
            Override this member when inheriting the <see cref="T:LibUsbDotNet.Main.UsbDeviceFinder"/> class to change/alter the matching behavior.
4415
            </remarks>
4416
            <param name="usbRegistry">The UsbRegistry device to check.</param>
4417
            <returns>True if the <see cref="T:LibUsbDotNet.Main.UsbRegistry"/> instance matches the <see cref="T:LibUsbDotNet.Main.UsbDeviceFinder"/> properties.</returns>
4418
        </member>
4419
        <member name="M:LibUsbDotNet.Main.UsbDeviceFinder.Check(LibUsbDotNet.UsbDevice)">
4420
            <summary>
4421
            Dynamic predicate find function. Pass this function into any method that has a <see cref="T:System.Predicate`1"/> parameter.
4422
            </summary>
4423
            <remarks>
4424
            Override this member when inheriting the <see cref="T:LibUsbDotNet.Main.UsbDeviceFinder"/> class to change/alter the matching behavior.
4425
            </remarks>
4426
            <param name="usbDevice">The UsbDevice to check.</param>
4427
            <returns>True if the <see cref="T:LibUsbDotNet.UsbDevice"/> instance matches the <see cref="T:LibUsbDotNet.Main.UsbDeviceFinder"/> properties.</returns>
4428
        </member>
4429
        <member name="P:LibUsbDotNet.Main.UsbDeviceFinder.DeviceInterfaceGuid">
4430
            <summary>
4431
            The device interface guid string to find, or <see cref="F:System.String.Empty"/> to ignore.
4432
            </summary>
4433
        </member>
4434
        <member name="P:LibUsbDotNet.Main.UsbDeviceFinder.SerialNumber">
4435
            <summary>
4436
            The serial number of the device to find.
4437
            </summary>
4438
            <remarks>
4439
            Set to null to ignore.
4440
            </remarks>
4441
        </member>
4442
        <member name="P:LibUsbDotNet.Main.UsbDeviceFinder.Revision">
4443
            <summary>
4444
            The revision number of the device to find.
4445
            </summary>
4446
            <remarks>
4447
            Set to <see cref="F:System.Int32.MaxValue"/> to ignore.
4448
            </remarks>
4449
        </member>
4450
        <member name="P:LibUsbDotNet.Main.UsbDeviceFinder.Pid">
4451
            <summary>
4452
            The product id of the device to find.
4453
            </summary>
4454
            <remarks>
4455
            Set to <see cref="F:System.Int32.MaxValue"/> to ignore.
4456
            </remarks>
4457
        </member>
4458
        <member name="P:LibUsbDotNet.Main.UsbDeviceFinder.Vid">
4459
            <summary>
4460
            The vendor id of the device to find.
4461
            </summary>
4462
            <remarks>
4463
            Set to <see cref="F:System.Int32.MaxValue"/> to ignore.
4464
            </remarks>
4465
        </member>
4466
        <member name="T:LibUsbDotNet.Internal.UsbRegex.RegSymbolicName">
4467
            <summary>
4468
            Regular expression class for parsing USB symbolic names and hardware ids.
4469
            </summary>
4470
        </member>
4471
        <member name="M:LibUsbDotNet.Internal.WinUsb.SafeWinUsbInterfaceHandle.ReleaseHandle">
4472
            <summary>
4473
            Executes the code required to free the <see cref="T:LibUsbDotNet.Internal.WinUsb.SafeWinUsbInterfaceHandle"/>.
4474
            </summary>
4475
 
4476
            <returns>
4477
            true if the <see cref="T:LibUsbDotNet.Internal.WinUsb.SafeWinUsbInterfaceHandle"/> is released successfully; otherwise, in the event of a catastrophic failure, false. In this case, it generates a ReleaseHandleFailed Managed Debugging Assistant.
4478
            </returns>
4479
 
4480
        </member>
4481
        <member name="P:LibUsbDotNet.Internal.WinUsb.SafeWinUsbInterfaceHandle.IsInvalid">
4482
            <summary>
4483
            Gets a value indicating whether the <see cref="T:LibUsbDotNet.Internal.WinUsb.SafeWinUsbInterfaceHandle"/> value is invalid.
4484
            </summary>
4485
 
4486
            <returns>
4487
            true if the <see cref="T:LibUsbDotNet.Internal.WinUsb.SafeWinUsbInterfaceHandle"/> is valid; otherwise, false.
4488
            </returns>
4489
        </member>
4490
        <member name="T:LibUsbDotNet.Info.UsbDeviceInfo">
4491
            <summary> Contains USB device descriptor information.
4492
            </summary> 
4493
        </member>
4494
        <member name="M:LibUsbDotNet.Info.UsbDeviceInfo.ToString">
4495
            <summary>
4496
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.Info.UsbInterfaceInfo"/>.
4497
            </summary>
4498
 
4499
            <returns>
4500
            A <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.Info.UsbInterfaceInfo"/>.
4501
            </returns>
4502
        </member>
4503
        <member name="M:LibUsbDotNet.Info.UsbDeviceInfo.ToString(System.String,System.String,System.String)">
4504
            <summary>
4505
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.Info.UsbInterfaceInfo"/>.
4506
            </summary>
4507
 
4508
            <param name="prefixSeperator">The field prefix string.</param>
4509
            <param name="entitySperator">The field/value seperator string.</param>
4510
            <param name="suffixSeperator">The value suffix string.</param>
4511
            <returns>A formatted representation of the <see cref="T:LibUsbDotNet.Info.UsbInterfaceInfo"/>.</returns>
4512
        </member>
4513
        <member name="P:LibUsbDotNet.Info.UsbDeviceInfo.Descriptor">
4514
            <summary>
4515
            The raw <see cref="T:LibUsbDotNet.Descriptors.UsbDeviceDescriptor"/> for the current <see cref="T:LibUsbDotNet.UsbDevice"/>.
4516
            </summary>
4517
        </member>
4518
        <member name="P:LibUsbDotNet.Info.UsbDeviceInfo.CurrentCultureLangID">
4519
            <summary>
4520
            Request all available languages from the USB device (string index 0) and return the most appropriate LCID given the current operating systems locale settings. See System.Globalization.CultureInfo.CurrentCulture.LCID.
4521
            </summary>
4522
            <remarks>
4523
            Once the USB devices CurrentCultureLangID has been retreived, subsequent request will return a cached copy of the LCID.
4524
            </remarks>
4525
        </member>
4526
        <member name="P:LibUsbDotNet.Info.UsbDeviceInfo.ManufacturerString">
4527
            <summary>
4528
            Gets the string representation of the <see cref="F:LibUsbDotNet.Descriptors.UsbDeviceDescriptor.ManufacturerStringIndex"/> string index.
4529
            </summary>
4530
        </member>
4531
        <member name="P:LibUsbDotNet.Info.UsbDeviceInfo.ProductString">
4532
            <summary>
4533
            Gets the string representation of the <see cref="F:LibUsbDotNet.Descriptors.UsbDeviceDescriptor.ProductStringIndex"/> string index.
4534
            </summary>
4535
        </member>
4536
        <member name="P:LibUsbDotNet.Info.UsbDeviceInfo.SerialString">
4537
            <summary>
4538
            Gets the string representation of the <see cref="F:LibUsbDotNet.Descriptors.UsbDeviceDescriptor.SerialStringIndex"/> string index.
4539
            </summary>
4540
        </member>
4541
        <member name="T:MonoLibUsb.Profile.MonoUsbProfileHandle">
4542
            <summary>
4543
            Wraps a profile handle into a <see cref="T:System.Runtime.ConstrainedExecution.CriticalFinalizerObject"/>. 
4544
            Profile handles are used for getting device descriptor information and opening the device.  Profile handles
4545
            are known connected and usually supported usb device that can be opened and used.
4546
            </summary>
4547
            <remarks>
4548
            <para>
4549
            When a <see cref="T:MonoLibUsb.Profile.MonoUsbProfileHandle"/> instance is created and wrapped around the 
4550
            <a href="http://libusb.sourceforge.net/api-1.0/group__dev.html#ga77eedd00d01eb7569b880e861a971c2b">libusb_device</a>
4551
            pointer, <see cref="M:MonoLibUsb.MonoUsbApi.RefDevice(System.IntPtr)"/> is called.  When all references to this 
4552
            <see cref="T:MonoLibUsb.Profile.MonoUsbProfileHandle"/> instance are out-of-scope or have all been closed, this profile handle is de-referenced with 
4553
            <see cref="M:MonoLibUsb.MonoUsbApi.UnrefDevice(System.IntPtr)"/>.
4554
            When the reference count equals zero, memory is freed and resources are released.
4555
            </para>
4556
            <para>
4557
            The <see cref="T:MonoLibUsb.Profile.MonoUsbProfileHandle"/> class ensures all device profiles get closed and freed 
4558
            regardless of abnormal program terminations or coding errors. 
4559
            </para>
4560
            <para>
4561
            Certain operations can be performed using just the <see cref="T:MonoLibUsb.Profile.MonoUsbProfileHandle"/>, but in order to do 
4562
            any I/O you will have to first obtain a <see cref="T:MonoLibUsb.MonoUsbDeviceHandle"/> using <see cref="M:MonoLibUsb.MonoUsbApi.Open(MonoLibUsb.Profile.MonoUsbProfileHandle,System.IntPtr@)"/>.
4563
            </para>
4564
            </remarks>    
4565
        </member>
4566
        <member name="M:MonoLibUsb.Profile.MonoUsbProfileHandle.#ctor(System.IntPtr)">
4567
            <summary>
4568
            Wraps a raw usb device profile handle pointer in a <see cref="T:MonoLibUsb.Profile.MonoUsbProfileHandle"/> class.
4569
            </summary>
4570
            <param name="pProfileHandle">the profile handle to wrap.</param>
4571
        </member>
4572
        <member name="M:MonoLibUsb.Profile.MonoUsbProfileHandle.ReleaseHandle">
4573
            <summary>
4574
            When overridden in a derived class, executes the code required to free the handle.
4575
            </summary>
4576
            <returns>
4577
            true if the handle is released successfully; otherwise, in the event of a catastrophic failure, false. In this case, it generates a ReleaseHandleFailed Managed Debugging Assistant.
4578
            </returns>
4579
        </member>
4580
        <member name="T:MonoLibUsb.Profile.MonoUsbConfigHandle">
4581
            <summary>
4582
            The <see cref="T:MonoLibUsb.Profile.MonoUsbConfigHandle"/> class hold the internal pointer to a libusb <see cref="T:MonoLibUsb.Descriptors.MonoUsbConfigDescriptor"/>.
4583
            </summary>
4584
            <remarks>
4585
            <para>
4586
            To acquire a <see cref="T:MonoLibUsb.Profile.MonoUsbConfigHandle"/> use:
4587
            <list type="bullet">
4588
            <item><see cref="M:MonoLibUsb.MonoUsbApi.GetActiveConfigDescriptor(MonoLibUsb.Profile.MonoUsbProfileHandle,MonoLibUsb.Profile.MonoUsbConfigHandle@)"/></item>
4589
            <item><see cref="M:MonoLibUsb.MonoUsbApi.GetConfigDescriptor(MonoLibUsb.Profile.MonoUsbProfileHandle,System.Byte,MonoLibUsb.Profile.MonoUsbConfigHandle@)"/></item>
4590
            <item><see cref="M:MonoLibUsb.MonoUsbApi.GetConfigDescriptorByValue(MonoLibUsb.Profile.MonoUsbProfileHandle,System.Byte,MonoLibUsb.Profile.MonoUsbConfigHandle@)"/></item>
4591
            </list>
4592
            </para>
4593
            <para>To access configuration information see <see cref="M:MonoLibUsb.Descriptors.MonoUsbConfigDescriptor.#ctor(MonoLibUsb.Profile.MonoUsbConfigHandle)"/>.</para>
4594
            <example><code source="..\MonoLibUsb\MonoUsb.ShowConfig\ShowConfig.cs" lang="cs"/></example>
4595
            </remarks>
4596
        </member>
4597
        <member name="M:MonoLibUsb.Profile.MonoUsbConfigHandle.ReleaseHandle">
4598
            <summary>
4599
 
4600
            </summary>
4601
            <returns></returns>
4602
        </member>
4603
        <member name="T:MonoLibUsb.Descriptors.MonoUsbDeviceDescriptor">
4604
            <summary>A structure representing the standard USB device descriptor. 
4605
            This descriptor is documented in section 9.6.1 of the USB 2.0 specification. 
4606
            All multiple-byte fields are represented in host-endian format.</summary>
4607
        </member>
4608
        <member name="F:MonoLibUsb.Descriptors.MonoUsbDeviceDescriptor.Size">
4609
            <summary>
4610
            Total size of this structure in bytes.
4611
            </summary>
4612
        </member>
4613
        <member name="F:MonoLibUsb.Descriptors.MonoUsbDeviceDescriptor.Length">
4614
            <summary>
4615
            Length of structure reported by the associated usb device.
4616
            </summary>
4617
        </member>
4618
        <member name="F:MonoLibUsb.Descriptors.MonoUsbDeviceDescriptor.DescriptorType">
4619
            <summary>
4620
            Type of structure reported by the associated usb device.
4621
            </summary>
4622
        </member>
4623
        <member name="F:MonoLibUsb.Descriptors.MonoUsbDeviceDescriptor.BcdUsb">
4624
            <summary>
4625
            USB Specification Number which device complies too.
4626
            </summary>
4627
        </member>
4628
        <member name="F:MonoLibUsb.Descriptors.MonoUsbDeviceDescriptor.Class">
4629
            <summary>
4630
            Class Code (Assigned by USB Org)
4631
            If equal to Zero, each interface specifies it’s own class code; If equal to 0xFF, the class code is vendor specified; Otherwise field is valid Class Code.
4632
            </summary>
4633
        </member>
4634
        <member name="F:MonoLibUsb.Descriptors.MonoUsbDeviceDescriptor.SubClass">
4635
            <summary>
4636
            Subclass Code (Assigned by USB Org)
4637
            </summary>
4638
        </member>
4639
        <member name="F:MonoLibUsb.Descriptors.MonoUsbDeviceDescriptor.Protocol">
4640
            <summary>
4641
            Protocol Code (Assigned by USB Org)
4642
            </summary>
4643
        </member>
4644
        <member name="F:MonoLibUsb.Descriptors.MonoUsbDeviceDescriptor.MaxPacketSize0">
4645
            <summary>
4646
            Maximum Packet Size for Zero Endpoint. Valid Sizes are 8, 16, 32, 64
4647
            </summary>
4648
        </member>
4649
        <member name="F:MonoLibUsb.Descriptors.MonoUsbDeviceDescriptor.VendorID">
4650
            <summary>
4651
            Vendor ID (Assigned by USB Org)
4652
            </summary>
4653
        </member>
4654
        <member name="F:MonoLibUsb.Descriptors.MonoUsbDeviceDescriptor.ProductID">
4655
            <summary>
4656
            Product ID (Assigned by Manufacturer)
4657
            </summary>
4658
        </member>
4659
        <member name="F:MonoLibUsb.Descriptors.MonoUsbDeviceDescriptor.BcdDevice">
4660
            <summary>
4661
            Device Release Number
4662
            </summary>
4663
        </member>
4664
        <member name="F:MonoLibUsb.Descriptors.MonoUsbDeviceDescriptor.ManufacturerStringIndex">
4665
            <summary>
4666
            Index of Manufacturer String Descriptor
4667
            </summary>
4668
        </member>
4669
        <member name="F:MonoLibUsb.Descriptors.MonoUsbDeviceDescriptor.ProductStringIndex">
4670
            <summary>
4671
            Index of Product String Descriptor
4672
            </summary>
4673
        </member>
4674
        <member name="F:MonoLibUsb.Descriptors.MonoUsbDeviceDescriptor.SerialStringIndex">
4675
            <summary>
4676
            Index of Serial Number String Descriptor
4677
            </summary>
4678
        </member>
4679
        <member name="F:MonoLibUsb.Descriptors.MonoUsbDeviceDescriptor.ConfigurationCount">
4680
            <summary>
4681
            Number of Possible Configurations
4682
            </summary>
4683
        </member>
4684
        <member name="M:MonoLibUsb.Descriptors.MonoUsbDeviceDescriptor.ToString">
4685
            <summary>
4686
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:MonoLibUsb.Descriptors.MonoUsbDeviceDescriptor"/>.
4687
            </summary>
4688
 
4689
            <returns>
4690
            A <see cref="T:System.String"/> that represents the current <see cref="T:MonoLibUsb.Descriptors.MonoUsbDeviceDescriptor"/>.
4691
            </returns>
4692
        </member>
4693
        <member name="T:LibUsbDotNet.Main.WriteEndpointID">
4694
            <summary> Availabled endpoint numbers/ids for writing.
4695
            </summary> 
4696
        </member>
4697
        <member name="F:LibUsbDotNet.Main.WriteEndpointID.Ep01">
4698
            <summary>
4699
            Endpoint 1
4700
            </summary>
4701
        </member>
4702
        <member name="F:LibUsbDotNet.Main.WriteEndpointID.Ep02">
4703
            <summary>
4704
            Endpoint 2
4705
            </summary>
4706
        </member>
4707
        <member name="F:LibUsbDotNet.Main.WriteEndpointID.Ep03">
4708
            <summary>
4709
            Endpoint 3
4710
            </summary>
4711
        </member>
4712
        <member name="F:LibUsbDotNet.Main.WriteEndpointID.Ep04">
4713
            <summary>
4714
            Endpoint 4
4715
            </summary>
4716
        </member>
4717
        <member name="F:LibUsbDotNet.Main.WriteEndpointID.Ep05">
4718
            <summary>
4719
            Endpoint 5
4720
            </summary>
4721
        </member>
4722
        <member name="F:LibUsbDotNet.Main.WriteEndpointID.Ep06">
4723
            <summary>
4724
            Endpoint 6
4725
            </summary>
4726
        </member>
4727
        <member name="F:LibUsbDotNet.Main.WriteEndpointID.Ep07">
4728
            <summary>
4729
            Endpoint 7
4730
            </summary>
4731
        </member>
4732
        <member name="F:LibUsbDotNet.Main.WriteEndpointID.Ep08">
4733
            <summary>
4734
            Endpoint 8
4735
            </summary>
4736
        </member>
4737
        <member name="F:LibUsbDotNet.Main.WriteEndpointID.Ep09">
4738
            <summary>
4739
            Endpoint 9
4740
            </summary>
4741
        </member>
4742
        <member name="F:LibUsbDotNet.Main.WriteEndpointID.Ep10">
4743
            <summary>
4744
            Endpoint 10
4745
            </summary>
4746
        </member>
4747
        <member name="F:LibUsbDotNet.Main.WriteEndpointID.Ep11">
4748
            <summary>
4749
            Endpoint 11
4750
            </summary>
4751
        </member>
4752
        <member name="F:LibUsbDotNet.Main.WriteEndpointID.Ep12">
4753
            <summary>
4754
            Endpoint 12
4755
            </summary>
4756
        </member>
4757
        <member name="F:LibUsbDotNet.Main.WriteEndpointID.Ep13">
4758
            <summary>
4759
            Endpoint 13
4760
            </summary>
4761
        </member>
4762
        <member name="F:LibUsbDotNet.Main.WriteEndpointID.Ep14">
4763
            <summary>
4764
            Endpoint 14
4765
            </summary>
4766
        </member>
4767
        <member name="F:LibUsbDotNet.Main.WriteEndpointID.Ep15">
4768
            <summary>
4769
            Endpoint 15
4770
            </summary>
4771
        </member>
4772
        <member name="T:LibUsbDotNet.Main.UsbSymbolicName">
4773
            <summary> USB device symbolic names are persistent accrossed boots and uniquely identify each device.
4774
            </summary> 
4775
            <remarks> As well as uniquely identify connected devices, the UsbSymbolicName class parses the symbolic name key into usable fields.
4776
            </remarks> 
4777
        </member>
4778
        <member name="M:LibUsbDotNet.Main.UsbSymbolicName.Parse(System.String)">
4779
            <summary>
4780
            Parses registry strings containing USB information.  This function can Parse symbolic names as well as hardware ids, compatible ids, etc.
4781
            </summary>
4782
            <param name="identifiers"></param>
4783
            <returns>A <see cref="T:LibUsbDotNet.Main.UsbSymbolicName"/> class with all the available information from the <paramref name="identifiers"/> string.</returns>
4784
            <remarks>
4785
            <code>
4786
                        List&lt;UsbRegistryDeviceInfo&gt; regDeviceList = UsbGlobals.RegFindDevices();
4787
               foreach (UsbRegistryDeviceInfo regDevice in mDevList)
4788
               {
4789
                   string[] hardwareIds = (string[])regDevice.Properties[DevicePropertyType.HardwareID];
4790
                  UsbSymbolicName usbHardwareID = UsbSymbolicName.Parse(hardwareIds[0]);
4791
                   Debug.Print(string.Format("Vid:0x{0:X4} Pid:0x{1:X4}", usbHardwareID.Vid, usbHardwareID.Pid));
4792
               }
4793
            </code>
4794
            </remarks>
4795
        </member>
4796
        <member name="M:LibUsbDotNet.Main.UsbSymbolicName.ToString">
4797
            <summary>
4798
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.Main.UsbSymbolicName"/>.
4799
            </summary>
4800
 
4801
            <returns>
4802
            A <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.Main.UsbSymbolicName"/>.
4803
            </returns>
4804
        </member>
4805
        <member name="P:LibUsbDotNet.Main.UsbSymbolicName.FullName">
4806
            <summary>
4807
            The full symbolic name of the device.
4808
            </summary>
4809
        </member>
4810
        <member name="P:LibUsbDotNet.Main.UsbSymbolicName.Vid">
4811
            <summary>
4812
            VendorId parsed out of the <see cref="P:LibUsbDotNet.Main.UsbSymbolicName.FullName"/>
4813
            </summary>
4814
        </member>
4815
        <member name="P:LibUsbDotNet.Main.UsbSymbolicName.Pid">
4816
            <summary>
4817
            ProductId parsed out of the <see cref="P:LibUsbDotNet.Main.UsbSymbolicName.FullName"/>
4818
            </summary>
4819
        </member>
4820
        <member name="P:LibUsbDotNet.Main.UsbSymbolicName.SerialNumber">
4821
            <summary>
4822
            SerialNumber parsed out of the <see cref="P:LibUsbDotNet.Main.UsbSymbolicName.FullName"/>
4823
            </summary>
4824
        </member>
4825
        <member name="P:LibUsbDotNet.Main.UsbSymbolicName.ClassGuid">
4826
            <summary>
4827
            Device class parsed out of the <see cref="P:LibUsbDotNet.Main.UsbSymbolicName.FullName"/>
4828
            </summary>
4829
        </member>
4830
        <member name="P:LibUsbDotNet.Main.UsbSymbolicName.Rev">
4831
            <summary>
4832
            Usb device revision number.
4833
            </summary>
4834
        </member>
4835
        <member name="T:LibUsbDotNet.LibUsb.LibUsbRegistry">
4836
            <summary> LibUsb specific members for device registry settings.
4837
            </summary> 
4838
        </member>
4839
        <member name="M:LibUsbDotNet.LibUsb.LibUsbRegistry.Open(LibUsbDotNet.LibUsb.LibUsbDevice@)">
4840
            <summary>
4841
            Opens the USB device for communucation.
4842
            </summary>
4843
            <param name="usbDevice">The newly created UsbDevice.</param>
4844
            <returns>True on success.</returns>
4845
        </member>
4846
        <member name="M:LibUsbDotNet.LibUsb.LibUsbRegistry.Open(LibUsbDotNet.UsbDevice@)">
4847
            <summary>
4848
            Opens the USB device for communucation.
4849
            </summary>
4850
            <param name="usbDevice">The newly created UsbDevice.</param>
4851
            <returns>True on success.</returns>
4852
        </member>
4853
        <member name="P:LibUsbDotNet.LibUsb.LibUsbRegistry.DeviceIndex">
4854
            <summary>
4855
            Gets the 0 based index of this libusb device
4856
            </summary>
4857
        </member>
4858
        <member name="P:LibUsbDotNet.LibUsb.LibUsbRegistry.DeviceList">
4859
            <summary>
4860
            Gets a list of available LibUsb devices.
4861
            </summary>
4862
        </member>
4863
        <member name="P:LibUsbDotNet.LibUsb.LibUsbRegistry.IsAlive">
4864
            <summary>
4865
            Check this value to determine if the usb device is still connected to the bus and ready to open.
4866
            </summary>
4867
        </member>
4868
        <member name="P:LibUsbDotNet.LibUsb.LibUsbRegistry.Device">
4869
            <summary>
4870
            Opens the USB device for communucation.
4871
            </summary>
4872
            <returns>Return a new instance of the <see cref="T:LibUsbDotNet.UsbDevice"/> class.
4873
            If the device fails to open a null refrence is return. For extended error
4874
            information use the <see cref="E:LibUsbDotNet.UsbDevice.UsbErrorEvent"/>.
4875
             </returns>
4876
        </member>
4877
        <member name="P:LibUsbDotNet.LibUsb.LibUsbRegistry.DeviceInterfaceGuids">
4878
            <summary>
4879
            Gets the DeviceInterfaceGuids for the WinUsb device.
4880
            </summary>
4881
        </member>
4882
        <member name="F:LibUsbDotNet.Main.UsbStatusClodes.ErrorIoPending">
4883
            <summary>
4884
            Returned bo overlapped IO functions when data is still pending.
4885
            </summary>
4886
        </member>
4887
        <member name="T:MonoLibUsb.Transfer.Internal.libusb_iso_packet_descriptor">
4888
            <remarks>
4889
            This class is never instantiated in .NET.  Instead it is used as a template by the <see cref="T:MonoLibUsb.Transfer.MonoUsbIsoPacket"/> class.
4890
            </remarks>
4891
        </member>
4892
        <member name="F:MonoLibUsb.Transfer.Internal.libusb_iso_packet_descriptor.length">
4893
            <summary>
4894
            Length of data to request in this packet 
4895
            </summary>
4896
        </member>
4897
        <member name="F:MonoLibUsb.Transfer.Internal.libusb_iso_packet_descriptor.actual_length">
4898
            <summary>
4899
            Amount of data that was actually transferred 
4900
            </summary>
4901
        </member>
4902
        <member name="F:MonoLibUsb.Transfer.Internal.libusb_iso_packet_descriptor.status">
4903
            <summary>
4904
            Status code for this packet 
4905
            </summary>
4906
        </member>
4907
        <member name="T:MonoLibUsb.MonoUsbTransferDelegate">
4908
            <summary>
4909
            Asynchronous transfer callback delegate
4910
            </summary>
4911
            <param name="transfer">The transfer previously allocated with <see cref="M:MonoLibUsb.MonoUsbApi.AllocTransfer(System.Int32)"/>.</param>
4912
        </member>
4913
        <member name="T:MonoLibUsb.PollfdAddedDelegate">
4914
            <summary>
4915
            Callback delegate, invoked when a new file descriptor should be added to the set of file descriptors monitored for events. 
4916
            </summary>
4917
            <param name="fd">The new file descriptor.</param>
4918
            <param name="events">Events to monitor for, see PollfdItem for a description.</param>
4919
            <param name="user_data">User data pointer specified in <see cref="M:MonoLibUsb.MonoUsbApi.SetPollfdNotifiers(MonoLibUsb.MonoUsbSessionHandle,MonoLibUsb.PollfdAddedDelegate,MonoLibUsb.PollfdRemovedDelegate,System.IntPtr)"/> call.</param>
4920
        </member>
4921
        <member name="T:MonoLibUsb.PollfdRemovedDelegate">
4922
            <summary>
4923
            Callback delegate, invoked when a file descriptor should be removed from the set of file descriptors being monitored for events.
4924
            </summary>
4925
            <remarks>After returning from this callback, do not use that file descriptor again. </remarks>
4926
            <param name="fd">The file descriptor to stop monitoring.</param>
4927
            <param name="user_data">User data pointer specified in <see cref="M:MonoLibUsb.MonoUsbApi.SetPollfdNotifiers(MonoLibUsb.MonoUsbSessionHandle,MonoLibUsb.PollfdAddedDelegate,MonoLibUsb.PollfdRemovedDelegate,System.IntPtr)"/> call.</param>
4928
        </member>
4929
        <member name="T:LibUsbDotNet.LibUsb.LibUsbKernelType">
4930
            <summary>
4931
            Kernel types supported by LibUsbDotNet.  See <see cref="P:LibUsbDotNet.UsbDevice.KernelType"/> for more details.
4932
            </summary>
4933
        </member>
4934
        <member name="F:LibUsbDotNet.LibUsb.LibUsbKernelType.Unknown">
4935
            <summary>
4936
            LibUsb support us unavailable.
4937
            </summary>
4938
        </member>
4939
        <member name="F:LibUsbDotNet.LibUsb.LibUsbKernelType.NativeLibUsb">
4940
            <summary>
4941
            LibUsbDotNet native kernel driver detected.
4942
            </summary>
4943
        </member>
4944
        <member name="F:LibUsbDotNet.LibUsb.LibUsbKernelType.LegacyLibUsb">
4945
            <summary>
4946
            Original libusb-win32 kernel driver detected.
4947
            </summary>
4948
        </member>
4949
        <member name="F:LibUsbDotNet.LibUsb.LibUsbKernelType.MonoLibUsb">
4950
            <summary>
4951
            mono-linux libusb 1.x driver detected.
4952
            </summary>
4953
        </member>
4954
        <member name="T:LibUsbDotNet.Descriptors.UsbDeviceDescriptor">
4955
            <summary> Usb Device Descriptor
4956
            </summary> 
4957
        </member>
4958
        <member name="F:LibUsbDotNet.Descriptors.UsbDeviceDescriptor.Size">
4959
            <summary>
4960
            Total size of this structure in bytes.
4961
            </summary>
4962
        </member>
4963
        <member name="F:LibUsbDotNet.Descriptors.UsbDeviceDescriptor.BcdUsb">
4964
            <summary>
4965
            USB Specification Number which device complies too.
4966
            </summary>
4967
        </member>
4968
        <member name="F:LibUsbDotNet.Descriptors.UsbDeviceDescriptor.Class">
4969
            <summary>
4970
            Class Code (Assigned by USB Org)
4971
            If equal to Zero, each interface specifies it’s own class code; If equal to 0xFF, the class code is vendor specified; Otherwise field is valid Class Code.
4972
            </summary>
4973
        </member>
4974
        <member name="F:LibUsbDotNet.Descriptors.UsbDeviceDescriptor.SubClass">
4975
            <summary>
4976
            Subclass Code (Assigned by USB Org)
4977
            </summary>
4978
        </member>
4979
        <member name="F:LibUsbDotNet.Descriptors.UsbDeviceDescriptor.Protocol">
4980
            <summary>
4981
            Protocol Code (Assigned by USB Org)
4982
            </summary>
4983
        </member>
4984
        <member name="F:LibUsbDotNet.Descriptors.UsbDeviceDescriptor.MaxPacketSize0">
4985
            <summary>
4986
            Maximum Packet Size for Zero Endpoint. Valid Sizes are 8, 16, 32, 64
4987
            </summary>
4988
        </member>
4989
        <member name="F:LibUsbDotNet.Descriptors.UsbDeviceDescriptor.VendorID">
4990
            <summary>
4991
            Vendor ID (Assigned by USB Org)
4992
            </summary>
4993
        </member>
4994
        <member name="F:LibUsbDotNet.Descriptors.UsbDeviceDescriptor.ProductID">
4995
            <summary>
4996
            Product ID (Assigned by Manufacturer)
4997
            </summary>
4998
        </member>
4999
        <member name="F:LibUsbDotNet.Descriptors.UsbDeviceDescriptor.BcdDevice">
5000
            <summary>
5001
            Device Release Number
5002
            </summary>
5003
        </member>
5004
        <member name="F:LibUsbDotNet.Descriptors.UsbDeviceDescriptor.ManufacturerStringIndex">
5005
            <summary>
5006
            Index of Manufacturer String Descriptor
5007
            </summary>
5008
        </member>
5009
        <member name="F:LibUsbDotNet.Descriptors.UsbDeviceDescriptor.ProductStringIndex">
5010
            <summary>
5011
            Index of Product String Descriptor
5012
            </summary>
5013
        </member>
5014
        <member name="F:LibUsbDotNet.Descriptors.UsbDeviceDescriptor.SerialStringIndex">
5015
            <summary>
5016
            Index of Serial Number String Descriptor
5017
            </summary>
5018
        </member>
5019
        <member name="F:LibUsbDotNet.Descriptors.UsbDeviceDescriptor.ConfigurationCount">
5020
            <summary>
5021
            Number of Possible Configurations
5022
            </summary>
5023
        </member>
5024
        <member name="M:LibUsbDotNet.Descriptors.UsbDeviceDescriptor.ToString">
5025
            <summary>
5026
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.Descriptors.UsbDeviceDescriptor"/>.
5027
            </summary>
5028
 
5029
            <returns>
5030
            A <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.Descriptors.UsbDeviceDescriptor"/>.
5031
            </returns>
5032
        </member>
5033
        <member name="M:LibUsbDotNet.Descriptors.UsbDeviceDescriptor.ToString(System.String,System.String,System.String)">
5034
            <summary>
5035
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.Descriptors.UsbDeviceDescriptor"/>.
5036
            </summary>
5037
 
5038
            <param name="prefixSeperator">The field prefix string.</param>
5039
            <param name="entitySperator">The field/value seperator string.</param>
5040
            <param name="suffixSeperator">The value suffix string.</param>
5041
            <returns>A formatted representation of the <see cref="T:LibUsbDotNet.Descriptors.UsbDeviceDescriptor"/>.</returns>
5042
        </member>
5043
        <member name="M:LibUsbDotNet.Descriptors.UsbDeviceDescriptor.Equals(LibUsbDotNet.Descriptors.UsbDeviceDescriptor)">
5044
            <summary>
5045
            Determines whether the specified <see cref="T:LibUsbDotNet.Descriptors.UsbDeviceDescriptor"/> is equal to the current <see cref="T:LibUsbDotNet.Descriptors.UsbDeviceDescriptor"/>.
5046
            </summary>
5047
            <returns>
5048
            true if the specified <see cref="T:LibUsbDotNet.Descriptors.UsbDeviceDescriptor"/> is equal to the current <see cref="T:LibUsbDotNet.Descriptors.UsbDeviceDescriptor"/>; otherwise, false.
5049
            </returns>
5050
            <param name="other">The <see cref="T:LibUsbDotNet.Descriptors.UsbDeviceDescriptor"/> to compare with the current <see cref="T:LibUsbDotNet.Descriptors.UsbDeviceDescriptor"/>. </param><exception cref="T:System.NullReferenceException">The <paramref name="other"/> parameter is null.</exception><filterpriority>2</filterpriority>
5051
        </member>
5052
        <member name="M:LibUsbDotNet.Descriptors.UsbDeviceDescriptor.Equals(System.Object)">
5053
            <summary>
5054
            Determines whether the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:System.Object"/>.
5055
            </summary>
5056
            <returns>
5057
            true if the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:System.Object"/>; otherwise, false.
5058
            </returns>
5059
            <param name="obj">The <see cref="T:System.Object"/> to compare with the current <see cref="T:System.Object"/>. </param><exception cref="T:System.NullReferenceException">The <paramref name="obj"/> parameter is null.</exception><filterpriority>2</filterpriority>
5060
        </member>
5061
        <member name="M:LibUsbDotNet.Descriptors.UsbDeviceDescriptor.GetHashCode">
5062
            <summary>
5063
            Serves as a hash function for a particular type. 
5064
            </summary>
5065
            <returns>
5066
            A hash code for the current <see cref="T:System.Object"/>.
5067
            </returns>
5068
            <filterpriority>2</filterpriority>
5069
        </member>
5070
        <member name="M:LibUsbDotNet.Descriptors.UsbDeviceDescriptor.op_Equality(LibUsbDotNet.Descriptors.UsbDeviceDescriptor,LibUsbDotNet.Descriptors.UsbDeviceDescriptor)">
5071
            <summary>
5072
 
5073
            </summary>
5074
            <param name="left"></param>
5075
            <param name="right"></param>
5076
            <returns></returns>
5077
        </member>
5078
        <member name="M:LibUsbDotNet.Descriptors.UsbDeviceDescriptor.op_Inequality(LibUsbDotNet.Descriptors.UsbDeviceDescriptor,LibUsbDotNet.Descriptors.UsbDeviceDescriptor)">
5079
            <summary>
5080
 
5081
            </summary>
5082
            <param name="left"></param>
5083
            <param name="right"></param>
5084
            <returns></returns>
5085
        </member>
5086
        <member name="T:LibUsbDotNet.Main.UsbTransferQueue">
5087
            <summary>
5088
            Helper class for maintaining a user defined number of outstanding aync transfers on an endpoint.
5089
            </summary>
5090
        </member>
5091
        <member name="M:LibUsbDotNet.Main.UsbTransferQueue.#ctor(LibUsbDotNet.Main.UsbEndpointBase,System.Int32,System.Int32,System.Int32,System.Int32)">
5092
            <summary>
5093
            Creates a new transfer queue instance.
5094
            </summary>
5095
            <param name="endpointBase">The endpoint to transfer data to/from.</param>
5096
            <param name="maxOutstandingIO">The number of transfers to <see cref="M:LibUsbDotNet.Main.UsbTransfer.Submit"/> before waiting for a completion.</param>
5097
            <param name="bufferSize">The size of each data buffer.</param>
5098
            <param name="timeout">The maximum time to wait for each transfer.</param>
5099
            <param name="isoPacketSize">For isochronous use only.  The iso packet size.  If 0, the endpoints max packet size is used.</param>
5100
        </member>
5101
        <member name="F:LibUsbDotNet.Main.UsbTransferQueue.EndpointBase">
5102
            <summary>
5103
            Endpoint for I/O operations.
5104
            </summary>
5105
        </member>
5106
        <member name="F:LibUsbDotNet.Main.UsbTransferQueue.MaxOutstandingIO">
5107
            <summary>
5108
            Maximum outstanding I/O operations before waiting for a completion.
5109
            This is also the number of data buffers allocated for this transfer queue.
5110
            </summary>
5111
        </member>
5112
        <member name="F:LibUsbDotNet.Main.UsbTransferQueue.BufferSize">
5113
            <summary>
5114
            Size (in bytes) of each data buffer in this transfer queue.
5115
            </summary>
5116
        </member>
5117
        <member name="F:LibUsbDotNet.Main.UsbTransferQueue.Timeout">
5118
            <summary>
5119
            Time (in milliseconds) to wait for a transfer to complete before returning <see cref="F:LibUsbDotNet.Main.ErrorCode.IoTimedOut"/>.
5120
            </summary>
5121
        </member>
5122
        <member name="F:LibUsbDotNet.Main.UsbTransferQueue.IsoPacketSize">
5123
            <summary>
5124
            For isochronous use only.  The iso packet size.
5125
            </summary>
5126
        </member>
5127
        <member name="M:LibUsbDotNet.Main.UsbTransferQueue.Transfer(LibUsbDotNet.Main.UsbTransferQueue.Handle@)">
5128
            <summary>
5129
            Submits transfers until <see cref="F:LibUsbDotNet.Main.UsbTransferQueue.MaxOutstandingIO"/> is reached then waits for the oldest transfer to complete.  
5130
            </summary>
5131
            <param name="handle">The queue handle to the <see cref="T:LibUsbDotNet.Main.UsbTransfer"/> that completed.</param>
5132
            <returns><see cref="F:LibUsbDotNet.Main.ErrorCode.Success"/> if data was transferred, or another <see cref="T:LibUsbDotNet.Main.ErrorCode"/> on error.</returns>
5133
        </member>
5134
        <member name="M:LibUsbDotNet.Main.UsbTransferQueue.Free">
5135
            <summary>
5136
            Cancels and frees all oustanding transfers.
5137
            </summary>
5138
        </member>
5139
        <member name="P:LibUsbDotNet.Main.UsbTransferQueue.Item(System.Int32)">
5140
            <summary>
5141
            Gets the transfer data buffer at the specified index.
5142
            </summary>
5143
            <param name="index">The index of the buffer to retrieve.</param>
5144
            <returns>The byte array for a transfer.</returns>
5145
        </member>
5146
        <member name="P:LibUsbDotNet.Main.UsbTransferQueue.Buffer">
5147
            <summary>
5148
            Gets a two dimensional array of data buffers. The first index represents the transfer the second represents the data buffer.
5149
            </summary>
5150
        </member>
5151
        <member name="T:LibUsbDotNet.Main.UsbTransferQueue.Handle">
5152
            <summary>
5153
            A transfer queue handle.
5154
            </summary>
5155
        </member>
5156
        <member name="F:LibUsbDotNet.Main.UsbTransferQueue.Handle.Context">
5157
            <summary>
5158
            Transfer context.
5159
            </summary>
5160
        </member>
5161
        <member name="F:LibUsbDotNet.Main.UsbTransferQueue.Handle.Data">
5162
            <summary>
5163
            Data buffer.
5164
            </summary>
5165
        </member>
5166
        <member name="F:LibUsbDotNet.Main.UsbTransferQueue.Handle.Transferred">
5167
            <summary>
5168
            Number of bytes sent/received.
5169
            </summary>
5170
        </member>
5171
        <member name="T:LibUsbDotNet.DeviceNotify.Linux.LinuxDeviceNotifyEventArgs">
5172
            <summary>
5173
            Describes the device notify event
5174
            </summary> 
5175
        </member>
5176
        <member name="T:LibUsbDotNet.WinUsb.DeviceSpeedTypes">
5177
            <summary> Device speed types
5178
            </summary> 
5179
        </member>
5180
        <member name="F:LibUsbDotNet.WinUsb.DeviceSpeedTypes.Undefined">
5181
            <summary>
5182
            Unknown
5183
            </summary>
5184
        </member>
5185
        <member name="F:LibUsbDotNet.WinUsb.DeviceSpeedTypes.LowSpeed">
5186
            <summary>
5187
            Low speed device.
5188
            </summary>
5189
        </member>
5190
        <member name="F:LibUsbDotNet.WinUsb.DeviceSpeedTypes.FullSpeed">
5191
            <summary>
5192
            Full speed device.
5193
            </summary>
5194
        </member>
5195
        <member name="F:LibUsbDotNet.WinUsb.DeviceSpeedTypes.HighSpeed">
5196
            <summary>
5197
            High speed device.
5198
            </summary>
5199
        </member>
5200
        <member name="T:LibUsbDotNet.LudnMonoLibUsb.MonoUsbEndpointWriter">
5201
            <summary>
5202
            Implements mono-linux libusb 1.x methods for writing to methods for writing data to a <see cref="F:LibUsbDotNet.Main.EndpointType.Bulk"/> or <see cref="F:LibUsbDotNet.Main.EndpointType.Interrupt"/> endpoints.
5203
            </summary> 
5204
        </member>
5205
        <member name="M:LibUsbDotNet.LudnMonoLibUsb.MonoUsbEndpointWriter.Dispose">
5206
            <summary>
5207
            Frees resources associated with the endpoint.  Once disposed this class cannot be used.
5208
            </summary>
5209
        </member>
5210
        <member name="M:LibUsbDotNet.LudnMonoLibUsb.MonoUsbEndpointWriter.Flush">
5211
            <summary>
5212
            This method has no effect on write endpoints, andalways returs true.
5213
            </summary>
5214
            <returns>True</returns>
5215
        </member>
5216
        <member name="M:LibUsbDotNet.LudnMonoLibUsb.MonoUsbEndpointWriter.Reset">
5217
            <summary>
5218
            Cancels pending transfers and clears the halt condition on an enpoint.
5219
            </summary>
5220
            <returns>True on success.</returns>
5221
        </member>
5222
        <member name="T:LibUsbDotNet.LudnMonoLibUsb.MonoUsbEndpointReader">
5223
            <summary>
5224
            Implements mono-linux libusb 1.x methods for reading data from a <see cref="F:LibUsbDotNet.Main.EndpointType.Bulk"/> or <see cref="F:LibUsbDotNet.Main.EndpointType.Interrupt"/> endpoints.
5225
            </summary> 
5226
        </member>
5227
        <member name="M:LibUsbDotNet.LudnMonoLibUsb.MonoUsbEndpointReader.Dispose">
5228
            <summary>
5229
            Frees resources associated with the endpoint.  Once disposed this class cannot be used.
5230
            </summary>
5231
        </member>
5232
        <member name="M:LibUsbDotNet.LudnMonoLibUsb.MonoUsbEndpointReader.Flush">
5233
            <summary>
5234
            Calling this methods is that same as calling <see cref="M:LibUsbDotNet.UsbEndpointReader.ReadFlush"/>
5235
            </summary>
5236
            <returns>True an success.</returns>
5237
        </member>
5238
        <member name="M:LibUsbDotNet.LudnMonoLibUsb.MonoUsbEndpointReader.Reset">
5239
            <summary>
5240
            Cancels pending transfers and clears the halt condition on an enpoint.
5241
            </summary>
5242
            <returns>True on success.</returns>
5243
        </member>
5244
        <member name="T:LibUsbDotNet.DeviceNotify.Info.PortNotifyInfo">
5245
            <summary> Notify information for a communication port
5246
            </summary> 
5247
        </member>
5248
        <member name="T:LibUsbDotNet.DeviceNotify.Info.IPortNotifyInfo">
5249
            <summary> Common interface describing a communication port arrival or removal notification.
5250
            </summary> 
5251
        </member>
5252
        <member name="M:LibUsbDotNet.DeviceNotify.Info.IPortNotifyInfo.ToString">
5253
            <summary>
5254
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.DeviceNotify.Info.PortNotifyInfo"/>.
5255
            </summary>
5256
 
5257
            <returns>
5258
            A <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.DeviceNotify.Info.PortNotifyInfo"/>.
5259
            </returns>
5260
        </member>
5261
        <member name="P:LibUsbDotNet.DeviceNotify.Info.IPortNotifyInfo.Name">
5262
            <summary>
5263
            Under windows, Gets the name of the port that caused the event.
5264
            Under windows, Gets the full path of the device caused the event.
5265
            </summary>
5266
        </member>
5267
        <member name="M:LibUsbDotNet.DeviceNotify.Info.PortNotifyInfo.ToString">
5268
            <summary>
5269
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.DeviceNotify.Info.PortNotifyInfo"/>.
5270
            </summary>
5271
 
5272
            <returns>
5273
            A <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.DeviceNotify.Info.PortNotifyInfo"/>.
5274
            </returns>
5275
        </member>
5276
        <member name="P:LibUsbDotNet.DeviceNotify.Info.PortNotifyInfo.Name">
5277
            <summary>
5278
            Gets the name of the port that caused the event.
5279
            </summary>
5280
        </member>
5281
        <member name="T:LibUsbDotNet.DeviceNotify.DeviceNotifier">
5282
            <summary>
5283
            Platform independent class for linux/windows device notification.
5284
            </summary>
5285
            <code source="..\Examples\Device.Notification\DeviceNotification.cs" lang="cs"/>
5286
        </member>
5287
        <member name="M:LibUsbDotNet.DeviceNotify.DeviceNotifier.OpenDeviceNotifier">
5288
            <summary>
5289
            Creates a new instance of a device notifier class.
5290
            </summary>
5291
            <returns>A <see cref="T:LibUsbDotNet.DeviceNotify.WindowsDeviceNotifier"/> under windows and a <see cref="T:LibUsbDotNet.DeviceNotify.Linux.LinuxDeviceNotifier"/> under linux.</returns>
5292
        </member>
5293
        <member name="T:LibUsbDotNet.Descriptors.UsbInterfaceDescriptor">
5294
            <summary> Usb Interface Descriptor.
5295
            </summary> 
5296
            <remarks> This is the actual descriptor as described in the USB 2.0 Specifications.
5297
            </remarks> 
5298
        </member>
5299
        <member name="F:LibUsbDotNet.Descriptors.UsbInterfaceDescriptor.Size">
5300
            <summary>
5301
            Total size of this structure in bytes.
5302
            </summary>
5303
        </member>
5304
        <member name="F:LibUsbDotNet.Descriptors.UsbInterfaceDescriptor.InterfaceID">
5305
            <summary>
5306
            Number of Interface
5307
            </summary>
5308
        </member>
5309
        <member name="F:LibUsbDotNet.Descriptors.UsbInterfaceDescriptor.AlternateID">
5310
            <summary>
5311
            Value used to select alternative setting
5312
            </summary>
5313
        </member>
5314
        <member name="F:LibUsbDotNet.Descriptors.UsbInterfaceDescriptor.EndpointCount">
5315
            <summary>
5316
            Number of Endpoints used for this interface
5317
            </summary>
5318
        </member>
5319
        <member name="F:LibUsbDotNet.Descriptors.UsbInterfaceDescriptor.Class">
5320
            <summary>
5321
            Class Code (Assigned by USB Org)
5322
            </summary>
5323
        </member>
5324
        <member name="F:LibUsbDotNet.Descriptors.UsbInterfaceDescriptor.SubClass">
5325
            <summary>
5326
            Subclass Code (Assigned by USB Org)
5327
            </summary>
5328
        </member>
5329
        <member name="F:LibUsbDotNet.Descriptors.UsbInterfaceDescriptor.Protocol">
5330
            <summary>
5331
            Protocol Code (Assigned by USB Org)
5332
            </summary>
5333
        </member>
5334
        <member name="F:LibUsbDotNet.Descriptors.UsbInterfaceDescriptor.StringIndex">
5335
            <summary>
5336
            Index of String Descriptor Describing this interface
5337
            </summary>
5338
        </member>
5339
        <member name="M:LibUsbDotNet.Descriptors.UsbInterfaceDescriptor.ToString">
5340
            <summary>
5341
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.Descriptors.UsbInterfaceDescriptor"/>.
5342
            </summary>
5343
 
5344
            <returns>
5345
            A <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.Descriptors.UsbInterfaceDescriptor"/>.
5346
            </returns>
5347
        </member>
5348
        <member name="M:LibUsbDotNet.Descriptors.UsbInterfaceDescriptor.ToString(System.String,System.String,System.String)">
5349
            <summary>
5350
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.Descriptors.UsbInterfaceDescriptor"/>.
5351
            </summary>
5352
 
5353
            <param name="prefixSeperator">The field prefix string.</param>
5354
            <param name="entitySperator">The field/value seperator string.</param>
5355
            <param name="suffixSeperator">The value suffix string.</param>
5356
            <returns>A formatted representation of the <see cref="T:LibUsbDotNet.Descriptors.UsbInterfaceDescriptor"/>.</returns>
5357
        </member>
5358
        <member name="T:MonoLibUsb.Transfer.MonoUsbControlSetupHandle">
5359
            <summary>
5360
            Allocates memory and fills an asynchronous control setup packet. 
5361
            </summary>
5362
            <remarks>
5363
            <note type="tip">This type is used for asynchronous control transfers only.</note>
5364
            </remarks>
5365
            <seealso cref="T:MonoLibUsb.Transfer.MonoUsbControlSetup"/>
5366
        </member>
5367
        <member name="M:MonoLibUsb.Transfer.MonoUsbControlSetupHandle.#ctor(System.Byte,System.Byte,System.Int16,System.Int16,System.Object,System.Int32)">
5368
            <summary>
5369
            Allocates memory and sets up a control setup packet. Copies control data into the control data buffer
5370
            </summary>
5371
            <remarks>
5372
            <para>This constructor is used when <paramref name="requestType"/> has the <see cref="F:LibUsbDotNet.Main.UsbCtrlFlags.Direction_In"/> flag and this request will contain control data (more than just the setup packet).</para>
5373
            <para>Allocates <see cref="F:MonoLibUsb.Transfer.MonoUsbControlSetup.SETUP_PACKET_SIZE"/> + <paramref name="data"/>.Length for the setup packet. The setup packet is stored first then the control data.</para>
5374
            <para>The <paramref name="data"/> array is copied into the setup packet starting at <see cref="F:MonoLibUsb.Transfer.MonoUsbControlSetup.SETUP_PACKET_SIZE"/>.</para>
5375
            <note title="Libusb-1.0 API Note:" type="cpp">
5376
            This contructor is similar to
5377
            <a href="http://libusb.sourceforge.net/api-1.0/group__asyncio.html#ga5447311149ec2bd954b5f1a640a8e231">libusb_fill_control_setup()</a>.
5378
            </note>
5379
            </remarks>
5380
            <param name="requestType">The request type field for the setup packet.</param>
5381
            <param name="request">The request field for the setup packet.</param>
5382
            <param name="value">The value field for the setup packet</param>
5383
            <param name="index">The index field for the setup packet.</param>
5384
            <param name="data">The control data buffer to copy into the setup packet.</param>
5385
            <param name="length">Size of <paramref name="data"/> in bytes.  This value is also used for the wLength field of the setup packet.</param>
5386
        </member>
5387
        <member name="M:MonoLibUsb.Transfer.MonoUsbControlSetupHandle.#ctor(System.Byte,System.Byte,System.Int16,System.Int16,System.Int16)">
5388
            <summary>
5389
            Allocates memory and sets up a control setup packet.
5390
            </summary>
5391
            <remarks>
5392
            <para>This constructor is used when:
5393
            <list type="bullet">
5394
            <item><paramref name="requestType"/> has the <see cref="F:LibUsbDotNet.Main.UsbCtrlFlags.Direction_In"/> flag and this request will not contain extra data (just the setup packet).</item>
5395
            <item><paramref name="requestType"/> does not have the <see cref="F:LibUsbDotNet.Main.UsbCtrlFlags.Direction_In"/> flag.</item>
5396
            </list>
5397
            </para>
5398
            <note title="Libusb-1.0 API Note:" type="cpp">
5399
            This contructor is similar to
5400
            <a href="http://libusb.sourceforge.net/api-1.0/group__asyncio.html#ga5447311149ec2bd954b5f1a640a8e231">libusb_fill_control_setup()</a>.
5401
            </note>
5402
            <para>Allocates <see cref="F:MonoLibUsb.Transfer.MonoUsbControlSetup.SETUP_PACKET_SIZE"/> + <paramref name="length"/> for the setup packet. The setup packet is stored first then the control data.</para>
5403
            </remarks>
5404
            <param name="requestType">The request type field for the setup packet.</param>
5405
            <param name="request">The request field for the setup packet.</param>
5406
            <param name="value">The value field for the setup packet</param>
5407
            <param name="index">The index field for the setup packet.</param>
5408
            <param name="length">The length to allocate for the data portion of the setup packet.</param>
5409
        </member>
5410
        <member name="M:MonoLibUsb.Transfer.MonoUsbControlSetupHandle.ReleaseHandle">
5411
            <summary>
5412
 
5413
            </summary>
5414
            <returns></returns>
5415
        </member>
5416
        <member name="P:MonoLibUsb.Transfer.MonoUsbControlSetupHandle.ControlSetup">
5417
            <summary>
5418
            Returns the <see cref="T:MonoLibUsb.Transfer.MonoUsbControlSetup"/> for this handle.
5419
            </summary>
5420
        </member>
5421
        <member name="T:LibUsbDotNet.WinUsb.PipeInformation">
5422
            <summary> WinUsb Pipe information.
5423
            </summary> 
5424
        </member>
5425
        <member name="F:LibUsbDotNet.WinUsb.PipeInformation.Size">
5426
            <summary>
5427
            Size of the structure in bytes.
5428
            </summary>
5429
        </member>
5430
        <member name="F:LibUsbDotNet.WinUsb.PipeInformation.PipeType">
5431
            <summary>
5432
            Specifies the pipe type.
5433
            </summary>
5434
        </member>
5435
        <member name="F:LibUsbDotNet.WinUsb.PipeInformation.PipeId">
5436
            <summary>
5437
            The pipe identifier (ID). 
5438
            </summary>
5439
        </member>
5440
        <member name="F:LibUsbDotNet.WinUsb.PipeInformation.MaximumPacketSize">
5441
            <summary>
5442
            The maximum size, in bytes, of the packets that are transmitted on the pipe.
5443
            </summary>
5444
        </member>
5445
        <member name="F:LibUsbDotNet.WinUsb.PipeInformation.Interval">
5446
            <summary>
5447
            The pipe interval.
5448
            </summary>
5449
        </member>
5450
        <member name="T:LibUsbDotNet.Internal.UsbRegex.RegHardwareID">
5451
            <summary>
5452
            Regular expression class for quick parsing of usb hardware ids.
5453
            </summary>
5454
        </member>
5455
        <member name="T:LibUsbDotNet.WinUsb.WinUsbRegistry">
5456
            <summary> WinUsb specific members for device registry settings.
5457
            </summary> 
5458
        </member>
5459
        <member name="M:LibUsbDotNet.WinUsb.WinUsbRegistry.GetDevicePathList(System.Guid,System.Collections.Generic.List{System.String}@)">
5460
            <summary>
5461
            Gets a list of WinUSB device paths for the specified interface guid.
5462
            </summary>
5463
            <param name="deviceInterfaceGuid">The DeviceInterfaceGUID to search for.</param>
5464
            <param name="devicePathList">A list of device paths associated with the <paramref name="deviceInterfaceGuid"/>.</param>
5465
            <returns>True of one or more device paths was found.</returns>
5466
            <remarks>
5467
            Each device path string in the <paramref name="devicePathList"/> represents a seperate WinUSB device (interface).
5468
            </remarks>
5469
            <seealso cref="M:LibUsbDotNet.WinUsb.WinUsbRegistry.GetWinUsbRegistryList(System.Guid,System.Collections.Generic.List{LibUsbDotNet.WinUsb.WinUsbRegistry}@)"/>
5470
        </member>
5471
        <member name="M:LibUsbDotNet.WinUsb.WinUsbRegistry.GetWinUsbRegistryList(System.Guid,System.Collections.Generic.List{LibUsbDotNet.WinUsb.WinUsbRegistry}@)">
5472
            <summary>
5473
            Gets a list of <see cref="T:LibUsbDotNet.WinUsb.WinUsbRegistry"/> classes for the specified interface guid.
5474
            </summary>
5475
            <param name="deviceInterfaceGuid">The DeviceInterfaceGUID to search for.</param>
5476
            <param name="deviceRegistryList">A list of device paths associated with the <paramref name="deviceInterfaceGuid"/>.</param>
5477
            <returns>True of one or more device paths was found.</returns>
5478
            <remarks>
5479
            Each <see cref="T:LibUsbDotNet.WinUsb.WinUsbRegistry"/> in the <paramref name="deviceRegistryList"/> represents a seperate WinUSB device (interface).
5480
            </remarks>
5481
        </member>
5482
        <member name="M:LibUsbDotNet.WinUsb.WinUsbRegistry.Open(LibUsbDotNet.UsbDevice@)">
5483
            <summary>
5484
            Opens the USB device for communucation.
5485
            </summary>
5486
            <param name="usbDevice">The newly created UsbDevice.</param>
5487
            <returns>True on success.</returns>
5488
        </member>
5489
        <member name="M:LibUsbDotNet.WinUsb.WinUsbRegistry.Open(LibUsbDotNet.WinUsb.WinUsbDevice@)">
5490
            <summary>
5491
            Opens the USB device for communucation.
5492
            </summary>
5493
            <param name="usbDevice">Returns an opened WinUsb device on success, null on failure.</param>
5494
            <returns>True on success.</returns>
5495
        </member>
5496
        <member name="P:LibUsbDotNet.WinUsb.WinUsbRegistry.DeviceList">
5497
            <summary>
5498
            Gets a list of available LibUsb devices.
5499
            </summary>
5500
        </member>
5501
        <member name="P:LibUsbDotNet.WinUsb.WinUsbRegistry.DeviceInterfaceGuids">
5502
            <summary>
5503
            Gets a collection of DeviceInterfaceGuids that are associated with this WinUSB device.
5504
            </summary>
5505
        </member>
5506
        <member name="P:LibUsbDotNet.WinUsb.WinUsbRegistry.IsAlive">
5507
            <summary>
5508
            Check this value to determine if the usb device is still connected to the bus and ready to open.
5509
            </summary>
5510
            <remarks>
5511
            Uses the symbolic name as a unique id to determine if this device instance is still attached.
5512
            </remarks>
5513
            <exception cref="T:LibUsbDotNet.Main.UsbException">An exception is thrown if the <see cref="P:LibUsbDotNet.Main.UsbRegistry.SymbolicName"/> property is null or empty.</exception>
5514
        </member>
5515
        <member name="P:LibUsbDotNet.WinUsb.WinUsbRegistry.Device">
5516
            <summary>
5517
            Opens the USB device for communucation.
5518
            </summary>
5519
            <returns>Return a new instance of the <see cref="T:LibUsbDotNet.UsbDevice"/> class.
5520
            If the device fails to open a null refrence is return. For extended error
5521
            information use the <see cref="E:LibUsbDotNet.UsbDevice.UsbErrorEvent"/>.
5522
             </returns>
5523
        </member>
5524
        <member name="P:LibUsbDotNet.WinUsb.WinUsbRegistry.DeviceID">
5525
            <summary>
5526
            Gets the device instance id.
5527
            </summary>
5528
            <remarks>
5529
            For more information on device instance ids, see the <a href="http://msdn.microsoft.com/en-us/library/ff538405%28v=VS.85%29.aspx">CM_Get_Device_ID Function</a> at MSDN.
5530
            </remarks>
5531
        </member>
5532
        <member name="P:LibUsbDotNet.WinUsb.WinUsbRegistry.Vid">
5533
            <summary>
5534
            VendorID
5535
            </summary>
5536
            <remarks>This value is parsed out of the <see cref="P:LibUsbDotNet.WinUsb.WinUsbRegistry.DeviceID"/> field.</remarks>
5537
        </member>
5538
        <member name="P:LibUsbDotNet.WinUsb.WinUsbRegistry.Pid">
5539
            <summary>
5540
            ProductID
5541
            </summary>
5542
            <remarks>This value is parsed out of the <see cref="P:LibUsbDotNet.WinUsb.WinUsbRegistry.DeviceID"/> field.</remarks>
5543
        </member>
5544
        <member name="P:LibUsbDotNet.WinUsb.WinUsbRegistry.InterfaceID">
5545
            <summary>
5546
             Gets the interface ID this WinUSB device (interface) is associated with.
5547
            </summary>
5548
             <remarks>This value is parsed out of the <see cref="P:LibUsbDotNet.WinUsb.WinUsbRegistry.DeviceID"/> field.</remarks>
5549
        </member>
5550
        <member name="T:LibUsbDotNet.WinUsb.PowerPolicies">
5551
            <summary> 
5552
            power policy for a <see cref="T:LibUsbDotNet.WinUsb.WinUsbDevice"/>.
5553
            </summary> 
5554
        </member>
5555
        <member name="M:LibUsbDotNet.WinUsb.PowerPolicies.Finalize">
5556
            <summary>
5557
            Frees instance resources.
5558
            </summary>
5559
        </member>
5560
        <member name="P:LibUsbDotNet.WinUsb.PowerPolicies.AutoSuspend">
5561
            <summary>
5562
            If the auto suspend policy parameter is TRUE (that is, nonzero), the USB stack suspends the device when no transfers are pending. The default value for the AutoSuspend policy parameter is TRUE.
5563
            </summary>
5564
        </member>
5565
        <member name="P:LibUsbDotNet.WinUsb.PowerPolicies.SuspendDelay">
5566
            <summary>
5567
            The suspend delay policy parameter specifies the minimum amount of time, in milliseconds, that the WinUSB driver must wait after any transfer before it can suspend the device. 
5568
            </summary>
5569
        </member>
5570
        <member name="T:MonoLibUsb.MonoUsbApi">
5571
            <summary>
5572
            Libusb-1.0 low-level API library.
5573
            </summary>
5574
        </member>
5575
        <member name="M:MonoLibUsb.MonoUsbApi.SetDebug(MonoLibUsb.MonoUsbSessionHandle,System.Int32)">
5576
            <summary>Set message verbosity.</summary>
5577
            <param name="sessionHandle">A valid <see cref="T:MonoLibUsb.MonoUsbSessionHandle"/>.</param>
5578
            <param name="level">Debug level to set.</param>
5579
            <remarks>
5580
            <list type="bullet">
5581
            <item>Level 0: no messages ever printed by the library. (default)</item>
5582
            <item>Level 1: error messages are printed to stderr.</item>
5583
            <item>Level 2: warning and error messages are printed to stderr.</item>
5584
            <item>Level 3: informational messages are printed to stdout, warning and error messages are printed to stderr</item>
5585
            </list>
5586
            <para>The default level is 0, which means no messages are ever printed. If you choose to increase the message verbosity level, ensure that your application does not close the stdout/stderr file descriptors.</para>
5587
            <para>You are advised to set level 3. libusb is conservative with its message logging and most of the time, will only log messages that explain error conditions and other oddities. This will help you debug your software.</para>
5588
            <para>If the LIBUSB_DEBUG environment variable was set when libusb was initialized, this function does nothing: the message verbosity is fixed to the value in the environment variable.</para>
5589
            <para>If libusb was compiled without any message logging, this function does nothing: you'll never get any messages.</para>
5590
            <para>If libusb was compiled with verbose debug message logging, this function does nothing: you'll always get messages from all levels.</para>
5591
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="lib"/></note>
5592
            </remarks>
5593
        </member>
5594
        <member name="M:MonoLibUsb.MonoUsbApi.GetDeviceList(MonoLibUsb.MonoUsbSessionHandle,MonoLibUsb.Profile.MonoUsbProfileListHandle@)">
5595
            <summary>
5596
            Returns a list of USB devices currently attached to the system. 
5597
            </summary>
5598
            <remarks>
5599
            <para>This is your entry point into finding a USB device to operate.</para>
5600
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="dev"/></note>
5601
            </remarks>
5602
            <param name="sessionHandle">A valid <see cref="T:MonoLibUsb.MonoUsbSessionHandle"/>.</param>
5603
            <param name="monoUSBProfileListHandle">	output location for a list of devices.</param>
5604
            <returns>The number of devices in the outputted list, or <see cref="F:MonoLibUsb.MonoUsbError.ErrorNoMem"/> on memory allocation failure.</returns>
5605
        </member>
5606
        <member name="M:MonoLibUsb.MonoUsbApi.GetBusNumber(MonoLibUsb.Profile.MonoUsbProfileHandle)">
5607
            <summary>
5608
            Get the number of the bus that a device is connected to. 
5609
            </summary>
5610
            <remarks>
5611
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="dev"/></note>
5612
            </remarks>
5613
            <returns>The bus number.</returns>
5614
            <param name="deviceProfileHandle">A device profile handle.</param>
5615
        </member>
5616
        <member name="M:MonoLibUsb.MonoUsbApi.GetDeviceAddress(MonoLibUsb.Profile.MonoUsbProfileHandle)">
5617
            <summary>
5618
            Get the address of the device on the bus it is connected to. 
5619
            </summary>
5620
            <remarks>
5621
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="dev"/></note>
5622
            </remarks>
5623
            <returns>The device address.</returns>
5624
            <param name="deviceProfileHandle">A device profile handle.</param>
5625
        </member>
5626
        <member name="M:MonoLibUsb.MonoUsbApi.GetMaxPacketSize(MonoLibUsb.Profile.MonoUsbProfileHandle,System.Byte)">
5627
            <summary>
5628
            Convenience function to retrieve the wMaxPacketSize value for a particular endpoint in the active device configuration. 
5629
            </summary>
5630
            <param name="deviceProfileHandle">A device profile handle.</param>
5631
            <param name="endpoint">Endpoint address to retrieve the max packet size for.</param>
5632
            <remarks>
5633
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="dev"/></note>
5634
            <para>This function was originally intended to be of assistance when setting up isochronous transfers, but a design mistake resulted in this function instead. It simply returns the <see cref="F:MonoLibUsb.Descriptors.MonoUsbEndpointDescriptor.wMaxPacketSize"/> value without considering its contents. If you're dealing with isochronous transfers, you probably want <see cref="M:MonoLibUsb.MonoUsbApi.GetMaxIsoPacketSize(MonoLibUsb.Profile.MonoUsbProfileHandle,System.Byte)"/> instead.</para>
5635
            </remarks>
5636
            <returns>The <see cref="F:MonoLibUsb.Descriptors.MonoUsbEndpointDescriptor.wMaxPacketSize"/></returns>
5637
        </member>
5638
        <member name="M:MonoLibUsb.MonoUsbApi.GetMaxIsoPacketSize(MonoLibUsb.Profile.MonoUsbProfileHandle,System.Byte)">
5639
            <summary>
5640
            Calculate the maximum packet size which a specific endpoint is capable is sending or receiving in the duration of 1 microframe.
5641
            </summary>
5642
            <remarks>
5643
            <para>Only the active configuration is examined. The calculation is based on the wMaxPacketSize field in the endpoint descriptor as described in section 9.6.6 in the USB 2.0 specifications.</para>
5644
            <para>If acting on an isochronous or interrupt endpoint, this function will multiply the value found in bits 0:10 by the number of transactions per microframe (determined by bits 11:12). Otherwise, this function just returns the numeric value found in bits 0:10.</para>
5645
            <para>This function is useful for setting up isochronous transfers, for example you might pass the return value from this function to <see cref="M:MonoLibUsb.Transfer.MonoUsbTransfer.SetIsoPacketLengths(System.Int32)">libusb_set_iso_packet_lengths</see> in order to set the length field of every isochronous packet in a transfer.</para>
5646
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="dev"/></note>
5647
            </remarks>
5648
            <param name="deviceProfileHandle">A device profile handle.</param>
5649
            <param name="endpoint">Endpoint address to retrieve the max packet size for.</param>
5650
            <returns>The maximum packet size which can be sent/received on this endpoint.</returns>
5651
        </member>
5652
        <member name="M:MonoLibUsb.MonoUsbApi.OpenDeviceWithVidPid(MonoLibUsb.MonoUsbSessionHandle,System.Int16,System.Int16)">
5653
            <summary>
5654
            Convenience function for finding a device with a particular idVendor/idProduct combination. 
5655
            </summary>
5656
            <remarks>
5657
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="dev"/></note>
5658
            </remarks>
5659
            <param name="sessionHandle">A valid <see cref="T:MonoLibUsb.MonoUsbSessionHandle"/>.</param>
5660
            <param name="vendorID">The idVendor value to search for.</param>
5661
            <param name="productID">The idProduct value to search for.</param>
5662
            <returns>Null if the device was not opened or not found, otherwise an opened device handle.</returns>
5663
        </member>
5664
        <member name="M:MonoLibUsb.MonoUsbApi.GetDevice(MonoLibUsb.MonoUsbDeviceHandle)">
5665
            <summary>
5666
            Get a <see cref="T:MonoLibUsb.Profile.MonoUsbProfileHandle"/> for a <see cref="T:MonoLibUsb.MonoUsbDeviceHandle"/>. 
5667
            </summary>
5668
            <remarks>
5669
            <para>
5670
            This function differs from the Libusb-1.0 C API in that when the new <see cref="T:MonoLibUsb.Profile.MonoUsbProfileHandle"/> is returned, the device profile reference count 
5671
            is incremented ensuring the profile will remain valid as long as it is in-use.
5672
            </para>
5673
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="dev"/></note>
5674
            </remarks>
5675
            <param name="devicehandle">A device handle.</param>
5676
            <returns>The underlying profile handle.</returns>
5677
        </member>
5678
        <member name="M:MonoLibUsb.MonoUsbApi.GetConfiguration(MonoLibUsb.MonoUsbDeviceHandle,System.Int32@)">
5679
            <summary>
5680
            Determine the <see cref="F:MonoLibUsb.Descriptors.MonoUsbConfigDescriptor.bConfigurationValue"/> of the currently active configuration. 
5681
            </summary>
5682
            <remarks>
5683
            <para>You could formulate your own control request to obtain this information, but this function has the advantage that it may be able to retrieve the information from operating system caches (no I/O involved).</para>
5684
            <para>If the OS does not cache this information, then this function will block while a control transfer is submitted to retrieve the information.</para>
5685
            <para>This function will return a value of 0 in the <paramref name="configuration"/> parameter if the device is in unconfigured state.</para>
5686
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="dev"/></note>
5687
            </remarks>
5688
            <param name="deviceHandle">A device handle.</param>
5689
            <param name="configuration">Output location for the <see cref="F:MonoLibUsb.Descriptors.MonoUsbConfigDescriptor.bConfigurationValue"/> of the active configuration. (only valid for return code 0)</param>
5690
            <returns>
5691
            <list type="bullet">
5692
            <item>0 on success</item>
5693
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorNoDevice"/> if the device has been disconnected</item>
5694
            <item>another <see cref="T:MonoLibUsb.MonoUsbError"/> code on other failure</item>
5695
            </list>
5696
            </returns>
5697
        </member>
5698
        <member name="M:MonoLibUsb.MonoUsbApi.SetConfiguration(MonoLibUsb.MonoUsbDeviceHandle,System.Int32)">
5699
            <summary>
5700
            Set the active configuration for a device. 
5701
            </summary>
5702
            <remarks>
5703
            <para>The operating system may or may not have already set an active configuration on the device. It is up to your application to ensure the correct configuration is selected before you attempt to claim interfaces and perform other operations.</para>
5704
            <para>If you call this function on a device already configured with the selected configuration, then this function will act as a lightweight device reset: it will issue a SET_CONFIGURATION request using the current configuration, causing most USB-related device state to be reset (altsetting reset to zero, endpoint halts cleared, toggles reset).</para>
5705
            <para>You cannot change/reset configuration if your application has claimed interfaces - you should free them with <see cref="M:MonoLibUsb.MonoUsbApi.ReleaseInterface(MonoLibUsb.MonoUsbDeviceHandle,System.Int32)"/> first. You cannot change/reset configuration if other applications or drivers have claimed interfaces.</para>
5706
            <para>A configuration value of -1 will put the device in unconfigured state. The USB specifications state that a configuration value of 0 does this, however buggy devices exist which actually have a configuration 0.</para>
5707
            <para>You should always use this function rather than formulating your own SET_CONFIGURATION control request. This is because the underlying operating system needs to know when such changes happen.</para>
5708
            <para>This is a blocking function.</para>
5709
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="dev"/></note>
5710
            </remarks>
5711
            <param name="deviceHandle">A device handle.</param>
5712
            <param name="configuration">The <see cref="F:MonoLibUsb.Descriptors.MonoUsbConfigDescriptor.bConfigurationValue"/> of the configuration you wish to activate, or -1 if you wish to put the device in unconfigured state </param>
5713
            <returns>
5714
            <list type="bullet">
5715
            <item>0 on success</item>
5716
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorNotFound"/> if the requested configuration does not exist</item>
5717
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorBusy"/> if interfaces are currently claimed</item>
5718
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorNoDevice"/> if the device has been disconnected</item>
5719
            <item>another <see cref="T:MonoLibUsb.MonoUsbError"/> code on other failure</item>
5720
            </list>
5721
            </returns>
5722
        </member>
5723
        <member name="M:MonoLibUsb.MonoUsbApi.ClaimInterface(MonoLibUsb.MonoUsbDeviceHandle,System.Int32)">
5724
            <summary>
5725
            Claim an interface on a given device handle. 
5726
            </summary>
5727
            <remarks>
5728
            <para>You must claim the interface you wish to use before you can perform I/O on any of its endpoints.</para>
5729
            <para>It is legal to attempt to claim an already-claimed interface, in which case libusb just returns 0 without doing anything.</para>
5730
            <para>Claiming of interfaces is a purely logical operation; it does not cause any requests to be sent over the bus. Interface claiming is used to instruct the underlying operating system that your application wishes to take ownership of the interface.</para>
5731
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="dev"/></note>
5732
            </remarks>
5733
            <param name="deviceHandle">A device handle.</param>
5734
            <param name="interfaceNumber">the <see cref="F:MonoLibUsb.Descriptors.MonoUsbAltInterfaceDescriptor.bInterfaceNumber"/> of the interface you wish to claim.</param>
5735
            <returns>
5736
            <list type="bullet">
5737
            <item>0 on success</item>
5738
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorNotFound"/> if the requested interface does not exist</item>
5739
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorBusy"/> if another program or driver has claimed the interface </item>
5740
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorNoDevice"/> if the device has been disconnected</item>
5741
            <item>another <see cref="T:MonoLibUsb.MonoUsbError"/> code on other failure</item>
5742
            </list>
5743
            </returns>
5744
        </member>
5745
        <member name="M:MonoLibUsb.MonoUsbApi.ReleaseInterface(MonoLibUsb.MonoUsbDeviceHandle,System.Int32)">
5746
            <summary>
5747
            Release an interface previously claimed with <see cref="M:MonoLibUsb.MonoUsbApi.ClaimInterface(MonoLibUsb.MonoUsbDeviceHandle,System.Int32)"/>.
5748
            </summary>
5749
            <remarks>
5750
            <para>You should release all claimed interfaces before closing a device handle.</para>
5751
            <para>This is a blocking function. A SET_INTERFACE control request will be sent to the device, resetting interface state to the first alternate setting.</para>
5752
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="dev"/></note>
5753
            </remarks>
5754
            <param name="deviceHandle">A device handle.</param>
5755
            <param name="interfaceNumber">the <see cref="F:MonoLibUsb.Descriptors.MonoUsbAltInterfaceDescriptor.bInterfaceNumber"/> of the interface you wish to claim.</param>
5756
            <returns>
5757
            <list type="bullet">
5758
            <item>0 on success</item>
5759
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorNotFound"/> if the interface was not claimed</item>
5760
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorNoDevice"/> if the device has been disconnected</item>
5761
            <item>another <see cref="T:MonoLibUsb.MonoUsbError"/> code on other failure</item>
5762
            </list>
5763
            </returns>
5764
        </member>
5765
        <member name="M:MonoLibUsb.MonoUsbApi.SetInterfaceAltSetting(MonoLibUsb.MonoUsbDeviceHandle,System.Int32,System.Int32)">
5766
            <summary>
5767
            Activate an alternate setting for an interface.
5768
            </summary>
5769
            <remarks>
5770
            <para>The interface must have been previously claimed with <see cref="M:MonoLibUsb.MonoUsbApi.ClaimInterface(MonoLibUsb.MonoUsbDeviceHandle,System.Int32)"/>.</para>
5771
            <para>You should always use this function rather than formulating your own SET_INTERFACE control request. This is because the underlying operating system needs to know when such changes happen.</para>
5772
            <para>This is a blocking function.</para>
5773
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="dev"/></note>
5774
            </remarks>
5775
            <param name="deviceHandle">A device handle.</param>
5776
            <param name="interfaceNumber">The <see cref="F:MonoLibUsb.Descriptors.MonoUsbAltInterfaceDescriptor.bInterfaceNumber"/> of the previously-claimed interface.</param>
5777
            <param name="alternateSetting">The <see cref="F:MonoLibUsb.Descriptors.MonoUsbAltInterfaceDescriptor.bAlternateSetting"/> of the alternate setting to activate.</param>
5778
            <returns>
5779
            <list type="bullet">
5780
            <item>0 on success</item>
5781
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorNotFound"/> if the interface was not claimed, or the requested alternate setting does not exist</item>
5782
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorNoDevice"/> if the device has been disconnected</item>
5783
            <item>another <see cref="T:MonoLibUsb.MonoUsbError"/> code on other failure</item>
5784
            </list>
5785
            </returns>
5786
        </member>
5787
        <member name="M:MonoLibUsb.MonoUsbApi.ClearHalt(MonoLibUsb.MonoUsbDeviceHandle,System.Byte)">
5788
            <summary>
5789
            Clear the halt/stall condition for an endpoint.
5790
            </summary>
5791
            <remarks>
5792
            <para>Endpoints with halt status are unable to receive or transmit data until the halt condition is stalled.</para>
5793
            <para>You should cancel all pending transfers before attempting to clear the halt condition.</para>
5794
            <para>This is a blocking function.</para>
5795
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="dev"/></note>
5796
            </remarks>
5797
            <param name="deviceHandle">A device handle.</param>
5798
            <param name="endpoint">The endpoint to clear halt status.</param>
5799
            <returns>
5800
            <list type="bullet">
5801
            <item>0 on success</item>
5802
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorNotFound"/> if the endpoint does not exist</item>
5803
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorNoDevice"/> if the device has been disconnected</item>
5804
            <item>another <see cref="T:MonoLibUsb.MonoUsbError"/> code on other failure</item>
5805
            </list>
5806
            </returns>
5807
        </member>
5808
        <member name="M:MonoLibUsb.MonoUsbApi.ResetDevice(MonoLibUsb.MonoUsbDeviceHandle)">
5809
            <summary>
5810
            Perform a USB port reset to reinitialize a device. 
5811
            </summary>
5812
            <remarks>
5813
            <para>The system will attempt to restore the previous configuration and alternate settings after the reset has completed.</para>
5814
            <para>If the reset fails, the descriptors change, or the previous state cannot be restored, the device will appear to be disconnected and reconnected. This means that the device handle is no longer valid (you should close it) and rediscover the device. A return code of <see cref="F:MonoLibUsb.MonoUsbError.ErrorNotFound"/> indicates when this is the case.</para>
5815
            <para>This is a blocking function which usually incurs a noticeable delay.</para>
5816
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="dev"/></note>
5817
            </remarks>
5818
            <param name="deviceHandle">A device handle.</param>
5819
            <returns>
5820
            <list type="bullet">
5821
            <item>0 on success</item>
5822
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorNotFound"/> if re-enumeration is required, or if the device has been disconnected</item>
5823
            <item>another <see cref="T:MonoLibUsb.MonoUsbError"/> code on other failure</item>
5824
            </list>
5825
            </returns>
5826
        </member>
5827
        <member name="M:MonoLibUsb.MonoUsbApi.KernelDriverActive(MonoLibUsb.MonoUsbDeviceHandle,System.Int32)">
5828
            <summary>
5829
            Determine if a kernel driver is active on an interface. 
5830
            </summary>
5831
            <remarks>
5832
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="dev"/></note>
5833
            </remarks>
5834
            <param name="deviceHandle">A device handle.</param>
5835
            <param name="interfaceNumber">The interface to check.</param>
5836
            <returns>
5837
            <list type="bullet">
5838
            <item>0 if no kernel driver is active.</item>
5839
            <item>1 if a kernel driver is active.</item>
5840
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorNoDevice"/> if the device has been disconnected.</item>
5841
            <item>Another <see cref="T:MonoLibUsb.MonoUsbError"/> code on other failure.</item>
5842
            </list>
5843
            </returns>
5844
        </member>
5845
        <member name="M:MonoLibUsb.MonoUsbApi.DetachKernelDriver(MonoLibUsb.MonoUsbDeviceHandle,System.Int32)">
5846
            <summary>
5847
            Detach a kernel driver from an interface.
5848
            </summary>
5849
            <remarks>
5850
            <para>If successful, you will then be able to claim the interface and perform I/O.</para>
5851
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="dev"/></note>
5852
            </remarks>
5853
            <param name="deviceHandle">A device handle.</param>
5854
            <param name="interfaceNumber">The interface to detach the driver from.</param>
5855
            <returns>
5856
            <list type="bullet">
5857
            <item>0 on success.</item>
5858
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorNotFound"/> if no kernel driver was active.</item>
5859
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorInvalidParam"/> if the interface does not exist.</item>
5860
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorNoDevice"/> if the device has been disconnected </item>
5861
            <item>Another <see cref="T:MonoLibUsb.MonoUsbError"/> code on other failure.</item>
5862
            </list>
5863
            </returns>
5864
        </member>
5865
        <member name="M:MonoLibUsb.MonoUsbApi.AttachKernelDriver(MonoLibUsb.MonoUsbDeviceHandle,System.Int32)">
5866
            <summary>
5867
            Re-attach an interface's kernel driver, which was previously detached using <see cref="M:MonoLibUsb.MonoUsbApi.DetachKernelDriver(MonoLibUsb.MonoUsbDeviceHandle,System.Int32)"/>.
5868
            </summary>
5869
            <remarks>
5870
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="dev"/></note>
5871
            </remarks>
5872
            <param name="deviceHandle">A device handle.</param>
5873
            <param name="interfaceNumber">The interface to attach the driver from.</param>
5874
            <returns>
5875
            <list type="bullet">
5876
            <item>0 on success.</item>
5877
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorNotFound"/> if no kernel driver was active.</item>
5878
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorInvalidParam"/> if the interface does not exist.</item>
5879
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorNoDevice"/> if the device has been disconnected.</item>
5880
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorBusy"/> if the driver cannot be attached because the interface is claimed by a program or driver.</item>
5881
            <item>Another <see cref="T:MonoLibUsb.MonoUsbError"/> code on other failure.</item>
5882
            </list>
5883
            </returns>
5884
        </member>
5885
        <member name="M:MonoLibUsb.MonoUsbApi.GetDeviceDescriptor(MonoLibUsb.Profile.MonoUsbProfileHandle,MonoLibUsb.Descriptors.MonoUsbDeviceDescriptor)">
5886
            <summary>
5887
            Gets the standard device descriptor.
5888
            </summary>
5889
            <remarks>
5890
            <note type="tip">This is a non-blocking function which does not involve any requests being sent to the device.</note>
5891
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="desc"/></note>
5892
            </remarks>
5893
            <param name="deviceProfileHandle">A device profile handle.</param>
5894
            <param name="deviceDescriptor">The <see cref="T:MonoLibUsb.Descriptors.MonoUsbDeviceDescriptor"/> clas that will hold the data.</param>
5895
            <returns>0 on success or a <see cref="T:MonoLibUsb.MonoUsbError"/> code on failure.</returns>
5896
        </member>
5897
        <member name="M:MonoLibUsb.MonoUsbApi.GetActiveConfigDescriptor(MonoLibUsb.Profile.MonoUsbProfileHandle,MonoLibUsb.Profile.MonoUsbConfigHandle@)">
5898
            <summary>
5899
            Get the USB configuration descriptor for the currently active configuration.
5900
            </summary>
5901
            <remarks>
5902
            <note type="tip">This is a non-blocking function which does not involve any requests being sent to the device.</note>
5903
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="desc"/></note>
5904
            </remarks>
5905
            <param name="deviceProfileHandle">A device profile handle.</param>
5906
            <param name="configHandle">A config handle.</param>
5907
            <returns>
5908
            <list type="bullet">
5909
            <item>0 on success</item>
5910
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorNotFound"/> if the device is in unconfigured state </item>
5911
            <item>another <see cref="T:MonoLibUsb.MonoUsbError"/> code on error</item>
5912
            </list>
5913
            </returns>
5914
        </member>
5915
        <member name="M:MonoLibUsb.MonoUsbApi.GetConfigDescriptor(MonoLibUsb.Profile.MonoUsbProfileHandle,System.Byte,MonoLibUsb.Profile.MonoUsbConfigHandle@)">
5916
            <summary>
5917
            Get a USB configuration descriptor based on its index. 
5918
            </summary>
5919
            <remarks>
5920
            <note type="tip">This is a non-blocking function which does not involve any requests being sent to the device.</note>
5921
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="desc"/></note>
5922
            </remarks>
5923
            <param name="deviceProfileHandle">A device profile handle.</param>
5924
            <param name="configIndex">The index of the configuration you wish to retrieve.</param>
5925
            <param name="configHandle">A config handle.</param>
5926
            <returns>
5927
            <list type="bullet">
5928
            <item>0 on success</item>
5929
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorNotFound"/> if the device is in unconfigured state </item>
5930
            <item>another <see cref="T:MonoLibUsb.MonoUsbError"/> code on error</item>
5931
            </list>
5932
            </returns>
5933
        </member>
5934
        <member name="M:MonoLibUsb.MonoUsbApi.GetConfigDescriptorByValue(MonoLibUsb.Profile.MonoUsbProfileHandle,System.Byte,MonoLibUsb.Profile.MonoUsbConfigHandle@)">
5935
            <summary>
5936
            Get a USB configuration descriptor with a specific bConfigurationValue.
5937
            </summary>
5938
            <remarks>
5939
            <note type="tip">This is a non-blocking function which does not involve any requests being sent to the device.</note>
5940
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="desc"/></note>
5941
            </remarks>
5942
            <param name="deviceProfileHandle">A device profile handle.</param>
5943
            <param name="bConfigurationValue">The bConfigurationValue of the configuration you wish to retrieve.</param>
5944
            <param name="configHandle">A config handle.</param>
5945
            <returns>
5946
            <list type="bullet">
5947
            <item>0 on success</item>
5948
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorNotFound"/> if the device is in unconfigured state </item>
5949
            <item>another <see cref="T:MonoLibUsb.MonoUsbError"/> code on error</item>
5950
            </list>
5951
            </returns>
5952
        </member>
5953
        <member name="M:MonoLibUsb.MonoUsbApi.GetDescriptor(MonoLibUsb.MonoUsbDeviceHandle,System.Byte,System.Byte,System.IntPtr,System.Int32)">
5954
            <summary>
5955
            Retrieve a descriptor from the default control pipe. 
5956
            </summary>
5957
            <remarks>
5958
            <para>This is a convenience function which formulates the appropriate control message to retrieve the descriptor.</para>
5959
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="desc"/></note>
5960
            </remarks>
5961
            <param name="deviceHandle">Retrieve a descriptor from the default control pipe.</param>
5962
            <param name="descType">The descriptor type, <see cref="T:LibUsbDotNet.Descriptors.DescriptorType"/></param>
5963
            <param name="descIndex">The index of the descriptor to retrieve.</param>
5964
            <param name="pData">Output buffer for descriptor.</param>
5965
            <param name="length">Size of data buffer.</param>
5966
            <returns>Number of bytes returned in data, or a <see cref="T:MonoLibUsb.MonoUsbError"/> code on failure.</returns>
5967
        </member>
5968
        <member name="M:MonoLibUsb.MonoUsbApi.GetDescriptor(MonoLibUsb.MonoUsbDeviceHandle,System.Byte,System.Byte,System.Object,System.Int32)">
5969
            <summary>
5970
            Retrieve a descriptor from the default control pipe. 
5971
            </summary>
5972
            <remarks>
5973
            <para>This is a convenience function which formulates the appropriate control message to retrieve the descriptor.</para>
5974
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="desc"/></note>
5975
            </remarks>
5976
            <param name="deviceHandle">Retrieve a descriptor from the default control pipe.</param>
5977
            <param name="descType">The descriptor type, <see cref="T:LibUsbDotNet.Descriptors.DescriptorType"/></param>
5978
            <param name="descIndex">The index of the descriptor to retrieve.</param>
5979
            <param name="data">Output buffer for descriptor. This object is pinned using <see cref="T:LibUsbDotNet.Main.PinnedHandle"/>.</param>
5980
            <param name="length">Size of data buffer.</param>
5981
            <returns>Number of bytes returned in data, or <see cref="T:MonoLibUsb.MonoUsbError"/> code on failure.</returns>
5982
        </member>
5983
        <member name="M:MonoLibUsb.MonoUsbApi.TryLockEvents(MonoLibUsb.MonoUsbSessionHandle)">
5984
            <summary>
5985
            Attempt to acquire the event handling lock.
5986
            </summary>
5987
            <remarks>
5988
            <para>This lock is used to ensure that only one thread is monitoring libusb event sources at any one time.</para>
5989
            <para>You only need to use this lock if you are developing an application which calls poll() or select() on libusb's file descriptors directly. If you stick to libusb's event handling loop functions (e.g. <see cref="M:MonoLibUsb.MonoUsbApi.HandleEvents(MonoLibUsb.MonoUsbSessionHandle)">libusb_handle_events</see>) then you do not need to be concerned with this locking.</para>
5990
            <para>While holding this lock, you are trusted to actually be handling events. If you are no longer handling events, you must call <see cref="M:MonoLibUsb.MonoUsbApi.UnlockEvents(MonoLibUsb.MonoUsbSessionHandle)">libusb_unlock_events</see> as soon as possible.</para>
5991
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="poll"/></note>
5992
            </remarks>
5993
            <param name="sessionHandle">A valid <see cref="T:MonoLibUsb.MonoUsbSessionHandle"/>.</param>
5994
            <returns>
5995
            <list type="bullet">
5996
            <item>0 if the lock was obtained successfully.</item>
5997
            <item>1 if the lock was not obtained. (i.e. another thread holds the lock)</item>
5998
            </list>
5999
            </returns>
6000
        </member>
6001
        <member name="M:MonoLibUsb.MonoUsbApi.LockEvents(MonoLibUsb.MonoUsbSessionHandle)">
6002
            <summary>
6003
            Acquire the event handling lock, blocking until successful acquisition if it is contended. 
6004
            </summary>
6005
            <remarks>
6006
            <para>This lock is used to ensure that only one thread is monitoring libusb event sources at any one time.</para>
6007
            <para>You only need to use this lock if you are developing an application which calls poll() or select() on libusb's file descriptors directly. If you stick to libusb's event handling loop functions (e.g. <see cref="M:MonoLibUsb.MonoUsbApi.HandleEvents(MonoLibUsb.MonoUsbSessionHandle)">libusb_handle_events</see>) then you do not need to be concerned with this locking.</para>
6008
            <para>While holding this lock, you are trusted to actually be handling events. If you are no longer handling events, you must call <see cref="M:MonoLibUsb.MonoUsbApi.UnlockEvents(MonoLibUsb.MonoUsbSessionHandle)">libusb_unlock_events</see> as soon as possible.</para>
6009
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="poll"/></note>
6010
            </remarks>
6011
            <param name="sessionHandle">A valid <see cref="T:MonoLibUsb.MonoUsbSessionHandle"/>.</param>
6012
        </member>
6013
        <member name="M:MonoLibUsb.MonoUsbApi.UnlockEvents(MonoLibUsb.MonoUsbSessionHandle)">
6014
            <summary>
6015
            Release the lock previously acquired with <see cref="M:MonoLibUsb.MonoUsbApi.TryLockEvents(MonoLibUsb.MonoUsbSessionHandle)">libusb_try_lock_events</see> or <see cref="M:MonoLibUsb.MonoUsbApi.LockEvents(MonoLibUsb.MonoUsbSessionHandle)">libusb_lock_events</see>. 
6016
            </summary>
6017
            <remarks>
6018
            <para>Releasing this lock will wake up any threads blocked on <see cref="M:MonoLibUsb.MonoUsbApi.WaitForEvent(MonoLibUsb.MonoUsbSessionHandle,MonoLibUsb.UnixNativeTimeval@)">libusb_wait_for_event</see>.</para>
6019
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="poll"/></note>
6020
            </remarks>
6021
            <param name="sessionHandle">A valid <see cref="T:MonoLibUsb.MonoUsbSessionHandle"/>.</param>
6022
        </member>
6023
        <member name="M:MonoLibUsb.MonoUsbApi.EventHandlingOk(MonoLibUsb.MonoUsbSessionHandle)">
6024
            <summary>
6025
            Determine if it is still OK for this thread to be doing event handling. 
6026
            </summary>
6027
            <remarks>
6028
            <para>Sometimes, libusb needs to temporarily pause all event handlers, and this is the function you should use before polling file descriptors to see if this is the case.</para>
6029
            <para>If this function instructs your thread to give up the events lock, you should just continue the usual logic that is documented in Multi-threaded applications and asynchronous I/O. On the next iteration, your thread will fail to obtain the events lock, and will hence become an event waiter.</para>
6030
            <para>This function should be called while the events lock is held: you don't need to worry about the results of this function if your thread is not the current event handler.</para>
6031
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="poll"/></note>
6032
            </remarks>
6033
            <param name="sessionHandle">A valid <see cref="T:MonoLibUsb.MonoUsbSessionHandle"/>.</param>
6034
            <returns>
6035
            <list type="bullet">
6036
            <item>1 if event handling can start or continue.</item>
6037
            <item>0 if this thread must give up the events lock.</item>
6038
            </list>
6039
            </returns>
6040
        </member>
6041
        <member name="M:MonoLibUsb.MonoUsbApi.EventHandlerActive(MonoLibUsb.MonoUsbSessionHandle)">
6042
            <summary>
6043
            Determine if an active thread is handling events (i.e. if anyone is holding the event handling lock).
6044
            </summary>
6045
            <remarks>
6046
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="poll"/></note>
6047
            </remarks>
6048
            <param name="sessionHandle">A valid <see cref="T:MonoLibUsb.MonoUsbSessionHandle"/>.</param>
6049
            <returns>
6050
            <list type="bullet">
6051
            <item>1 if a thread is handling events.</item>
6052
            <item>0 if there are no threads currently handling events.</item>
6053
            </list>
6054
            </returns>
6055
        </member>
6056
        <member name="M:MonoLibUsb.MonoUsbApi.LockEventWaiters(MonoLibUsb.MonoUsbSessionHandle)">
6057
            <summary>
6058
            Acquire the event waiters lock.
6059
            </summary>
6060
            <remarks>
6061
            <para>This lock is designed to be obtained under the situation where you want to be aware when events are completed, but some other thread is event handling so calling <see cref="M:MonoLibUsb.MonoUsbApi.HandleEvents(MonoLibUsb.MonoUsbSessionHandle)">libusb_handle_events</see> is not allowed.</para>
6062
            <para>You then obtain this lock, re-check that another thread is still handling events, then call <see cref="M:MonoLibUsb.MonoUsbApi.WaitForEvent(MonoLibUsb.MonoUsbSessionHandle,MonoLibUsb.UnixNativeTimeval@)">libusb_wait_for_event</see>.</para>
6063
            <para>You only need to use this lock if you are developing an application which calls poll() or select() on libusb's file descriptors directly, and may potentially be handling events from 2 threads simultaenously. If you stick to libusb's event handling loop functions (e.g. <see cref="M:MonoLibUsb.MonoUsbApi.HandleEvents(MonoLibUsb.MonoUsbSessionHandle)">libusb_handle_events</see>) then you do not need to be concerned with this locking.</para>
6064
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="poll"/></note>
6065
            </remarks>
6066
            <param name="sessionHandle">A valid <see cref="T:MonoLibUsb.MonoUsbSessionHandle"/>.</param>
6067
        </member>
6068
        <member name="M:MonoLibUsb.MonoUsbApi.UnlockEventWaiters(MonoLibUsb.MonoUsbSessionHandle)">
6069
            <summary>
6070
            Release the event waiters lock. 
6071
            </summary>
6072
            <remarks>
6073
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="poll"/></note>
6074
            </remarks>
6075
            <param name="sessionHandle">A valid <see cref="T:MonoLibUsb.MonoUsbSessionHandle"/>.</param>
6076
        </member>
6077
        <member name="M:MonoLibUsb.MonoUsbApi.WaitForEvent(MonoLibUsb.MonoUsbSessionHandle,MonoLibUsb.UnixNativeTimeval@)">
6078
            <summary>
6079
            Wait for another thread to signal completion of an event. 
6080
            </summary>
6081
            <remarks>
6082
            <para>
6083
            This function will block until any of the following conditions are met:
6084
            <list type="numbered">
6085
            <item>The timeout expires.</item>
6086
            <item>A transfer completes.</item>
6087
            <item>A thread releases the event handling lock through <see cref="M:MonoLibUsb.MonoUsbApi.UnlockEvents(MonoLibUsb.MonoUsbSessionHandle)">libusb_unlock_events</see>.</item>
6088
            </list>
6089
            </para>
6090
            <para>Condition 1 is obvious. Condition 2 unblocks your thread after the callback for the transfer has completed. Condition 3 is important because it means that the thread that was previously handling events is no longer doing so, so if any events are to complete, another thread needs to step up and start event handling.</para>
6091
            <para>This function releases the event waiters lock before putting your thread to sleep, and reacquires the lock as it is being woken up.</para>
6092
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="poll"/></note>
6093
            </remarks>
6094
            <param name="sessionHandle">A valid <see cref="T:MonoLibUsb.MonoUsbSessionHandle"/>.</param>
6095
            <param name="timeval">Maximum timeout for this blocking function.</param>
6096
            <returns>
6097
            <list type="bullet">
6098
            <item>0 after a transfer completes or another thread stops event handling.</item>
6099
            <item>1 if the timeout expired.</item>
6100
            </list>
6101
            </returns>
6102
        </member>
6103
        <member name="M:MonoLibUsb.MonoUsbApi.HandleEventsTimeout(MonoLibUsb.MonoUsbSessionHandle,MonoLibUsb.UnixNativeTimeval@)">
6104
            <summary>
6105
            Handle any pending events. 
6106
            </summary>
6107
            <remarks>
6108
            <para>libusb determines "pending events" by checking if any timeouts have expired and by checking the set of file descriptors for activity.</para>
6109
            <para>If a non-zero timeval is passed and no events are currently pending, this function will block waiting for events to handle up until the specified timeout. If an event arrives or a signal is raised, this function will return early.</para>
6110
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="poll"/></note>
6111
            </remarks>
6112
            <param name="sessionHandle">A valid <see cref="T:MonoLibUsb.MonoUsbSessionHandle"/>.</param>
6113
            <param name="tv">The maximum time to block waiting for events, or zero for non-blocking mode</param>
6114
            <returns>0 on success, or a <see cref="T:MonoLibUsb.MonoUsbError"/> code on other failure.</returns>
6115
        </member>
6116
        <member name="M:MonoLibUsb.MonoUsbApi.HandleEvents(MonoLibUsb.MonoUsbSessionHandle)">
6117
            <summary>
6118
            Handle any pending events in blocking mode with a sensible timeout.
6119
            </summary>
6120
            <remarks>
6121
            <para>This timeout is currently hardcoded at 2 seconds but we may change this if we decide other values are more sensible. For finer control over whether this function is blocking or non-blocking, or the maximum timeout, use <see cref="M:MonoLibUsb.MonoUsbApi.HandleEventsTimeout(MonoLibUsb.MonoUsbSessionHandle,MonoLibUsb.UnixNativeTimeval@)">libusb_handle_events_timeout</see> instead.</para>
6122
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="poll"/></note>
6123
            </remarks>
6124
            <param name="sessionHandle">A valid <see cref="T:MonoLibUsb.MonoUsbSessionHandle"/>.</param>
6125
            <returns>0 on success, or a <see cref="T:MonoLibUsb.MonoUsbError"/> code on other failure.</returns>
6126
        </member>
6127
        <member name="M:MonoLibUsb.MonoUsbApi.HandleEventsLocked(MonoLibUsb.MonoUsbSessionHandle,MonoLibUsb.UnixNativeTimeval@)">
6128
            <summary>
6129
            Handle any pending events by polling file descriptors, without checking if any other threads are already doing so. 
6130
            </summary>
6131
            <remarks>
6132
            <para>Must be called with the event lock held, see <see cref="M:MonoLibUsb.MonoUsbApi.LockEvents(MonoLibUsb.MonoUsbSessionHandle)">libusb_lock_events</see>.</para>
6133
            <para>This function is designed to be called under the situation where you have taken the event lock and are calling poll()/select() directly on libusb's file descriptors (as opposed to using <see cref="M:MonoLibUsb.MonoUsbApi.HandleEvents(MonoLibUsb.MonoUsbSessionHandle)">libusb_handle_events</see> or similar). You detect events on libusb's descriptors, so you then call this function with a zero timeout value (while still holding the event lock).</para>
6134
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="poll"/></note>
6135
            </remarks>
6136
            <param name="sessionHandle">A valid <see cref="T:MonoLibUsb.MonoUsbSessionHandle"/>.</param>
6137
            <param name="tv">The maximum time to block waiting for events, or zero for non-blocking mode</param>
6138
            <returns>0 on success, or a <see cref="T:MonoLibUsb.MonoUsbError"/> code on other failure.</returns>
6139
        </member>
6140
        <member name="M:MonoLibUsb.MonoUsbApi.PollfdsHandleTimeouts(MonoLibUsb.MonoUsbSessionHandle)">
6141
            <summary>
6142
            Determines whether your application must apply special timing considerations when monitoring libusb's file descriptors. 
6143
            </summary>
6144
            <remarks>
6145
            <para>This function is only useful for applications which retrieve and poll libusb's file descriptors in their own main loop (The more advanced option).</para>
6146
            <para>Ordinarily, libusb's event handler needs to be called into at specific moments in time (in addition to times when there is activity on the file descriptor set). The usual approach is to use <see cref="M:MonoLibUsb.MonoUsbApi.GetNextTimeout(MonoLibUsb.MonoUsbSessionHandle,MonoLibUsb.UnixNativeTimeval@)">libusb_get_next_timeout</see> to learn about when the next timeout occurs, and to adjust your poll()/select() timeout accordingly so that you can make a call into the library at that time.</para>
6147
            <para>Some platforms supported by libusb do not come with this baggage - any events relevant to timing will be represented by activity on the file descriptor set, and <see cref="M:MonoLibUsb.MonoUsbApi.GetNextTimeout(MonoLibUsb.MonoUsbSessionHandle,MonoLibUsb.UnixNativeTimeval@)">libusb_get_next_timeout</see> will always return 0. This function allows you to detect whether you are running on such a platform.</para>
6148
            <para>Since v1.0.5.</para>
6149
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="poll"/></note>
6150
            </remarks>
6151
            <param name="sessionHandle">A valid <see cref="T:MonoLibUsb.MonoUsbSessionHandle"/>.</param>
6152
            <returns>0 if you must call into libusb at times determined by <see cref="M:MonoLibUsb.MonoUsbApi.GetNextTimeout(MonoLibUsb.MonoUsbSessionHandle,MonoLibUsb.UnixNativeTimeval@)">libusb_get_next_timeout</see>, or 1 if all timeout events are handled internally or through regular activity on the file descriptors.</returns>
6153
        </member>
6154
        <member name="M:MonoLibUsb.MonoUsbApi.GetNextTimeout(MonoLibUsb.MonoUsbSessionHandle,MonoLibUsb.UnixNativeTimeval@)">
6155
            <summary>
6156
            Determine the next internal timeout that libusb needs to handle. 
6157
            </summary>
6158
            <remarks>
6159
            <para>You only need to use this function if you are calling poll() or select() or similar on libusb's file descriptors yourself - you do not need to use it if you are calling <see cref="M:MonoLibUsb.MonoUsbApi.HandleEvents(MonoLibUsb.MonoUsbSessionHandle)">libusb_handle_events</see> or a variant directly.</para>
6160
            <para>You should call this function in your main loop in order to determine how long to wait for select() or poll() to return results. libusb needs to be called into at this timeout, so you should use it as an upper bound on your select() or poll() call.</para>
6161
            <para>When the timeout has expired, call into <see cref="M:MonoLibUsb.MonoUsbApi.HandleEventsTimeout(MonoLibUsb.MonoUsbSessionHandle,MonoLibUsb.UnixNativeTimeval@)">libusb_handle_events_timeout</see> (perhaps in non-blocking mode) so that libusb can handle the timeout.</para>
6162
            <para>This function may return 1 (success) and an all-zero timeval. If this is the case, it indicates that libusb has a timeout that has already expired so you should call <see cref="M:MonoLibUsb.MonoUsbApi.HandleEventsTimeout(MonoLibUsb.MonoUsbSessionHandle,MonoLibUsb.UnixNativeTimeval@)">libusb_handle_events_timeout</see> or similar immediately. A return code of 0 indicates that there are no pending timeouts.</para>
6163
            <para>On some platforms, this function will always returns 0 (no pending timeouts). See Notes on time-based events.</para>
6164
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="poll"/></note>
6165
            </remarks>
6166
            <param name="sessionHandle">A valid <see cref="T:MonoLibUsb.MonoUsbSessionHandle"/>.</param>
6167
            <param name="tv">The maximum time to block waiting for events, or zero for non-blocking mode</param>
6168
            <returns>0 if there are no pending timeouts, 1 if a timeout was returned, or <see cref="F:MonoLibUsb.MonoUsbError.ErrorOther"/> on failure.</returns>
6169
        </member>
6170
        <member name="M:MonoLibUsb.MonoUsbApi.SetPollfdNotifiers(MonoLibUsb.MonoUsbSessionHandle,MonoLibUsb.PollfdAddedDelegate,MonoLibUsb.PollfdRemovedDelegate,System.IntPtr)">
6171
            <summary>
6172
            Register notification functions for file descriptor additions/removals. 
6173
            </summary>
6174
            <remarks>
6175
            <para>To remove notifiers, pass NULL values for the function pointers.</para>
6176
            <para>Note that file descriptors may have been added even before you register these notifiers (e.g. when a new <see cref="T:MonoLibUsb.MonoUsbSessionHandle"/> is created).</para>
6177
            <para>Additionally, note that the removal notifier may be called during <see cref="M:MonoLibUsb.MonoUsbApi.Exit(System.IntPtr)"/> (e.g. when it is closing file descriptors that were opened and added to the poll set when a new <see cref="T:MonoLibUsb.MonoUsbSessionHandle"/> was created). If you don't want this, remove the notifiers immediately before calling <see cref="M:System.Runtime.InteropServices.SafeHandle.Close">MonoUsbSessionHandle.Close()</see>.</para>
6178
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="poll"/></note>
6179
            </remarks>
6180
            <param name="sessionHandle">A valid <see cref="T:MonoLibUsb.MonoUsbSessionHandle"/>.</param>
6181
            <param name="addedDelegate">Function delegate for addition notifications.</param>
6182
            <param name="removedDelegate">Function delegate for removal notifications.</param>
6183
            <param name="pUserData">User data to be passed back to callbacks (useful for passing sessionHandle information).</param>
6184
        </member>
6185
        <member name="M:MonoLibUsb.MonoUsbApi.GetPollfds(MonoLibUsb.MonoUsbSessionHandle)">
6186
            <summary>
6187
            Retrieve a list of file descriptors that should be polled by your main loop as libusb event sources. 
6188
            </summary>
6189
            <remarks>
6190
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="poll"/></note>
6191
            </remarks>
6192
            <param name="sessionHandle">A valid <see cref="T:MonoLibUsb.MonoUsbSessionHandle"/>.</param>
6193
            <returns>A list of PollfdItem structures, or null on error.</returns>
6194
        </member>
6195
        <member name="M:MonoLibUsb.MonoUsbApi.ControlTransfer(MonoLibUsb.MonoUsbDeviceHandle,System.Byte,System.Byte,System.Int16,System.Int16,System.IntPtr,System.Int16,System.Int32)">
6196
            <summary>
6197
            Perform a USB control transfer.
6198
            </summary>
6199
            <remarks>
6200
            <para>The direction of the transfer is inferred from the bmRequestType field of the setup packet.</para>
6201
            <para>The wValue, wIndex and wLength fields values should be given in host-endian byte order.</para>
6202
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="syncio"/></note>
6203
            </remarks>
6204
            <param name="deviceHandle">A handle for the device to communicate with.</param>
6205
            <param name="requestType">The request type field for the setup packet.</param>
6206
            <param name="request">The request field for the setup packet.</param>
6207
            <param name="value">The value field for the setup packet</param>
6208
            <param name="index">The index field for the setup packet.</param>
6209
            <param name="pData">A suitably-sized data buffer for either input or output (depending on direction bits within bmRequestType).</param>
6210
            <param name="dataLength">The length field for the setup packet. The data buffer should be at least this size.</param>
6211
            <param name="timeout">timeout (in milliseconds) that this function should wait before giving up due to no response being received. For an unlimited timeout, use value 0.</param>
6212
            <returns>
6213
            <list type="bullet">
6214
            <item>on success, the number of bytes actually transferred</item>
6215
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorTimeout"/> if the transfer timed out</item>
6216
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorPipe"/> if the control request was not supported by the device.</item>
6217
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorNoDevice"/> if the device has been disconnected</item>
6218
            <item>another <see cref="T:MonoLibUsb.MonoUsbError"/> code on other failures</item>
6219
            </list>
6220
            </returns>
6221
        </member>
6222
        <member name="M:MonoLibUsb.MonoUsbApi.ControlTransferAsync(MonoLibUsb.MonoUsbDeviceHandle,System.Byte,System.Byte,System.Int16,System.Int16,System.IntPtr,System.Int16,System.Int32)">
6223
            <summary>
6224
            Perform a USB control transfer for multi-threaded applications using the <see cref="T:MonoLibUsb.MonoUsbEventHandler"/> class.
6225
            </summary>
6226
            <remarks>
6227
            <para>The direction of the transfer is inferred from the bmRequestType field of the setup packet.</para>
6228
            <para>The wValue, wIndex and wLength fields values should be given in host-endian byte order.</para>
6229
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="syncio"/></note>
6230
            </remarks>
6231
            <param name="deviceHandle">A handle for the device to communicate with.</param>
6232
            <param name="requestType">The request type field for the setup packet.</param>
6233
            <param name="request">The request field for the setup packet.</param>
6234
            <param name="value">The value field for the setup packet</param>
6235
            <param name="index">The index field for the setup packet.</param>
6236
            <param name="pData">A suitably-sized data buffer for either input or output (depending on direction bits within bmRequestType).</param>
6237
            <param name="dataLength">The length field for the setup packet. The data buffer should be at least this size.</param>
6238
            <param name="timeout">timeout (in milliseconds) that this function should wait before giving up due to no response being received. For an unlimited timeout, use value 0.</param>
6239
            <returns>
6240
            <list type="bullet">
6241
            <item>on success, the number of bytes actually transferred</item>
6242
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorTimeout"/> if the transfer timed out</item>
6243
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorPipe"/> if the control request was not supported by the device.</item>
6244
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorNoDevice"/> if the device has been disconnected</item>
6245
            <item>another <see cref="T:MonoLibUsb.MonoUsbError"/> code on other failures</item>
6246
            </list>
6247
            </returns>
6248
        </member>
6249
        <member name="M:MonoLibUsb.MonoUsbApi.ControlTransfer(MonoLibUsb.MonoUsbDeviceHandle,System.Byte,System.Byte,System.Int16,System.Int16,System.Object,System.Int16,System.Int32)">
6250
            <summary>
6251
            Perform a USB control transfer.
6252
            </summary>
6253
            <remarks>
6254
            <para>The direction of the transfer is inferred from the bmRequestType field of the setup packet.</para>
6255
            <para>The wValue, wIndex and wLength fields values should be given in host-endian byte order.</para>
6256
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="syncio"/></note>
6257
            </remarks>
6258
            <param name="deviceHandle">A handle for the device to communicate with.</param>
6259
            <param name="requestType">The request type field for the setup packet.</param>
6260
            <param name="request">The request field for the setup packet.</param>
6261
            <param name="value">The value field for the setup packet</param>
6262
            <param name="index">The index field for the setup packet.</param>
6263
            <param name="data">
6264
            <para>A suitably-sized data buffer for either input or output (depending on direction bits within bmRequestType).</para>
6265
            This value can be:
6266
            <list type="bullet">
6267
            <item>An <see cref="T:System.Array"/> of bytes or other <a href="http://msdn.microsoft.com/en-us/library/75dwhxf7.aspx">blittable</a> types.</item>
6268
            <item>An already allocated, pinned <see cref="T:System.Runtime.InteropServices.GCHandle"/>. In this case <see cref="M:System.Runtime.InteropServices.GCHandle.AddrOfPinnedObject"/> is used for the buffer address.</item>
6269
            <item>An <see cref="T:System.IntPtr"/>.</item>
6270
            </list>
6271
            </param>
6272
            <param name="dataLength">The length field for the setup packet. The data buffer should be at least this size.</param>
6273
            <param name="timeout">timeout (in milliseconds) that this function should wait before giving up due to no response being received. For an unlimited timeout, use value 0.</param>
6274
            <returns>
6275
            <list type="bullet">
6276
            <item>on success, the number of bytes actually transferred</item>
6277
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorTimeout"/> if the transfer timed out</item>
6278
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorPipe"/> if the control request was not supported by the device.</item>
6279
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorNoDevice"/> if the device has been disconnected</item>
6280
            <item>another <see cref="T:MonoLibUsb.MonoUsbError"/> code on other failures</item>
6281
            </list>
6282
            </returns>
6283
        </member>
6284
        <member name="M:MonoLibUsb.MonoUsbApi.BulkTransfer(MonoLibUsb.MonoUsbDeviceHandle,System.Byte,System.IntPtr,System.Int32,System.Int32@,System.Int32)">
6285
            <summary>
6286
            Perform a USB bulk transfer. 
6287
            </summary>
6288
            <remarks>
6289
            <para>The direction of the transfer is inferred from the direction bits of the endpoint address.</para>
6290
            <para>
6291
            For bulk reads, the length field indicates the maximum length of data you are expecting to receive.
6292
            If less data arrives than expected, this function will return that data, so be sure to check the 
6293
            transferred output parameter.
6294
            </para>
6295
            <para>
6296
            You should also check the transferred parameter for bulk writes. Not all of the data may have been 
6297
            written. Also check transferred when dealing with a timeout error code. libusb may have to split 
6298
            your transfer into a number of chunks to satisfy underlying O/S requirements, meaning that the 
6299
            timeout may expire after the first few chunks have completed. libusb is careful not to lose any 
6300
            data that may have been transferred; do not assume that timeout conditions indicate a complete lack 
6301
            of I/O.
6302
            </para>
6303
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="syncio"/></note>
6304
            </remarks>
6305
            <param name="deviceHandle">A handle for the device to communicate with.</param>
6306
            <param name="endpoint">The address of a valid endpoint to communicate with.</param>
6307
            <param name="pData">
6308
            A suitably-sized data buffer for either input or output (depending on endpoint).</param>
6309
            <param name="length">For bulk writes, the number of bytes from data to be sent. for bulk reads, the maximum number of bytes to receive into the data buffer.</param>
6310
            <param name="actualLength">Output location for the number of bytes actually transferred.</param>
6311
            <param name="timeout">Timeout (in milliseconds) that this function should wait before giving up due to no response being received. For an unlimited timeout, use value 0.</param>
6312
            <returns>
6313
            <list type="bullet">
6314
            <item>0 on success (and populates <paramref name="actualLength"/>)</item>
6315
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorTimeout"/> if the transfer timed out</item>
6316
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorPipe"/> if the endpoint halted</item>
6317
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorOverflow"/>if the device offered more data, see <a href="http://libusb.sourceforge.net/api-1.0/packetoverflow.html">Packets and overflows</a></item>
6318
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorNoDevice"/> if the device has been disconnected</item>
6319
            <item>another <see cref="T:MonoLibUsb.MonoUsbError"/> code on other failures</item>
6320
            </list>
6321
            </returns>
6322
        </member>
6323
        <member name="M:MonoLibUsb.MonoUsbApi.BulkTransfer(MonoLibUsb.MonoUsbDeviceHandle,System.Byte,System.Object,System.Int32,System.Int32@,System.Int32)">
6324
            <summary>
6325
            Perform a USB bulk transfer. 
6326
            </summary>
6327
            <remarks>
6328
            <para>The direction of the transfer is inferred from the direction bits of the endpoint address.</para>
6329
            <para>
6330
            For bulk reads, the length field indicates the maximum length of data you are expecting to receive.
6331
            If less data arrives than expected, this function will return that data, so be sure to check the 
6332
            transferred output parameter.
6333
            </para>
6334
            <para>
6335
            You should also check the transferred parameter for bulk writes. Not all of the data may have been 
6336
            written. Also check transferred when dealing with a timeout error code. libusb may have to split 
6337
            your transfer into a number of chunks to satisfy underlying O/S requirements, meaning that the 
6338
            timeout may expire after the first few chunks have completed. libusb is careful not to lose any 
6339
            data that may have been transferred; do not assume that timeout conditions indicate a complete lack 
6340
            of I/O.
6341
            </para>
6342
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="syncio"/></note>
6343
            </remarks>
6344
            <param name="deviceHandle">A handle for the device to communicate with.</param>
6345
            <param name="endpoint">The address of a valid endpoint to communicate with.</param>
6346
            <param name="data">
6347
            <para>A suitably-sized data buffer for either input or output (depending on endpoint).</para>
6348
            This value can be:
6349
            <list type="bullet">
6350
            <item>An <see cref="T:System.Array"/> of bytes or other <a href="http://msdn.microsoft.com/en-us/library/75dwhxf7.aspx">blittable</a> types.</item>
6351
            <item>An already allocated, pinned <see cref="T:System.Runtime.InteropServices.GCHandle"/>. In this case <see cref="M:System.Runtime.InteropServices.GCHandle.AddrOfPinnedObject"/> is used for the buffer address.</item>
6352
            <item>An <see cref="T:System.IntPtr"/>.</item>
6353
            </list>
6354
            </param>
6355
            <param name="length">For bulk writes, the number of bytes from data to be sent. for bulk reads, the maximum number of bytes to receive into the data buffer.</param>
6356
            <param name="actualLength">Output location for the number of bytes actually transferred.</param>
6357
            <param name="timeout">Timeout (in milliseconds) that this function should wait before giving up due to no response being received. For an unlimited timeout, use value 0.</param>
6358
            <returns>
6359
            <list type="bullet">
6360
            <item>0 on success (and populates <paramref name="actualLength"/>)</item>
6361
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorTimeout"/> if the transfer timed out</item>
6362
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorPipe"/> if the endpoint halted</item>
6363
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorOverflow"/>if the device offered more data, see <a href="http://libusb.sourceforge.net/api-1.0/packetoverflow.html">Packets and overflows</a></item>
6364
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorNoDevice"/> if the device has been disconnected</item>
6365
            <item>another <see cref="T:MonoLibUsb.MonoUsbError"/> code on other failures</item>
6366
            </list>
6367
            </returns>
6368
        </member>
6369
        <member name="M:MonoLibUsb.MonoUsbApi.InterruptTransfer(MonoLibUsb.MonoUsbDeviceHandle,System.Byte,System.IntPtr,System.Int32,System.Int32@,System.Int32)">
6370
            <summary>
6371
            Perform a USB interrupt transfer. 
6372
            </summary>
6373
            <remarks>
6374
            <para>
6375
            The direction of the transfer is inferred from the direction bits of the endpoint address.
6376
            </para><para>
6377
            For interrupt reads, the length field indicates the maximum length of data you are expecting to receive.
6378
            If less data arrives than expected, this function will return that data, so be sure to check the 
6379
            transferred output parameter.
6380
            </para><para>
6381
            You should also check the transferred parameter for interrupt writes. Not all of the data may have been 
6382
            written. Also check transferred when dealing with a timeout error code. libusb may have to split 
6383
            your transfer into a number of chunks to satisfy underlying O/S requirements, meaning that the 
6384
            timeout may expire after the first few chunks have completed. libusb is careful not to lose any 
6385
            data that may have been transferred; do not assume that timeout conditions indicate a complete lack 
6386
            of I/O.
6387
            </para>
6388
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="syncio"/></note>
6389
            </remarks>
6390
            <param name="deviceHandle">A handle for the device to communicate with.</param>
6391
            <param name="endpoint">The address of a valid endpoint to communicate with.</param>
6392
            <param name="pData">A suitably-sized data buffer for either input or output (depending on endpoint).</param>
6393
            <param name="length">For interrupt writes, the number of bytes from data to be sent. for interrupt reads, the maximum number of bytes to receive into the data buffer.</param>
6394
            <param name="actualLength">Output location for the number of bytes actually transferred.</param>
6395
            <param name="timeout">Timeout (in milliseconds) that this function should wait before giving up due to no response being received. For an unlimited timeout, use value 0.</param>
6396
            <returns>
6397
            <list type="bullet">
6398
            <item>0 on success (and populates <paramref name="actualLength"/>)</item>
6399
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorTimeout"/> if the transfer timed out</item>
6400
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorPipe"/> if the endpoint halted</item>
6401
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorOverflow"/>if the device offered more data, see <a href="http://libusb.sourceforge.net/api-1.0/packetoverflow.html">Packets and overflows</a></item>
6402
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorNoDevice"/> if the device has been disconnected</item>
6403
            <item>another <see cref="T:MonoLibUsb.MonoUsbError"/> code on other failures</item>
6404
            </list>
6405
            </returns>
6406
        </member>
6407
        <member name="M:MonoLibUsb.MonoUsbApi.InterruptTransfer(MonoLibUsb.MonoUsbDeviceHandle,System.Byte,System.Object,System.Int32,System.Int32@,System.Int32)">
6408
            <summary>
6409
            Perform a USB interrupt transfer. 
6410
            </summary>
6411
            <remarks>
6412
            <para>
6413
            The direction of the transfer is inferred from the direction bits of the endpoint address.
6414
            </para><para>
6415
            For interrupt reads, the length field indicates the maximum length of data you are expecting to receive.
6416
            If less data arrives than expected, this function will return that data, so be sure to check the 
6417
            transferred output parameter.
6418
            </para><para>
6419
            You should also check the transferred parameter for interrupt writes. Not all of the data may have been 
6420
            written. Also check transferred when dealing with a timeout error code. libusb may have to split 
6421
            your transfer into a number of chunks to satisfy underlying O/S requirements, meaning that the 
6422
            timeout may expire after the first few chunks have completed. libusb is careful not to lose any 
6423
            data that may have been transferred; do not assume that timeout conditions indicate a complete lack 
6424
            of I/O.
6425
            </para>
6426
            <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="syncio"/></note>
6427
            </remarks>
6428
            <param name="deviceHandle">A handle for the device to communicate with.</param>
6429
            <param name="endpoint">The address of a valid endpoint to communicate with.</param>
6430
            <param name="data">
6431
            <para>A suitably-sized data buffer for either input or output (depending on endpoint).</para>
6432
            This value can be:
6433
            <list type="bullet">
6434
            <item>An <see cref="T:System.Array"/> of bytes or other <a href="http://msdn.microsoft.com/en-us/library/75dwhxf7.aspx">blittable</a> types.</item>
6435
            <item>An already allocated, pinned <see cref="T:System.Runtime.InteropServices.GCHandle"/>. In this case <see cref="M:System.Runtime.InteropServices.GCHandle.AddrOfPinnedObject"/> is used for the buffer address.</item>
6436
            <item>An <see cref="T:System.IntPtr"/>.</item>
6437
            </list>
6438
            </param>
6439
            <param name="length">For interrupt writes, the number of bytes from data to be sent. for interrupt reads, the maximum number of bytes to receive into the data buffer.</param>
6440
            <param name="actualLength">Output location for the number of bytes actually transferred.</param>
6441
            <param name="timeout">Timeout (in milliseconds) that this function should wait before giving up due to no response being received. For an unlimited timeout, use value 0.</param>
6442
            <returns>
6443
            <list type="bullet">
6444
            <item>0 on success (and populates <paramref name="actualLength"/>)</item>
6445
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorTimeout"/> if the transfer timed out</item>
6446
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorPipe"/> if the endpoint halted</item>
6447
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorOverflow"/>if the device offered more data, see <a href="http://libusb.sourceforge.net/api-1.0/packetoverflow.html">Packets and overflows</a></item>
6448
            <item><see cref="F:MonoLibUsb.MonoUsbError.ErrorNoDevice"/> if the device has been disconnected</item>
6449
            <item>another <see cref="T:MonoLibUsb.MonoUsbError"/> code on other failures</item>
6450
            </list>
6451
            </returns>
6452
        </member>
6453
        <member name="M:MonoLibUsb.MonoUsbApi.StrError(MonoLibUsb.MonoUsbError)">
6454
            <summary>
6455
            Get a string describing a <see cref="T:MonoLibUsb.MonoUsbError"/>.
6456
            </summary>
6457
            <param name="errcode">The <see cref="T:MonoLibUsb.MonoUsbError"/> code to retrieve a description for.</param>
6458
            <returns>A string describing the <see cref="T:MonoLibUsb.MonoUsbError"/> code.</returns>
6459
        </member>
6460
        <member name="M:MonoLibUsb.MonoUsbApi.MonoLibUsbErrorFromTransferStatus(MonoLibUsb.Transfer.MonoUsbTansferStatus)">
6461
            <summary>
6462
            Converts a <see cref="T:MonoLibUsb.Transfer.MonoUsbTansferStatus"/> enum to a <see cref="T:MonoLibUsb.MonoUsbError"/> enum.
6463
            </summary>
6464
            <param name="status">the <see cref="T:MonoLibUsb.Transfer.MonoUsbTansferStatus"/> to convert.</param>
6465
            <returns>A <see cref="T:MonoLibUsb.MonoUsbError"/> that represents <paramref name="status"/>.</returns>
6466
        </member>
6467
        <member name="M:MonoLibUsb.MonoUsbApi.InitAndStart">
6468
            <summary>
6469
            Calls <see cref="M:MonoLibUsb.MonoUsbEventHandler.Init"/> and <see cref="M:MonoLibUsb.MonoUsbEventHandler.Start"/> if <see cref="P:MonoLibUsb.MonoUsbEventHandler.IsStopped"/> = true.
6470
            </summary>
6471
        </member>
6472
        <member name="M:MonoLibUsb.MonoUsbApi.StopAndExit">
6473
            <summary>
6474
            Calls <see cref="M:MonoLibUsb.MonoUsbEventHandler.Stop(System.Boolean)"/> and <see cref="M:MonoLibUsb.MonoUsbEventHandler.Exit"/>.
6475
            </summary>
6476
        </member>
6477
        <member name="T:LibUsbDotNet.Main.UsbCtrlFlags">
6478
            <summary>For Convienience Endpoint direction, recipient of the request, and request type on one enumeration.</summary>
6479
        </member>
6480
        <member name="F:LibUsbDotNet.Main.UsbCtrlFlags.Direction_In">
6481
            <summary>
6482
            In Direction
6483
            </summary>
6484
        </member>
6485
        <member name="F:LibUsbDotNet.Main.UsbCtrlFlags.Direction_Out">
6486
            <summary>
6487
            Out Direction
6488
            </summary>
6489
        </member>
6490
        <member name="F:LibUsbDotNet.Main.UsbCtrlFlags.Recipient_Device">
6491
            <summary>
6492
            Device is recipient.
6493
            </summary>
6494
        </member>
6495
        <member name="F:LibUsbDotNet.Main.UsbCtrlFlags.Recipient_Endpoint">
6496
            <summary>
6497
            Endpoint is recipient.
6498
            </summary>
6499
        </member>
6500
        <member name="F:LibUsbDotNet.Main.UsbCtrlFlags.Recipient_Interface">
6501
            <summary>
6502
            Interface is recipient.
6503
            </summary>
6504
        </member>
6505
        <member name="F:LibUsbDotNet.Main.UsbCtrlFlags.Recipient_Other">
6506
            <summary>
6507
            Other is recipient.
6508
            </summary>
6509
        </member>
6510
        <member name="F:LibUsbDotNet.Main.UsbCtrlFlags.RequestType_Class">
6511
            <summary>
6512
            Class specific request.
6513
            </summary>
6514
        </member>
6515
        <member name="F:LibUsbDotNet.Main.UsbCtrlFlags.RequestType_Reserved">
6516
            <summary>
6517
            RESERVED.
6518
            </summary>
6519
        </member>
6520
        <member name="F:LibUsbDotNet.Main.UsbCtrlFlags.RequestType_Standard">
6521
            <summary>
6522
            Standard request.
6523
            </summary>
6524
        </member>
6525
        <member name="F:LibUsbDotNet.Main.UsbCtrlFlags.RequestType_Vendor">
6526
            <summary>
6527
            Vendor specific request.
6528
            </summary>
6529
        </member>
6530
        <member name="T:LibUsbDotNet.DeviceNotify.Linux.LinuxDeviceNotifierMode">
6531
            <summary>
6532
             Modes the linux device notifier can use to detect notification events.
6533
            </summary>
6534
        </member>
6535
        <member name="F:LibUsbDotNet.DeviceNotify.Linux.LinuxDeviceNotifierMode.None">
6536
            <summary>
6537
            The device notifier is unavailable on this platform.
6538
            </summary>
6539
        </member>
6540
        <member name="F:LibUsbDotNet.DeviceNotify.Linux.LinuxDeviceNotifierMode.PollDeviceList">
6541
            <summary>
6542
            The device notifier is polling the device list every 750ms to detect usb add and removal events.
6543
            </summary>
6544
        </member>
6545
        <member name="F:LibUsbDotNet.DeviceNotify.Linux.LinuxDeviceNotifierMode.MonitorDevDirectory">
6546
            <summary>
6547
            The device notifier is using a <see cref="T:System.IO.FileSystemWatcher"/> to monitor the "/dev" directory for file add and delete.
6548
            </summary>
6549
        </member>
6550
        <member name="T:LibUsbDotNet.Main.UsbSetupPacket">
6551
            <summary> Transfers data to the main control endpoint (Endpoint 0).
6552
            </summary> 
6553
            <remarks> All USB devices respond to requests from the host on the device’s Default Control Pipe. These requests are made using control transfers. The request and the request’s parameters are sent to the device in the Setup packet. The host is responsible for establishing the values passed in the fields. Every Setup packet has eight bytes.
6554
            </remarks> 
6555
        </member>
6556
        <member name="F:LibUsbDotNet.Main.UsbSetupPacket.RequestType">
6557
            <summary>
6558
            This bitmapped field identifies the characteristics of the specific request. In particular, this field identifies the direction of data transfer in the second phase of the control transfer. The state of the Direction bit is ignored if the wLength field is zero, signifying there is no Data stage.
6559
            The USB Specification defines a series of standard requests that all devices must support. In addition, a device class may define additional requests. A device vendor may also define requests supported by the device.
6560
            Requests may be directed to the device, an interface on the device, or a specific endpoint on a device. This field also specifies the intended recipient of the request. When an interface or endpoint is specified, the wIndex field identifies the interface or endpoint.
6561
            </summary>
6562
            <remarks>
6563
            <ul>Characteristics of request:
6564
            <li>D7: Data transfer direction</li>
6565
            <li>0 = Host-to-device</li>
6566
            <li>1 = Device-to-host</li>
6567
            <li>D6...5: Type</li>
6568
            <li>0 = Standard</li>
6569
            <li>1 = Class</li>
6570
            <li>2 = Vendor</li>
6571
            <li>3 = Reserved</li>
6572
            <li>D4...0: Recipient</li>
6573
            <li>0 = Device</li>
6574
            <li>1 = Interface</li>
6575
            <li>2 = Endpoint</li>
6576
            <li>3 = Other</li>
6577
            <li>4...31 = Reserved</li>
6578
            </ul>
6579
            </remarks>
6580
        </member>
6581
        <member name="F:LibUsbDotNet.Main.UsbSetupPacket.Request">
6582
            <summary>
6583
            This field specifies the particular request. The Type bits in the bmRequestType field modify the meaning of this field. This specification defines values for the bRequest field only when the bits are reset to zero, indicating a standard request.
6584
            </summary>
6585
        </member>
6586
        <member name="F:LibUsbDotNet.Main.UsbSetupPacket.Value">
6587
            <summary>
6588
            The contents of this field vary according to the request. It is used to pass a parameter to the device, specific to the request.
6589
            </summary>
6590
        </member>
6591
        <member name="F:LibUsbDotNet.Main.UsbSetupPacket.Index">
6592
            <summary>
6593
            The contents of this field vary according to the request. It is used to pass a parameter to the device, specific to the request.
6594
            </summary>
6595
        </member>
6596
        <member name="F:LibUsbDotNet.Main.UsbSetupPacket.Length">
6597
            <summary>
6598
            This field specifies the length of the data transferred during the second phase of the control transfer. The direction of data transfer (host-to-device or device-to-host) is indicated by the Direction bit of the <see cref="F:LibUsbDotNet.Main.UsbSetupPacket.RequestType"/> field. If this field is zero, there is no data transfer phase. On an input request, a device must never return more data than is indicated by the wLength value; it may return less. On an output request, wLength will always indicate the exact amount of data to be sent by the host. Device behavior is undefined if the host should send more data than is specified in wLength.
6599
            </summary>
6600
        </member>
6601
        <member name="M:LibUsbDotNet.Main.UsbSetupPacket.#ctor(System.Byte,System.Byte,System.Int16,System.Int16,System.Int16)">
6602
            <summary>
6603
            Creates a new instance of a <see cref="T:LibUsbDotNet.Main.UsbSetupPacket"/> and initializes all the fields with the following parameters.
6604
            </summary>
6605
            <param name="requestType">See <see cref="F:LibUsbDotNet.Main.UsbSetupPacket.RequestType"/>.</param>
6606
            <param name="request">See <see cref="F:LibUsbDotNet.Main.UsbSetupPacket.Request"/>.</param>
6607
            <param name="value">See <see cref="F:LibUsbDotNet.Main.UsbSetupPacket.Value"/>.</param>
6608
            <param name="index">See <see cref="F:LibUsbDotNet.Main.UsbSetupPacket.Index"/>.</param>
6609
            <param name="length">See <see cref="F:LibUsbDotNet.Main.UsbSetupPacket.Length"/>.</param>
6610
        </member>
6611
        <member name="M:LibUsbDotNet.LudnMonoLibUsb.Internal.MonoUsbTransferContext.Fill(System.IntPtr,System.Int32,System.Int32,System.Int32)">
6612
            <summary>
6613
            Fills the transfer with the data to <see cref="M:LibUsbDotNet.Main.UsbTransfer.Submit"/>.
6614
            </summary>
6615
            <param name="buffer">The buffer.</param>
6616
            <param name="offset">The offset on the buffer where the transfer should read/write.</param>
6617
            <param name="count">The number of bytes to transfer.</param>
6618
            <param name="timeout">Time (milliseconds) to wait before the transfer times out.</param>
6619
        </member>
6620
        <member name="M:LibUsbDotNet.LudnMonoLibUsb.Internal.MonoUsbTransferContext.Fill(System.IntPtr,System.Int32,System.Int32,System.Int32,System.Int32)">
6621
            <summary>
6622
            Fills the transfer with the data to <see cref="M:LibUsbDotNet.Main.UsbTransfer.Submit"/> an isochronous transfer.
6623
            </summary>
6624
            <param name="buffer">The buffer.</param>
6625
            <param name="offset">The offset on the buffer where the transfer should read/write.</param>
6626
            <param name="count">The number of bytes to transfer.</param>
6627
            <param name="timeout">Time (milliseconds) to wait before the transfer times out.</param>
6628
            <param name="isoPacketSize">Size of each isochronous packet.</param>
6629
        </member>
6630
        <member name="M:LibUsbDotNet.LudnMonoLibUsb.Internal.MonoUsbTransferContext.Submit">
6631
            <summary>
6632
            Submits the transfer.
6633
            </summary>
6634
            <remarks>
6635
            This functions submits the USB transfer and return immediately.
6636
            </remarks>
6637
            <returns>
6638
            <see cref="F:LibUsbDotNet.Main.ErrorCode.Success"/> if the submit succeeds, 
6639
            otherwise one of the other <see cref="T:LibUsbDotNet.Main.ErrorCode"/> codes.
6640
            </returns>
6641
        </member>
6642
        <member name="M:LibUsbDotNet.LudnMonoLibUsb.Internal.MonoUsbTransferContext.Wait(System.Int32@,System.Boolean)">
6643
            <summary>
6644
            Wait for the transfer to complete, timeout, or get cancelled.
6645
            </summary>
6646
            <param name="transferredCount">The number of bytes transferred on <see cref="F:LibUsbDotNet.Main.ErrorCode.Success"/>.</param>
6647
            <param name="cancel">Not used for libusb-1.0. Transfers are always cancelled on timeout or error.</param>
6648
            <returns><see cref="F:LibUsbDotNet.Main.ErrorCode.Success"/> if the transfer completes successfully, otherwise one of the other <see cref="T:LibUsbDotNet.Main.ErrorCode"/> codes.</returns>
6649
        </member>
6650
        <member name="T:LibUsbDotNet.Main.SPDRP">
6651
            <summary>
6652
            Device registry property codes
6653
            </summary> 
6654
        </member>
6655
        <member name="F:LibUsbDotNet.Main.SPDRP.DeviceDesc">
6656
            <summary>
6657
            Requests a string describing the device, such as "Microsoft PS/2 Port Mouse", typically defined by the manufacturer. 
6658
            </summary>
6659
        </member>
6660
        <member name="F:LibUsbDotNet.Main.SPDRP.HardwareId">
6661
            <summary>
6662
            Requests the hardware IDs provided by the device that identify the device.
6663
            </summary>
6664
        </member>
6665
        <member name="F:LibUsbDotNet.Main.SPDRP.CompatibleIds">
6666
            <summary>
6667
            Requests the compatible IDs reported by the device.
6668
            </summary>
6669
        </member>
6670
        <member name="F:LibUsbDotNet.Main.SPDRP.Class">
6671
            <summary>
6672
            Requests the name of the device's setup class, in text format. 
6673
            </summary>
6674
        </member>
6675
        <member name="F:LibUsbDotNet.Main.SPDRP.ClassGuid">
6676
            <summary>
6677
            Requests the GUID for the device's setup class.
6678
            </summary>
6679
        </member>
6680
        <member name="F:LibUsbDotNet.Main.SPDRP.Driver">
6681
            <summary>
6682
            Requests the name of the driver-specific registry key.
6683
            </summary>
6684
        </member>
6685
        <member name="F:LibUsbDotNet.Main.SPDRP.Mfg">
6686
            <summary>
6687
            Requests a string identifying the manufacturer of the device.
6688
            </summary>
6689
        </member>
6690
        <member name="F:LibUsbDotNet.Main.SPDRP.FriendlyName">
6691
            <summary>
6692
            Requests a string that can be used to distinguish between two similar devices, typically defined by the class installer.
6693
            </summary>
6694
        </member>
6695
        <member name="F:LibUsbDotNet.Main.SPDRP.LocationInformation">
6696
            <summary>
6697
            Requests information about the device's location on the bus; the interpretation of this information is bus-specific. 
6698
            </summary>
6699
        </member>
6700
        <member name="F:LibUsbDotNet.Main.SPDRP.PhysicalDeviceObjectName">
6701
            <summary>
6702
            Requests the name of the PDO for this device.
6703
            </summary>
6704
        </member>
6705
        <member name="F:LibUsbDotNet.Main.SPDRP.UiNumber">
6706
            <summary>
6707
            Requests a number associated with the device that can be displayed in the user interface.
6708
            </summary>
6709
        </member>
6710
        <member name="F:LibUsbDotNet.Main.SPDRP.BusTypeGuid">
6711
            <summary>
6712
            Requests the GUID for the bus that the device is connected to.
6713
            </summary>
6714
        </member>
6715
        <member name="F:LibUsbDotNet.Main.SPDRP.LegacyBusType">
6716
            <summary>
6717
            Requests the bus type, such as PCIBus or PCMCIABus.
6718
            </summary>
6719
        </member>
6720
        <member name="F:LibUsbDotNet.Main.SPDRP.BusNumber">
6721
            <summary>
6722
            Requests the legacy bus number of the bus the device is connected to. 
6723
            </summary>
6724
        </member>
6725
        <member name="F:LibUsbDotNet.Main.SPDRP.EnumeratorName">
6726
            <summary>
6727
            Requests the name of the enumerator for the device, such as "USB".
6728
            </summary>
6729
        </member>
6730
        <member name="F:LibUsbDotNet.Main.SPDRP.Address">
6731
            <summary>
6732
            Requests the address of the device on the bus. 
6733
            </summary>
6734
        </member>
6735
        <member name="F:LibUsbDotNet.Main.SPDRP.RemovalPolicy">
6736
            <summary>
6737
            (Windows XP and later.) Requests the device's current removal policy. The operating system uses this value as a hint to determine how the device is normally removed.
6738
            </summary>
6739
        </member>
6740
        <member name="F:LibUsbDotNet.Main.SPDRP.InstallState">
6741
            <summary>
6742
            Windows XP and later.) Requests the device's installation state.
6743
            </summary>
6744
        </member>
6745
        <member name="F:LibUsbDotNet.Main.SPDRP.LocationPaths">
6746
            <summary>
6747
            Device Location Paths (R)
6748
            </summary>
6749
        </member>
6750
        <member name="T:MonoLibUsb.Profile.MonoUsbProfileListHandle">
6751
            <summary>
6752
            Used to iterate through the <see cref="T:MonoLibUsb.Profile.MonoUsbProfileHandle"/> collection contained in the <see cref="T:MonoLibUsb.Profile.MonoUsbProfileListHandle"/>.
6753
            </summary>
6754
            <remarks>
6755
            <para>Wraps a device list handle into a <see cref="T:System.Runtime.ConstrainedExecution.CriticalFinalizerObject"/></para>
6756
            </remarks>
6757
            <seealso cref="T:MonoLibUsb.Profile.MonoUsbProfileList"/>
6758
        </member>
6759
        <member name="M:MonoLibUsb.Profile.MonoUsbProfileListHandle.GetEnumerator">
6760
            <summary>
6761
            Gets a forward-only device list enumerator.
6762
            </summary>
6763
            <returns>A profile handle enumerator used iterating through the <see cref="T:MonoLibUsb.Profile.MonoUsbProfileHandle"/> classes.</returns>
6764
        </member>
6765
        <member name="M:MonoLibUsb.Profile.MonoUsbProfileListHandle.ReleaseHandle">
6766
            <summary>
6767
            When overridden in a derived class, executes the code required to free the handle.
6768
            </summary>
6769
            <returns>
6770
            true if the handle is released successfully; otherwise, in the event of a catastrophic failure, false. In this case, it generates a ReleaseHandleFailed Managed Debugging Assistant.
6771
            </returns>
6772
        </member>
6773
        <member name="T:MonoLibUsb.Transfer.MonoUsbIsoPacket">
6774
            <summary>
6775
            Wraps an iso packet structure
6776
            </summary>
6777
        </member>
6778
        <member name="M:MonoLibUsb.Transfer.MonoUsbIsoPacket.#ctor(System.IntPtr)">
6779
            <summary>
6780
            Creates a structure that wraps an iso packet.
6781
            </summary>
6782
            <param name="isoPacketPtr">The pointer to the iso packet to wrap.</param>
6783
        </member>
6784
        <member name="P:MonoLibUsb.Transfer.MonoUsbIsoPacket.PtrIsoPacket">
6785
            <summary>
6786
            Returns the location in memory of this iso packet.
6787
            </summary>
6788
        </member>
6789
        <member name="P:MonoLibUsb.Transfer.MonoUsbIsoPacket.ActualLength">
6790
            <summary>
6791
            Amount of data that was actually transferred. 
6792
            </summary>
6793
        </member>
6794
        <member name="P:MonoLibUsb.Transfer.MonoUsbIsoPacket.Length">
6795
            <summary>
6796
            Length of data to request in this packet. 
6797
            </summary>
6798
        </member>
6799
        <member name="P:MonoLibUsb.Transfer.MonoUsbIsoPacket.Status">
6800
            <summary>
6801
            Status code for this packet. 
6802
            </summary>
6803
        </member>
6804
        <member name="T:MonoLibUsb.Profile.PollfdItem">
6805
            <summary>
6806
            File descriptor for polling. <a href="http://libusb.sourceforge.net/api-1.0/structlibusb__pollfd.html#_details">More..</a>
6807
            </summary>
6808
        </member>
6809
        <member name="F:MonoLibUsb.Profile.PollfdItem.fd">
6810
            <summary>
6811
            Numeric file descriptor.
6812
            </summary>
6813
        </member>
6814
        <member name="F:MonoLibUsb.Profile.PollfdItem.events">
6815
            <summary>
6816
            Event flags to poll for from poll.h. 
6817
            </summary>
6818
        </member>
6819
        <member name="T:LibUsbDotNet.DeviceNotify.WindowsDeviceNotifyEventArgs">
6820
            <summary>
6821
            Describes the device notify event
6822
            </summary> 
6823
        </member>
6824
        <member name="T:LibUsbDotNet.Main.EndpointType">
6825
            <summary> All possible USB endpoint types.
6826
            </summary> 
6827
        </member>
6828
        <member name="F:LibUsbDotNet.Main.EndpointType.Control">
6829
            <summary>
6830
            Control endpoint type.
6831
            </summary>
6832
        </member>
6833
        <member name="F:LibUsbDotNet.Main.EndpointType.Isochronous">
6834
            <summary>
6835
            Isochronous endpoint type.
6836
            </summary>
6837
        </member>
6838
        <member name="F:LibUsbDotNet.Main.EndpointType.Bulk">
6839
            <summary>
6840
            Bulk endpoint type.
6841
            </summary>
6842
        </member>
6843
        <member name="F:LibUsbDotNet.Main.EndpointType.Interrupt">
6844
            <summary>
6845
            Interrupt endpoint type.
6846
            </summary>
6847
        </member>
6848
        <member name="T:MonoLibUsb.MonoUsbError">
6849
            <summary>
6850
            Error codes.
6851
            Most libusb functions return 0 on success or one of these codes on failure. 
6852
            </summary>
6853
        </member>
6854
        <member name="F:MonoLibUsb.MonoUsbError.Success">
6855
            <summary>
6856
            Success (no error) 
6857
            </summary>
6858
        </member>
6859
        <member name="F:MonoLibUsb.MonoUsbError.ErrorIO">
6860
            <summary>
6861
            Input/output error 
6862
            </summary>
6863
        </member>
6864
        <member name="F:MonoLibUsb.MonoUsbError.ErrorInvalidParam">
6865
            <summary>
6866
            Invalid parameter 
6867
            </summary>
6868
        </member>
6869
        <member name="F:MonoLibUsb.MonoUsbError.ErrorAccess">
6870
            <summary>
6871
            Access denied (insufficient permissions) 
6872
            </summary>
6873
        </member>
6874
        <member name="F:MonoLibUsb.MonoUsbError.ErrorNoDevice">
6875
            <summary>
6876
            No such device (it may have been disconnected) 
6877
            </summary>
6878
        </member>
6879
        <member name="F:MonoLibUsb.MonoUsbError.ErrorNotFound">
6880
            <summary>
6881
            Entity not found 
6882
            </summary>
6883
        </member>
6884
        <member name="F:MonoLibUsb.MonoUsbError.ErrorBusy">
6885
            <summary>
6886
            Resource busy 
6887
            </summary>
6888
        </member>
6889
        <member name="F:MonoLibUsb.MonoUsbError.ErrorTimeout">
6890
            <summary>
6891
            Operation timed out 
6892
            </summary>
6893
        </member>
6894
        <member name="F:MonoLibUsb.MonoUsbError.ErrorOverflow">
6895
            <summary>
6896
            Overflow 
6897
            </summary>
6898
        </member>
6899
        <member name="F:MonoLibUsb.MonoUsbError.ErrorPipe">
6900
            <summary>
6901
            Pipe error 
6902
            </summary>
6903
        </member>
6904
        <member name="F:MonoLibUsb.MonoUsbError.ErrorInterrupted">
6905
            <summary>
6906
            System call interrupted (perhaps due to signal) 
6907
            </summary>
6908
        </member>
6909
        <member name="F:MonoLibUsb.MonoUsbError.ErrorNoMem">
6910
            <summary>
6911
            Insufficient memory 
6912
            </summary>
6913
        </member>
6914
        <member name="F:MonoLibUsb.MonoUsbError.ErrorNotSupported">
6915
            <summary>
6916
            Operation not supported or unimplemented on this platform 
6917
            </summary>
6918
        </member>
6919
        <member name="F:MonoLibUsb.MonoUsbError.ErrorIOCancelled">
6920
            <summary>
6921
            Cancel IO failed.
6922
            </summary>
6923
        </member>
6924
        <member name="F:MonoLibUsb.MonoUsbError.ErrorOther">
6925
            <summary>
6926
            Other error 
6927
            </summary>
6928
        </member>
6929
        <member name="T:LibUsbDotNet.Main.Helper">
6930
            <summary>
6931
            General utilities class used by LudnLite and exposed publicly for your convience.
6932
            </summary>
6933
        </member>
6934
        <member name="M:LibUsbDotNet.Main.Helper.BytesToObject(System.Byte[],System.Int32,System.Int32,System.Object)">
6935
            <summary>
6936
            Copies bytes to a blittable object.
6937
            </summary>
6938
            <param name="sourceBytes">bytes to copy</param>
6939
            <param name="iStartIndex">Start index</param>
6940
            <param name="iLength">number of bytes to copy</param>
6941
            <param name="destObject">blittable destination object</param>
6942
        </member>
6943
        <member name="M:LibUsbDotNet.Main.Helper.GetEnumData(System.Type)">
6944
            <summary>
6945
            Returns a dictionary object of enumeration names and values.
6946
            </summary>
6947
            <param name="type">They <see cref="T:System.Type"/> of enumeration.</param>
6948
            <returns>A <see cref="T:System.Collections.Generic.Dictionary`2"/> enumeration of names and values.</returns>
6949
        </member>
6950
        <member name="M:LibUsbDotNet.Main.Helper.HostEndianToLE16(System.Int16)">
6951
            <summary>
6952
            Swaps low and high bytes on big endian systems.  Has no effect on little endian systems.
6953
            </summary>
6954
            <param name="swapValue">The value to convert.</param>
6955
            <returns>a swapped value an big endian system, the same value on little endian systems</returns>
6956
        </member>
6957
        <member name="M:LibUsbDotNet.Main.Helper.ShowAsHex(System.Object)">
6958
            <summary>
6959
            Converts standard values to decorated hex string values.
6960
            </summary>
6961
            <param name="standardValue">The value to convert.</param>
6962
            <returns>A string representing <paramref name="standardValue"/> in hex display format.</returns>
6963
        </member>
6964
        <member name="M:LibUsbDotNet.Main.Helper.ToString(System.String,System.String[],System.String,System.Object[],System.String)">
6965
            <summary>
6966
            Builds a delimited string of names and values.
6967
            </summary>
6968
            <param name="sep0">Inserted and the begining of the entity.</param>
6969
            <param name="names">The list of names for the object values.</param>
6970
            <param name="sep1">Inserted between the name and value.</param>
6971
            <param name="values">The values for the names.</param>
6972
            <param name="sep2">Inserted and the end of the entity.</param>
6973
            <returns>The formatted string.</returns>
6974
        </member>
6975
        <member name="M:LibUsbDotNet.Main.Helper.HexString(System.Byte[],System.String,System.String)">
6976
            <summary>
6977
            Builds a formatted hexidecimal string from an array of bytes. 
6978
            </summary>
6979
            <param name="data">the byte array</param>
6980
            <param name="prefix">string to place before each byte</param>
6981
            <param name="suffix">string to place after each byte</param>
6982
            <returns>a formatted hex string</returns>
6983
        </member>
6984
        <member name="P:LibUsbDotNet.Main.Helper.OSVersion">
6985
            <summary>
6986
            Gets the  <see cref="T:System.OperatingSystem"/> class.
6987
            </summary>
6988
        </member>
6989
        <member name="P:LibUsbDotNet.Main.Helper.IsLinux">
6990
            <summary>
6991
            True if running on a unix-like operating system.
6992
            False if using the Libusb-1.0 windows backend driver.
6993
            </summary>
6994
        </member>
6995
        <member name="T:LibUsbDotNet.Main.PinnedHandle">
6996
            <summary>
6997
            Used for allocating a <see cref="T:System.Runtime.InteropServices.GCHandle"/> to access the underlying pointer of an object.
6998
            </summary>
6999
        </member>
7000
        <member name="M:LibUsbDotNet.Main.PinnedHandle.#ctor(System.Object)">
7001
            <summary>
7002
            Creates a pinned object.
7003
            </summary>
7004
            <param name="objectToPin">
7005
            The object can be any blittable class, or array.  If a <see cref="T:System.Runtime.InteropServices.GCHandle"/> is passed it will be used "as-is" and no pinning will take place. 
7006
            </param>
7007
        </member>
7008
        <member name="M:LibUsbDotNet.Main.PinnedHandle.Dispose">
7009
            <summary>
7010
            Frees and disposes the <see cref="T:System.Runtime.InteropServices.GCHandle"/> for this pinned object.
7011
            </summary>
7012
            <filterpriority>2</filterpriority>
7013
        </member>
7014
        <member name="M:LibUsbDotNet.Main.PinnedHandle.Finalize">
7015
            <summary>
7016
            Disposes the gchande for the object if ibe is allocated.
7017
            </summary>
7018
        </member>
7019
        <member name="P:LibUsbDotNet.Main.PinnedHandle.Handle">
7020
            <summary>
7021
            The raw pointer in memory of the pinned object.
7022
            </summary>
7023
        </member>
7024
        <member name="T:MonoLibUsb.MonoUsbSessionHandle">
7025
            <summary>
7026
            Class representing a Libusb-1.0 session session handle.
7027
            Session handled are wrapped in a <see cref="T:System.Runtime.ConstrainedExecution.CriticalFinalizerObject"/>. 
7028
            </summary>
7029
            <remarks>
7030
            <para>The concept of individual Libusb-1.0 sessions allows for your program to use two libraries 
7031
            (or dynamically load two modules) which both independently use libusb. This will prevent interference between the 
7032
            individual libusb users - for example <see cref="M:MonoLibUsb.MonoUsbApi.SetDebug(MonoLibUsb.MonoUsbSessionHandle,System.Int32)"/> will not affect the other 
7033
            user of the library, and <see cref="M:System.Runtime.InteropServices.SafeHandle.Close"/> will not destroy resources that the 
7034
            other user is still using.</para>
7035
            <para>Sessions are created when a new <see cref="T:MonoLibUsb.MonoUsbSessionHandle"/> instance is created and destroyed through <see cref="M:System.Runtime.InteropServices.SafeHandle.Close"/>.</para>
7036
            <para>A <see cref="T:MonoLibUsb.MonoUsbSessionHandle"/> instance must be created before calling any other <a href="http://libusb.sourceforge.net/api-1.0/index.html">Libusb-1.0 API</a> function.</para>
7037
            <para>Session handles are equivalent to a <a href="http://libusb.sourceforge.net/api-1.0/group__lib.html#ga4ec088aa7b79c4a9599e39bf36a72833">libusb_context</a>.</para>
7038
            </remarks>
7039
        </member>
7040
        <member name="M:MonoLibUsb.MonoUsbSessionHandle.#ctor">
7041
            <summary>
7042
            Creates and initialize a <a href="http://libusb.sourceforge.net/api-1.0/index.html">Libusb-1.0</a> USB session handle.
7043
            </summary>
7044
            <remarks>
7045
            <para>A <see cref="T:MonoLibUsb.MonoUsbSessionHandle"/> instance must be created before calling any other <a href="http://libusb.sourceforge.net/api-1.0/index.html">Libusb-1.0 API</a> function.</para>
7046
            </remarks>
7047
        </member>
7048
        <member name="M:MonoLibUsb.MonoUsbSessionHandle.ReleaseHandle">
7049
            <summary>
7050
 
7051
            </summary>
7052
            <returns></returns>
7053
        </member>
7054
        <member name="P:MonoLibUsb.MonoUsbSessionHandle.LastErrorCode">
7055
            <summary>
7056
            If the session handle is <see cref="P:LibUsbDotNet.Main.SafeContextHandle.IsInvalid"/>, gets the <see cref="T:MonoLibUsb.MonoUsbError"/> status code indicating the reason.
7057
            </summary>
7058
        </member>
7059
        <member name="P:MonoLibUsb.MonoUsbSessionHandle.LastErrorString">
7060
            <summary>
7061
            If the session handle is <see cref="P:LibUsbDotNet.Main.SafeContextHandle.IsInvalid"/>, gets a descriptive string for the <see cref="P:MonoLibUsb.MonoUsbSessionHandle.LastErrorCode"/>.
7062
            </summary>
7063
        </member>
7064
        <member name="T:LibUsbDotNet.Main.UsbRequestRecipient">
7065
            <summary>Recipient of the request.</summary>
7066
             <seealso cref="T:LibUsbDotNet.Main.UsbCtrlFlags"/>
7067
        </member>
7068
        <member name="F:LibUsbDotNet.Main.UsbRequestRecipient.RecipDevice">
7069
            <summary>
7070
            Device is recipient.
7071
            </summary>
7072
        </member>
7073
        <member name="F:LibUsbDotNet.Main.UsbRequestRecipient.RecipEndpoint">
7074
            <summary>
7075
            Endpoint is recipient.
7076
            </summary>
7077
        </member>
7078
        <member name="F:LibUsbDotNet.Main.UsbRequestRecipient.RecipInterface">
7079
            <summary>
7080
            Interface is recipient.
7081
            </summary>
7082
        </member>
7083
        <member name="F:LibUsbDotNet.Main.UsbRequestRecipient.RecipOther">
7084
            <summary>
7085
            Other is recipient.
7086
            </summary>
7087
        </member>
7088
        <member name="T:LibUsbDotNet.Info.UsbEndpointInfo">
7089
            <summary> Contains Endpoint information for the current <see cref="T:LibUsbDotNet.Info.UsbConfigInfo"/>.
7090
            </summary> 
7091
        </member>
7092
        <member name="M:LibUsbDotNet.Info.UsbEndpointInfo.ToString">
7093
            <summary>
7094
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.Info.UsbEndpointInfo"/>.
7095
            </summary>
7096
 
7097
            <returns>
7098
            A <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.Info.UsbEndpointInfo"/>.
7099
            </returns>
7100
        </member>
7101
        <member name="M:LibUsbDotNet.Info.UsbEndpointInfo.ToString(System.String,System.String,System.String)">
7102
            <summary>
7103
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.Info.UsbEndpointInfo"/>.
7104
            </summary>
7105
 
7106
            <param name="prefixSeperator">The field prefix string.</param>
7107
            <param name="entitySperator">The field/value seperator string.</param>
7108
            <param name="suffixSeperator">The value suffix string.</param>
7109
            <returns>A formatted representation of the <see cref="T:LibUsbDotNet.Info.UsbEndpointInfo"/>.</returns>
7110
        </member>
7111
        <member name="P:LibUsbDotNet.Info.UsbEndpointInfo.Descriptor">
7112
            <summary>
7113
            Gets the <see cref="T:LibUsbDotNet.Descriptors.UsbEndpointDescriptor"/> information.
7114
            </summary>
7115
        </member>
7116
        <member name="T:LibUsbDotNet.DeviceNotify.Info.UsbDeviceNotifyInfo">
7117
            <summary> Describes the USB device that caused the notification.
7118
            See the <see cref="T:LibUsbDotNet.DeviceNotify.Info.IUsbDeviceNotifyInfo"/> inteface for more information.
7119
            </summary>  
7120
        </member>
7121
        <member name="M:LibUsbDotNet.DeviceNotify.Info.UsbDeviceNotifyInfo.ToString">
7122
            <summary>
7123
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.DeviceNotify.Info.UsbDeviceNotifyInfo"/>.
7124
            </summary>
7125
 
7126
            <returns>
7127
            A <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.DeviceNotify.Info.UsbDeviceNotifyInfo"/>.
7128
            </returns>
7129
        </member>
7130
        <member name="P:LibUsbDotNet.DeviceNotify.Info.UsbDeviceNotifyInfo.SymbolicName">
7131
            <summary>
7132
            The symbolc name class for this device.  For more information, see <see cref="T:LibUsbDotNet.Main.UsbSymbolicName"/>.
7133
            </summary>
7134
        </member>
7135
        <member name="P:LibUsbDotNet.DeviceNotify.Info.UsbDeviceNotifyInfo.Name">
7136
            <summary>
7137
            Gets the full name of the USB device that caused the notification.
7138
            </summary>
7139
        </member>
7140
        <member name="P:LibUsbDotNet.DeviceNotify.Info.UsbDeviceNotifyInfo.ClassGuid">
7141
            <summary>
7142
            Gets the Class Guid of the USB device that caused the notification.
7143
            </summary>
7144
        </member>
7145
        <member name="P:LibUsbDotNet.DeviceNotify.Info.UsbDeviceNotifyInfo.IdVendor">
7146
            <summary>
7147
            Parses and returns the VID from the <see cref="P:LibUsbDotNet.DeviceNotify.Info.UsbDeviceNotifyInfo.Name"/> property.
7148
            </summary>
7149
        </member>
7150
        <member name="P:LibUsbDotNet.DeviceNotify.Info.UsbDeviceNotifyInfo.IdProduct">
7151
            <summary>
7152
            Parses and returns the PID from the <see cref="P:LibUsbDotNet.DeviceNotify.Info.UsbDeviceNotifyInfo.Name"/> property.
7153
            </summary>
7154
        </member>
7155
        <member name="P:LibUsbDotNet.DeviceNotify.Info.UsbDeviceNotifyInfo.SerialNumber">
7156
            <summary>
7157
            Parses and returns the serial number from the <see cref="P:LibUsbDotNet.DeviceNotify.Info.UsbDeviceNotifyInfo.Name"/> property.
7158
            </summary>
7159
        </member>
7160
        <member name="T:MonoLibUsb.Transfer.MonoUsbTransferFlags">
7161
            <summary>
7162
            Transfer flags.
7163
            </summary>
7164
        </member>
7165
        <member name="F:MonoLibUsb.Transfer.MonoUsbTransferFlags.None">
7166
            <summary>
7167
            No transfer flags.
7168
            </summary>
7169
        </member>
7170
        <member name="F:MonoLibUsb.Transfer.MonoUsbTransferFlags.TransferShortNotOk">
7171
            <summary>
7172
            Report short frames as errors
7173
            </summary>
7174
        </member>
7175
        <member name="F:MonoLibUsb.Transfer.MonoUsbTransferFlags.TransferFreeBuffer">
7176
            <summary>
7177
            Automatically free() transfer buffer during <see cref="M:MonoLibUsb.Transfer.MonoUsbTransfer.Free">MonoUsbTransfer.Free()</see>.
7178
            </summary>
7179
        </member>
7180
        <member name="F:MonoLibUsb.Transfer.MonoUsbTransferFlags.TransferFreeTransfer">
7181
            <summary>
7182
            Automatically call <see cref="M:MonoLibUsb.Transfer.MonoUsbTransfer.Free">MonoUsbTransfer.Free()</see> after callback returns.
7183
            </summary>
7184
            <remakrks>
7185
            <para>If this flag is set, it is illegal to call <see cref="M:MonoLibUsb.Transfer.MonoUsbTransfer.Free"/> from your transfer callback, as this will result in a double-free when this flag is acted upon.</para>
7186
            </remakrks>
7187
        </member>
7188
        <member name="T:LibUsbDotNet.Main.UsbKernelVersion">
7189
            <summary>
7190
             Contains version information for the LibUsb Sys driver.
7191
            </summary>
7192
             <remarks>
7193
             This version is not related to LibUsbDotNet.  TO get the LibUsbDotNet version use .NET reflections.
7194
             </remarks>
7195
        </member>
7196
        <member name="F:LibUsbDotNet.Main.UsbKernelVersion.Major">
7197
            <summary>
7198
            LibUsb-Win32 Major version
7199
            </summary>
7200
        </member>
7201
        <member name="F:LibUsbDotNet.Main.UsbKernelVersion.Minor">
7202
            <summary>
7203
            LibUsb-Win32 Minor version
7204
            </summary>
7205
        </member>
7206
        <member name="F:LibUsbDotNet.Main.UsbKernelVersion.Micro">
7207
            <summary>
7208
            LibUsb-Win32 Micro version
7209
            </summary>
7210
        </member>
7211
        <member name="F:LibUsbDotNet.Main.UsbKernelVersion.Nano">
7212
            <summary>
7213
            LibUsb-Win32 Nano version
7214
            </summary>
7215
        </member>
7216
        <member name="F:LibUsbDotNet.Main.UsbKernelVersion.BcdLibUsbDotNetKernelMod">
7217
            <summary>
7218
            The LibUsbDotNet - LibUsb-Win32 binary mod code. if not running the LibUsbDotNet LibUsb-Win32 modified kernel driver, this value is 0.
7219
            </summary>
7220
        </member>
7221
        <member name="M:LibUsbDotNet.Main.UsbKernelVersion.ToString">
7222
            <summary>
7223
            The full LibUsb-Win32 kernel driver version (libusb0.sys).
7224
            </summary>
7225
 
7226
            <returns>
7227
            A <see cref="T:System.String"/> containing the full LibUsb-Win32 version.
7228
            </returns>
7229
        </member>
7230
        <member name="P:LibUsbDotNet.Main.UsbKernelVersion.IsEmpty">
7231
            <summary>
7232
            True if Major == 0 and Minor == 0 and Micro == 0 and Nano == 0.
7233
            </summary>
7234
        </member>
7235
        <member name="T:LibUsbDotNet.Main.DevicePropertyType">
7236
            <summary> Standard Windows registry properties for USB devices and other hardware.
7237
            </summary> 
7238
        </member>
7239
        <member name="F:LibUsbDotNet.Main.DevicePropertyType.DeviceDesc">
7240
            <summary>
7241
            Requests a string describing the device, such as "Microsoft PS/2 Port Mouse", typically defined by the manufacturer. 
7242
            </summary>
7243
        </member>
7244
        <member name="F:LibUsbDotNet.Main.DevicePropertyType.HardwareId">
7245
            <summary>
7246
            Requests the hardware IDs provided by the device that identify the device.
7247
            </summary>
7248
        </member>
7249
        <member name="F:LibUsbDotNet.Main.DevicePropertyType.CompatibleIds">
7250
            <summary>
7251
            Requests the compatible IDs reported by the device.
7252
            </summary>
7253
        </member>
7254
        <member name="F:LibUsbDotNet.Main.DevicePropertyType.Class">
7255
            <summary>
7256
            Requests the name of the device's setup class, in text format. 
7257
            </summary>
7258
        </member>
7259
        <member name="F:LibUsbDotNet.Main.DevicePropertyType.ClassGuid">
7260
            <summary>
7261
            Requests the GUID for the device's setup class.
7262
            </summary>
7263
        </member>
7264
        <member name="F:LibUsbDotNet.Main.DevicePropertyType.Driver">
7265
            <summary>
7266
            Requests the name of the driver-specific registry key.
7267
            </summary>
7268
        </member>
7269
        <member name="F:LibUsbDotNet.Main.DevicePropertyType.Mfg">
7270
            <summary>
7271
            Requests a string identifying the manufacturer of the device.
7272
            </summary>
7273
        </member>
7274
        <member name="F:LibUsbDotNet.Main.DevicePropertyType.FriendlyName">
7275
            <summary>
7276
            Requests a string that can be used to distinguish between two similar devices, typically defined by the class installer.
7277
            </summary>
7278
        </member>
7279
        <member name="F:LibUsbDotNet.Main.DevicePropertyType.LocationInformation">
7280
            <summary>
7281
            Requests information about the device's location on the bus; the interpretation of this information is bus-specific. 
7282
            </summary>
7283
        </member>
7284
        <member name="F:LibUsbDotNet.Main.DevicePropertyType.PhysicalDeviceObjectName">
7285
            <summary>
7286
            Requests the name of the PDO for this device.
7287
            </summary>
7288
        </member>
7289
        <member name="F:LibUsbDotNet.Main.DevicePropertyType.BusTypeGuid">
7290
            <summary>
7291
            Requests the GUID for the bus that the device is connected to.
7292
            </summary>
7293
        </member>
7294
        <member name="F:LibUsbDotNet.Main.DevicePropertyType.LegacyBusType">
7295
            <summary>
7296
            Requests the bus type, such as PCIBus or PCMCIABus.
7297
            </summary>
7298
        </member>
7299
        <member name="F:LibUsbDotNet.Main.DevicePropertyType.BusNumber">
7300
            <summary>
7301
            Requests the legacy bus number of the bus the device is connected to. 
7302
            </summary>
7303
        </member>
7304
        <member name="F:LibUsbDotNet.Main.DevicePropertyType.EnumeratorName">
7305
            <summary>
7306
            Requests the name of the enumerator for the device, such as "USB".
7307
            </summary>
7308
        </member>
7309
        <member name="F:LibUsbDotNet.Main.DevicePropertyType.Address">
7310
            <summary>
7311
            Requests the address of the device on the bus. 
7312
            </summary>
7313
        </member>
7314
        <member name="F:LibUsbDotNet.Main.DevicePropertyType.UiNumber">
7315
            <summary>
7316
            Requests a number associated with the device that can be displayed in the user interface.
7317
            </summary>
7318
        </member>
7319
        <member name="F:LibUsbDotNet.Main.DevicePropertyType.InstallState">
7320
            <summary>
7321
            Windows XP and later.) Requests the device's installation state.
7322
            </summary>
7323
        </member>
7324
        <member name="F:LibUsbDotNet.Main.DevicePropertyType.RemovalPolicy">
7325
            <summary>
7326
            (Windows XP and later.) Requests the device's current removal policy. The operating system uses this value as a hint to determine how the device is normally removed.
7327
            </summary>
7328
        </member>
7329
        <member name="T:MonoLibUsb.Profile.MonoUsbProfileHandleEnumerator">
7330
            <summary>
7331
            A forward-only enumerator for iterating a device lists.
7332
            </summary>
7333
        </member>
7334
        <member name="M:MonoLibUsb.Profile.MonoUsbProfileHandleEnumerator.Dispose">
7335
            <summary>
7336
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
7337
            </summary>
7338
            <filterpriority>2</filterpriority>
7339
        </member>
7340
        <member name="M:MonoLibUsb.Profile.MonoUsbProfileHandleEnumerator.MoveNext">
7341
            <summary>
7342
            Advances the enumerator to the next <see cref="T:MonoLibUsb.Profile.MonoUsbProfileHandle"/> element of the collection.
7343
            </summary>
7344
            <returns>
7345
            true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection.
7346
            </returns>
7347
            <exception cref="T:System.InvalidOperationException">The collection was modified after the enumerator was created. </exception><filterpriority>2</filterpriority>
7348
        </member>
7349
        <member name="M:MonoLibUsb.Profile.MonoUsbProfileHandleEnumerator.Reset">
7350
            <summary>
7351
            Sets the enumerator to its initial position, which is before the first element in the collection.
7352
            </summary>
7353
            <exception cref="T:System.InvalidOperationException">The collection was modified after the enumerator was created. </exception><filterpriority>2</filterpriority>
7354
        </member>
7355
        <member name="P:MonoLibUsb.Profile.MonoUsbProfileHandleEnumerator.Current">
7356
            <summary>
7357
            Gets the element in the <see cref="T:MonoLibUsb.Profile.MonoUsbProfileHandle"/> collection at the current position of the enumerator.
7358
            </summary>
7359
            <returns>
7360
            The current <see cref="T:MonoLibUsb.Profile.MonoUsbProfileHandle"/> element.
7361
            </returns>
7362
        </member>
7363
        <member name="P:MonoLibUsb.Profile.MonoUsbProfileHandleEnumerator.System#Collections#IEnumerator#Current">
7364
            <summary>
7365
            Gets the current element in the <see cref="T:MonoLibUsb.Profile.MonoUsbProfileHandle"/> collection.
7366
            </summary>
7367
            <returns>
7368
            The current <see cref="T:MonoLibUsb.Profile.MonoUsbProfileHandle"/> element.
7369
            </returns>
7370
            <exception cref="T:System.InvalidOperationException">The enumerator is positioned before the first element of the collection or after the last element.-or- The collection was modified after the enumerator was created.</exception><filterpriority>2</filterpriority>
7371
        </member>
7372
        <member name="T:LibUsbDotNet.Main.UsbEndpointDirection">
7373
            <summary>Endpoint direction.</summary>
7374
             <seealso cref="T:LibUsbDotNet.Main.UsbCtrlFlags"/>
7375
        </member>
7376
        <member name="F:LibUsbDotNet.Main.UsbEndpointDirection.EndpointIn">
7377
            <summary>
7378
            In Direction
7379
            </summary>
7380
        </member>
7381
        <member name="F:LibUsbDotNet.Main.UsbEndpointDirection.EndpointOut">
7382
            <summary>
7383
            Out Direction
7384
            </summary>
7385
        </member>
7386
        <member name="T:LibUsbDotNet.DeviceNotify.WindowsDeviceNotifier">
7387
            <summary>
7388
            Notifies an application of a change to the hardware Configuration of a device or 
7389
            the computer. See <see cref="T:LibUsbDotNet.DeviceNotify.IDeviceNotifier"/> or <see cref="M:LibUsbDotNet.DeviceNotify.DeviceNotifier.OpenDeviceNotifier"/> interface for more information
7390
            </summary>
7391
            <remarks>
7392
            This is the windows implementation of the device notifier.
7393
            </remarks>
7394
        </member>
7395
        <member name="M:LibUsbDotNet.DeviceNotify.WindowsDeviceNotifier.#ctor">
7396
            <summary>
7397
             Creates an instance of the <see cref="T:LibUsbDotNet.DeviceNotify.WindowsDeviceNotifier"/> class.
7398
             See the <see cref="T:LibUsbDotNet.DeviceNotify.IDeviceNotifier"/> interface or <see cref="M:LibUsbDotNet.DeviceNotify.DeviceNotifier.OpenDeviceNotifier"/> method for more information
7399
            </summary>
7400
            <remarks>
7401
            To make your code platform-independent use the <see cref="M:LibUsbDotNet.DeviceNotify.DeviceNotifier.OpenDeviceNotifier"/> method for creating instances.
7402
            </remarks>
7403
        </member>
7404
        <member name="M:LibUsbDotNet.DeviceNotify.WindowsDeviceNotifier.Finalize">
7405
            <summary>
7406
            Releases the resources associated with this window. 
7407
            </summary>
7408
 
7409
        </member>
7410
        <member name="P:LibUsbDotNet.DeviceNotify.WindowsDeviceNotifier.Enabled">
7411
            <summary>
7412
             Enables/Disables notification events.
7413
            </summary>
7414
        </member>
7415
        <member name="E:LibUsbDotNet.DeviceNotify.WindowsDeviceNotifier.OnDeviceNotify">
7416
            <summary>
7417
            Main Notify event for all device notifications.
7418
            </summary>
7419
        </member>
7420
        <member name="T:LibUsbDotNet.DeviceNotify.Linux.LinuxUsbDeviceNotifyInfo">
7421
            <summary> Describes the USB device that caused the notification.
7422
            see the <see cref="T:LibUsbDotNet.DeviceNotify.Info.IUsbDeviceNotifyInfo"/> inteface for more information.
7423
            </summary> 
7424
        </member>
7425
        <member name="M:LibUsbDotNet.DeviceNotify.Linux.LinuxUsbDeviceNotifyInfo.ToString">
7426
            <summary>
7427
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.DeviceNotify.Info.UsbDeviceNotifyInfo"/>.
7428
            </summary>
7429
 
7430
            <returns>
7431
            A <see cref="T:System.String"/> that represents the current <see cref="T:LibUsbDotNet.DeviceNotify.Info.UsbDeviceNotifyInfo"/>.
7432
            </returns>
7433
        </member>
7434
        <member name="P:LibUsbDotNet.DeviceNotify.Linux.LinuxUsbDeviceNotifyInfo.DeviceDescriptor">
7435
            <summary>
7436
             Gets the <see cref="T:LibUsbDotNet.Descriptors.UsbDeviceDescriptor"/> for the device that caused the event.
7437
            </summary>
7438
        </member>
7439
        <member name="P:LibUsbDotNet.DeviceNotify.Linux.LinuxUsbDeviceNotifyInfo.BusNumber">
7440
            <summary>
7441
            Gets the bus number the device is connected to.
7442
            </summary>
7443
        </member>
7444
        <member name="P:LibUsbDotNet.DeviceNotify.Linux.LinuxUsbDeviceNotifyInfo.DeviceAddress">
7445
            <summary>
7446
            Get the device instance address.
7447
            </summary>
7448
        </member>
7449
        <member name="P:LibUsbDotNet.DeviceNotify.Linux.LinuxUsbDeviceNotifyInfo.SymbolicName">
7450
            <summary>
7451
            Not supported.  Always returns null.
7452
            </summary>
7453
        </member>
7454
        <member name="P:LibUsbDotNet.DeviceNotify.Linux.LinuxUsbDeviceNotifyInfo.Name">
7455
            <summary>
7456
            Gets the name of the USB device file descriptor that caused the notification.
7457
            </summary>
7458
        </member>
7459
        <member name="P:LibUsbDotNet.DeviceNotify.Linux.LinuxUsbDeviceNotifyInfo.ClassGuid">
7460
            <summary>
7461
            Not supported. Always returs Guid.Empty.
7462
            </summary>
7463
        </member>
7464
        <member name="P:LibUsbDotNet.DeviceNotify.Linux.LinuxUsbDeviceNotifyInfo.IdVendor">
7465
            <summary>
7466
            Parses and returns the VID from the <see cref="P:LibUsbDotNet.DeviceNotify.Info.IUsbDeviceNotifyInfo.Name"/> property.
7467
            </summary>
7468
        </member>
7469
        <member name="P:LibUsbDotNet.DeviceNotify.Linux.LinuxUsbDeviceNotifyInfo.IdProduct">
7470
            <summary>
7471
            Parses and returns the PID from the <see cref="P:LibUsbDotNet.DeviceNotify.Info.IUsbDeviceNotifyInfo.Name"/> property.
7472
            </summary>
7473
        </member>
7474
        <member name="P:LibUsbDotNet.DeviceNotify.Linux.LinuxUsbDeviceNotifyInfo.SerialNumber">
7475
            <summary>
7476
            Not supported.  Always returns String.Empty.
7477
            </summary>
7478
        </member>
7479
    </members>
7480
</doc>