/*
Copyright 2009 Nathan Phillip Brink, Ethan Zonca, Matthew 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/>.
*/
#ifndef _DISTREN_SLAVEFUNCS_H
#define _DISTREN_SLAVEFUNCS_H
#include "distrenjob.h"
#include "common/remoteio.h"
#include <libxml/xpath.h>
#include <stdio.h>
struct msg;
int sendSignal(struct remoteio *rem, char signal);
int sendExtSignal(struct remoteio *rem, char signal, char *data);
xmlNodePtr xml_quickxpath(xmlXPathContextPtr xpathctxt, xmlChar *path);
int software_updatecheck();
int delete_jobdata(int jobnum, char *datadir);
size_t curl_writetodisk(void *ptr, size_t size, size_t nmemb, FILE *stream);
int curlget(char *url, char *out);
int curlpost(char *filename, char *url);
int ssh_keygen();
int register_user(char *username, char *email);
int login_user(char *username);
int conf_replace(char *conffile, char *wordtoreplace, char *replacewith);
int exec_blender(char *input, char *output, int frame);
void xmlinit();
void xmlcleanup();
int distren_mkdir_recurse(char *dirname);
int job_build_path(char *filename, unsigned int jobnum);
int downloadTar(char *url, char *destinationPath);
int uploadOutput(char *pathtoOutput, char *urltoOutput);
int unpackJob(char *pathtoTar, int jobnum);
#endif