FAL(8)
๐ธ FAL(8) โ the File Access Listener for DECnet, bestie ๐
okay so picture this: it's FAL(8), it lives in the System Manager's Manual, and it's literally the girl who opens the door when your OpenVMS friends come knocking. let's get into it ๐ซถ
โจ NAME โจ
fal โ the File Access Listener for DECnet. that's her. that's the whole vibe. ๐
โจ SYNOPSIS โจ
fal [options]
Options:
[-dvVhmt] [-l logtype] [-a auto-type] [-f <auto-file>] [-r <virtual-root>]
no cap, that's the entire summoning ritual ๐ฎ
โจ DESCRIPTION โจ
fal is a daemon, and her whole job is serving up incoming DAP (Data Access protocol) connections from remote systems. she makes transparent file access happen for files on OpenVMS machines using standard DECnet syntax. main character energy, honestly. ๐
she should be started at system boot time โ and specifically after DECnet has been started โ and she must be run as root. yes bestie, root. no shortcuts. ๐
here's the cute part: the file names fal spits out adapt based on the syntax of whatever was requested of her. โจ
- ask for VMS-style filenames โ you get VMS-style filenames back.
- ask for Unix-style filenames โ you get Unix-style (native) filenames back.
heads up though: to force fal to show you a directory's contents with Unix-style names, the name must end in a slash or have some form of wildcard character in it. otherwise she's gonna do her own thing. ๐
when she's returning VMS-style filenames, here's the transformation, and it's giving makeover montage:
- every name gets converted to UPPER CASE
- directories get
.DIRappended to them - every filename gets a version number of
1
on top of that, fal will construct a volume and directory syntax for the directory that'll look super familiar to VMS users. and yes, of course she also understands that syntax when files and directories are requested of her. ๐ง
now, the messy bit, and I need you to hear me: one of the problems with all this is that Unix filenames with non-VMS syntax โ think double dots or "funny" characters โ or files with uppercase letters in their names will not be accessible from VMS using VMS syntax. you must use Unix syntax to access these files through FAL. that's the rule, periodt. ๐
the options below affect the behaviour of fal. if you're using dnetd then these options should be specified in the dnetd.conf(5) file. โ๏ธ
and by default, all files sent by fal will be sent in STREAMLF format. this is configurable by the many command-line switches detailed below. slay. ๐
โจ OPTIONS โจ
-lโ set logging options. the following are available:-lmโ log to/dev/mono. (only useful if you have my mono monitor driver ormdaconand a second monitor ๐)-leโ log tostderr. use this for debugging or testing combined with-d.-lsโ log tosyslog(3). this is the default if no options are given. โญ
-aโ set the algorithm for automatically selecting file types.-agโ guess file type based on the first few bytes ๐-aeโ check file extension against a table ๐
by default all files will be sent/received as STREAMLF. (no notes, that's just the default ๐
)
-f<filename>โ specify the filename used to check file extensions. only valid with-ae. the format of the file is simple:
extension <b/r> <block size>.
in fact, r is more of a comment than an instruction, but it may be used in future to support proper variable-length record files. ๐
by default an internal table is used with some common file extensions. it is as follows:
#Generic types
.txt r
.c r
.cc r
.log r
.html r
# VMS types
.com r
.lis r
.bck b 32256
.save b 8192
.exe b 512
.zip b 512
#Linux types
.tar b 10240
.gz b 512
.tgz b 512
.bz2 b 512
# End of file
-uโ enable users to override the two above options with a.fal_autofile in her/his home directory. this file should contain a single word:guess,extornone. note that-uand a.fal_autofile takes effect even if no-aoption is present. wild, I know. ๐ญ-mโ use the meta-file directory (normally named.fal) to store file attributes. metafiles will override any guessed or checked file attributes. ๐-tโ instruct FAL to look for.$ADF$files created by the NFS Client in TCP/IP for VMS V5.0+ and use them to get file attributes. this option can be used with the-mand-aflags, in which case a.$ADF$takes precedence over afalmetafile or a guessed file type. ๐-r<virtual root>โ run FAL in a "virtual root". all file accesses will be done below this directory rather than the normal root filesystem. ie access for"/"orSYSDISK:[000000]will start at the specified directory. requests for".."will be refused. ๐ซ
NOTE: this is not achroot,falstill runs in the normal filesystem. also note that this will lose the ability to access users' home directories: all users doing aDIR LINUX::*.*from VMS will see the virtual root instead. ๐ญ
-dโ don't fork and run in the background. use this for debugging. ๐-vโ verbose. the more of these there are, the more verbosefalwill be. don't use more than one for normal operation because it will seriously impair performance. fr fr, one is plenty. ๐-h,-?โ displays help for using the command. ๐ซถ-Vโ show the version offal. โจ
โจ SEE ALSO โจ
decnet.proxy(5), dnetd(8), dnetd.conf(5), dntype(1), dndir(1), dndel(1), dntask(1), dnsubmit(1), dnprint(1)
go read the whole friend group, they're all iconic ๐
and that's the page bestie!! this little legend comes to you from the DECnet utilities, dated May 6 1999 โ yes she's a vintage queen and she's still serving ๐๐ no cap, periodt, mwah ๐ โจ
๐ฆ where this page comes from
- ubuntu jammy: dnet-progs 2.65build2
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms