The NFT program is used to access files on remote systems over  DECnet
or  ANF-10.   The  remote  files  can  be  listed  (on your terminal),
deleted, copied from system to  system,  renamed,  queued  to  a  line
printer,  or  submitted  to  the batch processor.  NFT can perform the
same functions on the local system as well as the remote system.

The NFT program can be run by using the following monitor command:

     .R NFT<RET>

     *

* is the command prompt.  To the prompt you can type a command  string
in the following format:

     *command file-spec=file-spec

This construct varies with  the  command  that  you  are  using.   The
file-spec  is  a  file  specification which includes any or all of the
following:

     node::dev:[dir]file.ext.gen/USERID:user:account:password/swt

Where "node" is the network node name (or blank for the  local  host),
"dev"  is  the  device  or  file  structure  name,  "dir"  is the file
directory containing the file, "file" is the file name, "ext"  is  the
file  extension or file type "gen" is the file generation number, and
"swt" is/are any file switches desired.  The usual TOPS-10  file  spec
wildcarding  rules apply (although the various remote file systems may
be more restrictive).  /USERID specifies access  information  for  the
file,    and    can    optionally    take    the    three    arguments
(userid:account:password).   See  below  for  more  information  about
/USERID.

Some commands (e.g., DELETE) require no output specification, and  for
these  commands the equal sign should also be omitted.  Other commands
(e.g., EXIT) take no arguments.

The NFT commands are:

COPY           copy files from one  system  to  another  or  one  file
               structure to another.

DDT            enter DDT (if DDT is present).

DELETE         delete the specified file(s).

DIRECT         list the file(s) on your terminal.

EXIT           exit from NFT to monitor level.

HELP           display  information  about  the  commands   that   are
               available.

NETWRK       display information about network nodes

PRINT          print a file (queue to system line printer spooler).

RENAME         rename a file (an output file must be specified on  the
               left-hand side of the equal sign).

SUBMIT         submit a batch control file to the batch job processor.

TYPE           display the contents of a file on your terminal.

DDELETE        delete a single file quickly.

DDIRECT        list a single file quickly.

DRENAME        rename a single file quickly.

DSUBMIT        submit a single batch control file quickly.

FAL            enter FAL mode.

You may include the /USERID switch for each file  specification.   The
/USERID  switch  can be included in your SWITCH.INI file after the NFT
command.  The /USERID switch requires up to  three  arguments  in  the
following format:

     /USERID:userid:account:password

Each argument corresponds to  account  information  for  the  specific
system.   If you do not include some of the arguments, NFT will prompt
you for them.  The userid may be your PPN  or  user  name,  optionally
enclosed  in <> or [].  The account can be omitted if defaulted by the
system, but you  must  include  the  colon  (:)  if  you  specify  the
password.

Other general switches that can be specified for any NFT command are:

/[NO]MOAN      see warning messages about problems.

/[NO]OKERROR   prevent NFT from aborting the command on an error

/TOTALS:arg    control  the  information  in   the   totals   summary.
               Arguments  are:   BITS,  BYTES, WORDS, RECORDS, BLOCKS,
               PAGES, FILES, BAUD, and ERRORS.

The COPY and TYPE commands accept certain switches that apply only  to
these operations.  Those switches are:

/[NO]ARROW     convert control characters to up-arrow format.

/[NO]BAUD      show the baud rate of the transfer in the summary.

/[NO]CONCAT    concatenate (combine) the input files into  one  output
               file.

/CRLF:nn       specify    the    column    at    which    to     place
               carriage-return/line-feed characters into the file.

/[NO]CSN       place card sequence numbers on each line in the file.

/CSNCOL:nn     specify starting column for card sequence numbers.

/CSNINC:nn     specify  the  incremental  value  for   card   sequence
               numbers.

/CSNWID:nn     specify the number  of  digits  in  the  card  sequence
               numbers.

/DIAL:number   dial the phone number that you specify.

/EBCDIC        read data in EBCDIC format.

/FLAG:arg      specify the type of characters to flag.  The  arguments
               are  UPPER  and  LOWER.   NFT will place a single-quote
               character  (')  before  each  uppercase  or   lowercase
               character.

/[NO]LSN       generate line sequence numbers for each line (record).

/[NO]LSNCON    continue line sequence numbers over page boundaries.

/LSNINC:nn     specify  the  incremental  value  for   line   sequence
               numbers.

/[NO]NULLS     preserve ASCII null characters in the file.

/[NO]SPACES    convert  ASCII  tab   characters   into   ASCII   space
               characters.

/[NO]TABS      convert multiple spaces into tab characters.

/[NO]TRUNCA    suppress trailing ASCII blanks (spaces, tabs).

/WRAP:nn       insert a carriage-return/line-feed for the first  space
               or tab after the specified number of characters on each
               line.

For more on-line information about  the  NFT  program,  refer  to  the
NFT.MAN  file  distributed  with DECnet-10.  Use of the NFT program is
documented in the DECnet-10 User's Guide.

            Accessing Files On Different Types of Systems

                       File Generation Numbers

Although TOPS-10 does not support file generation  numbers,  NFT  does
accept  them.   The  generation  number  is  always  preceded by a "."
character (yes, even if a VAX or a RSX or other system which  normally
uses  ";").   Naturally, this requirestht the generation number must
follow  the  file  extension  (which  is  also  preceded  by   a   "."
character!).

                           TOPS-10 systems

In general, you need do nothing special in order  to  talk  to  remote
TOPS-10  nodes with NFT-10.  Files will automatically be copied in all
the right modes, protections, and so on.

FAL-10 will default the userid to a generic "network"  userid  if  the
remote accessor doesn't supply one explicitly.  As such, if you access

the -10 from a remote node, you may not need to give a userid  if  the
file  you  are  accessing is sufficiently unprotected (e.g., to read a
file on a -10 generally doesn't require a userid, to write a file on a
-10 generally does).

                           TOPS-20 systems

In general, you need do nothing special in order  to  talk  to  remote
TOPS-20  nodes  with  NFT-10.  Files will automatically be copied in a
fair semblance of the original file (7-bit files  will  be  copied  as
ASCII  files,  all  others will be copied as 36-bit binary (or IMAGE))
files.  Non-contiguous files cannot be copied.

                             RSX systems

In general, ASCII files copy correctly from the RSX  with  no  special
action  required  on  behalf  of the user.  Sometimes however you will
have to explicitly specify /ASCII (clue:  if you get the error message
"Illegal  ASCII  record  attributes  for  IMAGE/BINARY  data" you must
specify /ASCII).

To read or write binary files however is a pain.  To read a RSX binary
file,  you  must  specify  that the file is binary (/BINARY), and what
size bytes it has (/BYTESIZE:8).  In  general,  you  do  not  need  to
supply any record formatting information.

To store a RSX binary file on the -10 in such a way that you can  give
it back to the RSX and have the RSX be able to understand it, you must
use MACY11 format.  Simply put /MACY11 on the -10 file  spec  and  all
(well, the binary file anyway) will work well.

To write a RSX binary file, you mus speify that the file  is  binary
(/BINARY),  what  size  bytes  it  has (/BYTESIZE:8), and what type of
records the file should contain (/RECFORMAT:  FIXED or VARIABLE).   If
FIXED  length  records  are  specified, then you must also specify the
record size explicity (/RECSIZE:size).  Additionally, some RSX  binary
files  require that they be contiguous on the disk (/CONTIGUOUS).  RSX
task images (.TSK files) are of this sort.  If  contiguous  allocation
is  required  then  the  file allocation must be prespecified - either
explicitly via /ALLOCATE (or /ESTIMATE) or implicitly via the  "input"
file allocation.  In the later case the /BLOCKSIZE switch must be used
to enable NFT to convert the input file size  into  the  corresponding
output file size (measured in "blocks").

For example:

*TYPE RSX::PROG.FOR
*COPY FOO = RSX::PROG.FOR
*COPY RSX::PROG.FOR = FOO.FOR
*COPY FOO/MACY11 = RSX::PROG.OBJ/BINARY/BYTESIZE:8
*COPY RSX::PROG.OBJ/BIN/BYT:8/RECFORMAT:VARIABLE = FOO.OBJ/MACY11
*COPY FOO/MACY11 = RSX::PROG.TSK/BINA/BYTES:8
*COPY RSX::/BIN/BYT:8/FIX/EC:512/BLOC:512/CONTI = FOO.TSK/MACY

                             VAX systems

Overall, VAX  systems  are  pretty  much  indistinguishable  from  RSX
systems (as described above).


.KJOB