PppController.h revision d5573d34c8fac49e16b20cf144486125bf940086
1d5573d34c8fac49e16b20cf144486125bf940086San Mehat/* 2d5573d34c8fac49e16b20cf144486125bf940086San Mehat * Copyright (C) 2008 The Android Open Source Project 3d5573d34c8fac49e16b20cf144486125bf940086San Mehat * 4d5573d34c8fac49e16b20cf144486125bf940086San Mehat * Licensed under the Apache License, Version 2.0 (the "License"); 5d5573d34c8fac49e16b20cf144486125bf940086San Mehat * you may not use this file except in compliance with the License. 6d5573d34c8fac49e16b20cf144486125bf940086San Mehat * You may obtain a copy of the License at 7d5573d34c8fac49e16b20cf144486125bf940086San Mehat * 8d5573d34c8fac49e16b20cf144486125bf940086San Mehat * http://www.apache.org/licenses/LICENSE-2.0 9d5573d34c8fac49e16b20cf144486125bf940086San Mehat * 10d5573d34c8fac49e16b20cf144486125bf940086San Mehat * Unless required by applicable law or agreed to in writing, software 11d5573d34c8fac49e16b20cf144486125bf940086San Mehat * distributed under the License is distributed on an "AS IS" BASIS, 12d5573d34c8fac49e16b20cf144486125bf940086San Mehat * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13d5573d34c8fac49e16b20cf144486125bf940086San Mehat * See the License for the specific language governing permissions and 14d5573d34c8fac49e16b20cf144486125bf940086San Mehat * limitations under the License. 15d5573d34c8fac49e16b20cf144486125bf940086San Mehat */ 16d5573d34c8fac49e16b20cf144486125bf940086San Mehat 17d5573d34c8fac49e16b20cf144486125bf940086San Mehat#ifndef _PPP_CONTROLLER_H 18d5573d34c8fac49e16b20cf144486125bf940086San Mehat#define _PPP_CONTROLLER_H 19d5573d34c8fac49e16b20cf144486125bf940086San Mehat 20d5573d34c8fac49e16b20cf144486125bf940086San Mehat#include <linux/in.h> 21d5573d34c8fac49e16b20cf144486125bf940086San Mehat 22d5573d34c8fac49e16b20cf144486125bf940086San Mehat#include <utils/List.h> 23d5573d34c8fac49e16b20cf144486125bf940086San Mehat 24d5573d34c8fac49e16b20cf144486125bf940086San Mehattypedef android::List<char *> TtyCollection; 25d5573d34c8fac49e16b20cf144486125bf940086San Mehat 26d5573d34c8fac49e16b20cf144486125bf940086San Mehatclass PppController { 27d5573d34c8fac49e16b20cf144486125bf940086San Mehat TtyCollection *mTtys; 28d5573d34c8fac49e16b20cf144486125bf940086San Mehat pid_t mPid; // TODO: Add support for > 1 pppd instance 29d5573d34c8fac49e16b20cf144486125bf940086San Mehat 30d5573d34c8fac49e16b20cf144486125bf940086San Mehatpublic: 31d5573d34c8fac49e16b20cf144486125bf940086San Mehat PppController(); 32d5573d34c8fac49e16b20cf144486125bf940086San Mehat virtual ~PppController(); 33d5573d34c8fac49e16b20cf144486125bf940086San Mehat 34d5573d34c8fac49e16b20cf144486125bf940086San Mehat int attachPppd(const char *tty, struct in_addr local, 35d5573d34c8fac49e16b20cf144486125bf940086San Mehat struct in_addr remote); 36d5573d34c8fac49e16b20cf144486125bf940086San Mehat int detachPppd(const char *tty); 37d5573d34c8fac49e16b20cf144486125bf940086San Mehat TtyCollection *getTtyList(); 38d5573d34c8fac49e16b20cf144486125bf940086San Mehat 39d5573d34c8fac49e16b20cf144486125bf940086San Mehatprivate: 40d5573d34c8fac49e16b20cf144486125bf940086San Mehat}; 41d5573d34c8fac49e16b20cf144486125bf940086San Mehat 42d5573d34c8fac49e16b20cf144486125bf940086San Mehat#endif 43