SILC Core Library SILC Auth API SILC Channel API SILC Command API SILC ID API SILC ID Cache API SILC Modes SILC Notify API SILC Packet API SILC Argument API SILC Private API SILC Math Library SILC Math API SILC MP API SILC SFTP Library SILC SFTP API SILC SFTP Filesystems SILC Utility Library SILC Buffer API SILC Buffer Format API SILC Buffer Utility API SILC Hash Table API SILC Log and Debug API SILC Memory API SILC Mutex API SILC Thread API SILC Net API SILC Schedule API SILC Socket Connection API SILC Protocol API SILC Util API SILC Zip API SILC List API SILC Dynamic List API SILC Key Exchange Library SILC SKE API SILC SKE Status SILC Client Library SILC Client API SILC Crypto Library SILC Cipher API SILC Hash API SILC HMAC API SILC PKCS API SILC RNG API
SILC Core Library SILC Auth API SILC Channel API SILC Command API SILC ID API SILC ID Cache API SILC Modes SILC Notify API SILC Packet API SILC Argument API SILC Private API SILC Math Library SILC Math API SILC MP API SILC SFTP Library SILC SFTP API SILC SFTP Filesystems SILC Utility Library SILC Buffer API SILC Buffer Format API SILC Buffer Utility API SILC Hash Table API SILC Log and Debug API SILC Memory API SILC Mutex API SILC Thread API SILC Net API SILC Schedule API SILC Socket Connection API SILC Protocol API SILC Util API SILC Zip API SILC List API SILC Dynamic List API SILC Key Exchange Library SILC SKE API SILC SKE Status SILC Client Library SILC Client API SILC Crypto Library SILC Cipher API SILC Hash API SILC HMAC API SILC PKCS API SILC RNG API
SilcSFTPFSAPI DESCRIPTION
        SILC SFTP Filesystem interface defines filesystems for the SFTP server
        usage.  The filesystems may be for example virtual memory filesystem
        or real filesystem access.

        Currently only implemented filesystem is memory file system.

        Memory Filesystem:

        Memory filesystem is a virtual filesystem which provides safe access
        to files without actually revealing the underlaying physical filesystem
        hierarchy or real filenames. Virtual directories can be added to the
        filesystem and freely create filesystem hierarchy. The directories
        can have subdirectories and files. The filesystem also provides limited
        status information for files.  The files in the filesystem are
        virtual but they include the path to the real file.  The real path
        includes always a schema which indicates where the file really is
        available.  The only supported schema currently is "file://".  In
        the future it could support various others like "http://" and "ldap://".

        The filesystem also provides security and permission handling for
        directories and files.  Normal POSIX style permissions can be set
        giving thus rights to reading, writing and/or executing.  They behave
        same way as defined in POSIX.  It is also guaranteed that if the
        writing to a file is not allowed in the memory filesystem, but it is
        allowed in real physical filesystem the file still cannot be written.
        However, the real physical filesystem permissions still matter, for
        example if writing is enabled in the memory filesystem but it is not
        enabled on physical filesystem, the file cannot be written.

        The directories cannot be removed from remote access using the
        filesystem access function sftp_rmdir.  This is because the filesystem
        is one-user filesystem and differentiating between users is not
        possible.  Thus, it would allow anyone to remove directories and
        their contents.  Removing directories is possible only locally using
        the silc_sftp_fs_memory_del_dir function.  The same thing is with
        removing files as well.  Files too can be removed only locally using
        the silc_sftp_fs_memory_del_file function.  Also, files can not ever
        be executed from remote access.

        Also some of the file operation flags are not supported, such as
        SILC_SFTP_FXF_CREAT, SILC_SFTP_FXF_TRUNC and SILC_SFTP_FXF_EXCL
        since they would require access to a real filesystem file which does
        not exist yet, or would mean destroying the file.  However, the
        SILC_SFTP_FXF_WRITE is supported since the file aready exists.

        The memory filesystem does not provide symbolic links.
SilcSFTPFilesystemOps SilcSFTPFilesystem SilcSFTPFSMemoryPerm silc_sftp_fs_memory_alloc silc_sftp_fs_memory_free silc_sftp_fs_memory_add_dir silc_sftp_fs_memory_del_dir silc_sftp_fs_memory_add_file silc_sftp_fs_memory_del_file

>> SilcSFTPAPI >> SilcSFTP >> SilcSFTPVersion >> SilcSFTPStatus >> SilcSFTPFileOperation >> SilcSFTPAttributes >> SilcSFTPName >> SilcSFTPHandle >> SilcSFTPSendPacketCallback >> SilcSFTPVersionCallback >> SilcSFTPStatusCallback >> SilcSFTPHandleCallback >> SilcSFTPDataCallback >> SilcSFTPNameCallback >> SilcSFTPAttrCallback >> SilcSFTPExtendedCallback >> silc_sftp_client_start >> silc_sftp_client_shutdown >> silc_sftp_open >> silc_sftp_close >> silc_sftp_read >> silc_sftp_write >> silc_sftp_remove >> silc_sftp_rename >> silc_sftp_mkdir >> silc_sftp_rmdir >> silc_sftp_opendir >> silc_sftp_readdir >> silc_sftp_stat >> silc_sftp_lstat >> silc_sftp_fstat >> silc_sftp_setstat >> silc_sftp_fsetstat >> silc_sftp_readlink >> silc_sftp_symlink >> silc_sftp_realpath >> silc_sftp_extended >> silc_sftp_server_start >> silc_sftp_server_shutdown >> SilcSFTPMonitors >> SilcSFTPMonitorData >> SilcSFTPMonitor >> silc_sftp_server_set_monitor