
ңУǺץ
	 ꥨ ͥåȥңУǥ
	 Version 0.001, October 2000
	 ------------------------------------------------------------
	 Copyright (C) 2000ǯ naoki kuwamori<naoki@kkuwamori.com>

	 ܥץϥե꡼եȥǤʤϡFree Software Foundation
	 ɽGNU ̸ͭѵΡ֥С󣲡װϤʹߤγƥС
	 椫餤줫򤷡ΥС˽äܥץ
	 ۤޤѹ뤳ȤǤޤ

	Laurier Net work RPG server
	Version 0.001, October 2000
	Copyright (C) 2000 Naoki Kuwamori <naoki@kuwamori.com>

	This program is free software; you can redistribute it and/or modify
	it under the terms of the GNU General Public License as published by
	the Free Software Foundation; either version 2 of the License, or any
	later version.

#define LIBNETOREDYOPEN			20001		/*Ǥ˶꤬ͭץ󤵤Ƥ*/	
#define LIBNETCONNECTREQUESTT	10009		/*³׵*/
#define LIBNETCONNECTREQUESTU	10008		/*³׵*/
#define LIBNETFDOPEN			10007		/*ƣĤ򥪡ץ󤷤*/
#define LIBNETNOTOPENLOG		10006		/*ץ󤵤Ƥʤ*/
#define LIBNETWTIMEUP			10005		/*׵ᤵ줿٥ȤΤɤ줫˥ʥ뤬ȯ*/
#define LIBNETDATAPARTIALLOST	10004		/*ʬŪ˥ǡ򼺤ä*/
#define LIBNETNOIDCONTINU		10003		/*ɣĤϢ³Ƥʤ*/
#define LIBNETLOSTDATA			10002		/*ǡХåեξ꾮*/
#define LIBNETOK				10001		/**/
#define LIBNETNOFD				-10001		/*ƣĤäƤʤ*/
#define LIBNETNOFDENT			-10002		/*ƣĤΥȥ꤬ʤ*/
#define LIBNETSENDERR			-10003		/**/
#define LIBNETHEADSENDERR		-10004		/*إåɤ߹ޤʤä*/
#define LIBNETMALOCCERR			-10005		/*γݼ*/
#define LIBNETMAKESOCERR		-10006		/*åȤκ顼*/
#define LIBNETGETPORTERR		-10007		/*ݡֹμ顼*/
#define LIBNETSETHOSTNEMEERR	-10008		/*ۥȥ͡Υåȼ*/
#define LIBNETCONECTERR			-10009		/*ͥȥ顼*/
#define LIBNETSIGSETERR			-10010		/*ʥΥåȥ顼*/
#define LIBNETPOLLERR			-10011		/* Error condition */
#define LIBNETPOLLHUP			-10012		/* Hung up */
#define LIBNETPOLLNVAL			-10013		/* Invalid request: fd not open */
#define LIBNETEFAULT			-10015		/*Ȥƻꤷ󤬡ƤӽФץΥɥ쥹֤˴ޤޤƤʤ*/
#define LIBNETERR				-10014		/*¾Υ顼*/
#define LIBNETHEADBREAK			-10015		/*إåʬƤ*/
#define LIBNETREADBREAK			-10016		/*ɤ߹ߤΥʥˤ*/
#define LIBNETNOREQLEN			-10017		/*׵Ĺޤϥޥʥ*/
#define LIBNETOTHERSIG			-10018		/* ͽʤʥˤ*/
#define LIBNETOREDYSOPEN		-10019		/*Ǥ˥Хץ󤷤Ƥ*/
#define LIBNETLENGTHZERO		-10020		/*Ĺξ*/
#define LIBNETCONNECTIONERROR	-10021		/*³μ*/
#define LIBNETCONNECTIONDATAERR	-10022		/*³³ʸǤʤä*/
#define LIBNETCATCREATFD		-10023		/*ƥ¤ǤʾƣĤ򥪡ץǤʤ*/
#define LIBNETREADLENLESS		-10024		/*ɤ߹Ĺ*/
#define LIBNETSOCBINDERR		-10025		/*åȤΥХɥ顼*/
#define LIBNETLISSTENERR		-10026		/*listen򥽥åȤФȯԼ*/
#define LIBNET
#define LIBNETERROTHER			-10100		/*¾ͽʤ顼*/
#define LIBNETSHMaredyattach	-20001		/*Ǥ˥ץ󤵤줿ɣ*/
#define LIBNETSHMNOIDentry		-20002		/*Ǥ˥ץ󤵤줿ɣ*/
#define LIBNETSHMATTACHERR		-20003		/*ͭꥢå顼*/
#define LIBNETSHMGETERR			-20004		/*ͭꥲåȥ顼*/
#define LIBNETSHMIDerror		-20005		/*ͭɣĤϿƤޤ*/
#define LIBNETSHMMALOCCERR		-20006		/*Υޥå˼Ԥޤ*/
#define LIBNETSHMNOSHMID		-20007		/*ͭɣĤϿƤޤ*/
#define LIBNETSHM
#define LIBNETSHM
#define LIBNETSHM
#define RPGMALLOCERROR			-30001

#define RPGLOGREQ			"RPGLOGREQ_"			/*׵*/

#define LIBNETBASEERR			-500

#define LIBNETSHMIDMAX			20			/*ͭ票ȥ꡼*/

#define LIBNETPOLLrerycount		5

#define LIBNETLOGSOCNAME		"log_soc"
#define LIBNETTIMEUP			100

#define COMMANDLEN			10
#define LOGLINEMAX			10000			/*κ饤*/
#define LOGFILENAME			"Laurier.log"
#define LOGBUFFSIZE			256
#define MAXERRNOM			100
#define LIBNET_UDP			3
/**************************************************************************/
/*Υإåι¤
ǥѥåȤĤʤäڤ줿ꤷˤб롣
Υإåκǽ*/

#define LIBNETPHEADER			"NRPGHEAD"	/*ѥåȥإå*/
#define LIBNETASSEPT			"LIBNETASSEPT"	 
#define LIBNETCONNECTREQ		"CONNECTREQ"	/*³׵*/
#define POLLTIMEUP          "PALLTIMEUP"            /**/
#define LIBNETWTIMEUP2			"LIBNETIMUP"
/*		ʸ󤬤뤳,
		length
		ID
		from_pid
		ǣңУǤΥǡȽǤ롣*/

typedef struct{
	char head [9];
	int length;
	int status;
	int ID;
	int from_pid;
	char command[11];
}libnet_send_st;


typedef struct{
	int	shmNO;
	int	size;
}shment;


#define FREE(a)  if(a!=NULL){free(a);a= NULL;}

/**********************************************************

Ȥ
С¦
	rpg_serveropen(AF_INET ,   "service name" );	ǥСץ
	ret = RPG_Poll (command ,  readbuf , 1024, &read_len , 1 , &resfd );
							ǥ٥ȥ롼
	ΣĤǥॢȻ֤ƤСʤˤʤȴƤ뤷
	δ֤˼readbuf˥ǡäƤޤ

饤¦
    serverFD=rpg_tcp_client_open( "server adress" ,  "service name" );
													ǥ饤ȥץ
	ret = RPG_Poll (command ,  readbuf , 1024, &read_len , 1 , &resfd );
							ǥ٥ȥ롼
	ΣĤǥॢȻ֤ƤСʤˤʤȴƤ뤷
	δ֤˼readbuf˥ǡäƤޤ

ξ
	ret=rpg_send(FD, COMMAND , data ,strlen(data));
							Ǥ

ʤˤüʪϤޤ󤬡üʤΤϣãϣͣͣΣĤǤ礦
ϥ٥Ȥ򿶤ʬΤ˻ȤʸΥ饯Ǥ
ǡ¾ˤ뤳ȤǼƤ顢ɤư򤵤뤿
ѥåȤʤΤʬ뤳Ȥޤ


**********************************************************/

/**************************************************************************
	
			ѥ»Хåؿ

	:()
		ѥפȤʤɤ˸ƤӽФ
		Хåؿ
		äˤʤˤ⤷ʤǵ

	:
		ʤ

	:
		ʤ
*/

			void brakepipe(int data);


/**************************************************************************

			FD¸߳ǧؿ

	()
		ǡǡ١ˤΣƣĤäƤ뤫ǧ
		ơΥȥ꡼ֹ֤

	:
		int fd 		I	Ĵ٤ƣ

	:
		0<
			䥨ȥ꡼ֹ
		0>
			顼
				LIBNETNOFDȥ꡼¸ߤʤ
*/

			int test_fd(int fd );


/*************************************************************************/

/*			FDϿؿ

	:()
		FDǡ١˿ȥä
		Υȥֹ֤
		Ρȥξˣ򥪡ץ󤷤
		ƣĤ롣

	
		ʤ

	͡
		Ƥƣĥǡ١ȥ
*/

int getfdnewentry(void);



/**************************************************************************/
/*			FDΥؿ
	
		ꤵ줿ƣĤǡ١ƥ
		ɬңУǴĶˤƥץ󤵤줿åȤϤˤäƥ

	
		int FD	I	ƣĤϤ

	͡
		ʤ
*/

void	rpgclosefd(int FD);


/**************************************************************************/

/*			RPGFDؿ
	
		ƤƣĤΤ٤ƤΥ
		ϴؿȤäƣƣĤǤʤ
		ʤ

	
		ʤ

	͡
		ʤ

*/

void rpg_fd_allclose(void);

/**************************************************************************/

/*			ǡ١ؿ
	
		ǡ١
		ǽΰƤӽФ줿˽򤷤Ƥʹ
		˽򤹤Ȥ̤δؿƤӽФ

	
		ʤ

*/

int clear_fddatabase(void);



/**************************************************************************/
/*			ҥץ˴ƤӽФؿ
	
		ҥץȤ˸ƤӽФ

	
		int data	I	
*/

void  rpg_childdeth(int data);


/**************************************************************************/
/*	
		λ*/

void rpg_endproc(int data);


/**************************************************************************/
/*	
		Сץ󤹤
		ԣãФȣգΣɣإåȤ

	:
		int type 				I
			˥ååȤΤȤϡ
			type = AF_UNIX
			TCPλ
			TYPE = AF_INET
			UDPλ
			TYPE= LIBNET_UDP
			Ȥ롣

		char * service_name		I
			ΤȤservice_nameϣԣãФλϥӥ̾
			˥ååȤλϥå̾ΤϤ

	:
			ƣĤ֤
			顼ξ֤ͤ
*/

int rpg_serveropen (int type ,	char * service_name );


/**************************************************************************/

/*		TCP UDP饤ȤȤƤΥץؿ
	
	
		ԣãеڤӣգģХ饤ȤȤƤΥץʥӥ̾ڤӥݡֹ

	
		char * hostname		I	ۥ̾
		char * service_name		I	ӥ͡/etc/servicesϿƤɬפ
		int port				I	ݡֹ

	͡

*/

int rpg_tcp_client_open( char * hostname , char * service_name );
int rpg_udp_client_open( char * hostname , char * service_name );
int rpg_tcp_client_open_port( char * hostname , int port );
int rpg_udp_client_open_port( char * hostname , int port );


/**************************************************************************/

/*			˥ååȤΥ饤ȥץؿ
	
		˥ååȤΥ饤ȤȤƤΥץ

	
		char * socketname	I

	͡

*/

int rpg_usoc_client_open(char * socketname);


/**************************************************************************/

/*			ǡؿ
	
		FDФƥǡ롣

	
		int FD			ƣ
		int read_len	ɤ߹٤Ĺ
		char * buf		ɤ߹ߥХåեؤΥݥ
		int bufsize		ɤ߹Хåե礭

	͡

*/
int rpg_send(int FD ,char * command ,  char * senddata , int len);
int rpg_send_udp(int FD ,char * command ,  char * senddata , int len);


/**************************************************************************/
/*			³׵ν
	
		³׵ν
		׵᤹ǡʤϥƥͥåȤ˵Ǥ

	
		char * data					O 	ǡǼΰ
		int * leng					O	ǡĹ
		struct  timeval timeout		I	ॢȻ
*/

int rpg_eventloop( char * data , int * leng	 , struct  timeval timeout );



/**************************************************************************/

/*			RPGѤΥѥåȤɤؿ
	
                ѥåȥإåɡNRPGHEAD
                ѥåʬ
                          ĹãʤϣƣĤФơ
                        ǽ䤤碌
                        ǽǤʤȤϥ顼֤
                ѥåȹή
                          ѥåȥإå򻲹ͤ˰ĤΥѥåȤ
                        礭ȽǤơ꥿󤹤롢
                          ݡ󥰻ϥݡ󥰤餺ˡ
                        ѥåȽ¹Ԥʣإå꥿
                ѥåȴ
                        ѥåȤˤɣĤޤޤƤ롢Τᡣ
                        ΣɣĤϢ³ƤмϢ³Ƥȹͤ뤬
                        ä˽ϹԤʤڤͤˤϥѥåȴ֤
                        饤֥ǤνϤʤ
                        饤¦ȴ¿ѥå¿
                        ͥåȥ֤ȤͤΤǡ
                        ֤κɹ䡢˥󥰤Ρ³Υȥ饤ʤɤͤ
                        ɬפХ饤֥경롣
                ץȥ
                          ѥåȥإåΥɤʤȤ
                        ʥѥåȤȽǤʤΤ褦ʼ
                        ץȥξϤβμ˴롣
                        󥰵ڤӡͤˤΤ򤹤롣
                Хåեꥢ­
                          ˼Хåե礭ʤΤ줿Ȥ
                        顼֤ơХåեʬƳǼ
                        Ĥʬ˴롣
                          ѥåȤϢ³ƤȻפ֤ϡν
                        ԤХåեϤ߽Фʬ˴롣
                        ʣإå꥿
                        󥰵ڤͤˤΤԤ

	
		int FD	,					ƣ
		int requestlen ,			׵Ĺ
		int *read_len ,				ɤĹ
		char * buf ,				ɤ߹ߥХåեؤΥݥ
		int bufsizei ,				ɤ߹ߥХåեΥ
		int timeout					ॢȻ֡ʣ

	֤͡
*/
int read_packet (int FD	 , int requestlen , int *read_len , char * buf , int bufsizei , int timeout);




/**************************************************************************/
/*	
		٥ȥݡ

	
		char * command		O
		char * data			O
		int buf_length		I
		int *length			O
		int  timeout		I
		int *fd				O

	͡

*/
int RPG_Poll( char * command , char * data , int buf_length , int *length , int	 timeout  , int *fd);



/**********************************************************


ϥ¦֤ƤϥФˤĤʤǴ򤹤
ΥФ餫ͳǻ̾硢ơ٥
ƥλ٤Ǥ롣

饤¦˱Ƥϥե
˥ǥХå롣

ФˤȤäƽʥ顼ˤĤƤϥФؤ
ͤƤǤ礦

int loginit( char * pname );
int rpg_dbglvl(int dbglvl);
int rpglog(int DBlev , char * errbuf , ...);
int rpg_gamelog();

ФΤߤȤΤ
int rpg_gamelog( int dbglvl ,char * msg );
줿ǥХå٥ȥ٤ƤȤƤ錄
int rpg_dbglvl(int dbglvl);
ˤäƥ󥰥٥򥻥åȤ롣



饤ȤϤޤ

int loginit( char * pname );

ˤơФ³򤹤
饤Ȥξ³˼ԤΤǥե˽񤭹褦ˤʤ
СФ³ԤȤϥե˽
Τȡ

int rpglog(int DBlev , char * errbuf , ...);

ˤƥϤ
⤷եˤȤ䡢ɸϤ˽Ф

int rpg_dbglvl(int dbglvl);

ȤοˤɸϤˤɽ
Ф³Ԥƥե˽񤭽ФȤ
ǥХå٥ʲΤΤ񤭹ޤ롢
ΤǥХå٥夲Ⱦܺ٤ˤʤꡢȽפʤΤ
񤫤ʤʤ롣
       #define RPGEMERGLEVEL    10   system is unusable
       #define RPGALERTLEVEL    20   action must be taken immediately
       #define RPGCRITLEVEL     30   critical conditions
       #define RPGERRLEVEL      40   error conditions
       #define RPGWARNINGLEVEL  50   warning conditions
       #define RPGNOTICELEVEL   60   normal but significant condition /
       #define RPGINFOLEVEL     70   informational                  /
       #define RPGDEBUGLEVEL    20   debug-level messages               /
ΥǥեȤռФ褦ˤ
饤֥ϤΥ٥˱äƥ󥰤褦˥ǥ󥰤롣

ܺ٤˽Ф褦ʥ٥ˤȤϡνϤȼ
پ徺θ٤Ǥ롣

ƥ٥˱ƵưѤ٤

**********************************************************/


/**************************************************************************/
/*			ν
	
		νϤԤ
		٥ˤϤϰϤĴ뤳Ȥ

	
		int level		I	٥
		char * buf	I	Ĺ

	͡


*/
int rpglog(int level , char * buf , ... );

	   #define RPGEMERGLEVEL	10	/* system is unusable				*/
	   #define RPGALERTLEVEL	20	/* action must be taken immediately */
	   #define RPGCRITLEVEL		30	/* critical conditions				*/
	   #define RPGERRLEVEL		40	/* error conditions					*/
	   #define RPGWARNINGLEVEL	50	/* warning conditions				*/
	   #define RPGNOTICELEVEL	60	/* normal but significant condition */
	   #define RPGINFOLEVEL		70	/* informational					*/
	   #define RPGDEBUGLEVEL	80	/* debug-level messages				*/


/**************************************************************************/
/*	
			
	
		
		Ф³ߤ
		ԤХ˽Ϥ

	
		char * pname 	I	ץ̾

	͡

*/
int loginit( char * pname );


/**************************************************************************/
/*	
			ǥХå٥
	
		ǥХå٥
		ǥХå٥ˤäƽϤƤ
		Ĵ

	
		int dbglvl		I	ǥХå٥

	͡

*/
int rpg_dbglvl(int dbglvl);


/**************************************************************************/
/*	
			Υեؤν
										ʥѡ
	
		ν
		Υե˥Ϥ
		ФäȤ˸ƤӽФ
		¸Τ˻Ȥ

	
		int dbglvl			I	ǥХå٥
		char * tmpbuf		I	å

	͡


*/
int rpg_gamelog(int dbglvl ,char * tmpbuf );


/**********************************************************/
/**********************************************************
ͭ

ͭѤϺ¦ץ¦ץʬޤ
¦ϰʲΥץȤ
	char *  RPG_shmctl_init(shment * shmentry , int entrynom  , int *ctlshmid );
	char *  RPG_shmctl_addentry(int shmNO  , int size );
	void PRG_shmctl_destroy();


¦ϰʲΥץȤ
	RPG_shmunit * RPG_shm_init(int ctlshmid);
	RPG_shmunit * RPG_shm_all_attach(int ctlshmid );
	char * RPG_shm_attach(int shmNO);
	void  RPG_shm_all_detach();


ͭ깽¤*/
	typedef struct {
		int shm_id;         /*ͭɣġʣ*/
		int size;           /*ͭ礭*/
		char * adder;       /*ͭꥳȥ¦ݥ*/

	}RPG_shmunit;

/*
ι¤Τˤ뤳ι¤ΤΥ쥳ֹ椬
ΤޤޣңУǶֹͭȤʤ롢¦⤳ֹѤ
å򤹤롣*/

/*RPG_shmunit * RPG_shm = NULL;*/

/*γѿ饤֥ͭƤ롣
ι¤ΤΥ쥳ɿ*/

#define LIBNETSHMIDMAX          20          /*ͭ票ȥ꡼*/

/*ȤơͤңУǶֹͭκͤȤʤ
Τ᥷ƥˤꡢ¿ζͭꥨȥȤˤ
ͤѹɬפ롣

ͭϿѹ¤
	typedef struct{
		int shmNO;          ңУǶֹͭ椳ֹϿ
		int size;           ͭ礭
	}shment;

 ϿΣңУǶֹͭ礭롣

	ͭɣĤϣգΣɣؤΣǻȤɣ
	ңУǶֹͭϡǻȤ
	̤ͭȼֹǤ
*/


/**************************************************************************/
/*	

			ͭؿ
	
		ͭϿѹ¤
		typedef struct{
				int     shmNO;                  ңУǶֹͭ椳ֹϿ
				int     size;                   ͭ礭
		}shment;
		˥ȥ꡼񤭹ߡͭ롣
		ȥϥȥ꡼ˤ붦ͭ
		ݤƥȥΰ¸Ƥ椯
		ȥΰζͭˤ٤ƾäƤꡢ
		ݤ줿ξ褦ˤ
		Ϥϥȥΰζͭɣġʤ񤯥ץ
		Τ
		ȡȥΰΥݥ󥿤֤


	
		shment * shmentry		I	ͤä¤
		int entrynom			I	줿ȥ꡼
		int *ctlshmid			O	ȥΰζͭɣ

	͡
		char *  	ȥΰΥݥ

*/
char *  RPG_shmctl_init(shment * shmentry , int entrynom  , int *ctlshmid );


/**************************************************************************/
/*			ͭɲôؿ

	
		ͭɲôؿ
		ϿƤ붦ͭ򥨥ȥ꡼ɲä

		ϿRPG_shmctl_initǹԤ夫ɲä
		Ȥ

	
		int shmNO		I	ңУǶֹͭ
		int size		I	礭

	͡
		ͭؤΥݥ

*/
char *  RPG_shmctl_addentry(int shmNO  , int size );


/**************************************************************************/
/*			ͭ˴ؿ
	
		ͭꥳȥΰΤͭ򤹤٤˴롣
		åƤ˴ʤ⤷ʤ
		ȥΰ褫ϥȥ꡼롣

	
		ʤ

	͡
		ʤ

*/
void PRG_shmctl_destroy(void);


/**************************************************************************/
/*	
				饤Ѷͭؿ
	
			饤Ѥ˶ͭ
			RPG_shm_attach(int shmNO)
			Ȥ߹碌ƻȤǽ
			RPG_shm_init(int ctlshmid)ƤӽФ
			Ƥ顢ңУǶֹͭꤷ
			

	
			int ctlshmid		I		ͭꥳȥΰζͭɣ

	͡
			RPG_shmunit * ͭꥳȥؤΥݥ󥿤֤

*/

RPG_shmunit * RPG_shm_init(int ctlshmid);


/**************************************************************************/
/*	
		饤Ѷͭåؿ
	
			ͭΥåԤ
			٤ƤζͭФƥå

	
			int ctlshmid		I		ͭꥳȥΰζͭɣ

	͡
			RPG_shmunit * ͭꥳȥؤΥݥ󥿤֤

*/
RPG_shmunit * RPG_shm_all_attach(int ctlshmid );
/**************************************************************************/


/**************************************************************************/
/*	
		饤Ѷͭꥢåؿ
	
			饤Ѥ˶ͭ򥢥å
			RPG_shm_init(int ctlshmid)
			Ȥ߹碌ƻȤǽ
			RPG_shm_init(int ctlshmid)ƤӽФ
			Ƥ顢ңУǶֹͭꤷ
			

	
			int shmNO		I	ңУǶֹͭ

	͡
			åͭؤΥݥ

*/
char * RPG_shm_attach(int shmNO);
/**************************************************************************/


/**************************************************************************/
/*	
				ͭǥåؿ

	
		ͭΤǥå򤹤
		ͭǥåؿ
		åͭΰ򤹤٤Ƥǥå
		ʬΥץΤͭ¾Υץ˱ƶ
		Ϳʤ

	
		ʤ

	͡
		ʤ

*/
void  RPG_shm_detach(void);
/**************************************************************************/

/**************************************************************************/
/*	
				饤Ѷͭǥåؿ
	
		ͭǥåؿ
		åͭΰ򤹤٤Ƥǥå
		ʬΥץΤͭ¾Υץ˱ƶ
		Ϳʤ

	
		ʤ

	͡
		ʤ

*/
void  RPG_shm_all_detach(void);



/**********************************************************
ơط

		ơδƻ򤷤ơˤäƥ᡼䲻ˤä
		顼伫ưΤ򤹤뤿λųݤ

		Ǥνϸ§ȤƣģϣӹФнȤ

		ư
		ƥνλ
			
#define RPGSECLOGSAFE1      0x000001    ե򤤤ĤХååפ/
#define RPGSECLOGSAFE2      0x000002    ե뤬񤭽ФʤȤϥƥȤ/
#define RPGSECLOGSAFE3      0x000004    äѤˤʤä᡼뤷ä/
#define RPGSEC

#define RPGSECLOGING1       0x000010    ơ٥Υͭˤ/
#define RPGSECLOGING2       0x000020    ơ٥Υʳӽ/
#define RPGSEC
#define RPGSEC  
	
#define RPGSEC              0x000100    / 
#define RPGSEC
#define RPGSEC 
#define RPGSEC

#define RPGSECNOMCONECT     0x001000    ͥ¤롣/

#define RPGSECWORNINNGDOWN  0x800000    ˥󥰥٥ǥƥȤ/


	ޤεǽϼƤޤ


**********************************************************/


/**************************************************************************/
/*	
	
		ƥ٥ؿ

	

	͡

*/
int rpg_seclevel( int level1);
/**************************************************************************/


/**************************************************************************/
/*	
	
		ƥ

	

	͡

*/
int rpg_secdisksp(int alarm_size);


/**************************************************************************/
/*	
	
		ƥ:Ԥإ᡼뤹

	

	͡


*/
int rpg_secmailtoadmin(void);


/**************************************************************************/
/*	
	
		ƥ:beepν

	

	͡


		
*/
int rpg_secbeepmachine(void);


/**************************************************************************/
/*	
		ƥ:˥󥰽

	

	͡

*/
int rpg_secallwerninng(void);


/**************************************************************************/
/*	
		ƥСνλ

	

	͡

*/
int rpg_secall_shutdown(void);


/**************************************************************************/
/*	
		ХǡΥեå

	

	͡

*/
int rpg_savedata(void);


/**************************************************************************/
/*	
		ǡΥϥåͤη׻

	

	͡

*/
int rpg_gethash ( unsigned short * data , int len);


/**************************************************************************/
/*			顼ʸμ

	
		ͥåȥطΥ顼å֤

		̾ϥ顼åΥȥΤߤ񤫤Ƥ
		Ǥ⡢ɤդƤ롣
		

	
		int l_errno			I	Υ顼å
		char * message		O	å

	͡
		char *	顼åΥȥ֤

*/
char *rpg_net_perror(int l_errno ,char * message);
/**************************************************************************/

#endif	/*LIBNET_H*/








