static GAtPPP *ppp_init_common(GAtHDLC *hdlc, gboolean is_server, guint32 ip) { GAtPPP *ppp; ppp = g_try_malloc0(sizeof(GAtPPP)); if (ppp == NULL) return NULL; ppp->hdlc = g_at_hdlc_ref(hdlc); ppp->ref_count = 1; /* set options to defaults */ ppp->mru = DEFAULT_MRU; ppp->mtu = DEFAULT_MTU; /* initialize the lcp state */ ppp->lcp = lcp_new(ppp, is_server); /* initialize IPCP state */ ppp->ipcp = ipcp_new(ppp, is_server, ip); g_at_hdlc_set_receive(ppp->hdlc, ppp_receive, ppp); g_at_io_set_disconnect_function(g_at_hdlc_get_io(ppp->hdlc), io_disconnect, ppp); if (is_server) ppp_enter_phase(ppp, PPP_PHASE_ESTABLISHMENT); return ppp; }
static int lc_new_panel(lua_State *L) { WINDOW *w = lcw_check(L, 1); lcp_new(L, new_panel(w)); /* save window userdata for future use if needed */ lua_pushlightuserdata(L, w); lua_pushvalue(L, 1); lua_rawset(L, UPINDEX); /* save panel userdata for future use if needed */ lua_pushlightuserdata(L, *(PANEL**)lua_touserdata(L, 2)); lua_pushvalue(L, -2); lua_rawset(L, UPINDEX); return 1; }