package
oneclickproxy;
import
java.util.Arrays;
import
java.util.List;
import
com.sun.jna.Native;
import
com.sun.jna.Pointer;
import
com.sun.jna.Structure;
import
com.sun.jna.Union;
import
com.sun.jna.win32.StdCallLibrary;
import
com.sun.jna.win32.W32APIOptions;
public
interface
WinInet
extends
StdCallLibrary {
WinInet INSTANCE = (WinInet) Native.loadLibrary(
"wininet"
, WinInet.
class
,
W32APIOptions.UNICODE_OPTIONS);
public
static
final
int
INTERNET_PER_CONN_FLAGS =
1
;
public
static
final
int
INTERNET_PER_CONN_PROXY_SERVER =
2
;
public
static
final
int
INTERNET_PER_CONN_PROXY_BYPASS =
3
;
public
static
final
int
INTERNET_PER_CONN_AUTOCONFIG_URL =
4
;
public
static
final
int
INTERNET_PER_CONN_AUTODISCOVERY_FLAGS =
5
;
public
static
final
int
INTERNET_PER_CONN_AUTOCONFIG_SECONDARY_URL =
6
;
public
static
final
int
INTERNET_PER_CONN_AUTOCONFIG_RELOAD_DELAY_MINS =
7
;
public
static
final
int
INTERNET_PER_CONN_AUTOCONFIG_LAST_DETECT_TIME =
8
;
public
static
final
int
INTERNET_PER_CONN_AUTOCONFIG_LAST_DETECT_URL =
9
;
public
static
final
int
PROXY_TYPE_DIRECT =
0x00000001
;
public
static
final
int
PROXY_TYPE_PROXY =
0x00000002
;
public
static
final
int
PROXY_TYPE_AUTO_PROXY_URL =
0x00000004
;
public
static
final
int
PROXY_TYPE_AUTO_DETECT =
0x00000008
;
public
static
final
int
INTERNET_OPTION_CALLBACK =
1
;
public
static
final
int
INTERNET_OPTION_CONNECT_TIMEOUT =
2
;
public
static
final
int
INTERNET_OPTION_CONNECT_RETRIES =
3
;
public
static
final
int
INTERNET_OPTION_CONNECT_BACKOFF =
4
;
public
static
final
int
INTERNET_OPTION_SEND_TIMEOUT =
5
;
public
static
final
int
INTERNET_OPTION_CONTROL_SEND_TIMEOUT = INTERNET_OPTION_SEND_TIMEOUT;
public
static
final
int
INTERNET_OPTION_RECEIVE_TIMEOUT =
6
;
public
static
final
int
INTERNET_OPTION_CONTROL_RECEIVE_TIMEOUT = INTERNET_OPTION_RECEIVE_TIMEOUT;
public
static
final
int
INTERNET_OPTION_DATA_SEND_TIMEOUT =
7
;
public
static
final
int
INTERNET_OPTION_DATA_RECEIVE_TIMEOUT =
8
;
public
static
final
int
INTERNET_OPTION_HANDLE_TYPE =
9
;
public
static
final
int
INTERNET_OPTION_LISTEN_TIMEOUT =
11
;
public
static
final
int
INTERNET_OPTION_READ_BUFFER_SIZE =
12
;
public
static
final
int
INTERNET_OPTION_WRITE_BUFFER_SIZE =
13
;
public
static
final
int
INTERNET_OPTION_ASYNC_ID =
15
;
public
static
final
int
INTERNET_OPTION_ASYNC_PRIORITY =
16
;
public
static
final
int
INTERNET_OPTION_PARENT_HANDLE =
21
;
public
static
final
int
INTERNET_OPTION_KEEP_CONNECTION =
22
;
public
static
final
int
INTERNET_OPTION_REQUEST_FLAGS =
23
;
public
static
final
int
INTERNET_OPTION_EXTENDED_ERROR =
24
;
public
static
final
int
INTERNET_OPTION_OFFLINE_MODE =
26
;
public
static
final
int
INTERNET_OPTION_CACHE_STREAM_HANDLE =
27
;
public
static
final
int
INTERNET_OPTION_USERNAME =
28
;
public
static
final
int
INTERNET_OPTION_PASSWORD =
29
;
public
static
final
int
INTERNET_OPTION_ASYNC =
30
;
public
static
final
int
INTERNET_OPTION_SECURITY_FLAGS =
31
;
public
static
final
int
INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT =
32
;
public
static
final
int
INTERNET_OPTION_DATAFILE_NAME =
33
;
public
static
final
int
INTERNET_OPTION_URL =
34
;
public
static
final
int
INTERNET_OPTION_SECURITY_CERTIFICATE =
35
;
public
static
final
int
INTERNET_OPTION_SECURITY_KEY_BITNESS =
36
;
public
static
final
int
INTERNET_OPTION_REFRESH =
37
;
public
static
final
int
INTERNET_OPTION_PROXY =
38
;
public
static
final
int
INTERNET_OPTION_SETTINGS_CHANGED =
39
;
public
static
final
int
INTERNET_OPTION_VERSION =
40
;
public
static
final
int
INTERNET_OPTION_USER_AGENT =
41
;
public
static
final
int
INTERNET_OPTION_END_BROWSER_SESSION =
42
;
public
static
final
int
INTERNET_OPTION_PROXY_USERNAME =
43
;
public
static
final
int
INTERNET_OPTION_PROXY_PASSWORD =
44
;
public
static
final
int
INTERNET_OPTION_CONTEXT_VALUE =
45
;
public
static
final
int
INTERNET_OPTION_CONNECT_LIMIT =
46
;
public
static
final
int
INTERNET_OPTION_SECURITY_SELECT_CLIENT_CERT =
47
;
public
static
final
int
INTERNET_OPTION_POLICY =
48
;
public
static
final
int
INTERNET_OPTION_DISCONNECTED_TIMEOUT =
49
;
public
static
final
int
INTERNET_OPTION_CONNECTED_STATE =
50
;
public
static
final
int
INTERNET_OPTION_IDLE_STATE =
51
;
public
static
final
int
INTERNET_OPTION_OFFLINE_SEMANTICS =
52
;
public
static
final
int
INTERNET_OPTION_SECONDARY_CACHE_KEY =
53
;
public
static
final
int
INTERNET_OPTION_CALLBACK_FILTER =
54
;
public
static
final
int
INTERNET_OPTION_CONNECT_TIME =
55
;
public
static
final
int
INTERNET_OPTION_SEND_THROUGHPUT =
56
;
public
static
final
int
INTERNET_OPTION_RECEIVE_THROUGHPUT =
57
;
public
static
final
int
INTERNET_OPTION_REQUEST_PRIORITY =
58
;
public
static
final
int
INTERNET_OPTION_HTTP_VERSION =
59
;
public
static
final
int
INTERNET_OPTION_RESET_URLCACHE_SESSION =
60
;
public
static
final
int
INTERNET_OPTION_ERROR_MASK =
62
;
public
static
final
int
INTERNET_OPTION_FROM_CACHE_TIMEOUT =
63
;
public
static
final
int
INTERNET_OPTION_BYPASS_EDITED_ENTRY =
64
;
public
static
final
int
INTERNET_OPTION_DIAGNOSTIC_SOCKET_INFO =
67
;
public
static
final
int
INTERNET_OPTION_CODEPAGE =
68
;
public
static
final
int
INTERNET_OPTION_CACHE_TIMESTAMPS =
69
;
public
static
final
int
INTERNET_OPTION_DISABLE_AUTODIAL =
70
;
public
static
final
int
INTERNET_OPTION_MAX_CONNS_PER_SERVER =
73
;
public
static
final
int
INTERNET_OPTION_MAX_CONNS_PER_1_0_SERVER =
74
;
public
static
final
int
INTERNET_OPTION_PER_CONNECTION_OPTION =
75
;
public
static
final
int
INTERNET_OPTION_DIGEST_AUTH_UNLOAD =
76
;
public
static
final
int
INTERNET_OPTION_IGNORE_OFFLINE =
77
;
public
static
final
int
INTERNET_OPTION_IDENTITY =
78
;
public
static
final
int
INTERNET_OPTION_REMOVE_IDENTITY =
79
;
public
static
final
int
INTERNET_OPTION_ALTER_IDENTITY =
80
;
public
static
final
int
INTERNET_OPTION_SUPPRESS_BEHAVIOR =
81
;
public
static
final
int
INTERNET_OPTION_AUTODIAL_MODE =
82
;
public
static
final
int
INTERNET_OPTION_AUTODIAL_CONNECTION =
83
;
public
static
final
int
INTERNET_OPTION_CLIENT_CERT_CONTEXT =
84
;
public
static
final
int
INTERNET_OPTION_AUTH_FLAGS =
85
;
public
static
final
int
INTERNET_OPTION_COOKIES_3RD_PARTY =
86
;
public
static
final
int
INTERNET_OPTION_DISABLE_PASSPORT_AUTH =
87
;
public
static
final
int
INTERNET_OPTION_SEND_UTF8_SERVERNAME_TO_PROXY =
88
;
public
static
final
int
INTERNET_OPTION_EXEMPT_CONNECTION_LIMIT =
89
;
public
static
final
int
INTERNET_OPTION_ENABLE_PASSPORT_AUTH =
90
;
public
static
final
int
INTERNET_OPTION_HIBERNATE_INACTIVE_WORKER_THREADS =
91
;
public
static
final
int
INTERNET_OPTION_ACTIVATE_WORKER_THREADS =
92
;
public
static
final
int
INTERNET_OPTION_RESTORE_WORKER_THREAD_DEFAULTS =
93
;
public
static
final
int
INTERNET_OPTION_SOCKET_SEND_BUFFER_LENGTH =
94
;
public
static
final
int
INTERNET_OPTION_PROXY_SETTINGS_CHANGED =
95
;
public
static
final
int
INTERNET_OPTION_DATAFILE_EXT =
96
;
public
boolean
InternetSetOption(Pointer hInternet,
int
dwOption,
Pointer lpBuffer,
int
dwBufferLength);
public
static
class
FILETIME
extends
Structure {
public
static
class
ByReference
extends
FILETIME
implements
Structure.ByReference {
public
ByReference() {
}
public
ByReference(Pointer memory) {
super
(memory);
}
}
public
FILETIME() {
}
public
FILETIME(Pointer memory) {
super
(memory);
read();
}
public
int
dwLowDateTime;
public
int
dwHighDateTime;
@SuppressWarnings
(
"rawtypes"
)
@Override
protected
List getFieldOrder() {
return
Arrays.asList(
new
String[] {
"dwLowDateTime"
,
"dwHighDateTime"
});
}
}
public
static
class
INTERNET_PER_CONN_OPTION
extends
Structure {
public
static
class
ByReference
extends
INTERNET_PER_CONN_OPTION
implements
Structure.ByReference {
public
ByReference() {
}
public
ByReference(Pointer memory) {
super
(memory);
}
}
public
INTERNET_PER_CONN_OPTION() {
}
public
INTERNET_PER_CONN_OPTION(Pointer memory) {
super
(memory);
read();
}
public
static
class
VALUE_UNION
extends
Union {
public
int
dwValue;
public
String pszValue;
public
FILETIME ftValue;
}
public
int
dwOption;
public
VALUE_UNION Value =
new
VALUE_UNION();
@SuppressWarnings
(
"rawtypes"
)
@Override
protected
List getFieldOrder() {
return
Arrays.asList(
new
String[] {
"dwOption"
,
"Value"
});
}
}
public
static
class
INTERNET_PER_CONN_OPTION_LIST
extends
Structure {
public
static
class
ByReference
extends
INTERNET_PER_CONN_OPTION_LIST
implements
Structure.ByReference {
public
ByReference() {
}
public
ByReference(Pointer memory) {
super
(memory);
}
}
public
INTERNET_PER_CONN_OPTION_LIST() {
}
public
INTERNET_PER_CONN_OPTION_LIST(Pointer memory) {
super
(memory);
read();
}
public
int
dwSize;
public
String pszConnection;
public
int
dwOptionCount;
public
int
dwOptionError;
public
INTERNET_PER_CONN_OPTION.ByReference pOptions;
@SuppressWarnings
(
"rawtypes"
)
@Override
protected
List getFieldOrder() {
return
Arrays.asList(
new
String[] {
"dwSize"
,
"pszConnection"
,
"dwOptionCount"
,
"dwOptionError"
,
"pOptions"
});
}
}
}