This submission contains an RT-11 program for reading ODS-1 (RSX) disks.
Contents of files may be copied to an RT-11 file or to the terminal.  The
program was originally developed under UNIX, and is written in C.  It has
been ported to RT-11 using the DECUS C compiler.  Since it uses `#define'
with arguments, it must be passed through the `mp' preprocessor before
compilation.  Note that if multiple files are to be copied with a single
command, you're likely to have the standard DECUS C problems related to
RT-11's pre-parsing of a command line if you use the `RUN PROG FOO BAR'
method of invoking the program.  Using the RUN command without arguments
and entering them in response to the C runtime system's `Argv:' prompt
will avoid this problem.  For details, refer to the DECUS C documentation.

GETRSX.COM is a command file which will build GETRSX.SAV.  Note that the
source file for `getrsx' is named GETRSX.SRC rather than GETRSX.C, since
`mp' is used to produce GETRSX.C.

The file GETRSX.DOC simply contains the UNIX manual pages for `getrsx',
and therefore contains some information that is not relevant to the RT-11
version of the program.

The .SAV file was produced by the old version of the compiler.  I don't
know offhand what sort of hardware configuration (i.e. EIS) it assumes,
so there is a chance that this particular .SAV file may not run on low-
end (e.g. 11/03, 11/10) systems.

The files STRCAT.C and STRCHR.C were necessary since the old version of
the DECUS C system didn't include the strcat() and strchr() functions.
They allegedly exist in the new version.

The other files on this distribution are used to emulate the UNIX `open',
`lseek', `read', and `write' system calls, by mapping them into RT-11
programmed requests.  At present, these versions of `read' and `lseek'
only work in multiples of 512 bytes.  These files are part of a larger
package which will provide C-callable versions of all (or nearly all)
the RT-11 programmed requests, and emulation of those UNIX system calls
which seem appropriate to emulate.  It's hoped that this package will be
ready for submission in its entirety to the Fall 1983 (or maybe Spring
1984) RT-11 SIG tape.

In addition to those listed in the BUGS section of the UNIX manual page,
the following limitations exist in the RT-11 implementation:  (1) There
is no attempt to fetch device drivers.  Any drivers needed must be LOADed
before the program is run.  (It may also be necessary for the USR to be
nonswapping; I'm not sure.  In any case, it can't hurt.)  (2) The current
version of getchn() uses the .CSTAT programmed request to look for a free
I/O channel.  Since .CSTAT is only supported under the FB and XM monitors,
the program will not run under SJ.  It would probably be straightforward
to rewrite getchn() [using .SAVESTATUS/.REOPEN, for example] so that it
could be used with the SJ monitor.  (3) Since argv[0] isn't set to anything
meaningful, `lsrsx' can't be used to get a directory listing.  Rather, one
must use the `-l' option with `getrsx'.  For example:

	.run getrsx
	Argv: -l dy0:[300,300]

The RT-11 version of `getrsx' does not presently sort directory listings,
as the UNIX version does.

The program has not been extensively tested under RT-11.  Please send
bug reports, comments, and such to:

	Mark Bartelt
	HSC Research Development Corporation
	555 University Avenue
	Toronto, Ontario  M5G 1X8
	416/597-1500 ext 4588   or   416/598-5982



PS:  I just noticed that image-mode transfers don't work correctly.  This
seems to be due to the fact that the DECUS C system's version of putc()
apparently tosses away any null characters that get passed to it, so they
never appear in the output file.  Perhaps the newer release works properly.
If not, there is probably a workaround, but I don't have the time just now
to change things.  Good luck!
��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������