| Index: mozilla/security/nss/lib/base/nssbase.h
|
| ===================================================================
|
| --- mozilla/security/nss/lib/base/nssbase.h (revision 158129)
|
| +++ mozilla/security/nss/lib/base/nssbase.h (working copy)
|
| @@ -29,6 +29,9 @@
|
| *
|
| * NSSArena_Create -- constructor
|
| * NSSArena_Destroy
|
| + * NSS_ZAlloc
|
| + * NSS_ZRealloc
|
| + * NSS_ZFreeIf
|
| */
|
|
|
| /*
|
| @@ -133,6 +136,135 @@
|
| void
|
| );
|
|
|
| +/*
|
| + * NSS_ZNEW
|
| + *
|
| + * This preprocessor macro will allocate memory for a new object
|
| + * of the specified type with nss_ZAlloc, and will cast the
|
| + * return value appropriately. If the optional arena argument is
|
| + * non-null, the memory will be obtained from that arena; otherwise,
|
| + * the memory will be obtained from the heap. This routine may
|
| + * return NULL upon error, in which case it will have set an error
|
| + * upon the error stack.
|
| + *
|
| + * The error may be one of the following values:
|
| + * NSS_ERROR_INVALID_ARENA
|
| + * NSS_ERROR_NO_MEMORY
|
| + *
|
| + * Return value:
|
| + * NULL upon error
|
| + * A pointer to the new segment of zeroed memory
|
| + */
|
| +
|
| +/* The following line exceeds 72 characters, but emacs barfs if we split it. */
|
| +#define NSS_ZNEW(arenaOpt, type) ((type *)NSS_ZAlloc((arenaOpt), sizeof(type)))
|
| +
|
| +/*
|
| + * NSS_ZNEWARRAY
|
| + *
|
| + * This preprocessor macro will allocate memory for an array of
|
| + * new objects, and will cast the return value appropriately.
|
| + * If the optional arena argument is non-null, the memory will
|
| + * be obtained from that arena; otherwise, the memory will be
|
| + * obtained from the heap. This routine may return NULL upon
|
| + * error, in which case it will have set an error upon the error
|
| + * stack. The array size may be specified as zero.
|
| + *
|
| + * The error may be one of the following values:
|
| + * NSS_ERROR_INVALID_ARENA
|
| + * NSS_ERROR_NO_MEMORY
|
| + *
|
| + * Return value:
|
| + * NULL upon error
|
| + * A pointer to the new segment of zeroed memory
|
| + */
|
| +
|
| +/* The following line exceeds 72 characters, but emacs barfs if we split it. */
|
| +#define NSS_ZNEWARRAY(arenaOpt, type, quantity) ((type *)NSS_ZAlloc((arenaOpt), sizeof(type) * (quantity)))
|
| +
|
| +
|
| +/*
|
| + * NSS_ZAlloc
|
| + *
|
| + * This routine allocates and zeroes a section of memory of the
|
| + * size, and returns to the caller a pointer to that memory. If
|
| + * the optional arena argument is non-null, the memory will be
|
| + * obtained from that arena; otherwise, the memory will be obtained
|
| + * from the heap. This routine may return NULL upon error, in
|
| + * which case it will have set an error upon the error stack. The
|
| + * value specified for size may be zero; in which case a valid
|
| + * zero-length block of memory will be allocated. This block may
|
| + * be expanded by calling NSS_ZRealloc.
|
| + *
|
| + * The error may be one of the following values:
|
| + * NSS_ERROR_INVALID_ARENA
|
| + * NSS_ERROR_NO_MEMORY
|
| + * NSS_ERROR_ARENA_MARKED_BY_ANOTHER_THREAD
|
| + *
|
| + * Return value:
|
| + * NULL upon error
|
| + * A pointer to the new segment of zeroed memory
|
| + */
|
| +
|
| +NSS_EXTERN void *
|
| +NSS_ZAlloc
|
| +(
|
| + NSSArena *arenaOpt,
|
| + PRUint32 size
|
| +);
|
| +
|
| +/*
|
| + * NSS_ZRealloc
|
| + *
|
| + * This routine reallocates a block of memory obtained by calling
|
| + * nss_ZAlloc or nss_ZRealloc. The portion of memory
|
| + * between the new and old sizes -- which is either being newly
|
| + * obtained or released -- is in either case zeroed. This routine
|
| + * may return NULL upon failure, in which case it will have placed
|
| + * an error on the error stack.
|
| + *
|
| + * The error may be one of the following values:
|
| + * NSS_ERROR_INVALID_POINTER
|
| + * NSS_ERROR_NO_MEMORY
|
| + * NSS_ERROR_ARENA_MARKED_BY_ANOTHER_THREAD
|
| + *
|
| + * Return value:
|
| + * NULL upon error
|
| + * A pointer to the replacement segment of memory
|
| + */
|
| +
|
| +NSS_EXTERN void *
|
| +NSS_ZRealloc
|
| +(
|
| + void *pointer,
|
| + PRUint32 newSize
|
| +);
|
| +
|
| +
|
| +/*
|
| + * NSS_ZFreeIf
|
| + *
|
| + * If the specified pointer is non-null, then the region of memory
|
| + * to which it points -- which must have been allocated with
|
| + * nss_ZAlloc -- will be zeroed and released. This routine
|
| + * returns a PRStatus value; if successful, it will return PR_SUCCESS.
|
| + * If unsuccessful, it will set an error on the error stack and return
|
| + * PR_FAILURE.
|
| + *
|
| + * The error may be one of the following values:
|
| + * NSS_ERROR_INVALID_POINTER
|
| + *
|
| + * Return value:
|
| + * PR_SUCCESS
|
| + * PR_FAILURE
|
| + */
|
| +
|
| +NSS_EXTERN PRStatus
|
| +NSS_ZFreeIf
|
| +(
|
| + void *pointer
|
| +);
|
| +
|
| PR_END_EXTERN_C
|
|
|
| #endif /* NSSBASE_H */
|
|
|