From 67ead87b5688a88f997ed02252625e1ebb882de4 Mon Sep 17 00:00:00 2001 From: Pekka Riikonen Date: Sat, 2 Mar 2002 20:42:31 +0000 Subject: [PATCH] Improved the ROBOdoc documentation generation process. --- INSTALL | 4 +- TODO | 2 + doc/example_silcd.conf.in | 2 - lib/doc/LIBINDEX | 9 +- lib/doc/building.html | 178 ++++++++++++++++++++++++++++++++ lib/silcclient/DIRECTORY | 16 +-- lib/silcclient/silcclient.h | 2 +- lib/silccore/DIRECTORY | 14 ++- lib/silccore/silcargument.h | 2 +- lib/silccore/silcauth.h | 2 +- lib/silccore/silcchannel.h | 2 +- lib/silccore/silccommand.h | 2 +- lib/silccore/silcid.h | 2 +- lib/silccore/silcidcache.h | 2 +- lib/silccore/silcmode.h | 2 +- lib/silccore/silcnotify.h | 2 +- lib/silccore/silcpacket.h | 2 +- lib/silccore/silcprivate.h | 2 +- lib/silccrypt/DIRECTORY | 16 +-- lib/silccrypt/silchmac.h | 2 +- lib/silccrypt/silcrng.h | 2 +- lib/silcmath/DIRECTORY | 12 ++- lib/silcmath/Makefile.am | 9 +- lib/silcmath/silcmath.h | 2 +- lib/silcmath/silcmp.h | 2 +- lib/silcsftp/DIRECTORY | 14 ++- lib/silcsftp/silcsftp.h | 2 +- lib/silcsftp/silcsftp_fs.h | 2 +- lib/silcske/DIRECTORY | 14 ++- lib/silcske/silcske.h | 2 +- lib/silcske/silcske_groups.h | 2 +- lib/silcske/silcske_payload.h | 2 +- lib/silcske/silcske_status.h | 2 +- lib/silcutil/DIRECTORY | 14 ++- lib/silcutil/silcbuffmt.h | 2 +- lib/silcutil/silcconfig.h | 2 +- lib/silcutil/silcfileutil.h | 2 +- lib/silcutil/silchashtable.h | 4 +- lib/silcutil/silclist.h | 2 +- lib/silcutil/silclog.h | 2 +- lib/silcutil/silcmemory.h | 2 +- lib/silcutil/silcmutex.h | 2 +- lib/silcutil/silcnet.h | 2 +- lib/silcutil/silcprotocol.h | 2 +- lib/silcutil/silcschedule.h | 2 +- lib/silcutil/silcsockconn.h | 2 +- lib/silcutil/silcthread.h | 2 +- util/robodoc/Source/analyser.c | 23 +++-- util/robodoc/Source/generator.c | 15 ++- util/robodoc/Source/generator.h | 2 +- 50 files changed, 324 insertions(+), 90 deletions(-) create mode 100644 lib/doc/building.html diff --git a/INSTALL b/INSTALL index 71fb1948..ca34dbe7 100644 --- a/INSTALL +++ b/INSTALL @@ -47,8 +47,8 @@ will work in single thread only. `--enable-ipv6' The `configure' will attempt to check for IPv6 support in your system. - However, if it fails, but you still want to compile in the IPv6 support - you can give --enable-ipv6 option to force the IPv6 support. +However, if it fails, but you still want to compile in the IPv6 support +you can give --enable-ipv6 option to force the IPv6 support. Basic Installation ================== diff --git a/TODO b/TODO index 17d3fdf8..52f0769d 100644 --- a/TODO +++ b/TODO @@ -83,6 +83,8 @@ TODO/bugs In SILC Server TODO/bugs In SILC Libraries =========================== + o Fix possible buffer overflows in silc_id_render function. + o WIN32 silc_net_create_connection_async does not work the same way than on Unix. Do it with threads on WIN32. The function works but is not actually async currently. diff --git a/doc/example_silcd.conf.in b/doc/example_silcd.conf.in index 89dc2f26..5bac8bcc 100644 --- a/doc/example_silcd.conf.in +++ b/doc/example_silcd.conf.in @@ -356,7 +356,6 @@ ServerConnection { Host = "10.2.1.7"; Passphrase = "verysecret"; #Publickey = "/path/to/the/public.key"; - VersionID = 1; Params = "normal"; Backup = false; }; @@ -391,7 +390,6 @@ RouterConnection { Port = 706; Passphrase = "verysecret"; #Publickey = "/path/to/the/public.key"; - VersionID = 1; Params = "normal"; Initiator = true; #BackupHost = "10.2.1.6"; diff --git a/lib/doc/LIBINDEX b/lib/doc/LIBINDEX index fdee154e..c90f7f00 100644 --- a/lib/doc/LIBINDEX +++ b/lib/doc/LIBINDEX @@ -27,15 +27,20 @@ of the Toolkit always delivers the latest version of this reference manual.


  • Introduction to the Manual
  • Programming Conventions
    +
  • Building the Toolkit + +

    +Toolkit Reference +

    @BODY@ -


    +

    Resource Links

    Please refer to these outside links for more information about the SILC project and SILC Protocol. -


    +

  • SILC Project Website
  • SILC Protocol Documentation
  • SILC White Paper
    diff --git a/lib/doc/building.html b/lib/doc/building.html new file mode 100644 index 00000000..c0a7f64d --- /dev/null +++ b/lib/doc/building.html @@ -0,0 +1,178 @@ +Building the Toolkit + +
     
    +SILC Toolkit works on various platforms, such as on several Unix systems and +on Windows. Building of the Toolkit on some platform may differ from the +other. This document describes how to build the Toolkit from the sources, +to create linkable libraries and binaries, on all platforms the Toolkit +support. + +
     
    +The building instructions for all platforms are also included in the Toolkit +package. Please refer to the INSTALL file for general building instructions +for Unix systems, README.WIN32 for building on Windows systems, and +README.MACOSX for building on Mac OS X. + +
     
    +
  • Building on Unix & Linux
    +
  • Building on Windows
    +
  • Building on Mac OS X + +
     
     
    +Building on Unix & Linux + +
     
    +Building the Toolkit on Unix will produce binaries of all libraries, and +SILC Client and SILC Server. The Toolkit package includes also Client and +Server as an example applications, and they are compiled automatically. +The libraries are compiled to provide staticly linkable libraries. Two +libraries are produced: libsilc.a and libsilcclient.a. The libsilc.a includes +everything else except the Client library. The libsilcclient.a includes +only the Client library. + +
     
    +To build Toolkit on Unix systems, give commands: + +
     
    + +./configure
    +make +
    + +
     
    +On some systems you may need to give "gmake" command instead of "make". The +./configure can take several options as arguments. To see them all give +command: + +
     
    +./configure --help + +
     
    +The most important configuration options you may consider to use are: + +
     
    +--enable-debug + +
     
    +If you would like to enable the debugging for the compiled binaries +you can give this option to the `configure'. It is recommended to use +this option when you are doing development with Toolkit. It is helpful +to enable run-time debugging. + +
     
    +--with-gmp=PATH + +
     
    +If you wish to use GMP library for arbitrary precision arithmetic +library instead of using the MPI library included in the package, you can +give the --with-gmp=PATH option to the `configure'. The PATH is the path +to the GMP library in your system. + +
     
    +--disable-asm + +
     
    +If you have trouble compiling the assembler optimized code in the +package or does not want to use them, you can give the --disable-asm +option to the `configure' script. This will assure that assembler +optimized code is not compiled in. + +
     
    +--disable-threads + +
     
    +If you do not want to compile the programs with multi threads support +you can give --disable-threads option. This will disable the SILC Thread +API and SILC Mutex API. Furthermore if SILC Thread API is used when this +option is used, the routines work, but do not work in threads (are run +in the calling process and can block the process). + +
     
    +--enable-ipv6 + +
     
    +The `configure' will attempt to check for IPv6 support in your system. +However, if it fails, but you still want to compile in the IPv6 support +you can give --enable-ipv6 option to force the IPv6 support. + +
     
    +After compilation you can install the Toolkit into your system by giving +the command: + +
     
    +make install + + +
     
     
    +Building on Windows + +
     
    +The Toolkit can be compiled several different ways on Windows. However, +this document describes the method to build the Toolkit to produce native +Win32 binaries. The Toolkit package can also be compiled on Cygwin and +MinGW. For these systems please refer to the README.WIN32 file in the +Toolkit package. + +
     
    +The Toolkit package includes ready MSVC++ Workspace files, that will +automatically compile the Toolkit. The MSVC++ workspace and project files +resides in the win32/ subdirectory of the Toolkit package. The `silc.dsw' +file is the workspace file that automatically supports compiling the Toolkit +and to generate the SILC Core DLL and SILC Client DLL libraries. + +
     
    +The SILC Core DLL is named as libsilc and will generate libsilc.dll, and +the SILC Client DLL is named as libsilcclient and will generate +libsilcclient.dll. Both of the projects also automatically generates +libsilc.lib and libsilcclient.lib import libraries that may be used to +link against a client application. + +
     
    +Generally you do not need to do any specific settings to compile the +Toolkit. However, you must compile the libsilc before compiling the +libsilclient, since the SILC Client DLL depends on the SILC Core DLL. +You may compile the DLLs as either Release or Debug version. Just select +the preferred method of compilation. The Debug version will compile the +SILC Toolkit with run-time debugging support, which is recommended when +doing development with the Toolkit. + +
     
     
    +Building on Mac OS X + +
     
    +Building the Toolkit on Mac OS X is almost identical on compiling on Unix +system. The reason for this is that the Mac OS X is Unix based operating +system. To build the Toolkit on Mac OS X, give the following commands: + +
     
    + +setenv CFLAGS -no-cpp-precomp
    +./configure powerpc
    +make +
    + +
     
    +The ./configure can take several options as arguments. To see them all give +command: + +
     
    +./configure --help + +
     
    +If you do not want to compile the applications, or they do not compile on +your system, you can also choose to compile only the libraries, and skip +all applications. In this case, before giving the "make" command, go +to the lib/ subdirectory, and give "make" command there: + +
     
    + +cd lib/
    +make +
    + +
     
    +After compilation you can install the Toolkit into your system by giving +the command: + +
     
    +make install diff --git a/lib/silcclient/DIRECTORY b/lib/silcclient/DIRECTORY index 5e72559e..7fa78c18 100644 --- a/lib/silcclient/DIRECTORY +++ b/lib/silcclient/DIRECTORY @@ -5,11 +5,15 @@ @LINK=silcclient.html:Client Library Interface --> -SILC Client Library -

    -Introduction +SILC Client Library +
    +Directory: lib/silcclient/ +
    +Library: libsilcclient.a, libsilcclient.lib +

    +Introduction -

    +

    SILC Client Library is SILC Client implementation without the actual user interface. The library uses common and core components of SILC protocol from lib/silccore library and normal utility routines from lib/silcutil library. @@ -18,7 +22,7 @@ without actual user interface. The library provides the API for the application which it can use to implement generally whatever user interface it wants. -

    +

    The `silcclient.h' file defines the function prototypes that application must implement in order to be able to create the user interface with the library. The idea is that the application can implement whatever user @@ -28,5 +32,5 @@ it does not include any user interface specific issues such as window handling or item handling on the screen etc. These does not interest the library. -

    +

    @LINKS@ diff --git a/lib/silcclient/silcclient.h b/lib/silcclient/silcclient.h index f1b3ebc9..2dcb7a58 100644 --- a/lib/silcclient/silcclient.h +++ b/lib/silcclient/silcclient.h @@ -17,7 +17,7 @@ */ -/****h* silcclient/SilcClientAPI +/****h* silcclient/Client Library Interface * * DESCRIPTION * diff --git a/lib/silccore/DIRECTORY b/lib/silccore/DIRECTORY index c1fc2bed..12cd09ca 100644 --- a/lib/silccore/DIRECTORY +++ b/lib/silccore/DIRECTORY @@ -13,15 +13,19 @@ @LINK=silcpacket.html:Packet Protocol Interface --> -SILC Core Library -

    -Introduction +SILC Core Library +
    +Directory: lib/silccore/ +
    +Library: libsilc.a, libsilc.lib +

    +Introduction -

    +

    SILC Core Library includes all the core components of the SILC Protocol. It provides routines to encode and decode all SILC packet payloads defined in the protocol specification. It provides packet assembling and parsing routines, and routines for sending private message and channel messages. -

    +

    @LINKS@ diff --git a/lib/silccore/silcargument.h b/lib/silccore/silcargument.h index 9f3eebfe..62c945fc 100644 --- a/lib/silccore/silcargument.h +++ b/lib/silccore/silcargument.h @@ -17,7 +17,7 @@ */ -/****h* silccore/SilcArgumentAPI +/****h* silccore/SILC Argument Interface * * DESCRIPTION * diff --git a/lib/silccore/silcauth.h b/lib/silccore/silcauth.h index 84d6789c..008a8ead 100644 --- a/lib/silccore/silcauth.h +++ b/lib/silccore/silcauth.h @@ -18,7 +18,7 @@ */ -/****h* silccore/SilcAuthAPI +/****h* silccore/SILC Authentication Interface * * DESCRIPTION * diff --git a/lib/silccore/silcchannel.h b/lib/silccore/silcchannel.h index 792c31c8..fe4ce3a2 100644 --- a/lib/silccore/silcchannel.h +++ b/lib/silccore/silcchannel.h @@ -18,7 +18,7 @@ */ -/****h* silccore/SilcChannelAPI +/****h* silccore/SILC Channel Interface * * DESCRIPTION * diff --git a/lib/silccore/silccommand.h b/lib/silccore/silccommand.h index bbd1fcf4..46e7ddd1 100644 --- a/lib/silccore/silccommand.h +++ b/lib/silccore/silccommand.h @@ -18,7 +18,7 @@ */ -/****h* silccore/SilcCommandAPI +/****h* silccore/SILC Command Interface * * DESCRIPTION * diff --git a/lib/silccore/silcid.h b/lib/silccore/silcid.h index 821285ee..1bfbe44e 100644 --- a/lib/silccore/silcid.h +++ b/lib/silccore/silcid.h @@ -18,7 +18,7 @@ */ -/****h* silccore/SilcIDAPI +/****h* silccore/SILC ID Interface * * DESCRIPTION * diff --git a/lib/silccore/silcidcache.h b/lib/silccore/silcidcache.h index 64c8bf9c..8d2170a0 100644 --- a/lib/silccore/silcidcache.h +++ b/lib/silccore/silcidcache.h @@ -18,7 +18,7 @@ */ -/****h* silccore/SilcIDCacheAPI +/****h* silccore/SILC ID Cache Interface * * DESCRIPTION * diff --git a/lib/silccore/silcmode.h b/lib/silccore/silcmode.h index 4f42778d..4e365bf7 100644 --- a/lib/silccore/silcmode.h +++ b/lib/silccore/silcmode.h @@ -18,7 +18,7 @@ */ -/****h* silccore/SilcMode +/****h* silccore/SILC Modes * * DESCRIPTION * diff --git a/lib/silccore/silcnotify.h b/lib/silccore/silcnotify.h index 67e8894f..b95f09fd 100644 --- a/lib/silccore/silcnotify.h +++ b/lib/silccore/silcnotify.h @@ -18,7 +18,7 @@ */ -/****h* silccore/SilcNotifyAPI +/****h* silccore/SILC Notify Interface * * DESCRIPTION * diff --git a/lib/silccore/silcpacket.h b/lib/silccore/silcpacket.h index b4f1a8e4..b5789fe0 100644 --- a/lib/silccore/silcpacket.h +++ b/lib/silccore/silcpacket.h @@ -17,7 +17,7 @@ */ -/****h* silccore/SilcPacketAPI +/****h* silccore/Packet Protocol Interface * * DESCRIPTION * diff --git a/lib/silccore/silcprivate.h b/lib/silccore/silcprivate.h index e5da22ea..d4f6abff 100644 --- a/lib/silccore/silcprivate.h +++ b/lib/silccore/silcprivate.h @@ -18,7 +18,7 @@ */ -/****h* silccore/SilcPrivateAPI +/****h* silccore/SILC Private Message Interface * * DESCRIPTION * diff --git a/lib/silccrypt/DIRECTORY b/lib/silccrypt/DIRECTORY index 7b950634..370ccdc2 100644 --- a/lib/silccrypt/DIRECTORY +++ b/lib/silccrypt/DIRECTORY @@ -3,22 +3,26 @@ @FILENAME=silccryptlib.html @LINK=silcrng_intro.html:Introduction to SILC RNG @LINK=silcrng.html:SILC RNG Interface +@LINK=silchmac.html:SILC HMAC Interface @LINK=silccipher.html:SILC Cipher API @LINK=silchash.html:SILC Hash API -@LINK=silchmac.html:SILC HMAC API @LINK=silcpkcs.html:SILC PKCS API --> -SILC Crypto Library -

    -Introduction +SILC Crypto Library +
    +Directory: lib/silccrypt/ +
    +Library: libsilc.a, libsilc.lib +

    +Introduction -

    +

    SILC Crypto Library provides cryptographic routines for applications. It provides interfaces for ciphers, hash functions, HMACs and public key cryptosystems. In addition is also provides interfaces for cryptographically strong random number generator. -

    +

    @LINKS@ diff --git a/lib/silccrypt/silchmac.h b/lib/silccrypt/silchmac.h index a317a3f5..37d28c59 100644 --- a/lib/silccrypt/silchmac.h +++ b/lib/silccrypt/silchmac.h @@ -20,7 +20,7 @@ #ifndef SILCHMAC_H #define SILCHMAC_H -/****h* silccrypt/SilcHMACAPI +/****h* silccrypt/SILC HMAC Interface * * DESCRIPTION * diff --git a/lib/silccrypt/silcrng.h b/lib/silccrypt/silcrng.h index a5da3c34..9a173ffb 100644 --- a/lib/silccrypt/silcrng.h +++ b/lib/silccrypt/silcrng.h @@ -17,7 +17,7 @@ */ -/****h* silccrypt/SilcRNGAPI +/****h* silccrypt/SILC RNG Interface * * DESCRIPTION * diff --git a/lib/silcmath/DIRECTORY b/lib/silcmath/DIRECTORY index af8bc273..33c6d2f5 100644 --- a/lib/silcmath/DIRECTORY +++ b/lib/silcmath/DIRECTORY @@ -5,14 +5,18 @@ @LINK=silcmath.html:SILC Math Interface --> -SILC Math Library -

    +SILC Math Library +
    +Directory: lib/silcmath/ +
    +Library: libsilc.a, libsilc.lib +

    Introduction -

    +

    SILC Math Library provides arbitrary precision artichmetic routines for public key cryptosystems, prime number generation routines, and other math utility functions for applications. -

    +

    @LINKS@ diff --git a/lib/silcmath/Makefile.am b/lib/silcmath/Makefile.am index d1e75ab6..6ef0c4f4 100644 --- a/lib/silcmath/Makefile.am +++ b/lib/silcmath/Makefile.am @@ -28,8 +28,14 @@ noinst_LIBRARIES = libsilcmath.a if SILC_MP_NSS_MPI MP_SOURCE = mp_mpi.c +if SILC_DIST_TOOLKIT +MP_HEADERS = mpi/mpi.h mpi/mplogic.h mpi/mpprime.h mpi/mpi-config.h +else +MP_HEADERS = +endif else MP_SOURCE = mp_gmp.c +MP_HEADERS = endif libsilcmath_a_SOURCES = \ @@ -43,7 +49,8 @@ include_HEADERS = \ mp_gmp.h \ mp_mpi.h \ silcmath.h \ - silcmp.h + silcmp.h \ + $(MP_HEADERS) endif EXTRA_DIST = *.h diff --git a/lib/silcmath/silcmath.h b/lib/silcmath/silcmath.h index b5f28791..d9233d30 100644 --- a/lib/silcmath/silcmath.h +++ b/lib/silcmath/silcmath.h @@ -18,7 +18,7 @@ */ -/****h* silcmath/SilcMathAPI +/****h* silcmath/SILC Math Interface * * DESCRIPTION * diff --git a/lib/silcmath/silcmp.h b/lib/silcmath/silcmp.h index c0bb7087..72d71acb 100644 --- a/lib/silcmath/silcmp.h +++ b/lib/silcmath/silcmp.h @@ -18,7 +18,7 @@ */ -/****h* silcmath/SilcMPAPI +/****h* silcmath/SILC MP Interface * * DESCRIPTION * diff --git a/lib/silcsftp/DIRECTORY b/lib/silcsftp/DIRECTORY index 088a6975..ee5e0238 100644 --- a/lib/silcsftp/DIRECTORY +++ b/lib/silcsftp/DIRECTORY @@ -5,15 +5,19 @@ @LINK=silcsftp_fs.html:SFTP Filesystems Interface --> -SILC SFTP Library -

    -Introduction +SILC SFTP Library +
    +Directory: lib/silcsftp/ +
    +Library: libsilc.a, libsilc.lib +

    +Introduction -

    +

    SILC SFTP Library provides SSH File Transfer Protocol client and server implementation. The SFTP protocol is the mandatory file transfer protocol used for file transfers in the SILC protocol. The same interface is used for SFTP client and SFTP server. -

    +

    @LINKS@ diff --git a/lib/silcsftp/silcsftp.h b/lib/silcsftp/silcsftp.h index 1e438d9b..ef5735a8 100644 --- a/lib/silcsftp/silcsftp.h +++ b/lib/silcsftp/silcsftp.h @@ -20,7 +20,7 @@ #ifndef SILCSFTP_H #define SILCSFTP_H -/****h* silcsftp/SilcSFTPAPI +/****h* silcsftp/SILC SFTP Interface * * DESCRIPTION * diff --git a/lib/silcsftp/silcsftp_fs.h b/lib/silcsftp/silcsftp_fs.h index ea719282..ae222ab7 100644 --- a/lib/silcsftp/silcsftp_fs.h +++ b/lib/silcsftp/silcsftp_fs.h @@ -20,7 +20,7 @@ #ifndef SILCSFTP_FS_H #define SILCSFTP_FS_H -/****h* silcsftp/SilcSFTPFSAPI +/****h* silcsftp/SFTP Filesystems Interface * * DESCRIPTION * diff --git a/lib/silcske/DIRECTORY b/lib/silcske/DIRECTORY index 0fbae547..c37dd945 100644 --- a/lib/silcske/DIRECTORY +++ b/lib/silcske/DIRECTORY @@ -7,14 +7,18 @@ @LINK=silcske_payload.html:SKE Payloads --> -SILC Key Exchange Library -

    -Introduction +SILC Key Exchange Library +
    +Directory: lib/silcske/ +
    +Library: libsilc.a, libsilc.lib +

    +Introduction -

    +

    SILC Key Exchange (SKE) Library, is an implementation of the SKE protocol. It provides the key exchange protocol for all SILC applications. -

    +

    @LINKS@ diff --git a/lib/silcske/silcske.h b/lib/silcske/silcske.h index 5c552e03..ffb25b0a 100644 --- a/lib/silcske/silcske.h +++ b/lib/silcske/silcske.h @@ -20,7 +20,7 @@ #ifndef SILCSKE_H #define SILCSKE_H -/****h* silcske/SilcSKEAPI +/****h* silcske/SILC SKE Interface * * DESCRIPTION * diff --git a/lib/silcske/silcske_groups.h b/lib/silcske/silcske_groups.h index acbdb58a..551bf168 100644 --- a/lib/silcske/silcske_groups.h +++ b/lib/silcske/silcske_groups.h @@ -17,7 +17,7 @@ */ -/****h* silcske/SilcSKEGroups +/****h* silcske/SKE Diffie Hellman Groups * * DESCRIPTION * diff --git a/lib/silcske/silcske_payload.h b/lib/silcske/silcske_payload.h index 9c12ba57..22755524 100644 --- a/lib/silcske/silcske_payload.h +++ b/lib/silcske/silcske_payload.h @@ -17,7 +17,7 @@ */ -/****h* silcske/SilcSKEPayloads +/****h* silcske/SKE Payloads * * DESCRIPTION * diff --git a/lib/silcske/silcske_status.h b/lib/silcske/silcske_status.h index 2c55ad4a..908a807d 100644 --- a/lib/silcske/silcske_status.h +++ b/lib/silcske/silcske_status.h @@ -17,7 +17,7 @@ */ -/****h* silcske/SilcSKEStatuses +/****h* silcske/SKE Status Types * * DESCRIPTION * diff --git a/lib/silcutil/DIRECTORY b/lib/silcutil/DIRECTORY index a48ad6b0..a0362fb2 100644 --- a/lib/silcutil/DIRECTORY +++ b/lib/silcutil/DIRECTORY @@ -20,11 +20,15 @@ @LINK=silczip.html:SILC Zip API --> -SILC Utility Library -

    -Introduction +SILC Utility Library +
    +Directory: lib/silcutil/ +
    +Library: libsilc.a, libsilc.lib +

    +Introduction -

    +

    SILC Utility Library provides various utility routines for the applications. For example, it provides the application's main loop, called the SILC Scheduler. It can handle all kinds of tasks, like socket connections and @@ -32,5 +36,5 @@ timeout tasks. The SILC Utility Library also provides various buffer management routines. All of these routines work on multiple platforms such as Unix and WIN32. -

    +

    @LINKS@ diff --git a/lib/silcutil/silcbuffmt.h b/lib/silcutil/silcbuffmt.h index e69e90bb..42d55d1b 100644 --- a/lib/silcutil/silcbuffmt.h +++ b/lib/silcutil/silcbuffmt.h @@ -18,7 +18,7 @@ */ -/****h* silcutil/SilcBufferFormatAPI +/****h* silcutil/SILC Buffer Format Interface * * DESCRIPTION * diff --git a/lib/silcutil/silcconfig.h b/lib/silcutil/silcconfig.h index 2e70e01f..06073e4f 100644 --- a/lib/silcutil/silcconfig.h +++ b/lib/silcutil/silcconfig.h @@ -18,7 +18,7 @@ */ -/****h* silcutil/SilcConfigAPI +/****h* silcutil/SILC Config Interface * * DESCRIPTION * diff --git a/lib/silcutil/silcfileutil.h b/lib/silcutil/silcfileutil.h index 76892b27..80624ed5 100644 --- a/lib/silcutil/silcfileutil.h +++ b/lib/silcutil/silcfileutil.h @@ -17,7 +17,7 @@ */ -/****h* silcutil/SilcFileUtilAPI +/****h* silcutil/Silc File Util Interface * * DESCRIPTION * diff --git a/lib/silcutil/silchashtable.h b/lib/silcutil/silchashtable.h index 2b186c95..6e04f6b7 100644 --- a/lib/silcutil/silchashtable.h +++ b/lib/silcutil/silchashtable.h @@ -17,7 +17,7 @@ */ -/****h* silcutil/SilcHashTableAPI +/****h* silcutil/SILC Hash Table Interface * * DESCRIPTION * @@ -33,7 +33,7 @@ * an extended interface where caller can specify its own hash and comparison * functions. * - * There are two ways tro traverse the entire hash table if this feature + * There are two ways to traverse the entire hash table if this feature * is needed. There exists a foreach function that calls a foreach * callback for each entry in the hash table. Other way is to use * SilcHashTableList structure and traverse the hash table inside while() diff --git a/lib/silcutil/silclist.h b/lib/silcutil/silclist.h index 326837e1..2d56241e 100644 --- a/lib/silcutil/silclist.h +++ b/lib/silcutil/silclist.h @@ -18,7 +18,7 @@ */ -/****h* silcutil/SilcListAPI +/****h* silcutil/SILC List Interface * * DESCRIPTION * diff --git a/lib/silcutil/silclog.h b/lib/silcutil/silclog.h index 01425a89..30cfa070 100644 --- a/lib/silcutil/silclog.h +++ b/lib/silcutil/silclog.h @@ -18,7 +18,7 @@ */ -/****h* silcutil/SilcLogAPI +/****h* silcutil/SILC Logging Interface * * DESCRIPTION * diff --git a/lib/silcutil/silcmemory.h b/lib/silcutil/silcmemory.h index 8046909c..691cc698 100644 --- a/lib/silcutil/silcmemory.h +++ b/lib/silcutil/silcmemory.h @@ -17,7 +17,7 @@ */ -/****h* silcutil/SilcMemoryAPI +/****h* silcutil/SILC Memory Interface * * DESCRIPTION * diff --git a/lib/silcutil/silcmutex.h b/lib/silcutil/silcmutex.h index 076b667b..e1f1b26c 100644 --- a/lib/silcutil/silcmutex.h +++ b/lib/silcutil/silcmutex.h @@ -18,7 +18,7 @@ */ -/****h* silcutil/SilcMutexAPI +/****h* silcutil/SILC Mutex Interface * * DESCRIPTION * diff --git a/lib/silcutil/silcnet.h b/lib/silcutil/silcnet.h index 931b3d82..262d86a9 100644 --- a/lib/silcutil/silcnet.h +++ b/lib/silcutil/silcnet.h @@ -18,7 +18,7 @@ */ -/****h* silcutil/SilcNetAPI +/****h* silcutil/SILC Net Interface * * DESCRIPTION * diff --git a/lib/silcutil/silcprotocol.h b/lib/silcutil/silcprotocol.h index a6e4463c..74393280 100644 --- a/lib/silcutil/silcprotocol.h +++ b/lib/silcutil/silcprotocol.h @@ -18,7 +18,7 @@ */ -/****h* silccore/silcprotocol.h +/****h* silccore/SILC Protocol Interface * * DESCRIPTION * diff --git a/lib/silcutil/silcschedule.h b/lib/silcutil/silcschedule.h index b0e315fd..95e279a3 100644 --- a/lib/silcutil/silcschedule.h +++ b/lib/silcutil/silcschedule.h @@ -20,7 +20,7 @@ */ -/****h* silcutil/SilcScheduleAPI +/****h* silcutil/SILC Schedule Interface * * DESCRIPTION * diff --git a/lib/silcutil/silcsockconn.h b/lib/silcutil/silcsockconn.h index ea47d3da..7f6ea5f9 100644 --- a/lib/silcutil/silcsockconn.h +++ b/lib/silcutil/silcsockconn.h @@ -18,7 +18,7 @@ */ -/****h* silcutil/SilcSocketConnectionAPI +/****h* silcutil/SILC Socket Interface * * DESCRIPTION * diff --git a/lib/silcutil/silcthread.h b/lib/silcutil/silcthread.h index 26493ab8..06becee0 100644 --- a/lib/silcutil/silcthread.h +++ b/lib/silcutil/silcthread.h @@ -18,7 +18,7 @@ */ -/****h* silcutil/SilcThreadAPI +/****h* silcutil/SILC Thread Interface * * DESCRIPTION * diff --git a/util/robodoc/Source/analyser.c b/util/robodoc/Source/analyser.c index 50af0481..0a6c0874 100644 --- a/util/robodoc/Source/analyser.c +++ b/util/robodoc/Source/analyser.c @@ -73,8 +73,12 @@ RB_Analyse_Document (FILE * document) { RB_Say ("found header [line %5d]: \"%s\"\n", line_number, new_header->name); +#if 0 if ((new_header->function_name = RB_Function_Name (new_header->name)) == NULL) +#endif + if ((new_header->function_name + = RB_Function_Name (line_buffer)) == NULL) { RB_Panic ("Can't determine the \"function\" name.\n"); } @@ -408,14 +412,17 @@ RB_Find_Header_Name (void) skip_while (isspace (*cur_char)); if (*cur_char) { - char *end_char, old_char; - - end_char = cur_char + RB_WordLen (cur_char); - old_char = *end_char; - *end_char = '\0'; - cur_char = RB_StrDup (cur_char); - *end_char = old_char; - return (cur_char); + char *n; + int len; + + if (strchr(cur_char, '\n')) + *strchr(cur_char, '\n') = '\0'; + + len = RB_WordLen(cur_char); + + n = calloc(len + 1, sizeof(*cur_char)); + strncpy(n, cur_char, len); + return n; } return (NULL); } diff --git a/util/robodoc/Source/generator.c b/util/robodoc/Source/generator.c index c1d90780..bbc5b666 100644 --- a/util/robodoc/Source/generator.c +++ b/util/robodoc/Source/generator.c @@ -73,7 +73,7 @@ RB_Generate_Documentation ( } } - RB_Generate_Header_Start (dest_doc, cur_header); + RB_Generate_Header_Start (dest_doc, cur_header, src_name); next_line = cur_header->contents; item_type = RB_Find_Item (&next_line, &item_line); @@ -296,7 +296,8 @@ RB_Generate_Doc_Start ( int item_type; char *next_line, *item_line = NULL; - RB_Generate_Header_Start (dest_doc, cur_header); + RB_Generate_Header_Start (dest_doc, cur_header, + src_name); next_line = cur_header->contents; item_type = RB_Find_Item (&next_line, &item_line); @@ -548,7 +549,8 @@ RB_Generate_Doc_End (FILE * dest_doc, char *name) */ void -RB_Generate_Header_Start (FILE * dest_doc, struct RB_header *cur_header) +RB_Generate_Header_Start (FILE * dest_doc, struct RB_header *cur_header, + const char *src_name) { char *cook_link; @@ -593,6 +595,13 @@ RB_Generate_Header_Start (FILE * dest_doc, struct RB_header *cur_header) "

    \n\n", cur_header->function_name, cur_header->function_name); + else if (cur_header->type == MAIN_HEADER) + fprintf (dest_doc, + "\n" + "%s" + "
    Header: %s

    \n\n", + cur_header->function_name, + cur_header->function_name, src_name); else fprintf (dest_doc, "\n" diff --git a/util/robodoc/Source/generator.h b/util/robodoc/Source/generator.h index 2460fb4b..c886974c 100644 --- a/util/robodoc/Source/generator.h +++ b/util/robodoc/Source/generator.h @@ -8,7 +8,7 @@ void RB_Generate_Header_Name (FILE *, char *); void RB_Generate_Item_Name (FILE *, int); void RB_Generate_Doc_Start (FILE *, char *, char *, char); void RB_Generate_Doc_End (FILE *, char *); -void RB_Generate_Header_Start (FILE *, struct RB_header *); +void RB_Generate_Header_Start (FILE *, struct RB_header *, const char *); void RB_Generate_Header_End (FILE *, struct RB_header *); int RB_HTML_Extra (FILE * dest_doc, int item_type, char *cur_char); void RB_Generate_Index (FILE * dest, char *name); -- 2.24.0