xref: /minix3/minix/lib/libc/sys/truncate.c (revision 433d6423c39e34ec4b79c950597bb2d236f886be)
1*433d6423SLionel Sambuc #include <sys/cdefs.h>
2*433d6423SLionel Sambuc #include "namespace.h"
3*433d6423SLionel Sambuc #include <lib.h>
4*433d6423SLionel Sambuc 
5*433d6423SLionel Sambuc #include <minix/u64.h>
6*433d6423SLionel Sambuc #include <string.h>
7*433d6423SLionel Sambuc #include <unistd.h>
8*433d6423SLionel Sambuc 
truncate(const char * _path,off_t _length)9*433d6423SLionel Sambuc int truncate(const char *_path, off_t _length)
10*433d6423SLionel Sambuc {
11*433d6423SLionel Sambuc   message m;
12*433d6423SLionel Sambuc 
13*433d6423SLionel Sambuc   memset(&m, 0, sizeof(m));
14*433d6423SLionel Sambuc   m.m_lc_vfs_truncate.name = (vir_bytes)_path;
15*433d6423SLionel Sambuc   m.m_lc_vfs_truncate.len = strlen(_path)+1;
16*433d6423SLionel Sambuc   m.m_lc_vfs_truncate.offset = _length;
17*433d6423SLionel Sambuc 
18*433d6423SLionel Sambuc   return(_syscall(VFS_PROC_NR, VFS_TRUNCATE, &m));
19*433d6423SLionel Sambuc }
20