|
This structure is used by the EnumFiles, GetFirstFile and
GetNextFile methods to return information about files on the server.
typedef struct _FTPFILESTATUS
{
TCHAR szFileName[FTP_MAXFILENAMELEN];
TCHAR szFileOwner[FTP_MAXOWNERNAMELEN];
TCHAR szFileGroup[FTP_MAXGROUPNAMELEN];
BOOL bIsDirectory;
DWORD dwFileSize;
DWORD dwFileLinks;
DWORD dwFileVersion;
DWORD dwFilePerms;
SYSTEMTIME stFileDate;
} FTPFILESTATUS, *LPFTPFILESTATUS;
Members
- szFileName
- A string buffer which contains the name of the file on the
server.
- szFileOwner
- A string buffer which contains the name of the user that owns
the file on the server. Note that not all server types support
the concept of file ownership by a user. Some UNIX systems will not
provide this information if an anonymous login was used. For the
proprietary Sterling directory formats, the "mailbox" is
stored in this member.
- szFileGroup
- A string buffer which contains the name of the group that owns
the file on the server. Note that not all server types support
the concept of file ownership by a group. For the proprietary
Sterling directory formats, the "batch number" is stored
in this member, with the character # prepended for the format
FTP_DIRECTORY_STERLING_2.
- bIsDirectory
- A boolean flag which specifies if the file is actually a
subdirectory.
- dwFileSize
- The size of the file in bytes on the server. Servers
that return file information in an MS-DOS format will always set
this value to zero if the file refers to a subdirectory. If the
file is a text file, the file size on the server may be different
than the size on the local host if different end-of-line character
conventions are used. It should be noted that under VMS, the file
size is reported in 512 byte blocks, so the size should be
considered approximate on that platform.
- dwFileLinks
- The number of links to the file. Note that not all server types
support the concept of file links, in which case this value will be
zero.
- dwFileVersion
- The number of revisions made to the file. Note that not all
server types support the concept of file versioning, in which case
this value will be zero. Currently this value will only be non-zero
for VMS platforms.
- dwFilePerms
- The permissions associated with the file. This value is
actually a combination of bits that specify the individual
permissions for the file owner, group and world (all other users).
For those familiar with UNIX, the file permissions are the same as
those used by the chmod command. For the proprietary Sterling
directory formats, a bit map representing the status codes and
transfer protocol of the file is stored in this member.
- stFileDate
- A SYSTEMTIME structure which
specifies the date that the file was created or last modified.
File Permissions
Value |
Description |
FILE_OWNER_READ |
The owner has permission to open the file for reading. If the
current user is the owner of the file, this grants the user the
right to download the file to the local system. |
FILE_OWNER_WRITE |
The owner has permission to open the file for writing. If the
current user is the owner of the file, this grants the user the
right to replace the file. If this permission is set for a
directory, this grants the user the right to create and delete
files. |
FILE_OWNER_EXECUTE |
The owner has permission to execute the contents of the file.
The file is typically either a binary executable, script or batch
file. If this permission is set for a directory, this may also
grant the user the right to open that directory and search for
files in that directory. |
FILE_GROUP_READ |
Users in the specified group have permission to open the file
for reading. If the current user is in the same group as the file
owner, this grants the user the right to download the file. |
FILE_GROUP_WRITE |
Users in the specified group have permission to open the file
for writing. On some platforms, this may also imply permission to
delete the file. If the current user is in the same group as the
file owner, this grants the user the right to replace the file.
If this permission is set for a directory, this grants the user
the right to create and delete files. |
FILE_GROUP_EXECUTE |
Users in the specified group have permission to execute the
contents of the file. If this permission is set for a directory,
this may also grant the user the right to open that directory and
search for files in that directory. |
FILE_WORLD_READ |
All users have permission to open the file for reading. This
permission grants any user the right to download the file to the
local system. |
FILE_WORLD_WRITE |
All users have permission to open the file for writing. This
permission grants any user the right to replace the file. If this
permission is set for a directory, this grants any user the right
to create and delete files. |
FILE_WORLD_EXECUTE |
All users have permission to execute the contents of the
file. If this permission is set for a directory, this may also
grant all users the right to open that directory and search for
files in that directory. |
Sterling Status Codes
Bits 0-25 correspond to letters of the alphabet, most of which
have distinct meanings in the Sterling formats.
Letter code |
Bit position |
Hexadecimal value |
A |
0 |
1h |
B |
1 |
2h |
C |
2 |
4h |
n-th letter of alphabet |
n-1 |
2 to the (n-1) power |
Z |
25 |
2000000h |
For the proprietary Sterling directory formats, bits 26-31
represent the transfer protocol associated with the file:
Protocol |
Bit position |
Hexadecimal value |
Constant |
TCP |
26 |
4000000h |
FTP_STERLING_STATUS_TCP |
FTP |
27 |
8000000h |
FTP_STERLING_STATUS_FTP |
BSC |
28 |
10000000h |
FTP_STERLING_STATUS_BSC |
ASC |
29 |
20000000h |
FTP_STERLING_STATUS_ASC |
FTS |
30 |
40000000h |
FTP_STERLING_STATUS_FTS |
other |
31 |
80000000h |
FTP_STERLING_STATUS_OTHER |
Requirements
Minimum Desktop Platform: Windows 7 Service Pack 1
Minimum Server Platform: Windows Server 2008 R2 Service Pack 1
Header File: cstools11.h
Import Library: csftpv11.lib
Unicode: Implemented as Unicode and ANSI versions
|
|