mirror of
https://github.com/Ed94/Odin.git
synced 2026-07-16 08:01:24 -07:00
Merge remote-tracking branch 'offical/master'
This commit is contained in:
@@ -13,6 +13,8 @@ _load_library :: proc(path: string, global_symbols: bool, allocator: runtime.All
|
||||
flags := posix.RTLD_Flags{.NOW}
|
||||
if global_symbols {
|
||||
flags += {.GLOBAL}
|
||||
} else {
|
||||
flags += posix.RTLD_LOCAL
|
||||
}
|
||||
|
||||
cpath := strings.clone_to_cstring(path, allocator)
|
||||
|
||||
@@ -209,13 +209,23 @@ marshal_to_writer :: proc(w: io.Writer, v: any, opt: ^Marshal_Options) -> (err:
|
||||
opt_write_end(w, opt, ']') or_return
|
||||
|
||||
case runtime.Type_Info_Enumerated_Array:
|
||||
opt_write_start(w, opt, '[') or_return
|
||||
index_type := reflect.type_info_base(info.index)
|
||||
enum_type := index_type.variant.(reflect.Type_Info_Enum)
|
||||
|
||||
opt_write_start(w, opt, '{') or_return
|
||||
for i in 0..<info.count {
|
||||
value := cast(runtime.Type_Info_Enum_Value)i
|
||||
index, found := slice.linear_search(enum_type.values, value)
|
||||
if !found {
|
||||
continue
|
||||
}
|
||||
|
||||
opt_write_iteration(w, opt, i == 0) or_return
|
||||
opt_write_key(w, opt, enum_type.names[index]) or_return
|
||||
data := uintptr(v.data) + uintptr(i*info.elem_size)
|
||||
marshal_to_writer(w, any{rawptr(data), info.elem.id}, opt) or_return
|
||||
}
|
||||
opt_write_end(w, opt, ']') or_return
|
||||
opt_write_end(w, opt, '}') or_return
|
||||
|
||||
case runtime.Type_Info_Dynamic_Array:
|
||||
opt_write_start(w, opt, '[') or_return
|
||||
@@ -667,4 +677,4 @@ cast_any_int_to_u128 :: proc(any_int_value: any) -> u128 {
|
||||
}
|
||||
|
||||
return u
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -126,7 +126,7 @@ _i64_err :: #force_inline proc "contextless" (n: int, err: Error) -> (i64, Error
|
||||
}
|
||||
|
||||
|
||||
// read reads up to len(p) bytes into s. It returns the number of bytes read and any error if occurred.
|
||||
// read reads up to len(p) bytes into p. It returns the number of bytes read and any error if occurred.
|
||||
//
|
||||
// When read encounters an .EOF or error after successfully reading n > 0 bytes, it returns the number of
|
||||
// bytes read along with the error.
|
||||
@@ -142,7 +142,7 @@ read :: proc(s: Reader, p: []byte, n_read: ^int = nil) -> (n: int, err: Error) {
|
||||
return
|
||||
}
|
||||
|
||||
// write writes up to len(p) bytes into s. It returns the number of bytes written and any error if occurred.
|
||||
// write writes up to len(p) bytes into p. It returns the number of bytes written and any error if occurred.
|
||||
write :: proc(s: Writer, p: []byte, n_written: ^int = nil) -> (n: int, err: Error) {
|
||||
if s.procedure != nil {
|
||||
n64: i64
|
||||
|
||||
@@ -468,7 +468,7 @@ Example:
|
||||
Possible Output:
|
||||
|
||||
15.312
|
||||
673.130
|
||||
273.130
|
||||
|
||||
*/
|
||||
@(require_results) float32_range :: proc(low, high: f32, gen := context.random_generator) -> (val: f32) {
|
||||
|
||||
@@ -260,7 +260,7 @@ adjust_request_size :: proc(size, align: uint) -> (adjusted: uint) {
|
||||
|
||||
// aligned size must not exceed `BLOCK_SIZE_MAX`, or we'll go out of bounds on `sl_bitmap`.
|
||||
if aligned := align_up(size, align); aligned < BLOCK_SIZE_MAX {
|
||||
adjusted = min(aligned, BLOCK_SIZE_MAX)
|
||||
adjusted = max(aligned, BLOCK_SIZE_MIN)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
+18
-8
@@ -50,9 +50,12 @@ init_dns_configuration :: proc() {
|
||||
dns_configuration.hosts_file, _ = replace_environment_path(dns_configuration.hosts_file)
|
||||
}
|
||||
|
||||
@(fini, private)
|
||||
destroy_dns_configuration :: proc() {
|
||||
delete(dns_configuration.resolv_conf)
|
||||
dns_configuration.resolv_conf = ""
|
||||
delete(dns_configuration.hosts_file)
|
||||
dns_configuration.hosts_file = ""
|
||||
}
|
||||
|
||||
dns_configuration := DEFAULT_DNS_CONFIGURATION
|
||||
@@ -533,18 +536,21 @@ decode_hostname :: proc(packet: []u8, start_idx: int, allocator := context.alloc
|
||||
return
|
||||
}
|
||||
|
||||
if packet[cur_idx] > 63 && packet[cur_idx] != 0xC0 {
|
||||
return
|
||||
}
|
||||
switch {
|
||||
|
||||
switch packet[cur_idx] {
|
||||
|
||||
// This is a offset to more data in the packet, jump to it
|
||||
case 0xC0:
|
||||
// A pointer is when the two higher bits are set.
|
||||
case packet[cur_idx] & 0xC0 == 0xC0:
|
||||
if len(packet[cur_idx:]) < 2 {
|
||||
return
|
||||
}
|
||||
pkt := packet[cur_idx:cur_idx+2]
|
||||
val := (^u16be)(raw_data(pkt))^
|
||||
offset := int(val & 0x3FFF)
|
||||
if offset > len(packet) {
|
||||
// RFC 9267 a ptr should only point backwards, enough to avoid infinity.
|
||||
// "The offset at which this octet is located must be smaller than the offset
|
||||
// at which the compression pointer is located". Still keep iteration_max to
|
||||
// avoid tiny jumps.
|
||||
if offset > len(packet) || offset >= cur_idx {
|
||||
return
|
||||
}
|
||||
|
||||
@@ -555,6 +561,10 @@ decode_hostname :: proc(packet: []u8, start_idx: int, allocator := context.alloc
|
||||
level += 1
|
||||
}
|
||||
|
||||
// Validate label len
|
||||
case packet[cur_idx] > LABEL_MAX:
|
||||
return
|
||||
|
||||
// This is a label, insert it into the hostname
|
||||
case:
|
||||
label_size := int(packet[cur_idx])
|
||||
|
||||
+35
-22
@@ -34,23 +34,12 @@ any_socket_to_socket :: proc "contextless" (socket: Any_Socket) -> Socket {
|
||||
Expects both hostname and port to be present in the `hostname_and_port` parameter, either as:
|
||||
`a.host.name:9999`, or as `1.2.3.4:9999`, or IP6 equivalent.
|
||||
|
||||
Calls `parse_hostname_or_endpoint` and `resolve`, then `dial_tcp_from_endpoint`.
|
||||
Calls `parse_hostname_or_endpoint` and `dial_tcp_from_host_or_endpoint`.
|
||||
*/
|
||||
dial_tcp_from_hostname_and_port_string :: proc(hostname_and_port: string, options := default_tcp_options) -> (socket: TCP_Socket, err: Network_Error) {
|
||||
target := parse_hostname_or_endpoint(hostname_and_port) or_return
|
||||
switch t in target {
|
||||
case Endpoint:
|
||||
return dial_tcp_from_endpoint(t, options)
|
||||
case Host:
|
||||
if t.port == 0 {
|
||||
return 0, .Port_Required
|
||||
}
|
||||
ep4, ep6 := resolve(t.hostname) or_return
|
||||
ep := ep4 if ep4.address != nil else ep6 // NOTE(tetra): We don't know what family the server uses, so we just default to IP4.
|
||||
ep.port = t.port
|
||||
return dial_tcp_from_endpoint(ep, options)
|
||||
}
|
||||
unreachable()
|
||||
|
||||
return dial_tcp_from_host_or_endpoint(target, options)
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -61,17 +50,39 @@ dial_tcp_from_hostname_and_port_string :: proc(hostname_and_port: string, option
|
||||
*/
|
||||
dial_tcp_from_hostname_with_port_override :: proc(hostname: string, port: int, options := default_tcp_options) -> (socket: TCP_Socket, err: Network_Error) {
|
||||
target := parse_hostname_or_endpoint(hostname) or_return
|
||||
switch &t in target {
|
||||
case Endpoint:
|
||||
t.port = port
|
||||
case Host:
|
||||
t.port = port
|
||||
}
|
||||
|
||||
return dial_tcp_from_host_or_endpoint(target, options)
|
||||
}
|
||||
|
||||
/*
|
||||
Expects the `host` as Host.
|
||||
*/
|
||||
dial_tcp_from_host :: proc(host: Host, options := default_tcp_options) -> (socket: TCP_Socket, err: Network_Error) {
|
||||
if host.port == 0 {
|
||||
return 0, .Port_Required
|
||||
}
|
||||
ep4, ep6 := resolve(host.hostname) or_return
|
||||
ep := ep4 if ep4.address != nil else ep6 // NOTE(tetra): We don't know what family the server uses, so we just default to IP4.
|
||||
ep.port = host.port
|
||||
return dial_tcp_from_endpoint(ep, options)
|
||||
}
|
||||
|
||||
/*
|
||||
Expects the `target` as a Host_OrEndpoint.
|
||||
Unwraps the underlying type and calls `dial_tcp_from_host` or `dial_tcp_from_endpoint`.
|
||||
*/
|
||||
dial_tcp_from_host_or_endpoint :: proc(target: Host_Or_Endpoint, options := default_tcp_options) -> (socket: TCP_Socket, err: Network_Error) {
|
||||
switch t in target {
|
||||
case Endpoint:
|
||||
return dial_tcp_from_endpoint({t.address, port}, options)
|
||||
return dial_tcp_from_endpoint(t, options)
|
||||
case Host:
|
||||
if port == 0 {
|
||||
return 0, .Port_Required
|
||||
}
|
||||
ep4, ep6 := resolve(t.hostname) or_return
|
||||
ep := ep4 if ep4.address != nil else ep6 // NOTE(tetra): We don't know what family the server uses, so we just default to IP4.
|
||||
ep.port = port
|
||||
return dial_tcp_from_endpoint(ep, options)
|
||||
return dial_tcp_from_host(t, options)
|
||||
}
|
||||
unreachable()
|
||||
}
|
||||
@@ -90,6 +101,8 @@ dial_tcp :: proc{
|
||||
dial_tcp_from_address_and_port,
|
||||
dial_tcp_from_hostname_and_port_string,
|
||||
dial_tcp_from_hostname_with_port_override,
|
||||
dial_tcp_from_host,
|
||||
dial_tcp_from_host_or_endpoint,
|
||||
}
|
||||
|
||||
create_socket :: proc(family: Address_Family, protocol: Socket_Protocol) -> (socket: Any_Socket, err: Network_Error) {
|
||||
|
||||
@@ -1031,14 +1031,17 @@ Returns:
|
||||
*/
|
||||
@private
|
||||
_split_iterator :: proc(s: ^string, sep: string, sep_save: int) -> (res: string, ok: bool) {
|
||||
m: int
|
||||
if sep == "" {
|
||||
res = s[:]
|
||||
ok = true
|
||||
s^ = s[len(s):]
|
||||
return
|
||||
if len(s) == 0 {
|
||||
m = -1
|
||||
} else {
|
||||
_, w := utf8.decode_rune_in_string(s^)
|
||||
m = w
|
||||
}
|
||||
} else {
|
||||
m = index(s^, sep)
|
||||
}
|
||||
|
||||
m := index(s^, sep)
|
||||
if m < 0 {
|
||||
// not found
|
||||
res = s[:]
|
||||
|
||||
@@ -10,10 +10,10 @@ SavePanel_runModal :: proc "c" (self: ^SavePanel) -> ModalResponse {
|
||||
|
||||
@(objc_type=SavePanel, objc_name="savePanel", objc_is_class_method=true)
|
||||
SavePanel_savePanel :: proc "c" () -> ^SavePanel {
|
||||
return msgSend(^SavePanel, SavePanel, "savePanel")
|
||||
return msgSend(^SavePanel, SavePanel, "savePanel")
|
||||
}
|
||||
|
||||
@(objc_type=SavePanel, objc_name="URL")
|
||||
SavePanel_URL :: proc "c" (self: ^SavePanel) -> ^Array {
|
||||
return msgSend(^Array, self, "URL")
|
||||
}
|
||||
return msgSend(^Array, self, "URL")
|
||||
}
|
||||
|
||||
@@ -134,6 +134,11 @@ String_isEqualToString :: proc "c" (self, other: ^String) -> BOOL {
|
||||
return msgSend(BOOL, self, "isEqualToString:", other)
|
||||
}
|
||||
|
||||
@(objc_type=String, objc_name="stringByAppendingString")
|
||||
String_stringByAppendingString :: proc "c" (self, other: ^String) -> ^String {
|
||||
return msgSend(^String, self, "stringByAppendingString:", other)
|
||||
}
|
||||
|
||||
@(objc_type=String, objc_name="rangeOfString")
|
||||
String_rangeOfString :: proc "c" (self, other: ^String, options: StringCompareOptions) -> Range {
|
||||
return msgSend(Range, self, "rangeOfString:options:", other, options)
|
||||
|
||||
@@ -1329,6 +1329,7 @@ Socket_Option :: enum {
|
||||
ACCEPTCONN = 30,
|
||||
PEERSEC = 31,
|
||||
PASSSEC = 34,
|
||||
IP_ADD_MEMBERSHIP = 35,
|
||||
MARK = 36,
|
||||
PROTOCOL = 38,
|
||||
DOMAIN = 39,
|
||||
|
||||
@@ -2010,10 +2010,10 @@ statfs :: proc "contextless" (path: cstring, statfs: ^Stat_FS) -> (Errno) {
|
||||
*/
|
||||
fstatfs :: proc "contextless" (fd: Fd, statfs: ^Stat_FS) -> (Errno) {
|
||||
when size_of(int) == 8 {
|
||||
ret := syscall(SYS_statfs, fd, statfs)
|
||||
ret := syscall(SYS_fstatfs, fd, statfs)
|
||||
return Errno(-ret)
|
||||
} else {
|
||||
ret := syscall(SYS_statfs64, fd, size_of(Stat_FS), statfs)
|
||||
ret := syscall(SYS_fstatfs64, fd, size_of(Stat_FS), statfs)
|
||||
return Errno(-ret)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -352,15 +352,28 @@ when ODIN_OS == .Darwin || ODIN_OS == .FreeBSD || ODIN_OS == .NetBSD || ODIN_OS
|
||||
// The highest reserved port number.
|
||||
IPPORT_RESERVED :: 1024
|
||||
|
||||
addrinfo :: struct {
|
||||
ai_flags: Addrinfo_Flags, /* [PSX] input flags */
|
||||
ai_family: AF, /* [PSX] address family of socket */
|
||||
ai_socktype: Sock, /* [PSX] socket type */
|
||||
ai_protocol: Protocol, /* [PSX] protocol of socket */
|
||||
ai_addrlen: socklen_t, /* [PSX] length of socket address */
|
||||
ai_canonname: cstring, /* [PSX] canonical name of service location */
|
||||
ai_addr: ^sockaddr, /* [PSX] binary address */
|
||||
ai_next: ^addrinfo, /* [PSX] pointer to next in list */
|
||||
when ODIN_OS == .Linux || ODIN_OS == .OpenBSD {
|
||||
addrinfo :: struct {
|
||||
ai_flags: Addrinfo_Flags, /* [PSX] input flags */
|
||||
ai_family: AF, /* [PSX] address family of socket */
|
||||
ai_socktype: Sock, /* [PSX] socket type */
|
||||
ai_protocol: Protocol, /* [PSX] protocol of socket */
|
||||
ai_addrlen: socklen_t, /* [PSX] length of socket address */
|
||||
ai_addr: ^sockaddr, /* [PSX] binary address */
|
||||
ai_canonname: cstring, /* [PSX] canonical name of service location */
|
||||
ai_next: ^addrinfo, /* [PSX] pointer to next in list */
|
||||
}
|
||||
} else {
|
||||
addrinfo :: struct {
|
||||
ai_flags: Addrinfo_Flags, /* [PSX] input flags */
|
||||
ai_family: AF, /* [PSX] address family of socket */
|
||||
ai_socktype: Sock, /* [PSX] socket type */
|
||||
ai_protocol: Protocol, /* [PSX] protocol of socket */
|
||||
ai_addrlen: socklen_t, /* [PSX] length of socket address */
|
||||
ai_canonname: cstring, /* [PSX] canonical name of service location */
|
||||
ai_addr: ^sockaddr, /* [PSX] binary address */
|
||||
ai_next: ^addrinfo, /* [PSX] pointer to next in list */
|
||||
}
|
||||
}
|
||||
|
||||
when ODIN_OS == .Darwin {
|
||||
|
||||
+211
-171
@@ -899,7 +899,7 @@ CS :: enum c.int {
|
||||
}
|
||||
|
||||
PC :: enum c.int {
|
||||
_2_SYMLINK = _PC_2_SYMLINK,
|
||||
_2_SYMLINKS = _PC_2_SYMLINKS,
|
||||
_ALLOC_SIZE_MIN = _PC_ALLOC_SIZE_MIN,
|
||||
_ASYNC_IO = _PC_ASYNC_IO,
|
||||
_CHOWN_RESTRICTED = _PC_CHOWN_RESTRICTED,
|
||||
@@ -1099,7 +1099,7 @@ when ODIN_OS == .Darwin {
|
||||
_PC_CHOWN_RESTRICTED :: 7
|
||||
_PC_NO_TRUNC :: 8
|
||||
_PC_VDISABLE :: 9
|
||||
_PC_2_SYMLINK :: 15
|
||||
_PC_2_SYMLINKS :: 15
|
||||
_PC_ALLOC_SIZE_MIN :: 16
|
||||
_PC_ASYNC_IO :: 17
|
||||
_PC_FILESIZEBITS :: 18
|
||||
@@ -1280,7 +1280,7 @@ when ODIN_OS == .Darwin {
|
||||
_PC_CHOWN_RESTRICTED :: 7
|
||||
_PC_NO_TRUNC :: 8
|
||||
_PC_VDISABLE :: 9
|
||||
_PC_2_SYMLINK :: 13 // NOTE: not in headers (freebsd)
|
||||
_PC_2_SYMLINKS :: 13 // NOTE: not in headers (freebsd)
|
||||
_PC_ALLOC_SIZE_MIN :: 10
|
||||
_PC_ASYNC_IO :: 53
|
||||
_PC_FILESIZEBITS :: 12
|
||||
@@ -1461,7 +1461,7 @@ when ODIN_OS == .Darwin {
|
||||
_PC_CHOWN_RESTRICTED :: 7
|
||||
_PC_NO_TRUNC :: 8
|
||||
_PC_VDISABLE :: 9
|
||||
_PC_2_SYMLINK :: 13 // NOTE: not in headers
|
||||
_PC_2_SYMLINKS :: 13 // NOTE: not in headers
|
||||
_PC_ALLOC_SIZE_MIN :: 10 // NOTE: not in headers
|
||||
_PC_ASYNC_IO :: 53 // NOTE: not in headers
|
||||
_PC_FILESIZEBITS :: 11
|
||||
@@ -1646,7 +1646,7 @@ when ODIN_OS == .Darwin {
|
||||
_PC_CHOWN_RESTRICTED :: 7
|
||||
_PC_NO_TRUNC :: 8
|
||||
_PC_VDISABLE :: 9
|
||||
_PC_2_SYMLINK :: 10
|
||||
_PC_2_SYMLINKS :: 10
|
||||
_PC_ALLOC_SIZE_MIN :: 11
|
||||
_PC_ASYNC_IO :: 12
|
||||
_PC_FILESIZEBITS :: 13
|
||||
@@ -1816,176 +1816,216 @@ when ODIN_OS == .Darwin {
|
||||
F_TLOCK :: 2
|
||||
F_ULOCK :: 0
|
||||
|
||||
_CS_PATH :: 1
|
||||
_CS_POSIX_V6_WIDTH_RESTRICTED_ENVS :: 2
|
||||
_CS_PATH :: 0
|
||||
_CS_POSIX_V6_WIDTH_RESTRICTED_ENVS :: 1
|
||||
_CS_GNU_LIBC_VERSION :: 2
|
||||
_CS_GNU_LIBPTHREAD_VERSION :: 3
|
||||
_CS_POSIX_V5_WIDTH_RESTRICTED_ENVS :: 4
|
||||
_CS_POSIX_V7_WIDTH_RESTRICTED_ENVS :: 5
|
||||
|
||||
_CS_POSIX_V6_ILP32_OFF32_CFLAGS :: 1116
|
||||
_CS_POSIX_V6_ILP32_OFF32_LDFLAGS :: 1117
|
||||
_CS_POSIX_V6_ILP32_OFF32_LIBS :: 1118
|
||||
_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS :: 1120
|
||||
_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS :: 1121
|
||||
_CS_POSIX_V6_ILP32_OFFBIG_LIBS :: 1122
|
||||
_CS_POSIX_V6_LP64_OFF64_CFLAGS :: 1124
|
||||
_CS_POSIX_V6_LP64_OFF64_LDFLAGS :: 1125
|
||||
_CS_POSIX_V6_LP64_OFF64_LIBS :: 1126
|
||||
_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS :: 1128
|
||||
_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS :: 1129
|
||||
_CS_POSIX_V6_LPBIG_OFFBIG_LIBS :: 1130
|
||||
_CS_POSIX_V6_ILP32_OFF32_CFLAGS :: 1116
|
||||
_CS_POSIX_V6_ILP32_OFF32_LDFLAGS :: 1117
|
||||
_CS_POSIX_V6_ILP32_OFF32_LIBS :: 1118
|
||||
_CS_POSIX_V6_ILP32_OFF32_LINTFLAGS :: 1119
|
||||
_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS :: 1120
|
||||
_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS :: 1121
|
||||
_CS_POSIX_V6_ILP32_OFFBIG_LIBS :: 1122
|
||||
_CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS :: 1123
|
||||
_CS_POSIX_V6_LP64_OFF64_CFLAGS :: 1124
|
||||
_CS_POSIX_V6_LP64_OFF64_LDFLAGS :: 1125
|
||||
_CS_POSIX_V6_LP64_OFF64_LIBS :: 1126
|
||||
_CS_POSIX_V6_LP64_OFF64_LINTFLAGS :: 1127
|
||||
_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS :: 1128
|
||||
_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS :: 1129
|
||||
_CS_POSIX_V6_LPBIG_OFFBIG_LIBS :: 1130
|
||||
_CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS :: 1131
|
||||
_CS_POSIX_V7_ILP32_OFF32_CFLAGS :: 1132
|
||||
_CS_POSIX_V7_ILP32_OFF32_LDFLAGS :: 1133
|
||||
_CS_POSIX_V7_ILP32_OFF32_LIBS :: 1134
|
||||
_CS_POSIX_V7_ILP32_OFF32_LINTFLAGS :: 1135
|
||||
_CS_POSIX_V7_ILP32_OFFBIG_CFLAGS :: 1136
|
||||
_CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS :: 1137
|
||||
_CS_POSIX_V7_ILP32_OFFBIG_LIBS :: 1138
|
||||
_CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS :: 1139
|
||||
_CS_POSIX_V7_LP64_OFF64_CFLAGS :: 1140
|
||||
_CS_POSIX_V7_LP64_OFF64_LDFLAGS :: 1141
|
||||
_CS_POSIX_V7_LP64_OFF64_LIBS :: 1142
|
||||
_CS_POSIX_V7_LP64_OFF64_LINTFLAGS :: 1143
|
||||
_CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS :: 1144
|
||||
_CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS :: 1145
|
||||
_CS_POSIX_V7_LPBIG_OFFBIG_LIBS :: 1146
|
||||
_CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS :: 1147
|
||||
_CS_V6_ENV :: 1148
|
||||
_CS_V7_ENV :: 1149
|
||||
_CS_POSIX_V7_THREADS_CFLAGS :: 1150
|
||||
_CS_POSIX_V7_THREADS_LDFLAGS :: 1151
|
||||
|
||||
_PC_LINK_MAX :: 1
|
||||
_PC_MAX_CANON :: 2
|
||||
_PC_MAX_INPUT :: 3
|
||||
_PC_NAME_MAX :: 4
|
||||
_PC_PATH_MAX :: 5
|
||||
_PC_PIPE_BUF :: 6
|
||||
_PC_CHOWN_RESTRICTED :: 7
|
||||
_PC_NO_TRUNC :: 8
|
||||
_PC_VDISABLE :: 9
|
||||
_PC_SYNC_IO :: 10
|
||||
_PC_ASYNC_IO :: 11
|
||||
_PC_PRIO_IO :: 12
|
||||
_PC_FILESIZEBITS :: 14
|
||||
_PC_REC_INCR_XFER_SIZE :: 15
|
||||
_PC_REC_MAX_XFER_SIZE :: 16
|
||||
_PC_REC_MIN_XFER_SIZE :: 17
|
||||
_PC_REC_XFER_ALIGN :: 18
|
||||
_PC_ALLOC_SIZE_MIN :: 19
|
||||
_PC_SYMLINK_MAX :: 20
|
||||
_PC_2_SYMLINK :: 21
|
||||
|
||||
_SC_ARG_MAX :: 1
|
||||
_SC_CHILD_MAX :: 2
|
||||
_SC_CLK_TCK :: 3
|
||||
_SC_NGROUPS_MAX :: 4
|
||||
_SC_OPEN_MAX :: 5
|
||||
_SC_STREAM_MAX :: 6
|
||||
_SC_TZNAME_MAX :: 7
|
||||
_SC_JOB_CONTROL :: 8
|
||||
_SC_SAVED_IDS :: 9
|
||||
_SC_REALTIME_SIGNALS :: 10
|
||||
_SC_PRIORITY_SCHEDULING :: 11
|
||||
_SC_TIMERS :: 12
|
||||
_SC_ASYNCHRONOUS_IO :: 13
|
||||
_SC_PRIORITIZED_IO :: 14
|
||||
_SC_SYNCHRONIZED_IO :: 15
|
||||
_SC_FSYNC :: 16
|
||||
_SC_MAPPED_FILES :: 17
|
||||
_SC_MEMLOCK :: 18
|
||||
_SC_MEMLOCK_RANGE :: 19
|
||||
_SC_MEMORY_PROTECTION :: 20
|
||||
_SC_MESSAGE_PASSING :: 21
|
||||
_SC_SEMAPHORES :: 22
|
||||
_SC_SHARED_MEMORY_OBJECTS :: 23
|
||||
_SC_AIO_LISTIO_MAX :: 24
|
||||
_SC_AIO_MAX :: 25
|
||||
_SC_AIO_PRIO_DELTA_MAX :: 26
|
||||
_SC_DELAYTIMER_MAX :: 27
|
||||
_SC_MQ_OPEN_MAX :: 28
|
||||
_SC_MQ_PRIO_MAX :: 29
|
||||
_SC_VERSION :: 30
|
||||
_SC_PAGESIZE :: 31
|
||||
_SC_PAGE_SIZE :: _SC_PAGESIZE
|
||||
_SC_RTSIG_MAX :: 32
|
||||
_SC_SEM_NSEMS_MAX :: 33
|
||||
_SC_SEM_VALUE_MAX :: 34
|
||||
_SC_SIGQUEUE_MAX :: 35
|
||||
_SC_TIMER_MAX :: 36
|
||||
_SC_BC_BASE_MAX :: 37
|
||||
_SC_BC_DIM_MAX :: 38
|
||||
_SC_BC_SCALE_MAX :: 39
|
||||
_SC_BC_STRING_MAX :: 40
|
||||
_SC_COLL_WEIGHTS_MAX :: 41
|
||||
_SC_EXPR_NEST_MAX :: 43
|
||||
_SC_LINE_MAX :: 44
|
||||
_SC_RE_DUP_MAX :: 45
|
||||
_SC_2_VERSION :: 47
|
||||
_SC_2_C_BIND :: 48
|
||||
_SC_2_C_DEV :: 49
|
||||
_SC_2_FORT_DEV :: 50
|
||||
_SC_2_FORT_RUN :: 51
|
||||
_SC_2_SW_DEV :: 52
|
||||
_SC_2_LOCALEDEF :: 53
|
||||
_PC_LINK_MAX :: 0
|
||||
_PC_MAX_CANON :: 1
|
||||
_PC_MAX_INPUT :: 2
|
||||
_PC_NAME_MAX :: 3
|
||||
_PC_PATH_MAX :: 4
|
||||
_PC_PIPE_BUF :: 5
|
||||
_PC_CHOWN_RESTRICTED :: 6
|
||||
_PC_NO_TRUNC :: 7
|
||||
_PC_VDISABLE :: 8
|
||||
_PC_SYNC_IO :: 9
|
||||
_PC_ASYNC_IO :: 10
|
||||
_PC_PRIO_IO :: 11
|
||||
_PC_SOCK_MAXBUF :: 12
|
||||
_PC_FILESIZEBITS :: 13
|
||||
_PC_REC_INCR_XFER_SIZE :: 14
|
||||
_PC_REC_MAX_XFER_SIZE :: 15
|
||||
_PC_REC_MIN_XFER_SIZE :: 16
|
||||
_PC_REC_XFER_ALIGN :: 17
|
||||
_PC_ALLOC_SIZE_MIN :: 18
|
||||
_PC_SYMLINK_MAX :: 19
|
||||
_PC_2_SYMLINKS :: 20
|
||||
|
||||
_SC_IOV_MAX :: 62
|
||||
_SC_THREADS :: 69
|
||||
_SC_THREAD_SAFE_FUNCTIONS :: 70
|
||||
_SC_GETGR_R_SIZE_MAX :: 71
|
||||
_SC_GETPW_R_SIZE_MAX :: 72
|
||||
_SC_LOGIN_NAME_MAX :: 73
|
||||
_SC_TTY_NAME_MAX :: 74
|
||||
_SC_THREAD_DESTRUCTOR_ITERATIONS :: 75
|
||||
_SC_THREAD_KEYS_MAX :: 76
|
||||
_SC_THREAD_STACK_MIN :: 77
|
||||
_SC_THREAD_THREADS_MAX :: 78
|
||||
_SC_THREAD_ATTR_STACKADDR :: 79
|
||||
_SC_THREAD_ATTR_STACKSIZE :: 80
|
||||
_SC_THREAD_PRIORITY_SCHEDULING :: 81
|
||||
_SC_THREAD_PRIO_INHERIT :: 82
|
||||
_SC_THREAD_PRIO_PROTECT :: 83
|
||||
_SC_THREAD_PROCESS_SHARED :: 84
|
||||
_SC_NPROCESSORS_CONF :: 85
|
||||
_SC_NPROCESSORS_ONLN :: 86
|
||||
_SC_PHYS_PAGES :: 87
|
||||
_SC_AVPHYS_PAGES :: 88
|
||||
_SC_ATEXIT_MAX :: 89
|
||||
_SC_PASS_MAX :: 90
|
||||
_SC_XOPEN_VERSION :: 91
|
||||
_SC_XOPEN_UNIX :: 92
|
||||
_SC_XOPEN_CRYPT :: 93
|
||||
_SC_XOPEN_ENH_I18N :: 94
|
||||
_SC_XOPEN_SHM :: 95
|
||||
_SC_2_CHAR_TERM :: 96
|
||||
_SC_ARG_MAX :: 0
|
||||
_SC_CHILD_MAX :: 1
|
||||
_SC_CLK_TCK :: 2
|
||||
_SC_NGROUPS_MAX :: 3
|
||||
_SC_OPEN_MAX :: 4
|
||||
_SC_STREAM_MAX :: 5
|
||||
_SC_TZNAME_MAX :: 6
|
||||
_SC_JOB_CONTROL :: 7
|
||||
_SC_SAVED_IDS :: 8
|
||||
_SC_REALTIME_SIGNALS :: 9
|
||||
_SC_PRIORITY_SCHEDULING :: 10
|
||||
_SC_TIMERS :: 11
|
||||
_SC_ASYNCHRONOUS_IO :: 12
|
||||
_SC_PRIORITIZED_IO :: 13
|
||||
_SC_SYNCHRONIZED_IO :: 14
|
||||
_SC_FSYNC :: 15
|
||||
_SC_MAPPED_FILES :: 16
|
||||
_SC_MEMLOCK :: 17
|
||||
_SC_MEMLOCK_RANGE :: 18
|
||||
_SC_MEMORY_PROTECTION :: 19
|
||||
_SC_MESSAGE_PASSING :: 20
|
||||
_SC_SEMAPHORES :: 21
|
||||
_SC_SHARED_MEMORY_OBJECTS :: 22
|
||||
_SC_AIO_LISTIO_MAX :: 23
|
||||
_SC_AIO_MAX :: 24
|
||||
_SC_AIO_PRIO_DELTA_MAX :: 25
|
||||
_SC_DELAYTIMER_MAX :: 26
|
||||
_SC_MQ_OPEN_MAX :: 27
|
||||
_SC_MQ_PRIO_MAX :: 28
|
||||
_SC_VERSION :: 29
|
||||
_SC_PAGE_SIZE :: 30
|
||||
_SC_PAGESIZE :: _SC_PAGE_SIZE
|
||||
_SC_RTSIG_MAX :: 31
|
||||
_SC_SEM_NSEMS_MAX :: 32
|
||||
_SC_SEM_VALUE_MAX :: 33
|
||||
_SC_SIGQUEUE_MAX :: 34
|
||||
_SC_TIMER_MAX :: 35
|
||||
_SC_BC_BASE_MAX :: 36
|
||||
_SC_BC_DIM_MAX :: 37
|
||||
_SC_BC_SCALE_MAX :: 38
|
||||
_SC_BC_STRING_MAX :: 39
|
||||
_SC_COLL_WEIGHTS_MAX :: 40
|
||||
_SC_EXPR_NEST_MAX :: 42
|
||||
_SC_LINE_MAX :: 43
|
||||
_SC_RE_DUP_MAX :: 44
|
||||
_SC_2_VERSION :: 46
|
||||
_SC_2_C_BIND :: 47
|
||||
_SC_2_C_DEV :: 48
|
||||
_SC_2_FORT_DEV :: 49
|
||||
_SC_2_FORT_RUN :: 50
|
||||
_SC_2_SW_DEV :: 51
|
||||
_SC_2_LOCALEDEF :: 52
|
||||
_SC_UIO_MAXIOV :: 60
|
||||
_SC_IOV_MAX :: _SC_UIO_MAXIOV
|
||||
_SC_THREADS :: 67
|
||||
_SC_THREAD_SAFE_FUNCTIONS :: 68
|
||||
_SC_GETGR_R_SIZE_MAX :: 69
|
||||
_SC_GETPW_R_SIZE_MAX :: 70
|
||||
_SC_LOGIN_NAME_MAX :: 71
|
||||
_SC_TTY_NAME_MAX :: 72
|
||||
_SC_THREAD_DESTRUCTOR_ITERATIONS :: 73
|
||||
_SC_THREAD_KEYS_MAX :: 74
|
||||
_SC_THREAD_STACK_MIN :: 75
|
||||
_SC_THREAD_THREADS_MAX :: 76
|
||||
_SC_THREAD_ATTR_STACKADDR :: 77
|
||||
_SC_THREAD_ATTR_STACKSIZE :: 78
|
||||
_SC_THREAD_PRIORITY_SCHEDULING :: 79
|
||||
_SC_THREAD_PRIO_INHERIT :: 80
|
||||
_SC_THREAD_PRIO_PROTECT :: 81
|
||||
_SC_THREAD_PROCESS_SHARED :: 82
|
||||
_SC_NPROCESSORS_CONF :: 83
|
||||
_SC_NPROCESSORS_ONLN :: 84
|
||||
_SC_PHYS_PAGES :: 85
|
||||
_SC_AVPHYS_PAGES :: 86
|
||||
_SC_ATEXIT_MAX :: 87
|
||||
_SC_PASS_MAX :: 88
|
||||
_SC_XOPEN_VERSION :: 89
|
||||
_SC_XOPEN_XCU_VERSION :: 90
|
||||
_SC_XOPEN_UNIX :: 91
|
||||
_SC_XOPEN_CRYPT :: 92
|
||||
_SC_XOPEN_ENH_I18N :: 93
|
||||
_SC_XOPEN_SHM :: 94
|
||||
_SC_2_CHAR_TERM :: 95
|
||||
_SC_2_UPE :: 97
|
||||
_SC_XOPEN_XPG2 :: 98
|
||||
_SC_XOPEN_XPG3 :: 99
|
||||
_SC_XOPEN_XPG4 :: 100
|
||||
_SC_NZERO :: 109
|
||||
_SC_XBS5_ILP32_OFF32 :: 125
|
||||
_SC_XBS5_ILP32_OFFBIG :: 126
|
||||
_SC_XBS5_LP64_OFF64 :: 127
|
||||
_SC_XBS5_LPBIG_OFFBIG :: 128
|
||||
_SC_XOPEN_LEGACY :: 129
|
||||
_SC_XOPEN_REALTIME :: 130
|
||||
_SC_XOPEN_REALTIME_THREADS :: 131
|
||||
_SC_ADVISORY_INFO :: 132
|
||||
_SC_BARRIERS :: 133
|
||||
_SC_CLOCK_SELECTION :: 137
|
||||
_SC_CPUTIME :: 138
|
||||
_SC_THREAD_CPUTIME :: 139
|
||||
_SC_MONOTONIC_CLOCK :: 149
|
||||
_SC_READER_WRITER_LOCKS :: 153
|
||||
_SC_SPIN_LOCKS :: 154
|
||||
_SC_REGEXP :: 155
|
||||
_SC_SHELL :: 157
|
||||
_SC_SPAWN :: 159
|
||||
_SC_SPORADIC_SERVER :: 160
|
||||
_SC_THREAD_SPORADIC_SERVER :: 161
|
||||
_SC_TIMEOUTS :: 164
|
||||
_SC_TYPED_MEMORY_OBJECTS :: 165
|
||||
_SC_2_PBS :: 168
|
||||
_SC_2_PBS_ACCOUNTING :: 169
|
||||
_SC_2_PBS_LOCATE :: 170
|
||||
_SC_2_PBS_MESSAGE :: 171
|
||||
_SC_2_PBS_TRACK :: 172
|
||||
_SC_SYMLOOP_MAX :: 173
|
||||
_SC_STREAMS :: 174
|
||||
_SC_2_PBS_CHECKPOINT :: 175
|
||||
_SC_V6_ILP32_OFF32 :: 176
|
||||
_SC_V6_ILP32_OFFBIG :: 177
|
||||
_SC_V6_LP64_OFF64 :: 178
|
||||
_SC_V6_LPBIG_OFFBIG :: 179
|
||||
_SC_HOST_NAME_MAX :: 180
|
||||
_SC_TRACE :: 181
|
||||
_SC_TRACE_EVENT_FILTER :: 182
|
||||
_SC_TRACE_INHERIT :: 183
|
||||
_SC_TRACE_LOG :: 184
|
||||
|
||||
_SC_XOPEN_LEGACY :: 129
|
||||
_SC_XOPEN_REALTIME :: 130
|
||||
_SC_XOPEN_REALTIME_THREADS :: 131
|
||||
_SC_ADVISORY_INFO :: 132
|
||||
_SC_BARRIERS :: 133
|
||||
_SC_CLOCK_SELECTION :: 137
|
||||
_SC_CPUTIME :: 138
|
||||
_SC_THREAD_CPUTIME :: 139
|
||||
_SC_MONOTONIC_CLOCK :: 149
|
||||
_SC_READER_WRITER_LOCKS :: 153
|
||||
_SC_SPIN_LOCKS :: 154
|
||||
_SC_REGEXP :: 155
|
||||
_SC_SHELL :: 157
|
||||
_SC_SPAWN :: 159
|
||||
_SC_SPORADIC_SERVER :: 160
|
||||
_SC_THREAD_SPORADIC_SERVER :: 161
|
||||
_SC_TIMEOUTS :: 164
|
||||
_SC_TYPED_MEMORY_OBJECTS :: 165
|
||||
_SC_2_PBS :: 168
|
||||
_SC_2_PBS_ACCOUNTING :: 169
|
||||
_SC_2_PBS_LOCATE :: 170
|
||||
_SC_2_PBS_MESSAGE :: 171
|
||||
_SC_2_PBS_TRACK :: 172
|
||||
_SC_SYMLOOP_MAX :: 173
|
||||
_SC_2_PBS_CHECKPOINT :: 174
|
||||
_SC_V6_ILP32_OFF32 :: 175
|
||||
_SC_V6_ILP32_OFFBIG :: 176
|
||||
_SC_V6_LP64_OFF64 :: 177
|
||||
_SC_V6_LPBIG_OFFBIG :: 178
|
||||
_SC_HOST_NAME_MAX :: 179
|
||||
_SC_TRACE :: 180
|
||||
_SC_TRACE_EVENT_FILTER :: 181
|
||||
_SC_TRACE_INHERIT :: 182
|
||||
_SC_TRACE_LOG :: 183
|
||||
|
||||
_SC_IPV6 :: 234
|
||||
_SC_RAW_SOCKETS :: 235
|
||||
_SC_V7_ILP32_OFF32 :: 236
|
||||
_SC_V7_ILP32_OFFBIG :: 237
|
||||
_SC_V7_LP64_OFF64 :: 238
|
||||
_SC_V7_LPBIG_OFFBIG :: 239
|
||||
_SC_SS_REPL_MAX :: 240
|
||||
_SC_TRACE_EVENT_NAME_MAX :: 241
|
||||
_SC_TRACE_NAME_MAX :: 242
|
||||
_SC_TRACE_SYS_MAX :: 243
|
||||
_SC_TRACE_USER_EVENT_MAX :: 244
|
||||
_SC_XOPEN_STREAMS :: 245
|
||||
_SC_THREAD_ROBUST_PRIO_INHERIT :: 246
|
||||
_SC_THREAD_ROBUST_PRIO_PROTECT :: 247
|
||||
_SC_IPV6 :: 235
|
||||
_SC_RAW_SOCKETS :: 236
|
||||
_SC_V7_ILP32_OFF32 :: 237
|
||||
_SC_V7_ILP32_OFFBIG :: 238
|
||||
_SC_V7_LP64_OFF64 :: 239
|
||||
_SC_V7_LPBIG_OFFBIG :: 240
|
||||
_SC_SS_REPL_MAX :: 241
|
||||
_SC_TRACE_EVENT_NAME_MAX :: 242
|
||||
_SC_TRACE_NAME_MAX :: 243
|
||||
_SC_TRACE_SYS_MAX :: 244
|
||||
_SC_TRACE_USER_EVENT_MAX :: 245
|
||||
_SC_XOPEN_STREAMS :: 246
|
||||
_SC_THREAD_ROBUST_PRIO_INHERIT :: 247
|
||||
_SC_THREAD_ROBUST_PRIO_PROTECT :: 248
|
||||
_SC_MINSIGSTKSZ :: 249
|
||||
_SC_SIGSTKSZ :: 250
|
||||
|
||||
// NOTE: Not implemented.
|
||||
_SC_XOPEN_UUCP :: 0
|
||||
@@ -2046,7 +2086,7 @@ when ODIN_OS == .Darwin {
|
||||
_PC_REC_XFER_ALIGN :: 34
|
||||
_PC_ALLOC_SIZE_MIN :: 35
|
||||
_PC_SYMLINK_MAX :: 36
|
||||
_PC_2_SYMLINK :: 37
|
||||
_PC_2_SYMLINKS :: 37
|
||||
|
||||
_SC_ARG_MAX :: 15
|
||||
_SC_CHILD_MAX :: 16
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+481
-1
@@ -66,6 +66,7 @@ PULONG_PTR :: ^ULONG_PTR
|
||||
LPULONG_PTR :: ^ULONG_PTR
|
||||
DWORD_PTR :: ULONG_PTR
|
||||
LONG_PTR :: int
|
||||
INT_PTR :: int
|
||||
UINT_PTR :: uintptr
|
||||
ULONG :: c_ulong
|
||||
ULONGLONG :: c_ulonglong
|
||||
@@ -542,6 +543,44 @@ COLOR_3DHIGHLIGHT :: COLOR_BTNHIGHLIGHT
|
||||
COLOR_3DHILIGHT :: COLOR_BTNHIGHLIGHT
|
||||
COLOR_BTNHILIGHT :: COLOR_BTNHIGHLIGHT
|
||||
|
||||
// Common Control Notification Code Ranges
|
||||
NM_FIRST :: 0
|
||||
NM_LAST :: ~DWORD(99 - 1)
|
||||
LVN_FIRST :: ~DWORD(100 - 1)
|
||||
LVN_LAST :: ~DWORD(199 - 1)
|
||||
HDN_FIRST :: ~DWORD(300 - 1)
|
||||
HDN_LAST :: ~DWORD(399 - 1)
|
||||
TVN_FIRST :: ~DWORD(400 - 1)
|
||||
TVN_LAST :: ~DWORD(499 - 1)
|
||||
TTN_FIRST :: ~DWORD(520 - 1)
|
||||
TTN_LAST :: ~DWORD(549 - 1)
|
||||
TCN_FIRST :: ~DWORD(550 - 1)
|
||||
TCN_LAST :: ~DWORD(580 - 1)
|
||||
CDN_FIRST :: ~DWORD(601 - 1)
|
||||
CDN_LAST :: ~DWORD(699 - 1)
|
||||
TBN_FIRST :: ~DWORD(700 - 1)
|
||||
TBN_LAST :: ~DWORD(720 - 1)
|
||||
UDN_FIRST :: ~DWORD(721 - 1)
|
||||
UDN_LAST :: ~DWORD(740 - 1)
|
||||
MCN_FIRST :: ~DWORD(750 - 1)
|
||||
MCN_LAST :: ~DWORD(759 - 1)
|
||||
DTN_FIRST :: ~DWORD(760 - 1)
|
||||
DTN_LAST :: ~DWORD(799 - 1)
|
||||
CBEN_FIRST :: ~DWORD(800 - 1)
|
||||
CBEN_LAST :: ~DWORD(830 - 1)
|
||||
RBN_FIRST :: ~DWORD(831 - 1)
|
||||
RBN_LAST :: ~DWORD(859 - 1)
|
||||
IPN_FIRST :: ~DWORD(860 - 1)
|
||||
IPN_LAST :: ~DWORD(879 - 1)
|
||||
SBN_FIRST :: ~DWORD(880 - 1)
|
||||
SBN_LAST :: ~DWORD(899 - 1)
|
||||
PGN_FIRST :: ~DWORD(900 - 1)
|
||||
PGN_LAST :: ~DWORD(950 - 1)
|
||||
WMN_FIRST :: ~DWORD(1000 - 1)
|
||||
WMN_LAST :: ~DWORD(1200 - 1)
|
||||
BCN_FIRST :: ~DWORD(1250 - 1)
|
||||
BCN_LAST :: ~DWORD(1350 - 1)
|
||||
|
||||
// Combo Box Notification Codes
|
||||
CBN_ERRSPACE :: -1
|
||||
CBN_SELCHANGE :: 1
|
||||
@@ -624,6 +663,10 @@ BST_INDETERMINATE :: 0x0002
|
||||
BST_PUSHED :: 0x0004
|
||||
BST_FOCUS :: 0x0008
|
||||
|
||||
// Button Control Notification Codes
|
||||
BCN_HOTITEMCHANGE :: (BCN_FIRST + 0x0001)
|
||||
BCN_DROPDOWN :: (BCN_FIRST + 0x0002)
|
||||
|
||||
// Static Control Constants
|
||||
SS_LEFT :: 0x00000000
|
||||
SS_CENTER :: 0x00000001
|
||||
@@ -686,6 +729,416 @@ EN_VSCROLL :: 0x0602
|
||||
EN_ALIGN_LTR_EC :: 0x0700
|
||||
EN_ALIGN_RTL_EC :: 0x0701
|
||||
|
||||
// Toolbar Styles
|
||||
TBS_AUTOTICKS :: 0x001
|
||||
TBS_VERT :: 0x002
|
||||
TBS_HORZ :: 0x000
|
||||
TBS_TOP :: 0x004
|
||||
TBS_BOTTOM :: 0x000
|
||||
TBS_LEFT :: 0x004
|
||||
TBS_RIGHT :: 0x000
|
||||
TBS_BOTH :: 0x008
|
||||
TBS_NOTICKS :: 0x010
|
||||
TBS_ENABLESELRANGE :: 0x020
|
||||
TBS_FIXEDLENGTH :: 0x040
|
||||
TBS_NOTHUMB :: 0x080
|
||||
TBS_TOOLTIPS :: 0x100
|
||||
TBS_REVERSED :: 0x200
|
||||
TBS_DOWNISLEFT :: 0x400
|
||||
|
||||
// Toolbar Button Styles
|
||||
TBSTYLE_BUTTON :: 0x0000
|
||||
TBSTYLE_SEP :: 0x0001
|
||||
TBSTYLE_CHECK :: 0x0002
|
||||
TBSTYLE_GROUP :: 0x0004
|
||||
TBSTYLE_CHECKGROUP :: (TBSTYLE_GROUP | TBSTYLE_CHECK)
|
||||
TBSTYLE_DROPDOWN :: 0x0008
|
||||
TBSTYLE_AUTOSIZE :: 0x0010
|
||||
TBSTYLE_NOPREFIX :: 0x0020
|
||||
TBSTYLE_TOOLTIPS :: 0x0100
|
||||
TBSTYLE_WRAPABLE :: 0x0200
|
||||
TBSTYLE_ALTDRAG :: 0x0400
|
||||
TBSTYLE_FLAT :: 0x0800
|
||||
TBSTYLE_LIST :: 0x1000
|
||||
TBSTYLE_CUSTOMERASE :: 0x2000
|
||||
TBSTYLE_REGISTERDROP :: 0x4000
|
||||
TBSTYLE_TRANSPARENT :: 0x8000
|
||||
|
||||
// Toolbar Button Styles (Aliases)
|
||||
BTNS_BUTTON :: TBSTYLE_BUTTON
|
||||
BTNS_SEP :: TBSTYLE_SEP
|
||||
BTNS_CHECK :: TBSTYLE_CHECK
|
||||
BTNS_GROUP :: TBSTYLE_GROUP
|
||||
BTNS_CHECKGROUP :: TBSTYLE_CHECKGROUP
|
||||
BTNS_DROPDOWN :: TBSTYLE_DROPDOWN
|
||||
BTNS_AUTOSIZE :: TBSTYLE_AUTOSIZE
|
||||
BTNS_NOPREFIX :: TBSTYLE_NOPREFIX
|
||||
BTNS_SHOWTEXT :: 0x40
|
||||
BTNS_WHOLEDROPDOWN :: 0x80
|
||||
|
||||
// Toolbar Extended Styles
|
||||
TBSTYLE_EX_DRAWDDARROWS :: 0x01
|
||||
TBSTYLE_EX_MIXEDBUTTONS :: 0x08
|
||||
TBSTYLE_EX_HIDECLIPPEDBUTTONS :: 0x10
|
||||
TBSTYLE_EX_DOUBLEBUFFER :: 0x80
|
||||
|
||||
// Toolbar Item State Codes
|
||||
TBSTATE_CHECKED :: 0x01
|
||||
TBSTATE_PRESSED :: 0x02
|
||||
TBSTATE_ENABLED :: 0x04
|
||||
TBSTATE_HIDDEN :: 0x08
|
||||
TBSTATE_INDETERMINATE :: 0x10
|
||||
TBSTATE_WRAP :: 0x20
|
||||
TBSTATE_ELLIPSES :: 0x40
|
||||
TBSTATE_MARKED :: 0x80
|
||||
|
||||
// Toolbar Constants
|
||||
TBCDRF_NOEDGES :: 0x010000
|
||||
TBCDRF_HILITEHOTTRACK :: 0x020000
|
||||
TBCDRF_NOOFFSET :: 0x040000
|
||||
TBCDRF_NOMARK :: 0x080000
|
||||
TBCDRF_NOETCHEDEFFECT :: 0x100000
|
||||
TBCDRF_BLENDICON :: 0x200000
|
||||
TBCDRF_NOBACKGROUND :: 0x400000
|
||||
|
||||
TBBF_LARGE :: 0x1
|
||||
|
||||
TBIF_IMAGE :: 0x00000001
|
||||
TBIF_TEXT :: 0x00000002
|
||||
TBIF_STATE :: 0x00000004
|
||||
TBIF_STYLE :: 0x00000008
|
||||
TBIF_LPARAM :: 0x00000010
|
||||
TBIF_COMMAND :: 0x00000020
|
||||
TBIF_SIZE :: 0x00000040
|
||||
TBIF_BYINDEX :: 0x80000000
|
||||
|
||||
TBMF_PAD :: 0x1
|
||||
TBMF_BARPAD :: 0x2
|
||||
TBMF_BUTTONSPACING :: 0x4
|
||||
|
||||
IDB_STD_SMALL_COLOR :: 0
|
||||
IDB_STD_LARGE_COLOR :: 1
|
||||
IDB_VIEW_SMALL_COLOR :: 4
|
||||
IDB_VIEW_LARGE_COLOR :: 5
|
||||
IDB_HIST_SMALL_COLOR :: 8
|
||||
IDB_HIST_LARGE_COLOR :: 9
|
||||
|
||||
STD_CUT :: 0
|
||||
STD_COPY :: 1
|
||||
STD_PASTE :: 2
|
||||
STD_UNDO :: 3
|
||||
STD_REDOW :: 4
|
||||
STD_DELETE :: 5
|
||||
STD_FILENEW :: 6
|
||||
STD_FILEOPEN :: 7
|
||||
STD_FILESAVE :: 8
|
||||
STD_PRINTPRE :: 9
|
||||
STD_PROPERTIES :: 10
|
||||
STD_HELP :: 11
|
||||
STD_FIND :: 12
|
||||
STD_REPLACE :: 13
|
||||
STD_PRINT :: 14
|
||||
|
||||
VIEW_LARGEICONS :: 0
|
||||
VIEW_SMALLICONS :: 1
|
||||
VIEW_LIST :: 2
|
||||
VIEW_DETAILS :: 3
|
||||
VIEW_SORTNAME :: 4
|
||||
VIEW_SORTSIZE :: 5
|
||||
VIEW_SORTDATE :: 6
|
||||
VIEW_SORTTYPE :: 7
|
||||
VIEW_PARENTFOLDER :: 8
|
||||
VIEW_NETCONNECT :: 9
|
||||
VIEW_NETDISCONNECT :: 10
|
||||
VIEW_NEWFOLDER :: 11
|
||||
VIEW_VIEWMENU :: 12
|
||||
|
||||
HIST_BACK :: 0
|
||||
HIST_FORWARD :: 1
|
||||
HIST_FAVORITES :: 2
|
||||
HIST_ADDTOFAVORITES :: 3
|
||||
HIST_VIEWTREE :: 4
|
||||
|
||||
// Header Control Styles
|
||||
HDS_HORZ :: 0x000
|
||||
HDS_BUTTONS :: 0x002
|
||||
HDS_HOTTRACK :: 0x004
|
||||
HDS_HIDDEN :: 0x008
|
||||
HDS_DRAGDROP :: 0x040
|
||||
HDS_FULLDRAG :: 0x080
|
||||
HDS_FILTERBAR :: 0x100
|
||||
HDS_FLAT :: 0x200
|
||||
|
||||
// Header Control Notifications
|
||||
HDN_ITEMCHANGINGA :: (HDN_FIRST-0)
|
||||
HDN_ITEMCHANGEDA :: (HDN_FIRST-1)
|
||||
HDN_ITEMCLICKA :: (HDN_FIRST-2)
|
||||
HDN_ITEMDBLCLICKA :: (HDN_FIRST-3)
|
||||
HDN_DIVIDERDBLCLICKA :: (HDN_FIRST-5)
|
||||
HDN_BEGINTRACKA :: (HDN_FIRST-6)
|
||||
HDN_ENDTRACKA :: (HDN_FIRST-7)
|
||||
HDN_TRACKA :: (HDN_FIRST-8)
|
||||
HDN_GETDISPINFOA :: (HDN_FIRST-9)
|
||||
HDN_BEGINDRAG :: (HDN_FIRST-10)
|
||||
HDN_ENDDRAG :: (HDN_FIRST-11)
|
||||
HDN_FILTERCHANGE :: (HDN_FIRST-12)
|
||||
HDN_FILTERBTNCLICK :: (HDN_FIRST-13)
|
||||
HDN_ITEMCHANGINGW :: (HDN_FIRST-20)
|
||||
HDN_ITEMCHANGEDW :: (HDN_FIRST-21)
|
||||
HDN_ITEMCLICKW :: (HDN_FIRST-22)
|
||||
HDN_ITEMDBLCLICKW :: (HDN_FIRST-23)
|
||||
HDN_DIVIDERDBLCLICKW :: (HDN_FIRST-25)
|
||||
HDN_BEGINTRACKW :: (HDN_FIRST-26)
|
||||
HDN_ENDTRACKW :: (HDN_FIRST-27)
|
||||
HDN_TRACKW :: (HDN_FIRST-28)
|
||||
HDN_GETDISPINFOW :: (HDN_FIRST-29)
|
||||
|
||||
// Header Control Constants
|
||||
HDFT_ISSTRING :: 0x0000
|
||||
HDFT_ISNUMBER :: 0x0001
|
||||
HDFT_HASNOVALUE :: 0x8000
|
||||
|
||||
HDI_WIDTH :: 0x001
|
||||
HDI_HEIGHT :: HDI_WIDTH
|
||||
HDI_TEXT :: 0x002
|
||||
HDI_FORMAT :: 0x004
|
||||
HDI_LPARAM :: 0x008
|
||||
HDI_BITMAP :: 0x010
|
||||
HDI_IMAGE :: 0x020
|
||||
HDI_DI_SETITEM :: 0x040
|
||||
HDI_ORDER :: 0x080
|
||||
HDI_FILTER :: 0x100
|
||||
|
||||
HDF_LEFT :: 0x0000000
|
||||
HDF_RIGHT :: 0x0000001
|
||||
HDF_CENTER :: 0x0000002
|
||||
HDF_JUSTIFYMASK :: 0x0000003
|
||||
HDF_RTLREADING :: 0x0000004
|
||||
HDF_CHECKBOX :: 0x0000040
|
||||
HDF_CHECKED :: 0x0000080
|
||||
HDF_FIXEDWIDTH :: 0x0000100
|
||||
HDF_SORTDOWN :: 0x0000200
|
||||
HDF_SORTUP :: 0x0000400
|
||||
HDF_IMAGE :: 0x0000800
|
||||
HDF_BITMAP_ON_RIGHT :: 0x0001000
|
||||
HDF_BITMAP :: 0x0002000
|
||||
HDF_STRING :: 0x0004000
|
||||
HDF_OWNERDRAW :: 0x0008000
|
||||
HDF_SPLITBUTTON :: 0x1000000
|
||||
|
||||
HHT_NOWHERE :: 0x001
|
||||
HHT_ONHEADER :: 0x002
|
||||
HHT_ONDIVIDER :: 0x004
|
||||
HHT_ONDIVOPEN :: 0x008
|
||||
HHT_ONFILTER :: 0x010
|
||||
HHT_ONFILTERBUTTON :: 0x020
|
||||
HHT_ABOVE :: 0x100
|
||||
HHT_BELOW :: 0x200
|
||||
HHT_TORIGHT :: 0x400
|
||||
HHT_TOLEFT :: 0x800
|
||||
|
||||
// Rebar Control Styles
|
||||
RBS_TOOLTIPS :: 0x0100
|
||||
RBS_VARHEIGHT :: 0x0200
|
||||
RBS_BANDBORDERS :: 0x0400
|
||||
RBS_FIXEDORDER :: 0x0800
|
||||
RBS_REGISTERDROP :: 0x1000
|
||||
RBS_AUTOSIZE :: 0x2000
|
||||
RBS_VERTICALGRIPPER :: 0x4000
|
||||
RBS_DBLCLKTOGGLE :: 0x8000
|
||||
|
||||
// Tooltip Control Styles
|
||||
TTS_ALWAYSTIP :: 0x01
|
||||
TTS_NOPREFIX :: 0x02
|
||||
TTS_NOANIMATE :: 0x10
|
||||
TTS_NOFADE :: 0x20
|
||||
TTS_BALLOON :: 0x40
|
||||
TTS_CLOSE :: 0x80
|
||||
|
||||
// Statusbar Control Styles
|
||||
SBARS_SIZEGRIP :: 0x100
|
||||
SBARS_TOOLTIPS :: 0x800
|
||||
|
||||
// Statusbar Control Constants
|
||||
SBT_TOOLTIPS :: 0x800
|
||||
|
||||
// Up-Down Control Styles
|
||||
UDS_WRAP :: 0x001
|
||||
UDS_SETBUDDYINT :: 0x002
|
||||
UDS_ALIGNRIGHT :: 0x004
|
||||
UDS_ALIGNLEFT :: 0x008
|
||||
UDS_AUTOBUDDY :: 0x010
|
||||
UDS_ARROWKEYS :: 0x020
|
||||
UDS_HORZ :: 0x040
|
||||
UDS_NOTHOUSANDS :: 0x080
|
||||
UDS_HOTTRACK :: 0x100
|
||||
|
||||
// Common Control Styles
|
||||
CCS_TOP :: 0x01
|
||||
CCS_NOMOVEY :: 0x02
|
||||
CCS_BOTTOM :: 0x03
|
||||
CCS_NORESIZE :: 0x04
|
||||
CCS_NOPARENTALIGN :: 0x08
|
||||
CCS_ADJUSTABLE :: 0x20
|
||||
CCS_NODIVIDER :: 0x40
|
||||
CCS_VERT :: 0x80
|
||||
CCS_LEFT :: (CCS_VERT | CCS_TOP)
|
||||
CCS_RIGHT :: (CCS_VERT | CCS_BOTTOM)
|
||||
CCS_NOMOVEX :: (CCS_VERT | CCS_NOMOVEY)
|
||||
|
||||
// List-View Control Styles
|
||||
LVS_ICON :: 0x0000
|
||||
LVS_REPORT :: 0x0001
|
||||
LVS_SMALLICON :: 0x0002
|
||||
LVS_LIST :: 0x0003
|
||||
LVS_TYPEMASK :: 0x0003
|
||||
LVS_SINGLESEL :: 0x0004
|
||||
LVS_SHOWSELALWAYS :: 0x0008
|
||||
LVS_SORTASCENDING :: 0x0010
|
||||
LVS_SORTDESCENDING :: 0x0020
|
||||
LVS_SHAREIMAGELISTS :: 0x0040
|
||||
LVS_NOLABELWRAP :: 0x0080
|
||||
LVS_AUTOARRANGE :: 0x0100
|
||||
LVS_EDITLABELS :: 0x0200
|
||||
LVS_OWNERDATA :: 0x1000
|
||||
LVS_NOSCROLL :: 0x2000
|
||||
LVS_TYPESTYLEMASK :: 0xFC00
|
||||
LVS_ALIGNTOP :: 0x0000
|
||||
LVS_ALIGNLEFT :: 0x0800
|
||||
LVS_ALIGNMASK :: 0x0C00
|
||||
LVS_OWNERDRAWFIXED :: 0x0400
|
||||
LVS_NOCOLUMNHEADER :: 0x4000
|
||||
LVS_NOSORTHEADER :: 0x8000
|
||||
|
||||
// Tree-View Control Styles
|
||||
TVS_HASBUTTONS :: 0x0001
|
||||
TVS_HASLINES :: 0x0002
|
||||
TVS_LINESATROOT :: 0x0004
|
||||
TVS_EDITLABELS :: 0x0008
|
||||
TVS_DISABLEDRAGDROP :: 0x0010
|
||||
TVS_SHOWSELALWAYS :: 0x0020
|
||||
TVS_RTLREADING :: 0x0040
|
||||
TVS_NOTOOLTIPS :: 0x0080
|
||||
TVS_CHECKBOXES :: 0x0100
|
||||
TVS_TRACKSELECT :: 0x0200
|
||||
TVS_SINGLEEXPAND :: 0x0400
|
||||
TVS_INFOTIP :: 0x0800
|
||||
TVS_FULLROWSELECT :: 0x1000
|
||||
TVS_NOSCROLL :: 0x2000
|
||||
TVS_NONEVENHEIGHT :: 0x4000
|
||||
TVS_NOHSCROLL :: 0x8000
|
||||
|
||||
// Tree-View Control Constants
|
||||
TVE_COLLAPSE :: 0x0001
|
||||
TVE_EXPAND :: 0x0002
|
||||
TVE_TOGGLE :: 0x0003
|
||||
TVE_EXPANDPARTIAL :: 0x4000
|
||||
TVE_COLLAPSERESET :: 0x8000
|
||||
|
||||
TVSIL_NORMAL :: 0
|
||||
TVSIL_STATE :: 2
|
||||
|
||||
TVGN_ROOT :: 0x0
|
||||
TVGN_NEXT :: 0x1
|
||||
TVGN_PREVIOUS :: 0x2
|
||||
TVGN_PARENT :: 0x3
|
||||
TVGN_CHILD :: 0x4
|
||||
TVGN_FIRSTVISIBLE :: 0x5
|
||||
TVGN_NEXTVISIBLE :: 0x6
|
||||
TVGN_PREVIOUSVISIBLE :: 0x7
|
||||
TVGN_DROPHILITE :: 0x8
|
||||
TVGN_CARET :: 0x9
|
||||
TVGN_LASTVISIBLE :: 0xA
|
||||
|
||||
TVSI_NOSINGLEEXPAND :: 0x8000
|
||||
|
||||
TVHT_NOWHERE :: 0x001
|
||||
TVHT_ONITEMICON :: 0x002
|
||||
TVHT_ONITEMLABEL :: 0x004
|
||||
TVHT_ONITEM :: (TVHT_ONITEMICON | TVHT_ONITEMLABEL | TVHT_ONITEMSTATEICON)
|
||||
TVHT_ONITEMINDENT :: 0x008
|
||||
TVHT_ONITEMBUTTON :: 0x010
|
||||
TVHT_ONITEMRIGHT :: 0x020
|
||||
TVHT_ONITEMSTATEICON :: 0x040
|
||||
TVHT_ABOVE :: 0x100
|
||||
TVHT_BELOW :: 0x200
|
||||
TVHT_TORIGHT :: 0x400
|
||||
TVHT_TOLEFT :: 0x800
|
||||
|
||||
// Tab Control Styles
|
||||
TCS_SCROLLOPPOSITE :: 0x0001
|
||||
TCS_BOTTOM :: 0x0002
|
||||
TCS_RIGHT :: 0x0002
|
||||
TCS_MULTISELECT :: 0x0004
|
||||
TCS_FLATBUTTONS :: 0x0008
|
||||
TCS_FORCEICONLEFT :: 0x0010
|
||||
TCS_FORCELABELLEFT :: 0x0020
|
||||
TCS_HOTTRACK :: 0x0040
|
||||
TCS_VERTICAL :: 0x0080
|
||||
TCS_TABS :: 0x0000
|
||||
TCS_BUTTONS :: 0x0100
|
||||
TCS_SINGLELINE :: 0x0000
|
||||
TCS_MULTILINE :: 0x0200
|
||||
TCS_RIGHTJUSTIFY :: 0x0000
|
||||
TCS_FIXEDWIDTH :: 0x0400
|
||||
TCS_RAGGEDRIGHT :: 0x0800
|
||||
TCS_FOCUSONBUTTONDOWN :: 0x1000
|
||||
TCS_OWNERDRAWFIXED :: 0x2000
|
||||
TCS_TOOLTIPS :: 0x4000
|
||||
TCS_FOCUSNEVER :: 0x8000
|
||||
|
||||
// Tab Control Constants
|
||||
TCIF_TEXT :: 0x01
|
||||
TCIF_IMAGE :: 0x02
|
||||
TCIF_RTLREADING :: 0x04
|
||||
TCIF_PARAM :: 0x08
|
||||
TCIF_STATE :: 0x10
|
||||
|
||||
TCIS_BUTTONPRESSED :: 0x1
|
||||
TCIS_HIGHLIGHTED :: 0x2
|
||||
|
||||
TCHT_NOWHERE :: 0x1
|
||||
TCHT_ONITEMICON :: 0x2
|
||||
TCHT_ONITEMLABEL :: 0x4
|
||||
TCHT_ONITEM :: (TCHT_ONITEMICON | TCHT_ONITEMLABEL)
|
||||
|
||||
// Animation Control Styles
|
||||
ACS_CENTER :: 0x1
|
||||
ACS_TRANSPARENT :: 0x2
|
||||
ACS_AUTOPLAY :: 0x4
|
||||
ACS_TIMER :: 0x8
|
||||
|
||||
// Month-Calendar Control Styles
|
||||
MCS_DAYSTATE :: 0x01
|
||||
MCS_MULTISELECT :: 0x02
|
||||
MCS_WEEKNUMBERS :: 0x04
|
||||
MCS_NOTODAYCIRCLE :: 0x08
|
||||
MCS_NOTODAY :: 0x10
|
||||
|
||||
// Date-and-Time Picker Control Styles
|
||||
DTS_UPDOWN :: 0x01
|
||||
DTS_SHOWNONE :: 0x02
|
||||
DTS_SHORTDATEFORMAT :: 0x00
|
||||
DTS_LONGDATEFORMAT :: 0x04
|
||||
DTS_SHORTDATECENTURYFORMAT :: 0x0C
|
||||
DTS_TIMEFORMAT :: 0x09
|
||||
DTS_APPCANPARSE :: 0x10
|
||||
DTS_RIGHTALIGN :: 0x20
|
||||
|
||||
// Pager Control Styles
|
||||
PGS_VERT :: 0x0
|
||||
PGS_HORZ :: 0x1
|
||||
PGS_AUTOSCROLL :: 0x2
|
||||
PGS_DRAGNDROP :: 0x4
|
||||
|
||||
// Native Font Control Styles
|
||||
NFS_EDIT :: 0x01
|
||||
NFS_STATIC :: 0x02
|
||||
NFS_LISTCOMBO :: 0x04
|
||||
NFS_BUTTON :: 0x08
|
||||
NFS_ALL :: 0x10
|
||||
NFS_USEFONTASSOC :: 0x20
|
||||
|
||||
// Font Weights
|
||||
FW_DONTCARE :: 0
|
||||
FW_THIN :: 100
|
||||
@@ -1206,6 +1659,16 @@ NMHDR :: struct {
|
||||
code: UINT, // NM_ code
|
||||
}
|
||||
|
||||
NMCUSTOMDRAW :: struct {
|
||||
hdr: NMHDR,
|
||||
dwDrawStage: DWORD,
|
||||
hdc: HDC,
|
||||
rc: RECT,
|
||||
dwItemSpec: DWORD_PTR,
|
||||
uItemState: UINT,
|
||||
lItemlParam: LPARAM,
|
||||
}
|
||||
|
||||
NCCALCSIZE_PARAMS :: struct {
|
||||
rgrc: [3]RECT,
|
||||
lppos: PWINDOWPOS,
|
||||
@@ -2204,7 +2667,24 @@ DUPLICATE_SAME_ACCESS: DWORD : 0x00000002
|
||||
CONDITION_VARIABLE_INIT :: CONDITION_VARIABLE{}
|
||||
SRWLOCK_INIT :: SRWLOCK{}
|
||||
|
||||
STARTF_USESTDHANDLES: DWORD : 0x00000100
|
||||
// Flags in STARTUPINFOW.dwFlags.
|
||||
STARTF_USESHOWWINDOW: DWORD : 0x00000001
|
||||
STARTF_USESIZE: DWORD : 0x00000002
|
||||
STARTF_USEPOSITION: DWORD : 0x00000004
|
||||
STARTF_USECOUNTCHARS: DWORD : 0x00000008
|
||||
STARTF_USEFILLATTRIBUTE: DWORD : 0x00000010
|
||||
STARTF_RUNFULLSCREEN: DWORD : 0x00000020 // ignored for non-x86 platforms
|
||||
STARTF_FORCEONFEEDBACK: DWORD : 0x00000040
|
||||
STARTF_FORCEOFFFEEDBACK: DWORD : 0x00000080
|
||||
STARTF_USESTDHANDLES: DWORD : 0x00000100
|
||||
// WINVER >= 0x400
|
||||
STARTF_USEHOTKEY: DWORD : 0x00000200
|
||||
STARTF_TITLEISLINKNAME: DWORD : 0x00000800
|
||||
STARTF_TITLEISAPPID: DWORD : 0x00001000
|
||||
STARTF_PREVENTPINNING: DWORD : 0x00002000
|
||||
// WINVER >= 0x600
|
||||
STARTF_UNTRUSTEDSOURCE: DWORD : 0x00008000
|
||||
|
||||
|
||||
VOLUME_NAME_DOS: DWORD : 0x0
|
||||
|
||||
|
||||
@@ -63,6 +63,8 @@ foreign user32 {
|
||||
UpdateWindow :: proc(hWnd: HWND) -> BOOL ---
|
||||
SetActiveWindow :: proc(hWnd: HWND) -> HWND ---
|
||||
GetActiveWindow :: proc() -> HWND ---
|
||||
SetFocus :: proc(hWnd: HWND) -> HWND ---
|
||||
GetFocus :: proc() -> HWND ---
|
||||
RedrawWindow :: proc(hwnd: HWND, lprcUpdate: LPRECT, hrgnUpdate: HRGN, flags: RedrawWindowFlags) -> BOOL ---
|
||||
SetParent :: proc(hWndChild: HWND, hWndNewParent: HWND) -> HWND ---
|
||||
SetPropW :: proc(hWnd: HWND, lpString: LPCWSTR, hData: HANDLE) -> BOOL ---
|
||||
@@ -211,6 +213,7 @@ foreign user32 {
|
||||
EnumDisplayMonitors :: proc(hdc: HDC, lprcClip: LPRECT, lpfnEnum: Monitor_Enum_Proc, dwData: LPARAM) -> BOOL ---
|
||||
|
||||
EnumWindows :: proc(lpEnumFunc: Window_Enum_Proc, lParam: LPARAM) -> BOOL ---
|
||||
EnumChildWindows :: proc(hWndParent: HWND, lpEnumFunc: Window_Enum_Proc, lParam: LPARAM) -> BOOL ---
|
||||
|
||||
IsProcessDPIAware :: proc() -> BOOL ---
|
||||
SetProcessDPIAware :: proc() -> BOOL ---
|
||||
@@ -846,3 +849,23 @@ FKF_CONFIRMHOTKEY :: 0x8
|
||||
FKF_HOTKEYSOUND :: 0x10
|
||||
FKF_INDICATOR :: 0x20
|
||||
FKF_CLICKON :: 0x40
|
||||
|
||||
NONCLIENTMETRICSW :: struct {
|
||||
cbSize: UINT,
|
||||
iBorderWidth: i32,
|
||||
iScrollWidth: i32,
|
||||
iScrollHeight: i32,
|
||||
iCaptionWidth: i32,
|
||||
iCaptionHeight: i32,
|
||||
lfCaptionFont: LOGFONTW,
|
||||
iSmCaptionWidth: i32,
|
||||
iSmCaptionHeight: i32,
|
||||
lfSmCaptionFont: LOGFONTW,
|
||||
iMenuWidth: i32,
|
||||
iMenuHeight: i32,
|
||||
lfMenuFont: LOGFONTW,
|
||||
lfStatusFont: LOGFONTW,
|
||||
lfMessageFont: LOGFONTW,
|
||||
iPaddedBorderWidth: i32,
|
||||
}
|
||||
LPNONCLIENTMETRICSW :: ^NONCLIENTMETRICSW
|
||||
|
||||
@@ -9,4 +9,5 @@ PMARGINS :: ^MARGINS
|
||||
@(default_calling_convention="system")
|
||||
foreign uxtheme {
|
||||
IsThemeActive :: proc() -> BOOL ---
|
||||
SetWindowTheme :: proc(hWnd: HWND, pszSubAppName, pszSubIdList: LPCWSTR) -> HRESULT ---
|
||||
}
|
||||
|
||||
@@ -687,10 +687,14 @@ EM_GETAUTOURLDETECT :: 0x045c
|
||||
TB_GETSTRINGA :: 0x045c
|
||||
EM_SETPALETTE :: 0x045d
|
||||
EM_GETTEXTEX :: 0x045e
|
||||
TB_SETHOTITEM2 :: 0x045e
|
||||
EM_GETTEXTLENGTHEX :: 0x045f
|
||||
EM_SHOWSCROLLBAR :: 0x0460
|
||||
TB_SETLISTGAP :: 0x0460
|
||||
EM_SETTEXTEX :: 0x0461
|
||||
TB_GETIMAGELISTCOUNT :: 0x0462
|
||||
TAPI_REPLY :: 0x0463
|
||||
TB_GETIDEALSIZE :: 0x0463
|
||||
ACM_OPENA :: 0x0464
|
||||
BFFM_SETSTATUSTEXTA :: 0x0464
|
||||
CDM_FIRST :: 0x0464
|
||||
@@ -704,6 +708,7 @@ CDM_GETFILEPATH :: 0x0465
|
||||
EM_GETPUNCTUATION :: 0x0465
|
||||
IPM_SETADDRESS :: 0x0465
|
||||
PSM_SETCURSEL :: 0x0465
|
||||
TB_GETMETRICS :: 0x0465
|
||||
UDM_SETRANGE :: 0x0465
|
||||
WM_CHOOSEFONT_SETLOGFONT :: 0x0465
|
||||
ACM_STOP :: 0x0466
|
||||
@@ -712,6 +717,7 @@ CDM_GETFOLDERPATH :: 0x0466
|
||||
EM_SETWORDWRAPMODE :: 0x0466
|
||||
IPM_GETADDRESS :: 0x0466
|
||||
PSM_REMOVEPAGE :: 0x0466
|
||||
TB_SETMETRICS :: 0x0466
|
||||
UDM_GETRANGE :: 0x0466
|
||||
WM_CAP_SET_CALLBACK_ERRORW :: 0x0466
|
||||
WM_CHOOSEFONT_SETFLAGS :: 0x0466
|
||||
@@ -721,6 +727,7 @@ CDM_GETFOLDERIDLIST :: 0x0467
|
||||
EM_GETWORDWRAPMODE :: 0x0467
|
||||
IPM_SETRANGE :: 0x0467
|
||||
PSM_ADDPAGE :: 0x0467
|
||||
TB_GETITEMDROPDOWNRECT :: 0x0467
|
||||
UDM_SETPOS :: 0x0467
|
||||
WM_CAP_SET_CALLBACK_STATUSW :: 0x0467
|
||||
BFFM_SETSTATUSTEXTW :: 0x0468
|
||||
@@ -728,11 +735,13 @@ CDM_SETCONTROLTEXT :: 0x0468
|
||||
EM_SETIMECOLOR :: 0x0468
|
||||
IPM_SETFOCUS :: 0x0468
|
||||
PSM_CHANGED :: 0x0468
|
||||
TB_SETPRESSEDIMAGELIST :: 0x0468
|
||||
UDM_GETPOS :: 0x0468
|
||||
CDM_HIDECONTROL :: 0x0469
|
||||
EM_GETIMECOLOR :: 0x0469
|
||||
IPM_ISBLANK :: 0x0469
|
||||
PSM_RESTARTWINDOWS :: 0x0469
|
||||
TB_GETPRESSEDIMAGELIST :: 0x0469
|
||||
UDM_SETBUDDY :: 0x0469
|
||||
CDM_SETDEFEXT :: 0x046a
|
||||
EM_SETIMEOPTIONS :: 0x046a
|
||||
@@ -915,6 +924,10 @@ FM_GETDRIVEINFOW :: 0x0611
|
||||
FM_GETFILESELW :: 0x0614
|
||||
FM_GETFILESELLFNW :: 0x0615
|
||||
WLX_WM_SAS :: 0x0659
|
||||
LM_HITTEST :: 0x0700
|
||||
LM_GETIDEALHEIGHT :: 0x0701
|
||||
LM_SETITEM :: 0x0702
|
||||
LM_GETITEM :: 0x0703
|
||||
SM_GETSELCOUNT :: 0x07e8
|
||||
UM_GETSELCOUNT :: 0x07e8
|
||||
WM_CPL_LAUNCH :: 0x07e8
|
||||
@@ -1011,6 +1024,7 @@ LVM_GETITEMW :: 0x104b
|
||||
LVM_SETITEMW :: 0x104c
|
||||
LVM_INSERTITEMW :: 0x104d
|
||||
LVM_GETTOOLTIPS :: 0x104e
|
||||
LVM_SORTITEMSEX :: 0x1051
|
||||
LVM_FINDITEMW :: 0x1053
|
||||
LVM_GETSTRINGWIDTHW :: 0x1057
|
||||
LVM_GETCOLUMNW :: 0x105f
|
||||
@@ -1065,7 +1079,143 @@ LVM_GETFOOTERITEM :: 0x10d0
|
||||
LVM_GETITEMINDEXRECT :: 0x10d1
|
||||
LVM_SETITEMINDEXSTATE :: 0x10d2
|
||||
LVM_GETNEXTITEMINDEX :: 0x10d3
|
||||
TV_FIRST :: 0x1100
|
||||
TVM_INSERTITEMA :: (TV_FIRST+0)
|
||||
TVM_DELETEITEM :: (TV_FIRST+1)
|
||||
TVM_EXPAND :: (TV_FIRST+2)
|
||||
TVM_GETITEMRECT :: (TV_FIRST+4)
|
||||
TVM_GETCOUNT :: (TV_FIRST+5)
|
||||
TVM_GETINDENT :: (TV_FIRST+6)
|
||||
TVM_SETINDENT :: (TV_FIRST+7)
|
||||
TVM_GETIMAGELIST :: (TV_FIRST+8)
|
||||
TVM_SETIMAGELIST :: (TV_FIRST+9)
|
||||
TVM_GETNEXTITEM :: (TV_FIRST+10)
|
||||
TVM_SELECTITEM :: (TV_FIRST+11)
|
||||
TVM_GETITEMA :: (TV_FIRST+12)
|
||||
TVM_SETITEMA :: (TV_FIRST+13)
|
||||
TVM_EDITLABELA :: (TV_FIRST+14)
|
||||
TVM_GETEDITCONTROL :: (TV_FIRST+15)
|
||||
TVM_GETVISIBLECOUNT :: (TV_FIRST+16)
|
||||
TVM_HITTEST :: (TV_FIRST+17)
|
||||
TVM_CREATEDRAGIMAGE :: (TV_FIRST+18)
|
||||
TVM_SORTCHILDREN :: (TV_FIRST+19)
|
||||
TVM_ENSUREVISIBLE :: (TV_FIRST+20)
|
||||
TVM_SORTCHILDRENCB :: (TV_FIRST+21)
|
||||
TVM_ENDEDITLABELNOW :: (TV_FIRST+22)
|
||||
TVM_GETISEARCHSTRINGA :: (TV_FIRST+23)
|
||||
TVM_SETTOOLTIPS :: (TV_FIRST+24)
|
||||
TVM_GETTOOLTIPS :: (TV_FIRST+25)
|
||||
TVM_SETINSERTMARK :: (TV_FIRST+26)
|
||||
TVM_SETUNICODEFORMAT :: CCM_SETUNICODEFORMAT
|
||||
TVM_GETUNICODEFORMAT :: CCM_GETUNICODEFORMAT
|
||||
TVM_SETITEMHEIGHT :: (TV_FIRST+27)
|
||||
TVM_GETITEMHEIGHT :: (TV_FIRST+28)
|
||||
TVM_SETBKCOLOR :: (TV_FIRST+29)
|
||||
TVM_SETTEXTCOLOR :: (TV_FIRST+30)
|
||||
TVM_GETBKCOLOR :: (TV_FIRST+31)
|
||||
TVM_GETTEXTCOLOR :: (TV_FIRST+32)
|
||||
TVM_SETSCROLLTIME :: (TV_FIRST+33)
|
||||
TVM_GETSCROLLTIME :: (TV_FIRST+34)
|
||||
TVM_SETINSERTMARKCOLOR :: (TV_FIRST+37)
|
||||
TVM_GETINSERTMARKCOLOR :: (TV_FIRST+38)
|
||||
TVM_GETITEMSTATE :: (TV_FIRST+39)
|
||||
TVM_SETLINECOLOR :: (TV_FIRST+40)
|
||||
TVM_GETLINECOLOR :: (TV_FIRST+41)
|
||||
TVM_MAPACCIDTOHTREEITEM :: (TV_FIRST+42)
|
||||
TVM_MAPHTREEITEMTOACCID :: (TV_FIRST+43)
|
||||
TVM_INSERTITEMW :: (TV_FIRST+50)
|
||||
TVM_GETITEMW :: (TV_FIRST+62)
|
||||
TVM_SETITEMW :: (TV_FIRST+63)
|
||||
TVM_GETISEARCHSTRINGW :: (TV_FIRST+64)
|
||||
TVM_EDITLABELW :: (TV_FIRST+65)
|
||||
HDM_FIRST :: 0x1200
|
||||
HDM_GETITEMCOUNT :: (HDM_FIRST+0)
|
||||
HDM_INSERTITEMA :: (HDM_FIRST+1)
|
||||
HDM_DELETEITEM :: (HDM_FIRST+2)
|
||||
HDM_GETITEMA :: (HDM_FIRST+3)
|
||||
HDM_SETITEMA :: (HDM_FIRST+4)
|
||||
HDM_LAYOUT :: (HDM_FIRST+5)
|
||||
HDM_HITTEST :: (HDM_FIRST+6)
|
||||
HDM_GETITEMRECT :: (HDM_FIRST+7)
|
||||
HDM_SETIMAGELIST :: (HDM_FIRST+8)
|
||||
HDM_GETIMAGELIST :: (HDM_FIRST+9)
|
||||
HDM_INSERTITEMW :: (HDM_FIRST+10)
|
||||
HDM_GETITEMW :: (HDM_FIRST+11)
|
||||
HDM_SETITEMW :: (HDM_FIRST+12)
|
||||
HDM_ORDERTOINDEX :: (HDM_FIRST+15)
|
||||
HDM_CREATEDRAGIMAGE :: (HDM_FIRST+16)
|
||||
HDM_GETORDERARRAY :: (HDM_FIRST+17)
|
||||
HDM_SETORDERARRAY :: (HDM_FIRST+18)
|
||||
HDM_SETHOTDIVIDER :: (HDM_FIRST+19)
|
||||
HDM_SETBITMAPMARGIN :: (HDM_FIRST+20)
|
||||
HDM_GETBITMAPMARGIN :: (HDM_FIRST+21)
|
||||
HDM_SETFILTERCHANGETIMEOUT :: (HDM_FIRST+22)
|
||||
HDM_SETUNICODEFORMAT :: CCM_SETUNICODEFORMAT
|
||||
HDM_GETUNICODEFORMAT :: CCM_GETUNICODEFORMAT
|
||||
HDM_EDITFILTER :: (HDM_FIRST+23)
|
||||
HDM_CLEARFILTER :: (HDM_FIRST+24)
|
||||
TCM_FIRST :: 0x1300
|
||||
TCM_GETIMAGELIST :: (TCM_FIRST+2)
|
||||
TCM_SETIMAGELIST :: (TCM_FIRST+3)
|
||||
TCM_GETITEMCOUNT :: (TCM_FIRST+4)
|
||||
TCM_GETITEMA :: (TCM_FIRST+5)
|
||||
TCM_SETITEMA :: (TCM_FIRST+6)
|
||||
TCM_INSERTITEMA :: (TCM_FIRST+7)
|
||||
TCM_DELETEITEM :: (TCM_FIRST+8)
|
||||
TCM_DELETEALLITEMS :: (TCM_FIRST+9)
|
||||
TCM_GETITEMRECT :: (TCM_FIRST+10)
|
||||
TCM_GETCURSEL :: (TCM_FIRST+11)
|
||||
TCM_SETCURSEL :: (TCM_FIRST+12)
|
||||
TCM_HITTEST :: (TCM_FIRST+13)
|
||||
TCM_SETITEMEXTRA :: (TCM_FIRST+14)
|
||||
TCM_ADJUSTRECT :: (TCM_FIRST+40)
|
||||
TCM_SETITEMSIZE :: (TCM_FIRST+41)
|
||||
TCM_REMOVEIMAGE :: (TCM_FIRST+42)
|
||||
TCM_SETPADDING :: (TCM_FIRST+43)
|
||||
TCM_GETROWCOUNT :: (TCM_FIRST+44)
|
||||
TCM_GETTOOLTIPS :: (TCM_FIRST+45)
|
||||
TCM_SETTOOLTIPS :: (TCM_FIRST+46)
|
||||
TCM_GETCURFOCUS :: (TCM_FIRST+47)
|
||||
TCM_SETCURFOCUS :: (TCM_FIRST+48)
|
||||
TCM_SETMINTABWIDTH :: (TCM_FIRST+49)
|
||||
TCM_DESELECTALL :: (TCM_FIRST+50)
|
||||
TCM_HIGHLIGHTITEM :: (TCM_FIRST+51)
|
||||
TCM_SETEXTENDEDSTYLE :: (TCM_FIRST+52)
|
||||
TCM_GETEXTENDEDSTYLE :: (TCM_FIRST+53)
|
||||
TCM_SETUNICODEFORMAT :: CCM_SETUNICODEFORMAT
|
||||
TCM_GETUNICODEFORMAT :: CCM_GETUNICODEFORMAT
|
||||
TCM_GETITEMW :: (TCM_FIRST+60)
|
||||
TCM_SETITEMW :: (TCM_FIRST+61)
|
||||
TCM_INSERTITEMW :: (TCM_FIRST+62)
|
||||
PGM_FIRST :: 0x1400
|
||||
PGM_SETCHILD :: (PGM_FIRST+1)
|
||||
PGM_RECALCSIZE :: (PGM_FIRST+2)
|
||||
PGM_FORWARDMOUSE :: (PGM_FIRST+3)
|
||||
PGM_SETBKCOLOR :: (PGM_FIRST+4)
|
||||
PGM_GETBKCOLOR :: (PGM_FIRST+5)
|
||||
PGM_SETBORDER :: (PGM_FIRST+6)
|
||||
PGM_GETBORDER :: (PGM_FIRST+7)
|
||||
PGM_SETPOS :: (PGM_FIRST+8)
|
||||
PGM_GETPOS :: (PGM_FIRST+9)
|
||||
PGM_SETBUTTONSIZE :: (PGM_FIRST+10)
|
||||
PGM_GETBUTTONSIZE :: (PGM_FIRST+11)
|
||||
PGM_GETBUTTONSTATE :: (PGM_FIRST+12)
|
||||
PGM_GETDROPTARGET :: CCM_GETDROPTARGET
|
||||
ECM_FIRST :: 0x1500
|
||||
EM_SETCUEBANNER :: ECM_FIRST + 0x0001
|
||||
EM_GETCUEBANNER :: ECM_FIRST + 0x0002
|
||||
EM_SHOWBALLOONTIP :: ECM_FIRST + 0x0003
|
||||
EM_HIDEBALLOONTIP :: ECM_FIRST + 0x0004
|
||||
EM_SETHILITE :: ECM_FIRST + 0x0005
|
||||
EM_GETHILITE :: ECM_FIRST + 0x0006
|
||||
EM_NOSETFOCUS :: ECM_FIRST + 0x0007
|
||||
EM_TAKEFOCUS :: ECM_FIRST + 0x0008
|
||||
BCM_FIRST :: 0x1600
|
||||
BCM_GETIDEALSIZE :: BCM_FIRST + 0x0001
|
||||
BCM_SETIMAGELIST :: BCM_FIRST + 0x0002
|
||||
BCM_GETIMAGELIST :: BCM_FIRST + 0x0003
|
||||
BCM_SETTEXTMARGIN :: BCM_FIRST + 0x0004
|
||||
BCM_GETTEXTMARGIN :: BCM_FIRST + 0x0005
|
||||
BCM_SETDROPDOWNSTATE :: BCM_FIRST + 0x0006
|
||||
BCM_SETSPLITINFO :: BCM_FIRST + 0x0007
|
||||
BCM_GETSPLITINFO :: BCM_FIRST + 0x0008
|
||||
@@ -1073,9 +1223,29 @@ BCM_SETNOTE :: BCM_FIRST + 0x0009
|
||||
BCM_GETNOTE :: BCM_FIRST + 0x000A
|
||||
BCM_GETNOTELENGTH :: BCM_FIRST + 0x000B
|
||||
BCM_SETSHIELD :: BCM_FIRST + 0x000C
|
||||
CBM_FIRST :: 0x1700
|
||||
CB_SETMINVISIBLE :: CBM_FIRST + 0x0001
|
||||
CB_GETMINVISIBLE :: CBM_FIRST + 0x0002
|
||||
CCM_FIRST :: 0x2000
|
||||
CCM_LAST :: (CCM_FIRST+0x200)
|
||||
CCM_SETBKCOLOR :: (CCM_FIRST+1)
|
||||
CCM_SETCOLORSCHEME :: (CCM_FIRST+2)
|
||||
CCM_GETCOLORSCHEME :: (CCM_FIRST+3)
|
||||
CCM_GETDROPTARGET :: (CCM_FIRST+4)
|
||||
CCM_SETUNICODEFORMAT :: (CCM_FIRST+5)
|
||||
CCM_GETUNICODEFORMAT :: (CCM_FIRST+6)
|
||||
CCM_SETVERSION :: (CCM_FIRST+7)
|
||||
CCM_GETVERSION :: (CCM_FIRST+8)
|
||||
CCM_SETNOTIFYWINDOW :: (CCM_FIRST+9)
|
||||
CCM_SETWINDOWTHEME :: (CCM_FIRST+11)
|
||||
CCM_DPISCALE :: (CCM_FIRST+12)
|
||||
OCM__BASE :: 0x2000
|
||||
LVM_SETUNICODEFORMAT :: 0x2005
|
||||
SB_SETUNICODEFORMAT :: 0x2005
|
||||
LVM_GETUNICODEFORMAT :: 0x2006
|
||||
SB_GETUNICODEFORMAT :: 0x2006
|
||||
CBEM_SETWINDOWTHEME :: 0x200b
|
||||
TB_SETWINDOWTHEME :: 0x200b
|
||||
OCM_CTLCOLOR :: 0x2019
|
||||
OCM_DRAWITEM :: 0x202b
|
||||
OCM_MEASUREITEM :: 0x202c
|
||||
|
||||
Reference in New Issue
Block a user