summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2010-04-05 11:12:43 -0700
committerMarcel Holtmann <marcel@holtmann.org>2010-04-05 11:12:43 -0700
commit331fcaea32627b58882e36752068cb25987a22fe (patch)
tree9e9f09ec1d173f5eff7d05e45c22d6a60a77a290
parent12ffb2c772fd35af4a18d3b8d1ef39a0c3895ec1 (diff)
downloadofono-331fcaea32627b58882e36752068cb25987a22fe.tar.bz2
Make pppcp_code enum a private structure
-rw-r--r--gatchat/ppp_cp.c49
-rw-r--r--gatchat/ppp_cp.h14
-rw-r--r--gatchat/ppp_ipcp.c10
-rw-r--r--gatchat/ppp_lcp.c15
4 files changed, 51 insertions, 37 deletions
diff --git a/gatchat/ppp_cp.c b/gatchat/ppp_cp.c
index 115fb65e..de6c7766 100644
--- a/gatchat/ppp_cp.c
+++ b/gatchat/ppp_cp.c
@@ -135,6 +135,40 @@ static int cp_transitions[16][10] = {
{ INV, INV, 2, 3, 4, 5, 6, 7, 8, SER|9 },
};
+enum pppcp_code {
+ CONFIGURE_REQUEST = 1,
+ CONFIGURE_ACK,
+ CONFIGURE_NAK,
+ CONFIGURE_REJECT,
+ TERMINATE_REQUEST,
+ TERMINATE_ACK,
+ CODE_REJECT,
+ PROTOCOL_REJECT,
+ ECHO_REQUEST,
+ ECHO_REPLY,
+ DISCARD_REQUEST
+};
+
+#define LCP_SUPPORTED_CODES ((1 << CONFIGURE_REQUEST) | \
+ (1 << CONFIGURE_ACK) | \
+ (1 << CONFIGURE_NAK) | \
+ (1 << CONFIGURE_REJECT) | \
+ (1 << TERMINATE_REQUEST) | \
+ (1 << TERMINATE_ACK) | \
+ (1 << CODE_REJECT) | \
+ (1 << PROTOCOL_REJECT) | \
+ (1 << ECHO_REQUEST) | \
+ (1 << ECHO_REPLY) | \
+ (1 << DISCARD_REQUEST))
+
+#define IPCP_SUPPORTED_CODES ((1 << CONFIGURE_REQUEST) | \
+ (1 << CONFIGURE_ACK) | \
+ (1 << CONFIGURE_NAK) | \
+ (1 << CONFIGURE_REJECT) | \
+ (1 << TERMINATE_REQUEST) | \
+ (1 << TERMINATE_ACK) | \
+ (1 << CODE_REJECT))
+
enum pppcp_event_type {
UP = 0,
DOWN = 1,
@@ -1256,6 +1290,7 @@ void pppcp_free(struct pppcp_data *data)
struct pppcp_data *pppcp_new(GAtPPP *ppp, guint16 proto)
{
struct pppcp_data *data;
+ guint16 codes;
data = g_try_malloc0(sizeof(struct pppcp_data));
if (!data)
@@ -1289,5 +1324,19 @@ struct pppcp_data *pppcp_new(GAtPPP *ppp, guint16 proto)
data->packet_ops[ECHO_REPLY - 1] = pppcp_process_echo_reply;
data->packet_ops[DISCARD_REQUEST - 1] = pppcp_process_discard_request;
+ switch (proto) {
+ case LCP_PROTOCOL:
+ codes = LCP_SUPPORTED_CODES;
+ break;
+ case IPCP_PROTO:
+ codes = IPCP_SUPPORTED_CODES;
+ break;
+ default:
+ codes = 0;
+ break;
+ }
+
+ pppcp_set_valid_codes(data, codes);
+
return data;
}
diff --git a/gatchat/ppp_cp.h b/gatchat/ppp_cp.h
index 8d2975c1..43068212 100644
--- a/gatchat/ppp_cp.h
+++ b/gatchat/ppp_cp.h
@@ -21,20 +21,6 @@
struct pppcp_data;
-enum pppcp_code {
- CONFIGURE_REQUEST = 1,
- CONFIGURE_ACK,
- CONFIGURE_NAK,
- CONFIGURE_REJECT,
- TERMINATE_REQUEST,
- TERMINATE_ACK,
- CODE_REJECT,
- PROTOCOL_REJECT,
- ECHO_REQUEST,
- ECHO_REPLY,
- DISCARD_REQUEST
-};
-
/* option format */
struct ppp_option {
guint8 type;
diff --git a/gatchat/ppp_ipcp.c b/gatchat/ppp_ipcp.c
index ca4d0750..c3e781c7 100644
--- a/gatchat/ppp_ipcp.c
+++ b/gatchat/ppp_ipcp.c
@@ -44,14 +44,6 @@ struct ipcp_data {
struct pppcp_data *pppcp;
};
-#define IPCP_SUPPORTED_CODES ((1 << CONFIGURE_REQUEST) | \
- (1 << CONFIGURE_ACK) | \
- (1 << CONFIGURE_NAK) | \
- (1 << CONFIGURE_REJECT) | \
- (1 << TERMINATE_REQUEST) | \
- (1 << TERMINATE_ACK) | \
- (1 << CODE_REJECT))
-
enum ipcp_option_types {
IP_ADDRESSES = 1,
IP_COMPRESSION_PROTO = 2,
@@ -193,7 +185,7 @@ struct pppcp_data *ipcp_new(GAtPPP *ppp)
g_free(data);
return NULL;
}
- pppcp_set_valid_codes(pppcp, IPCP_SUPPORTED_CODES);
+
pppcp->option_strings = ipcp_option_strings;
pppcp->prefix = "ipcp";
pppcp->priv = data;
diff --git a/gatchat/ppp_lcp.c b/gatchat/ppp_lcp.c
index 8ea6e56a..6460f336 100644
--- a/gatchat/ppp_lcp.c
+++ b/gatchat/ppp_lcp.c
@@ -46,18 +46,6 @@ enum lcp_options {
ACFC = 8,
};
-#define LCP_SUPPORTED_CODES ((1 << CONFIGURE_REQUEST) | \
- (1 << CONFIGURE_ACK) | \
- (1 << CONFIGURE_NAK) | \
- (1 << CONFIGURE_REJECT) | \
- (1 << TERMINATE_REQUEST) | \
- (1 << TERMINATE_ACK) | \
- (1 << CODE_REJECT) | \
- (1 << PROTOCOL_REJECT) | \
- (1 << ECHO_REQUEST) | \
- (1 << ECHO_REPLY) | \
- (1 << DISCARD_REQUEST))
-
/*
* signal the Up event to the NCP
*/
@@ -223,14 +211,13 @@ struct pppcp_data *lcp_new(GAtPPP *ppp)
{
struct pppcp_data *pppcp;
struct ppp_option *option;
- guint16 codes = LCP_SUPPORTED_CODES;
pppcp = pppcp_new(ppp, LCP_PROTOCOL);
if (!pppcp) {
g_print("Failed to allocate PPPCP struct\n");
return NULL;
}
- pppcp_set_valid_codes(pppcp, codes);
+
pppcp->option_strings = lcp_option_strings;
pppcp->prefix = "lcp";
pppcp->priv = pppcp;