aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-connectivity/networkmanager/networkmanager/0002-ppp-don-t-use-struct-ifpppstatsreq-that-was-removed-.patch
blob: e2f43f35bcf6c8d14aee9c05a767dcf604f7bc21 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
From 6b64e4db2f3c9cfc0e0e240cf0bc58f3b3e90c1f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ji=C5=99=C3=AD=20Klime=C5=A1?= <jklimes@redhat.com>
Date: Wed, 28 Mar 2012 16:42:24 +0200
Subject: [PATCH 7/9] ppp: don't use struct ifpppstatsreq that was removed
 from linux/ip_ppp.h

in recent kernels.

We can use ifreq and ppp_stats structures separately. They needn't have to
to be packed in a structure.
---
Upstream-Status: Backport [1]
[1] http://cgit.freedesktop.org/NetworkManager/NetworkManager/commit/?id=6b64e4db2f3c9cfc0e0e240cf0bc58f3b3e90c1f
 src/ppp-manager/nm-ppp-manager.c |   12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/src/ppp-manager/nm-ppp-manager.c b/src/ppp-manager/nm-ppp-manager.c
index 59698c3..243d2e1 100644
--- a/src/ppp-manager/nm-ppp-manager.c
+++ b/src/ppp-manager/nm-ppp-manager.c
@@ -304,18 +304,20 @@ monitor_cb (gpointer user_data)
 {
 	NMPPPManager *manager = NM_PPP_MANAGER (user_data);
 	NMPPPManagerPrivate *priv = NM_PPP_MANAGER_GET_PRIVATE (manager);
-	struct ifpppstatsreq req;
+	struct ifreq req;
+	struct ppp_stats stats;
 
 	memset (&req, 0, sizeof (req));
-	req.stats_ptr = (caddr_t) &req.stats;
+	memset (&stats, 0, sizeof (stats));
+	req.ifr_data = (caddr_t) &stats;
 
-	strncpy (req.ifr__name, priv->ip_iface, sizeof (req.ifr__name));
+	strncpy (req.ifr_name, priv->ip_iface, sizeof (req.ifr_name));
 	if (ioctl (priv->monitor_fd, SIOCGPPPSTATS, &req) < 0) {
 		nm_log_warn (LOGD_PPP, "could not read ppp stats: %s", strerror (errno));
 	} else {
 		g_signal_emit (manager, signals[STATS], 0, 
-		               req.stats.p.ppp_ibytes,
-		               req.stats.p.ppp_obytes);
+		               stats.p.ppp_ibytes,
+		               stats.p.ppp_obytes);
 	}
 
 	return TRUE;
-- 
1.7.9.4