aboutsummaryrefslogtreecommitdiff
path: root/sys/fmio/fmlfstt.x
diff options
context:
space:
mode:
Diffstat (limited to 'sys/fmio/fmlfstt.x')
-rw-r--r--sys/fmio/fmlfstt.x38
1 files changed, 38 insertions, 0 deletions
diff --git a/sys/fmio/fmlfstt.x b/sys/fmio/fmlfstt.x
new file mode 100644
index 00000000..951c44c2
--- /dev/null
+++ b/sys/fmio/fmlfstt.x
@@ -0,0 +1,38 @@
+# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc.
+
+include <config.h>
+include <mach.h>
+include <fio.h>
+include "fmio.h"
+
+# FM_LFSTATI -- Stat an lfile.
+
+procedure fm_lfstati (lf, param, lvalue)
+
+pointer lf #I lfile descriptor
+int param #I parameter code
+long lvalue #O parameter value
+
+pointer fm
+int chan
+
+begin
+ fm = LF_FM(lf)
+ chan = FM_CHAN(fm)
+
+ # Only the file size differs for each lfile.
+ switch (param) {
+ case FSTT_FILSIZE:
+ lvalue = LF_FSIZE(lf)
+ case FSTT_BLKSIZE:
+ lvalue = FM_SZBPAGE(fm)
+ case FSTT_OPTBUFSIZE:
+ lvalue = FM_OPTBUFSIZE(fm)
+ case FSTT_MAXBUFSIZE:
+ lvalue = FM_MAXBUFSIZE(fm)
+ }
+
+ # For text lfiles, things appear to be SZB_CHAR larger.
+ if (and (LF_FLAGS(lf), LFF_TEXTFILE) != 0)
+ lvalue = lvalue * SZB_CHAR
+end