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:
- :fxp
- Imports all of the "SSH2_FXP_*"
constants: these are the constants used in the messaging protocol.
- :flags
- Imports all of the "SSH2_FXF_*"
constants: these are constants used as flags sent to the server when
opening files.
- :att
- 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.
- :status
- 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.
- :error
- 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",
"SFTP_ERR_REMOTE_WRITE_FAILED" and
"SFTP_ERR_REMOTE_HARDLINK_FAILED".
Note: these constants are not defined on the SFTP draft.
- :ext
- 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.