NOTE: Even if you don't want to read anything, READ the INSTRUCTIONS
section at the end because it will tell you how to set up the
program to use the name of your network and the help and site
list files.
**********************************************************************
OO O OOOOO OOOO O O The North Carolina State
O O O O O O O University Motif Group
O O O O OOOO O O NCSU Box 8206
O O O O O O O Raleigh, NC 2695-8206
O OO OOOOO OOOO OOOO
O O OOOO OOOOOOO O OOOOO OOOO OOOO OOO O O OOOO
OO OO O O O O O O O O O O O O O O O
O O O O O O O O OOOOO O OOOO O O O O OOOO
O O O O O O O O O OOO O O O O O O O
O O O O O O O O O O O O O O O O
O O OOOO O O O OOOO O O OOO OOOO O
**********************************************************************
Title: nxftp
File names: ftp.c ftpcomm.c link.c ./nxhelp/nxhelp.c
File Type : Code
Lead Programmer: Eugene Hodges (ewhodges@eos.ncsu.edu)
Testing by: Eugene Hodges, many users on EOS at NCSU
Version: 3.1
Date : 6/8/93
Description:
NXftp is a Motif front end for the standard ftp command in Unix.
It allows the user to double click on a directory name to change
directories, on a file to download or read it online if it is text,
and change the directory in which files are placed. This is a much
needed change for the ftp user. Furthermore, it allows the user to
easily create custom site lists to prevent having to re-enter the site
names commonly used.
New features:
* Interface has been reorganized -- better display of info!!
* The custom user list is sorted
* Much better stability and compatibility with sites
* Symbolic links in the site dir are properly separated into files
and directories
* Remaining disk space function works with both AFS and non-AFS
Unix systems now
* Improved error messages
Author's notes:
This program is one of those hard-to-make-always-work programs since
it relies on the hope of a little uniformity among ftp sites. This
hope sometimes gets smashed. This program works on EOS to a great
extent. When an ftp site does something that is not known to the
program, however, the program may crash. Thankfully, the program
seems to work on the vast majority of ftp anonymous sites and is
generally a pleasure to use.
One more thing, this program doesn't always work with all ftp
programs. In other words, it may not work with the ftp program on
your system. If this is the case, you may need to modify the code
to make NXftp work. I hope this will not be the case, though.
System Information:
This text and code is based on the OSF/Motif widget set version
1.1 and X11R4.
About the NCSU Motif Group:
The NCSU Motif Group is a group of students at North Carolina
State University who meet once a week to discuss Motif programming.
Individual projects are used to help students learn Motif.
These projects are then released onto the network to help others.
All released code is available at our anonymous FTP site:
osl.csc.ncsu.edu, in the directory pub/ncsu_motif. Questions
and comments should be directed to the lead programmer for the
project in question, or to Marshall Brain (brain@eos.ncsu.edu).
Copyright Information:
Copyright 1992, 1993 by Eugene Hodges
All Rights Reserved
Permission to use, copy, and distribute this software and text for
NON-commercial purposes and without fee is hereby granted, provided
that this notice appears in all copies and that modified or
incomplete versions are not distributed.
The author disclaims all warranties with regard to the software or
text including all implied warranties of merchantability and fitness.
In no event shall the author or NCSU be liable for any special,
indirect or cosequential damages or any damages whatsoever
resulting from loss of use, data or profits, whether in an
action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance
of this software or text.
DEBUGGING
Some people have had trouble with the function link_input_waiting()
hanging the program. If you find this to be the case (or if the
program is hanging and you don't know what else to try), replace the
link_input_waiting() function in link. with the following:
int link_input_waiting(struct link_handle *l)
{
return(0); /* effectively removes the function, since it will always
return 0 */
}
Removing this function call this way should not cause any problems
with nxftp in general, as the code that uses it is only there to try
catch trash from any weird sites.
Note: This change was necessary for at least one person using
Openwin 3 on a SPARC ELC station to get nxftp to work.
Feel free to send me email if it hangs with you and you don't know
why, and I will give you whatever help that I can. Hopefully the code
is commented well enough to help on most problems.
INSTRUCTIONS
For this program to function properly, change 5 things:
* 1. The #define SITE_LIST in ftp.c to the location it will have on
your system
* 2. The #define HELP_FILE in ftp.c to the location it will have on
your system
* 3. The #define GetPath() (a macro) in ftp.c must be changed to
something that will determine the path for the custom site list
that each user can have (must be in the user's directory).
* 4. The #define EMAIL_ID in ftpcomm.c to the name of your system
(email address).
* 5. The DEFINES = -DNO_AFS should be uncommented for systems without
AFS (otherwise, nxftp will attempt to execute "fs lq").
Use the Imakefile to compile the program by first typing 'xmkmf' to
build a Makefile for your system and then type 'make' to compile. You
will need to have the Motif widget set available on your system. Make
the appropriate changes to Imakefile if it does not accurately reflect
your system (hopefully, this will not be a problem).
Running the program should be quite straightforward. Simply enter the
name of the site you wish to log into and hit the anonymous button if
it is an "anonymous" ftp site. To select files or directories, double
click on them. In the case of text files or compressed text files, the
option Read Text File in the Get File dialog will pull up the text file
in a separate window. The Change Download Dir option in the Control
menu will allow you to change the directory in which files received will
be placed. The Edit List button in the Connect dialog allows you to
create a custom site list.
Good luck and enjoy!
Buck. (ewhodges@eos.ncsu.edu)
Note: After August 1993, I will be a graduate student at Univ. of
Ill. at Urbana-Champaign, so the email address is not valid
for much longer.