Splitted SILC libs configuration into configure fragment in
authorPekka Riikonen <priikone@silcnet.org>
Sat, 2 Apr 2005 15:29:22 +0000 (15:29 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Sat, 2 Apr 2005 15:29:22 +0000 (15:29 +0000)
lib/configure.ad.
Added --with-silc-includes and --with-silc-libs to provide
libs from somewhere else than included.

CHANGES
Makefile.defines.pre
Makefile.defines_int.pre
configure.in.pre
lib/configure.ad [new file with mode: 0644]
lib/silcsftp/silcsftp.h

diff --git a/CHANGES b/CHANGES
index 5b0f891109fa78240488996d5f05f19ff2e8c085..32c3ebb021f7ebb4a5bd653946b4e96654de4975 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,18 @@
+Sat Apr  2 18:09:30 EEST 2005  Pekka Riikonen <priikone@silcnet.org>
+
+       * Splitted the SILC libraries configuration into a configure
+         fragment into lib/configure.ad.  It is now possible, once
+         this feature is added, to specify whether to compile or not
+         compile included SILC libraries.  Affected files are
+         configure.in.pre, lib/silcmath/mpi/configure.ad,
+         lib/configure.ad, Makefile.defines.pre and
+         Makefile.defines_int.pre.
+
+       * Added --with-silc-includes and --with-silc-libs to configure.
+         If specified the included libs are not compiled, but the
+         specified libs are used.  Pkg-config is not yet supported.
+         Affected file configure.in.pre.
+
 Fri Apr  1 18:52:47 EEST 2005  Pekka Riikonen <priikone@silcnet.org>
 
        * Changed announcing to not announce unregistered clients.
index 192ff0f58b809f909f757f18226915a00e2430f4..ecffbc5012646e81d783fe39cba6c85bbd7a2f83 100644 (file)
 #
 INCLUDES = $(ADD_INCLUDES) $(SILC_CFLAGS) -DHAVE_SILCDEFS_H \
        -I$(srcdir) -I$(top_srcdir) \
-       -I$(silc_top_srcdir) \
-       -I$(silc_top_srcdir)/lib/silccore \
-       -I$(silc_top_srcdir)/lib/silccrypt \
-        -I$(silc_top_srcdir)/lib/silcmath \
-        -I$(silc_top_srcdir)/lib/silcmath/mpi \
-       -I$(silc_top_srcdir)/lib/silcske \
-       -I$(silc_top_srcdir)/lib/silcsim \
-       -I$(silc_top_srcdir)/lib/silcutil \
-       -I$(silc_top_srcdir)/lib/silcsftp \
-       -I$(silc_top_srcdir)/lib/silcclient \
-       -I$(silc_top_srcdir)/lib/contrib \
+       -I$(silc_top_srcdir) $(SILC_LIB_INCLUDES) \
         -I$(silc_top_srcdir)/includes \
         -I$(silc_top_srcdir)/doc
 
index 4c7f41450b428724a09584e8f56e35d597e2b305..cf4b43041baf737b273da0f2ee1d13848476cf04 100644 (file)
@@ -37,6 +37,11 @@ SILC_COMMON_LIBS= @LIBS@ -L$(silc_top_srcdir)/lib -lsilc
 #
 SILC_CFLAGS=@CFLAGS@
 
+#
+# SILC Library includes
+#
+SILC_LIB_INCLUDES=@SILC_LIB_INCLUDES@
+
 #
 # Installation defines
 #
index 37a1b3790c4ae0e4cdf23d757d47021d44d935ad..64ab2145a24d87247f4f8e7c077e768cf1761c48 100644 (file)
@@ -54,47 +54,10 @@ silc_dist=SILC_PACKAGE
 SILC_DIST_SUBDIRS="SILC_DISTRIBUTION_SUBDIRS"
 AC_DEFINE(SILC_DIST_DEFINE)
 
-
-##
-## Library versioning.
-##
-# Do the releases and library versioning according to following rules:
-#
-#  - If any code has changed in library, increment [LIB]_REVISION
-#  - If functions were added, set [LIB]_REVISION to 0
-#  - If functions were added, removed or changed, increment [LIB]_CURRENT
-#  - If functions were added, increment [LIB]_AGE
-#  - If functions were removed, set [LIB]_AGE to 0
-#
-# where [LIB] is LIBSILC and LIBSILCCLIENT, and where "functions" means
-# functions public interfaces.
-#
-# The LIB_BASE_VERSION defines the SILC software major.minor version and
-# it is increment only when these version numbers actually change.
-#
-
-# Base version for libraries.  Do not change this unless SILC version
-# changes too.
-LIB_BASE_VERSION=1.0
-
-# libsilc versions
-LIBSILC_CURRENT=3
-LIBSILC_REVISION=0
-LIBSILC_AGE=2
-
-# libsilcclient versions
-LIBSILCCLIENT_CURRENT=3
-LIBSILCCLIENT_REVISION=0
-LIBSILCCLIENT_AGE=2
-
-# Substitute the version numbers
-AC_SUBST(LIB_BASE_VERSION)
-AC_SUBST(LIBSILC_CURRENT)
-AC_SUBST(LIBSILC_REVISION)
-AC_SUBST(LIBSILC_AGE)
-AC_SUBST(LIBSILCCLIENT_CURRENT)
-AC_SUBST(LIBSILCCLIENT_REVISION)
-AC_SUBST(LIBSILCCLIENT_AGE)
+__SILC_HAVE_PTHREAD=""
+__SILC_HAVE_SIM=""
+__SILC_HAVE_LIBIDN=""
+__SILC_ENABLE_DEBUG=""
 
 #
 # Program checking
@@ -186,7 +149,6 @@ AC_CHECK_HEADERS(dlfcn.h,
       ])
    ])
 
-__SILC_HAVE_SIM=""
 AM_CONDITIONAL(SILC_SIM, test x$sim_support = xtrue)
 if test x$sim_support = xtrue; then
   AC_MSG_RESULT(Enabled SIM support.)
@@ -297,27 +259,6 @@ AC_ARG_ENABLE(debug,
     AC_MSG_RESULT(no)
   ])
 
-# Stack trace checking
-#
-AC_MSG_CHECKING(whether to enable stack tracing)
-summary_stacktrace="no"
-AC_ARG_ENABLE(stack-trace,
-  [  --enable-stack-trace    enable memory stack trace],
-  [
-    case "${enableval}" in
-    yes)
-      AC_MSG_RESULT(yes)
-      AC_DEFINE(SILC_STACKTRACE)
-      summary_stacktrace="yes"
-      ;;
-    *)
-      AC_MSG_RESULT(no)
-      ;;
-    esac
-  ],
-    AC_MSG_RESULT(no)
-  )
-
 # Disable all assembler optimizations
 #
 AC_MSG_CHECKING(whether to enable assembler optimizations)
@@ -540,6 +481,33 @@ AC_SUBST(PIDFILE)
 ##  With/without checkings
 ##
 
+#
+# SILC library checking
+compile_libs=true
+AC_ARG_WITH(silc-includes, 
+  [  --with-silc-includes=DIR SILC Toolkit includes [search in DIR]],
+  [ac_silc_includes="$withval"], [ac_silc_includes="no"])
+AC_ARG_WITH(silc-libs,
+  [  --with-silc-libs=DIR     SILC Toolkit libraries [search in DIR]],
+  [ac_silc_libs="$withval"], [ac_silc_libs="no"])
+
+#
+# XXX missing checking the __SILC_WITH_XXX defines from the provided libs
+# in order to determine correct libs to link.
+
+#
+# XXX missing pkg-config check.
+
+if test "$ac_silc_includes" != "no"; then
+  compile_libs=false
+  SILC_LIB_INCLUDES="-I$ac_silc_includes"
+fi
+if test "$ac_silc_libs" != "no"; then
+  compile_libs=false
+  LIBS="$LIBS -L$ac_silc_libs"
+fi
+
+
 # SOCKS4 support checking
 #
 SAVE_LIBS="$LIBS"
@@ -707,6 +675,7 @@ if test x$mp_gmp = xfalse; then
   AC_MSG_RESULT(Using NSS MPI as a MP library.)
 fi
 
+
 # GNU Libidn (for stringprep) support
 #
 check_libidn=true
@@ -841,7 +810,6 @@ if test x$check_libidn = xtrue; then
     done
 fi
 
-__SILC_HAVE_LIBIDN=""
 if test x$has_libidn = xtrue; then
   __SILC_HAVE_LIBIDN="#define __SILC_HAVE_LIBIDN 1"
 else
@@ -1224,7 +1192,7 @@ AC_ARG_WITH(perl,
 libtoolfix=true
 AC_MSG_CHECKING(whether to do libtoolfix)
 AC_ARG_WITH(libtoolfix,
-  [  --without-libtoolfix     Do not fix libtool, for package builders],
+  [  --without-libtoolfix    Do not fix libtool, for package builders],
   [
     AC_MSG_RESULT(no)
     libtoolfix=false
@@ -1252,13 +1220,19 @@ if test x$without_irssi = xfalse; then
 fi
 
 SILC_TOP_SRCDIR=`pwd`
+
+# Included configure scripts
+AD_INCLUDE_CONFIGURE
+
+#
+# Substitutions
+#
 AC_SUBST(SILC_TOP_SRCDIR)
-#SILC_INSTALL_PREFIX=$ac_default_prefix
-#AC_SUBST(SILC_INSTALL_PREFIX)
 AC_SUBST(LIBS)
 INCLUDE_DEFINES_INT="include \$(top_srcdir)/Makefile.defines_int"
 AC_SUBST(INCLUDE_DEFINES_INT)
 AC_SUBST(SILC_DIST_SUBDIRS)
+AC_SUBST(SILC_LIB_INCLUDES)
 
 #
 # Fix the libtool to support run-time configuration.  This allows us
@@ -1270,9 +1244,6 @@ if test x$libtoolfix = xtrue; then
 fi
 AM_CONDITIONAL(SILC_LIBTOOLFIX, test x$libtoolfix = xtrue)
 
-# Included configure scripts
-AD_INCLUDE_CONFIGURE
-
 AC_SUBST(__SILC_HAVE_PTHREAD)
 AC_SUBST(__SILC_HAVE_SIM)
 AC_SUBST(__SILC_HAVE_LIBIDN)
@@ -1287,33 +1258,10 @@ Makefile.defines
 Makefile.defines_int
 doc/Makefile
 includes/Makefile
-lib/Makefile
-lib/contrib/Makefile
-lib/silccore/Makefile
-lib/silccore/tests/Makefile
-lib/silccrypt/Makefile
-lib/silccrypt/tests/Makefile
-lib/silcsim/Makefile
-lib/silcske/Makefile
-lib/silcutil/Makefile
-lib/silcutil/unix/Makefile
-lib/silcutil/win32/Makefile
-lib/silcutil/beos/Makefile
-lib/silcutil/os2/Makefile
-lib/silcutil/epoc/Makefile
-lib/silcutil/tests/Makefile
-lib/silcmath/Makefile
-lib/silcsftp/Makefile
-lib/silcsftp/tests/Makefile
 doc/example_silcd.conf
 includes/silcincludes.h
 )
 
-if test "x$silc_dist" = "xsilc-client" ||
-   test "x$silc_dist" = "xsilc-toolkit"; then
-  AC_CONFIG_FILES(lib/silcclient/Makefile)
-fi
-
 if test x$without_irssi = xfalse ; then
   if test "x$silc_dist" = "xsilc-client" ||
      test "x$silc_dist" = "xsilc-toolkit"; then
@@ -1432,7 +1380,6 @@ if test x$has_threads = xtrue; then
 fi
 echo " Multi-threads support .........: $threads"
 echo " Debugging enabled .............: $summary_debug"
-echo " Stack-trace enabled ...........: $summary_stacktrace"
 echo ""
 if test "x$silc_dist" = "xsilc-client"; then
   echo "Compile the sources with 'make' or 'gmake' command (GNU make is required)."
diff --git a/lib/configure.ad b/lib/configure.ad
new file mode 100644 (file)
index 0000000..965db36
--- /dev/null
@@ -0,0 +1,136 @@
+#
+#  lib/configure.ad
+#
+#  Author: Pekka Riikonen <priikone@silcnet.org>
+#
+#  Copyright (C) 2005 Pekka Riikonen
+#
+#  This program is free software; you can redistribute it and/or modify
+#  it under the terms of the GNU General Public License as published by
+#  the Free Software Foundation; version 2 of the License.
+#
+#  This program is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#  GNU General Public License for more details.
+#
+
+if test x$compile_libs = xfalse; then
+
+##
+## Not compiling included libs.
+##
+
+# Remove lib subdir from SUBDIRS
+SILC_DIST_SUBDIRS=`echo $SILC_DIST_SUBDIRS | $sedpath -e 's/lib//'`
+
+else   # compile_libs = true
+
+##
+## Will compile included libs
+##
+AC_MSG_NOTICE([Configuring SILC libraries])
+
+# SILC Library directories
+SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silccore"
+SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silccrypt"
+SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcmath"
+SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcmath/mpi"
+SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcske"
+SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcsim"
+SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcutil"
+SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcsftp"
+SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcclient"
+SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/contrib"
+
+##
+## Library versioning.
+##
+# Do the releases and library versioning according to following rules:
+#
+#  - If any code has changed in library, increment [LIB]_REVISION
+#  - If functions were added, set [LIB]_REVISION to 0
+#  - If functions were added, removed or changed, increment [LIB]_CURRENT
+#  - If functions were added, increment [LIB]_AGE
+#  - If functions were removed, set [LIB]_AGE to 0
+#
+# where [LIB] is LIBSILC and LIBSILCCLIENT, and where "functions" means
+# functions public interfaces.
+#
+# The LIB_BASE_VERSION defines the SILC software major.minor version and
+# it is increment only when these version numbers actually change.
+#
+
+# Base version for libraries.  Do not change this unless SILC version
+# changes too.
+LIB_BASE_VERSION=1.0
+
+# libsilc versions
+LIBSILC_CURRENT=3
+LIBSILC_REVISION=0
+LIBSILC_AGE=2
+
+# libsilcclient versions
+LIBSILCCLIENT_CURRENT=3
+LIBSILCCLIENT_REVISION=0
+LIBSILCCLIENT_AGE=2
+
+# Substitute the version numbers
+AC_SUBST(LIB_BASE_VERSION)
+AC_SUBST(LIBSILC_CURRENT)
+AC_SUBST(LIBSILC_REVISION)
+AC_SUBST(LIBSILC_AGE)
+AC_SUBST(LIBSILCCLIENT_CURRENT)
+AC_SUBST(LIBSILCCLIENT_REVISION)
+AC_SUBST(LIBSILCCLIENT_AGE)
+
+# Stack trace checking
+#
+AC_MSG_CHECKING(whether to enable stack tracing)
+AC_ARG_ENABLE(stack-trace,
+  [  --enable-stack-trace    enable memory stack trace],
+  [
+    case "${enableval}" in
+    yes)
+      AC_MSG_RESULT(yes)
+      AC_DEFINE(SILC_STACKTRACE)
+      ;;
+    *)
+      AC_MSG_RESULT(no)
+      ;;
+    esac
+  ],
+    AC_MSG_RESULT(no)
+  )
+
+#
+# Makefile outputs
+#
+AC_CONFIG_FILES(
+lib/Makefile
+lib/contrib/Makefile
+lib/silccore/Makefile
+lib/silccore/tests/Makefile
+lib/silccrypt/Makefile
+lib/silccrypt/tests/Makefile
+lib/silcsim/Makefile
+lib/silcske/Makefile
+lib/silcutil/Makefile
+lib/silcutil/unix/Makefile
+lib/silcutil/win32/Makefile
+lib/silcutil/beos/Makefile
+lib/silcutil/os2/Makefile
+lib/silcutil/epoc/Makefile
+lib/silcutil/tests/Makefile
+lib/silcmath/Makefile
+lib/silcsftp/Makefile
+lib/silcsftp/tests/Makefile
+)
+
+if test "x$silc_dist" = "xsilc-client" ||
+   test "x$silc_dist" = "xsilc-toolkit"; then
+  AC_CONFIG_FILES(lib/silcclient/Makefile)
+fi
+
+fi     # compile_libs
+
index df5b6228126e6da0580e6a16c6328f400209dd10..38b300b6277e4c807b68e8c7c284fadec5acd874 100644 (file)
@@ -1,10 +1,10 @@
 /*
 
-  silcsftp.h 
+  silcsftp.h
 
   Author: Pekka Riikonen <priikone@silcnet.org>
 
-  Copyright (C) 2001 Pekka Riikonen
+  Copyright (C) 2001 - 2005 Pekka Riikonen
 
   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
@@ -39,7 +39,7 @@
 /****s* silcsftp/SilcSFTPAPI/SilcSFTP
  *
  * NAME
- * 
+ *
  *    typedef struct SilcSFTPStruct *SilcSFTP;
  *
  * DESCRIPTION
@@ -47,7 +47,7 @@
  *    This context is the actual SFTP client and SFTP server, and is
  *    allocated by silc_sftp_client_start or silc_sftp_server_start and
  *    given as argument usually to all silc_sftp_* functions.  It is freed
- *    by the silc_sftp_client_shutdown or silc_sftp_server_shutdown 
+ *    by the silc_sftp_client_shutdown or silc_sftp_server_shutdown
  *    functions.
  *
  ***/
@@ -56,7 +56,7 @@ typedef struct SilcSFTPStruct *SilcSFTP;
 /****d* silcsftp/SilcSFTPAPI/SilcSFTPVersion
  *
  * NAME
- * 
+ *
  *    typedef SilcUInt32 SilcSFTPVersion;
  *
  * DESCRIPTION
@@ -74,7 +74,7 @@ typedef SilcUInt32 SilcSFTPVersion;
 /****d* silcsftp/SilcSFTPAPI/SilcSFTPStatus
  *
  * NAME
- * 
+ *
  *    typedef enum { ... } SilcSFTPStatus
  *
  * DESCRIPTION
@@ -95,13 +95,33 @@ typedef enum {
   SILC_SFTP_STATUS_NO_CONNECTION       = 6,  /* No connection to server */
   SILC_SFTP_STATUS_CONNECTION_LOST     = 7,  /* Connection lost to server */
   SILC_SFTP_STATUS_OP_UNSUPPORTED      = 8,  /* Operation unsupported */
+  SILC_SFTP_STATUS_INVALID_HANDLE      = 9,  /* Invalid file handle */
+  SILC_SFTP_STATUS_NO_SUCH_PATH        = 10, /* Path does not exist */
+  SILC_SFTP_STATUS_FILE_ALREADY_EXIST  = 11, /* File already exists */
+  SILC_SFTP_STATUS_WRITE_PROTECT       = 12, /* Read-only or protected */
+  SILC_SFTP_STATUS_NO_MEDIA            = 13, /* No media available */
+  SILC_SFTP_STATUS_NO_SPACE_ON_DEVICE  = 14, /* No space on device */
+  SILC_SFTP_STATUS_QUOTA_EXCEEDED      = 15, /* Quota limit reached */
+  SILC_SFTP_STATUS_UNKNOWN_PRINCIBLE   = 16, /* Unknown princible */
+  SILC_SFTP_STATUS_LOCK_CONFLICT       = 17, /* File already locked */
+  SILC_SFTP_STATUS_NOT_EMPTY           = 18, /* Directory not empty */
+  SILC_SFTP_STATUS_NOT_A_DIRECTORY     = 19, /* Not a directory */
+  SILC_SFTP_STATUS_INVALID_FILENAME    = 20, /* Invalid filename */
+  SILC_SFTP_STATUS_LINK_LOOP           = 21, /* Too many symlinks */
+  SILC_SFTP_STATUS_CANNOT_DELETE       = 22, /* Could not delete file */
+  SILC_SFTP_STATUS_INVALID_PARAMETER   = 23, /* Invalid parameter */
+  SILC_SFTP_STATUS_FILE_IS_A_DIRECTORY = 24, /* File is a directory file */
+  SILC_SFTP_STATUS_BR_LOCK_CONFLICT    = 25, /* Byte range lock conflict */
+  SILC_SFTP_STATUS_BR_LOCK_REFUSED     = 26, /* Byte range lock refused */
+  SILC_SFTP_STATUS_DELETE_PENDING      = 27, /* File is being deleted */
+  SILC_SFTP_STATUS_FILE_CORRUPT        = 28, /* File is corrupted */
 } SilcSFTPStatus;
 /***/
 
 /****d* silcsftp/SilcSFTPAPI/SilcSFTPFileOperation
  *
  * NAME
- * 
+ *
  *    typedef enum { ... } SilcSFTPFileOperation
  *
  * DESCRIPTION
@@ -125,13 +145,13 @@ typedef enum {
 /****s* silcsftp/SilcSFTPAPI/SilcSFTPAttributes
  *
  * NAME
- * 
+ *
  *    typedef struct { ... } *SilcSFTPAttributes, SilcSFTPAttributesStruct;
  *
  * DESCRIPTION
  *
  *    SFTP File attributes structure represents the attributes for a file.
- *    This structure can be used by the client to send attributes to the 
+ *    This structure can be used by the client to send attributes to the
  *    server, and by server to return file attributes to the client.
  *
  ***/
@@ -152,7 +172,7 @@ typedef struct {
 /****s* silcsftp/SilcSFTPAPI/SilcSFTPName
  *
  * NAME
- * 
+ *
  *    typedef struct { ... } *SilcSFTPName, SilcSFTPNameStruct
  *
  * DESCRIPTION
@@ -173,7 +193,7 @@ typedef struct {
 /****s* silcsftp/SilcSFTPAPI/SilcSFTPHandle
  *
  * NAME
- * 
+ *
  *    typedef struct SilcSFTPHandleStruct *SilcSFTPHandle;
  *
  * DESCRIPTION
@@ -189,7 +209,7 @@ typedef struct SilcSFTPHandleStruct *SilcSFTPHandle;
  *
  * SYNOPSIS
  *
- *    typedef void (*SilcSFTPSendPacketCallback)(SilcBuffer packet, 
+ *    typedef void (*SilcSFTPSendPacketCallback)(SilcBuffer packet,
  *                                               void *context);
  *
  * DESCRIPTION
@@ -412,7 +432,7 @@ void silc_sftp_client_receive_process(SilcSFTP sftp,
  *
  * SYNOPSIS
  *
- *    void silc_sftp_open(SilcSFTP sftp, 
+ *    void silc_sftp_open(SilcSFTP sftp,
  *                        const char *filename,
  *                        SilcSFTPFileOperation pflags,
  *                        SilcSFTPAttributes attrs,
@@ -426,7 +446,7 @@ void silc_sftp_client_receive_process(SilcSFTP sftp,
  *    `callback' to return the opened file handle.
  *
  ***/
-void silc_sftp_open(SilcSFTP sftp, 
+void silc_sftp_open(SilcSFTP sftp,
                    const char *filename,
                    SilcSFTPFileOperation pflags,
                    SilcSFTPAttributes attrs,
@@ -459,7 +479,7 @@ void silc_sftp_close(SilcSFTP sftp,
  *
  *    void silc_sftp_read(SilcSFTP sftp,
  *                        SilcSFTPHandle handle,
- *                        SilcUInt64 offset, 
+ *                        SilcUInt64 offset,
  *                        SilcUInt32 len,
  *                        SilcSFTPDataCallback callback,
  *                        void *context);
@@ -473,7 +493,7 @@ void silc_sftp_close(SilcSFTP sftp,
  ***/
 void silc_sftp_read(SilcSFTP sftp,
                    SilcSFTPHandle handle,
-                   SilcUInt64 offset, 
+                   SilcUInt64 offset,
                    SilcUInt32 len,
                    SilcSFTPDataCallback callback,
                    void *context);
@@ -493,7 +513,7 @@ void silc_sftp_read(SilcSFTP sftp,
  * DESCRIPTION
  *
  *    Writes to a file indicated by the file handle `handle' starting from
- *    offset of `offset' at most `data_len' bytes of `data'.  The `callback' 
+ *    offset of `offset' at most `data_len' bytes of `data'.  The `callback'
  *    is called to indicate the status of the writing.
  *
  ***/
@@ -814,7 +834,7 @@ void silc_sftp_realpath(SilcSFTP sftp,
  *
  * DESCRIPTION
  *
- *    Performs an extended operation indicated by the `request' with 
+ *    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.
  *
@@ -836,7 +856,7 @@ void silc_sftp_extended(SilcSFTP sftp,
  * SYNOPSIS
  *
  *    SilcSFTP silc_sftp_server_start(SilcSFTPSendPacketCallback send_packet,
- *                                    void *send_context, 
+ *                                    void *send_context,
  *                                    SilcSFTPFilesystem fs);
  *
  * DESCRIPTION
@@ -849,7 +869,7 @@ void silc_sftp_extended(SilcSFTP sftp,
  *
  ***/
 SilcSFTP silc_sftp_server_start(SilcSFTPSendPacketCallback send_packet,
-                               void *send_context, 
+                               void *send_context,
                                SilcSFTPFilesystem fs);
 
 /****f* silcsftp/SilcSFTPAPI/silc_sftp_server_shutdown
@@ -870,7 +890,7 @@ void silc_sftp_server_shutdown(SilcSFTP sftp);
 /****d* silcsftp/SilcSFTPAPI/SilcSFTPMonitors
  *
  * NAME
- * 
+ *
  *    typedef enum { ... } SilcSFTPMonitors;
  *
  * DESCRIPTION
@@ -907,7 +927,7 @@ typedef enum {
 /****s* silcsftp/SilcSFTPAPI/SilcSFTPMonitorData
  *
  * NAME
- * 
+ *
  *    typedef struct { ... } *SilcSFTPMonitorData, SilcSFTPMonitorDataStruct;
  *
  * DESCRIPTION
@@ -958,7 +978,7 @@ typedef void (*SilcSFTPMonitor)(SilcSFTP sftp,
  *
  *    void silc_sftp_server_set_monitor(SilcSFTP sftp,
  *                                      SilcSFTPMonitors monitors,
- *                                      SilcSFTPMonitor monitor, 
+ *                                      SilcSFTPMonitor monitor,
  *                                      void *context);
  *
  * DESCRIPTION
@@ -970,7 +990,7 @@ typedef void (*SilcSFTPMonitor)(SilcSFTP sftp,
  ***/
 void silc_sftp_server_set_monitor(SilcSFTP sftp,
                                  SilcSFTPMonitors monitors,
-                                 SilcSFTPMonitor monitor, 
+                                 SilcSFTPMonitor monitor,
                                  void *context);
 
 /* Function that is called to process the incmoing SFTP packet. */