diff options
author | Denis Kenzior <denkenz@gmail.com> | 2010-04-07 14:49:10 -0500 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2010-04-07 16:41:40 -0500 |
commit | 340013c6ef2764dda911e1335fa26a9456bdf0de (patch) | |
tree | 32bde837c3b0a849b288c11180868de724dcdc24 | |
parent | 1149210e160f7b8b43ea93dd4874477ad284bde4 (diff) | |
download | ofono-340013c6ef2764dda911e1335fa26a9456bdf0de.tar.bz2 |
ppp: Hide away the magic_number in ppp_lcp.c
-rw-r--r-- | gatchat/ppp_cp.c | 11 | ||||
-rw-r--r-- | gatchat/ppp_cp.h | 3 | ||||
-rw-r--r-- | gatchat/ppp_lcp.c | 27 |
3 files changed, 19 insertions, 22 deletions
diff --git a/gatchat/ppp_cp.c b/gatchat/ppp_cp.c index d062e5a1..848820db 100644 --- a/gatchat/ppp_cp.c +++ b/gatchat/ppp_cp.c @@ -160,7 +160,6 @@ struct pppcp_data { struct pppcp_timer_data terminate_timer_data; guint max_failure; guint failure_counter; - guint32 magic_number; GList *config_options; GList *acceptable_options; GList *unacceptable_options; @@ -1321,16 +1320,6 @@ void pppcp_set_prefix(struct pppcp_data *pppcp, const char *prefix) pppcp->prefix = prefix; } -void pppcp_set_magic_number(struct pppcp_data *pppcp, guint32 magic) -{ - pppcp->magic_number = magic; -} - -guint32 pppcp_get_magic_number(struct pppcp_data *pppcp) -{ - return pppcp->magic_number; -} - struct pppcp_data *pppcp_new(GAtPPP *ppp, guint16 proto, const struct pppcp_action *action) { diff --git a/gatchat/ppp_cp.h b/gatchat/ppp_cp.h index cd91f500..de6cb053 100644 --- a/gatchat/ppp_cp.h +++ b/gatchat/ppp_cp.h @@ -86,9 +86,6 @@ GAtPPP *pppcp_get_ppp(struct pppcp_data *pppcp); void pppcp_set_option_strings(struct pppcp_data *pppcp, const char **opts); void pppcp_set_prefix(struct pppcp_data *pppcp, const char *prefix); -void pppcp_set_magic_number(struct pppcp_data *pppcp, guint32 magic); -guint32 pppcp_get_magic_number(struct pppcp_data *pppcp); - void pppcp_add_config_option(struct pppcp_data *data, struct ppp_option *option); void pppcp_set_valid_codes(struct pppcp_data *data, guint16 codes); diff --git a/gatchat/ppp_lcp.c b/gatchat/ppp_lcp.c index 3faf3ac7..eb5bd109 100644 --- a/gatchat/ppp_lcp.c +++ b/gatchat/ppp_lcp.c @@ -58,6 +58,10 @@ enum lcp_options { ACFC = 8, }; +struct lcp_data { + guint32 magic_number; +}; + /* * signal the Up event to the NCP */ @@ -132,6 +136,7 @@ static guint lcp_option_scan(struct pppcp_data *pppcp, static void lcp_option_process(struct pppcp_data *pppcp, struct ppp_option *option) { + struct lcp_data *lcp = pppcp_get_data(pppcp); GAtPPP *ppp = pppcp_get_ppp(pppcp); guint32 magic; @@ -145,8 +150,8 @@ static void lcp_option_process(struct pppcp_data *pppcp, case MAGIC_NUMBER: /* XXX handle loopback */ magic = get_host_long(option->data); - if (magic != pppcp_get_magic_number(pppcp)) - pppcp_set_magic_number(pppcp, magic); + if (lcp->magic_number != magic) + lcp->magic_number = magic; else g_print("looped back? I should do something\n"); break; @@ -215,12 +220,12 @@ void lcp_terminate(struct pppcp_data *data) pppcp_signal_close(data); } -void lcp_free(struct pppcp_data *lcp) +void lcp_free(struct pppcp_data *pppcp) { - if (lcp == NULL) - return; + struct ipcp_data *lcp = pppcp_get_data(pppcp); - pppcp_free(lcp); + g_free(lcp); + pppcp_free(pppcp); } void lcp_protocol_reject(struct pppcp_data *lcp, guint8 *packet, gsize len) @@ -232,10 +237,15 @@ struct pppcp_data *lcp_new(GAtPPP *ppp) { struct pppcp_data *pppcp; struct ppp_option *option; + struct lcp_data *lcp; + + lcp = g_try_new0(struct lcp_data, 1); + if (!lcp) + return NULL; pppcp = pppcp_new(ppp, LCP_PROTOCOL, &lcp_action); if (!pppcp) { - g_print("Failed to allocate PPPCP struct\n"); + g_free(lcp); return NULL; } @@ -243,11 +253,12 @@ struct pppcp_data *lcp_new(GAtPPP *ppp) pppcp_set_prefix(pppcp, "lcp"); pppcp_set_valid_codes(pppcp, LCP_SUPPORTED_CODES); + pppcp_set_data(pppcp, lcp); /* add the default config options */ option = g_try_malloc0(6); if (option == NULL) { - pppcp_free(pppcp); + lcp_free(pppcp); return NULL; } option->type = ACCM; |