
Net::SFTP::Foreign::Constants - Constant definitions for Net::SFTP::Foreign

use Net::SFTP::Foreign::Constants qw(:tag SSH2_FILEXFER_VERSION);
print "Protocol version is ", SSH2_FILEXFER_VERSION;

Net::SFTP::Foreign::Constants provides a list of exportable SFTP constants: for SFTP messages and commands, for file-open flags, for status messages, etc. Constants can be exported individually, or in sets identified by tag names.
Net::SFTP::Foreign::Constants provides values for all of the constants listed in the SFTP protocol version 3 draft; the only thing to note is that the constants are listed with the prefix SSH2_ instead of SSH_. So, for example, to import the constant for the file-open command, you would write:
use Net::SFTP::Foreign::Constants qw( SSH2_FXP_OPEN );

As mentioned above, constants can either be imported individually or in sets grouped by tag names. The tag names are:
Imports all of the SSH2_FXP_* constants: these are the constants used in the messaging protocol.
Imports all of the SSH2_FXF_* constants: these are constants used as flags sent to the server when opening files.
Imports all of the SSH2_FILEXFER_ATTR_* constants: these are the constants used to construct the flag in the serialized attributes. The flag describes what types of file attributes are listed in the buffer.
Imports all of the SSH2_FX_* constants: these are constants returned from a server SSH2_FXP_STATUS message and indicate the status of a particular operation.
Imports all the SFTP_ERR_* constants used to represent high level errors: SFTP_ERR_LOCAL_ALREADY_EXISTS, SFTP_ERR_LOCAL_CHMOD_FAILED, SFTP_ERR_LOCAL_OPEN_FAILED, SFTP_ERR_LOCAL_READ_ERROR, SFTP_ERR_LOCAL_STAT_FAILED, SFTP_ERR_LOCAL_UTIME_FAILED, SFTP_ERR_LOCAL_WRITE_FAILED, SFTP_ERR_REMOTE_BAD_PACKET_SEQUENCE, SFTP_ERR_REMOTE_BAD_PERMISSIONS, SFTP_ERR_REMOTE_BAD_TIME, SFTP_ERR_REMOTE_BLOCK_TOO_SMALL, SFTP_ERR_REMOTE_CLOSE_FAILED, SFTP_ERR_REMOTE_FSETSTAT_FAILED, SFTP_ERR_REMOTE_FSTAT_FAILED, SFTP_ERR_REMOTE_LSTAT_FAILED, SFTP_ERR_REMOTE_MKDIR_FAILED, SFTP_ERR_REMOTE_OPENDIR_FAILED, SFTP_ERR_REMOTE_OPEN_FAILED, SFTP_ERR_REMOTE_READDIR_FAILED, SFTP_ERR_REMOTE_READ_FAILED, SFTP_ERR_REMOTE_REALPATH_FAILED, SFTP_ERR_REMOTE_REMOVE_FAILED, SFTP_ERR_REMOTE_RENAME_FAILED, SFTP_ERR_REMOTE_RMDIR_FAILED, SFTP_ERR_REMOTE_READLINK_FAILED, SFTP_ERR_REMOTE_SYMLINK_FAILED, SFTP_ERR_REMOTE_SETSTAT_FAILED, SFTP_ERR_REMOTE_STAT_FAILED and SFTP_ERR_REMOTE_WRITE_FAILED.
Note: these constants are not defined on the SFTP draft.
Import all the SSH2_FXE_* constants: there are the constants defined for usage with SFTP extensions.
Currently, these are supported: SSH2_FXE_STATVFS_ST_RDONLY, SSH_FXE_STATVFS_ST_NOSUID.
There is one constant that does not fit into any of the tag sets: SSH2_FILEXFER_VERSION, which holds the value of the SFTP protocol implemented by Net::SFTP::Foreign.

Please see the Net::SFTP::Foreign manpage for author, copyright, and license information.