X-Git-Url: http://git.silcnet.org/gitweb/?p=website.git;a=blobdiff_plain;f=docs%2Ftoolkit%2Fmanual%2Fsilcsftp_fs-SilcSFTPFilesystemOps.html;fp=docs%2Ftoolkit%2Fmanual%2Fsilcsftp_fs-SilcSFTPFilesystemOps.html;h=fb6b1680b7949344ee213759a89f18ed8e7c480d;hp=0000000000000000000000000000000000000000;hb=80b80cef93d9dff6acc4bc8e3a522c55fcdc3fca;hpb=43e53f529ca5c7d2ddb7cee8e76e273631e6f1e2 diff --git a/docs/toolkit/manual/silcsftp_fs-SilcSFTPFilesystemOps.html b/docs/toolkit/manual/silcsftp_fs-SilcSFTPFilesystemOps.html new file mode 100644 index 0000000..fb6b168 --- /dev/null +++ b/docs/toolkit/manual/silcsftp_fs-SilcSFTPFilesystemOps.html @@ -0,0 +1,397 @@ + + + + + + + + + + + + + + + + + + + +
Copyright © 2001 - 2007 SILC Project
+ SILC Project Website
+ SILC Toolkit Reference Manual
+ Index
+ + +
+ + + + + + + + + + + + + + +
+ + + +
+
+ + + +SILC Toolkit Reference Manual
+ + +SILC Crypto Library
+    Introduction to SILC RNG
+    SILC RNG Interface
+    SILC Cipher API
+    SILC PKCS API
+    SILC Public Key API
+    SILC PKCS #1 API
+    SILC Hash Interface
+    SILC HMAC Interface
+SILC Core Library
+    SILC Authentication Interface
+    SILC Message Interface
+    SILC Channel Interface
+    SILC Command Interface
+    SILC Notify Interface
+    SILC Status Types
+    SILC Modes
+    SILC ID Interface
+    SILC Argument Interface
+    SILC Attributes Interface
+    Packet Engine Interface
+    SILC Public Key Payload Interface
+SILC Key Exchange Library
+    SILC SKE Interface
+    SILC Connection Authentication Interface
+SILC VCard Library
+    SILC VCard Interface
+SILC Math Library
+    SILC MP Interface
+    SILC Math Interface
+SILC Client Library
+    Using SILC Client Library Tutorial
+    Arguments for command_reply Client Operation
+    SilcStatus Error Arguments in command_reply Client Operation
+    Arguments for notify Client Operation
+    Unicode and UTF-8 Strings in Client Library
+    Client Library Interface Reference
+    Client Entry Interface Reference
+SILC ASN.1 Library
+    SILC ASN.1 Interface
+    SILC BER interface
+SILC HTTP Library
+    SILC HTTP Server Interface
+    SILC HTTP PHP Translator
+SILC Utility Library
+    Basic Types and Definitions
+    Data Buffer Interface
+    Data Buffer Format Interface
+    Hash Table Interface
+    Memory Allocation Interface
+    Data Stack (memory pool) Interface
+    Finite State Machine Interface
+    Thread Interface
+    Mutual Exclusion Lock Interface
+    Condition Variable Interface
+    Atomic Operations Interface
+    Network (TCP and UDP) Interface
+    Scheduler Interface
+    Asynchronous Operation Interface
+    Abstract Stream Interface
+    Socket Stream Interface
+    File Descriptor Stream Interface
+    File Utility Functions
+    String Utility Interface
+    Snprintf Interface
+    UTF-8 String Interface
+    Stringprep Interface
+    Utility Functions
+    List Interface
+    Dynamic List Interface
+    MIME Interface
+    Time Utility Functions
+    Logging Interface
+    Config File Interface
+SILC Key Repository Library
+    SILC SKR Interface
+SILC Application Utility Library
+    SILC Application Utilities
+    SILC ID Cache Interface
+SILC SFTP Library
+    SILC SFTP Interface
+    SFTP Filesystems Interface
+ +
+Resource Links +
+SILC Project Website
+SILC Protocol Documentation
+SILC White Paper
+SILC FAQs
+ +
+



+
+
+ + + + +
+
+ +Structure SilcSFTPFilesystemOps

+ + +NAME + +

+    typedef struct SilcSFTPFilesystemOpsStruct { ... }
+                     *SilcSFTPFilesystemOps;
+
+
+DESCRIPTION + +

+    This structure defines the generic filesystem access.  When the
+    filesystem is accessed these functions are called to do the requested
+    filesystem operation.  The level that implements the actual filesystem
+    must fill this structure with the callback functions providing the
+    access to the filesystem.
+
+
+SOURCE + +
    typedef struct SilcSFTPFilesystemOpsStruct {
+      /* Find a file handle by the file handle data indicated by the `data'.
+         If the handle is not found this returns NULL. */
+      SilcSFTPHandle (*sftp_get_handle)(void *context, SilcSFTP sftp,
+                                        const unsigned char *data,
+                                        SilcUInt32 data_len);
+    
+      /* Return encoded handle of `handle' or NULL on error. The caller
+         must free the returned buffer. */
+      unsigned char *(*sftp_encode_handle)(void *context, SilcSFTP sftp,
+                                           SilcSFTPHandle handle,
+                                           SilcUInt32 *handle_len);
+    
+      /* Open a file indicated by the `filename' with flags indicated by the
+         `pflags', and with attributes indicated by the `attr'.  Calls the
+         `callback' to return the opened file handle. */
+      void (*sftp_open)(void *context, SilcSFTP sftp,
+                        const char *filename,
+                        SilcSFTPFileOperation pflags,
+                        SilcSFTPAttributes attr,
+                        SilcSFTPHandleCallback callback,
+                        void *callback_context);
+    
+      /* Closes the file indicated by the file handle `handle'.  Calls the
+         `callback' to indicate the status of the closing. */
+      void (*sftp_close)(void *context, SilcSFTP sftp,
+                         SilcSFTPHandle handle,
+                         SilcSFTPStatusCallback callback,
+                         void *callback_context);
+    
+      /* Reads data from the file indicated by the file handle `handle' starting
+         from the offset of `offset' at most `len' bytes.  The `callback' is
+         called to return the read data. */
+      void (*sftp_read)(void *context, SilcSFTP sftp,
+                        SilcSFTPHandle handle,
+                        SilcUInt64 offset,
+                        SilcUInt32 len,
+                        SilcSFTPDataCallback callback,
+                        void *callback_context);
+    
+      /* Writes to a file indicated by the file handle `handle' starting from
+         offset of `offset' at most `data_len' bytes of `data'.  The `callback'
+         is called to indicate the status of the writing. */
+      void (*sftp_write)(void *context, SilcSFTP sftp,
+                         SilcSFTPHandle handle,
+                         SilcUInt64 offset,
+                         const unsigned char *data,
+                         SilcUInt32 data_len,
+                         SilcSFTPStatusCallback callback,
+                         void *callback_context);
+    
+      /* Removes a file indicated by the `filename'.  Calls the `callback'
+         to indicate the status of the removing. */
+      void (*sftp_remove)(void *context, SilcSFTP sftp,
+                          const char *filename,
+                          SilcSFTPStatusCallback callback,
+                          void *callback_context);
+    
+      /* Renames a file indicated by the `oldname' to the name `newname'.  The
+         `callback' is called to indicate the status of the renaming. */
+      void (*sftp_rename)(void *context, SilcSFTP sftp,
+                          const char *oldname,
+                          const char *newname,
+                          SilcSFTPStatusCallback callback,
+                          void *callback_context);
+    
+      /* Creates a new directory indicated by the `path' with attributes indicated
+         by the `attrs'. The `callback' is called to indicate the status of the
+         creation. */
+      void (*sftp_mkdir)(void *context, SilcSFTP sftp,
+                         const char *path,
+                         SilcSFTPAttributes attrs,
+                         SilcSFTPStatusCallback callback,
+                         void *callback_context);
+    
+      /* Removes a directory indicated by the `path' and calls the `callback'
+         to indicate the status of the removal. */
+      void (*sftp_rmdir)(void *context, SilcSFTP sftp,
+                         const char *path,
+                         SilcSFTPStatusCallback callback,
+                         void *callback_context);
+    
+      /* Opens a directory indicated by the `path'.  The `callback' is called
+         to return the opened file handle. */
+      void (*sftp_opendir)(void *context, SilcSFTP sftp,
+                           const char *path,
+                           SilcSFTPHandleCallback callback,
+                           void *callback_context);
+    
+      /* Reads the contents of the directory indicated by the `handle' and
+         calls the `callback' to return the read file(s) from the directory. */
+      void (*sftp_readdir)(void *context, SilcSFTP sftp,
+                           SilcSFTPHandle handle,
+                           SilcSFTPNameCallback callback,
+                           void *callback_context);
+    
+      /* Gets the file attributes for a file indicated by the `path'. This
+         will follow symbolic links also. Calls the `callback' to return the
+         file attributes. */
+      void (*sftp_stat)(void *context, SilcSFTP sftp,
+                        const char *path,
+                        SilcSFTPAttrCallback callback,
+                        void *callback_context);
+    
+      /* Gets the file attributes for a file indicated by the `path'. This
+         will not follow symbolic links. Calls the `callback' to return the
+         file attributes. */
+      void (*sftp_lstat)(void *context, SilcSFTP sftp,
+                         const char *path,
+                         SilcSFTPAttrCallback callback,
+                         void *callback_context);
+    
+      /* Gets a file attributes for a opened file indicated by the `handle'.
+         Calls the `callback' to return the file attributes. */
+      void (*sftp_fstat)(void *context, SilcSFTP sftp,
+                         SilcSFTPHandle handle,
+                         SilcSFTPAttrCallback callback,
+                         void *callback_context);
+    
+      /* Sets a file attributes to a file indicated by the `path' with the
+         attributes indicated by the `attrs'.  Calls the `callback' to indicate
+         the status of the setting. */
+      void (*sftp_setstat)(void *context, SilcSFTP sftp,
+                           const char *path,
+                           SilcSFTPAttributes attrs,
+                           SilcSFTPStatusCallback callback,
+                           void *callback_context);
+    
+      /* Sets a file attributes to a opened file indicated by the `handle' with
+         the attributes indicated by the `attrs'.  Calls the `callback' to
+         indicate the status of the setting. */
+      void (*sftp_fsetstat)(void *context, SilcSFTP sftp,
+                            SilcSFTPHandle handle,
+                            SilcSFTPAttributes attrs,
+                            SilcSFTPStatusCallback callback,
+                            void *callback_context);
+    
+      /* Reads the target of a symbolic link indicated by the `path'.  The
+         `callback' is called to return the target of the symbolic link. */
+      void (*sftp_readlink)(void *context, SilcSFTP sftp,
+                            const char *path,
+                            SilcSFTPNameCallback callback,
+                            void *callback_context);
+    
+      /* Creates a new symbolic link indicated by the `linkpath' to the target
+         indicated by the `targetpath'.  The `callback' is called to indicate
+         the status of creation. */
+      void (*sftp_symlink)(void *context, SilcSFTP sftp,
+                           const char *linkpath,
+                           const char *targetpath,
+                           SilcSFTPStatusCallback callback,
+                           void *callback_context);
+    
+      /* Canonicalizes the path indicated by the `path' to a absolute path.
+         The `callback' is called to return the absolute path. */
+      void (*sftp_realpath)(void *context, SilcSFTP sftp,
+                            const char *path,
+                            SilcSFTPNameCallback callback,
+                            void *callback_context);
+    
+      /* Performs an extended operation indicated by the `request' with
+         optional extended operation data indicated by the `data'.  The callback
+         is called to return any data associated with the extended request. */
+      void (*sftp_extended)(void *context, SilcSFTP sftp,
+                            const char *request,
+                            const unsigned char *data,
+                            SilcUInt32 data_len,
+                            SilcSFTPExtendedCallback callback,
+                            void *callback_context);
+    } *SilcSFTPFilesystemOps;
+



+
+
+ + + + +
+
+ +SFTP Filesystems Interface
+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
+
+ +



+
+
+ + + +
+ + + + + + +
Copyright © 2001 - 2007 SILC Project
+ SILC Project Website
+ SILC Toolkit Reference Manual
+ Index
+ + +