0

I am working on a project where we are migrating from Open VMS to Unix/Linux. There's a functionality called "FDL" in open vms, which i want to achieve in Unix.

What FDL actually does is , it defines a certain set of attributes for a file or a record, like fixing some block size for a particular file, file organization as sequential, variable or relative, specifying record size in a file beforehand, specifying carriage return(escape sequence) for record etc.

How can i set these attributes before a file gets created in unix.

Preet
  • 21
  • 2
  • 1
    In general the *nix family of operating systems provides a file system capable of handling byte streams. There is no equivalent of [Files-11](https://en.wikipedia.org/wiki/Files-11) and [RMS](https://en.wikipedia.org/wiki/Record_Management_Services) which provide support for advanced concepts like _records_. Or indexes. Or file versions. File placement options, fragmentation control, ... . How much of the functionality of [FDL](http://h30266.www3.hpe.com/odl/vax/opsys/vmsos73/vmsos73/4506/4506pro_025.html) do you plan to implement? – HABO Jul 14 '20 at 15:54

1 Answers1

1

FDL is merely a syntax/descriptive method to set/view OpenVMS file attributes (metadata) which has no equivalent in typical Linux file systems. Those attributes are implemented by the (Files-11 / ODS) file system an acted on by RMS (the OpenVMS Record management Services) for which again there is no equivalent in Linux although there are packages (sector7).

So much more than an FDL question , this is an RMS question.

RMS offers 'record' access where a record is a blob of byte defined in the file which can be read sequentially, by number or by key (indexed file). The attributes mentioned in the question are to do with simple sequential access, but there Linux just offers a byte-stream method. The application is supposed to know how much to read / when to stop reading. Possibly a (record) terminator like (frequently) (linefeed) is used but that's about it (fscanf).

Other than using a 'parallel' meta file, or reserving an initial byte stream in your files there is no standard way to store metadata on how to use the bytestream in the file, and making them hard to use by other applications.

All this to say: No Can Do. Sorry.

E_net4
  • 27,810
  • 13
  • 101
  • 139
Hein
  • 1,453
  • 8
  • 8
  • RMS offers remote Decnet access, the OpenVMS file specification is node::disk:[dir]file.ext;version, this, in particular the node, extension and version does not exist under Linux. A Linux file can be x.y.z, while a OpenVMS file can be x. or x.txt or x.dat, but not x.txt.dat, nor x alone. – user2915097 Aug 01 '20 at 18:01
  • But it can be .dat if my memory serves me correctly? – Richard Hammond Jan 19 '21 at 20:22
  • Richard, files can and often do have a file extension '.dat' but there cannot be any other period or funky characters outside [A-Z0-9-$_] in the file name part in the original ODS-2 file system implementation. OpenVMS now does allow that with ODS-5 but it ends up being tricky to use on OpenVMS itself with escape charactets and the likes. For more information try for starters "$ help set proc /parse_style". After that -RTFM. – Hein Jan 21 '21 at 15:06