etc/services - sync with NetBSD-8
[minix.git] / minix / lib / libc / sys / stat.c
blobcd425f97dcd6127bf6ccd2b035d50893500d359a
1 #include <sys/cdefs.h>
2 #include "namespace.h"
3 #include <lib.h>
5 #include <sys/stat.h>
6 #include <string.h>
8 #ifdef __weak_alias
9 __weak_alias(_stat, __stat50);
10 __weak_alias(_lstat, __lstat50);
11 __weak_alias(_fstat, __fstat50);
13 __weak_alias(stat, __stat50);
14 __weak_alias(lstat, __lstat50);
15 __weak_alias(fstat, __fstat50);
16 #endif
18 int stat(const char *name, struct stat *buffer)
20 message m;
22 memset(&m, 0, sizeof(m));
23 m.m_lc_vfs_stat.len = strlen(name) + 1;
24 m.m_lc_vfs_stat.name = (vir_bytes)name;
25 m.m_lc_vfs_stat.buf = (vir_bytes)buffer;
27 return _syscall(VFS_PROC_NR, VFS_STAT, &m);
30 int fstat(int fd, struct stat *buffer)
32 message m;
34 memset(&m, 0, sizeof(m));
35 m.m_lc_vfs_fstat.fd = fd;
36 m.m_lc_vfs_fstat.buf = (vir_bytes)buffer;
38 return _syscall(VFS_PROC_NR, VFS_FSTAT, &m);
41 int lstat(const char *name, struct stat *buffer)
43 message m;
45 memset(&m, 0, sizeof(m));
46 m.m_lc_vfs_stat.len = strlen(name) + 1;
47 m.m_lc_vfs_stat.name = (vir_bytes)name;
48 m.m_lc_vfs_stat.buf = (vir_bytes)buffer;
50 return _syscall(VFS_PROC_NR, VFS_LSTAT, &m);