diff options
Diffstat (limited to 'sys/fio/fstatl.x')
-rw-r--r-- | sys/fio/fstatl.x | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/sys/fio/fstatl.x b/sys/fio/fstatl.x new file mode 100644 index 00000000..3b4fdd26 --- /dev/null +++ b/sys/fio/fstatl.x @@ -0,0 +1,31 @@ +# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc. + +include <config.h> +include <syserr.h> +include <error.h> +include <fset.h> +include <fio.h> + +# FSTATL -- Return a file status value of type long integer (l). + +long procedure fstatl (fd, what) + +int fd, what +int ffilsz() +include <fio.com> + +begin + fp = fiodes[fd] + if (fd <= 0 || fp == NULL) + iferr (call syserr (SYS_FILENOTOPEN)) + call erract (EA_FATAL) + + switch (what) { + case F_FILESIZE: + FILSIZE(fp) = ffilsz (fd) + return (FILSIZE(fp)) + default: + iferr (call filerr (FNAME(fp), SYS_FSTATUNKPAR)) + call erract (EA_FATAL) + } +end |