SFtpFile Unicode C Reference Documentation

SFtpFile

Current Version: 10.1.0

Represents a remote SFTP file.

Create/Dispose

HCkSFtpFileW instance = CkSFtpFileW_Create();
// ...
CkSFtpFileW_Dispose(instance);
HCkSFtpFileW CkSFtpFileW_Create(void);

Creates an instance of the HCkSFtpFileW object and returns a handle ("void *" pointer). The handle is passed in the 1st argument for the functions listed on this page.

void CkSFtpFileW_Dispose(HCkSFtpFileW handle);

Objects created by calling CkSFtpFileW_Create must be freed by calling this method. A memory leak occurs if a handle is not disposed by calling this function. Also, any handle returned by a Chilkat "C" function must also be freed by the application by calling the appropriate Dispose method, such as CkSFtpFileW_Dispose.

Properties

CreateTimeStr
void CkSFtpFileW_getCreateTimeStr(HCkSFtpFileW cHandle, HCkString retval);
const wchar_t *CkSFtpFileW_createTimeStr(HCkSFtpFileW cHandle);

The same as the CreateTime property, but returns the date/time as an RFC822 formatted string.

top
Filename
void CkSFtpFileW_getFilename(HCkSFtpFileW cHandle, HCkString retval);
const wchar_t *CkSFtpFileW_filename(HCkSFtpFileW cHandle);

The filename (or directory name, symbolic link name, etc.)

top
FileType
void CkSFtpFileW_getFileType(HCkSFtpFileW cHandle, HCkString retval);
const wchar_t *CkSFtpFileW_fileType(HCkSFtpFileW cHandle);

One of the following values:

  regular
  directory
  symLink
  special
  unknown
  socket
  charDevice
  blockDevice
  fifo

top
Gid
int CkSFtpFileW_getGid(HCkSFtpFileW cHandle);

The integer Group ID of the file.

top
Group
void CkSFtpFileW_getGroup(HCkSFtpFileW cHandle, HCkString retval);
const wchar_t *CkSFtpFileW_group(HCkSFtpFileW cHandle);

The group ownership of the file. This property is only supported by servers running SFTP v4 or later.

top
IsAppendOnly
BOOL CkSFtpFileW_getIsAppendOnly(HCkSFtpFileW cHandle);

If TRUE, this file may only be appended. This property is only supported by servers running SFTP v6 or later.

top
IsArchive
BOOL CkSFtpFileW_getIsArchive(HCkSFtpFileW cHandle);

If TRUE, the file should be included in backup / archive operations. This property is only supported by servers running SFTP v6 or later.

top
IsCaseInsensitive
BOOL CkSFtpFileW_getIsCaseInsensitive(HCkSFtpFileW cHandle);

This attribute applies only to directories. This attribute means that files and directory names in this directory should be compared without regard to case. This property is only supported by servers running SFTP v6 or later.

top
IsCompressed
BOOL CkSFtpFileW_getIsCompressed(HCkSFtpFileW cHandle);

The file is stored on disk using file-system level transparent compression. This flag does not affect the file data on the wire. This property is only supported by servers running SFTP v6 or later.

top
IsDirectory
BOOL CkSFtpFileW_getIsDirectory(HCkSFtpFileW cHandle);

If TRUE, this is a directory.

top
IsEncrypted
BOOL CkSFtpFileW_getIsEncrypted(HCkSFtpFileW cHandle);

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.) This property is only supported by servers running SFTP v6 or later.

top
IsHidden
BOOL CkSFtpFileW_getIsHidden(HCkSFtpFileW cHandle);

If TRUE, the file SHOULD NOT be shown to user unless specifically requested.

top
IsImmutable
BOOL CkSFtpFileW_getIsImmutable(HCkSFtpFileW cHandle);

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 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.

This property is only supported by servers running SFTP v6 or later.

top
IsReadOnly
BOOL CkSFtpFileW_getIsReadOnly(HCkSFtpFileW cHandle);

If TRUE, the file is read-only. This property is only supported by servers running SFTP v6 or later.

top
IsRegular
BOOL CkSFtpFileW_getIsRegular(HCkSFtpFileW cHandle);

TRUE if this is a normal file (not a directory or any of the other non-file types).

top
IsSparse
BOOL CkSFtpFileW_getIsSparse(HCkSFtpFileW cHandle);

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.

This property is only supported by servers running SFTP v6 or later.

top
IsSymLink
BOOL CkSFtpFileW_getIsSymLink(HCkSFtpFileW cHandle);

TRUE if this is a symbolic link.

top
IsSync
BOOL CkSFtpFileW_getIsSync(HCkSFtpFileW cHandle);

When the file is modified, the changes are written synchronously to the disk. This property is only supported by servers running SFTP v6 or later.

top
IsSystem
BOOL CkSFtpFileW_getIsSystem(HCkSFtpFileW cHandle);

TRUE if the file is part of the operating system. This property is only supported by servers running SFTP v6 or later.

top
LastAccessTimeStr
void CkSFtpFileW_getLastAccessTimeStr(HCkSFtpFileW cHandle, HCkString retval);
const wchar_t *CkSFtpFileW_lastAccessTimeStr(HCkSFtpFileW cHandle);

The same as the LastAccessTime property, but returns the date/time as an RFC822 formatted string.

top
LastMethodSuccess
BOOL CkSFtpFileW_getLastMethodSuccess(HCkSFtpFileW cHandle);
void CkSFtpFileW_putLastMethodSuccess(HCkSFtpFileW cHandle, BOOL newVal);

Indicate whether the last method call succeeded or failed. A value of TRUE indicates success, a value of FALSE indicates failure. This property is automatically set for method calls. It is not modified by property accesses. The property is automatically set to indicate success for the following types of method calls:

  • Any method that returns a string.
  • Any method returning a Chilkat object, binary bytes, or a date/time.
  • Any method returning a standard boolean status value where success = TRUE and failure = FALSE.
  • Any method returning an integer where failure is defined by a return value less than zero.

Note: Methods that do not fit the above requirements will always set this property equal to TRUE. For example, a method that returns no value (such as a "void" in C++) will technically always succeed.

top
LastModifiedTimeStr
void CkSFtpFileW_getLastModifiedTimeStr(HCkSFtpFileW cHandle, HCkString retval);
const wchar_t *CkSFtpFileW_lastModifiedTimeStr(HCkSFtpFileW cHandle);

The same as the LastModifiedTime property, but returns the date/time as an RFC822 formatted string. Other date/time formats can be obtained by calling the GetLastModifiedDt method to return a CkDateTime object, and then use CkDateTime to get the desired format.

top
Owner
void CkSFtpFileW_getOwner(HCkSFtpFileW cHandle, HCkString retval);
const wchar_t *CkSFtpFileW_owner(HCkSFtpFileW cHandle);

The owner of the file. This property is only supported by servers running SFTP v4 or later.

top
Permissions
int CkSFtpFileW_getPermissions(HCkSFtpFileW cHandle);

The 'permissions' field contains a bit mask specifying file permissions. These permissions correspond to the st_mode field of the stat structure defined by POSIX [IEEE.1003-1.1996].

This protocol uses the following values for the symbols declared in the POSIX standard.

       S_IRUSR  0000400 (octal)
       S_IWUSR  0000200
       S_IXUSR  0000100
       S_IRGRP  0000040
       S_IWGRP  0000020
       S_IXGRP  0000010
       S_IROTH  0000004
       S_IWOTH  0000002
       S_IXOTH  0000001
       S_ISUID  0004000
       S_ISGID  0002000
       S_ISVTX  0001000

top
Size32
int CkSFtpFileW_getSize32(HCkSFtpFileW cHandle);

Size of the file in bytes. If the size is too large for 32-bits, a -1 is returned.

top
Size64
__int64 CkSFtpFileW_getSize64(HCkSFtpFileW cHandle);

Size of the file in bytes. If the file size is a number too large for 64 bits, you have an AMAZINGLY large disk drive.

top
SizeStr
void CkSFtpFileW_getSizeStr(HCkSFtpFileW cHandle, HCkString retval);
const wchar_t *CkSFtpFileW_sizeStr(HCkSFtpFileW cHandle);

Same as Size64, but the number is returned as a string in decimal format.

top
Uid
int CkSFtpFileW_getUid(HCkSFtpFileW cHandle);

The integer User ID of the file.

top

Methods

GetCreateDt
HCkDateTimeW CkSFtpFileW_GetCreateDt(HCkSFtpFileW cHandle);

Returns the file creation date and time (GMT / UTC). This method is only supported by servers running SFTP v4 or later.

Returns NULL on failure

top
GetLastAccessDt
HCkDateTimeW CkSFtpFileW_GetLastAccessDt(HCkSFtpFileW cHandle);

Returns the last-access date and time (GMT / UTC).

Returns NULL on failure

top
GetLastModifiedDt
HCkDateTimeW CkSFtpFileW_GetLastModifiedDt(HCkSFtpFileW cHandle);

Returns the last-modified date and time (GMT / UTC).

Returns NULL on failure

More Information and Examples
top