Procedure Information for wsNetwork.tcl:

  1. scpFile
  2. sshCmdExec
  3. getRemEnv
  4. getRemFile
  5. remFileType
  6. remFileExist
  7. sshPipe
  8. pipeReader
  9. remWritable
  10. data2Remote


    Procedure: scpFile

    Procedure to copy files between a cleint and server. Currently implemented using scp (Secure CoPy). Capable of file transfer in either direction based on "op" argument.


    Procedure Data

    • Name: scpFile
    • Parent Namespace: webSubmit::network
    • Arglist: locFile op clobber remUser remHost remFile args
    • Return: Status (0 = Ok)


    Argument definitions:

    • locFile : Local file name
    • op : Operation to perform (get = Copy from remote, put = Copy to remote)
    • clobber : Overwrite file on target system if it exists (Overwrite=1)
    • remUser : User name on remote system
    • remHost : Remote hostname
    • remFile : Filename on remote system
    • args : Command options for scp


    Procedure: sshCmdExec

    Procedure to execute commands on a remote host. The routine supports a variety of implementations. The simplest UNIX utility is of course 'rsh'. The more secure (recommended) version of this command is 'ssh'. Each requires that the remote system have the appropriate daemon running.


    Procedure Data

    • Name: sshCmdExec
    • Parent Namespace: webSubmit::network
    • Arglist: remUser remHost cmd {outFile ""}
    • Return: Result of command or Error


    Argument definitions:

    • remUser : Remote user name
    • remHost : Remote hostname
    • cmd : Command to be executed
    • outFile (Optional): Optional file to hold command output (Default = "")


    Procedure: getRemEnv

    Procedure to get an environment variable from a remote host


    Procedure Data

    • Name: getRemEnv
    • Parent Namespace: webSubmit::network
    • Arglist: varName remUser remHost
    • Return: Value of varName or NULL if it does not exist


    Argument definitions:

    • varName : Name of environment variable to retrieve
    • remUser : Remote user name
    • remHost : Remote hostname


    Procedure: getRemFile

    Procedure to retrieve a small file from a remote system


    Procedure Data

    • Name: getRemFile
    • Parent Namespace: webSubmit::network
    • Arglist: remUser remHost remFile
    • Return: File or Error


    Argument definitions:

    • remUser : Remote user name
    • remHost : Remote hostname
    • remFile : Remote filename


    Procedure: remFileType

    Procedure to determine remote file type


    Procedure Data

    • Name: remFileType
    • Parent Namespace: webSubmit::network
    • Arglist: remUser remHost remFile
    • Return: File type


    Argument definitions:

    • remUser : Remote user name
    • remHost : Remote hostname
    • remFile : Remote filename


    Procedure: remFileExist

    Procedure to check for existence of a file on a remote system


    Procedure Data

    • Name: remFileExist
    • Parent Namespace: webSubmit::network
    • Arglist: remUser remHost remFile
    • Return: 1 if file exists, 0 otherwise


    Argument definitions:

    • remUser : Remote user name
    • remHost : Remote hostname
    • remFile : Remote filename


    Procedure: sshPipe

    Procedure to open a pipe to an SSH process


    Procedure Data

    • Name: sshPipe
    • Parent Namespace: webSubmit::network
    • Arglist: remUser remHost cmd
    • Return: Result of command or Error


    Argument definitions:

    • remUser : Remote user name
    • remHost : Remote hostname
    • cmd : Command to be executed


    Procedure: pipeReader

    Procedure to read data from a pipe


    Procedure Data

    • Name: pipeReader
    • Parent Namespace: webSubmit::network
    • Arglist: pipe
    • Return: None


    Argument definitions:

    • pipe : Name of pipe from which to read data


    Procedure: remWritable

    Procedure to check whether a specified remote file is a writable object. If the remote file exists and is not a directory, the procedure returns 0. If the remote file exists and is a directory, or if the remote file does not exist, the procedure returns 1.


    Procedure Data

    • Name: remWritable
    • Parent Namespace: webSubmit::network
    • Arglist: remUser remHost remFile
    • Return: 1 = Object writable, 0 otherwise


    Argument definitions:

    • remUser : Remote user
    • remHost : Remote hostname
    • remFile : Remote filename


    Procedure: data2Remote

    Procedure to write a data set to a remote file


    Procedure Data

    • Name: data2Remote
    • Parent Namespace: webSubmit::network
    • Arglist: data remUser remHost remFile {clobber 0}
    • Return: Status


    Argument definitions:

    • data : Data to be written to file
    • remUser : Remote user
    • remHost : Remote hostname
    • remFile : Remote filename
    • clobber (Optional): Overwrite remote file if it exists (Default = 0)