diff --git a/src/server/Makefile.am b/src/server/Makefile.am
--- a/src/server/Makefile.am
+++ b/src/server/Makefile.am
@@ -1,8 +1,10 @@
+COMMON_SOURCES = slavefuncs.c slavefuncs.h blendjob.h
+
bin_PROGRAMS = distrend distrenslave
-distrend_SOURCES = distrend.c slavefuncs.c slavefuncs.h
+distrend_SOURCES = distrend.c ${COMMON_SOURCES}
distrend_LDADD = @DISTLIBS_LIBS@ @top_builddir@/src/common/libdistrencommon.la
distrend_CFLAGS = @DISTLIBS_CFLAGS@ -I@top_srcdir@/src/common
-distrenslave_SOURCES = slave.c slavefuncs.c slavefuncs.h
+distrenslave_SOURCES = slave.c ${COMMON_SOURCES}
distrenslave_LDADD = @DISTLIBS_LIBS@ @top_builddir@/src/common/libdistrencommon.la
distrenslave_CFLAGS = @DISTLIBS_CFLAGS@ -I@top_srcdir@/src/common
diff --git a/src/server/blendjob.h b/src/server/blendjob.h
new file mode 100644
--- /dev/null
+++ b/src/server/blendjob.h
@@ -0,0 +1,66 @@
+/*
+ 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 .
+
+*/
+
+#ifndef _DISTREN_BLENDJOB_H
+#define _DISTREN_BLENDJOB_H
+
+/**
+ This file stores the blendjob and frameset structs and prototypes for some functions to manipulate/use these.
+ */
+
+#include /* clock_t */
+
+typedef unsigned int jobnum_t;
+
+/**
+ Stores Blender Job Info
+*/
+struct blendjob {
+ struct blendjob *next; /*< next will be NULL unless if there is another blendjob */
+ char *name;
+ char *submitter;
+ char *email;
+ jobnum_t jobnum;
+ int priority; // 1 is lowest, 10 is highest, 0 means the job is done
+ int percent_done;
+ int completed_frames; // number of completed frames for stats/etc
+ int assigned_frames; // number of assigned frames (that are not yet completed) for stats/etc
+ int total_frames; // how many frames are in the animation for stats/etc (unassigned frames)
+ int avg_render_time; // average seconds it took to render a frame
+ unsigned int time_remaining; // estimated seconds remaining till render is complete (up to 49, 710 days)
+ // we can have the client computer convert it into days, hours, etc if they wish to view it
+ struct frameset *frameset;
+};
+
+
+
+/**
+ Frameset Structure
+*/
+struct frameset {
+ int num; /*< frame number to render */
+ char slave_name; /*< user that frame is assigned to */
+ int status; /*< status of frame, 0= unassigned, 1= taken, 2= done */
+ clock_t start_time; /*< time the frame was started */
+ int time_to_render; /*< the total seconds it took to render the frame */
+}; /* Frameset array is generated by status_report_generator() */
+
+
+#endif
diff --git a/src/server/distrend.c b/src/server/distrend.c
--- a/src/server/distrend.c
+++ b/src/server/distrend.c
@@ -52,6 +52,8 @@
#include "execio.h"
#include "options.h"
+#include "blendjob.h"
+
#include
#include
#include
@@ -62,7 +64,6 @@
-typedef unsigned int jobnum_t;
/* ******************* Structs ************************ */
@@ -96,34 +97,6 @@ struct general_info {
unsigned int total_frames_rendered; //
} general_info;
-// Stores Blender Job Info
-struct blendjob {
- struct blendjob *next; /* next will be NULL unless if there is another blendjob */
- char *name;
- char *submitter;
- char *email;
- jobnum_t jobnum;
- int priority; // 1 is lowest, 10 is highest, 0 means the job is done
- int percent_done;
- int completed_frames; // number of completed frames for stats/etc
- int assigned_frames; // number of assigned frames (that are not yet completed) for stats/etc
- int total_frames; // how many frames are in the animation for stats/etc (unassigned frames)
- int avg_render_time; // average seconds it took to render a frame
- unsigned int time_remaining; // estimated seconds remaining till render is complete (up to 49, 710 days)
- // we can have the client computer convert it into days, hours, etc if they wish to view it
- struct frameset *frameset;
-};
-
-
-// Frameset Structure
-struct frameset {
- int num; // frame number to render
- char slave_name; // user that frame is assigned to
- int status; // status of frame, 0= unassigned, 1= taken, 2= done
- clock_t start_time; // time the frame was started
- int time_to_render; // the total seconds it took to render the frame
-}; // Frameset array is generated by status_report_generator function
- // Using this method to save memory, because if animation starts on a high frame number, it would waste a lot of RAM on empty structures
/*
diff --git a/src/server/slavefuncs.h b/src/server/slavefuncs.h
--- a/src/server/slavefuncs.h
+++ b/src/server/slavefuncs.h
@@ -19,6 +19,7 @@
#ifndef _DISTREN_SLAVEFUNCS_H
#define _DISTREN_SLAVEFUNCS_H
+#include "blendjob.h"
void registeruser(char *username, char *email);
void loginuser(char *username);