SFtpFile Tcl Reference Documentation

SFtpFile

Represents a remote SFTP file.

Object Creation

set mySFtpFile [new CkSFtpFile]

Properties

CreateTimeStr (string)

# ckStr is a CkString
CkSFtpFile_get_CreateTimeStr $mySFtpFile $ckStr
set strVal [CkSFtpFile_get_createTimeStr $mySFtpFile]

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

FileType (string)

# ckStr is a CkString
CkSFtpFile_get_FileType $mySFtpFile $ckStr
set strVal [CkSFtpFile_get_fileType $mySFtpFile]

One of the following values:

  regular
  directory
  symLink
  special
  unknown
  socket
  charDevice
  blockDevice
  fifo

Filename (string)

# ckStr is a CkString
CkSFtpFile_get_Filename $mySFtpFile $ckStr
set strVal [CkSFtpFile_get_filename $mySFtpFile]

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

Gid (integer)

set intVal [CkSFtpFile_get_Gid $mySFtpFile]

The integer Group ID of the file.

Group (string)

# ckStr is a CkString
CkSFtpFile_get_Group $mySFtpFile $ckStr
set strVal [CkSFtpFile_get_group $mySFtpFile]

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

IsAppendOnly (boolean 1/0)

set boolVal [CkSFtpFile_get_IsAppendOnly $mySFtpFile]

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

IsArchive (boolean 1/0)

set boolVal [CkSFtpFile_get_IsArchive $mySFtpFile]

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

IsCaseInsensitive (boolean 1/0)

set boolVal [CkSFtpFile_get_IsCaseInsensitive $mySFtpFile]

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.

IsCompressed (boolean 1/0)

set boolVal [CkSFtpFile_get_IsCompressed $mySFtpFile]

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.

IsDirectory (boolean 1/0)

set boolVal [CkSFtpFile_get_IsDirectory $mySFtpFile]

If 1, this is a directory.

IsEncrypted (boolean 1/0)

set boolVal [CkSFtpFile_get_IsEncrypted $mySFtpFile]

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.

IsHidden (boolean 1/0)

set boolVal [CkSFtpFile_get_IsHidden $mySFtpFile]

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

IsImmutable (boolean 1/0)

set boolVal [CkSFtpFile_get_IsImmutable $mySFtpFile]

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.

IsReadOnly (boolean 1/0)

set boolVal [CkSFtpFile_get_IsReadOnly $mySFtpFile]

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

IsRegular (boolean 1/0)

set boolVal [CkSFtpFile_get_IsRegular $mySFtpFile]

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

IsSparse (boolean 1/0)

set boolVal [CkSFtpFile_get_IsSparse $mySFtpFile]

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.

IsSymLink (boolean 1/0)

set boolVal [CkSFtpFile_get_IsSymLink $mySFtpFile]

1 if this is a symbolic link.

IsSync (boolean 1/0)

set boolVal [CkSFtpFile_get_IsSync $mySFtpFile]

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.

IsSystem (boolean 1/0)

set boolVal [CkSFtpFile_get_IsSystem $mySFtpFile]

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

LastAccessTimeStr (string)

# ckStr is a CkString
CkSFtpFile_get_LastAccessTimeStr $mySFtpFile $ckStr
set strVal [CkSFtpFile_get_lastAccessTimeStr $mySFtpFile]

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

LastModifiedTimeStr (string)

# ckStr is a CkString
CkSFtpFile_get_LastModifiedTimeStr $mySFtpFile $ckStr
set strVal [CkSFtpFile_get_lastModifiedTimeStr $mySFtpFile]

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

Owner (string)

# ckStr is a CkString
CkSFtpFile_get_Owner $mySFtpFile $ckStr
set strVal [CkSFtpFile_get_owner $mySFtpFile]

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

Permissions (integer)

set intVal [CkSFtpFile_get_Permissions $mySFtpFile]

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

Size32 (integer)

set intVal [CkSFtpFile_get_Size32 $mySFtpFile]

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

Size64 (64-bit integer)

set int64Val [CkSFtpFile_get_Size64 $mySFtpFile]

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.

SizeStr (string)

# ckStr is a CkString
CkSFtpFile_get_SizeStr $mySFtpFile $ckStr
set strVal [CkSFtpFile_get_sizeStr $mySFtpFile]

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

Uid (integer)

set intVal [CkSFtpFile_get_Uid $mySFtpFile]

The integer User ID of the file.

Utf8 (boolean 1/0)

set boolVal [CkSFtpFile_get_Utf8 $mySFtpFile]
CkSFtpFile_put_Utf8 $mySFtpFile $boolVal

When set to 1, all "const char *" arguments are interpreted as utf-8 strings. If set to 0 (the default), then "const char *" arguments are interpreted as ANSI strings. Also, when set to 1, and Chilkat method returning a "const char *" is returning the utf-8 representation. If set to 0, all "const char *" return values are ANSI strings.

Methods

# returns a CkDateTime
set ret_ckDateTime [CkSFtpFile_GetCreateDt]

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

# returns a CkDateTime
set ret_ckDateTime [CkSFtpFile_GetLastAccessDt]

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

# returns a CkDateTime
set ret_ckDateTime [CkSFtpFile_GetLastModifiedDt]

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