xref: /plan9/sys/src/libc/9sys/sysname.c (revision 7dd7cddf99dd7472612f1413b4da293630e6b1bc)
1*7dd7cddfSDavid du Colombier #include	<u.h>
2*7dd7cddfSDavid du Colombier #include	<libc.h>
3*7dd7cddfSDavid du Colombier 
4*7dd7cddfSDavid du Colombier char*
sysname(void)5*7dd7cddfSDavid du Colombier sysname(void)
6*7dd7cddfSDavid du Colombier {
7*7dd7cddfSDavid du Colombier 	int f, n;
8*7dd7cddfSDavid du Colombier 	static char b[128];
9*7dd7cddfSDavid du Colombier 
10*7dd7cddfSDavid du Colombier 	if(b[0])
11*7dd7cddfSDavid du Colombier 		return b;
12*7dd7cddfSDavid du Colombier 
13*7dd7cddfSDavid du Colombier 	f = open("#c/sysname", 0);
14*7dd7cddfSDavid du Colombier 	if(f >= 0) {
15*7dd7cddfSDavid du Colombier 		n = read(f, b, sizeof(b)-1);
16*7dd7cddfSDavid du Colombier 		if(n > 0)
17*7dd7cddfSDavid du Colombier 			b[n] = 0;
18*7dd7cddfSDavid du Colombier 		close(f);
19*7dd7cddfSDavid du Colombier 	}
20*7dd7cddfSDavid du Colombier 	return b;
21*7dd7cddfSDavid du Colombier }
22