ch.ethz.ssh2.sftp
Class AttribBits
java.lang.Object
ch.ethz.ssh2.sftp.AttribBits
public class AttribBits
extends java.lang.Object
SFTP Attribute Bits for the "attrib-bits" and "attrib-bits-valid" fields
of the SFTP ATTR data type.
Yes, these are the "attrib-bits", even though they have "_FLAGS_" in
their name. Don't ask - I did not invent it.
"
These fields, taken together, reflect various attributes of the file
or directory, on the server. Bits not set in 'attrib-bits-valid' MUST be
ignored in the 'attrib-bits' field. This allows both the server and the
client to communicate only the bits it knows about without inadvertently
twiddling bits they don't understand."
SSH_FILEXFER_ATTR_FLAGS_APPEND_ONLY
public static final int SSH_FILEXFER_ATTR_FLAGS_APPEND_ONLY
Opening the file without either the SSH_FXF_ACCESS_APPEND_DATA or
the SSH_FXF_ACCESS_APPEND_DATA_ATOMIC flag (see section 8.1.1.3
of the SFTP standard draft) MUST result in an
SSH_FX_INVALID_PARAMETER error.
SSH_FILEXFER_ATTR_FLAGS_ARCHIVE
public static final int SSH_FILEXFER_ATTR_FLAGS_ARCHIVE
The file should be included in backup / archive operations.
SSH_FILEXFER_ATTR_FLAGS_CASE_INSENSITIVE
public static final int SSH_FILEXFER_ATTR_FLAGS_CASE_INSENSITIVE
This attribute applies only to directories. This attribute is
always read-only, and cannot be modified. This attribute means
that files and directory names in this directory should be compared
without regard to case.
It is recommended that where possible, the server's filesystem be
allowed to do comparisons. For example, if a client wished to prompt
a user before overwriting a file, it should not compare the new name
with the previously retrieved list of names in the directory. Rather,
it should first try to create the new file by specifying
SSH_FXF_CREATE_NEW flag. Then, if this fails and returns
SSH_FX_FILE_ALREADY_EXISTS, it should prompt the user and then retry
the create specifying SSH_FXF_CREATE_TRUNCATE.
Unless otherwise specified, filenames are assumed to be case sensitive.
SSH_FILEXFER_ATTR_FLAGS_COMPRESSED
public static final int SSH_FILEXFER_ATTR_FLAGS_COMPRESSED
The file is stored on disk using file-system level transparent
compression. This flag does not affect the file data on the wire.
SSH_FILEXFER_ATTR_FLAGS_ENCRYPTED
public static final int SSH_FILEXFER_ATTR_FLAGS_ENCRYPTED
The file is stored on disk using file-system level transparent
encryption. This flag does not affect the file data on the wire
(for either READ or WRITE requests.)
SSH_FILEXFER_ATTR_FLAGS_HIDDEN
public static final int SSH_FILEXFER_ATTR_FLAGS_HIDDEN
File SHOULD NOT be shown to user unless specifically requested.
For example, most UNIX systems SHOULD set this bit if the filename
begins with a 'period'. This bit may be read-only (see section 5.4 of
the SFTP standard draft). Most UNIX systems will not allow this to be
changed.
SSH_FILEXFER_ATTR_FLAGS_IMMUTABLE
public static final int SSH_FILEXFER_ATTR_FLAGS_IMMUTABLE
The file cannot be deleted or renamed, no hard link can be created
to this file, and no data can be written to the file.
This bit implies a stronger level of protection than
SSH_FILEXFER_ATTR_FLAGS_READONLY, the file permission mask or ACLs.
Typically even the superuser cannot write to immutable files, and
only the superuser can set or remove the bit.
SSH_FILEXFER_ATTR_FLAGS_READONLY
public static final int SSH_FILEXFER_ATTR_FLAGS_READONLY
Advisory, read-only bit. This bit is not part of the access
control information on the file, but is rather an advisory field
indicating that the file should not be written.
SSH_FILEXFER_ATTR_FLAGS_SPARSE
public static final int SSH_FILEXFER_ATTR_FLAGS_SPARSE
The file is a sparse file; this means that file blocks that have
not been explicitly written are not stored on disk. For example, if
a client writes a buffer at 10 M from the beginning of the file,
the blocks between the previous EOF marker and the 10 M offset would
not consume physical disk space.
Some servers may store all files as sparse files, in which case
this bit will be unconditionally set. Other servers may not have
a mechanism for determining if the file is sparse, and so the file
MAY be stored sparse even if this flag is not set.
SSH_FILEXFER_ATTR_FLAGS_SYNC
public static final int SSH_FILEXFER_ATTR_FLAGS_SYNC
When the file is modified, the changes are written synchronously
to the disk.
SSH_FILEXFER_ATTR_FLAGS_SYSTEM
public static final int SSH_FILEXFER_ATTR_FLAGS_SYSTEM
The file is part of the operating system.
SSH_FILEXFER_ATTR_FLAGS_TRANSLATION_ERR
public static final int SSH_FILEXFER_ATTR_FLAGS_TRANSLATION_ERR
The server MAY include this bit in a directory listing or realpath
response. It indicates there was a failure in the translation to UTF-8.
If this flag is included, the server SHOULD also include the
UNTRANSLATED_NAME attribute.