Sophie

Sophie

distrib > Mandriva > 2009.0 > i586 > by-pkgid > c67614878826b4852b4141337f025dd6 > files > 23

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.				*/
/*						*/
/*	GESQUE					*/
/*	Define management level for E-mail queue*/
/*	handling.				*/
/*						*/
/************************************************/
#ifndef GESQUE
#define GESQUE

/*local user password file.			*/
#define	PASSNAME	".passwd"
#define	ALIASNAME	".aliases"

/*application user or domain management action	*/
#define	ADDUSR		"ADDUSR"
#define	REMUSR		"REMUSR"
#define	DELDOM		"DELDOM"

/*application quarantine list filename		*/
#define	LISQ		".lisq"

typedef	enum	{
	m_add,		/*adding a domain & user*/
	m_rem,		/*removing an E-mail	*/
	m_del,		/*removing the whole dom*/
	m_unk		/*unknown directive	*/
	}MNGTYP;

typedef	struct	{	/*E-mail queue reference*/
	int relayed;	/*email is relayed	*/
	char *from;	/*Email originator	*/
	char **rcpts;	/*emails recipents	*/
	}MLTYP;

typedef	struct {
	char *name;	/*E-mail address	*/
	char **list;	/*E-mail aliases list	*/
	}ALITYP;

typedef	struct	{
	char *domain;	/*user domain		*/
	char *userid;	/*User id		*/	
	char *username;	/*user name		*/
	char *passwd;	/*password (clear/crypt)*/
	}PASTYP;

extern PASTYP *que_getusrinfo(char *buffer);
extern PASTYP *que_freeusrinfo(PASTYP *passinfo);
extern char *que_getpasswd(char *email);
extern int que_storeemails(char **rcpt,char *emailpath,char *emailname);
extern char *que_cleanstring(char *string);
extern char *que_standardize(char *string);
extern MLTYP *que_getemails(char *queudir,char *emailid);
extern MLTYP *que_dropemails(MLTYP *ml);
extern int que_chkemails(char *email);
extern int que_chkdomain(char *domain);
extern int que_mngemails(MNGTYP action,PASTYP *pi);
extern int que_mngaliases(MNGTYP action,char *domain,char *name,char *aliases);
extern ALITYP **que_getaliases(char *domain);
extern ALITYP **que_freealiases(ALITYP **lists);
extern char **que_getonealiases(char *email);
extern int que_deldom(char *domain);
extern int que_mngquarantine(char *email,char *emid,int efface);
#endif