Sophie

Sophie

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

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 all routine to manage devices at	*/
/*	low level.				*/
/*						*/
/************************************************/
#ifndef UNIDEV
#define UNIDEV

#include	<stdio.h>
#include	<sys/socket.h>

/*defining protocol values			*/
typedef enum {p_msmtp,p_undef}PROTYP;

typedef enum {pr_locname,pr_locip,pr_remname,pr_remip}PEERTYP;

/*listening binding definition			*/
typedef	struct	{
	PROTYP proto;	/*protocol type		*/
	int port;	/*port used		*/
	char *ipnum;	/*listening address	*/
	time_t lasttry;	/*last binding request	*/
	int iteration;	/*number of binding open*/	
	int handle;	/*binded handle		*/
	pid_t *process;	/*process used		*/
	}LSTTYP;

extern LSTTYP **dev_getlst(LSTTYP **lst,PROTYP proto,char *bindinfo);
extern LSTTYP **dev_freelst(LSTTYP **lst);
extern void dev_mullisten(LSTTYP **lst);
extern void dev_mulclose(LSTTYP **lst);
extern int dev_acceptfile(LSTTYP *lst);
extern char *dev_getaddrname(int handle,PEERTYP peer,char *unknown);
#endif