/* 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; }
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; }