/* * Copyright (C) 2018 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "pppd.h" #include <unistd.h> char pppd_version[] = VERSION; static struct channel pppopptp_channel; /* Option variables */ static int pptp_socket = -1; static option_t pppopptp_options[] = { { "pptp_socket", o_int, &pptp_socket, "PPTP socket FD", OPT_PRIO }, { NULL } }; static int pptp_connect(void) { info("Using PPPoPPTP (socket = %d)", pptp_socket); return pptp_socket; } static void pptp_disconnect(void) { if (pptp_socket != -1) { close(pptp_socket); pptp_socket = -1; } } void plugin_init(void) { add_options(pppopptp_options); the_channel = &pppopptp_channel; } static struct channel pppopptp_channel = { .options = pppopptp_options, .process_extra_options = NULL, .check_options = NULL, .connect = pptp_connect, .disconnect = pptp_disconnect, .establish_ppp = generic_establish_ppp, .disestablish_ppp = generic_disestablish_ppp, .send_config = NULL, .recv_config = NULL, .close = NULL, .cleanup = NULL, };