#############################################################  -*- c -*-
## generic include for XXX. Do not use directly.
##
## $Id: generic-data-allocate.m2i,v 1.9.2.2 2005/02/25 22:36:21 rstory Exp $
########################################################################
@if $m2c_mark_boundary == 1@
/** START code generated by $RCSfile: generic-data-allocate.m2i,v $ $Revision: 1.9.2.2 $ */
@end@
########################################################################
##
/*
 * ${context}_allocate_data
 *
 * Purpose: create new ${context}_data.
 */
${context}_data *
${context}_allocate_data(void)
{
@if $m2c_gda_todo_suppress != 1@
    /*
     * TODO:201:r: |-> allocate memory for the $context data context.
     */
@end@
@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"));

@if $m2c_gda_todo_suppress != 1@
    /*
     * TODO:202:r: |-> release memory for the $context data context.
     */
@end@
    free(data);
} /* ${context}_release_data */

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