Ryan.. slight type in the '@defgroup' line below...
SMS == Stackable Memory System not Shared Memory System

..Ian
Ian Holsman wrote:

If someone can fill in on what 'ref' and 'accounting' do in the sms structure....

Index: apr_sms.h
===================================================================
RCS file: /home/cvspublic/apr/include/apr_sms.h,v
retrieving revision 1.39
diff -u -r1.39 apr_sms.h
--- apr_sms.h   2001/07/18 09:41:44     1.39
+++ apr_sms.h   2001/08/11 17:20:24
@@ -59,10 +59,24 @@
 *
 * May 2001
 */
-
+ /**
+ * @file apr_sms.h
+ * @brief APR SMS Memory routines
+ */
+/**
+ * @defgroup SMS SMS StackableMemory allocation system
+ * @ingroup APR
+ * @{
+ */
+/
#ifndef APR_SMS_H
#define APR_SMS_H

+/**
+ * @typedef apr_sms_t
+ * @brief holds the internal details required to implement a SMS
+ * @see sms_private.h
+ */
typedef struct apr_sms_t    apr_sms_t;

#include "apr.h"
@@ -419,6 +433,6 @@
#ifdef __cplusplus
}
#endif
-
+/** @} */
#endif /* !APR_SMS_H */


Index: sms_private.h =================================================================== RCS file: /home/cvspublic/apr/memory/unix/sms_private.h,v retrieving revision 1.7 diff -u -r1.7 sms_private.h --- sms_private.h 2001/07/11 14:20:05 1.7 +++ sms_private.h 2001/08/11 17:21:20 @@ -51,7 +51,17 @@ * information on the Apache Software Foundation, please see * <http://www.apache.org/>. */ - +/** + * @file sms_private.h + * @brief SMS private definitions/routines + * @internal + */ +/** + * + * @defgroup SMS_Private Private routines + * @ingroup SMS + * @{ + */ #ifndef SMS_PRIVATE_H #define SMS_PRIVATE_H

@@ -66,33 +76,34 @@
#endif

/**
- * The memory system structure
+ * @struct apr_sms_t
+ * @brief The SMS memory system structure
 */

struct apr_sms_t
{
-    apr_sms_t  *parent;
-    apr_sms_t  *child;
-    apr_sms_t  *sibling;
+    apr_sms_t  *parent;  /**< parent of the current SMS  */
+    apr_sms_t  *child;   /**< children of the current SMS */
+    apr_sms_t  *sibling; /**< next SMS at the same level */
    apr_sms_t **ref;
    apr_sms_t  *accounting;
-    const char *identity; /* a string identifying the module */
+    const char *identity; /**< a string identifying the module */

    apr_pool_t *pool;
    apr_lock_t *sms_lock;
       struct apr_sms_cleanup *cleanups;

- void * (*malloc_fn) (apr_sms_t *sms, apr_size_t size);
- void * (*calloc_fn) (apr_sms_t *sms, apr_size_t size);
- void * (*realloc_fn) (apr_sms_t *sms, void *memory,
- apr_size_t size);
- apr_status_t (*free_fn) (apr_sms_t *sms, void *memory);
- apr_status_t (*reset_fn) (apr_sms_t *sms);
- apr_status_t (*pre_destroy_fn) (apr_sms_t *sms);
- apr_status_t (*destroy_fn) (apr_sms_t *sms);
- apr_status_t (*lock_fn) (apr_sms_t *sms);
- apr_status_t (*unlock_fn) (apr_sms_t *sms);
+ void * (*malloc_fn) (apr_sms_t *sms, apr_size_t size); /**< malloc fn for this SMS */
+ void * (*calloc_fn) (apr_sms_t *sms, apr_size_t size); /**< calloc fn for this SMS */
+ void * (*realloc_fn) (apr_sms_t *sms, void *memory, + apr_size_t size); /**< realloc fn for this SMS */
+ apr_status_t (*free_fn) (apr_sms_t *sms, void *memory); /**< free fn */
+ apr_status_t (*reset_fn) (apr_sms_t *sms); /**< reset fn */
+ apr_status_t (*pre_destroy_fn) (apr_sms_t *sms); /**< called before destroying memory */
+ apr_status_t (*destroy_fn) (apr_sms_t *sms); /**< function to destory the SMS */
+ apr_status_t (*lock_fn) (apr_sms_t *sms); /**< locking function */
+ apr_status_t (*unlock_fn) (apr_sms_t *sms); /**< unlocking function */


    apr_status_t (*apr_abort)(int retcode);
    struct apr_hash_t *prog_data;
@@ -120,14 +131,12 @@

/**
* Initialize a memory system
- * @caution Call this function as soon as you have obtained a block of memory
+ * @warning Call this function as soon as you have obtained a block of memory
* to serve as a memory system structure from your
* apr_xxx_sms_create. Only use this function when you are
* implementing a memory system.
* @param sms The memory system created
* @param parent_sms The parent memory system
- * @deffunc apr_status_t apr_sms_init(apr_sms_t *sms,
- * apr_sms_t *parent_sms)
*/
APR_DECLARE(apr_status_t) apr_sms_init(apr_sms_t *sms,
apr_sms_t *parent_sms);
@@ -136,6 +145,7 @@
* Do post init work that needs the sms to have been fully
* initialised.
* @param sms The memory system to use
+ * @return apr_status_t
*/
APR_DECLARE(apr_status_t) apr_sms_post_init(apr_sms_t *sms);


@@ -143,6 +153,6 @@
#ifdef __cplusplus
}
#endif
-
+/** @} */
#endif /* !SMS_PRIVATE_H */







Reply via email to