srv_alloc

Description

Allocate memory.

Syntax

   CS_VOID *srv_alloc(size)
 CS_INT        size;

Parameters

size

The number of bytes to allocate.

Returns

Table 3-1: Return values (srv_alloc)

Returns

To indicate

A pointer to the newly allocated space

The location of the new space.

A null CS_VOID pointer

Open Server could not allocate size bytes.

Examples

Example 1

#include    <ospublic.h>
/*
 ** Local Prototype
 */
 CS_RETCODE     ex_srv_alloc PROTOTYPE((
 CS_BYTE        **bpp,
 CS_INT         size
 ));
/* 
 ** EX_SRV_ALLOC
 **
 **    Example routine to allocate the specified amount of memory
 **    using srv_alloc.
 **
 ** Arguments: 
 **    bpp     Return pointer to allocated memory here.
 **    size    Amount of memory to allocate.
 **
 ** Returns:
 **
 **    CS_SUCCEED            Memory was allocated successfully.
 **    CS_FAIL               An error was detected.
 */
 CS_RETCODE            ex_srv_alloc(bpp, size)
 CS_BYTE              **bpp;
 CS_INT               size;
 {
     /* Initialization. */
     *bpp = (CS_BYTE *)NULL;
   /*
     ** Allocate size number of bytes.
     */
     if((*bpp = (CS_BYTE *)srv_alloc(size)) == (CS_BYTE *)NULL)
     {
         return(CS_FAIL);
     }
     return(CS_SUCCEED);
 }
    /*
 ** Allocate size number of bytes.
 */
 if((*bpp = (CS_BYTE *)srv_alloc(size)) == (CS_BYTE *)NULL)
     {
         return(CS_FAIL);
     }
     return(CS_SUCCEED);
 }

Usage

See also

srv_free, srv_props, srv_realloc