diff --git a/rtl/freebsd/freebsd.pas b/rtl/freebsd/freebsd.pas index 5f9148391b..d477bf1764 100644 --- a/rtl/freebsd/freebsd.pas +++ b/rtl/freebsd/freebsd.pas @@ -185,6 +185,10 @@ Type function kse_release(timeout: PTimeSpec): cInt; extdecl; function kse_switchin(tmbx: PKseThrMailBox; flags: cInt): cInt; extdecl; +{$ifndef FPC_USE_LIBC} +function fpgetfsstat(buf:pstatfs;bufsize:clong;flags:cint):cint; +{$endif} + Const MAP_FILE = $0000; { map from file (default) } MAP_ANON = $1000; { allocated from memory, swap space } @@ -294,6 +298,10 @@ begin kse_switchin:=do_SysCall(syscall_nr_kse_switchin, TSysParam(tmbx), TSysParam(flags)); end; +function fpgetfsstat(buf:pstatfs;bufsize:clong;flags:cint):cint; +begin + fpgetfsstat:=do_syscall(syscall_nr_getfsstat,TSysParam(buf),TSysParam(Bufsize),TSysParam(Flags)); +end; {$ENDIF} end. diff --git a/rtl/freebsd/sysnr.inc b/rtl/freebsd/sysnr.inc index cba80e702b..336890adf4 100644 --- a/rtl/freebsd/sysnr.inc +++ b/rtl/freebsd/sysnr.inc @@ -231,6 +231,7 @@ syscall_nr_getdirentries =196; } {More or less checked/in use FreeBSD syscalls} + syscall_nr_getfsstat = 18; syscall_nr_readv = 120; syscall_nr_writev = 121; syscall_nr_pread = 173;