Warning: Attempt to read property "date" on null in /usr/local/www/websvn.planix.org/blame.php on line 247

Warning: Attempt to read property "msg" on null in /usr/local/www/websvn.planix.org/blame.php on line 247
WebSVN – planix.SVN – Blame – /os/branches/planix-v0/sys/src/cmd/usb/serial/main.c – Rev 2

Subversion Repositories planix.SVN

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
#include <u.h>
2
#include <libc.h>
3
#include <thread.h>
4
#include "usb.h"
5
#include "usbfs.h"
6
#include "serial.h"
7
#include "ucons.h"
8
#include "prolific.h"
9
#include "ftdi.h"
10
#include "silabs.h"
11
 
12
enum {
13
	Arglen = 80,
14
};
15
 
16
typedef struct Parg Parg;
17
 
18
/* keep in sync with serial.c */
19
static void
20
usage(void)
21
{
22
	fprint(2, "usage: %s [-dD] [-N nb] [-m mtpt] [-s srv] [dev...]\n", argv0);
23
	threadexitsall("usage");
24
}
25
 
26
static int
27
matchserial(char *info, void*)
28
{
29
	if(uconsmatch(info) == 0 || plmatch(info) == 0 ||
30
	    ftmatch(nil, info) == 0 || slmatch(info) == 0)
31
		return 0;
32
	return -1;
33
}
34
 
35
void
36
threadmain(int argc, char **argv)
37
{
38
	char *mnt, *srv, *as, *ae;
39
	char args[Arglen];
40
 
41
	mnt = "/dev";
42
	srv = nil;
43
 
44
	quotefmtinstall();
45
	ae = args + sizeof args;
46
	as = seprint(args, ae, "serial");
47
	ARGBEGIN{
48
	case 'D':
49
		usbfsdebug++;
50
		break;
51
	case 'd':
52
		usbdebug++;
53
		as = seprint(as, ae, " -d");
54
		break;
55
	case 'N':
56
		as = seprint(as, ae, " -N %s", EARGF(usage()));
57
		break;
58
	case 'm':
59
		mnt = EARGF(usage());
60
		break;
61
	case 's':
62
		srv = EARGF(usage());
63
		break;
64
	default:
65
		usage();
66
		break;
67
	}ARGEND;
68
 
69
	rfork(RFNOTEG);
70
	fmtinstall('U', Ufmt);
71
	threadsetgrp(threadid());
72
 
73
	usbfsinit(srv, mnt, &usbdirfs, MAFTER|MCREATE);
74
	startdevs(args, argv, argc, matchserial, nil, serialmain);
75
	threadexits(nil);
76
}