|
Lines 304-321
monitor_cb (gpointer user_data)
Link Here
|
| 304 |
{ |
304 |
{ |
| 305 |
NMPPPManager *manager = NM_PPP_MANAGER (user_data); |
305 |
NMPPPManager *manager = NM_PPP_MANAGER (user_data); |
| 306 |
NMPPPManagerPrivate *priv = NM_PPP_MANAGER_GET_PRIVATE (manager); |
306 |
NMPPPManagerPrivate *priv = NM_PPP_MANAGER_GET_PRIVATE (manager); |
| 307 |
struct ifpppstatsreq req; |
307 |
struct ifreq req; |
|
|
308 |
struct ppp_stats stats; |
| 308 |
|
309 |
|
| 309 |
memset (&req, 0, sizeof (req)); |
310 |
memset (&req, 0, sizeof (req)); |
| 310 |
req.stats_ptr = (caddr_t) &req.stats; |
311 |
memset (&stats, 0, sizeof (stats)); |
|
|
312 |
req.ifr_data = (caddr_t) &stats; |
| 311 |
|
313 |
|
| 312 |
strncpy (req.ifr__name, priv->ip_iface, sizeof (req.ifr__name)); |
314 |
strncpy (req.ifr_name, priv->ip_iface, sizeof (req.ifr_name)); |
| 313 |
if (ioctl (priv->monitor_fd, SIOCGPPPSTATS, &req) < 0) { |
315 |
if (ioctl (priv->monitor_fd, SIOCGPPPSTATS, &req) < 0) { |
| 314 |
nm_log_warn (LOGD_PPP, "could not read ppp stats: %s", strerror (errno)); |
316 |
nm_log_warn (LOGD_PPP, "could not read ppp stats: %s", strerror (errno)); |
| 315 |
} else { |
317 |
} else { |
| 316 |
g_signal_emit (manager, signals[STATS], 0, |
318 |
g_signal_emit (manager, signals[STATS], 0, |
| 317 |
req.stats.p.ppp_ibytes, |
319 |
stats.p.ppp_ibytes, |
| 318 |
req.stats.p.ppp_obytes); |
320 |
stats.p.ppp_obytes); |
| 319 |
} |
321 |
} |
| 320 |
|
322 |
|
| 321 |
return TRUE; |
323 |
return TRUE; |
| 322 |
- |
|
|