summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gatchat/gatppp.c2
-rw-r--r--gatchat/ppp_cp.c40
-rw-r--r--gatchat/ppp_cp.h25
-rw-r--r--gatchat/ppp_ipcp.c2
-rw-r--r--gatchat/ppp_lcp.c6
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)