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

boot/nopsession.c (diff list | history)

1992/0318/sys/src/9/boot/nopsession.c:4,561992/0319/sys/src/9/boot/nopsession.c:4,58 (short | long)
1992/0318    
#include "../boot/boot.h" 
 
static Fcall	hdr; 
static char	buf[4*1024]; 
 
void 
nop(int fd) 
1992/0319    
static void 
rpc(int fd, int type) 
1992/0318    
{ 
	long n; 
1992/0319    
	int n, l; 
	char buf[128], *p; 
1992/0318    
 
	print("nop..."); 
	hdr.type = Tnop; 
1992/0319    
	hdr.type = type; 
1992/0318    
	hdr.tag = NOTAG; 
	n = convS2M(&hdr, buf); 
	if(write(fd, buf, n) != n) 
		fatal("write nop"); 
	n = read(fd, buf, sizeof buf); 
	if(n==2 && buf[0]=='O' && buf[1]=='K') 
		n = read(fd, buf, sizeof buf); 
	if(n <= 0) 
		fatal("read nop"); 
	if(convM2S(buf, &hdr, n) == 0) { 
		print("n = %d; buf = %#.2x %#.2x %#.2x %#.2x\n", 
			n, buf[0], buf[1], buf[2], buf[3]); 
		fatal("format nop"); 
1992/0319    
		fatal("write rpc"); 
 
	print("..."); 
	p = buf; 
	l = 0; 
	while(l < 3) { 
		n = read(fd, p, 3); 
		if(n <= 0) 
			fatal("read rpc"); 
		if(n == 2 && l == 0 && buf[0] == 'O' && buf[1] == 'K') 
			continue; 
		p += n; 
		l += n; 
1992/0318    
	} 
	if(hdr.type != Rnop) 
		fatal("not Rnop"); 
1992/0319    
	if(convM2S(buf, &hdr, n) == 0){ 
		print("%ux %ux %ux\n", buf[0], buf[1], buf[2]); 
		fatal("rpc format"); 
	} 
	if(hdr.tag != NOTAG) 
		fatal("rpc tag not NOTAG"); 
	if(hdr.type == Rerror){ 
		print("error %s;", hdr.ename); 
		fatal("remote error"); 
	} 
	if(hdr.type != type+1) 
		fatal("not reply"); 
1992/0318    
} 
 
void 
session(int fd) 
1992/0319    
nop(int fd) 
1992/0318    
{ 
	long n; 
1992/0319    
	print("nop"); 
	rpc(fd, Tnop); 
} 
1992/0318    
 
	print("session..."); 
	hdr.type = Tsession; 
	hdr.tag = NOTAG; 
	n = convS2M(&hdr, buf); 
	if(write(fd, buf, n) != n) 
		fatal("write session"); 
	n = read(fd, buf, sizeof buf); 
	if(n <= 0) 
		fatal("read session"); 
	if(convM2S(buf, &hdr, n) == 0) 
		fatal("format session"); 
	if(hdr.type == Rerror){ 
		print("error %s;", hdr.ename); 
		fatal(hdr.ename); 
	} 
	if(hdr.type != Rsession) 
		fatal("not Rsession"); 
1992/0319    
void 
session(int fd) 
{ 
	print("session"); 
	rpc(fd, Tsession); 
1992/0318    
} 
1992/0319/sys/src/9/boot/nopsession.c:1,51993/0330/sys/src/9/boot/nopsession.c:1,6 (short | long)
1992/0318    
#include <u.h> 
#include <libc.h> 
1993/0330    
#include <auth.h> 
1992/0318    
#include <fcall.h> 
#include "../boot/boot.h" 
 
1992/0319/sys/src/9/boot/nopsession.c:48,581993/0330/sys/src/9/boot/nopsession.c:49,52
1992/0318    
{ 
1992/0319    
	print("nop"); 
	rpc(fd, Tnop); 
} 
1992/0318    
                 
1992/0319    
void 
session(int fd) 
{ 
	print("session"); 
	rpc(fd, Tsession); 
1992/0318    
} 
1993/0330/sys/src/9/boot/nopsession.c:4,92001/0527/sys/src/9/boot/nopsession.c:4,12 (short | long)
1992/0318    
#include <fcall.h> 
#include "../boot/boot.h" 
 
2001/0527    
/*BUG transition*/ 
int client9p=2; 
int kernel9p=2; 
1992/0318    
static Fcall	hdr; 
 
1992/0319    
static void 
2001/0527/sys/src/9/boot/nopsession.c:4,122002/0115/sys/src/9/boot/nopsession.c:4,9 (short | long)
Remove 9P2000 transition code.
rsc Fri Mar 4 12:44:25 2005
1992/0318    
#include <fcall.h> 
#include "../boot/boot.h" 
 
2001/0527    
/*BUG transition*/ 
int client9p=2; 
int kernel9p=2; 
1992/0318    
static Fcall	hdr; 
 
1992/0319    
static void 


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