                      FTPIFS Frequently Asked Questions
1. General questions
    a. What is FTPIFS?
    b. What is the main difference between FTPIFS and any other ftp client?

2. Unclear features
    a. What is MetaDrive?
    b. Why I have to use 'rd MetaDir' command to remove MetaDirectory?
    c. I am getting strange results while trying to use MetaDrive or FTPFS
       parameters (e.g. Passive, Limit, ...)
    d. I don't want to type my password as plain text in command line.
    e. I have a limited maximum of connections to a host. And FTPIFS has problems
       with this host.
    f. What is FTP proxy and what is HTTP proxy?
    g. You have directory cache feature. What do I have to do to refresh
       directory?
    i. What is ftp-to-ftp proxy mode?

3. Performance issues
    a. Is FTPIFS fast or slow client?
    b. How can I get CPS visible?
    c. What is the third parameter of recopy.cmd?

4. Dialup issues
    a. I can't use FTPIFS because I have dialup connection to Internet, can I?

5. Problems and limitations
    a. I can't work with FTPIFS drive from DOS (WINOS/2) session.

                              General questions

Q: What is FTPIFS?
A: FTPIFS is an OS/2 ftp client.

Q: What is the main difference between FTPIFS and any other ftp client?
A: FTPIFS was made as OS/2 File System Driver.
    This means that you may attach FTP host to a drive letter and use it from
   any OS/2 session. Any OS/2 program will have direct access to FTP without
   making special changes to it.
    As an OS/2 developer you may use standard system calls to access FTP host
   using any programming language from C to REXX. I've used no special features
   or calls to make recopy.cmd. It is pure REXX.

                               Unclear features

Q: What is MetaDrive?
A:  As you know any disk, CD or diskette takes a drive letter. Systems, that has a
   plenty of resources use many drive letters -  and so has little amount
   available for FTPIFS. Metadrive helps in such a situation.
    Metadrive allows you to have more than one host attached to a single drive
   letter. You can have a virtual directory structure like this:

   [W:\]                        MetaDrive
      |
      |-- Local                 Hosts from your LAN
      | |
      | |-- Company             ftp.mycompany.net
      | +-- Myserver           localhost
      |
      |-- Internet              Internet hosts
      | |
      | |-- Active              Direct-accessed hosts
      | | |
      | | +-- Provider          ftp.myprovider.net
      | |
      | |-- Passive             Hosts accessed using 'passive' option
      | | |
      | | |-- cdrom             ftp.cdrom.com
      | | +-- hobbes            hobbes.nmsu.edu
      | |
      | +-- Proxied             Hosts accessed using http proxy
      |   |
      |   +-- friend            ftp.myfriend.ml.org
      |
      +-- Quick                 ftp.software.ibm.com - Quick-accesed host in
                                the MetaDrive root directory

     This tree can be constructed using next commands:
     [C:\]ftpfs use w: -
     [C:\]ftpfs use w:\Local -
     [C:\]ftpfs use w:\Local\Company ftp.mycompany.net
     [C:\]ftpfs use w:\Local\Myserver localhost
     [C:\]ftpfs use w:\Internet -
     [C:\]ftpfs use w:\Internet\Active -
     [C:\]ftpfs use w:\Internet\Active\Provider ftp.myprovider.net
     [C:\]ftpfs use w:\Internet\Passive - passive
     [C:\]ftpfs use w:\Internet\Passive\cdrom ftp.cdrom.com passive
     [C:\]ftpfs use w:\Internet\Passive\cdrom hobbes.nmsu.edu passive
     [C:\]ftpfs use w:\Internet\Proxied - proxy=http://proxy.myprovider.net:3128
     [C:\]ftpfs use w:\Internet\Proxied\friend ftp.myfriend.ml.org
proxy=http://proxy.myprovider.net:3128
     [C:\]ftpfs use w:\Quick ftp.software.ibm.com

Q: Why I have to use 'rd MetaDir' command to remove MetaDirectory?
A: 'rd' command in OS/2 is used to remove empty directories. So most File
   Managers when you tell them to remove directory first deletes it's contents,
   and then removes the directory itself. So if you will try to remove
   MetaDirectory from FileManager It can erase the whole FTP host.

Q: I am getting strange results while trying to use MetaDrive or FTPFS
   parameters (eg. Passive, Limit, ...)
A: The most possible problem, is that you are using unregistered version.
   If you want try all the features, use demo key from \demo subdirectory.
   For details of demo limitation see demo.txt

Q: I don't want to type my password as plain text in command line.
A: FTPFS utility has the option to ask username and/or password from user.

   Here is examples of URLs with descriptions of modes:

   ftp://host               Connect to host with username 'anonymous'
                            and default password
   ftp://uname@host         Connect to host with username 'uname'
                            and provide default password if needed
                            (Use this mode if server recognizes another
                            username as anonymous, for example 'ftp')
   ftp://uname:pass@host    Connect to host with username 'uname'
                            and password 'pass'
   ftp://@host              Ask for username; use default password
   ftp://:@host             Ask for both username and password
   ftp://uname:@host        Use username 'uname' and ask for password

   Note: 'ftp://' part of URL is optional

Q: I have limited maximum of connections to a host. And FTPIFS has problems
   with this host.
A: Use limit=n FTPFS option. Then FTPIFS will make no more than n connections
   to this host.

Q: What is FTP proxy and what is HTTP proxy?
A: FTP proxy is the proxy, that use special form of FTP login to establish
   connections to remote host.
   HTTP proxy is the proxy that uses HTTP protocol to provide access to many
   types of resources, including FTP.

   Here is the short questionary for you to determine
   what type of proxy you  have:

   I am using this proxy in Netscape/Web Explorer/Opera/other Web browser
   This is HTTP proxy.

   I am using this proxy with WGET ftp client
   This is HTTP proxy.

   I am using this proxy with FTP browser (except wget)
   This is FTP proxy.

   I am using this proxy with FTP browser in no-proxy mode.
   To login I connect to proxy and enter 'password@host' as password
   This is FTP proxy.

   The proxy resides on 21 port.
   This is FTP proxy

   The proxy resides on 80 or 3128 port.
   This is HTTP proxy

   If you still don't know if your proxy FTP or HTTP try enter
        [C:\]telnet -p proxy_port proxy_host
   After the screen goes blank, wait a little.

   If you can see invitation, starting with '2' symbol, this is FTP proxy.
   If you don't see anything, this is HTTP proxy.

Q: You have directory cache feature. What do I have to do to refresh directory?
A: Directory refresh is automatically started when you reread the directory.
   When data will be transferred to your system, old copy of directory will be
   discarded.
   So, to update directory, reread directory once (for example
   issue 'dir <directory>' command), wait some time (for directory to transfer)
   and then reread it once more.
   Also cached copy of directory is automatically discarded when one of 'write'
   commands entered. 'Write' commands are: MakeDir, RemoveDir, DeleteFile
   Close file (opened in write mode).
   Additional commands that initiate refreshing are: GetFileAttributes,
   OpenFile

Q: What is ftp-to-ftp proxy mode.
A: Let's describe the situation when you need to copy files from one FTP server
   to another.
   Using any FTP browser you will first download this file to your local
   workstastion and then upload it to destination server. There are some
   minuses of such operation:
    1)You will need space on your local drive to put file on.
    2)Data flow will be unoptimal
      (Source server -> your workstation -> destination server)
      Data is send over network twice and things get more bad if
      you have slow connection to Internet.
   Also you can you FTPFS in normal mode. The only minus will be unoptimal
   data flow.
   Using ftp-to-ftp proxy mode you will simply control copying, and the
   data will be transfered directly from one server to another.


                              Performance issues

Q: Is FTPIFS fast or slow client?
A: I've compared FTPIFS with WGET on local server. FTPIFS was faster than
   WGET for nearly 10%.
   In general, there is some overhead in more often directories downloads.
   But file transferring supposed to be as fast as in other FTP client.
   Also, you may compare them by yourself (check next answer).

Q: How can I get CPS visible?
A: Use recopy.cmd enclosed. This command file shows you CPS and ETA.

Q: What is the third parameter of recopy.cmd?
A: This parameter is the block size of transfer.
   Enlarging it you can lower overhead, but don't make it too large - this
   is the memory to be allocated while transferring.
   There are three types of overhead:
    FTPIFS overhead (The smallest one - simply reading cycle)
    System overhead (passing commands from program to FTPIFS)
    REXX overhead (Output of status line after processing of each block)

   But: there is block size limitations on first two levels
        FTPIFS will break the request it receives into ~20Kb blocks,
        System accepts blocks no larger than 65Kb
        So, if you select 100Kb block, you will have two blocks on system
        and ~5 blocks at FTPIFS level.
        But you will lower the most time-consuming overhead: REXX
        (since screen output is the most time-consuming operation)
        I can propose you to use blocks, that can be transferred in
        ~1 second. recopy.cmd default is normal for dialup operations,
        but if you are using stronger channel, raise it (or even change
        default in recopy.cmd if you know REXX).

                                Dialup issues

Q: I can't use FTPIFS because I have dialup connection to Internet, can I?
A: You can. FTPIFS was especially designed for Dialup usage:
    It has reget feature
    It has proxy/passive modes
    You must not reattach drives after redials, it will automatically reconnects
        to a host.

                           Problems and limitations

Q: I can't work with FTPIFS drive from DOS (WINOS/2) session.
A: You can't use FTPIFS drive from DOS sessions (with exception of
   case-insensitive servers). The problem is that DOS uppercases file names.
   It is normal for OS/2, but most FTP servers are case-sensitive and they
   will fail. I am looking for workarounds, but they are all too
   time-consuming.




