00001 /*-------------------------------------------------------------------------- 00002 00003 Copyright (c) 2006-2010, Intellectual Reserve, Inc. All rights reserved. 00004 00005 This program is free software; you can redistribute it and/or modify 00006 it under the terms of the GNU General Public License version 2 as 00007 published by the Free Software Foundation. 00008 00009 This program is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 GNU General Public License for more details. 00013 00014 You should have received a copy of the GNU General Public License 00015 along with this program; if not, write to the Free Software 00016 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00017 00018 --------------------------------------------------------------------------*/ 00019 00028 #ifndef _DNXSERVERMAIN_H_ 00029 #define _DNXSERVERMAIN_H_ 00030 00031 #include "dnxProtocol.h" 00032 00033 #include <time.h> 00034 00036 typedef struct DnxNewJob 00037 { 00038 DnxJobState state; 00039 DnxXID xid; 00040 char * cmd; 00041 time_t start_time; 00042 int timeout; 00043 time_t expires; 00044 void * payload; 00045 DnxNodeRequest * pNode; 00046 } DnxNewJob; 00047 00054 char * versionText(void); 00055 00063 void dnxReconfigure(void); 00064 00081 int dnxPostResult(void * payload, unsigned long serial, time_t start_time, 00082 unsigned delta, int early_timeout, int res_code, char * res_data); 00083 00088 void dnxJobCleanup(DnxNewJob * pJob); 00089 00097 int dnxAuditJob(DnxNewJob * pJob, char * action); 00098 00099 #endif /* _DNXSERVERMAIN_H_ */ 00100