home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 8 Other / 08-Other.zip / hfsuo010.zip / hfsutils.txt < prev    next >
Text File  |  1997-07-25  |  25KB  |  657 lines

  1. ===============================================================================
  2. == hfsutils for DOS, Windows and OS/2                           Version 0.10 ==
  3. ===============================================================================
  4.  
  5. Table of Contents
  6. =================
  7.  
  8. 1     Introduction
  9. 2     Installing hfsutils
  10. 2.1     System requirements
  11. 2.2     Additional software
  12. 2.3     Installation instructions
  13. 3     Using the utilities
  14. 3.1     hmount - introduce a new HFS volume and make it current
  15. 3.2     humount - remove an HFS volume from the list of known volumes
  16. 3.3     hvol - display or change the current HFS volume
  17. 3.4     hls - list files in an HFS directory
  18. 3.5     hdir - display an HFS directory in long format
  19. 3.6     hcopy - copy files from or to an HFS volume
  20. 3.7     hdel - delete both forks of an HFS file
  21. 3.8     hrename - rename or move an HFS file or directory
  22. 3.9     hattrib - change HFS file or directory attributes
  23. 3.10    hcd - change working HFS directory
  24. 3.11    hpwd - print the full path of the current HFS working directory
  25. 3.12    hmkdir - create a new HFS directory
  26. 3.13    hrmdir - remove an empty HFS directory
  27. 3.14    hformat - create a new HFS filesystem and make it current
  28. 4     Usage notes
  29. 4.1     HFS pathnames
  30. 4.2     Wildcard expansion
  31. 4.3     Environment variables
  32. 4.4     Notes for DOS users
  33. 4.5     Notes for Windows95 users
  34. 4.6     Using Macintosh diskettes
  35. 5     Credits
  36. 6     Contacting the author
  37.  
  38.  
  39. 1 Introduction
  40. ==============
  41.  
  42. hfsutils is a collection of tools for accessing Macintosh
  43. HFS-formatted volumes.  HFS is the Hierarchical File System used on
  44. modern Macintosh computers.
  45.  
  46. The utilities were originally part of the hfsutils package for UNIX
  47. systems.  This port uses the emx programming environment.  There are
  48. binary versions for OS/2 and Windows 95/NT.  Both versions also run
  49. under DOS.
  50.  
  51. hfsutils is free software, distributed under the GNU General Public
  52. License.  Please see the file `COPYING' for details.
  53.  
  54.  
  55. 2 Installing hfsutils
  56. =====================
  57.  
  58.  
  59. 2.1 System requirements
  60. -----------------------
  61.  
  62. hfsutils requires a 386 processor or better.  Supported operating
  63. systems are DOS version 3 and higher, OS/2 2.0 and higher, and Win32
  64. (Windows 95/NT).
  65.  
  66.  
  67. 2.2 Additional software
  68. -----------------------
  69.  
  70. In order to use hfsutils under Windows 95/NT in native mode, you need
  71. the RSXNT extender.  This package is available as
  72.  
  73.     ftp://ftp.uni-bielefeld.de/pub/systems/msdos/misc/rsxnt131.zip
  74.  
  75. For OS/2, you need the emx runtime environment, available as
  76.  
  77.     ftp://ftp.leo.org/pub/comp/os/os2/leo/devtools/gnu/emx+gcc/emxrt.zip
  78.  
  79. Only the OS/2 parts of the runtime need to be installed, as hfsutils
  80. uses rsx under DOS.
  81.  
  82.  
  83. 2.3 Installation instructions
  84. -----------------------------
  85.  
  86. These are the steps for installing hfsutils.
  87.  
  88. 1.  Set the HOME environment variable to point to a directory where
  89.     hfsutils can store the file `hfs.cfg'.  This can be done by adding
  90.     a line like
  91.  
  92.         SET HOME=C:\HFSUTILS
  93.  
  94.     to the AUTOEXEC.BAT file (DOS and Windows95) or the CONFIG.SYS
  95.     file (OS/2).  Under Windows NT, environment variables are set in
  96.     the `System' settings of the Control Panel.  Note that the
  97.     directory has to be writable.
  98.  
  99. 2.  Add the directory where you put hfsutils to your PATH.  If you
  100.     want to avoid this, you can set the HFSUTILS variable to point to
  101.     this directory instead.
  102.  
  103.  
  104. 3 Using the utilities
  105. =====================
  106.  
  107. In this section, the term `DOS' refers to the PC environment (as
  108. opposed to the Macintosh environment).  This includes plain DOS, OS/2
  109. and Windows 95/NT.
  110.  
  111.  
  112. 3.1 hmount - introduce a new HFS volume and make it current
  113. -----------------------------------------------------------
  114.  
  115.     hmount <source-path> [<partition-no>]
  116.  
  117. hmount is used to introduce a new HFS volume.  A DOS pathname to the
  118. volume's source must be specified.  The source may be a drive letter
  119. or a regular file containing an HFS volume image.
  120.  
  121. If a partition number n is specified and the volume source is located
  122. on a partitioned medium, the nth HFS partition on the source will be
  123. mounted.  By default, the first HFS partition found is mounted.
  124.  
  125. The mounted volume becomes "current" so subsequent commands will refer
  126. to it.  The current working directory for the volume is set to the
  127. root of the volume.  This information is kept in a file named
  128. `hfs.cfg' in the home directory.
  129.  
  130. If the source medium is changed (e.g.  floppy or CD-ROM disc
  131. exchanged) after hmount has been called, subsequent HFS commands will
  132. fail until the original medium is replaced or a different volume is
  133. made current.  To use the same source path with the different medium,
  134. reissue the hmount command.
  135.  
  136. Examples:
  137.  
  138.     hmount A:
  139.  
  140. If a Macintosh floppy disk is available as A:, this command makes the
  141. floppy current for other HFS commands such as hls, hcd, hcopy, etc.
  142.  
  143.     hmount macdisk.bin
  144.  
  145. Mounts a volume that resides in the file `macdisk.bin'.
  146.  
  147.  
  148. Notes
  149. -----
  150.  
  151. Relative source pathnames are never made absolute, and so may cause
  152. problems if your current directory changes.  Absolute pathnames are
  153. therefore recommended.
  154.  
  155.  
  156. 3.2 humount - remove an HFS volume from the list of known volumes
  157. -----------------------------------------------------------------
  158.  
  159.     hmount [<volume-name-or-path>]
  160.  
  161. humount is used to forget about an HFS volume previously mounted with
  162. hmount.  Either the volume's name or the path to the volume may be
  163. used to specify the volume.  If no name or path is given, the current
  164. volume is assumed.
  165.  
  166. It is not strictly necessary to use this command.  It does not affect
  167. any physical volumes; it only updates the file named `hfs.cfg' in the
  168. home directory used to keep track of the currently known HFS volumes.
  169.  
  170.  
  171. 3.3 hvol - display or change the current HFS volume
  172. ---------------------------------------------------
  173.  
  174.     hvol [<volume-or-path>]
  175.  
  176. With no arguments, hvol displays the name and path to the "current"
  177. HFS volume as well as the names and paths of all previously mounted
  178. ("known") volumes.
  179.  
  180. With an argument, hvol changes the current volume to be the one
  181. specified.  Either the name of the volume or the path to its source
  182. can be specified.  The volume must have been previously mounted using
  183. hmount.
  184.  
  185. A separate "current working directory" is maintained for each mounted
  186. volume.  This information is kept in a file named `hfs.cfg' in the
  187. home directory.
  188.  
  189.  
  190. 3.4 hls - list files in an HFS directory
  191. ----------------------------------------
  192.  
  193.     hls [<options>] [<hfs-path> ...]
  194.  
  195. hls lists files and directories contained in an HFS volume.  If one or
  196. more arguments are given, each specified file or directory is shown;
  197. otherwise, the contents of the current working directory are shown.
  198.  
  199. Options:
  200.  
  201. -1      Output is formatted such that each entry appears on a single
  202.         line.  This is the default when the standard output is
  203.         redirected to a file or pipe.
  204.  
  205. -a      All files and directories are shown, including "invisible"
  206.         files, as would be perceived by the Macintosh Finder.
  207.         Normally invisible files are omitted from directory listings.
  208.  
  209. -b      Special characters are displayed in an escaped backslash
  210.         notation.  Normally special or non-printable characters in
  211.         filenames are replaced by a question mark (?).
  212.  
  213. -c      Sort and display entries by their creation date, rather than
  214.         their modification date.
  215.  
  216. -d      List directory entries themselves rather than their contents.
  217.         Normally the contents are shown for named directories on the
  218.         command-line.
  219.  
  220. -f      Do not sort directory contents; list them in the order they
  221.         appear in the directory.  This option effectively enables -a
  222.         and -U and disables -l, -s, and -t.
  223.  
  224. -i      Show the catalog IDs for each entry.  Every file and directory
  225.         on an HFS volume has a unique catalog ID.
  226.  
  227. -l      Display entries in long format.  This format shows the entry
  228.         type ("d" for directory or "f" for file), flags ("i" for
  229.         invisible), file type and creator (four-character strings for
  230.         files only), size (number of directory sub-contents or file
  231.         resource and data bytes, respectively), date of last
  232.         modification (or creation, with -c flag), and pathname.
  233.         Macintosh "locked" files are indicated by "F" in place of "f".
  234.  
  235. -m      Display entries in a continuous format separated by commas.
  236.  
  237. -q      Replace special and non-printable characters in displayed
  238.         filenames with question marks (?).  This is the default when
  239.         the standard output is connected to a terminal (as opposed to
  240.         a file or pipe).
  241.  
  242. -r      Sort entries in reverse order before displaying.
  243.  
  244. -s      Show the file size for each entry in 1K block units.  The size
  245.         includes blocks used for both data and resource forks.
  246.  
  247. -t      Sort and display entries by time.  Normally files will be
  248.         sorted by name.  This option uses the last modification date
  249.         to sort unless -c is also specified.
  250.  
  251. -x      Display entries in column format like -C, but sorted
  252.         horizontally into rows rather than columns.
  253.  
  254. -w <width>
  255.         Format output lines suitable for display in the given <width>.
  256.         Normally the width will be determined from your terminal, from
  257.         the environment variable COLUMNS, or from a default value of
  258.         80.
  259.  
  260. -C      Display entries in column format with entries sorted
  261.         vertically.  This is the default output format when standard
  262.         output is connected to a terminal.
  263.  
  264. -F      Cause certain output filenames to be followed by a
  265.         single-character flag indicating the nature of the entry;
  266.         directories are followed by a colon (:) and executable
  267.         Macintosh applications are followed by an asterisk (*).
  268.  
  269. -N      Cause all filenames to be output verbatim without any escaping
  270.         or question-mark substitution.
  271.  
  272. -Q      Cause all filenames to be enclosed within double-quotes (")
  273.         and special/non-printable characters to be properly escaped.
  274.  
  275. -R      For each directory that is encountered in a listing,
  276.         recursively descend into and display its contents.
  277.  
  278. -S      Sort and display entries by size.  For files, the combined
  279.         resource and data lengths are used to compute a file's size.
  280.  
  281. -U      Do not sort directory contents; list them in the order they
  282.         appear in the directory.  On HFS volumes, this is usually an
  283.         alphabetical case-insensitive ordering, although there are
  284.         some idiosyncrasies to the Macintosh implementation of
  285.         ordering.  This option does not affect -a, -l, or -s.
  286.  
  287.  
  288. 3.5 hdir - display an HFS directory in long format
  289. --------------------------------------------------
  290.  
  291.     hdir [<options>] [<hfs-path> ...]
  292.  
  293. hdir is an alternative interface to hls.  It is equivalent to
  294. supplying hls the -l flag.
  295.  
  296.  
  297. 3.6 hcopy - copy files from or to an HFS volume
  298. -----------------------------------------------
  299.  
  300.     hcopy [-m | -b | -t | -r | -a] <source-path> [...] <target-path>
  301.  
  302. hcopy transfers files from an HFS volume to DOS or vice versa.  The
  303. named source files are copied to the named destination target, which
  304. must be a directory if multiple files are to be copied.
  305.  
  306. Copies are performed using a translation mode, which must be one of:
  307.  
  308. -m      MacBinary II: A popular format for binary file transfer.  Both
  309.         forks of the Macintosh file are preserved.  This is the
  310.         recommended mode for transferring arbitrary Macintosh files.
  311.  
  312. -b      BinHex: An alternative format for ASCII file transfer.  Both
  313.         forks of the Macintosh file are preserved.
  314.  
  315. -t      Text: Performs end-of-line translation.  Only the data fork of
  316.         the Macintosh file is copied.
  317.  
  318. -r      Raw Data: Performs no translation.  Only the data fork of the
  319.         Macintosh file is copied.
  320.  
  321. -a      Automatic: A mode will be chosen automatically for each file
  322.         based on a set of predefined heuristics.
  323.  
  324. If no mode is specified, -a is assumed.
  325.  
  326. If a DOS source pathname is specified as a single dash (-), hcopy will
  327. copy from standard input to the HFS destination.  Likewise, a single
  328. dash used as a DOS destination pathname will cause hcopy to copy the
  329. HFS source to standard output.
  330.  
  331. Copied files may have their filenames altered during translation.  For
  332. example, an appropriate file extension may be added or removed, and
  333. certain other characters may also be transliterated.
  334.  
  335. The destination target must not be ambiguous; that is, it must be
  336. obvious whether the target is on the DOS filesystem or on an HFS
  337. volume.  As a rule, HFS targets must contain at least one colon (:),
  338. usually as the beginning of a relative pathname or by itself to
  339. represent the current working directory.  As a special exception, if
  340. the target pathname start with a drive letter, it will be assumed to
  341. be on the DOS filesystem.  To make a DOS target unambiguous, either
  342. use an absolute pathname or precede a relative pathname with a dot and
  343. slash (./).
  344.  
  345.  
  346. 3.7 hdel - delete both forks of an HFS file
  347. -------------------------------------------
  348.  
  349.     hdel <hfs-path> [...]
  350.  
  351. hdel deletes files from the current HFS volume.  Both forks (resource
  352. and data) of each named file are removed, freeing space for other
  353. files.
  354.  
  355.  
  356. 3.8 hrename - rename or move an HFS file or directory
  357. -----------------------------------------------------
  358.  
  359.     hrename <hfs-src-path> [...] <hfs-target-path>
  360.  
  361. hrename changes the name and/or location of one or more files or
  362. directories.  If only one source path is specified and the target path
  363. is in the same directory as the source, only the name is changed.
  364. Otherwise the source object is moved as well as possibly being
  365. renamed.
  366.  
  367. If multiple source paths are specified, the target must be a
  368. directory, and all of the source objects will be moved into it
  369. (keeping the same names.)
  370.  
  371. If the source path refers to the root directory of a volume, the
  372. volume name will be changed.  The root directory cannot be moved.
  373. Note that volume names can only have 1-27 characters, while all other
  374. names may have 1-31 characters.
  375.  
  376.  
  377. 3.9 hattrib - change HFS file or directory attributes
  378. -----------------------------------------------------
  379.  
  380.     hattrib [-t TYPE] [-c CREA] [-|+i] [-|+l] <hfs-path> [...]
  381.  
  382. hattrib permits the alteration of HFS file attributes.  The
  383. MacOS-defined type and creator attributes can be set using the -t and
  384. -c flags, respectively.  A file's invisible flag can be set or cleared
  385. with +i and -i, respectively.  Finally, a file's locked flag can be
  386. set or cleared with +l and -l.
  387.  
  388. All files mentioned on the command line will receive the specified
  389. attributes, regardless of the file's current attributes.  Any
  390. attribute not mentioned in the command line is left unchanged.
  391.  
  392. Note that the invisible and locked flags only have meaning to the
  393. Macintosh Finder.
  394.  
  395.  
  396. 3.10 hcd - change working HFS directory
  397. ---------------------------------------
  398.  
  399.     hcd [<hfs-path>]
  400.  
  401. hcd is used to change the notion of the "current working directory"
  402. for the current HFS volume.  All subsequent HFS commands will
  403. interpret filenames relative to this directory, unless absolute
  404. pathnames are used.
  405.  
  406. If the argument pathname is omitted, hcd will change to the root of
  407. the current volume.
  408.  
  409. Note: Although absolute pathnames can be given to hcd, the full
  410. pathname must match the current volume; it cannot specify a path for a
  411. different volume.  Use hvol or hmount to change the current volume.
  412. (Each volume has its own independent current working directory.)
  413.  
  414.  
  415. 3.11 hpwd - print the full path of the current HFS working directory
  416. --------------------------------------------------------------------
  417.  
  418.     hpwd
  419.  
  420. hpwd displays the complete (absolute) HFS pathname to the current
  421. working directory on the current volume.  The current working
  422. directory can be changed with the hcd command.
  423.  
  424.  
  425. 3.12 hmkdir - create a new HFS directory
  426. ----------------------------------------
  427.  
  428.     hmkdir <hfs-path> [...]
  429.  
  430. hmkdir creates new, empty directories (folders) on the current HFS
  431. volume.  There must not already be a file or directory with each named
  432. path.
  433.  
  434.  
  435. 3.13 hrmdir - remove an empty HFS directory
  436. -------------------------------------------
  437.  
  438.     hrmdir <hfs-path> [...]
  439.  
  440. hrmdir deletes directories (folders) from the current HFS volume.
  441. Each named directory must already be empty.
  442.  
  443.  
  444. 3.14 hformat - create a new HFS filesystem and make it current
  445. --------------------------------------------------------------
  446.  
  447.     hformat [-l <label>] <destination-path> [<partition-no>]
  448.  
  449. hformat is used to write a new HFS filesystem to a volume.  A DOS
  450. pathname to the volume's destination must be specified.  The
  451. destination may be either a drive letter or a regular file, but must
  452. already exist and be writable.  (If a regular file, the size of the
  453. file determines the maximum size of the resulting volume image.) Note
  454. that the medium must already be low-level formatted.  To format a new,
  455. unformatted diskette with hformat, format it with the usual FORMAT
  456. utility first.
  457.  
  458. An optional label can be specified to name the volume.  The name must
  459. be between 1-27 characters and cannot contain a colon (:).  By
  460. default, the volume will be named Untitled.
  461.  
  462. If a partition number n is specified, the nth HFS partition in the
  463. existing medium will receive the filesystem.  By default, and also
  464. when n is 0, the entire medium will be formatted with the new
  465. filesystem.  If a partition is specified, it must already exist.
  466.  
  467. The new volume will be empty, but will also become "current" so
  468. subsequent commands will refer to it.  The current working directory
  469. for the volume is set to the root of the volume.
  470.  
  471.  
  472. 4 Usage notes
  473. =============
  474.  
  475.  
  476. 4.1 HFS pathnames
  477. -----------------
  478.  
  479. HFS pathnames consist of colon-separated components.  Unlike DOS
  480. pathnames, an HFS path which begins with a colon is a relative path,
  481. and one which does not is an absolute path.  As sole exception to this
  482. rule, a path not containing any colons is assumed to be relative.
  483. Thus :Foo:Bar is a relative path, while Foo:Bar is an absolute path.
  484.  
  485. Absolute pathnames always begin with the name of the volume itself.
  486. Any occurrence of two or more consecutive colons in a path causes
  487. resolution of the path to ascend into parent directories.
  488.  
  489.  
  490. 4.2 Wildcard expansion
  491. ----------------------
  492.  
  493. The utilities allow using the wildcard characters `*' and `?' to
  494. specify filenames.  However, the meaning of these characters is
  495. somewhat more complicated than in most DOS programs.  The reason is
  496. that wildcard expansion is performed twice, for local files and for
  497. files on the HFS volume.
  498.  
  499. The first expansion is similar to that used in UNIX systems.  Any
  500. arguments that contain wildcards will be replaced with a list of the
  501. matching filenames in the native file system.  If no files match the
  502. wildcard pattern, the wildcard argument is kept unchanged.  Moreover,
  503. wildcards within double quotes will not be expanded.
  504.  
  505. The second expansion is similar, but matches files on the HFS volume.
  506. It starts with the results of the first wildcard expansion, and
  507. applies only to arguments that specify HFS files.  Therefore, any
  508. wildcards for HFS file specifications must be protected from being
  509. expanded in the first step by double quotes.
  510.  
  511. In the expansion of HFS filenames, the backslash character may be used
  512. to quote a single character.  This makes it possible to specify HFS
  513. filenames that contain special characters such as `*' and `?'.
  514.  
  515. Some common examples follow.
  516.  
  517. - To list all filenames on the current HFS volume that begin with
  518.   `foo':
  519.  
  520.       hls "foo*"
  521.  
  522.   Note that the double quotes are necessary to prevent the `*' to be
  523.   expanded against the DOS files.
  524.  
  525. - To copy all DOS files whose names end in `.c' to the HFS volume:
  526.  
  527.       hcopy *.c :
  528.  
  529.   Here the wildcard is expanded to a list of matching files in the
  530.   current directory.
  531.  
  532. - To delete all files in the current directory on the HFS volume:
  533.  
  534.       hdel "*"
  535.  
  536.   Alternatively, you can use:
  537.  
  538.       hdel :*
  539.  
  540.   This works because the specification begins with a colon and hence
  541.   does not match any DOS files.  Hence it is not expanded in the first
  542.   expansion.
  543.  
  544. - To copy `myfile.txt' to the HFS file `My*File':
  545.  
  546.       hcopy myfile.txt ":My*File"
  547.  
  548.   The asterisk needs to be protected from the expansion against DOS
  549.   files.  Since hcopy does not perform any expansion for target files,
  550.   the asterisk should not be escaped by a backslash.
  551.  
  552. - To copy the HFS file `My*File' to the file `myfile' in DOS:
  553.  
  554.       hcopy ":My\*File" myfile
  555.  
  556.   The backslash ensures that the asterisk is not expanded in the
  557.   second expansion.  The `:' is not strictly necessary.
  558.  
  559.  
  560. 4.3 Environment variables
  561. -------------------------
  562.  
  563. The utilities use the following environment variables:
  564.  
  565. HFSUTILS
  566.         Specifies the directory where the executable `hfsutil.exe' and
  567.         the extender `rsxhfs.exe' reside.  These files are first
  568.         looked for in the current directory, then in the directories
  569.         listed in the PATH variable, and finally in the directories
  570.         specified in the HFSUTILS variable.
  571.  
  572. HOME    Specifies the "home directory" where the file `hfs.cfg' will
  573.         be placed.  This file records the volumes known to hfsutils.
  574.         If this variable is not set, the current directory will be
  575.         used.  Since this causes problems when the current directory
  576.         is changed, it is recommended that this variable be used.
  577.  
  578.  
  579. 4.4 Notes for DOS users
  580. -----------------------
  581.  
  582.  
  583. Supported devices
  584. -----------------
  585.  
  586. Under DOS, the utilities work with block devices such as floppy disks.
  587. The device must be known to DOS and have a drive letter.  CD-ROMs can
  588. not be accessed, because they are not viewed as block devices in DOS.
  589.  
  590.  
  591. DPMI
  592. ----
  593.  
  594. hfsutils requires a DPMI server.  A server is included (the program
  595. `CSXHFS.EXE').  It will be loaded automatically if no other server is
  596. present, and must be located either in the current directory or in a
  597. directory listed in the HFSUTILS variable.
  598.  
  599.  
  600. 4.5 Notes for Windows95 users
  601. -----------------------------
  602.  
  603. When running as a native Win32 application, hfsutils can only access
  604. disk drives directly under Windows NT.  For Windows95, you have to use
  605. the RSX extender and run hfsutils as a DOS application.  This is done
  606. by running RSXHFS to load the utilities, as in the following example:
  607.  
  608.     rsxhfs hcopy foo :macfoo
  609.  
  610. Note that this limits the devices to those that are accessible under
  611. plain DOS, i.e., diskettes.  CD-ROMs and other devices work only in
  612. native Win32 mode under Windows NT.
  613.  
  614.  
  615. 4.6 Using Macintosh diskettes
  616. -----------------------------
  617.  
  618. The PC hardware cannot handle 800k Macintosh diskettes.  Therefore,
  619. hfsutils can only access 1.44M HFS-formatted Macintosh diskettes.
  620. Note that 400k and 800k Macintosh diskettes usually use an older file
  621. system, MFS, which is not supported by this software either.
  622.  
  623.  
  624. 5 Credits
  625. =========
  626.  
  627. This port was done by Marcus Better <Marcus.Better@abc.se>, and all
  628. questions and bug reports should be sent to him.
  629.  
  630. The original hfsutils for UNIX systems was written by Robert Leslie
  631. <rob@mars.org>.  That program can be found at
  632.  
  633.     http://www.mars.org/home/rob/proj/hfs/
  634.  
  635. This port was developed with OS/2 using GNU C and the emx development
  636. system by Eberhard Mattes <mattes@azu.informatik.uni-stuttgart.de>.
  637.  
  638. hfsutils includes a modified version of the RSX extender by Rainer
  639. Schnitker <rainer@mathematik.uni-bielefeld.de>, who also wrote RSXNT.
  640.  
  641. The package also includes the DPMI server CWSDPMI by Charles W
  642. Sandmann <sandmann@clio.rice.edu>.  Source code for CWSDPMI is not
  643. included, but can be obtained separately.
  644.  
  645.  
  646. 6 Contacting the author
  647. =======================
  648.  
  649. This port was done by Marcus Better <Marcus.Better@abc.se>.  Comments,
  650. suggestions and bug reports should be sent to him.
  651.  
  652. The latest version of this software can be obtained from
  653.  
  654.     http://www.student.nada.kth.se/~f96-bet/hfsutils/
  655.  
  656. --------------------------- END OF HFSUTILS.TXT -----------------------------
  657.