/*
Copyright 2008 Nathan Phillip Brink, Ethan Zonca, Matt Orlando
This file is a part of DistRen.
DistRen is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
DistRen is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with DistRen. If not, see <http://www.gnu.org/licenses/>.
*/
/*
Private definitions for libdistren.
*/
#include <distren.h>
struct distren
{
distren_malloc_t malloc;
distren_free_t free;
};
struct distren_job
{
char *jobid;
};
/*
functions
*/
/**
Avoid poluting the public namespace until we fix visibility.
*/
#define _malloc _distren_malloc
/**
All of libdistren should use this rather than malloc.h's malloc.
*/
void *_malloc(distren_t distren, size_t size);
/**
Avoid poluting the public namespace until we fix visibility.
*/
#define _free _distren_free
/**
All of libdisren should use this instead of malloc.h's free()
*/
void _free(distren_t distren, void *tofree);
/**
Sets up the distren handle with information garnered from
configuration files, etc. Uses the environment variable
DISTREN_CONFIG or the built-in default config file location.
*/
int _distren_getoptions(distren_t handle);