Added SILC Thread Queue API
[crypto.git] / lib / silcsftp / silcsftp.h
index 87ee70397ce1dc9a849a43bad1fe6855d0c215ae..d2364146c79f39c5f0254ce317efb6930748471f 100644 (file)
@@ -68,10 +68,8 @@ typedef struct SilcSFTPStruct *SilcSFTP;
  *
  *    SFTP Version type.
  *
- * SOURCE
- */
+ ***/
 typedef SilcUInt32 SilcSFTPVersion;
-/***/
 
 /* SFTP protocol version */
 #define SILC_SFTP_PROTOCOL_VERSION       3
@@ -160,7 +158,7 @@ typedef enum {
  *    server, and by server to return file attributes to the client.
  *
  ***/
-typedef struct {
+typedef struct SilcSFTPAttributesObject {
   SilcUInt32 flags;            /* Flags to indicate present attributes */
   SilcUInt64 size;             /* Sife of the file in bytes */
   SilcUInt32 uid;                      /* Unix user ID */
@@ -188,7 +186,7 @@ typedef struct {
  *    example when reading the contents of a directory.
  *
  ***/
-typedef struct {
+typedef struct SilcSFTPNameObject {
   char **filename;
   char **long_filename;
   SilcSFTPAttributes *attrs;
@@ -243,7 +241,9 @@ typedef void (*SilcSFTPVersionCallback)(SilcSFTP sftp,
  *
  *    Error callback is called if a connection error occurs during SFTP
  *    session.  If the connection or stream is closed this callback is
- *    called.  Other errors are delivered in other callbacks.
+ *    called.  Other errors are delivered in other callbacks.  Only the
+ *    SILC_SFTP_STATUS_EOF or SILC_SFTP_STATUS_NO_CONNECTION is delivered
+ *    in this callback.
  *
  ***/
 typedef void (*SilcSFTPErrorCallback)(SilcSFTP sftp,
@@ -403,11 +403,15 @@ typedef void (*SilcSFTPExtendedCallback)(SilcSFTP sftp,
  * DESCRIPTION
  *
  *    Starts SFTP client and returns context to it.  The version callback
- *    indicated by the `callback' will be called after the SFTP session has
+ *    indicated by the `version_cb' will be called after the SFTP session has
  *    been started and server has returned the version of the protocol.  The
  *    SFTP client context is returned in the callback too.  This returns the
  *    allocated SFTP client context or NULL on error.  The `stream' will be
- *    used to read and write the SFTP packets.
+ *    used to read and write the SFTP packets.  The `error_cb' will be called
+ *    in case a stream error occurs, such as end of stream.
+ *
+ *    If `schedule' is NULL this will call silc_schedule_get_global to try to
+ *    get global scheduler.
  *
  ***/
 SilcSFTP silc_sftp_client_start(SilcStream stream,
@@ -425,8 +429,8 @@ SilcSFTP silc_sftp_client_start(SilcStream stream,
  * DESCRIPTION
  *
  *    Shutdown's the SFTP client.  The caller is responsible of closing
- *    the associated socket connection.  The SFTP context is freed and is
- *    invalid after this function returns.
+ *    the associated stream.  The SFTP context is freed and is invalid after
+ *    this function returns.
  *
  ***/
 void silc_sftp_client_shutdown(SilcSFTP sftp);
@@ -867,10 +871,14 @@ void silc_sftp_extended(SilcSFTP sftp,
  * DESCRIPTION
  *
  *    Starts SFTP server and returns a context to it.  This function returns
- *    the allocated SFTP server context or NULL on error. The `send_packet'
- *    is called by the library when it needs to send a packet. The `fs' is the
- *    filesystem context allocated by the application.  Each socket connection
- *    should start its own server by calling this function.
+ *    the allocated SFTP server context or NULL on error.  The `stream' is
+ *    the stream (connection) to the client.  The `error_cb' will be called
+ *    when the `stream' is ended (SILC_SFTP_STATUS_EOF).  The caller is
+ *    responsible of closing and destroying the `stream'.  The `fs' is the
+ *    filesystem context allocated by the application.
+ *
+ *    If `schedule' is NULL this will call silc_schedule_get_global to try to
+ *    get global scheduler.
  *
  ***/
 SilcSFTP silc_sftp_server_start(SilcStream stream,
@@ -887,9 +895,9 @@ SilcSFTP silc_sftp_server_start(SilcStream stream,
  *
  * DESCRIPTION
  *
- *    Shutdown's the SFTP server.  The caller is responsible of closing
- *    the associated socket connection.  The SFTP context is freed and is
- *    invalid after this function returns.
+ *    Shutdown the SFTP server.  The caller is responsible of closing the
+ *    associated stream.  The SFTP context is freed and is invalid after
+ *    this function returns.
  *
  ***/
 void silc_sftp_server_shutdown(SilcSFTP sftp);
@@ -941,11 +949,12 @@ typedef enum {
  *
  *    This structure includes the monitor type specific data.  The
  *    application can check what the client has requested from this
- *    structure.
+ *    structure.  See the comments below what data is available for what
+ *    monitor type.
  *
  * SOURCE
  */
-typedef struct {
+typedef struct SilcSFTPMonitorDataObject {
   SilcSFTPVersion version;     /* _INIT */
   char *name;                  /* _OPEN, _REMOVE, _RENAME, _MKDIR,
                                   _RMDIR, _OPENDIR, _STAT, _LSTAT,