diff options
author | Benny Prijono <bennylp@teluu.com> | 2008-01-25 16:06:33 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2008-01-25 16:06:33 +0000 |
commit | d583515e9daac73925c0cb1f617aa124666e5b34 (patch) | |
tree | c3c741cc68ecba2e1f414dee164d3c8e9a4e1a03 | |
parent | 1357c18f2e4cb7f2d9bddf1afb3603991b5ca08b (diff) |
Fixed doxygen comments everywhere
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@1748 74dad513-b988-da41-8d7b-12977e46ad98
32 files changed, 220 insertions, 64 deletions
diff --git a/pjlib-util/docs/doxygen.cfg b/pjlib-util/docs/doxygen.cfg index 23cd696e..5790dd5d 100644 --- a/pjlib-util/docs/doxygen.cfg +++ b/pjlib-util/docs/doxygen.cfg @@ -843,11 +843,15 @@ INCLUDE_FILE_PATTERNS = PREDEFINED = PJ_DECL(x)=x PJ_DEF(x)=x PJ_IDECL(x)=x \
PJ_IDEF(x)=x PJ_INLINE(x)=x \
+ PJ_DECL_DATA(x)=x \
PJ_DECL_NO_RETURN(x)=x \
+ PJ_NO_RETURN=x \
PJ_HAS_HIGH_RES_TIMER=1 \
PJ_LOG_MAX_LEVEL=4 \
PJ_HAS_SEMAPHORE=1 \
- PJ_HAS_EVENT_OBJ=1
+ PJ_HAS_EVENT_OBJ=1 \
+ PJ_HAS_TCP=1
+
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
# this tag can be used to specify a list of macro names that should be expanded.
diff --git a/pjlib-util/include/pjlib-util/md5.h b/pjlib-util/include/pjlib-util/md5.h index 45c9bbef..a0dabf24 100644 --- a/pjlib-util/include/pjlib-util/md5.h +++ b/pjlib-util/include/pjlib-util/md5.h @@ -38,9 +38,9 @@ PJ_BEGIN_DECL /** MD5 context. */ typedef struct pj_md5_context { - pj_uint32_t buf[4]; - pj_uint32_t bits[2]; - pj_uint8_t in[64]; + pj_uint32_t buf[4]; /**< buf */ + pj_uint32_t bits[2]; /**< bits */ + pj_uint8_t in[64]; /**< in */ } pj_md5_context; /** Initialize the algorithm. diff --git a/pjlib-util/include/pjlib-util/scanner_cis_uint.h b/pjlib-util/include/pjlib-util/scanner_cis_uint.h index b44f8e66..99b06eb6 100644 --- a/pjlib-util/include/pjlib-util/scanner_cis_uint.h +++ b/pjlib-util/include/pjlib-util/scanner_cis_uint.h @@ -45,7 +45,7 @@ typedef int pj_cis_buf_t; */ typedef struct pj_cis_t { - PJ_CIS_ELEM_TYPE cis_buf[256]; + PJ_CIS_ELEM_TYPE cis_buf[256]; /**< Internal buffer. */ } pj_cis_t; diff --git a/pjlib-util/include/pjlib-util/sha1.h b/pjlib-util/include/pjlib-util/sha1.h index 752c04bb..62b780ee 100644 --- a/pjlib-util/include/pjlib-util/sha1.h +++ b/pjlib-util/include/pjlib-util/sha1.h @@ -37,9 +37,9 @@ PJ_BEGIN_DECL /** SHA1 context */ typedef struct pj_sha1_context { - pj_uint32_t state[5]; - pj_uint32_t count[2]; - pj_uint8_t buffer[64]; + pj_uint32_t state[5]; /**< State */ + pj_uint32_t count[2]; /**< Count */ + pj_uint8_t buffer[64]; /**< Buffer */ } pj_sha1_context; /** SHA1 digest size is 20 bytes */ diff --git a/pjlib-util/include/pjlib-util/srv_resolver.h b/pjlib-util/include/pjlib-util/srv_resolver.h index be71025b..8fc9b598 100644 --- a/pjlib-util/include/pjlib-util/srv_resolver.h +++ b/pjlib-util/include/pjlib-util/srv_resolver.h @@ -32,7 +32,7 @@ PJ_BEGIN_DECL * @ingroup PJ_DNS * @{ * - * \subsection PJ_DNS_SRV_RESOLVER_INTRO DNS SRV Resolution Helper + * \section PJ_DNS_SRV_RESOLVER_INTRO DNS SRV Resolution Helper * * This module provides an even higher layer of abstraction for the DNS * resolution framework, to resolve DNS SRV names. diff --git a/pjlib-util/include/pjlib-util/xml.h b/pjlib-util/include/pjlib-util/xml.h index 1bfd7aa8..d00960dc 100644 --- a/pjlib-util/include/pjlib-util/xml.h +++ b/pjlib-util/include/pjlib-util/xml.h @@ -94,7 +94,7 @@ PJ_DECL(pj_xml_node*) pj_xml_parse( pj_pool_t *pool, char *msg, pj_size_t len); * sufficient space in the buffer to print the message. */ PJ_DECL(int) pj_xml_print( const pj_xml_node *node, char *buf, pj_size_t len, - pj_bool_t include_prolog); + pj_bool_t prolog); /** * Clone XML node and all subnodes. @@ -123,7 +123,7 @@ PJ_DECL(pj_xml_node*) pj_xml_node_new(pj_pool_t *pool, const pj_str_t *name); * * @param pool Pool. * @param name Attribute name. - * @param attr Attribute value. + * @param value Attribute value. * * @return The new XML attribute. */ @@ -161,6 +161,7 @@ PJ_DECL(pj_xml_node*) pj_xml_find_node(pj_xml_node *parent, const pj_str_t *name * Find first node with the specified name. * * @param parent Parent node. + * @param node node->next is the starting point. * @param name Node name to find. * * @return XML node found or NULL. @@ -184,7 +185,7 @@ PJ_DECL(pj_xml_attr*) pj_xml_find_attr(pj_xml_node *node, const pj_str_t *name, /** * Find a direct child node with the specified name and match the function. * - * @param node Parent node. + * @param parent Parent node. * @param name Optional name. * @param data Data to be passed to matching function. * @param match Optional matching function. diff --git a/pjlib/docs/doxygen.cfg b/pjlib/docs/doxygen.cfg index bb333ac5..e6b0d754 100644 --- a/pjlib/docs/doxygen.cfg +++ b/pjlib/docs/doxygen.cfg @@ -843,7 +843,9 @@ INCLUDE_FILE_PATTERNS = PREDEFINED = PJ_DECL(x)=x PJ_DEF(x)=x PJ_IDECL(x)=x \
PJ_IDEF(x)=x PJ_INLINE(x)=x \
+ PJ_DECL_DATA(x)=x \
PJ_DECL_NO_RETURN(x)=x \
+ PJ_NO_RETURN=x \
PJ_HAS_HIGH_RES_TIMER=1 \
PJ_LOG_MAX_LEVEL=4 \
PJ_HAS_SEMAPHORE=1 \
diff --git a/pjlib/include/pj/config.h b/pjlib/include/pj/config.h index 4a063bed..d620d4b7 100644 --- a/pjlib/include/pj/config.h +++ b/pjlib/include/pj/config.h @@ -449,7 +449,6 @@ /** - * \def PJ_HAS_TCP * Support TCP in the library. * Disabling TCP will reduce the footprint slightly (about 6KB). * @@ -460,7 +459,6 @@ #endif /** - * \def PJ_HAS_IPV6 * Support IPv6 in the library. If this support is disabled, some IPv6 * related functions will return PJ_EIPV6NOTSUP. * @@ -846,6 +844,11 @@ * Declare a function that will not return. */ /** + * @def PJ_IDECL_NO_RETURN(type) + * @param type The return type of the function. + * Declare an inline function that will not return. + */ +/** * @def PJ_BEGIN_DECL * Mark beginning of declaration section in a header file. */ diff --git a/pjlib/include/pj/errno.h b/pjlib/include/pj/errno.h index b838f069..57d90afe 100644 --- a/pjlib/include/pj/errno.h +++ b/pjlib/include/pj/errno.h @@ -111,7 +111,18 @@ PJ_DECL(void) pj_set_netos_error(pj_status_t code); PJ_DECL(pj_str_t) pj_strerror( pj_status_t statcode, char *buf, pj_size_t bufsize); -typedef pj_str_t (*pjsip_error_callback)(pj_status_t, char*, pj_size_t); +/** + * Type of callback to be specified in #pj_register_strerror() + * + * @param e The error code to lookup. + * @param msg Buffer to store the error message. + * @param max Length of the buffer. + * + * @return The error string. + */ +typedef pj_str_t (*pj_error_callback)(pj_status_t e, char *msg, pj_size_t max); + + /** * Register strerror message handler for the specified error space. * Application can register its own handler to supply the error message @@ -133,7 +144,7 @@ typedef pj_str_t (*pjsip_error_callback)(pj_status_t, char*, pj_size_t); */ PJ_DECL(pj_status_t) pj_register_strerror(pj_status_t start_code, pj_status_t err_space, - pjsip_error_callback f); + pj_error_callback f); /** * @hideinitializer diff --git a/pjlib/include/pj/ioqueue.h b/pjlib/include/pj/ioqueue.h index 616ccc15..ded4aea1 100644 --- a/pjlib/include/pj/ioqueue.h +++ b/pjlib/include/pj/ioqueue.h @@ -166,7 +166,7 @@ typedef struct pj_ioqueue_callback pj_ssize_t bytes_read); /** - * This callback is called when #pj_ioqueue_write or #pj_ioqueue_sendto + * This callback is called when #pj_ioqueue_send or #pj_ioqueue_sendto * completes. * * @param key The key. diff --git a/pjlib/include/pj/pool.h b/pjlib/include/pj/pool.h index d12076fd..42886408 100644 --- a/pjlib/include/pj/pool.h +++ b/pjlib/include/pj/pool.h @@ -612,6 +612,7 @@ typedef struct pj_pool_factory_policy } pj_pool_factory_policy; /** + * \def PJ_NO_MEMORY_EXCEPTION * This constant denotes the exception number that will be thrown by default * memory factory policy when memory allocation fails. * diff --git a/pjlib/src/pj/errno.c b/pjlib/src/pj/errno.c index 1b86d4c6..8779f009 100644 --- a/pjlib/src/pj/errno.c +++ b/pjlib/src/pj/errno.c @@ -106,7 +106,7 @@ static int pjlib_error(pj_status_t code, char *buf, pj_size_t size) /* Register strerror handle. */ PJ_DEF(pj_status_t) pj_register_strerror( pj_status_t start, pj_status_t space, - pjsip_error_callback f) + pj_error_callback f) { unsigned i; diff --git a/pjmedia/docs/doxygen.cfg b/pjmedia/docs/doxygen.cfg index 50f8f201..e2fa0889 100644 --- a/pjmedia/docs/doxygen.cfg +++ b/pjmedia/docs/doxygen.cfg @@ -843,8 +843,15 @@ INCLUDE_FILE_PATTERNS = PREDEFINED = PJ_DECL(x)=x PJ_DEF(x)=x PJ_IDECL(x)=x \
PJ_IDEF(x)=x PJ_INLINE(x)=x \
- PJ_BEGIN_DECL= PJ_END_DECL= \
- PJMEDIA_HAS_MP3_WRITER=1
+ PJ_DECL_DATA(x)=x \
+ PJ_DECL_NO_RETURN(x)=x \
+ PJ_NO_RETURN=x \
+ PJ_HAS_HIGH_RES_TIMER=1 \
+ PJ_LOG_MAX_LEVEL=4 \
+ PJ_HAS_SEMAPHORE=1 \
+ PJ_HAS_EVENT_OBJ=1 \
+ PJ_HAS_TCP=1 \
+ PJMEDIA_HAS_SRTP=1
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
# this tag can be used to specify a list of macro names that should be expanded.
diff --git a/pjmedia/include/pjmedia/transport.h b/pjmedia/include/pjmedia/transport.h index e9fbb1f3..14b84e7d 100644 --- a/pjmedia/include/pjmedia/transport.h +++ b/pjmedia/include/pjmedia/transport.h @@ -56,6 +56,12 @@ * so it should not need to call the function pointer inside * #pjmedia_transport_op directly. * + * The connection between \ref PJMED_STRM and media transport is shown in + * the diagram below: + + \image html media-transport.PNG + + * \section PJMEDIA_TRANSPORT_H_USING Using the Media Transport * * The media transport's life-cycle normally follows the following stages. @@ -135,6 +141,39 @@ * all resources used by the transport, such as sockets and memory. * * + * \section PJMEDIA_TRANSPORT_H_EXT Media Transport Extended API + + Apart from the basic interface above, the media transport provides some + more APIs: + + - pjmedia_transport_media_create() + \n + This API is provided to allow the media transport to add more information + in the SDP offer, before the offer is sent to remote. Additionally, for + answerer side, this callback allows the media transport to reject the + offer before this offer is processed by the SDP negotiator. + + - pjmedia_transport_media_start() + \n + This API should be called after offer and answer are negotiated, and + both SDPs are available, and before the media is started. For answerer + side, this callback will be called before the answer is sent to remote, + to allow media transport to put additional info in the SDP. For + offerer side, this callback will be called after SDP answer is + received. In this callback, the media transport has the final chance + to negotiate/validate the offer and answer before media is really + started (and answer is sent, for answerer side). + + - pjmedia_transport_media_stop() + \n + This API should be called when the media is stopped, to allow the media + transport to release its resources. + + - pjmedia_transport_simulate_lost() + \n + This API can be used to instruct media transport to simulate packet lost + on a particular direction. + * \section PJMEDIA_TRANSPORT_H_IMPL Implementing Media Transport * * To implement a new type of media transport, one needs to "subclass" the @@ -168,7 +207,7 @@ PJ_BEGIN_DECL #include <pjmedia/sdp.h> -/* +/** * Forward declaration for media transport. */ typedef struct pjmedia_transport pjmedia_transport; @@ -458,6 +497,12 @@ PJ_INLINE(pj_status_t) pjmedia_transport_send_rtcp(pjmedia_transport *tp, * Generate local SDP parts that are related to the specified media transport. * Remote SDP might be needed as reference when application is in deciding * side of negotiation (callee side), otherwise it should be NULL. + * + * This API is provided to allow the media transport to add more information + * in the SDP offer, before the offer is sent to remote. Additionally, for + * answerer side, this callback allows the media transport to reject the + * offer before this offer is processed by the SDP negotiator. + * * This is just a simple wrapper which calls <tt>media_create()</tt> member * of the transport. * @@ -465,6 +510,7 @@ PJ_INLINE(pj_status_t) pjmedia_transport_send_rtcp(pjmedia_transport *tp, * @param pool The memory pool. * @param sdp_local Local SDP. * @param sdp_remote Remote SDP. + * @param media_index Media index in SDP. * * @return PJ_SUCCESS on success, or the appropriate error code. */ @@ -480,6 +526,15 @@ PJ_INLINE(pj_status_t) pjmedia_transport_media_create(pjmedia_transport *tp, /** * Start the transport with regards to SDP negotiation result. + * This API should be called after offer and answer are negotiated, and + * both SDPs are available, and before the media is started. For answerer + * side, this callback will be called before the answer is sent to remote, + * to allow media transport to put additional info in the SDP. For + * offerer side, this callback will be called after SDP answer is + * received. In this callback, the media transport has the final chance + * to negotiate/validate the offer and answer before media is really + * started (and answer is sent, for answerer side). + * * This is just a simple wrapper which calls <tt>media_start()</tt> member * of the transport. * @@ -503,6 +558,9 @@ PJ_INLINE(pj_status_t) pjmedia_transport_media_start(pjmedia_transport *tp, /** * Stop the transport. + * This API should be called when the media is stopped, to allow the media + * transport to release its resources. + * * This is just a simple wrapper which calls <tt>media_stop()</tt> member * of the transport. * diff --git a/pjmedia/include/pjmedia/transport_srtp.h b/pjmedia/include/pjmedia/transport_srtp.h index f7ea291d..d6ccc2e1 100644 --- a/pjmedia/include/pjmedia/transport_srtp.h +++ b/pjmedia/include/pjmedia/transport_srtp.h @@ -21,12 +21,52 @@ /** * @file srtp.h - * @brief transport SRTP encapsulates secure media transport. + * @brief Secure RTP (SRTP) transport. */ #include <pjmedia/transport.h> +/** + * @defgroup PJMEDIA_TRANSPORT_SRTP Secure RTP (SRTP) Transport Adapter + * @ingroup PJMEDIA_TRANSPORT + * @brief Media transport adapter to add SRTP feature to existing transports + * @{ + * + * This module implements SRTP as described by RFC 3711, using RFC 4568 as + * key exchange method. It implements \ref PJMEDIA_TRANSPORT_H to integrate + * with the rest of PJMEDIA framework. + * + * As we know, media transport is separated from the stream object (which + * does the encoding/decoding of PCM frames, (de)packetization of RTP/RTCP + * packets, and de-jitter buffering). The connection between stream and media + * transport is established when the stream is created (we need to specify + * media transport during stream creation), and the interconnection can be + * depicted from the diagram below: + * + \image html media-transport.PNG + + * I think the diagram above is self-explanatory. + * + * SRTP functionality is implemented as some kind of "adapter", which is + * plugged between the stream and the actual media transport that does + * sending/receiving RTP/RTCP packets. When SRTP is used, the interconnection + * between stream and transport is like the diagram below: + * + \image html media-srtp-transport.PNG + + * So to stream, the SRTP transport behaves as if it is a media transport + * (because it is a media transport), and to the media transport it behaves + * as if it is a stream. The SRTP object then forwards RTP packets back and + * forth between stream and the actual transport, encrypting/decrypting + * the RTP/RTCP packets as necessary. + * + * The neat thing about this design is the SRTP "adapter" then can be used + * to encrypt any kind of media transports. We currently have UDP and ICE + * media transports that can benefit SRTP, and we could add SRTP to any + * media transports that will be added in the future. + */ + PJ_BEGIN_DECL @@ -55,7 +95,7 @@ typedef struct pjmedia_srtp_crypto /** Crypto name. */ pj_str_t name; - /* Flags, bitmask from #pjmedia_srtp_crypto_option */ + /** Flags, bitmask from #pjmedia_srtp_crypto_option */ unsigned flags; } pjmedia_srtp_crypto; @@ -168,7 +208,7 @@ PJ_DECL(pj_status_t) pjmedia_transport_srtp_create( * @return PJ_SUCCESS on success. */ PJ_DECL(pj_status_t) pjmedia_transport_srtp_start( - pjmedia_transport *tp, + pjmedia_transport *srtp, const pjmedia_srtp_crypto *tx, const pjmedia_srtp_crypto *rx); @@ -181,7 +221,7 @@ PJ_DECL(pj_status_t) pjmedia_transport_srtp_start( * * @see #pjmedia_transport_srtp_start() */ -PJ_DECL(pj_status_t) pjmedia_transport_srtp_stop(pjmedia_transport *tp); +PJ_DECL(pj_status_t) pjmedia_transport_srtp_stop(pjmedia_transport *srtp); /** @@ -192,9 +232,13 @@ PJ_DECL(pj_status_t) pjmedia_transport_srtp_stop(pjmedia_transport *tp); * @return member media transport. */ PJ_DECL(pjmedia_transport*) pjmedia_transport_srtp_get_member( - pjmedia_transport *tp); + pjmedia_transport *srtp); PJ_END_DECL +/** + * @} + */ + #endif /* __PJMEDIA_TRANSPORT_SRTP_H__ */ diff --git a/pjmedia/src/pjmedia/transport_udp.c b/pjmedia/src/pjmedia/transport_udp.c index a9a4df70..3caea680 100644 --- a/pjmedia/src/pjmedia/transport_udp.c +++ b/pjmedia/src/pjmedia/transport_udp.c @@ -748,6 +748,7 @@ static pj_status_t transport_media_create(pjmedia_transport *tp, PJ_UNUSED_ARG(pool); PJ_UNUSED_ARG(sdp_local); PJ_UNUSED_ARG(sdp_remote); + PJ_UNUSED_ARG(media_index); return PJ_SUCCESS; } diff --git a/pjsip/docs/doxygen.cfg b/pjsip/docs/doxygen.cfg index 9de6aa81..1c5aad49 100644 --- a/pjsip/docs/doxygen.cfg +++ b/pjsip/docs/doxygen.cfg @@ -367,7 +367,7 @@ RECURSIVE = YES # excluded from the INPUT source files. This way you can easily exclude a
# subdirectory from a directory tree whose root is specified with the INPUT tag.
-EXCLUDE = *_i.h
+EXCLUDE = *_i.h pjsua_internal.h
# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories
# that are symbolic links (a Unix filesystem feature) are excluded from the input.
@@ -844,7 +844,8 @@ INCLUDE_FILE_PATTERNS = PREDEFINED = PJ_DECL(x)=x PJ_DEF(x)=x PJ_IDECL(x)=x \
- PJ_IDEF(x)=x PJ_INLINE(x)=x
+ PJ_IDEF(x)=x PJ_INLINE(x)=x PJ_DECL_DATA(x)=x \
+ PJMEDIA_HAS_SRTP=1
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
diff --git a/pjsip/include/pjsip-simple/evsub.h b/pjsip/include/pjsip-simple/evsub.h index 1c3ee97c..047952b7 100644 --- a/pjsip/include/pjsip-simple/evsub.h +++ b/pjsip/include/pjsip-simple/evsub.h @@ -20,7 +20,7 @@ #define __PJSIP_SIMPLE_EVSUB_H__ /** - * @file event_notify.h + * @file evsub.h * @brief SIP Specific Event Notification Extension (RFC 3265) */ @@ -132,7 +132,7 @@ struct pjsip_evsub_user * * However, implementation MUST send NOTIFY request upon receiving this * callback. The suggested behavior is to call - * #pjsip_evsub_last_notify(), since this function takes care + * #pjsip_evsub_current_notify(), since this function takes care * about unsubscription request and calculates the appropriate expiration * interval. */ diff --git a/pjsip/include/pjsip-simple/evsub_msg.h b/pjsip/include/pjsip-simple/evsub_msg.h index f1c3f4b7..520a0f9a 100644 --- a/pjsip/include/pjsip-simple/evsub_msg.h +++ b/pjsip/include/pjsip-simple/evsub_msg.h @@ -20,7 +20,7 @@ #define __PJSIP_SIMPLE_EVENT_NOTIFY_MSG_H__ /** - * @file event_notify_msg.h + * @file evsub_msg.h * @brief SIP Event Notification Headers (RFC 3265) */ #include <pjsip/sip_msg.h> diff --git a/pjsip/include/pjsip-ua/sip_inv.h b/pjsip/include/pjsip-ua/sip_inv.h index bfcc11c3..448718dd 100644 --- a/pjsip/include/pjsip-ua/sip_inv.h +++ b/pjsip/include/pjsip-ua/sip_inv.h @@ -495,7 +495,7 @@ PJ_DECL(pj_status_t) pjsip_inv_invite( pjsip_inv_session *inv, /** * Create the initial response message for the incoming INVITE request in * rdata with status code st_code and optional status text st_text. Use - * #pjsip_answer() to create subsequent response message. + * #pjsip_inv_answer() to create subsequent response message. */ PJ_DECL(pj_status_t) pjsip_inv_initial_answer( pjsip_inv_session *inv, pjsip_rx_data *rdata, diff --git a/pjsip/include/pjsip-ua/sip_regc.h b/pjsip/include/pjsip-ua/sip_regc.h index 62d2336f..03c71d9b 100644 --- a/pjsip/include/pjsip-ua/sip_regc.h +++ b/pjsip/include/pjsip-ua/sip_regc.h @@ -20,7 +20,7 @@ #define __PJSIP_SIP_REG_H__ /** - * @file sip_reg.h + * @file sip_regc.h * @brief SIP Registration Client */ diff --git a/pjsip/include/pjsip/sip_auth.h b/pjsip/include/pjsip/sip_auth.h index 155c180c..c6b32dd0 100644 --- a/pjsip/include/pjsip/sip_auth.h +++ b/pjsip/include/pjsip/sip_auth.h @@ -30,7 +30,7 @@ PJ_BEGIN_DECL /** - * @addtogroup PJSIP_AUTH Authentication Framework + * @addtogroup PJSIP_AUTH * @ingroup PJSIP_CORE * @brief Client and server side authentication framework. */ diff --git a/pjsip/include/pjsip/sip_auth_parser.h b/pjsip/include/pjsip/sip_auth_parser.h index 8aaa8461..791bfce1 100644 --- a/pjsip/include/pjsip/sip_auth_parser.h +++ b/pjsip/include/pjsip/sip_auth_parser.h @@ -20,7 +20,7 @@ #define __PJSIP_AUTH_SIP_AUTH_PARSER_H__ /** - * @file pjsip_auth_parser.h + * @file sip_auth_parser.h * @brief SIP Authorization Parser Module. */ diff --git a/pjsip/include/pjsip/sip_config.h b/pjsip/include/pjsip/sip_config.h index 3809ff3c..e72ab394 100644 --- a/pjsip/include/pjsip/sip_config.h +++ b/pjsip/include/pjsip/sip_config.h @@ -351,7 +351,7 @@ * * Note that even when this setting is enabled, asynchronous DNS resolution * will only be done when application calls #pjsip_endpt_create_resolver(), - * configure the nameservers with #pj_dns_resolver_set_ns(), and configure + * configure the nameservers with pj_dns_resolver_set_ns(), and configure * the SIP endpoint's DNS resolver with #pjsip_endpt_set_resolver(). If * these steps are not followed, the domain will be resolved with normal * pj_gethostbyname() function. diff --git a/pjsip/include/pjsip/sip_dialog.h b/pjsip/include/pjsip/sip_dialog.h index b11ba4c8..c8711c46 100644 --- a/pjsip/include/pjsip/sip_dialog.h +++ b/pjsip/include/pjsip/sip_dialog.h @@ -21,7 +21,7 @@ /** - * @file dialog.h + * @file sip_dialog.h * @brief SIP Dialog abstraction */ diff --git a/pjsip/include/pjsip/sip_endpoint.h b/pjsip/include/pjsip/sip_endpoint.h index f285ef8f..baf59007 100644 --- a/pjsip/include/pjsip/sip_endpoint.h +++ b/pjsip/include/pjsip/sip_endpoint.h @@ -224,21 +224,6 @@ PJ_DECL(void) pjsip_endpt_release_pool( pjsip_endpoint *endpt, pj_pool_t *pool ); /** - * Create a new transaction. After creating the transaction, application MUST - * initialize the transaction as either UAC or UAS (by calling - * #pjsip_tsx_init_uac or #pjsip_tsx_init_uas), then must register the - * transaction to endpoint with #pjsip_endpt_register_tsx. - * This function, like all other endpoint functions, is thread safe. - * - * @param endpt The SIP endpoint. - * @param p_tsx Pointer to receive the transaction. - * - * @return PJ_SUCCESS or the appropriate error code. - */ -PJ_DECL(pj_status_t) pjsip_endpt_create_tsx(pjsip_endpoint *endpt, - pjsip_transaction **p_tsx); - -/** * Find transaction in endpoint's transaction table by the transaction's key. * This function normally is only used by modules. The key for a transaction * can be created by calling #pjsip_tsx_create_key. diff --git a/pjsip/include/pjsip/sip_msg.h b/pjsip/include/pjsip/sip_msg.h index 34bd996e..8a202c4b 100644 --- a/pjsip/include/pjsip/sip_msg.h +++ b/pjsip/include/pjsip/sip_msg.h @@ -1032,7 +1032,7 @@ typedef struct pjsip_generic_array_hdr /** Number of tags/elements. */ unsigned count; - /**< Tags/elements. */ + /** Tags/elements. */ pj_str_t values[PJSIP_GENERIC_ARRAY_MAX_COUNT]; } pjsip_generic_array_hdr; diff --git a/pjsip/include/pjsip/sip_resolve.h b/pjsip/include/pjsip/sip_resolve.h index b4db9b3f..089f2909 100644 --- a/pjsip/include/pjsip/sip_resolve.h +++ b/pjsip/include/pjsip/sip_resolve.h @@ -209,7 +209,7 @@ typedef void pjsip_resolver_callback(pj_status_t status, * Create SIP resolver engine. Note that this function is normally called * internally by pjsip_endpoint instance. * - * @param pf The Pool Factory. + * @param pool Pool to allocate memory from. * @param p_res Pointer to receive SIP resolver instance. * * @return PJ_SUCCESS when resolver can be successfully created. diff --git a/pjsip/include/pjsip/sip_transaction.h b/pjsip/include/pjsip/sip_transaction.h index 9550c32a..2865b6e1 100644 --- a/pjsip/include/pjsip/sip_transaction.h +++ b/pjsip/include/pjsip/sip_transaction.h @@ -360,13 +360,15 @@ PJ_DECL(pjsip_transaction*) pjsip_rdata_get_tsx( pjsip_rx_data *rdata ); */ PJ_DECL(void) pjsip_tsx_layer_dump(pj_bool_t detail); -/* +/** * Get the string name for the state. + * @param state State */ PJ_DECL(const char *) pjsip_tsx_state_str(pjsip_tsx_state_e state); -/* +/** * Get the role name. + * @param role Role. */ PJ_DECL(const char *) pjsip_role_name(pjsip_role_e role); diff --git a/pjsip/include/pjsip/sip_transport.h b/pjsip/include/pjsip/sip_transport.h index 6097abab..34ea4b21 100644 --- a/pjsip/include/pjsip/sip_transport.h +++ b/pjsip/include/pjsip/sip_transport.h @@ -919,8 +919,27 @@ PJ_DECL(pj_status_t) pjsip_tpmgr_unregister_tpfactory(pjsip_tpmgr *mgr, * TRANSPORT MANAGER * *****************************************************************************/ -typedef void (*pjsip_rx_callback)(pjsip_endpoint*, pj_status_t, pjsip_rx_data *); -typedef pj_status_t (*pjsip_tx_callback)(pjsip_endpoint*, pjsip_tx_data*); + +/** + * Type of callback to be called when transport manager receives incoming + * SIP message. + * + * @param ep Endpoint. + * @param status Receiption status. + * @param rd Received packet. + */ +typedef void (*pjsip_rx_callback)(pjsip_endpoint *ep, pj_status_t status, + pjsip_rx_data *rd); + +/** + * Type of callback to be called before transport manager is about + * to transmit SIP message. + * + * @param ep Endpoint. + * @param td Transmit data. + */ +typedef pj_status_t (*pjsip_tx_callback)(pjsip_endpoint *ep, pjsip_tx_data*td); + /** * Create a transport manager. Normally application doesn't need to call * this function directly, since a transport manager will be created and diff --git a/pjsip/include/pjsip/sip_util.h b/pjsip/include/pjsip/sip_util.h index 75112ccf..b6b3df8e 100644 --- a/pjsip/include/pjsip/sip_util.h +++ b/pjsip/include/pjsip/sip_util.h @@ -259,7 +259,17 @@ typedef struct pjsip_send_state } pjsip_send_state; -typedef void (*pjsip_send_callback)(pjsip_send_state*, pj_ssize_t sent, +/** + * Declaration for callback function to be specified in + * #pjsip_endpt_send_request_stateless(), #pjsip_endpt_send_response(), or + * #pjsip_endpt_send_response2(). + * + * @param st Structure to keep transmission state. + * @param sent Number of bytes sent. + * @param cont When current transmission fails, specify whether + * the function should fallback to next destination. + */ +typedef void (*pjsip_send_callback)(pjsip_send_state *st, pj_ssize_t sent, pj_bool_t *cont); /** @@ -517,7 +527,14 @@ PJ_DECL(pj_status_t) pjsip_endpt_respond( pjsip_endpoint *endpt, const pjsip_msg_body *body, pjsip_transaction **p_tsx ); -typedef void (*pjsip_endpt_send_callback)(void*, pjsip_event*); +/** + * Type of callback to be specified in #pjsip_endpt_send_request(). + * + * @param token The token that was given in #pjsip_endpt_send_request() + * @param e Completion event. + */ +typedef void (*pjsip_endpt_send_callback)(void *token, pjsip_event *e); + /** * Send outgoing request and initiate UAC transaction for the request. * This is an auxiliary function to be used by application to send arbitrary diff --git a/pjsip/include/pjsua-lib/pjsua.h b/pjsip/include/pjsua-lib/pjsua.h index d78eeb78..ca93208e 100644 --- a/pjsip/include/pjsua-lib/pjsua.h +++ b/pjsip/include/pjsua-lib/pjsua.h @@ -1104,7 +1104,7 @@ typedef struct pjsua_config PJ_DECL(void) pjsua_config_default(pjsua_config *cfg); -/* The implementation has been moved to sip_auth.h */ +/** The implementation has been moved to sip_auth.h */ #define pjsip_cred_dup pjsip_cred_info_dup @@ -1197,7 +1197,7 @@ PJ_DECL(void) pjsua_msg_data_init(pjsua_msg_data *msg_data); PJ_DECL(pj_status_t) pjsua_create(void); -/* Forward declaration */ +/** Forward declaration */ typedef struct pjsua_media_config pjsua_media_config; @@ -3393,7 +3393,7 @@ PJ_DECL(pj_status_t) pjsua_buddy_get_info(pjsua_buddy_id buddy_id, * for this buddy, this function will also start the presence subscription * session immediately. * - * @param buddy)cfg Buddy configuration. + * @param buddy_cfg Buddy configuration. * @param p_buddy_id Pointer to receive buddy ID. * * @return PJ_SUCCESS on success, or the appropriate error code. @@ -4449,7 +4449,7 @@ PJ_DECL(pjmedia_port*) pjsua_set_no_snd_dev(void); * * @param tail_ms The tail length, in miliseconds. Set to zero to * disable AEC. - * @param options Options to be passed to #pjmedia_echo_create(). + * @param options Options to be passed to pjmedia_echo_create(). * Normally the value should be zero. * * @return PJ_SUCCESS on success. |