PCI: adds device-specific data pointer
[akaros.git] / user / bsd / gethostname.c
1 /* 
2  * This file is part of the UCB release of Plan 9. It is subject to the license
3  * terms in the LICENSE file found in the top-level directory of this
4  * distribution and at http://akaros.cs.berkeley.edu/files/Plan9License. No
5  * part of the UCB release of Plan 9, including this file, may be copied,
6  * modified, propagated, or distributed except according to the terms contained
7  * in the LICENSE file.
8  */
9 /* posix */
10 #include <sys/types.h>
11 #include <unistd.h>
12 #include <stdlib.h>
13 #include <fcntl.h>
14 #include <string.h>
15
16 #include "priv.h"
17
18 int
19 gethostname(char *name, size_t namelen)
20 {
21         int n, fd;
22         char buf[128];
23
24         fd = open("/dev/sysname", O_RDONLY);
25         if(fd < 0)
26                 return -1;
27         n = read(fd, buf, sizeof(buf)-1);
28         close(fd);
29         if(n <= 0)
30                 return -1;
31         buf[n] = 0;
32         strncpy(name, buf, namelen);
33         name[namelen-1] = 0;
34         return 0;
35 }