
/* $Header: $ */
/* $Source: $ */
/* $Author: $ */

/*
 * Some useful defenitions for the Server code
 */

/*
 * Server global variables
 */
#define HRPC_SERVER
#include "PDif.h"
#include "Pd.h"
#include "objects.h"
#include "attrstrings.h"
#include "db.h"
#include "PDerrors.h"
#include "PDsrvr_local.h"


typedef struct {
  int acceptingJobs;
  int printingJobs;
} PdServerState;

extern PdServerState ServerState;		/* state of this server */
extern char *srvrName;				/* Name of this server */
extern char **supervisorsRegistered;		/* Names of SPVRs registered */
extern int numSupervisorsRegistered;		/* and their number */
extern char hostname[];
extern int portNum;				/* port# talk to scheduler */
extern char configFile[];			/* Server's config file */
extern char *pdAclFile;				/* File containing acls */
extern char *acctFile;				/* Accounting file */

extern char *logString;
extern char *savestr();

/* Define used in logging */
#define MODULETNAME srvrName;
#define MODULETYPE "PdServer"

/* used to fill in return parameters so that HRPC doesn't
 *             freak out on error breaks, etc
 */

#define INIT(js)  bzero((js), sizeof(*(js)))

/* a type for value lists to make the utility code
 *        less confusing and avoid triple-pointers like char ***foo;
 */

typedef char **value_list;
