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/feature_unix/sys/src/cmd/usb/disk/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
/*
2
 * usb/disk - usb mass storage file server
3
 */
4
#include <u.h>
5
#include <libc.h>
6
#include <fcall.h>
7
#include <thread.h>
8
#include <disk.h>
9
#include "scsireq.h"
10
#include "usb.h"
11
#include "usbfs.h"
12
#include "ums.h"
13
 
14
enum
15
{
16
	Arglen = 80,
17
};
18
 
19
static void
20
usage(void)
21
{
22
	fprint(2, "usage: %s [-Dd] [-N nb] [-m mnt] [-s srv] [dev...]\n", argv0);
23
	threadexitsall("usage");
24
}
25
 
26
static int csps[] = {
27
	CSP(Clstorage,Subatapi,Protobulk),
28
	CSP(Clstorage,Sub8070,Protobulk),
29
	CSP(Clstorage,Subscsi,Protobulk),
30
	0,
31
};
32
 
33
void
34
threadmain(int argc, char **argv)
35
{
36
	char args[Arglen];
37
	char *as, *ae, *srv, *mnt;
38
 
39
	srv = nil;
40
	mnt = "/n/disk";
41
 
42
	quotefmtinstall();
43
	ae = args+sizeof(args);
44
	as = seprint(args, ae, "disk");
45
	ARGBEGIN{
46
	case 'D':
47
		usbfsdebug++;
48
		break;
49
	case 'd':
50
		usbdebug++;
51
		as = seprint(as, ae, " -d");
52
		break;
53
	case 'N':
54
		as = seprint(as, ae, " -N %s", EARGF(usage()));
55
		break;
56
	case 'm':
57
		mnt = EARGF(usage());
58
		break;
59
	case 's':
60
		srv = EARGF(usage());
61
		break;
62
	default:
63
		usage();
64
	}ARGEND
65
 
66
	rfork(RFNOTEG);
67
	threadsetgrp(threadid());
68
	fmtinstall('U', Ufmt);
69
	usbfsinit(srv, mnt, &usbdirfs, MBEFORE);
70
	startdevs(args, argv, argc, matchdevcsp, csps, diskmain);
71
	threadexits(nil);
72
}