mirror of git://git.sysmocom.de/ofono
ppp: Hide away the magic_number in ppp_lcp.c
This commit is contained in:
parent
1149210e16
commit
340013c6ef
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue