with SFTP_DEFINITIONS; use SFTP_DEFINITIONS; with OS_DEPEND; with TEXT_IO; package USER_PKG is --==================================================================== -- = -- ABSTRACT USER_PKG = -- This package provides the functions required by USERMAIN to = -- parse the command input line, create a request block, send the = -- request to the Command Execution Task (CET), send and receive = -- files, and request and list status (including files available). = -- Intertask communication is handled by calls to routines in = -- package OS_DEPEND. = -- KEYWORDS USER_PKG = -- SFTP, Secure File Transfer, Communication, Security, = -- User Interface = -- CONTENTS USER_PKG = -- = -- CREATION DATE. = -- 03/30/88 = -- AUTHOR. = -- Paul Sands, The BDM Corporation, Albuquerque = -- REVISION HISTORY. = -- NONE = -- UNIT PURPOSE. = -- Provide interface between User and COMMAND_TASK. = -- UNIT FUNCTION. = -- Parse the user command line, create a request block, read files,= -- write files, intertask communication. = -- EXTERNAL ADA UNITS ACCESSED. = -- SFTP_DEFINITIONS = -- OS_DEPEND = -- TEXT_IO -- EXCEPTIONS RAISED. = -- NO_COMM_TASK - unable to establish a connection. = -- INVALID_ARGUMENTS - error in input arguments. = -- PROGRAM_LOGIC_ERROR - program logic error detected. = -- USER_NOT_AUTHORIZED - request rejected by COMMAND_TASK = -- RESOURCE_UNAVAILABLE - unable to obtain required OS services. = -- INPUT/OUTPUT. = -- NONE = -- MACHINE DEPENDENCIES. = -- The intertask communication in ESTABLISH_INTERTASK_COMMUNICATION= -- and TALK_TO_COMMAND is OS and machine dependent. = -- COMPILER DEPENDENCIES. = -- NONE = -- = --==================================================================== procedure PARSE_ARGUMENTS (ARGUMENTS : in OS_DEPEND.ARGUMENT_TYPE; REQUEST : out REQUEST_TYPE; USER_TO_FROM : out USER_NAME_TYPE; COMPUTER : out COMPUTER_NAME_TYPE; REMOTE_FILE_NAME : out FILE_NAME_TYPE; LOCAL_FILE_NAME : out FILE_NAME_TYPE); procedure DO_REQUEST (CET_MBX : in OS_DEPEND.TASK_COMM_TYPE; USER_INFO : in OS_DEPEND.USER_INFO_TYPE; REQUEST : in REQUEST_TYPE; USER_TO_FROM : in USER_NAME_TYPE; COMPUTER : in COMPUTER_NAME_TYPE; REMOTE_FILE_NAME : in FILE_NAME_TYPE; LOCAL_FILE_NAME : in FILE_NAME_TYPE); end USER_PKG;