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.