chuyiwen_gmsv/mylua/netbase.c
chuyiwen bea5ac05b3 sq_gmsv_chuyiwen
sa_sever
2016-12-24 09:45:52 +09:00

88 lines
1.5 KiB
C

#include <string.h>
#include "lua.h"
#include "version.h"
#include "lauxlib.h"
#include "lualib.h"
#include "net.h"
#include "log.h"
#ifdef _ALLBLUES_LUA
static int endOne(lua_State *L)
{
const int sockfd = luaL_checkint(L, 1);
CONNECT_endOne_debug(sockfd);
return 1;
}
static int userip(lua_State *L)
{
int charaindex = luaL_checkint(L, 1);
int sockfd = getfdFromCharaIndex(charaindex);
unsigned long ip;
int a,b,c,d;
char strIP[32];
ip = CONNECT_get_userip(sockfd);
a=(ip % 0x100); ip=ip / 0x100;
b=(ip % 0x100); ip=ip / 0x100;
c=(ip % 0x100); ip=ip / 0x100;
d=(ip % 0x100);
sprintf(strIP, "%d.%d.%d.%d", a, b, c, d);
lua_pushstring(L, strIP);
return 1;
}
#ifdef _ALLBLUES_LUA_2_0
static int getIP(lua_State *L)
{
int sockfd = luaL_checkint(L, 1);
unsigned long ip;
int a,b,c,d;
char strIP[32];
ip = CONNECT_get_userip(sockfd);
a=(ip % 0x100); ip=ip / 0x100;
b=(ip % 0x100); ip=ip / 0x100;
c=(ip % 0x100); ip=ip / 0x100;
d=(ip % 0x100);
sprintf(strIP, "%d.%d.%d.%d", a, b, c, d);
lua_pushstring(L, strIP);
return 1;
}
static int getUse(lua_State *L)
{
int fd = luaL_checkint(L, 1);
lua_pushboolean(L,CONNECT_getUse(fd ));
return 1;
}
#endif
static const luaL_Reg netlib[] = {
{"endOne", endOne},
{"userip", userip},
#ifdef _ALLBLUES_LUA_2_0
{"getIP", getIP},
{"getUse", getUse},
#endif
{NULL, NULL}
};
LUALIB_API int luaopen_Net (lua_State *L) {
luaL_register(L, "net", netlib);
return 1;
}
#endif