⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 net.h

📁 石器时代2.0完整版源代码.已经加入新功能. 在REDHAT9下GCC3.4编译成功.
💻 H
字号:
#ifndef __NET_H__#define __NET_H__#include "common.h"#include <sys/time.h>#include <netinet/in.h>// Nuke +1 0902: For queuing control#include <signal.h>#include <pthread.h>#undef EXTERN#ifdef __NET_C__#define EXTERN #else#define EXTERN extern#endif/* * 夫弘奶件仄化中卅中} 夫弘奶件仄化中月} 夫弘奶件   平乓仿综曰   * 夫弘失它玄  ( 本□皮   ) , 夫弘失它玄  ( 失件夫永弁   ) *  N 反 NOT } W 反 WHILE , UL 反 UNLOCK 及仪 */typedef enum{    NOTLOGIN,           /*  夫弘奶件仄化中卅中  */    LOGIN,              /*  夫弘奶件            */    WHILELOGIN,         /*  夫弘奶件仄化中月    */    WHILECREATE,        /*  综匀化中月          */    WHILELOGOUTSAVE,    /*  夫弘失它玄及本□皮      */    WHILECANNOTLOGIN,   /*  夫弘奶件匹五卅井匀凶凛及失件夫永弁质        */    WHILECHARDELETE,    /*  平乓仿绰轮      */    WHILEDOWNLOADCHARLIST,  /*  平乓仿伉旦玄母它件夫□玉    */    WHILECHANGEPASSWD,  /*  由旦伐□玉  凳      */    WHILELOSTCHARSAVE,  /*  夫旦玄匹平乓仿本□皮仄      */    WHILELOSTCHARDELETE,/*  夫旦玄匹平乓仿壅仄      */    WHILECLOSEALLSOCKETSSAVE, /* closeallsockets 匹平乓仿本□皮仄  */    WHILESAVEWAIT,              /* 夫弘失它玄及本□皮卞垫仁蟆及赐  谨切  */}LoginType;/*     仄化中卅中}失市它件玄扔□田}弁仿奶失件玄}失玉丞 */typedef enum{    NOTDETECTED,AC,CLI,ADM}ConnectType;/*  扔□田互忡绣仄化云仁赢今    */#define CDKEYLEN    16#define PASSWDLEN   16/* 仇木及  凳反尕第(允月卅日 Char 及STRING64 手赝濠卅袄卞濠曰晶月仇午*/#define CHARNAMELEN     32#define CLITIMEOUT_SEC  120     /* 弁仿奶失件玄井日read仄卅井匀凶日}                                   仇及凛棉匹正奶丞失它玄}夫弘失它玄[ */#define		NET_STRING_SUCCESSFULL	"successful"#define		NET_STRING_FAILED		"failed"// 孔勾丹及    及伉□玉]仿奶玄田永白央扔奶术#define RBSIZE (1024*64*10)#define WBSIZE (1024*64*10)// 失市它件玄扔□田□迕//#define	AC_RBSIZE (65536*48)//#define	AC_RBSIZE (65536*32)#define	AC_RBSIZE (1024*64*10)//ttom modify because the second version had this//#define	AC_WBSIZE (65536*16)extern int AC_WBSIZE;EXTERN int      bindedfd;     /*夫□市伙失玉伊旦卞田奶件玉仄凶末弗永玄*/EXTERN int      acfd;         /*失市它件玄扔□田卞戊生弁玄扑正末弗永玄*/EXTERN int      ConnectLen;   /*票及袄及赢今*/#define CONNECT_WINDOWBUFSIZE 7/* 湘  凶切 */BOOL initConnect( int size );void endConnect( void );#define		CONNECT_endOne( sockfd, lin) \	_CONNECT_endOne( __FILE__, __LINE__, sockfd, lin)BOOL _CONNECT_endOne( char *file, int fromline, int sockfd , int lin);BOOL netloop( void );BOOL netloop_faster( void );int lsrpcClientWriteFunc( int fd , char* buf , int size );char* GetOneLine( int fd );BOOL initConnectOne( int sockfd, struct sockaddr_in* sin ,int len );    /* CA , CD */void CAcheck( void );void CAflush( int charaindex );void CAsend( int fd );void CDcheck( void );void CDflush( int charaindex );void CDsend( int fd );BOOL CONNECT_appendCAbuf( int fd , char* data, int size );BOOL CONNECT_appendCDbuf( int fd , char* data, int size );/* Serverstate */void SERVSTATE_decrementCloseallsocketnum(void);int SERVSTATE_getCloseallsocketnum( void );int SERVSTATE_SetAcceptMore( int nvalue );int SERVSTATE_getShutdown(void);void SERVSTATE_setShutdown(int a);int SERVSTATE_getLimittime(void);int SERVSTATE_getDsptime(void);void SERVSTATE_setDsptime(int a);void SERVSTATE_setLimittime(int a);/* 公及幻井 */void outputNetProcLog( int fd, int mode);void chardatasavecheck( void );void closeAllConnectionandSaveData( void );BOOL SetShutdown( BOOL nvalue );int GetShutdown( void );/* 伙□皿仄化腹绸楮醒 */int getfdFromCdkey( char* cd );int getfdFromCharaIndex( int charaindex );int getcdkeyFromCharaIndex( int charaindex , char *out, int outlen );int getCharindexFromFdid( int fdid );int getFdidFromCharaIndex( int charind );int getfdFromFdid( int fdid );int getfdFromCdkeyWithLogin( char* cd );/* 仄日屯 */        INLINE int CONNECT_checkfd( int fd );BOOL CONNECT_isCLI( int fd );BOOL CONNECT_isAC( int fd );BOOL CONNECT_isUnderLogin( int fd );BOOL CONNECT_isWhileLogout( int fd );BOOL CONNECT_isWhileLogin( int fd );BOOL CONNECT_isNOTLOGIN( int fd );BOOL CONNECT_isLOGIN( int fd );int CONNECT_getUse( int fd );int CONNECT_getUse_debug( int fd, int i );void CONNECT_setCharaindex( int fd, int a );int CONNECT_getCharaindex( int fd );void CONNECT_getCdkey( int fd , char *out, int outlen );void CONNECT_setCdkey( int fd , char *in);void CONNECT_getPasswd( int fd , char *out, int outlen );void CONNECT_setPasswd( int fd, char *in );void CONNECT_getCharname( int fd , char *out, int outlen );void CONNECT_setCharname( int fd, char *in );int CONNECT_getFdid( int fd );int CONNECT_getCtype( int fd );void CONNECT_setCtype( int fd , int a );void CONNECT_setDuelcharaindex( int fd, int i , int a );int CONNECT_getDuelcharaindex( int fd, int i );void CONNECT_setBattlecharaindex( int fd, int i , int a );int CONNECT_getBattlecharaindex( int fd, int i );void CONNECT_setJoinpartycharaindex( int fd, int i , int a);int CONNECT_getJoinpartycharaindex( int fd, int i );void CONNECT_setTradecardcharaindex( int fd, int i , int a );int CONNECT_getTradecardcharaindex( int fd, int i );/* MT犯田永弘迕穴弁夫 */#define CONNECT_endOne_debug(a) CONNECT_endOne( (a) , __LINE__ )/* 犯□正丑综楮醒(引月切允木匀升覆杀迕) */void CONNECT_setCDKEY( int sockfd, char *cd );void CONNECT_getCDKEY( int sockfd , char *out, int outlen );void CONNECT_setState( int fd, int s );int CONNECT_getState( int fd );void CONNECT_checkStatecount( int a );int CONNECT_checkStateSomeOne( int a, int maxcount);BOOL CONNECT_acfdInitRB( int fd );BOOL CONNECT_acfdInitWB( int fd );// Nuke +3int checkWalkTime(int fd);int setBtime(int fd);#ifdef _BATTLE_TIMESPEED//void setDefBTime( int fd, unsigned int times);//unsigned int getDefBTime( int fd);BOOL CheckDefBTime( int charaindex, int fd, unsigned int lowTime, unsigned int battletime, unsigned int addTime);#endif#ifdef _TYPE_TOXICATIONvoid setToxication( int fd, int flg);int getToxication( int fd);#endifint checkBEOTime(int fd);void sigusr1(int i);void sigusr2(int i);	// Arminius 6.26 signal//ttom startvoid CONNECT_set_watchmode(int fd, BOOL B_Watch);BOOL CONNECT_get_watchmode(int fd);void CONNECT_set_shutup(int fd,BOOL b_shut);//the avoid the user wash the screenBOOL CONNECT_get_shutup(int fd);unsigned long CONNECT_get_userip(int fd);void CONNECT_set_pass(int fd,BOOL b_ps);BOOL CONNECT_get_pass(int fd);void CONNECT_set_state_trans(int fd,int a);int CONNECT_get_state_trans(int fd);//ttom end// CoolFish: +9 2001/4/18void CONNECT_setCloseRequest( int fd, int count);void CONNECT_set_first_warp(int fd, BOOL b_ps);BOOL CONNECT_get_first_warp(int fd);int isDie(int fd);void setDie(int fd);// Arminius 6/22 encounterint CONNECT_get_CEP(int fd);void CONNECT_set_CEP(int fd, int cep);// Arminius 7.12 login announceint CONNECT_get_announced(int fd);void CONNECT_set_announced(int fd, int a);// shan trade(DoubleCheck) beginint  CONNECT_get_confirm(int fd);void CONNECT_set_confirm(int fd, BOOL b);// endvoid CONNECT_setTradecharaindex( int fd, int i , int a);void CONNECT_setLastrecvtime( int fd, struct timeval *a );void CONNECT_getLastrecvtime( int fd, struct timeval *a );void CONNECT_setLastrecvtime_D( int fd, struct timeval *a );void CONNECT_getLastrecvtime_D( int fd, struct timeval *a );void CONNECT_SetBattleRecvTime( int fd, struct timeval *a );void CONNECT_GetBattleRecvTime( int fd, struct timeval *a );void CONNECT_setTradeTmp(int fd, char* a);void CONNECT_getTradeTmp(int fd, char *trademsg, int trademsglen);int checkNu(int fd);// Arminius 7.2 Ra's amuletvoid setNoenemy(int fd);void clearNoenemy(int fd);int getNoenemy(int fd);void setEqNoenemy(int fd, int level);void clearEqNoenemy(int fd);int getEqNoenemy(int fd);#ifdef _Item_MoonActvoid setEqRandenemy(int fd, int level);void clearEqRandenemy(int fd);int getEqRandenemy(int fd);#endif#ifdef _CHIKULA_STONEvoid setChiStone(int fd, int nums);int getChiStone(int fd);#endif// Arminius 7.31 cursed stonevoid setStayEncount(int fd);void clearStayEncount(int fd);int getStayEncount(int fd);void CONNECT_setBDTime( int fd, int nums);int CONNECT_getBDTime( int fd);// Arminius debugvoid CONNECT_setUse( int fd , int a);#define QUEUE_LENGTH1 6#define QUEUE_LENGTH2 7BOOL MSBUF_CHECKbuflen( int size, float defp);void SetTcpBuf( int sockfd);#endif 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -