File: PsychHIDCloseUSBDevice.c

package info (click to toggle)
psychtoolbox-3 3.0.14.20170103%2Bgit6-g605ff5c.dfsg1-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 103,044 kB
  • ctags: 69,483
  • sloc: ansic: 167,371; cpp: 11,232; objc: 4,708; sh: 1,875; python: 383; php: 344; makefile: 207; java: 113
file content (57 lines) | stat: -rw-r--r-- 1,338 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
/*
 
  PsychSourceGL/Source/Common/PsychHID/PsychHIDCloseUSBDevice.c

  PROJECTS: PsychHID
  
  PLATFORMS:  All.
  
  AUTHORS:

	chrg@sas.upenn.edu	cgb
	
  HISTORY:

	4.4.2009	Created.

  TO DO:
  
*/

#include "PsychHID.h"

static char useString[] = "PsychHID('CloseUSBDevice' [, usbHandle])";
//														1
static char synopsisString[] = "Closes a generic USB device specified by 'usbHandle'. "
							   "Closes all generic USB devices if 'usbHandle' is omitted. ";
static char seeAlsoString[] = "";

PsychError PSYCHHIDCloseUSBDevice(void)
{
	int usbHandle;
	
	// Setup the help features.
	PsychPushHelp(useString, synopsisString, seeAlsoString);
    if (PsychIsGiveHelp()) {
		PsychGiveHelp();
		return PsychError_none;
	}
	
	// Make sure the correct number of input arguments is supplied.
    PsychErrorExit(PsychCapNumInputArgs(1));
	PsychErrorExit(PsychRequireNumInputArgs(0));
    PsychErrorExit(PsychCapNumOutputArgs(0));
	
	// Grab the optional device handle:
	if (PsychCopyInIntegerArg(1, FALSE, &usbHandle)) {
		// Specific device given. Try to close it. This will error-out if no such
		// device is open:
		PsychHIDOSCloseUSBDevice(PsychHIDGetUSBDevice(usbHandle));
	}
	else {
		// No specific handle given: Close and release all open generic USB devices:
		PsychHIDCloseAllUSBDevices();
	}

	return PsychError_none;
}