/*==========================================================================*\
 |  This file is part of setiherder (http://www.sackheads.org/setiherder/)  |
 |  which was written by Brian L. Naylor <brian+seti@sackheads.org> and is  |
 |  under the GNU General Public License.  You should have recieved a copy  |
 |  of the GPL with this source code.  If not, we'd like to know about it.  |
\*--------------------------------------------------------------------------*/

#ifndef SH_CLIENTS
#define SH_CLIENTS

#include "shtypes.h"

extern sh_client_t sh_client_list[SH_MAX_CLIENTS];
extern int         sh_client_idx; 

sh_rc        sh_client_init(sh_client_t*);
sh_client_t *sh_client_get(int index);
sh_rc        sh_client_new(int *index);
void         sh_client_free(int index);
sh_rc        sh_client_del(int index);

sh_rc        sh_client_start(sh_client_t *);
sh_rc        sh_client_stop(sh_client_t *);

sh_rc        sh_client_set_hostname    (int index, char *    );
sh_rc        sh_client_set_seticmd     (int index, char *    );
sh_rc        sh_client_set_account     (int index, char *    );
sh_rc        sh_client_set_platform    (int index, char *    );
sh_rc        sh_client_set_version     (int index, char *    );
sh_rc        sh_client_set_coords      (int index, char *    );
sh_rc        sh_client_set_recdate     (int index, char *    );
sh_rc        sh_client_set_source      (int index, char *    );
sh_rc        sh_client_set_basefreq    (int index, char *    );
sh_rc        sh_client_set_autores     (int index, int       );
sh_rc        sh_client_set_delay       (int index, int       );
sh_rc        sh_client_set_stop_next   (int index, int       );
sh_rc        sh_client_set_died        (int index, int       );
sh_rc        sh_client_set_user_stopped(int index, int       );
sh_rc        sh_client_set_state       (int index, int       );
sh_rc        sh_client_set_completed   (int index, float     );
sh_rc        sh_client_set_dop_shift_rt(int index, float     );
sh_rc        sh_client_set_last_shift  (int index, float     );
sh_rc        sh_client_set_fft_len     (int index, float     );
sh_rc        sh_client_set_units_done  (int index, int       );
sh_rc        sh_client_set_cpu_time    (int index, float     );
sh_rc        sh_client_set_remove_work (int index, int       );
sh_rc        sh_client_set_task        (int index, char *    );
sh_rc        sh_client_set_spawn_method(int index, int       );
sh_rc        sh_client_set_detach      (int index, int       );
sh_rc        sh_client_set_port        (int index, int       );
sh_rc        sh_client_set_passwd      (int index, char *    );

sh_rc        sh_client_increment_work  (int                  );
#endif
