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

1992/0610/boot/aux.c (diff list | history)

1992/0317/sys/src/9/boot/aux.c:107,1121992/0318/sys/src/9/boot/aux.c:107,113 (short | long)
1992/0317    
{ 
	char *srvname; 
	int f; 
1992/0318    
	char buf[2*NAMELEN]; 
1992/0317    
 
	srvname = strrchr(name, '/'); 
	if(srvname) 
1992/0318/sys/src/9/boot/aux.c:143,1451992/0530/sys/src/9/boot/aux.c:143,161 (short | long)
1992/0317    
	} 
	return n; 
} 
1992/0530    
 
void 
getconffile(char *conffile, char *terminal) 
{ 
	char *p, *q; 
 
	*conffile = 0; 
	p = terminal; 
	if((p = strchr(p, ' ')) == 0 || p[1] == ' ' || p[1] == 0) 
		return; 
	p++; 
	for(q = p; *q && *q != ' '; q++) 
		; 
	while(p < q) 
		*conffile++ = *p++; 
} 
1992/0530/sys/src/9/boot/aux.c:131,1421992/0609/sys/src/9/boot/aux.c:131,144 (short | long)
1992/0317    
	int n; 
	char buf[256]; 
 
1992/0609    
	alarm(60*1000); 
1992/0317    
	do{ 
		print("%s[%s]: ", prompt, *def ? def : "no default"); 
		n = read(0, buf, len); 
	}while(n==0); 
1992/0609    
	alarm(0); 
1992/0317    
	if(n < 0) 
		fatal("can't read #c/cons; please reboot"); 
1992/0609    
		fatal("can't read #c/cons or timeout; please reboot"); 
1992/0317    
	if(n != 1){ 
		buf[n-1] = 0; 
		strcpy(def, buf); 
1992/0609/sys/src/9/boot/aux.c:71,841992/0610/sys/src/9/boot/aux.c:71,82 (short | long)
1992/0317    
} 
 
int 
readenv(char *name, char *buf, int len) 
1992/0610    
readfile(char *name, char *buf, int len) 
1992/0317    
{ 
	int f, n; 
	char ename[2*NAMELEN]; 
 
	sprint(ename, "#e/%s", name); 
	buf[0] = 0; 
	f = open(ename, OREAD); 
1992/0610    
	f = open(name, OREAD); 
1992/0317    
	if(f < 0) 
		return -1; 
	n = read(f, buf, len-1); 
1992/0609/sys/src/9/boot/aux.c:146,1561992/0610/sys/src/9/boot/aux.c:144,161
1992/0317    
	return n; 
} 
1992/0530    
 
1992/0610    
/* 
 *  get second word of the terminal environment variable.   If it 
 *  ends in "boot", get work of that part. 
 */ 
1992/0530    
void 
getconffile(char *conffile, char *terminal) 
{ 
	char *p, *q; 
1992/0610    
	char *s; 
	int n; 
1992/0530    
 
1992/0610    
	s = conffile; 
1992/0530    
	*conffile = 0; 
	p = terminal; 
	if((p = strchr(p, ' ')) == 0 || p[1] == ' ' || p[1] == 0) 
1992/0609/sys/src/9/boot/aux.c:160,1631992/0610/sys/src/9/boot/aux.c:165,174
1992/0530    
		; 
	while(p < q) 
		*conffile++ = *p++; 
1992/0610    
	*conffile = 0; 
 
	/* dump a trailig boot */ 
	n = strlen(s); 
	if(n > 4 && strcmp(s + n - 4, "boot") == 0) 
		*(s+n-4) = 0; 
1992/0530    
} 
1992/0610/sys/src/9/boot/aux.c:129,1401992/0617/sys/src/9/boot/aux.c:129,142 (short | long)
1992/0317    
	int n; 
	char buf[256]; 
 
1992/0609    
	alarm(60*1000); 
1992/0617    
	if(cpuflag) 
		alarm(60*1000); 
1992/0317    
	do{ 
		print("%s[%s]: ", prompt, *def ? def : "no default"); 
		n = read(0, buf, len); 
	}while(n==0); 
1992/0609    
	alarm(0); 
1992/0617    
	if(cpuflag) 
		alarm(0); 
1992/0317    
	if(n < 0) 
1992/0609    
		fatal("can't read #c/cons or timeout; please reboot"); 
1992/0317    
	if(n != 1){ 
1992/0617/sys/src/9/boot/aux.c:148,1541992/0625/sys/src/9/boot/aux.c:148,154 (short | long)
1992/0530    
 
1992/0610    
/* 
 *  get second word of the terminal environment variable.   If it 
 *  ends in "boot", get work of that part. 
1992/0625    
 *  ends in "boot", get rid of that part. 
1992/0610    
 */ 
1992/0530    
void 
getconffile(char *conffile, char *terminal) 
1992/0617/sys/src/9/boot/aux.c:169,1751992/0625/sys/src/9/boot/aux.c:169,175
1992/0530    
		*conffile++ = *p++; 
1992/0610    
	*conffile = 0; 
 
	/* dump a trailig boot */ 
1992/0625    
	/* dump a trailing boot */ 
1992/0610    
	n = strlen(s); 
	if(n > 4 && strcmp(s + n - 4, "boot") == 0) 
		*(s+n-4) = 0; 
1992/0625/sys/src/9/boot/aux.c:86,911993/0330/sys/src/9/boot/aux.c:86,104 (short | long)
1992/0317    
	return 0; 
} 
 
1993/0330    
int 
writefile(char *name, char *buf, int len) 
{ 
	int f, n; 
 
	f = open(name, OWRITE); 
	if(f < 0) 
		return -1; 
	n = write(f, buf, len); 
	close(f); 
	return (n != len) ? -1 : 0; 
} 
 
1992/0317    
void 
setenv(char *name, char *val) 
{ 
1993/0330/sys/src/9/boot/aux.c:120,1251993/0406/sys/src/9/boot/aux.c:120,126 (short | long)
1992/0317    
	int f; 
1992/0318    
	char buf[2*NAMELEN]; 
1992/0317    
 
1993/0406    
	print("post(%s)...", name); 
1992/0317    
	srvname = strrchr(name, '/'); 
	if(srvname) 
		srvname++; 
1993/0406/sys/src/9/boot/aux.c:120,1261993/0407/sys/src/9/boot/aux.c:120,125 (short | long)
1992/0317    
	int f; 
1992/0318    
	char buf[2*NAMELEN]; 
1992/0317    
 
1993/0406    
	print("post(%s)...", name); 
1992/0317    
	srvname = strrchr(name, '/'); 
	if(srvname) 
		srvname++; 
1993/0407/sys/src/9/boot/aux.c:136,1411993/0901/sys/src/9/boot/aux.c:136,150 (short | long)
1992/0317    
	close(f); 
} 
 
1993/0901    
static int 
catchint(void *a, char *note) 
{ 
	USED(a); 
	if(strcmp(note, "alarm") == 0) 
		return 1; 
	return 0; 
} 
 
1992/0317    
int 
outin(char *prompt, char *def, int len) 
{ 
1993/0407/sys/src/9/boot/aux.c:142,1571993/0901/sys/src/9/boot/aux.c:151,170
1992/0317    
	int n; 
	char buf[256]; 
 
1993/0901    
	atnotify(catchint, 1); 
1992/0617    
	if(cpuflag) 
		alarm(60*1000); 
1993/0901    
		alarm(15*1000); 
1992/0317    
	do{ 
		print("%s[%s]: ", prompt, *def ? def : "no default"); 
		n = read(0, buf, len); 
1993/0901    
		if(cpuflag) 
			alarm(15*1000); 
1992/0317    
	}while(n==0); 
1992/0617    
	if(cpuflag) 
		alarm(0); 
1993/0901    
	atnotify(catchint, 0); 
1992/0317    
	if(n < 0) 
1992/0609    
		fatal("can't read #c/cons or timeout; please reboot"); 
1993/0901    
		return 1; 
1992/0317    
	if(n != 1){ 
		buf[n-1] = 0; 
		strcpy(def, buf); 
1993/0901/sys/src/9/boot/aux.c:172,2021997/0327/sys/src/9/boot/aux.c:172,190 (short | long)
1992/0317    
	return n; 
} 
1992/0530    
 
1992/0610    
/* 
 *  get second word of the terminal environment variable.   If it 
1992/0625    
 *  ends in "boot", get rid of that part. 
1992/0610    
 */ 
1992/0530    
void 
getconffile(char *conffile, char *terminal) 
1997/0327    
int 
parsefields(char *lp, char **fields, int n, char *sep) 
1992/0530    
{ 
	char *p, *q; 
1992/0610    
	char *s; 
	int n; 
1997/0327    
	int i; 
1992/0530    
 
1992/0610    
	s = conffile; 
1992/0530    
	*conffile = 0; 
	p = terminal; 
	if((p = strchr(p, ' ')) == 0 || p[1] == ' ' || p[1] == 0) 
		return; 
	p++; 
	for(q = p; *q && *q != ' '; q++) 
		; 
	while(p < q) 
		*conffile++ = *p++; 
1992/0610    
	*conffile = 0; 
                 
1992/0625    
	/* dump a trailing boot */ 
1992/0610    
	n = strlen(s); 
	if(n > 4 && strcmp(s + n - 4, "boot") == 0) 
		*(s+n-4) = 0; 
1997/0327    
	for(i=0; lp && *lp && i<n; i++){ 
		while(*lp && strchr(sep, *lp) != 0) 
			*lp++=0; 
		if(*lp == 0) 
			break; 
		fields[i]=lp; 
		while(*lp && strchr(sep, *lp) == 0) 
			lp++; 
	} 
	return i; 
1992/0530    
} 
1997/0327/sys/src/9/boot/aux.c:171,1902000/0308/sys/src/9/boot/aux.c:171,173 (short | long)
1992/0317    
	} 
	return n; 
} 
1992/0530    
                 
1997/0327    
int 
parsefields(char *lp, char **fields, int n, char *sep) 
1992/0530    
{ 
1997/0327    
	int i; 
1992/0530    
                 
1997/0327    
	for(i=0; lp && *lp && i<n; i++){ 
		while(*lp && strchr(sep, *lp) != 0) 
			*lp++=0; 
		if(*lp == 0) 
			break; 
		fields[i]=lp; 
		while(*lp && strchr(sep, *lp) == 0) 
			lp++; 
	} 
	return i; 
1992/0530    
} 
2000/0308/sys/src/9/boot/aux.c:54,722000/1021/sys/src/9/boot/aux.c:54,66 (short | long)
1992/0317    
void 
warning(char *s) 
{ 
	char buf[ERRLEN]; 
                 
	errstr(buf); 
	fprint(2, "boot: %s: %s\n", s, buf); 
2000/1021    
	fprint(2, "boot: %s: %r\n", s); 
1992/0317    
} 
 
void 
fatal(char *s) 
{ 
	char buf[ERRLEN]; 
                 
	errstr(buf); 
	fprint(2, "boot: %s: %s\n", s, buf); 
2000/1021    
	fprint(2, "boot fatal: %s: %r\n", s); 
1992/0317    
	exits(0); 
} 
 
2000/1021/sys/src/9/boot/aux.c:54,662001/0527/sys/src/9/boot/aux.c:54,74 (short | long)
1992/0317    
void 
warning(char *s) 
{ 
2000/1021    
	fprint(2, "boot: %s: %r\n", s); 
2001/0527    
	char buf[ERRMAX]; 
 
	buf[0] = '\0'; 
	errstr(buf, sizeof buf); 
	fprint(2, "boot: %s: %s\n", s, buf); 
1992/0317    
} 
 
void 
fatal(char *s) 
{ 
2000/1021    
	fprint(2, "boot fatal: %s: %r\n", s); 
2001/0527    
	char buf[ERRMAX]; 
 
	buf[0] = '\0'; 
	errstr(buf, sizeof buf); 
	fprint(2, "boot: %s: %s\n", s, buf); 
1992/0317    
	exits(0); 
} 
 
2000/1021/sys/src/9/boot/aux.c:97,1052001/0527/sys/src/9/boot/aux.c:105,113
1992/0317    
setenv(char *name, char *val) 
{ 
	int f; 
	char ename[2*NAMELEN]; 
2001/0527    
	char ename[64]; 
1992/0317    
 
	sprint(ename, "#e/%s", name); 
2001/0527    
	snprint(ename, sizeof ename, "#e/%s", name); 
1992/0317    
	f = create(ename, 1, 0666); 
	if(f < 0) 
		return; 
2000/1021/sys/src/9/boot/aux.c:112,1182001/0527/sys/src/9/boot/aux.c:120,126
1992/0317    
{ 
	char *srvname; 
	int f; 
1992/0318    
	char buf[2*NAMELEN]; 
2001/0527    
	char buf[64]; 
1992/0317    
 
	srvname = strrchr(name, '/'); 
	if(srvname) 
2000/1021/sys/src/9/boot/aux.c:120,1262001/0527/sys/src/9/boot/aux.c:128,134
1992/0317    
	else 
		srvname = name; 
 
	sprint(buf, "#s/%s", srvname); 
2001/0527    
	snprint(buf, sizeof buf, "#s/%s", srvname); 
1992/0317    
	f = create(buf, 1, 0666); 
	if(f < 0) 
		fatal(buf); 


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