Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > by-pkgid > c67614878826b4852b4141337f025dd6 > files > 37

clement-debug-2.1-0.133.4mdv2009.0.i586.rpm

/************************************************/
/*						*/
/*      Copyright:				*/
/*		 Jean-Marc Pigeon <jmp@safe.ca>	*/
/*	Distributed under the Gnu Public	*/
/*	License, see the License file in this	*/
/*	package.				*/
/*						*/
/*	Define the very low level suport.	*/
/*						*/
/************************************************/
#ifndef SUBROU
#define SUBROU
#include	<time.h>
#include	<stdio.h>
#include	<stdarg.h>
#include	<syslog.h>
#include	<sys/types.h>
#include	"dbgmem.h"

/*defining 24 Hours in sec			*/
#define	H24	(24*60*60)
/*defining 2 Hours in sec			*/
#define	H2	(2*60*60)
/*defining 30 Minutes in sec			*/
#define	M30	(30*60)
/*defining 30 Minutes in sec			*/
#define	M10	(10*60)

/*POP/IMAP access file list			*/
#define	POPIMAP	"popimap"

/*Max number of journal				*/
#define	MXJRL	5
#define APJRL	0	/*basic application jrl	*/

/*Signal to be send to check if a process is	*/
/*still up and running				*/
#define	SIGCHECK	0


/*debug level					*/
#if DEBUG
#define	TRALOG	LOG_DEBUG
#else
#define	TRALOG	LOG_INFO
#endif

/*defining boolean value			*/
typedef enum {false, true} bool;

/*defining various directory header		*/
typedef enum	{
	d_null,		/*no directoy specified	*/
	d_crash,	/*the crash directory	*/
	d_tls,		/*certificat directory	*/
	d_etc,		/*directory is /etc	*/
	d_spool,	/*directory /var/spool	*/
	d_bin,		/*directory /usr/bin	*/
	d_log,		/*directory /var/logs	*/
	d_lock,		/*locking directory	*/
	d_web,		/*directory /var/www	*/
	d_lib		/*directory /var/lib	*/
	}DIRENUM;

typedef	struct	{	/*vocable table type	*/
	int code;	/*code value		*/
	const char *key;/*key code		*/
	const void *ptr;/*pay load		*/
	}VOCTYP;

/*application working base directory		*/
extern char *base;
/*application name				*/
extern char *appname;
/*application working mode foreground/background*/
extern int foreground;
/*application debug mode			*/
extern int verbose;
/*application debug level			*/
extern int debug;
/*data channel ready    			*/
extern int gotsigio;
/*application reload request			*/
extern int sigreload;
/*flag to request a quick exit from application	*/
extern int quickout;

/*routine provided by the subrou.c module	*/
extern char *rou_dynavsprintf(const char *fmt,va_list args);
extern void rou_setalrm();
extern char *rou_getvers();
extern char *rou_mkbase(char *newbase);
extern char *rou_mkname(char *fullname,int max,DIRENUM dir,
			char *subdir,const char *filename,char *ext);
extern VOCTYP *rou_getvoca(VOCTYP *table,char *str);
extern time_t rou_systime();
extern u_long rou_normdate(time_t timestamp);
extern char *rou_getstrtime(time_t curtime);
extern char *rou_getstrdatetime(time_t curtime);
extern char *rou_ascsystime(time_t curtime);
extern char *rou_memstrcat(char *msg,char *fmt,...);
extern int rou_vecsize(void **ptr);
extern void **rou_addveclst(void **ptr,void *vec);
extern char *rou_freestr(char *str);
extern char **rou_freestrlst(char **strlst);
extern char *rou_getstr(FILE *fichier,char *str,int taille,char carcom);
extern void rou_addtoenv(const char *filename);
extern void rou_loadconf(char *application);
extern pid_t rou_fork(int forgrnd);
extern void rou_exit(int forgrnd,int status);
extern void rou_childkill(pid_t *process,int num,int delay);
extern uid_t rou_getappid(char *appnom,int group);
extern void rou_chgid(char *appnom);
extern void rou_fullid();
extern char *rou_strtolower(char *str);
extern char *rou_uniquename();
extern int rou_passetime(int waiting);
extern int rou_checkprocess(pid_t child);
extern int rou_createdirs(char *dirname);
extern int rou_isnewfile(char *filename,time_t tempo);
extern char *rou_setIPclass(char *ipclient,char classe);
extern int setjournal(int numjrl,DIRENUM dir,char *edition);
extern char *getjourname(char *newsname);
extern void closejournals();
extern void journalling(int flush,int numjrl,char *frm,...);
extern void tracing(const int report,const int dlevel,const char *fmt,...);
extern void argvtracing(const int report,const int dlevel,
		 	const char *fmt,char *argv[]);
extern void alert(const int dlevel,const char *fmt,...);
extern void core_dump(const char *fmt,...);
extern void code_fault(const char *fmt,...);
extern void preptitle(int argc,char *argv[],char *env[]);
extern void cleantitle();
extern void settitle(const char *fmt,...);
extern void divedivedive(int foregrnd);
#endif