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

1998/0731/port/devcons.c (diff list | history)

1998/0710/sys/src/9/port/devcons.c:31,371998/0731/sys/src/9/port/devcons.c:31,37 (short | long | prev | next)
1991/1109    
 
1997/0327    
static ulong	randomread(void*, ulong); 
1996/1031    
static void	randominit(void); 
static void	seednrand(void); 
1998/0731    
static void	seedrand(void); 
1998/0617    
static long	qtimer(long, vlong); 
1995/0910    
 
1998/0617    
int qtimerentry = -1; 
1998/0710/sys/src/9/port/devcons.c:462,4731998/0731/sys/src/9/port/devcons.c:462,467
1997/0327    
static Chan* 
1990/0227    
consattach(char *spec) 
{ 
1996/1031    
	static int seeded; 
                 
	if(!seeded){ 
		seednrand(); 
		seeded = 1; 
	} 
1990/0227    
	return devattach('c', spec); 
} 
 
1998/0710/sys/src/9/port/devcons.c:945,9511998/0731/sys/src/9/port/devcons.c:939,945
1995/0910    
} rb; 
 
1996/1031    
static void 
seednrand(void) 
1998/0731    
seedrand(void) 
1996/1031    
{ 
1997/0327    
	randomread((void*)&rb.randn, sizeof(rb.randn)); 
1996/1031    
} 
1998/0710/sys/src/9/port/devcons.c:953,9621998/0731/sys/src/9/port/devcons.c:947,966
1996/1029    
int 
nrand(int n) 
{ 
1998/0731    
	if(rb.randn == 0) 
		seedrand(); 
1996/1029    
	rb.randn = rb.randn*1103515245 + 12345 + MACHP(0)->ticks; 
	return (rb.randn>>16) % n; 
} 
1995/0910    
 
1998/0731    
int 
rand(void) 
{ 
	nrand(1); 
	return rb.randn; 
} 
 
 
1995/0913    
static int 
rbnotfull(void*) 
{ 
1998/0710/sys/src/9/port/devcons.c:1073,10791998/0731/sys/src/9/port/devcons.c:1077,1084
1998/0617    
} 
 
static long 
qtimer(long n, vlong offset) { 
1998/0731    
qtimer(long n, vlong offset) 
{ 
1998/0617    
	/* block until time ≥ offset; 
	 * add n to offset 
	 * return increment to offset (i.e., n) 


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