/* 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 . */ #ifndef LIBDISTREN_H_ #define LIBDISTREN_H_ 1 /* Private definitions for libdistren. */ #include struct distren { distren_malloc_t malloc; distren_free_t free; struct options_common *options; /*< use a pointer just to avoid #include "options.h"? */ }; 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); /** Unsets-up the distren handle with options loadable from a config file. */ int _distren_loseoptions(distren_t handle); #endif