forked from rickyzhang82/tethering
-
Notifications
You must be signed in to change notification settings - Fork 1
/
SocksProxy.h
57 lines (51 loc) · 2.03 KB
/
SocksProxy.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
/*
# SOCKS - SOCKS Proxy for iPhone
# Copyright (C) 2009 Ehud Ben-Reuven
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation version 2.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,USA.
*/
#import <UIKit/UIKit.h>
enum {
kSendBufferSize = 100000,
kReceiveBufferSize = 200000
};
@protocol SocksProxyDelegate <NSObject>
- (void)_updateStatus:(NSString *)statusString;
- (void)_sendreceiveDidStart;
- (void) _sendreceiveDidStopWithStatus:(NSString *)statusString;
- (void)_downloadData:(NSInteger)bytes;
- (void)_uploadData:(NSInteger)bytes;
@end
@interface SocksProxy : NSObject <NSStreamDelegate>
{
NSInputStream * _receivenetworkStream;
NSOutputStream * _sendnetworkStream;
NSOutputStream * _remoteSendNetworkStream;
NSInputStream * _remoteReceiveNetworkStream;
id <SocksProxyDelegate> __weak delegate;
uint8_t _sendbuffer[kSendBufferSize];
size_t _sendbufferOffset;
size_t _sendbufferLimit;
uint8_t _receivebuffer[kReceiveBufferSize];
size_t _receivebufferOffset;
size_t _receivebufferLimit;
NSUInteger _protocolLocation;
NSString * _remoteName;
}
@property (nonatomic, weak) id <SocksProxyDelegate> delegate;
@property (nonatomic, readonly) BOOL isSendingReceiving;
- (void)stopSendReceiveWithStatus:(NSString *)statusString;
- (BOOL)startSendReceive:(int)fd;
@end