diff options
-rw-r--r-- | gatchat/gatppp.c | 2 | ||||
-rw-r--r-- | gatchat/ppp_cp.c | 40 | ||||
-rw-r--r-- | gatchat/ppp_cp.h | 25 | ||||
-rw-r--r-- | gatchat/ppp_ipcp.c | 2 | ||||
-rw-r--r-- | gatchat/ppp_lcp.c | 6 |
5 files changed, 47 insertions, 28 deletions
diff --git a/gatchat/gatppp.c b/gatchat/gatppp.c index 8dd41f89..c1abbec3 100644 --- a/gatchat/gatppp.c +++ b/gatchat/gatppp.c @@ -454,7 +454,7 @@ static void ppp_transition_phase(GAtPPP *ppp, enum ppp_phase phase) case PPP_NETWORK: /* bring network phase up */ ppp_net_open(ppp->net); - pppcp_generate_event(ppp->ipcp, OPEN, NULL, 0); + pppcp_signal_open(ppp->ipcp); break; } } diff --git a/gatchat/ppp_cp.c b/gatchat/ppp_cp.c index 38b0bfee..115fb65e 100644 --- a/gatchat/ppp_cp.c +++ b/gatchat/ppp_cp.c @@ -135,6 +135,29 @@ static int cp_transitions[16][10] = { { INV, INV, 2, 3, 4, 5, 6, 7, 8, SER|9 }, }; +enum pppcp_event_type { + UP = 0, + DOWN = 1, + OPEN = 2, + CLOSE = 3, + TO_PLUS = 4, + TO_MINUS = 5, + RCR_PLUS = 6, + RCR_MINUS = 7, + RCA = 8, + RCN = 9, + RTR = 10, + RTA = 11, + RUC = 12, + RXJ_PLUS = 13, + RXJ_MINUS = 14, + RXR = 15, +}; + +static void pppcp_generate_event(struct pppcp_data *data, + enum pppcp_event_type event_type, + guint8 *packet, guint len); + static void pppcp_packet_free(struct pppcp_packet *packet) { g_free(pppcp_to_ppp_packet(packet)); @@ -638,7 +661,7 @@ static void pppcp_transition_state(enum pppcp_state new_state, /* * send the event handler a new event to process */ -void pppcp_generate_event(struct pppcp_data *data, +static void pppcp_generate_event(struct pppcp_data *data, enum pppcp_event_type event_type, guint8 *packet, guint len) { @@ -715,6 +738,21 @@ error: pppcp_illegal_event(data->state, event_type); } +void pppcp_signal_open(struct pppcp_data *data) +{ + pppcp_generate_event(data, OPEN, NULL, 0); +} + +void pppcp_signal_close(struct pppcp_data *data) +{ + pppcp_generate_event(data, CLOSE, NULL, 0); +} + +void pppcp_signal_up(struct pppcp_data *data) +{ + pppcp_generate_event(data, UP, NULL, 0); +} + static gint is_option(gconstpointer a, gconstpointer b) { const struct ppp_option *o = a; diff --git a/gatchat/ppp_cp.h b/gatchat/ppp_cp.h index 78b41c5c..8d2975c1 100644 --- a/gatchat/ppp_cp.h +++ b/gatchat/ppp_cp.h @@ -35,25 +35,6 @@ enum pppcp_code { DISCARD_REQUEST }; -enum pppcp_event_type { - UP = 0, - DOWN = 1, - OPEN = 2, - CLOSE = 3, - TO_PLUS = 4, - TO_MINUS = 5, - RCR_PLUS = 6, - RCR_MINUS = 7, - RCA = 8, - RCN = 9, - RTR = 10, - RTA = 11, - RUC = 12, - RXJ_PLUS = 13, - RXJ_MINUS = 14, - RXR = 15, -}; - /* option format */ struct ppp_option { guint8 type; @@ -125,9 +106,9 @@ void pppcp_free(struct pppcp_data *data); void pppcp_add_config_option(struct pppcp_data *data, struct ppp_option *option); void pppcp_set_valid_codes(struct pppcp_data *data, guint16 codes); -void pppcp_generate_event(struct pppcp_data *data, - enum pppcp_event_type event_type, - guint8 *packet, guint len); void pppcp_process_packet(gpointer priv, guint8 *new_packet); void pppcp_send_protocol_reject(struct pppcp_data *data, guint8 *rejected_packet, gsize len); +void pppcp_signal_open(struct pppcp_data *data); +void pppcp_signal_close(struct pppcp_data *data); +void pppcp_signal_up(struct pppcp_data *data); diff --git a/gatchat/ppp_ipcp.c b/gatchat/ppp_ipcp.c index 6b1566fe..ca4d0750 100644 --- a/gatchat/ppp_ipcp.c +++ b/gatchat/ppp_ipcp.c @@ -101,7 +101,7 @@ static void ipcp_down(struct pppcp_data *data) */ static void ipcp_started(struct pppcp_data *data) { - pppcp_generate_event(data, UP, NULL, 0); + pppcp_signal_up(data); } static void ipcp_finished(struct pppcp_data *data) diff --git a/gatchat/ppp_lcp.c b/gatchat/ppp_lcp.c index cdfd909b..8ea6e56a 100644 --- a/gatchat/ppp_lcp.c +++ b/gatchat/ppp_lcp.c @@ -185,7 +185,7 @@ void lcp_open(struct pppcp_data *data) return; /* send an open event to the lcp layer */ - pppcp_generate_event(data, OPEN, NULL, 0); + pppcp_signal_open(data); } void lcp_establish(struct pppcp_data *data) @@ -194,7 +194,7 @@ void lcp_establish(struct pppcp_data *data) return; /* send an UP event to the lcp layer */ - pppcp_generate_event(data, UP, NULL, 0); + pppcp_signal_up(data); } void lcp_terminate(struct pppcp_data *data) @@ -203,7 +203,7 @@ void lcp_terminate(struct pppcp_data *data) return; /* send a CLOSE event to the lcp layer */ - pppcp_generate_event(data, CLOSE, NULL, 0); + pppcp_signal_close(data); } void lcp_free(struct pppcp_data *lcp) |