The GetAttributes method will retrieve information about a file
or directory on the remote server. Once these attributes are
returned by the server, the
Attributes
event is fired containing parsed information.
This method will provide you with information about (in SFTP
protocol only!):
Size as long
Uid as long
Gid as long
Permissions as long
AccessTime as Date
ModificationTime as Date
The value for Permissions is defined by the POSIX standard,
which is briefly described below:
- you should represent them in octal (base
8) to make parsing them easier
Permissions AND 777 (octal) will give you
read/write/execute permissions for owner, group and others.
To be more precise, 1 indicates execute permission, 2 indicates
write permission, 4 indicates read permission. For example, if
file Permission AND 777 (octal) gives 754, this is represented
on the server as -rwxr-xr-- which means: the owner
can read/write/execute, the group can read/execute, and others
can only read.
To determine if an attribute belongs to directory, test for
Permissions AND 40000 (octal). To determine if an attribute
belongs to a symbolic link, test for Permissions AND 120000
(octal).
WARNING: in protocols other than SFTP
this method will return only limited subset of available
attributes. Since there is no common way to retrieve all of them,
only Size and ModificationTime are provided. Other values
will hold -1 value. FollowSymLink is ignored in those protocols.
We are open for any ideas to extend these protocols so they support
full subset - as in SFTP protocol.