home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 8 Other / 08-Other.zip / tvfs211.zip / TVFS.INF (.txt) < prev    next >
OS/2 Help File  |  1997-10-31  |  43KB  |  1,272 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. Copyright ΓòÉΓòÉΓòÉ
  3.  
  4.  
  5.      (c) Copyright International Business Machines Corporation 1994, 1995, 
  6.      1996, 1997. 
  7.      All rights reserved. 
  8.  
  9.  
  10. ΓòÉΓòÉΓòÉ 2. Introduction ΓòÉΓòÉΓòÉ
  11.  
  12. The Toronto Virtual File System (TVFS) is an OS/2 Installable File System that 
  13. combines VM and UNIX (**) file system concepts.  The specific VM file system 
  14. concept employed is the "CMS search path".  The specific UNIX file system 
  15. concept employed is the "symbolic link". Each of these concepts is described 
  16. below. 
  17.  
  18.  
  19. ΓòÉΓòÉΓòÉ 2.1. The CMS Search Path ΓòÉΓòÉΓòÉ
  20.  
  21. Under CMS a user may mount (access) a minidisk.  Each minidisk may contain a 
  22. set of files in a flat (non-hierarchical) name space. 
  23.  
  24. A number of minidisks may be mounted in a specific order. The order of the 
  25. minidisks determines the CMS search path. 
  26.  
  27. For example, if the user wants to find the file foo.c, the minidisks will be 
  28. searched according to the CMS search path.  The user will be given the first 
  29. instance of foo.c found. 
  30.  
  31.  
  32. ΓòÉΓòÉΓòÉ 2.2. The UNIX Symbolic Link ΓòÉΓòÉΓòÉ
  33.  
  34. A UNIX symbolic link may exist between a pair of files or directories. In 
  35. either case, when creating a symbolic link, a link is established within a 
  36. directory. The link may be considered equivalent to a file or subdirectory that 
  37. is resident within a parent directory. The file or directory link may be 
  38. referenced just like a "normal" file or directory entry. However, since the 
  39. entry is in reality a link to another file or directory within the UNIX file 
  40. system, the file system request is actually routed to the linked to file or 
  41. directory. For example, although one may create a directory under a directory 
  42. link, the directory will actually be created in the linked to file system. 
  43.  
  44. Through the creation of these so called symbolic links, a file/directory link 
  45. will appear identical to the existing file/directory it has been linked to.  In 
  46. this manner, only one copy of the file or directory actually exists although 
  47. many copies appear to exist (each with a distinct name). 
  48.  
  49.  
  50. ΓòÉΓòÉΓòÉ 2.3. Combining the Two ΓòÉΓòÉΓòÉ
  51.  
  52. The TVFS combines the VM and UNIX file system concepts described above. 
  53. Through the TVFS, symbolic links may be established between a TVFS file system 
  54. and a TVFS/non-TVFS local/remote file system.  For each of these symbolic 
  55. links, a search path (much like a CMS search path) may be specified.  In this 
  56. manner a virtual file system (TVFS) may be configured whereby files are located 
  57. by searching other (local and remote) file systems. 
  58.  
  59. A concept of both CMS and UNIX file systems that is not prevalent under OS/2 
  60. but is provided by the TVFS is that of permissions.  Under the TVFS, 
  61. files/directories may be specified as being read only, write only, or 
  62. read/write.  These permissions are obeyed during all TVFS file system 
  63. operations. 
  64.  
  65. In addition to symbolic links, search paths, and permissions, the TVFS also 
  66. supports directories. Directories may contain other directories, directory 
  67. links, or file links. 
  68.  
  69. In summary, through the TVFS, specialized "views" of local and remote file 
  70. systems may be established. A diagram illustrating the architecture supported 
  71. by the TVFS follows. 
  72.  
  73.  
  74. The Toronto Virtual File System Architecture
  75.  
  76.  
  77. ΓòÉΓòÉΓòÉ 3. Toronto Virtual File System Commands ΓòÉΓòÉΓòÉ
  78.  
  79.  
  80. ΓòÉΓòÉΓòÉ 3.1. File System Control Commands ΓòÉΓòÉΓòÉ
  81.  
  82.  
  83. ΓòÉΓòÉΓòÉ 3.1.1. TVCTL ΓòÉΓòÉΓòÉ
  84.  
  85. The TVCTL command is used to start the TVFS control program. 
  86.  
  87. The syntax of TVCTL is: 
  88.  
  89. TVCTL [-[b|c[999]|d|D|f[9999]|h|i[999]|k|m|o|O|p|q|r|s|t|v|w|z]]
  90.  
  91. A sample invocation is: 
  92.  
  93. TVCTL -srw
  94.  
  95.  Option              Description 
  96.  
  97.  -b                  Load balance writes. 
  98.  
  99.                      When a file is created on a writable link, the file is 
  100.                      typically put on the first suitable writable link.  With 
  101.                      this option, TVFS will determine all suitable writable 
  102.                      links and selects the one with the most free space.  In 
  103.                      this manner, files may be distributed across several file 
  104.                      systems according to resource availability. 
  105.  
  106.                      Two things to be aware of when using this option: 
  107.  
  108.                        1. UNC drives are discriminated against.  Since I know 
  109.                           of no way to determine the amount of free space on a 
  110.                           linked to UNC name, a UNC name will always be the 
  111.                           last choice when balancing writes (i.e. the free 
  112.                           space is assumed to be zero). 
  113.  
  114.                        2. There will be a minor performance hit when employing 
  115.                           this option as more file system queries are 
  116.                           generated. 
  117.  
  118.  -c[999]             Perform "virtual cache management". 
  119.  
  120.                      Virtual cache management will cache file location 
  121.                      information in the TVFS in order to improve performance. A 
  122.                      cache interval (in minutes) may also be specified. If a 
  123.                      cache interval is not specified, a default value will be 
  124.                      used. For further information on virtual cache management, 
  125.                      see Virtual Cache Management. 
  126.  
  127.  -d                  Perform "soft" deletions. 
  128.  
  129.                      When a file system entity is to be deleted via DosDelete, 
  130.                      the TVFS will attempt to delete the entity on a write 
  131.                      link. If the entity does not exist on a write link, a 
  132.                      failure condition is returned. 
  133.  
  134.                      The soft delete feature will not return a failure 
  135.                      condition if the entity does exist on a read only link (of 
  136.                      course, the entity will not be deleted). This feature is 
  137.                      provided to make the TVFS more compatable with a select 
  138.                      set of tools. 
  139.  
  140.  -D                  Use the default option setting. 
  141.  
  142.                      The default option setting is equivalent to specifying 
  143.                      "-dfi0Oqz". 
  144.  
  145.  -f[9999]            Use the maximum free space value. 
  146.  
  147.                      With every (TVFS) drive, there is an amount of free space 
  148.                      associated with it. Since a TVFS drive is virtual, the 
  149.                      free space is represented as zero. However, some 
  150.                      applications query the amount of freespace to ensure there 
  151.                      is enough room for a given operation. To provide 
  152.                      compatability with such applications, this option will 
  153.                      result in the TVFS returning the "maximum possible free 
  154.                      space" when queried. 
  155.  
  156.                      The user may override the free space value with a variable 
  157.                      number of free space units.  The free space units may 
  158.                      range from 1 to 2048 (with 0 indicating the default value 
  159.                      of 1024). 
  160.  
  161.  -h                  Reuse DOS search handles. 
  162.  
  163.                      If the user regularly runs out of search handles allocated 
  164.                      to DOS processes, this option should be enabled. 
  165.  
  166.  -i[999]             Set the Ring 0 to Ring 3 interval timer. 
  167.  
  168.                      The Ring 0 component of the TVFS sets an interrupt timer 
  169.                      when it send a request to the Ring 3 component (TVCTL). If 
  170.                      the interval timer expires before the request completes, 
  171.                      an error is returned to the user and the Ring 3 component 
  172.                      is detached. 
  173.  
  174.                      The default interval (30 seconds) may be overridden 
  175.                      through this parameter. An interval of zero is valid and 
  176.                      represents an infinite timeout interval. 
  177.  
  178.  -k                  Ensure cache konsistency (sic). 
  179.  
  180.                      When caching is enabled, this option will add a validation 
  181.                      step to ensure the cached information is still valid (i.e. 
  182.                      the cached file still exists) before use. This has an 
  183.                      obvious, though minor, performance impact over "straight" 
  184.                      caching. 
  185.  
  186.  -m                  Manually connect. 
  187.  
  188.                      When the control program starts up, it connects with the 
  189.                      Ring 0 device driver. The device driver verifies if a 
  190.                      control program is already active and, if one is active, 
  191.                      will reject any subsequent connection requests. This 
  192.                      option will ignore this verification and will forcibly 
  193.                      connect with the Ring 0 device driver. 
  194.  
  195.      Warning Use of this option is only recommended in extreme circumstances 
  196.      where the connection has been irrevocably broken. Use of this option when 
  197.      an instance of the control program is already active will lead to 
  198.      unpredictable results. 
  199.  
  200.  -o                  Initialize the opening of "new" files. 
  201.  
  202.                      When a file is opened in write mode, it must be found on a 
  203.                      writable link. If a writable instance does not exist, a 
  204.                      new file is created. However, in some cases an instance of 
  205.                      the file may exist on a readable link. In these cases, 
  206.                      this option will initialize the "new" file to the contents 
  207.                      of the readable instance. 
  208.  
  209.  -O                  Initialize the opening of "new" files and reset the read 
  210.                      only attribute as necessary. 
  211.  
  212.                      This option performs the "-o" processing.  It also will 
  213.                      remove the read only attribute of the file copied to the 
  214.                      writable link. 
  215.  
  216.  -p                  Run at `regular' priority. 
  217.  
  218.                      When the control program is started, it runs as a high 
  219.                      priority, time critical process. By specifying this 
  220.                      option, the control program will run at the default OS/2 
  221.                      Ring 3 process level. 
  222.  
  223.  -q                  Quit immediately. 
  224.  
  225.                      The control program will resist termination if TVFS drives 
  226.                      are mounted. This option will avoid any resistance and 
  227.                      terminate immediately, even if drives are mounted. The 
  228.                      control program will make an attempt to unmount all 
  229.                      mounted drives before termination. 
  230.  
  231.  -r                  Restore the TVFS configuration. 
  232.  
  233.                      When the control program is started, it will attempt to 
  234.                      restore a saved TVFS configuration. See the TVSAVE and 
  235.                      TVRESTOR commands for more information. 
  236.  
  237.  -s                  Save the TVFS configuration. 
  238.  
  239.                      When the control program is shutdown, it will attempt to 
  240.                      save the current TVFS configuration. See the TVSAVE and 
  241.                      TVRESTOR commands for more information. 
  242.  
  243.  -t                  Support TVFS to TVFS links. 
  244.  
  245.                      When this parameter is specified, added processing to 
  246.                      manage (recursive) TVFS to TVFS links is performed. As 
  247.                      this processing will degrade the performance of all 
  248.                      current TVFS file systems, it should only be used as 
  249.                      required. 
  250.  
  251.  -v                  Run the control program in verbose mode. 
  252.  
  253.                      When the control program is run in verbose mode, 
  254.                      redirected file system calls will be displayed. This 
  255.                      information may be used to unravel exactly what the TVFS 
  256.                      is doing, whether for informational or debugging purposes. 
  257.  
  258.  -w                  Spawn the tvctl program and wait for it to load. 
  259.  
  260.                      When the control program is started, it takes a small 
  261.                      amount of time to load. Until it is loaded, operations on 
  262.                      TVFS drives will fail. This option will spawn an instance 
  263.                      of the control program and will wait for it to be fully 
  264.                      loaded, at which time TVFS commands will be fully 
  265.                      operational. 
  266.  
  267.  -z                  Move with Zen-like precision. 
  268.  
  269.                      A move operation requires the source to be on a read/write 
  270.                      drive. If the source is on a read only drive, the move 
  271.                      will fail. This option will permit moves on source files 
  272.                      that are read only, leading to a copy (with replace) 
  273.                      operation. 
  274.  
  275.                      This option has nothing to do with Zen (or motorcycle 
  276.                      maintenance), I simply ran out of meaningful options tags. 
  277.  
  278.  The TVFS control program must be running in order for the TVFS file system to 
  279.  be active. (**) This may be accomplished by entering the following OS/2 
  280.  command. 
  281.  
  282.   tvctl -w
  283.  
  284.  This command may be added to the OS/2 startup.cmd file. 
  285.  
  286.  
  287. ΓòÉΓòÉΓòÉ 3.1.2. TVGUIDE ΓòÉΓòÉΓòÉ
  288.  
  289. The TVGUIDE command permits the alteration of TVCTL settings while the control 
  290. program is still active (i.e. you do not need to stop and restart TVCTL to 
  291. alter its settings). 
  292.  
  293. The syntax of TVGUIDE is: 
  294.  
  295. TVGUIDE [[+|-][b|c[999]|d|f[9999]|h|i[999]|k|o|O|p|q|s|t|v|z]]
  296.  
  297. A sample invocation is: 
  298.  
  299. TVGUIDE +Ov -z
  300.  
  301.  Option              Description 
  302.  
  303.  +                   Enables the control program setting. 
  304.  
  305.  -                   Disables the control program setting. 
  306.  
  307.  all others          These parameters match the TVCTL parameters. 
  308.  
  309.                      The "+" modifier will turn on the option in the control 
  310.                      program. The "-" modifier will turn off the option in the 
  311.                      control program (typically resetting it back to the 
  312.                      control program default). 
  313.  
  314.  
  315. ΓòÉΓòÉΓòÉ 3.1.3. TVKILL ΓòÉΓòÉΓòÉ
  316.  
  317. The TVKILL command is used to kill the currently active TVFS control program. 
  318.  
  319. The syntax of TVKILL is: 
  320.  
  321. TVKILL
  322.  
  323. A sample invocation is: 
  324.  
  325. TVKILL
  326.  
  327.  
  328. ΓòÉΓòÉΓòÉ 3.2. File System Save and Restore Commands ΓòÉΓòÉΓòÉ
  329.  
  330.  
  331. ΓòÉΓòÉΓòÉ 3.2.1. TVSAVE ΓòÉΓòÉΓòÉ
  332.  
  333. The TVSAVE command is used to save the current TVFS configuration. 
  334.  
  335. The syntax of TVSAVE is: 
  336.  
  337. TVSAVE [save-file]
  338.  
  339. A sample invocation is: 
  340.  
  341. TVSAVE
  342.  
  343.  Option              Description 
  344.  
  345.  save-file           The file name to save to. 
  346.  
  347.                      If a file name is not specified, the save file name is 
  348.                      derived from the TVFS_RESTORE_CMD environment variable. 
  349.                      (**) 
  350.  
  351.  
  352. ΓòÉΓòÉΓòÉ 3.2.2. TVRESTOR ΓòÉΓòÉΓòÉ
  353.  
  354. The TVRESTOR command is used to restore a saved TVFS configuration. 
  355.  
  356. The syntax of TVRESTOR is: 
  357.  
  358. TVRESTOR [save-file]
  359.  
  360. A sample invocation is: 
  361.  
  362. TVRESTOR
  363.  
  364.  Option              Description 
  365.  
  366.  save-file           The file name to restore from. 
  367.  
  368.                      If a file name is not specified, the file name is derived 
  369.                      from the TVFS_RESTORE_CMD environment variable. (**) 
  370.  
  371.  
  372. ΓòÉΓòÉΓòÉ 3.3. File System Mount Commands ΓòÉΓòÉΓòÉ
  373.  
  374.  
  375. ΓòÉΓòÉΓòÉ 3.3.1. TVMOUNT ΓòÉΓòÉΓòÉ
  376.  
  377. The TVMOUNT command is used to mount a TVFS file system. 
  378.  
  379. The syntax of TVMOUNT is: 
  380.  
  381. TVMOUNT [-c[999]] drive:
  382.  
  383. A sample invocation is: 
  384.  
  385. TVMOUNT x:
  386.  
  387.  Option              Description 
  388.  
  389.  -c[999]             Perform "virtual cache management" for the drive. 
  390.  
  391.                      Virtual cache management will cache file location 
  392.                      information in the TVFS in order to improve performance. A 
  393.                      cache interval (in minutes) may also be specified. If a 
  394.                      cache interval is not specified, a default value will be 
  395.                      used. For further information on virtual cache management, 
  396.                      see Virtual Cache Management. 
  397.  
  398.  drive:              The name of the drive to be mounted. 
  399.  
  400.                      The drive must not yet exist. 
  401.  
  402.  
  403. ΓòÉΓòÉΓòÉ 3.3.2. TVUMOUNT ΓòÉΓòÉΓòÉ
  404.  
  405. The TVUMOUNT command is used to unmount a TVFS file system. 
  406.  
  407. The syntax of TVUMOUNT is: 
  408.  
  409. TVUMOUNT [-f] drive:
  410.  
  411. A sample invocation is: 
  412.  
  413. TVUMOUNT x:
  414.  
  415.  Option              Description 
  416.  
  417.  -f                  Force the unmounting of the drive. 
  418.  
  419.                      If the TVCTL program ever becomes disconnected and is then 
  420.                      reconnected, the drives it previously owned will be 
  421.                      invalid. To unmount these invalid drives without error, 
  422.                      the force option should be specified. 
  423.  
  424.  drive:              The name of the drive to be unmounted. 
  425.  
  426.                      The drive must be a TVFS drive. If an asterisk is 
  427.                      specified for the drive, all TVFS drives will be 
  428.                      unmounted. An asterisk will also, by default, force the 
  429.                      unmounting of all TVFS drives. 
  430.  
  431.  
  432. ΓòÉΓòÉΓòÉ 3.4. File System Link Commands ΓòÉΓòÉΓòÉ
  433.  
  434.  
  435. ΓòÉΓòÉΓòÉ 3.4.1. TVLINK ΓòÉΓòÉΓòÉ
  436.  
  437. The TVLINK command is used to link a local or remote file system to a TVFS file 
  438. system. 
  439.  
  440. The syntax of TVLINK is: 
  441.  
  442. TVLINK [-r|-w|-rw] [-b] [-c] [-#9999] [-n] [-f|-d] [-t] [-x] tvfs-pathname link-pathname
  443.  
  444. A sample invocation is: 
  445.  
  446. TVLINK -rd#5 x:\bin c:\bin:
  447.  
  448.  Option              Description 
  449.  
  450.  -r|-w|-rw           The access mode to link with (read, write, or read/write). 
  451.  
  452.                      The default access mode is read access. 
  453.  
  454.      Warning It is recommended that only the read and read/write access modes 
  455.      be used.  While linking in write-only mode is supported it may lead to 
  456.      unexpected (although predictable) results. 
  457.  
  458.  -b                  Build the tvfs-pathname directory structure. 
  459.  
  460.                      To simplify the creation of TVFS pathnames, the user may 
  461.                      request that the complete pathname directory structure be 
  462.                      built if it does not already exist. This involves 
  463.                      performing a DosMkdir for every directory entry that does 
  464.                      not yet exist (above the link being created). 
  465.  
  466.  -c                  Create subtrees automatically. 
  467.  
  468.                      On a writable directory link, subtrees will be created 
  469.                      automatically under the linked to directory if a better 
  470.                      fit for a given pathname does not exist. 
  471.  
  472.  -#9999              The position to link at. 
  473.  
  474.                      By specifying the position, the user may customise the 
  475.                      search path order.  The default position is 9999. 
  476.  
  477.  -n                  Nonexistent file or directory. 
  478.  
  479.                      Permit a link to a nonexistent link-pathname. 
  480.  
  481.  -f|-d               File or directory. 
  482.  
  483.                      If neither the tvfs-pathname nor the link-pathname exists, 
  484.                      the user must instruct the TVFS whether a directory or 
  485.                      file link is to be established. 
  486.  
  487.  -t                  Permit TVFS to TVFS links. 
  488.  
  489.                      Since a TVFS to TVFS link may lead to a cycle of linked 
  490.                      files/directories, users must explicitly request such a 
  491.                      link. Responsibility for avoiding deadlock is left to the 
  492.                      user (the TVFS does no deadlock detection). 
  493.  
  494.                      This option may also be used to link to (TVFS or non-TVFS) 
  495.                      drives that do not currently exist. 
  496.  
  497.  -x                  Exclude subdirectories. 
  498.  
  499.                      When linking to a directory, the subdirectories in the 
  500.                      linked to directory may be excluded. When excluded, these 
  501.                      subdirectories may not be referenced in any manner via the 
  502.                      link. The exclude option may be used to improve 
  503.                      performance (by avoiding unnecessary searches of 
  504.                      subdirectory trees) in addition to providing another 
  505.                      mechanism for tailoring the view(s) of a file system. 
  506.  
  507.  tvfs-pathname       The TVFS file/directory link. 
  508.  
  509.                      The link will be created if it does not already exist. 
  510.  
  511.      Note When a TVFS drive is created, a root directory is automatically 
  512.      created for it. The root directory may be linked to (transforming it into 
  513.      a "root directory link") as long as it does not contain any 
  514.      subdirectories. 
  515.  
  516.  link-pathname       The local or remote file/directory to link to. 
  517.  
  518.                      The link path may specify a "normal" path name or a UNC 
  519.                      name. 
  520.  
  521.  
  522. ΓòÉΓòÉΓòÉ 3.4.2. TVULINK ΓòÉΓòÉΓòÉ
  523.  
  524. The TVULINK command is used to unlink a local or remote file system from a TVFS 
  525. file system. 
  526.  
  527. The syntax of TVULINK is: 
  528.  
  529. TVULINK [-d] tvfs-pathname [*|-#9999|link-pathname]
  530.  
  531. A sample invocation is: 
  532.  
  533. TVULINK x:\ *
  534.  
  535.  Option                   Description 
  536.  
  537.  -d                       Unlink from a directory (as opposed to a directory or 
  538.                           file link point). 
  539.  
  540.                           This option will remove the specified entry and its 
  541.                           subordinate tree (potentially containing TVFS 
  542.                           directories, directory links, and file links), even 
  543.                           if it is a TVFS directory. The link pathname must be 
  544.                           *. 
  545.  
  546.  tvfs-pathname            The TVFS file/directory link being unlinked. 
  547.  
  548.  *|-#9999|link-pathname   The local or remote file/directory to unlink from. 
  549.  
  550.                           If * is specified, all linked to files/directories 
  551.                           will be unlinked from. 
  552.  
  553.                           If -#9999 is specified, the linked to file/directory 
  554.                           at the specified position will be unlinked from. 
  555.  
  556.                           If link-pathname is specified, the named 
  557.                           file/directory will be unlinked from. 
  558.  
  559.                           If a TVFS file/directory link is no longer linked to 
  560.                           a local/remote file system after a TVULINK operation, 
  561.                           the file/directory link will be removed from the 
  562.                           TVFS. 
  563.  
  564.  
  565. ΓòÉΓòÉΓòÉ 3.5. File System Display Commands ΓòÉΓòÉΓòÉ
  566.  
  567.  
  568. ΓòÉΓòÉΓòÉ 3.5.1. TVSTATUS ΓòÉΓòÉΓòÉ
  569.  
  570. The TVSTATUS command is used to display the status of the current control 
  571. program (is the program running and, if so, what is its process id). 
  572.  
  573. The syntax of TVSTATUS is: 
  574.  
  575. TVSTATUS
  576.  
  577. A sample invocation is: 
  578.  
  579. TVSTATUS
  580.  
  581.  
  582. ΓòÉΓòÉΓòÉ 3.5.2. TVDRIVE ΓòÉΓòÉΓòÉ
  583.  
  584. The TVDRIVE command is used to display the set of TVFS drives. 
  585.  
  586. The syntax of TVDRIVE is: 
  587.  
  588. TVDRIVE
  589.  
  590. A sample invocation is: 
  591.  
  592. TVDRIVE
  593.  
  594.  
  595. ΓòÉΓòÉΓòÉ 3.5.3. TVDIR ΓòÉΓòÉΓòÉ
  596.  
  597. The TVDIR. command is used to display a TVFS directory, including redirection 
  598. information. 
  599.  
  600. The syntax of TVDIR is: 
  601.  
  602. TVDIR [-a] [-r|-w|-rw] [directory]
  603.  
  604. A sample invocation is: 
  605.  
  606. TVDIR x:\bin
  607.  
  608.  Option              Description 
  609.  
  610.  -a                  List all incidents of redirection. 
  611.  
  612.  -r|-w|-rw           The access mode to list (read, write, or read/write). 
  613.  
  614.                      The type of redirection for the listed files may be 
  615.                      specified through this option (.e.g. display where all 
  616.                      files in the current directory will be written to). 
  617.  
  618.                      The default access mode is read access. 
  619.  
  620.                      Note:  The TVDIR command may only list those files on a 
  621.                      read (or read-write) link. Write-only links should be 
  622.                      inspected via the TVSCREEN utility or the TVCTL verbose 
  623.                      mode. This is a consequence of the "hidden" nature of 
  624.                      write-only links. 
  625.  
  626.  directory           The directory to be displayed. 
  627.  
  628.                      Each directory and file/directory link in the given TVFS 
  629.                      directory will be listed. If no directory is specified, 
  630.                      the current directory is used. Wildcard characters may be 
  631.                      specified. 
  632.  
  633.  
  634. ΓòÉΓòÉΓòÉ 3.5.4. TVSHOW ΓòÉΓòÉΓòÉ
  635.  
  636. The TVSHOW command is used to show a TVFS file or directory mapping. 
  637.  
  638. The syntax of TVSHOW is: 
  639.  
  640. TVSHOW [pathname]
  641.  
  642. A sample invocation is: 
  643.  
  644. TVSHOW x:\bin
  645.  
  646.  Option              Description 
  647.  
  648.  pathname            The file or directory to be shown. 
  649.  
  650.                      For the specified file or directory, the set of TVFS links 
  651.                      will be shown. This includes the order, access mode, and 
  652.                      full pathname of each linked to file system. If no 
  653.                      pathname is specified, the current directory is used. 
  654.  
  655.  
  656. ΓòÉΓòÉΓòÉ 3.6. File System Synchronization Commands ΓòÉΓòÉΓòÉ
  657.  
  658.  
  659. ΓòÉΓòÉΓòÉ 3.6.1. TVSYNC ΓòÉΓòÉΓòÉ
  660.  
  661. The TVSYNC command is used to move/copy/delete/list files on specific TVFS 
  662. links based upon access permissions and file masks. 
  663.  
  664. The syntax of TVSYNC is: 
  665.  
  666. TVSYNC [-l|-d] [-r|-w|-rw] source
  667. TVSYNC [-c|-m] [-r|-w|-rw] source move/copy-target
  668.  
  669. A sample invocation is: 
  670.  
  671. TVSYNC -cr x:\*.* c:\tmp
  672.  
  673.  Option              Description 
  674.  
  675.  -l                  List. 
  676.  
  677.                      List all source files on the TVFS links with the specified 
  678.                      access permissions. 
  679.  
  680.  -d                  Delete. 
  681.  
  682.                      Delete all source files on the TVFS links with the 
  683.                      specified access permissions. 
  684.  
  685.  -c                  Copy. 
  686.  
  687.                      Copy all source files on the TVFS links with the specified 
  688.                      access permissions. 
  689.  
  690.  -m                  Move. 
  691.  
  692.                      Move all source files on the TVFS links with the specified 
  693.                      access permissions. 
  694.  
  695.  source              The source file mask. 
  696.  
  697.  move/copy-target    The target file specification (move and copy options 
  698.                      only). 
  699.  
  700.  
  701. ΓòÉΓòÉΓòÉ 3.7. File System Cache Management Commands ΓòÉΓòÉΓòÉ
  702.  
  703.  
  704. ΓòÉΓòÉΓòÉ 3.7.1. TVCLEAN ΓòÉΓòÉΓòÉ
  705.  
  706. The TVCLEAN command is used to clean up cached file system entries. For more 
  707. information on caching, please see Virtual Cache Management. 
  708.  
  709. The syntax of TVCLEAN is: 
  710.  
  711. TVCLEAN [-i[999]] [-n] [-r] [-v]* [pathname]
  712.  
  713. A sample invocation is: 
  714.  
  715. TVCLEAN -i5vvvvv x:\*.*
  716.  
  717.  Option              Description 
  718.  
  719.  -i[999]             The cleanup interval in minutes. 
  720.  
  721.                      If a cleanup interval is specified, the program will run 
  722.                      in an infinite loop. Upon each execution of the loop, the 
  723.                      cleanup process will sleep for the specified interval. In 
  724.                      this manner, a cache cleanup process may be set up to run 
  725.                      permanently in the background. 
  726.  
  727.  -n                  Permit the use of nonexistant pathnames. 
  728.  
  729.                      Cleanup processing will typically validate the passed 
  730.                      pathname and fail if it is not valid (including if it does 
  731.                      not exist). This option will eliminate this validation. 
  732.                      This permits the creation of a cleanup process for 
  733.                      transient pathnames. 
  734.  
  735.  -r                  Run recursively. 
  736.  
  737.                      This option will result in the recursive cleanup of the 
  738.                      specified pathname and all (cached) entries below it in 
  739.                      the directory tree. 
  740.  
  741.  -v                  The verbosity level. 
  742.  
  743.                      Cleanup processing is normally quite terse. The verbosity 
  744.                      level may be increased by specifying the -v option 
  745.                      multiple times. The TVCLEAN program currently supports up 
  746.                      to five levels of verbosity (i.e. -vvvvv). 
  747.  
  748.  pathname            The pathname to clean up. 
  749.  
  750.                      This is the pathname that is to be cleaned up. It may 
  751.                      contain wildcard characters. If a pathname is not 
  752.                      specified, the current directory/pathname is used. 
  753.  
  754.  
  755. ΓòÉΓòÉΓòÉ 3.8. File System Dynamic Link Library Commands ΓòÉΓòÉΓòÉ
  756.  
  757. The TVFS supports dynamic linking to a fixed set of commands. The DLL support 
  758. provides the ability to write TVFS configuration programs. It also permits, 
  759. through the TVCMD utility built upon the DLL support, faster execution of a 
  760. given set of TVFS commands. The TVCMD utility is described below. For more 
  761. information, please see Dynamic Link Library Command Support. 
  762.  
  763.  
  764. ΓòÉΓòÉΓòÉ 3.8.1. TVCMD ΓòÉΓòÉΓòÉ
  765.  
  766. The TVCMD command is used to run a set of TVFS commands. 
  767.  
  768. The syntax of TVCMD is: 
  769.  
  770. TVCMD [tvmount-cmd|tvumount-cmd|tvlink-cmd|tvulink-cmd|tvmkdir-cmd]*
  771.  
  772. A sample invocation is: 
  773.  
  774. TVCMD tvmount x: tvlink x:\c c:\ -rw
  775.  
  776. The TVCMD utility will invoke the passed set of commands sequentially. If any 
  777. of the commands fail, execution is terminated and the appropriate return code 
  778. is passed back. 
  779.  
  780. All of the commands should be self-explanatory except for "tvmkdir-cmd". It 
  781. simply provides an interface to the DOS "mkdir" command. 
  782.  
  783.  
  784. ΓòÉΓòÉΓòÉ 3.9. File System Remote Execution Commands ΓòÉΓòÉΓòÉ
  785.  
  786. The TVFS supports the integration of user defined programs, thereby providing a 
  787. facility for remote processing based upon file system events. For more 
  788. information, please see Remote Execution Support. 
  789.  
  790.  
  791. ΓòÉΓòÉΓòÉ 3.9.1. TVREMOTE ΓòÉΓòÉΓòÉ
  792.  
  793. The TVREMOTE command is used to add to, delete from, and list the set of remote 
  794. programs. 
  795.  
  796. The syntax of TVREMOTE is: 
  797.  
  798. TVREMOTE [-a queue-name description] [-d [queue-name|*]] [-l] [-u]
  799.  
  800. A sample invocation is: 
  801.  
  802. TVREMOTE
  803.  
  804.  Option              Description 
  805.  
  806.  -a                  Add a remote program. 
  807.  
  808.  -d                  Delete a remote program. 
  809.  
  810.  -l                  List the set of remote programs currently registered. 
  811.  
  812.  -u                  Unblock the (blocked) control program. 
  813.  
  814.                      This option should only be used in extreme cases when 
  815.                      manual intervention is required to reset/unblock the 
  816.                      control program. 
  817.  
  818.  queue-name          The message queue name to be added or deleted. 
  819.  
  820.                      A message queue uniquely identifies the program to be 
  821.                      registered. All further communication between the TVFS and 
  822.                      the program will occur via this message queue. 
  823.  
  824.                      If a message queue of `*' is specified on delete, all 
  825.                      registered programs will be deleted. 
  826.  
  827.  description         The description of the user program (message queue) being 
  828.                      added. 
  829.  
  830.  
  831. ΓòÉΓòÉΓòÉ 3.9.2. TVSCREEN ΓòÉΓòÉΓòÉ
  832.  
  833. The TVSCREEN command is used to monitor the open TVFS files. 
  834.  
  835. The syntax of TVSCREEN is: 
  836.  
  837. TVSCREEN
  838.  
  839. A sample invocation is: 
  840.  
  841. TVSCREEN
  842.  
  843. The TVSCREEN command is an example of a remote program. When executed, it will 
  844. register itself with the TVFS and display the set of files opened by the TVFS 
  845. over its lifetime. When terminated, TVSCREEN will unregister itself with the 
  846. TVFS. 
  847.  
  848. Note:  The TVSCREEN command is provided as a sample remote program. For this 
  849. reason, it has been implemented in as simple a manner as possible (e.g. scroll 
  850. bars are not supported). For information on obtaining the associated source 
  851. code, please see Remote Execution Support. 
  852.  
  853.  
  854. ΓòÉΓòÉΓòÉ 4. Usage ΓòÉΓòÉΓòÉ
  855.  
  856. The TVFS is a general purpose file system. However, it was written with a set 
  857. of specific applications in mind. A description of these applications follows. 
  858. A sample session involving the creation and usage of a TVFS file system 
  859. instance is also given. 
  860.  
  861.  
  862. ΓòÉΓòÉΓòÉ 4.1. Sample Applications ΓòÉΓòÉΓòÉ
  863.  
  864.    1. Provide the ability to link OS/2 FAT file system names to HPFS or UNIX 
  865.       file system names. 
  866.  
  867.       Through the TVFS, the short (8.3 format) names supported by the FAT file 
  868.       system may be linked to the long (less restricted) name format supported 
  869.       by the HPFS and UNIX file systems. In this manner, tools that depend on 
  870.       the FAT file system may be able to better cooperate with HPFS and UNIX 
  871.       name spaces. 
  872.  
  873.       UNIX file systems may be mounted under OS/2 via the OS/2 Network File 
  874.       System Program Product. 
  875.  
  876.    2. Provide the basis for an OS/2 build utility. 
  877.  
  878.       A typical OS/2 source code library stores files on an OS/2 LAN server 
  879.       within several distinct directories (and possibly across several LAN 
  880.       servers). Through the TVFS, these directories may be combined into a 
  881.       single search path that may be used for building via a general purpose 
  882.       build tool (e.g. MAKE). 
  883.  
  884.  
  885. ΓòÉΓòÉΓòÉ 4.2. A Sample Session ΓòÉΓòÉΓòÉ
  886.  
  887. A sample session involving the use of the TVFS is given below. 
  888.  
  889.      Start the TVFS control program. 
  890.  
  891.             tvctl -Dw
  892.  
  893.      Mount a TVFS file system instance. 
  894.  
  895.             tvmount x:
  896.  
  897.      Locate to the TVFS file system instance. 
  898.  
  899.             x:
  900.  
  901.      Make a directory within the TVFS. 
  902.  
  903.             mkdir foo
  904.  
  905.      Create a file link under the created directory. 
  906.  
  907.             tvlink x:\foo\my.sys c:\config.sys
  908.  
  909.      Display the linked to file. 
  910.  
  911.             type x:\foo\my.sys
  912.             > The contents of the c:\config.sys file will be displayed...
  913.             > If a search path was employed, the contents of the first
  914.             > existing file with the correct access permission (read)
  915.             > would be provided.
  916.  
  917.      Create a directory link. 
  918.  
  919.             tvlink x:\foodir c:\os2
  920.  
  921.      Display the linked to directory. 
  922.  
  923.             dir x:\foodir
  924.             > The contents of the c:\os2 directory will be displayed...
  925.             > If a search path was employed, the merged output of the dir
  926.             > command on each of the directories in the search path
  927.             > would be provided.
  928.  
  929.      Unmount the file system. 
  930.  
  931.             c:
  932.             tvumount x:
  933.  
  934.  
  935. ΓòÉΓòÉΓòÉ 5. Appendices ΓòÉΓòÉΓòÉ
  936.  
  937.  
  938. ΓòÉΓòÉΓòÉ 5.1. Ordering and Support ΓòÉΓòÉΓòÉ
  939.  
  940. The TVFS package may be ordered from the OS2TOOLS conferencing disk. This may 
  941. be achieved by running the following (CMS) command: 
  942.  
  943. TOOLS SENDTO KGNVMZ PCTOOLS OS2TOOLS GET TVFS PACKAGE
  944.  
  945. All support of the TVFS package is provided by the author through the OS2TOOLS 
  946. conferencing disk. A TVFS forum is available on the IBMPC conferencing disk for 
  947. questions, bug reports, etc. regarding the TVFS. 
  948.  
  949. Note:  The TVFS is also available to external customers via the OS2EWS program. 
  950. All external support is through OS2EWS. 
  951.  
  952.  
  953. ΓòÉΓòÉΓòÉ 5.2. Installation ΓòÉΓòÉΓòÉ
  954.  
  955. Once the TVFS package has been received, its various components should be 
  956. installed as follows. 
  957.  
  958.  Component Name      Installation 
  959.  
  960.  TVFS.INF            The online help should be loaded into a valid help 
  961.                      directory (any directory included in the BOOKSHELF 
  962.                      statement in the OS/2 config.sys file). The help may be 
  963.                      viewed by entering "view tvfs.inf". 
  964.  
  965.  TVFS.IFS            This component provides the file system driver program. 
  966.                      It may reside in any OS/2 directory on the local 
  967.                      workstation.  However, it must be identified via an IFS= 
  968.                      statement in the OS/2 config.sys file. 
  969.  
  970.                      The "/LOGO" parameter may be passed on the IFS= statement 
  971.                      to display the device driver logo at boot time. For 
  972.                      example: 
  973.  
  974.                                           IFS=C:\IFS\TVFS.IFS /LOGO
  975.  
  976.                       Once config.sys has been updated, the machine must be 
  977.                      rebooted to load the IFS. Once the IFS is loaded, it will 
  978.                      execute at the OS/2 Ring 0 level (as opposed to the 
  979.                      traditional Ring 3 level). 
  980.  
  981.  *.DLL               All TVFS DLLs should be loaded in a valid DLL directory. 
  982.                      A valid DLL directory is any directory included in the 
  983.                      LIBPATH statement in the OS/2 config.sys file. 
  984.  
  985.  *.EXE, *.CMD        All TVFS executable programs should be loaded in a valid 
  986.                      executable directory.  A valid executable directory is any 
  987.                      directory included in the PATH statement in the OS/2 
  988.                      config.sys file. 
  989.  
  990.  
  991. ΓòÉΓòÉΓòÉ 5.3. Virtual Cache Management ΓòÉΓòÉΓòÉ
  992.  
  993. The TVFS provides virtual cache management. Caching in most file systems 
  994. implies maintaining (remote) file contents locally. Since the TVFS is virtual 
  995. and redirects requests to other file systems, it will cache the location of a 
  996. file instead of its contents. In this manner, the TVFS may eliminate search 
  997. effort thereby improving performance. 
  998.  
  999. The TVFS only caches information on files accessed in read mode. The cached 
  1000. information will be purged if: 
  1001.  
  1002.    1. An attempt is made to retrieve the cached file in update mode (write or 
  1003.       read/write). 
  1004.  
  1005.    2. The link point the information is cached under is altered (via TVLINK or 
  1006.       TVULINK). 
  1007.  
  1008.    3. The cached information has expired. 
  1009.  
  1010.       When caching is requested, a cache interval may be specified. If no 
  1011.       interval is specified, a default of five minutes is used. An attempt to 
  1012.       use cached information that is older than this interval will result in 
  1013.       the cache entry being invalidated, to be generated anew. 
  1014.  
  1015.  A cache interval may be specified at two levels: the global (file system) 
  1016.  level and the drive level. When the TVFS daemon (TVCTL) is started, caching 
  1017.  may be requested at the global level. All TVFS drives will inherit this 
  1018.  caching interval unless it is overidden by specifying a cache interval at the 
  1019.  drive level (via TVMOUNT). Note that it is possible to enable caching for only 
  1020.  a single TVFS drive. Similarly, it is possible to disable caching for only a 
  1021.  single TVFS drive. 
  1022.  
  1023.  
  1024. ΓòÉΓòÉΓòÉ 5.4. Dynamic Link Library Command Support ΓòÉΓòÉΓòÉ
  1025.  
  1026. The dynamic link library support consists of the TVCMD utility and its 
  1027. associated DLL (TVCMD.DLL). The source for the TVCMD utility is provided with 
  1028. the TVFS to support the writing of TVFS utilities by the user. To obtain the 
  1029. source, simply execute the TVCMDZIP.EXE program (**) that has been provided 
  1030. with the TVFS. 
  1031.  
  1032. It is felt that the sample application is sufficiently straightforward to 
  1033. warrant little (or, rather, no) discussion here. 
  1034.  
  1035.  
  1036. ΓòÉΓòÉΓòÉ 5.5. REXX Support ΓòÉΓòÉΓòÉ
  1037.  
  1038. A REXX dynamic link library is provided to support the invocation of TVFS 
  1039. operations from a REXX script. The DLL (TVRX.DLL) provides support for the 
  1040. loading, invocation, and unloading of the "core" TVFS functions (TvMount, 
  1041. TvUmount, TvLink, TvUlink) as well as a mkdir utility (TvMkdir). 
  1042.  
  1043. A sample of the REXX usage is provided in TVSAMPLE.CMD. 
  1044.  
  1045.  
  1046. ΓòÉΓòÉΓòÉ 5.6. Remote Execution Support ΓòÉΓòÉΓòÉ
  1047.  
  1048. The remote execution support provided by the TVFS enables a user program to be 
  1049. integrated with the TVFS. The user program registers itself with the TVFS by 
  1050. passing a message queue identifier. The message queue will then be used by the 
  1051. TVFS to communicate with the program, notifying the program of file system 
  1052. events. Information related to these events will be passed in a segment 
  1053. allocated by the TVFS. 
  1054.  
  1055. All required information for creating a user program is provided in the 
  1056. supplied header file TVREMOTE.H. This header file is provided along with the 
  1057. sample source code for the TVSCREEN command. To obtain it, simply execute the 
  1058. TVSCRZIP.EXE command (**) that has been provided with the TVFS. 
  1059.  
  1060. It is felt that TVREMOTE.H and the sample application are sufficiently 
  1061. straightforward to warrant little discussion here. However, the following 
  1062. points are worth noting: 
  1063.  
  1064.    1. Only the public declarations in TVREMOTE.H should be used. 
  1065.  
  1066.    2. It is possible for the user to filter messages based upon specific file 
  1067.       system events (file preopen, postopen, preclose, and postclose). 
  1068.  
  1069.    3. It is possible for the user to filter messages based upon the source 
  1070.       (TVFS) drive and the target (redirected) drive involved. 
  1071.  
  1072.    4. It is possible for the user to request the TVFS control program block on 
  1073.       the event until a signal (actually, a semaphore) is set by the user 
  1074.       program. A timeout interval for the blocked control program may also be 
  1075.       specified. 
  1076.  
  1077.    5. It is the responsibility of the user program to free the segments 
  1078.       allocated by the TVFS. 
  1079.  
  1080.    6. It is the responsibility of the user program to unregister itself from 
  1081.       the TVFS. 
  1082.  
  1083.    7. The entry points provided in TVREMOTE.DLL should be imported by the user 
  1084.       program if required. 
  1085.  
  1086.  
  1087. ΓòÉΓòÉΓòÉ 5.7. Known Limitations ΓòÉΓòÉΓòÉ
  1088.  
  1089. Limitations are intended to provide the basis for future TVFS enhancements. 
  1090. However, several limitations are imposed by OS/2 and may not be resolved by the 
  1091. TVFS.  Limitations imposed by OS/2 will be recognized but are not expected to 
  1092. be dealt with in future releases of the TVFS. 
  1093.  
  1094.    1. OS/2 only supports read and write access in the exported file system 
  1095.       interface.  Execute only access is not recognized outside of a file 
  1096.       system, although it is recognized within a file system. Consequently, 
  1097.       execute only files (e.g. on an OS/2 LAN Server) may not be redirected by 
  1098.       the TVFS. 
  1099.  
  1100.    2. The TVFS consists of a set of cooperating Ring 0 and Ring 3 components. 
  1101.       Migration to a single Ring 0 component is preferred (but, alas, 
  1102.       impossible). 
  1103.  
  1104.    3. The TVFS directories only support read only extended attributes. Full 
  1105.       (read/write) extended attributes are supported for redirected file 
  1106.       systems. 
  1107.  
  1108.    4. Several tools require a read/write root directory on a drive (for 
  1109.       example, IPFC). If the root of a TVFS drive is read only, these tools 
  1110.       will fail. 
  1111.  
  1112.    5. Not all Ring 3 components have been ported to 32 bit (OS/2 2.x only). 
  1113.  
  1114.    6. TVFS messages should be generalized/improved (in particular, the DosFSCtl 
  1115.       error messages). 
  1116.  
  1117.    7. Support should be provided for excluded TVFS links to contain TVFS 
  1118.       directory entries. 
  1119.  
  1120.  
  1121. ΓòÉΓòÉΓòÉ 5.8. Known Bugs ΓòÉΓòÉΓòÉ
  1122.  
  1123. Program bugs are prioritized according to their (perceived) severity and will 
  1124. be eliminated accordingly. 
  1125.  
  1126.    1. The DosFindFirst/DosFindNext calls may require the TVFS to return a 
  1127.       merged set of file names. The TVFS, following the OS/2 model, maintains 
  1128.       the case of these file names. However, it ignores case when comparing 
  1129.       file names. Network File Systems, on the other hand, support a "complete" 
  1130.       mixed case name space. Therefore, DosFindFirst/DosFindNext may return a 
  1131.       smaller set of names than is actually available when Network File Systems 
  1132.       are involved. (**) The TVFS should detect the case orientation of the 
  1133.       linked to file systems and merge appropriately. 
  1134.  
  1135.    2. DosFSCtl calls are not redirected. This prevents utilities supported by 
  1136.       other file systems from being supported/redirected by the TVFS. A known 
  1137.       example of such a utility is the NFS ln program (the program responsible 
  1138.       for creating symbolic links in NFS file systems). 
  1139.  
  1140.    3. A single volume label is maintained across all TVFS drives. The label 
  1141.       should be settable per drive. 
  1142.  
  1143.    4. The save/restore scripts do not handle embedded blanks in file (link) 
  1144.       names. 
  1145.  
  1146.  
  1147. ΓòÉΓòÉΓòÉ 6. Glossary ΓòÉΓòÉΓòÉ
  1148.  
  1149.  
  1150. ΓòÉΓòÉΓòÉ 6.1. DLL ΓòÉΓòÉΓòÉ
  1151.  
  1152. DLL 
  1153.  
  1154. Dynamic Link Library. 
  1155.  
  1156. A DLL provides a mechanism to link programs dynamically at run time, as opposed 
  1157. to statically at program build time. 
  1158.  
  1159.  
  1160. ΓòÉΓòÉΓòÉ 6.2. IFS ΓòÉΓòÉΓòÉ
  1161.  
  1162. IFS 
  1163.  
  1164. Installable File System. 
  1165.  
  1166. The OS/2 IFS enables the development of customised file systems that may be 
  1167. integrated with OS/2.  The TVFS and HPFS (High Performance File System) file 
  1168. systems are but two examples of an IFS. 
  1169.  
  1170.  
  1171. ΓòÉΓòÉΓòÉ 6.3. link ΓòÉΓòÉΓòÉ
  1172.  
  1173. link 
  1174.  
  1175. The creation of a connection between file systems.  A link may be considered 
  1176. equivalent to a UNIX "symbolic link" (as opposed to a UNIX "hard link"). 
  1177.  
  1178.  
  1179. ΓòÉΓòÉΓòÉ 6.4. local ΓòÉΓòÉΓòÉ
  1180.  
  1181. local 
  1182.  
  1183. That which is resident on the immediate workstation. 
  1184.  
  1185.  
  1186. ΓòÉΓòÉΓòÉ 6.5. mount ΓòÉΓòÉΓòÉ
  1187.  
  1188. mount 
  1189.  
  1190. To attach a file system to the local workstation.  A mounted file system must 
  1191. be assigned an OS/2 drive letter. 
  1192.  
  1193.  
  1194. ΓòÉΓòÉΓòÉ 6.6. remote ΓòÉΓòÉΓòÉ
  1195.  
  1196. remote 
  1197.  
  1198. That which is not local (typically accessed via the network). 
  1199.  
  1200.  
  1201. ΓòÉΓòÉΓòÉ 6.7. Ring 0 ΓòÉΓòÉΓòÉ
  1202.  
  1203. Ring 0 
  1204.  
  1205. The OS/2 kernel program execution level. 
  1206.  
  1207.  
  1208. ΓòÉΓòÉΓòÉ 6.8. Ring 3 ΓòÉΓòÉΓòÉ
  1209.  
  1210. Ring 3 
  1211.  
  1212. The OS/2 application program execution level. 
  1213.  
  1214.  
  1215. ΓòÉΓòÉΓòÉ 6.9. TVFS ΓòÉΓòÉΓòÉ
  1216.  
  1217. TVFS 
  1218.  
  1219. Toronto Virtual File System 
  1220.  
  1221.  
  1222. ΓòÉΓòÉΓòÉ 6.10. unlink ΓòÉΓòÉΓòÉ
  1223.  
  1224. unlink 
  1225.  
  1226. The removal of a connection between file systems. 
  1227.  
  1228.  
  1229. ΓòÉΓòÉΓòÉ 6.11. unmount ΓòÉΓòÉΓòÉ
  1230.  
  1231. unmount 
  1232.  
  1233. To detach a file system from the local workstation. 
  1234.  
  1235.  
  1236. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  1237.  
  1238. UNIX is a trademark of AT&T. 
  1239.  
  1240.  
  1241. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  1242.  
  1243. The control program executes at the Ring 3 level. It communicates with the 
  1244. TVFS.IFS control program running at Ring 0 via the DBFS package provided by 
  1245. David Bolen. 
  1246.  
  1247.  
  1248. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  1249.  
  1250. The environment variable should give the full pathname of an OS/2 command file 
  1251. (an OS/2 command file name must end in ".cmd"). In this manner, one may save 
  1252. several, distinct TVFS configurations and restore them at will. The saved 
  1253. command file may also be edited at the discretion of the user. 
  1254.  
  1255.  
  1256. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  1257.  
  1258. External customers should unzip the TVCMD.ZIP file. 
  1259.  
  1260.  
  1261. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  1262.  
  1263. External customers should unzip the TVSCREEN.ZIP file. 
  1264.  
  1265.  
  1266. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  1267.  
  1268. Note that all other commands against the TVFS handle case correctly without 
  1269. knowledge of the type of file system linked to. This is achieved by letting the 
  1270. linked to file system determine how to handle case. For 
  1271. DosFindFirst/DosFindNext, the TVFS must handle the case for all involved file 
  1272. systems.