コード例 #1
0
ファイル: pipe.c プロジェクト: roy204/APE_Server
/* Init a pipe (user, channel, proxy) */
transpipe *init_pipe(void *pipe, int type, acetables *g_ape)
{
	transpipe *npipe = NULL;
	
	npipe = xmalloc(sizeof(*npipe));
	npipe->pipe = pipe;
	npipe->type = type;
	npipe->link = NULL;
	
	gen_sessid_new(npipe->pubid, g_ape);
	hashtbl_append(g_ape->hPubid, npipe->pubid, (void *)npipe);
	return npipe;
}
コード例 #2
0
USERS *init_user(acetables *g_ape)
{
	USERS *nuser;
	
	nuser = xmalloc(sizeof(*nuser));

	nuser->idle = time(NULL);
	nuser->next = g_ape->uHead;
	nuser->prev = NULL;
	nuser->nraw = 0;

	nuser->flags = FLG_NOFLAG;
	nuser->chan_foot = NULL;

	nuser->sessions.data = NULL;
	nuser->sessions.length = 0;
	
	nuser->properties = NULL;
	nuser->subuser = NULL;
	nuser->nsub = 0;
	nuser->type = HUMAN;
	
	nuser->links.ulink = NULL;
	nuser->links.nlink = 0;
	nuser->transport = TRANSPORT_LONGPOLLING;
	
	nuser->cmdqueue = NULL;
	
	nuser->lastping[0] = '\0';
	
	if (nuser->next != NULL) {
		nuser->next->prev = nuser;
	}
	g_ape->uHead = nuser;
	gen_sessid_new(nuser->sessid, g_ape);
	
	return nuser;
}