2017-02-11 20:16:25 +08:00
|
|
|
//
|
|
|
|
// OpenVPNAdapter+Client.h
|
|
|
|
// OpenVPN iOS Client
|
|
|
|
//
|
|
|
|
// Created by Sergey Abramchuk on 11.02.17.
|
|
|
|
//
|
|
|
|
//
|
|
|
|
|
|
|
|
#import <openvpn/client/ovpncli.hpp>
|
|
|
|
|
|
|
|
#import "OpenVPNAdapter.h"
|
|
|
|
|
|
|
|
|
|
|
|
using namespace openvpn;
|
|
|
|
|
|
|
|
@interface OpenVPNAdapter (Client)
|
|
|
|
|
|
|
|
- (BOOL)configureSockets;
|
|
|
|
|
2017-03-21 02:23:00 +08:00
|
|
|
- (BOOL)setRemoteAddress:(NSString *)address isIPv6:(BOOL)isIPv6;
|
2017-02-11 20:16:25 +08:00
|
|
|
|
2017-03-21 02:23:00 +08:00
|
|
|
- (BOOL)addLocalAddress:(NSString *)address prefixLength:(NSNumber *)prefixLength gateway:(NSString *)gateway isIPv6:(BOOL)isIPv6;
|
2017-02-11 20:16:25 +08:00
|
|
|
|
2017-03-21 02:23:00 +08:00
|
|
|
- (BOOL)defaultGatewayRerouteIPv4:(BOOL)rerouteIPv4 rerouteIPv6:(BOOL)rerouteIPv6;
|
|
|
|
- (BOOL)addRoute:(NSString *)route prefixLength:(NSNumber *)prefixLength isIPv6:(BOOL)isIPv6;
|
|
|
|
- (BOOL)excludeRoute:(NSString *)route prefixLength:(NSNumber *)prefixLength isIPv6:(BOOL)isIPv6;
|
2017-02-11 20:16:25 +08:00
|
|
|
|
2017-03-21 02:23:00 +08:00
|
|
|
- (BOOL)addDNSAddress:(NSString *)address isIPv6:(BOOL)isIPv6;
|
2017-02-11 20:18:56 +08:00
|
|
|
- (BOOL)addSearchDomain:(NSString *)domain;
|
2017-02-11 20:16:25 +08:00
|
|
|
|
2017-03-21 02:23:00 +08:00
|
|
|
- (BOOL)setMTU:(NSNumber *)mtu;
|
2017-02-11 20:16:25 +08:00
|
|
|
|
|
|
|
- (NSInteger)establishTunnel;
|
|
|
|
|
|
|
|
- (void)handleEvent:(const ClientAPI::Event *)event;
|
|
|
|
- (void)handleLog:(const ClientAPI::LogInfo *)log;
|
|
|
|
|
|
|
|
@end
|