plan 9 kernel history: overview | file list | diff list

2001/0529/bitsy/devpenmouse.c (diff list | history)

2001/0115/sys/src/9/bitsy/devpenmouse.c:77,852001/0529/sys/src/9/bitsy/devpenmouse.c:77,86 (short | long | prev | next)
2000/1021    
}; 
 
static Dirtab mousedir[]={ 
	"mouse",	{Qmouse},		0,			0666, 
	"mousein",	{Qmousein},		0,			0220, 
2000/1214    
	"mousectl",	{Qmousectl},	0,			0660, 
2001/0529    
	".",			{Qdir, 0, QTDIR},	0,	DMDIR|0555, 
	"mouse",		{Qmouse},		0,	0666, 
	"mousein",	{Qmousein},		0,	0220, 
	"mousectl",	{Qmousectl},		0,	0660, 
2000/1021    
}; 
 
static uchar buttonmap[8] = { 
2001/0115/sys/src/9/bitsy/devpenmouse.c:145,1762001/0529/sys/src/9/bitsy/devpenmouse.c:146,168
2000/1021    
	return devattach('m', spec); 
} 
 
static Chan* 
penmouseclone(Chan *c, Chan *nc) 
2001/0529    
static Walkqid* 
penmousewalk(Chan *c, Chan *nc, char **name, int nname) 
2000/1021    
{ 
	nc = devclone(c, nc); 
	if(c->qid.path != CHDIR) 
		incref(&mouse); 
	return nc; 
2001/0529    
	return devwalk(c, nc, name, nname, mousedir, nelem(mousedir), devgen); 
2000/1021    
} 
 
static int 
penmousewalk(Chan *c, char *name) 
2001/0529    
penmousestat(Chan *c, uchar *db, int n) 
2000/1021    
{ 
	return devwalk(c, name, mousedir, nelem(mousedir), devgen); 
2001/0529    
	return devstat(c, db, n, mousedir, nelem(mousedir), devgen); 
2000/1021    
} 
 
static void 
penmousestat(Chan *c, char *db) 
{ 
	devstat(c, db, mousedir, nelem(mousedir), devgen); 
} 
                 
static Chan* 
penmouseopen(Chan *c, int omode) 
{ 
	switch(c->qid.path){ 
	case CHDIR: 
2001/0529    
	switch((ulong)c->qid.path){ 
	case Qdir: 
2000/1021    
		if(omode != OREAD) 
			error(Eperm); 
		break; 
2001/0115/sys/src/9/bitsy/devpenmouse.c:214,2202001/0529/sys/src/9/bitsy/devpenmouse.c:206,212
2000/1021    
static void 
penmouseclose(Chan *c) 
{ 
	if(c->qid.path!=CHDIR && (c->flag&COPEN)){ 
2001/0529    
	if(c->qid.path != Qdir && (c->flag&COPEN)){ 
2000/1021    
		lock(&mouse); 
		if(c->qid.path == Qmouse) 
			mouse.open = 0; 
2001/0115/sys/src/9/bitsy/devpenmouse.c:235,2422001/0529/sys/src/9/bitsy/devpenmouse.c:227,234
2000/1021    
	static int map[8] = {0, 4, 2, 6, 1, 5, 3, 7 }; 
	Mousestate m; 
 
	switch(c->qid.path){ 
	case CHDIR: 
2001/0529    
	switch((ulong)c->qid.path){ 
	case Qdir: 
2000/1021    
		return devdirread(c, va, n, mousedir, nelem(mousedir), devgen); 
2000/1214    
 
	case Qmousectl: 
2001/0115/sys/src/9/bitsy/devpenmouse.c:334,3412001/0529/sys/src/9/bitsy/devpenmouse.c:326,333
2000/1021    
	int nf, b; 
 
	p = va; 
	switch(c->qid.path){ 
	case CHDIR: 
2001/0529    
	switch((ulong)c->qid.path){ 
	case Qdir: 
2000/1021    
		error(Eisdir); 
 
	case Qmousectl: 
2001/0115/sys/src/9/bitsy/devpenmouse.c:419,4252001/0529/sys/src/9/bitsy/devpenmouse.c:411,416
2000/1021    
	penmousereset, 
	penmouseinit, 
	penmouseattach, 
	penmouseclone, 
	penmousewalk, 
	penmousestat, 
	penmouseopen, 


source code copyright © 1990-2005 Lucent Technologies; see license
Plan 9 distribution
comments to russ cox (rsc@swtch.com)