home *** CD-ROM | disk | FTP | other *** search
/ vsiftp.vmssoftware.com / VSIPUBLIC@vsiftp.vmssoftware.com.tar / FREEWARE / FREEWARE40.ZIP / ods2 / aareadme.txt next >
Text File  |  1998-09-11  |  7KB  |  176 lines

  1.                          ODS2               June '98
  2.  
  3.           A Program to Read ODS2 Disk Volumes
  4.  
  5.  
  6. Say, what is this?
  7.    ODS2 is a program to read VMS disk volumes written in VMS
  8.    ODS2 format.
  9.  
  10. Why bother?
  11.    Well sometimes it is convenient to see what is on a VMS CD,
  12.    or copy files from VMS disk on another platform. Maybe in
  13.    future it could be used as a basis for a PC Bookreader
  14.    program, or possibly other software?
  15.  
  16. What other platforms?
  17.    ODS2 is written in 'Standard C' with the intent that it can
  18.    be compiled and run on non-VMS systems. However this requires
  19.    a C compiler which has 32 bit 'int' types, 16 bit 'short'
  20.    types, and 8 bit 'char'. The current version does no special
  21.    'endian' handling so it can only be run on systems which are
  22.    little-endian like the VAX. Fortunately that inludes Intel...
  23.  
  24. Could it be made to run on big-endian systems?
  25.    Yes it could! This would probably best be done by defining
  26.    C macros or functions to extract words or long words from the
  27.    disk structures as appropriate. On a little-endian system these
  28.    would be simply pass-through, while on a big-endian system they
  29.    would reverse the byte order. I have not attempted this because
  30.    I don't have a suitable test system!!
  31.  
  32. What else is needed?
  33.    Some operating system support is also required to read an
  34.    absolute disk sector from the target disk. This is NOT as
  35.    easy as it sounds. I do not currently have sufficient
  36.    documentation to set this up for as many platforms as I
  37.    would like!! However I do have modules to read disks under
  38.    VMS (easy!) and floppies and CD under OS2, Windows 95 and
  39.    Windows NT.
  40.  
  41. How do I build it?
  42.    On a VMS system ODS2 can be compiled by executing the
  43.    procedure BUILD.COM. On other platforms you need to compile
  44.    Ods2.c, Rms.c, Direct.c, Access.c, Device.c, Cache.c, Vmstime.c,
  45.    and the appropriate Phy*.c routine for your system. On OS/2 I
  46.    compile using the gcc command:-
  47.        gcc -fdollars-in-identifiers ods2.c,rms.c,direct.c,
  48.                       access.c,device.c,cache.c,phyos2.c,vmstime.c
  49.  
  50. What can it do?
  51.    Basically ODS2 provides cut down DIRECTORY, COPY and
  52.    SEARCH commands for VMS volumes on non-VMS systems. These
  53.    can be used to find out what is on a VMS volume, and copy
  54.    files onto the local file sytem.
  55.  
  56. What file types?
  57.    Basically ODS2 can only deal with sequential files. I do not
  58.    have information on how indexed file types are constructed,
  59.    and relative files are of limited interest.
  60.  
  61. What about volume sets?
  62.    ODS2 does contain support for multi-volume sets. However there
  63.    is no checking that the correct volumes have been specified and
  64.    error handling is very fragile. You should ensure that you
  65.    specify volume set mount commands very carefully!
  66.  
  67. What about ODS5?
  68.    Sorry, but I have no idea! I have not seen any ODS5 information
  69.    or specifications. Most likely this program will fall in a heap
  70.    when presented with an ODS5 disk volume.
  71.  
  72. What about bugs?
  73.    There are plenty!! This code has been tested for several hours
  74.    by a single developer/user on one workstation (absolutely no
  75.    testing or input from any other person up to this point!).
  76.    Contrast this to the VMS filesystem which has had hundreds of
  77.    developers, millions of users, and has run on about 500,000
  78.    systems over the last 20 years!! I would hope to fix some of
  79.    the more severe limitations and provide better error handling
  80.    fairly soon, perhaps even put some comments into the code?
  81.    Maybe the next release might have fewer bugs?
  82.  
  83. It is free?
  84.    Yeap! It is provided 'as is' to help people in the VMS
  85.    community. However there is NO SUPPORT! I will try to fix
  86.    any reported problems, but as I really only get to work on
  87.    it while the kids are at Scouts on Monday nights, fixes
  88.    happen slowly! But if you have comments or suggestions then
  89.    please feel free to mail me!
  90.  
  91. Can I use the code?
  92.    Yeap! You can use and modify the code provided that you
  93.    acknowledge the author in the source of any modules which use
  94.    any part of this code. I would also appreciate, where possible,
  95.    being sent any enhancements for my own use.
  96.  
  97. Can I call the routines from my program?
  98.    You should be able to. Many of the modules follow an 'RMS'
  99.    sort of standard, and programs which only ever read RMS files
  100.    from C might be converted to read VMS volumes on another platform
  101.    without too much effort. In addition to the RMSish interface,
  102.    it would not be difficult to package up an $ASSIGN/$QIOW interface
  103.    for common file operations...
  104.  
  105. What is the status of ODS2?
  106.    This is the first release - actually more like a prototype
  107.    than an real release! But it may generate useful feedback and
  108.    possibly be useful to others the way it is? However if you are
  109.    tempted to use this version for real file transfers, DO YOUR OWN
  110.    TESTING first! This program may not have encountered volumes and
  111.    files like yours and could easily generate garbage results!!!
  112.  
  113. Is more work happening?
  114.    Yes! I find the program very useful moving stuff from my
  115.    VAXstation to my PC. I would like to be able to write ODS2 volumes
  116.    so that I can move files in the other direction! And yes I hope
  117.    to generally improve the code - particularly in the area of error
  118.    handling!
  119.  
  120. Can I make a suggestion?
  121.    You sure can! If you see something which needs improvement then
  122.    let me know. It may be more interesting than whatever I am doing now!
  123.    In fact if I don't hear from anyone then I might even loose interest!
  124.  
  125. Can I see a command sample?
  126.    Sure:-
  127.      C:> ODS2
  128.        ODS2 v1.2
  129.      $> mount E:,F:
  130.      %MOUNT-I-MOUNTED, Volume FOX1         mounted on E:
  131.      %MOUNT-I-MOUNTED, Volume FOX2         mounted on F:
  132.      $> direct/file E:[*...]
  133.         Directory E:[PNANKERVIS]
  134.      3MONTH.LOWUSE;1      (51,20,2)
  135.      ACCTEST.COM;1        (137,4,1)
  136.      ACCTEST.EXE;1        (53,4,2)
  137.      .....
  138.      $> set default E:[sys0.sysmgr]
  139.      $> dir [-.sys*...].%
  140.      .....
  141.      $> copy *.c  *.*
  142.      %COPY-S-COPIED, E:[SYS0.SYSMGR]ACCESS.C;1 copied to ACCESS.C (3 records)
  143.      ....
  144.      $> show time
  145.        24-MAR-1998 20:15:23.5
  146.      $> dismount E:
  147.      $> exit
  148.  
  149. What commands are supported?
  150.   A summary is:-
  151.      mount       DRIVE:[,DRIVE:...]
  152.      directory   [/file|/size|/date]   [FILE-SPEC]
  153.      copy        FILE-SPEC  OUTPUT-FILE
  154.      dismount    DRIVE:
  155.      search      FILE-SPEC  STRING
  156.      set default DIR-SPEC
  157.      show default
  158.      show time
  159.      exit
  160.           Note  - DRIVE: is normally the native system drive name,
  161.                   for example D: might be a CD on a PC - xxx: might be
  162.                   /dev/xxx on a Unix system.
  163.                 - when a list of drives is specified on the mount command
  164.                   they are assumed to contain a single valid volume set
  165.                   (this is not validated!!)
  166.                 - file-spec is in the usual VMS syntax and may contain
  167.                   wildcards (for example  A:[-.*obj%%...]*abc*.obj;-2)
  168.  
  169. Who would write this?
  170.    Me! Maybe it will become the basis of something more? If you
  171.    have suggestions or want to know more then please mail me at
  172.    paulnank@au1.ibm.com
  173.  
  174.                                                     Thanks for listening!
  175.                                                     Paul Nankervis
  176.