| // Copyright (c) 2012 The Chromium OS Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // pppd.h declares a field member called |class| which forces this file to be C. |
| #include <pppd/pppd.h> |
| |
| #include "shill/shims/c_ppp.h" |
| |
| char pppd_version[] = VERSION; |
| |
| static void PPPOnUp(void *data, int arg) { |
| PPPOnConnect(ifname); |
| } |
| |
| static void PPPOnPhaseChange(void *data, int arg) { |
| if (arg == PHASE_DISCONNECT || arg == PHASE_DEAD) { |
| PPPOnDisconnect(); |
| } |
| } |
| |
| int plugin_init() { |
| PPPInit(); |
| |
| chap_check_hook = PPPHasSecret; |
| pap_check_hook = PPPHasSecret; |
| |
| pap_passwd_hook = PPPGetSecret; |
| chap_passwd_hook = PPPGetSecret; |
| |
| add_notifier(&ip_up_notifier, PPPOnUp, NULL); |
| add_notifier(&phasechange, PPPOnPhaseChange, NULL); |
| add_notifier(&exitnotify, PPPOnExit, NULL); |
| |
| return 0; |
| } |