You are on page 1of 9


Version 1.05
Novemeber 6, 1993

By Lindsey Smith


US Mail: 8276 Menlo Drive

Baton Rouge, LA 70808

Based on FSP 2.6.5

By Wen-King Su

I. What is PCFSP?

PCFSP is a port to the PC of the UNIX program set collectively known as

FSP. Well then, what is FSP? FSP is a TCP/IP file transfer protocol similar
to FTP, the standard Internet file transfer program. With FSP you (the
client) can upload and download files from an FSP site (the server)
via the Internet. If you have an Internet-connected PC, I highly recommend
you give PCFSP a try.

PCFSP is CardWare. To be a fully registered user of PCFSP you must

send a postcard to the US mail address above. I prefer something
scenic or touristy... In return for the postcard, you'll be notified
by Internet email (don't forget to give/email me your Internet
address) of updates to PCFSP. That's not too bad is it?

II. What do I need to run PCFSP?


Basically you need a PC that is connected to the Internet and has some
sort of packet driver loaded. Exactly what drivers you need to load
and what other configuration tweaking needs to be done before you can
access the Internet is far beyond the scope of this document. There are
far to many networking operating systems and PC TCP/IP implementations
for me to give you much help in this department. Don't be intimidated
by this, though. You'll proabably just need to talk to your network
administrator before you begin configuring PCFSP. He/she should be able
to get you up and running. Just remember that PCFSP itself is very simple
to configure, it's making your system capable of running PCFSP or any
other Internet access software that can be tricky.

III. Configuring PCFSP


PCFSP depends on a file called WATTCP.CFG for its configuration

information. If you have used Internet access software on your PC
before, then filling in the information in WATTCP.CFG should be
pretty straightforward. Otherwise I suggest you get your system
administrator to help you fill it in.

Edit the sample WATTCP.CFG file provided. My WATTCP.CFG file is

shown below as an example.


The my_ip line should be set to your unique IP address. The netmask
line should be set to the netmask of your LAN's configuration. The
nameserver line should be set to a numeric IP address that will resolve
IP names into IP numbers. And finally, the gateway line should be set
to the address of your Internet gateway.

If gateways and netmasks are Greek to you, don't worry. As I've said
before, your network administrator should be able to fill in the
information for you. It's really not as complicated as it might seem.

The WATTCP.CFG file needs to be in the same directory as the PCFSP

executables. You can, however, put the executables and WATTCP.CFG in
a directory in your DOS path. As long as WATTCP.CFG is in the same
directory as the executables, PCFSP should be able to run properly.

Once you have WATTCP.CFG filled in, run the SETFSP batch file. This
file sets the FSP_HOST and FSP_PORT environment variables to usable
defaults. Now run FVER. If your WATTCP.CFG is set properly, then
FVER should first print "[SEISMO.SOAR.CS.CMU.EDU : 21]". If it
does not, there is either something wrong in your WATTCP.CFG file
or the Waterloo TCP/IP library used in PCFSP is incompatible with
your network configuration. Double check your WATTCP.CFG, then try
again. If FVER still doesn't work, contact me at the email address at
the top of the file.

If everything has worked so far, FVER should have printed

"[SEISMO.SOAR.CS.CMU.EDU : 21]". Next it should print the FSP version
information for the seismo site. If FVER does not print the version
information, then the seismo site may be down. Refer to the section on
changing FSP sites and the site list at the end of this document.
Set FSP_HOST and FSP_PORT to a site other than seismo and run FVER
again. If _that_ site doesn't respond correctly, keep trying the
other sites in the list. If none of the sites respond, as above,
contact me at the email address at the top of file.

If FVER responded properly, then your configuration should be

finished. All other FSP commands should work without any other

IV. Changing FSP Sites


Like its UNIX predecessor, PCFSP uses two environment variables to

specify the FSP server you are interacting with. The FSP_HOST
variable contains the IP number or name of the site and the FSP_PORT
variable contains the FSP port number. As a start, some name and
port pairs are included at the end of this document.

FSP_HOST and FSP_PORT must be defined for any PCFSP command to work.
The SETFSP batch file is a convenient way of doing this.

When you want to change sites, merely change the settings of FSP_HOST
and FSP_PORT at the DOS prompt like this:

C:\>set fsp_port=21

That's all there is to it.

Whenever you change sites be aware of the fact that the site you want
to access might be down. I recommend that whenever you change sites
that you either run "FVER" or "FCD /" to verify that the site will

Also be aware that changing sites does not reset the FSP_DIR. This is
another good reason to do an "FCD /" right after you change sites.

V. PCFSP Command Set


Below is a description of each PCFSP command. The format is as


COMMAND [-switches] RequiredParamter [OptionalParameter]


COMMAND is the name of the PCFSP executable (.EXE) file

[-switches] are optional command line switches that modify the behavior
of the command. Switches are combinable so "FLS -l -a" is equivalent to
"FLS -la"

RequiredParameter is a paramter that must be specified. For example,

file1 must be specified when using the FCAT command.
[Optional Paramter] is a paramter that may be specified only if
necessary. Usually optional paramters come in the form of multiple
paths, files, or directories. For example, if you wanted to list
the contents of more than one directory you could "FLS dir1 dir2"
instead of "FLS dir1", then "FLS dir2"

The three paramter types:

A file is an actual file and not a directory. FCAT paramters, for

example, must be files since you cannot literally view a directory
as you could a text file.

A directory is an actual directory and not a file. Dot (.) is the

current directory, dot-dot (..) is parent directory, and forward
slash (/) is the root directory.

A path may either be a file or a directory. You can, for example,

perform FLS operations on both files and directories.

All FSP commands can be cleanly exited by pressing Ctrl-C,

Ctrl-Break, or ESC.

Setting the FSP_TRACE environment variable will cause all PCFSP

commands to print hash marks as operation progresses. The SETFSP
batch file will do this for you.

FCAT file1 [file2] ... [fileN]

FCAT is similar to the DOS TYPE command. It reads text files from the
server machine and then displays them on your screen. The files are
not saved on your machine as they would be during an FGET.

FCD [directory]

If no path is specified, FCD prints the current working directory on

the server machine. If a path is specified, FCD attempts to change into
that directory. FCD works similarly to the DOS CD command with the
notable exception that the slash convention is reversed. In DOS you
use a backslash (\) to specify the root and to separate directories.
FSP, however, adheres to the UNIX convention of the forward slash ('/').

FGET [-oprs?] file1 [file2] ... [fileN]

FGET attempts to retrieve files from the server machine. The * and ?
wildcards are expanded.

During the course of PCFSP use you are certain to run into UNIX long
filenames: files that do not meet the DOS limitation of 8 characters,
a dot (.), and a 3 character extension. FGET attempts to "fix" long
filenames into valid, unique DOS filenames. For example if you were
to "FGET Long.File.Name.1 Long.File.Name.2", FGET would create 2
unique files instead of merely overwriting the first file with the

Also be aware of the fact that UNIX filenames are case sensitive, so
READ.ME, Read.Me, and are all different files.

FGET has four, mutually exclusive command line switches that modify
its behavior when it detects that it might overwrite a file that
already exists on your harddrive.

-o Overwrite the file that already exists

-p Prompt on each file whether to overwrite, rename, or skip the


-r Attempt to rename the file to a unique filename to preserve the

file that already exist but still get file from the server

-s Skip the file without overwriting the file that already exists

-? Prints the FGET usage message

FLS [-1ACFLRacdfgiklqrstu?] [path1] [path2] ... [pathN]

FLS lists the contents of directories in the same way as the UNIX ls
command. If you are not a UNIX user, ls is an ancestor of the DOS DIR
command. If you do not specify a path, FLS lists the contents of the
current directory. By default FLS displays only the names of files
in the directory and sorts them alphabetically. You can modify FLS's
behavior using the following command line switches.

-1 List one entry per line

-A List all entries beginning with a period (.) except for . and ..

-C Force multicolumn output with entries sorted down the columns

-Dxx/yy/zz Display only files that were last modified on or after

the date specified in month/day/year format

-F Mark directories with a trailing /, sockets with a trailing =,

symbolic links with a trailing @, and executable files with a
trailing *

-L For symbolic links, list the file or directory the link

references rather than the link itself

-R Recursively list subdirectories encountered

-a List all entries; by default, entries whose names begin with a

period (.) are usually not listed (see -A)

-c Use time of last file status change for sorting or printing

-d List only the name (not the contents) of directory arguments.

Often used with -l to get the status of a directory
-f Turns off entry sorting

-g Include the group ownership of the file in a long output

-i Include the i-number of each file in the first column of the


-k Print file sizes in kilobyte blocks

-l List in long format, giving mode, number of links, owner, size

in bytes, and time of last modification for each file (see -u).
For symbolic links, the pathname of the linked-to file is
preceded by "->"

-q Print nongraphic characters in file names as the character '?'

-r Reverse the order of sort to get reverse alphabetic or oldest

first as appropriate

-s Give the size of the disk blocks (in kilobytes rounded up to

the nearest kilobyte) allocated for each file. This number
depends, in part, on the block size of the disk partition the
file resides on

-t Sort by time modified (latest first) instead of by name

-u Use time of last access instead of last modification for

sorting (with the -t option) and printing (with the -l option)

-? Prints an abbreviated usage message

FMKDIR directory1 [directory2] ... [directoryN]

FMKDIR attempts to create the specified directories.

Be aware that you may not have rights to create directories on server

FPRO [+c] [-c] [+d] [-d] [directory1] [directory2] ... [directoryN]

FPRO without the +/-c or +/-d arguments displays the directory

protection mode of each path. You can modify each path's directory
protection mode with the following switches:

+c give others permission to create new items

-c deny others permission to create new items
+d give others permission to delete old items
-d deny others permission to delete old items

FPUT file1 [file2] ... [fileN]

FPUT attempts to upload the specified file(s) to the server machine.

The * and ? wildcards are expanded as necessary.

FRM file1 [file2] ... [fileN]

FRM attempts to delete the specified file(s). The * and ? wildcards

are expanded as necessary.

Be aware that you may not have rights to delete files on server

FRMDIR directory1 [directory2] ... [directoryN]

FRMDIR attempts to delete the specified directories.

Be aware that you may not have rights to delete certain directories
on server machines.


With no parameters, FVER returns the server's FSP version information.

If specify any parameters, FVER prints the PCFSP version information.

V. Additional PCFSP features



Setting this variable will cause PCFSP commands to print hash marks
periodically during the course of operation so you know that the
operation is proceeding. The marks, the letters 'R', 'I', and 'E', each
have a certain meaning. 'R' is printed the first time the client
listens for a response from the server. An 'I' is printed for each
listen after the first. E means an error has occured and PCFSP will
retry the last operation. You can set (enable) tracing or unset
(disable) tracing with the following commands.

C:\>set fsp_trace=1 (to enable)

C:\>set fsp_trace= (to disable)


Setting this variable to a filename will cause FGET to log all

transactions it makes. You can set (enable) tracing or unset
(disable) tracing with the following commands.

C:\>set fsp_log=c:\fsp\fsp.log (to enable)

C:\>set fsp_log= (to disable)
VI. FSP Site List

This list is by no means complete. It was merely culled from the

alt.comp.fsp Frequently Asked Questions (FAQ) file.

There is a list, maintained by <>,

which you can get hold of by fsp from (port
2001):/pub/lists/fsp-servers. Various other people produce
lists as well: have a look around!

You are encouraged to post site information to alt.comp.fsp, and

if you post in the format below, most people will be able to
slurp your list straight into their front-end programs. There's
an unofficial standard for the format, which you can find on taxus
in the file "fsplist.std".

In the meantime, here's a list to get you going. 21 alpha # GNU Alpha releases 21 genie # small UK site 2001 germany # big German archive 21 mosaic # BSD386/Usenet 30 seismo # main FSP code site 21 src # big UK site 9000 taxus # fspadm, fsp-shell tools 21 terra # big Netherlands site 21 tsx # linux 21 warwick # Computer Underground Digest 21 wuarchive # WUStL archive site



4DOS is a wonderful COMMAND.COM replacement that implements several

features that generic MS-DOS does not such as command aliasing and
scrollback. The FGET command automatically detects if you are using
4DOS. If you are, FGET creates an entry in the DESCRIPT.ION file for
each file that you get. The entry contains the original long filename
before FGET converted it into a DOS compatible filename.

If you take a look at the provided SETFSP.BAT there are few ALIAS
commands REM'd out. If you are using 4DOS I highly recommend removing
the REMs and using the aliases. I find they are very handy.

VIII. End Notes


Hopefully this document has given you enough information to configure

and use PCFSP without too much fuss. If you run into problems or
bugs or have questions or comments, don't hesitate to email me at the
address at the top of the file. In the future I'd like to distribute
a troubleshooting guide, so if you run into a problem and then solve
it, let me know so I can include your solution.

There are two discussion groups at present for FSP. The first is the
alt.comp.fsp Usenet newsgroup and the second is an Internet mailing
list which can be subscribed to by sending mail to

If you have any ideas or bug reports for PCFSP, drop me a line. All
suggestions are appreciated.

Finally, many thanks to Keith Grimes for all the testing and coding
he has done to PCFSP. Many of features were conceived and/or implemented
by him.

IX. Legal Stuff


PCFSP is provided as is and without warranty. The author is not

liable for any damage occuring from usage of this software.

The PCFSP software package is Copyright 1993 by Lindsey Smith.