/* Copyright 2010 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 . */ /* Implementation of distren_* functions from distren.h excluding distren_job_* functions. */ #include "common/config.h" #include "libdistren.h" #include #include /** @todo needs to read configuration in */ int distren_init_mf(distren_t *handle, distren_malloc_t mymalloc, distren_free_t myfree) { if(!handle || !mymalloc || !myfree) { fprintf(stderr, "distren_init_mf passed NULL pointers\n"); return 1; } *handle = (*mymalloc)(sizeof(struct distren)); if(!*handle) return 1; (*handle)->malloc = mymalloc; (*handle)->free = myfree; /* now the environment is ready for general use */ if(_distren_getoptions(*handle)) { fprintf(stderr, "error getting configuration\n"); distren_free(*handle); return 1; } /** @todo open a connection to the server now and return error if we can't connect. */ return 0; } int distren_init(distren_t *handle) { return distren_init_mf(handle, &malloc, &free); } /** @todo Stub */ int distren_submit_file(distren_t handle, distren_job_t *job, const char *filename) { return 1; } /** */ int distren_free(distren_t handle) { free(handle); return 0; }