void *new_id, char *new_name,
SilcBool free_old_name);
-/****f* silcapputil/SilcIDCacheAPI/silc_idcache_update
+/****f* silcapputil/SilcIDCacheAPI/silc_idcache_update_by_context
*
* SYNOPSIS
*
* employ concurrency control if the callbacks need to access shared data
* in the application. Messages are also received in that thread.
*
- * All entries (SilcClientEntry, SilcChannelEntry and SilcServerEntry) are
- * reference counted. If application wishes to save an entry pointer it must
- * always first acquire a reference. The reference must be released once the
- * entry is not needed anymore. If application wants to read any data from
- * the entry structure it must first lock the entry. This protects access to
- * the entries in multithreaded environment. If threads are not used, locking
- * the entries is not needed. They however still must be referenced even
- * when threads are not used.
- *
***/
#ifndef SILCCLIENT_H
*
* The SILC_CLIENT_FILE_MONITOR_DISCONNECT will be called if remote
* disconnects the session connection. The silc_client_file_close must
- * be called when this status is received. The session is over when
+ * be called when this status is received. The session is over when
* this is received.
*
* The SILC_CLIENLT_FILE_MONITOR_ERROR is called in case some error
*/
+/****h* silcclient/Client Library Interface
+ *
+ * DESCRIPTION
+ *
+ * This header file includes the SilcClientEntry, SilcChannelEntry and
+ * SilcServer entry structures and various routines to search, resolve and
+ * handle these structures.
+ *
+ * All entries (SilcClientEntry, SilcChannelEntry and SilcServerEntry) are
+ * reference counted. If application wishes to save an entry pointer it must
+ * always first acquire a reference. The reference must be released once the
+ * entry is not needed anymore. If application wants to read any data from
+ * the entry structure it must first lock the entry. This protects access to
+ * the entries in multithreaded environment. If threads are not used, locking
+ * the entries is not needed. They however still must be referenced even
+ * when threads are not used.
+ *
+ ***/
+
#ifndef SILCCLIENT_ENTRY_H
#define SILCCLIENT_ENTRY_H
@LINK=silcargument.html:SILC Argument Interface
@LINK=silcattrs.html:SILC Attributes Interface
@LINK=silcpacket.html:Packet Protocol Interface
+@LINK=silcpubkey.html:SILC Public Key Payload Interface
-->
<big><b>SILC Core Library</b></big>
*/
-/****h* silccore/Packet Protocol Interface
+/****h* silccore/SILC Packet Engine Interface
*
* DESCRIPTION
*
void *callback_context,
void *stream_context);
-/****s* silccore/SilcPacketAPI/SilcPacketStream
+/****s* silccore/SilcPacketAPI/SilcPacketCallbacks
*
* NAME
*
- * typedef struct SilcPacketStreamStruct *SilcPacketStream;
+ * typedef struct { ... } *SilcPacketCallbacks;
*
* DESCRIPTION
*
SilcPacketWrapCoder coder,
void *context);
-/****f* silccore/SilcPacketAPI/silc_packet_get_sender
+/****f* silccore/SilcPacketAPI/silc_packet_stream_is_udp
*
* SYNOPSIS
*
***/
void *silc_packet_wait_init(SilcPacketStream stream, ...);
-/****f* silccore/SilcPacketAPI/silc_packet_wait
+/****f* silccore/SilcPacketAPI/silc_packet_wait_uninit
*
* SYNOPSIS
*
SilcPublicKey *ret_public_key,
SilcPrivateKey *ret_private_key);
-/****f* silccrypt/SilcPubkeyAPI/silc_pkcs_silc_decode_identifier
+/****f* silccrypt/SilcPubkeyAPI/silc_pkcs_silc_encode_identifier
*
* SYNOPSIS
*
Author: Pekka Riikonen <priikone@silcnet.org>
- Copyright (C) 2006 Pekka Riikonen
+ Copyright (C) 2006 - 2007 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
***/
SilcBuffer silc_http_php(char *php_data);
-/****f* silchttp/SilcHTTPServer/silc_http_php
+/****f* silchttp/SilcHTTPServer/silc_http_php_file
*
* SYNOPSIS
*
SilcSKECompletionCb completed,
void *context);
-/****f* silcske/SilcSKEAPI/silc_ske_initiator_start
+/****f* silcske/SilcSKEAPI/silc_ske_initiator
*
* SYNOPSIS
*
***/
void silc_ske_free_key_material(SilcSKEKeyMaterial key);
-/****f* silcske/SilcSKEAPI/silc_ske_free_key_material
+/****f* silcske/SilcSKEAPI/silc_ske_free_rekey_material
*
* SYNOPSIS
*
Author: Pekka Riikonen <priikone@silcnet.org>
- Copyright (C) 2005 Pekka Riikonen
+ Copyright (C) 2005 - 2007 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
SilcBool silc_skr_find_set_public_key(SilcSKRFind find,
SilcPublicKey public_key);
-/****f* silcskr/SilcSKRAPI/silc_skr_find_set_public_key
+/****f* silcskr/SilcSKRAPI/silc_skr_find_set_context
*
* SYNOPSIS
*
@LINK=silcatomic.html:Atomic Operations Interface
@LINK=silcnet.html:Network (TCP and UDP) Interface
@LINK=silcschedule.html:Scheduler Interface
+@LINK=silcstream.html:Abstract Stream Interface
@LINK=silcsocketstream.html:Socket Stream Interface
@LINK=silcfdstream.html:File Descriptor Stream Interface
-@LINK=silcstream.html:Abstract Stream Interface
@LINK=silcfsm.html:Finite State Machine Interface
@LINK=silcfileutil.html:File Utility Functions
@LINK=silcstrutil.html:String Utility Interface
<b>Introduction</b>
<br /><br />
-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
-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.
+SILC Utility Library provides a full featured runtime library for
+applications. It provides the application's main loop, called SILC
+Scheduler, threads, locks, file utilities, file streams, socket streams,
+TCP and UDP network routines, a finite state machine, lists, a hash table,
+UTF-8 routines and other string utilities, and many other utility routines.
+The library works on multiple platforms.
<br /><br />
@LINKS@
*
***/
-/****f* silcutil/SilcAtomicAPI/silc_atomic_add_int32
+/****f* silcutil/SilcAtomicAPI/silc_atomic_add_int16
*
* SYNOPSIS
*
Author: Pekka Riikonen <priikone@silcnet.org>
- Copyright (C) 1997 - 2006 Pekka Riikonen
+ Copyright (C) 1997 - 2007 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
***/
int silc_buffer_format_vp(SilcBuffer dst, va_list ap);
-/****f* silcutil/SilcBufferFormatAPI/silc_buffer_format_vp
+/****f* silcutil/SilcBufferFormatAPI/silc_buffer_sformat_vp
*
* SYNOPSIS
*
- * int silc_buffer_format_vp(SilcBuffer dst, va_list vp);
+ * int silc_buffer_sformat_vp(SilcStack stack, SilcBuffer dst, va_list vp);
*
* DESCRIPTION
*
Author: Pekka Riikonen <priikone@silcnet.org>
- Copyright (C) 2006 Pekka Riikonen
+ Copyright (C) 2006 - 2007 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
*/
-/****h* silcutil/SILC Conditional Variable Interface
+/****h* silcutil/SILC Condition Variable Interface
*
* DESCRIPTION
*
- * A conditional variable interface for multi-thread synchronization.
- * Conditional variables enable threads to suspend execution and yield
+ * A condition variable interface for multi-thread synchronization.
+ * Condition variables enable threads to suspend execution and yield
* the processors until some predicate on some shared data is satisfied.
*
***/
*
* DESCRIPTION
*
- * This context is the actual conditional variable and is allocated
+ * This context is the actual condition variable and is allocated
* by silc_cond_alloc and given as argument to all silc_cond_*
* functions. It is freed by the silc_cond_free function.
*
*
* DESCRIPTION
*
- * Allocates SILC Conditional variable context. The conditional must
+ * Allocates SILC Condition variable context. The condition must
* be allocated before it can be used. It is freed by the
* silc_cond_free function. This returns TRUE and allocated
- * conditional in to the `cond' pointer and FALSE on error.
+ * condition in to the `cond' pointer and FALSE on error.
*
***/
SilcBool silc_cond_alloc(SilcCond *cond);
*
* DESCRIPTION
*
- * Free conditional variable context. If `cond' is NULL this function
+ * Free condition variable context. If `cond' is NULL this function
* has no effect.
*
***/
*
* DESCRIPTION
*
- * Waits for conditional variable `cond' to be signalled. This function
- * will block the calling thread until the conditional variable is
+ * Waits for condition variable `cond' to be signalled. This function
+ * will block the calling thread until the condition variable is
* signalled. The `mutex' must be locked before calling this function.
* The `mutex' will be unlocked inside this function. After this
* function returns the `mutex' is in locked state again.
*
* DESCRIPTION
*
- * Waits for conditional variable `cond' to be signalled or for the
+ * Waits for condition variable `cond' to be signalled or for the
* `timeout' to expire. The timeout is in milliseconds. If it is 0
* no timeout exist. Returns FALSE if timeout expired, TRUE when
* signalled. This function will block the calling thread until the
- * conditional variable is signalled. The `mutex' must be locked before
+ * condition variable is signalled. The `mutex' must be locked before
* calling this function. The `mutex' will be unlocked inside this
* function. After this function returns the `mutex' is in locked
* state again.
***/
typedef struct SilcFSMObject *SilcFSMThread;
-/****s* silcutil/SilcFSMAPI/SilcFSM
+/****s* silcutil/SilcFSMAPI/SilcFSMThreadStruct
*
* NAME
*
Author: Pekka Riikonen <priikone@silcnet.org>
- Copyright (C) 1997 - 2006 Pekka Riikonen
+ Copyright (C) 1997 - 2007 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
* using silc_async_abort the `callback' will not be called. If NULL
* is returned the operation cannot be aborted.
*
- */
+ ***/
SilcAsyncOperation silc_net_tcp_connect(const char *local_ip_addr,
const char *remote_ip_addr,
int remote_port,
Author: Pekka Riikonen <priikone@silcnet.org>
- Copyright (C) 2005 - 2006 Pekka Riikonen
+ Copyright (C) 2005 - 2007 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
SilcBool connected,
SilcSchedule schedule);
-/****f* silcutil/SilcSocketStreamAPI/silc_socket_stream_get_info
+/****f* silcutil/SilcSocketStreamAPI/silc_socket_stream_is_udp
*
* SYNOPSIS
*
Author: Pekka Riikonen <priikone@silcnet.org>
- Copyright (C) 2002 - 2006 Pekka Riikonen
+ Copyright (C) 2002 - 2007 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
#ifndef SILCTYPES_H
#define SILCTYPES_H
+/****d* silcutil/SILCTypes/SilcBool
+ *
+ * NAME
+ *
+ * typedef unigned char SilcBool;
+ *
+ * DESCRIPTION
+ *
+ * Boolean value, and is always 8-bits. Represents value 0 or 1.
+ *
+ ***/
+typedef unsigned char SilcBool;
+
+/* The bool macro is deprecated. Use SilcBool instead. */
+#ifdef SILC_MACOSX
+#define bool _Bool
+#endif
+#ifndef __cplusplus
+#ifndef bool
+#define bool unsigned char
+#endif
+#endif
+
/****d* silcutil/SILCTypes/TRUE
*
* NAME
#endif
/***/
-/****d* silcutil/SILCTypes/SilcBool
- *
- * NAME
- *
- * typedef unigned char SilcBool;
- *
- * DESCRIPTION
- *
- * Boolean value, and is always 8-bits. Represents value 0 or 1.
- *
- ***/
-typedef unsigned char SilcBool;
-
-/****d* silcutil/SILCTypes/bool
- *
- * NAME
- *
- * #define SilcBool ...
- *
- * DESCRIPTION
- *
- * Boolean value, and is 8-bits. Represents value 0 or 1. In
- * C++ code this type is defined by the C++, and this definition is
- * not used.
- *
- * NOTES
- *
- * This macro is deprecated. Use SilcBool instead.
- *
- * SOURCE
- */
-#ifdef SILC_MACOSX
-#define bool _Bool
-#endif
-
-#ifndef __cplusplus
-#ifndef bool
-#define bool unsigned char
-#endif
-#endif
-/***/
-
/* Our offsetof macro */
#define silc_offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)