#############################################################  -*- c -*-
## generic include for XXX. Do not use directly.
##
## $Id: generic-data-allocate.m2i,v 1.9 2004/10/08 23:39:17 rstory Exp $
########################################################################
@if $m2c_mark_boundary == 1@
/** START code generated by $RCSfile: generic-data-allocate.m2i,v $ $Revision: 1.9 $ */
@end@
########################################################################
##
/* ---------------------------------------------------------------------
 * TODO:200:r: Implement $context data context functions.
 */
/*
 * ${context}_allocate_data
 *
 * Purpose: create new ${context}_data.
 */
${context}_data *
${context}_allocate_data(void)
{
    /*
     * TODO:201:r: |-> allocate memory for the $context data context.
     */
@if $m2c_data_context != "generated"@
    /** this might not be right for $m2c_data_context */
@end@
    ${context}_data *rtn = SNMP_MALLOC_TYPEDEF(${context}_data);

    DEBUGMSGTL(("verbose:${context}:${context}_allocate_data","called\n"));

    if(NULL == rtn) {
        snmp_log(LOG_ERR, "unable to malloc memory for new "
                 "${context}_data.\n");
    }

    return rtn;
} /* ${context}_allocate_data */

/*
 * ${context}_release_data
 *
 * Purpose: release ${context} data.
 */
void
${context}_release_data(${context}_data *data)
{
    DEBUGMSGTL(("verbose:${context}:${context}_release_data","called\n"));

    /*
     * TODO:202:r: |-> release memory for the $context data context.
     */
    free(data);
} /* ${context}_release_data */

##
########################################################################
@if $m2c_mark_boundary == 1@
/** END code generated by $RCSfile: generic-data-allocate.m2i,v $ $Revision: 1.9 $ */
@end@
