From 88ee5d1a6de96cb45951eed936df9e7bf9c8022c Mon Sep 17 00:00:00 2001 From: oskarnp Date: Sun, 26 Mar 2023 16:10:27 +0200 Subject: [PATCH 01/50] text/table: Initial implementation --- core/text/table/doc.odin | 100 ++++++++++ core/text/table/table.odin | 399 +++++++++++++++++++++++++++++++++++++ 2 files changed, 499 insertions(+) create mode 100644 core/text/table/doc.odin create mode 100644 core/text/table/table.odin diff --git a/core/text/table/doc.odin b/core/text/table/doc.odin new file mode 100644 index 000000000..00bde5862 --- /dev/null +++ b/core/text/table/doc.odin @@ -0,0 +1,100 @@ +/* + package table implements ascii/markdown/html/custom rendering of tables. + + --- + + Custom rendering example: + + ```odin + tbl := init(&Table{}) + padding(tbl, 0, 1) + row(tbl, "A_LONG_ENUM", "= 54,", "// A comment about A_LONG_ENUM") + row(tbl, "AN_EVEN_LONGER_ENUM", "= 1,", "// A comment about AN_EVEN_LONGER_ENUM") + build(tbl) + for row in 0.. + Made available under Odin's BSD-3 license. + + List of contributors: + oskarnp: Initial implementation. +*/ + +package text_table + +import "core:io" +import "core:os" +import "core:fmt" +import "core:mem" +import "core:mem/virtual" +import "core:runtime" +import "core:strings" + +Cell :: struct { + text: string, + alignment: Cell_Alignment, +} + +Cell_Alignment :: enum { + Left = 1, + Center, + Right, +} + +Table :: struct { + lpad, rpad: int, // Cell padding (left/right) + cells: [dynamic]Cell, + caption: string, + nr_rows, nr_cols: int, + has_header_row: bool, + table_allocator: runtime.Allocator, // Used for allocating cells/colw + format_allocator: runtime.Allocator, // Used for allocating Cell.text when applicable + + dirty: bool, // True if build() needs to be called before rendering + + // The following are computed on build() + colw: [dynamic]int, // Width of each column (including padding, excluding borders) + tblw: int, // Width of entire table (including padding, excluding borders) +} + +init :: proc{_init, _init_with_virtual_arena, _init_with_mem_arena} + +_init :: proc(tbl: ^Table, format_allocator := context.temp_allocator, table_allocator := context.allocator) -> ^Table { + tbl.table_allocator = table_allocator + tbl.cells = make([dynamic]Cell, tbl.table_allocator) + tbl.colw = make([dynamic]int, tbl.table_allocator) + tbl.format_allocator = format_allocator + return tbl +} +_init_with_virtual_arena :: proc(tbl: ^Table, format_arena: ^virtual.Arena, table_allocator := context.allocator) -> ^Table { + return _init(tbl, virtual.arena_allocator(format_arena), table_allocator) +} +_init_with_mem_arena :: proc(tbl: ^Table, format_arena: ^mem.Arena, table_allocator := context.allocator) -> ^Table { + return _init(tbl, mem.arena_allocator(format_arena), table_allocator) +} + +destroy :: proc(tbl: ^Table) { + free_all(tbl.format_allocator) + delete(tbl.cells) + delete(tbl.colw) +} + +caption :: proc(tbl: ^Table, value: string) { + tbl.caption = value + tbl.dirty = true +} + +padding :: proc(tbl: ^Table, lpad, rpad: int) { + tbl.lpad = lpad + tbl.rpad = rpad + tbl.dirty = true +} + +get_cell :: proc(tbl: ^Table, row, col: int, loc := #caller_location) -> ^Cell { + assert(col >= 0 && col < tbl.nr_cols, "cell column out of range", loc) + assert(row >= 0 && row < tbl.nr_rows, "cell row out of range", loc) + resize(&tbl.cells, tbl.nr_cols * tbl.nr_rows) + return &tbl.cells[row*tbl.nr_cols + col] +} + +set_cell_value_and_alignment :: proc(tbl: ^Table, row, col: int, value: string, alignment: Cell_Alignment) { + cell := get_cell(tbl, row, col) + cell.text = format(tbl, "%v", value) + cell.alignment = alignment + tbl.dirty = true +} + +set_cell_value :: proc(tbl: ^Table, row, col: int, value: any, loc := #caller_location) { + cell := get_cell(tbl, row, col, loc) + if cell.alignment == nil { + cell.alignment = .Left + } + switch val in value { + case nil: + cell.text = "" + case string: + cell.text = string(val) + case cstring: + cell.text = string(val) + case: + cell.text = format(tbl, "%v", val) + if cell.text == "" { + fmt.eprintf("{} text/table: format() resulted in empty string (arena out of memory?)\n", loc) + } + } + tbl.dirty = true +} + +set_cell_alignment :: proc(tbl: ^Table, row, col: int, alignment: Cell_Alignment, loc := #caller_location) { + cell := get_cell(tbl, row, col, loc) + cell.alignment = alignment + tbl.dirty = true +} + +format :: proc(tbl: ^Table, _fmt: string, args: ..any, loc := #caller_location) -> string { + context.allocator = tbl.format_allocator + return fmt.aprintf(fmt = _fmt, args = args) +} + +header :: proc(tbl: ^Table, values: ..any, loc := #caller_location) { + if (tbl.has_header_row && tbl.nr_rows != 1) || (!tbl.has_header_row && tbl.nr_rows != 0) { + panic("Cannot add headers after rows have been added", loc) + } + + if tbl.nr_rows == 0 { + tbl.nr_rows += 1 + tbl.has_header_row = true + } + + col := tbl.nr_cols + tbl.nr_cols += len(values) + for val in values { + set_cell_value(tbl, header_row(tbl), col, val, loc) + col += 1 + } + + tbl.dirty = true +} + +row :: proc(tbl: ^Table, values: ..any, loc := #caller_location) { + if tbl.nr_cols == 0 { + if len(values) == 0 { + panic("Cannot create row without values unless knowing amount of columns in advance") + } else { + tbl.nr_cols = len(values) + } + } + tbl.nr_rows += 1 + for col := 0; col < tbl.nr_cols; col += 1 { + val := values[col] if col < len(values) else nil + set_cell_value(tbl, last_row(tbl), col, val) + } + tbl.dirty = true +} + +last_row :: proc(tbl: ^Table) -> int { + return tbl.nr_rows - 1 +} + +header_row :: proc(tbl: ^Table) -> int { + return 0 if tbl.has_header_row else -1 +} + +first_row :: proc(tbl: ^Table) -> int { + return header_row(tbl)+1 if tbl.has_header_row else 0 +} + +build :: proc(tbl: ^Table) { + tbl.dirty = false + + resize(&tbl.colw, tbl.nr_cols) + mem.zero_slice(tbl.colw[:]) + + for row in 0.. tbl.colw[col] { + tbl.colw[col] = w + } + } + } + + colw_sum := 0 + for v in tbl.colw { + colw_sum += v + } + + tbl.tblw = max(colw_sum, len(tbl.caption) + tbl.lpad + tbl.rpad) + + // Resize columns to match total width of table + remain := tbl.tblw-colw_sum + for col := 0; remain > 0; col = (col + 1) % tbl.nr_cols { + tbl.colw[col] += 1 + remain -= 1 + } + + return +} + +write_html_table :: proc(w: io.Writer, tbl: ^Table) { + if tbl.dirty { + build(tbl) + } + + io.write_string(w, "\n") + if tbl.caption != "" { + io.write_string(w, "\n") + } + + align_attribute :: proc(cell: ^Cell) -> string { + #partial switch cell.alignment { + case .Left: return ` align="left"` + case .Center: return ` align="center"` + case .Right: return ` align="right"` + } + return "" + } + + if tbl.has_header_row { + io.write_string(w, "\n") + io.write_string(w, " \n") + for col in 0..") + io.write_string(w, cell.text) + io.write_string(w, "\n") + } + io.write_string(w, " \n") + io.write_string(w, "\n") + } + + io.write_string(w, "\n") + for row in 0..\n") + for col in 0..") + io.write_string(w, cell.text) + io.write_string(w, "\n") + } + io.write_string(w, " \n") + } + io.write_string(w, " \n") + + io.write_string(w, "
") + io.write_string(w, tbl.caption) + io.write_string(w, "
\n") +} + +write_ascii_table :: proc(w: io.Writer, tbl: ^Table) { + if tbl.dirty { + build(tbl) + } + + write_caption_separator :: proc(w: io.Writer, tbl: ^Table) { + io.write_byte(w, '+') + write_byte_repeat(w, tbl.tblw + tbl.nr_cols - 1, '-') + io.write_byte(w, '+') + io.write_byte(w, '\n') + } + + write_table_separator :: proc(w: io.Writer, tbl: ^Table) { + for col in 0.. io.Writer { + return io.to_writer(os.stream_from_handle(os.stdout)) +} + +strings_builder_writer :: proc(b: ^strings.Builder) -> io.Writer { + return strings.to_writer(b) +} From 020b14722208c55d0cf1d3999166ae31f1f71df4 Mon Sep 17 00:00:00 2001 From: oskarnp Date: Sun, 26 Mar 2023 21:33:27 +0200 Subject: [PATCH 02/50] Move helper procs into utility.odin --- core/text/table/table.odin | 8 -------- core/text/table/utility.odin | 13 +++++++++++++ 2 files changed, 13 insertions(+), 8 deletions(-) create mode 100644 core/text/table/utility.odin diff --git a/core/text/table/table.odin b/core/text/table/table.odin index c15a92bae..bd72455aa 100644 --- a/core/text/table/table.odin +++ b/core/text/table/table.odin @@ -389,11 +389,3 @@ write_text_align :: proc(w: io.Writer, colw, lpad, rpad: int, text: string, alig } write_byte_repeat(w, rpad, ' ') } - -stdio_writer :: proc() -> io.Writer { - return io.to_writer(os.stream_from_handle(os.stdout)) -} - -strings_builder_writer :: proc(b: ^strings.Builder) -> io.Writer { - return strings.to_writer(b) -} diff --git a/core/text/table/utility.odin b/core/text/table/utility.odin new file mode 100644 index 000000000..0e56fd968 --- /dev/null +++ b/core/text/table/utility.odin @@ -0,0 +1,13 @@ +package text_table + +import "core:io" +import "core:os" +import "core:strings" + +stdio_writer :: proc() -> io.Writer { + return io.to_writer(os.stream_from_handle(os.stdout)) +} + +strings_builder_writer :: proc(b: ^strings.Builder) -> io.Writer { + return strings.to_writer(b) +} From b6d4853a338b4b0058fd8e07fa085edf65c7545a Mon Sep 17 00:00:00 2001 From: oskarnp Date: Sun, 26 Mar 2023 21:41:16 +0200 Subject: [PATCH 03/50] Fix cell alignment to default to Left using ZII --- core/text/table/table.odin | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/core/text/table/table.odin b/core/text/table/table.odin index bd72455aa..3bb92f7f6 100644 --- a/core/text/table/table.odin +++ b/core/text/table/table.odin @@ -22,7 +22,7 @@ Cell :: struct { } Cell_Alignment :: enum { - Left = 1, + Left, Center, Right, } @@ -92,9 +92,6 @@ set_cell_value_and_alignment :: proc(tbl: ^Table, row, col: int, value: string, set_cell_value :: proc(tbl: ^Table, row, col: int, value: any, loc := #caller_location) { cell := get_cell(tbl, row, col, loc) - if cell.alignment == nil { - cell.alignment = .Left - } switch val in value { case nil: cell.text = "" @@ -345,8 +342,6 @@ write_markdown_table :: proc(w: io.Writer, tbl: ^Table) { case .Right: write_byte_repeat(w, max(1, tbl.colw[col]-1, tbl.lpad, tbl.rpad), '-') io.write_byte(w, ':') - case: - panic("unhandled cell alignment") } io.write_byte(w, '|') } @@ -384,8 +379,6 @@ write_text_align :: proc(w: io.Writer, colw, lpad, rpad: int, text: string, alig case .Right: write_byte_repeat(w, colw - len(text), ' ') io.write_string(w, text) - case: - panic("unhandled alignment") } write_byte_repeat(w, rpad, ' ') } From 2da81a4a26eac631eeb93bb220c4e7a6bbaac4d3 Mon Sep 17 00:00:00 2001 From: oskarnp Date: Sun, 26 Mar 2023 21:44:31 +0200 Subject: [PATCH 04/50] Remove unnecessary C style loop --- core/text/table/table.odin | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/text/table/table.odin b/core/text/table/table.odin index 3bb92f7f6..a5203fcd0 100644 --- a/core/text/table/table.odin +++ b/core/text/table/table.odin @@ -148,7 +148,7 @@ row :: proc(tbl: ^Table, values: ..any, loc := #caller_location) { } } tbl.nr_rows += 1 - for col := 0; col < tbl.nr_cols; col += 1 { + for col in 0.. Date: Sun, 26 Mar 2023 21:45:37 +0200 Subject: [PATCH 05/50] Remove unnecessary #partial switch --- core/text/table/table.odin | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/text/table/table.odin b/core/text/table/table.odin index a5203fcd0..65ce5e423 100644 --- a/core/text/table/table.odin +++ b/core/text/table/table.odin @@ -212,12 +212,12 @@ write_html_table :: proc(w: io.Writer, tbl: ^Table) { } align_attribute :: proc(cell: ^Cell) -> string { - #partial switch cell.alignment { + switch cell.alignment { case .Left: return ` align="left"` case .Center: return ` align="center"` case .Right: return ` align="right"` } - return "" + unreachable() } if tbl.has_header_row { From 51f295caccd2c963c61d8e9252b2c37f7727ba51 Mon Sep 17 00:00:00 2001 From: oskarnp Date: Sun, 26 Mar 2023 21:46:36 +0200 Subject: [PATCH 06/50] Rename init procs --- core/text/table/table.odin | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/core/text/table/table.odin b/core/text/table/table.odin index 65ce5e423..44042cbce 100644 --- a/core/text/table/table.odin +++ b/core/text/table/table.odin @@ -43,20 +43,20 @@ Table :: struct { tblw: int, // Width of entire table (including padding, excluding borders) } -init :: proc{_init, _init_with_virtual_arena, _init_with_mem_arena} +init :: proc{init_with_allocator, init_with_virtual_arena, init_with_mem_arena} -_init :: proc(tbl: ^Table, format_allocator := context.temp_allocator, table_allocator := context.allocator) -> ^Table { +init_with_allocator :: proc(tbl: ^Table, format_allocator := context.temp_allocator, table_allocator := context.allocator) -> ^Table { tbl.table_allocator = table_allocator tbl.cells = make([dynamic]Cell, tbl.table_allocator) tbl.colw = make([dynamic]int, tbl.table_allocator) tbl.format_allocator = format_allocator return tbl } -_init_with_virtual_arena :: proc(tbl: ^Table, format_arena: ^virtual.Arena, table_allocator := context.allocator) -> ^Table { - return _init(tbl, virtual.arena_allocator(format_arena), table_allocator) +init_with_virtual_arena :: proc(tbl: ^Table, format_arena: ^virtual.Arena, table_allocator := context.allocator) -> ^Table { + return init_with_allocator(tbl, virtual.arena_allocator(format_arena), table_allocator) } -_init_with_mem_arena :: proc(tbl: ^Table, format_arena: ^mem.Arena, table_allocator := context.allocator) -> ^Table { - return _init(tbl, mem.arena_allocator(format_arena), table_allocator) +init_with_mem_arena :: proc(tbl: ^Table, format_arena: ^mem.Arena, table_allocator := context.allocator) -> ^Table { + return init_with_allocator(tbl, mem.arena_allocator(format_arena), table_allocator) } destroy :: proc(tbl: ^Table) { From e2e98672bda84f64fc72f9602127e85097d0ffed Mon Sep 17 00:00:00 2001 From: oskarnp Date: Sun, 26 Mar 2023 21:51:57 +0200 Subject: [PATCH 07/50] Fix typo --- core/text/table/table.odin | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/text/table/table.odin b/core/text/table/table.odin index 44042cbce..df93ee44e 100644 --- a/core/text/table/table.odin +++ b/core/text/table/table.odin @@ -334,13 +334,13 @@ write_markdown_table :: proc(w: io.Writer, tbl: ^Table) { switch cell.alignment { case .Left: io.write_byte(w, ':') - write_byte_repeat(w, max(1, tbl.colw[col]-1, tbl.lpad, tbl.rpad), '-') + write_byte_repeat(w, max(1, tbl.colw[col]-1), '-') case .Center: io.write_byte(w, ':') - write_byte_repeat(w, max(1, tbl.colw[col]-2, tbl.lpad, tbl.rpad), '-') + write_byte_repeat(w, max(1, tbl.colw[col]-2), '-') io.write_byte(w, ':') case .Right: - write_byte_repeat(w, max(1, tbl.colw[col]-1, tbl.lpad, tbl.rpad), '-') + write_byte_repeat(w, max(1, tbl.colw[col]-1), '-') io.write_byte(w, ':') } io.write_byte(w, '|') From 8862f9118b7efa79a09e3b397f517f16ed342016 Mon Sep 17 00:00:00 2001 From: oskarnp Date: Mon, 27 Mar 2023 09:31:24 +0200 Subject: [PATCH 08/50] Fix typos in doc --- core/text/table/doc.odin | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/text/table/doc.odin b/core/text/table/doc.odin index 00bde5862..9b5c1f932 100644 --- a/core/text/table/doc.odin +++ b/core/text/table/doc.odin @@ -11,8 +11,8 @@ row(tbl, "A_LONG_ENUM", "= 54,", "// A comment about A_LONG_ENUM") row(tbl, "AN_EVEN_LONGER_ENUM", "= 1,", "// A comment about AN_EVEN_LONGER_ENUM") build(tbl) - for row in 0.. Date: Wed, 29 Mar 2023 12:18:51 +1100 Subject: [PATCH 09/50] Fix website formatting and incorrect examples --- core/strings/ascii_set.odin | 3 +- core/strings/builder.odin | 102 ++++++++----- core/strings/conversion.odin | 43 ++++-- core/strings/intern.odin | 9 +- core/strings/reader.odin | 21 ++- core/strings/strings.odin | 276 +++++++++++++++++++++++------------ 6 files changed, 301 insertions(+), 153 deletions(-) diff --git a/core/strings/ascii_set.odin b/core/strings/ascii_set.odin index 11ad8b947..c9cc6b212 100644 --- a/core/strings/ascii_set.odin +++ b/core/strings/ascii_set.odin @@ -37,7 +37,8 @@ Determines if a given char is contained within an Ascii_Set. - as: The Ascii_Set to search. - c: The char to check for in the Ascii_Set. -**Returns** A boolean indicating if the byte is contained in the Ascii_Set (true) or not (false). +**Returns** +A boolean indicating if the byte is contained in the Ascii_Set (true) or not (false). */ ascii_set_contains :: proc(as: Ascii_Set, c: byte) -> bool #no_bounds_check { return as[c>>5] & (1<<(c&31)) != 0 diff --git a/core/strings/builder.odin b/core/strings/builder.odin index 15bda1b2d..b4456e236 100644 --- a/core/strings/builder.odin +++ b/core/strings/builder.odin @@ -10,7 +10,8 @@ Type definition for a procedure that flushes a Builder **Inputs** - b: A pointer to the Builder -**Returns** A boolean indicating whether the Builder should be reset +**Returns** +A boolean indicating whether the Builder should be reset */ Builder_Flush_Proc :: #type proc(b: ^Builder) -> (do_reset: bool) /* @@ -29,7 +30,8 @@ Produces a Builder with a default length of 0 and cap of 16 **Inputs** - allocator: (default is context.allocator) -**Returns** A new Builder +**Returns** +A new Builder */ builder_make_none :: proc(allocator := context.allocator) -> Builder { return Builder{buf=make([dynamic]byte, allocator)} @@ -43,7 +45,8 @@ Produces a Builder with a specified length and cap of max(16,len) byte buffer - len: The desired length of the Builder's buffer - allocator: (default is context.allocator) -**Returns** A new Builder +**Returns** +A new Builder */ builder_make_len :: proc(len: int, allocator := context.allocator) -> Builder { return Builder{buf=make([dynamic]byte, len, allocator)} @@ -58,7 +61,8 @@ Produces a Builder with a specified length and cap - cap: The desired capacity of the Builder's buffer, cap is max(cap, len) - allocator: (default is context.allocator) -**Returns** A new Builder +**Returns** +A new Builder */ builder_make_len_cap :: proc(len, cap: int, allocator := context.allocator) -> Builder { return Builder{buf=make([dynamic]byte, len, cap, allocator)} @@ -79,7 +83,8 @@ It replaces the existing `buf` - b: A pointer to the Builder - allocator: (default is context.allocator) -**Returns** initialized ^Builder +**Returns** +initialized ^Builder */ builder_init_none :: proc(b: ^Builder, allocator := context.allocator) -> ^Builder { b.buf = make([dynamic]byte, allocator) @@ -96,7 +101,8 @@ It replaces the existing `buf` - len: The desired length of the Builder's buffer - allocator: (default is context.allocator) -**Returns** Initialized ^Builder +**Returns** +Initialized ^Builder */ builder_init_len :: proc(b: ^Builder, len: int, allocator := context.allocator) -> ^Builder { b.buf = make([dynamic]byte, len, allocator) @@ -112,7 +118,8 @@ It replaces the existing `buf` - cap: The desired capacity of the Builder's buffer, actual max(len,cap) - allocator: (default is context.allocator) -**Returns** A pointer to the initialized Builder +**Returns** +A pointer to the initialized Builder */ builder_init_len_cap :: proc(b: ^Builder, len, cap: int, allocator := context.allocator) -> ^Builder { b.buf = make([dynamic]byte, len, cap, allocator) @@ -161,7 +168,8 @@ Returns an io.Stream from a Builder **Inputs** - b: A pointer to the Builder -**Returns** An io.Stream +**Returns** +An io.Stream */ to_stream :: proc(b: ^Builder) -> io.Stream { return io.Stream{stream_vtable=_builder_stream_vtable, stream_data=b} @@ -172,7 +180,8 @@ Returns an io.Writer from a Builder **Inputs** - b: A pointer to the Builder -**Returns** An io.Writer +**Returns** +An io.Writer */ to_writer :: proc(b: ^Builder) -> io.Writer { return io.to_writer(to_stream(b)) @@ -221,8 +230,10 @@ Example: strings_builder_from_bytes_example :: proc() { bytes: [8]byte // <-- gets filled builder := strings.builder_from_bytes(bytes[:]) - fmt.println(strings.write_byte(&builder, 'a')) // -> "a" - fmt.println(strings.write_byte(&builder, 'b')) // -> "ab" + strings.write_byte(&builder, 'a') + fmt.println(strings.to_string(builder)) // -> "a" + strings.write_byte(&builder, 'b') + fmt.println(strings.to_string(builder)) // -> "ab" } Output: @@ -230,7 +241,8 @@ Output: a ab -**Returns** A new Builder +**Returns** +A new Builder */ builder_from_bytes :: proc(backing: []byte) -> Builder { s := transmute(runtime.Raw_Slice)backing @@ -252,7 +264,8 @@ Casts the Builder byte buffer to a string and returns it **Inputs** - b: A Builder -**Returns** The contents of the Builder's buffer, as a string +**Returns** +The contents of the Builder's buffer, as a string */ to_string :: proc(b: Builder) -> string { return string(b.buf[:]) @@ -263,7 +276,8 @@ Returns the length of the Builder's buffer, in bytes **Inputs** - b: A Builder -**Returns** The length of the Builder's buffer +**Returns** +The length of the Builder's buffer */ builder_len :: proc(b: Builder) -> int { return len(b.buf) @@ -274,7 +288,8 @@ Returns the capacity of the Builder's buffer, in bytes **Inputs** - b: A Builder -**Returns** The capacity of the Builder's buffer +**Returns** +The capacity of the Builder's buffer */ builder_cap :: proc(b: Builder) -> int { return cap(b.buf) @@ -285,7 +300,8 @@ The free space left in the Builder's buffer, in bytes **Inputs** - b: A Builder -**Returns** The available space left in the Builder's buffer +**Returns** +The available space left in the Builder's buffer */ builder_space :: proc(b: Builder) -> int { return cap(b.buf) - len(b.buf) @@ -315,7 +331,8 @@ Output: NOTE: The backing dynamic array may be fixed in capacity or fail to resize, `n` states the number actually written. -**Returns** The number of bytes appended +**Returns** +The number of bytes appended */ write_byte :: proc(b: ^Builder, x: byte) -> (n: int) { n0 := len(b.buf) @@ -344,7 +361,8 @@ Example: NOTE: The backing dynamic array may be fixed in capacity or fail to resize, `n` states the number actually written. -**Returns** The number of bytes appended +**Returns** +The number of bytes appended */ write_bytes :: proc(b: ^Builder, x: []byte) -> (n: int) { n0 := len(b.buf) @@ -377,7 +395,8 @@ Output: NOTE: The backing dynamic array may be fixed in capacity or fail to resize, `n` states the number actually written. -**Returns** The number of bytes written and an io.Error (if any) +**Returns** +The number of bytes written and an io.Error (if any) */ write_rune :: proc(b: ^Builder, r: rune) -> (int, io.Error) { return io.write_rune(to_writer(b), r) @@ -408,7 +427,8 @@ Output: NOTE: The backing dynamic array may be fixed in capacity or fail to resize, `n` states the number actually written. -**Returns** The number of bytes written +**Returns** +The number of bytes written */ write_quoted_rune :: proc(b: ^Builder, r: rune) -> (n: int) { return io.write_quoted_rune(to_writer(b), r) @@ -438,7 +458,8 @@ Output: NOTE: The backing dynamic array may be fixed in capacity or fail to resize, `n` states the number actually written. -**Returns** The number of bytes written +**Returns** +The number of bytes written */ write_string :: proc(b: ^Builder, s: string) -> (n: int) { n0 := len(b.buf) @@ -452,7 +473,8 @@ Pops and returns the last byte in the Builder or 0 when the Builder is empty **Inputs** - b: A pointer to the Builder -**Returns** The last byte in the Builder or 0 if empty +**Returns** +The last byte in the Builder or 0 if empty */ pop_byte :: proc(b: ^Builder) -> (r: byte) { if len(b.buf) == 0 { @@ -470,7 +492,8 @@ Pops the last rune in the Builder and returns the popped rune and its rune width **Inputs** - b: A pointer to the Builder -**Returns** The popped rune and its rune width or (0, 0) if empty +**Returns** +The popped rune and its rune width or (0, 0) if empty */ pop_rune :: proc(b: ^Builder) -> (r: rune, width: int) { if len(b.buf) == 0 { @@ -509,7 +532,8 @@ Output: NOTE: The backing dynamic array may be fixed in capacity or fail to resize, `n` states the number actually written. -**Returns** The number of bytes written +**Returns** +The number of bytes written */ write_quoted_string :: proc(b: ^Builder, str: string, quote: byte = '"') -> (n: int) { n, _ = io.write_quoted_string(to_writer(b), str, quote) @@ -542,7 +566,8 @@ Output: NOTE: The backing dynamic array may be fixed in capacity or fail to resize, `n` states the number actually written. -**Returns** The number of bytes written +**Returns** +The number of bytes written */ write_encoded_rune :: proc(b: ^Builder, r: rune, write_quote := true) -> (n: int) { n, _ = io.write_encoded_rune(to_writer(b), r, write_quote) @@ -565,7 +590,8 @@ Appends an escaped rune to the Builder and returns the number of bytes written NOTE: The backing dynamic array may be fixed in capacity or fail to resize, `n` states the number actually written. -**Returns** The number of bytes written +**Returns** +The number of bytes written */ write_escaped_rune :: proc(b: ^Builder, r: rune, quote: byte, html_safe := false) -> (n: int) { n, _ = io.write_escaped_rune(to_writer(b), r, quote, html_safe) @@ -584,7 +610,8 @@ Writes a f64 value to the Builder and returns the number of characters written NOTE: The backing dynamic array may be fixed in capacity or fail to resize, `n` states the number actually written. -**Returns** The number of characters written +**Returns** +The number of characters written */ write_float :: proc(b: ^Builder, f: f64, fmt: byte, prec, bit_size: int, always_signed := false) -> (n: int) { buf: [384]byte @@ -607,7 +634,8 @@ Writes a f16 value to the Builder and returns the number of characters written NOTE: The backing dynamic array may be fixed in capacity or fail to resize, `n` states the number actually written. -**Returns** The number of characters written +**Returns** +The number of characters written */ write_f16 :: proc(b: ^Builder, f: f16, fmt: byte, always_signed := false) -> (n: int) { buf: [384]byte @@ -645,7 +673,8 @@ Output: NOTE: The backing dynamic array may be fixed in capacity or fail to resize, `n` states the number actually written. -**Returns** The number of characters written +**Returns** +The number of characters written */ write_f32 :: proc(b: ^Builder, f: f32, fmt: byte, always_signed := false) -> (n: int) { buf: [384]byte @@ -666,7 +695,8 @@ Writes a f32 value to the Builder and returns the number of characters written NOTE: The backing dynamic array may be fixed in capacity or fail to resize, `n` states the number actually written. -**Returns** The number of characters written +**Returns** +The number of characters written */ write_f64 :: proc(b: ^Builder, f: f64, fmt: byte, always_signed := false) -> (n: int) { buf: [384]byte @@ -686,7 +716,8 @@ Writes a u64 value to the Builder and returns the number of characters written NOTE: The backing dynamic array may be fixed in capacity or fail to resize, `n` states the number actually written. -**Returns** The number of characters written +**Returns** +The number of characters written */ write_u64 :: proc(b: ^Builder, i: u64, base: int = 10) -> (n: int) { buf: [32]byte @@ -703,7 +734,8 @@ Writes a i64 value to the Builder and returns the number of characters written NOTE: The backing dynamic array may be fixed in capacity or fail to resize, `n` states the number actually written. -**Returns** The number of characters written +**Returns** +The number of characters written */ write_i64 :: proc(b: ^Builder, i: i64, base: int = 10) -> (n: int) { buf: [32]byte @@ -720,7 +752,8 @@ Writes a uint value to the Builder and returns the number of characters written NOTE: The backing dynamic array may be fixed in capacity or fail to resize, `n` states the number actually written. -**Returns** The number of characters written +**Returns** +The number of characters written */ write_uint :: proc(b: ^Builder, i: uint, base: int = 10) -> (n: int) { return write_u64(b, u64(i), base) @@ -735,7 +768,8 @@ Writes a int value to the Builder and returns the number of characters written NOTE: The backing dynamic array may be fixed in capacity or fail to resize, `n` states the number actually written. -**Returns** The number of characters written +**Returns** +The number of characters written */ write_int :: proc(b: ^Builder, i: int, base: int = 10) -> (n: int) { return write_i64(b, i64(i), base) diff --git a/core/strings/conversion.odin b/core/strings/conversion.odin index d71dc4724..c3cf62340 100644 --- a/core/strings/conversion.odin +++ b/core/strings/conversion.odin @@ -16,7 +16,8 @@ Converts invalid UTF-8 sequences in the input string `s` to the `replacement` st WARNING: Allocation does not occur when len(s) == 0 -**Returns** A valid UTF-8 string with invalid sequences replaced by `replacement`. +**Returns** +A valid UTF-8 string with invalid sequences replaced by `replacement`. */ to_valid_utf8 :: proc(s, replacement: string, allocator := context.allocator) -> string { if len(s) == 0 { @@ -93,7 +94,8 @@ Output: test -**Returns** A new string with all characters converted to lowercase. +**Returns** +A new string with all characters converted to lowercase. */ to_lower :: proc(s: string, allocator := context.allocator) -> string { b: Builder @@ -125,7 +127,8 @@ Output: TEST -**Returns** A new string with all characters converted to uppercase. +**Returns** +A new string with all characters converted to uppercase. */ to_upper :: proc(s: string, allocator := context.allocator) -> string { b: Builder @@ -141,7 +144,8 @@ Checks if the rune `r` is a delimiter (' ', '-', or '_'). **Inputs** - r: Rune to check for delimiter status. -**Returns** True if `r` is a delimiter, false otherwise. +**Returns** +True if `r` is a delimiter, false otherwise. */ is_delimiter :: proc(r: rune) -> bool { return r == '-' || r == '_' || is_space(r) @@ -152,7 +156,8 @@ Checks if the rune `r` is a non-alphanumeric or space character. **Inputs** - r: Rune to check for separator status. -**Returns** True if `r` is a non-alpha or `unicode.is_space` rune. +**Returns** +True if `r` is a non-alpha or `unicode.is_space` rune. */ is_separator :: proc(r: rune) -> bool { if r <= 0x7f { @@ -245,7 +250,8 @@ Converts the input string `s` to "lowerCamelCase". - s: Input string to be converted. - allocator: (default: context.allocator). -**Returns** A "lowerCamelCase" formatted string. +**Returns** +A "lowerCamelCase" formatted string. */ to_camel_case :: proc(s: string, allocator := context.allocator) -> string { s := s @@ -279,7 +285,8 @@ Converts the input string `s` to "UpperCamelCase" (PascalCase). - s: Input string to be converted. - allocator: (default: context.allocator). -**Returns** A "PascalCase" formatted string. +**Returns** +A "PascalCase" formatted string. */ to_pascal_case :: proc(s: string, allocator := context.allocator) -> string { s := s @@ -328,9 +335,10 @@ Output: hello_world HELLO WORLD - a_b_c + a_bc -**Returns** The converted string +**Returns** +The converted string */ to_delimiter_case :: proc( s: string, @@ -400,7 +408,8 @@ Output: hello_world ``` -**Returns** The converted string +**Returns** +The converted string */ to_snake_case :: proc(s: string, allocator := context.allocator) -> string { return to_delimiter_case(s, '_', false, allocator) @@ -429,7 +438,8 @@ Output: HELLO_WORLD -**Returns** The converted string +**Returns** +The converted string */ to_upper_snake_case :: proc(s: string, allocator := context.allocator) -> string { return to_delimiter_case(s, '_', true, allocator) @@ -456,7 +466,8 @@ Output: hello-world -**Returns** The converted string +**Returns** +The converted string */ to_kebab_case :: proc(s: string, allocator := context.allocator) -> string { return to_delimiter_case(s, '-', false, allocator) @@ -483,7 +494,8 @@ Output: HELLO-WORLD -**Returns** The converted string +**Returns** +The converted string */ to_upper_kebab_case :: proc(s: string, allocator := context.allocator) -> string { return to_delimiter_case(s, '-', true, allocator) @@ -502,7 +514,7 @@ Example: import "core:fmt" import "core:strings" - strings_to_upper_kebab_case_example :: proc() { + strings_to_ada_case_example :: proc() { fmt.println(strings.to_ada_case("HelloWorld")) } @@ -510,7 +522,8 @@ Output: Hello_World -**Returns** The converted string +**Returns** +The converted string */ to_ada_case :: proc(s: string, allocator := context.allocator) -> string { s := s diff --git a/core/strings/intern.odin b/core/strings/intern.odin index 59395824a..e73b33f07 100644 --- a/core/strings/intern.odin +++ b/core/strings/intern.odin @@ -57,7 +57,8 @@ Returns an interned copy of the given text, adding it to the map if not already NOTE: The returned string lives as long as the map entry lives. -**Returns** The interned string and an allocator error if any +**Returns** +The interned string and an allocator error if any */ intern_get :: proc(m: ^Intern, text: string) -> (str: string, err: runtime.Allocator_Error) { entry := _intern_get_entry(m, text) or_return @@ -74,7 +75,8 @@ Returns an interned copy of the given text as a cstring, adding it to the map if NOTE: The returned cstring lives as long as the map entry lives -**Returns** The interned cstring and an allocator error if any +**Returns** +The interned cstring and an allocator error if any */ intern_get_cstring :: proc(m: ^Intern, text: string) -> (str: cstring, err: runtime.Allocator_Error) { entry := _intern_get_entry(m, text) or_return @@ -90,7 +92,8 @@ Sets and allocates the entry if it wasn't set yet - m: A pointer to the Intern struct - text: The string to be looked up or interned -**Returns** The new or existing interned entry and an allocator error if any +**Returns** +The new or existing interned entry and an allocator error if any */ _intern_get_entry :: proc(m: ^Intern, text: string) -> (new_entry: ^Intern_Entry, err: runtime.Allocator_Error) #no_bounds_check { if prev, ok := m.entries[text]; ok { diff --git a/core/strings/reader.odin b/core/strings/reader.odin index 3e543cb9d..917092ad6 100644 --- a/core/strings/reader.odin +++ b/core/strings/reader.odin @@ -31,7 +31,8 @@ Converts a Reader into an `io.Stream` **Inputs** - r: A pointer to a Reader struct -**Returns** An io.Stream for the given Reader +**Returns** +An io.Stream for the given Reader */ reader_to_stream :: proc(r: ^Reader) -> (s: io.Stream) { s.stream_data = r @@ -45,7 +46,8 @@ Initializes a string Reader and returns an `io.Reader` for the given string - r: A pointer to a Reader struct - s: The input string to be read -**Returns** An io.Reader for the given string +**Returns** +An io.Reader for the given string */ to_reader :: proc(r: ^Reader, s: string) -> io.Reader { reader_init(r, s) @@ -59,7 +61,8 @@ Initializes a string Reader and returns an `io.Reader_At` for the given string - r: A pointer to a Reader struct - s: The input string to be read -**Returns** An `io.Reader_At` for the given string +**Returns** +An `io.Reader_At` for the given string */ to_reader_at :: proc(r: ^Reader, s: string) -> io.Reader_At { reader_init(r, s) @@ -72,7 +75,8 @@ Returns the remaining length of the Reader **Inputs** - r: A pointer to a Reader struct -**Returns** The remaining length of the Reader +**Returns** +The remaining length of the Reader */ reader_length :: proc(r: ^Reader) -> int { if r.i >= i64(len(r.s)) { @@ -86,7 +90,8 @@ Returns the length of the string stored in the Reader **Inputs** - r: A pointer to a Reader struct -**Returns** The length of the string stored in the Reader +**Returns** +The length of the string stored in the Reader */ reader_size :: proc(r: ^Reader) -> i64 { return i64(len(r.s)) @@ -161,7 +166,8 @@ Decrements the Reader's index (i) by 1 **Inputs** - r: A pointer to a Reader struct -**Returns** An `io.Error` if `r.i <= 0` (`.Invalid_Unread`), otherwise `nil` denotes success. +**Returns** +An `io.Error` if `r.i <= 0` (`.Invalid_Unread`), otherwise `nil` denotes success. */ reader_unread_byte :: proc(r: ^Reader) -> io.Error { if r.i <= 0 { @@ -204,7 +210,8 @@ Decrements the Reader's index (i) by the size of the last read rune WARNING: May only be used once and after a valid `read_rune` call -**Returns** An `io.Error` if an error occurs while unreading (`.Invalid_Unread`), else `nil` denotes success. +**Returns** +An `io.Error` if an error occurs while unreading (`.Invalid_Unread`), else `nil` denotes success. */ reader_unread_rune :: proc(r: ^Reader) -> io.Error { if r.i <= 0 { diff --git a/core/strings/strings.odin b/core/strings/strings.odin index 8193f4de1..64a063b7d 100644 --- a/core/strings/strings.odin +++ b/core/strings/strings.odin @@ -16,7 +16,8 @@ Clones a string - allocator: (default: context.allocator) - loc: The caller location for debugging purposes (default: #caller_location) -**Returns** A cloned string +**Returns** +A cloned string */ clone :: proc(s: string, allocator := context.allocator, loc := #caller_location) -> string { c := make([]byte, len(s), allocator, loc) @@ -52,7 +53,8 @@ Clones a string and appends a null-byte to make it a cstring - allocator: (default: context.allocator) - loc: The caller location for debugging purposes (default: #caller_location) -**Returns** A cloned cstring with an appended null-byte +**Returns** +A cloned cstring with an appended null-byte */ clone_to_cstring :: proc(s: string, allocator := context.allocator, loc := #caller_location) -> cstring { c := make([]byte, len(s)+1, allocator, loc) @@ -69,7 +71,8 @@ Transmutes a raw pointer into a string. Non-allocating. NOTE: The created string is only valid as long as the pointer and length are valid. -**Returns** A string created from the byte pointer and length +**Returns** +A string created from the byte pointer and length */ string_from_ptr :: proc(ptr: ^byte, len: int) -> string { return transmute(string)mem.Raw_String{ptr, len} @@ -78,13 +81,14 @@ string_from_ptr :: proc(ptr: ^byte, len: int) -> string { Transmutes a raw pointer (null-terminated) into a string. Non-allocating. Searches for a null-byte from `0.. string { s := transmute(string)mem.Raw_String{ptr, len} @@ -97,7 +101,8 @@ Gets the raw byte pointer for the start of a string `str` **Inputs** - str: The input string -**Returns** A pointer to the start of the string's bytes +**Returns** +A pointer to the start of the string's bytes */ ptr_from_string :: proc(str: string) -> ^byte { d := transmute(mem.Raw_String)str @@ -111,7 +116,8 @@ Converts a string `str` to a cstring WARNING: This is unsafe because the original string may not contain a null-byte. -**Returns** The converted cstring +**Returns** +The converted cstring */ unsafe_string_to_cstring :: proc(str: string) -> cstring { d := transmute(mem.Raw_String)str @@ -126,7 +132,8 @@ Truncates a string `str` at the first occurrence of char/byte `b` NOTE: Failure to find the byte results in returning the entire string. -**Returns** The truncated string +**Returns** +The truncated string */ truncate_to_byte :: proc(str: string, b: byte) -> string { n := index_byte(str, b) @@ -142,7 +149,8 @@ Truncates a string `str` at the first occurrence of rune `r` as a slice of the o - str: The input string - r: The rune to truncate the string at -**Returns** The truncated string +**Returns** +The truncated string */ truncate_to_rune :: proc(str: string, r: rune) -> string { n := index_rune(str, r) @@ -161,7 +169,8 @@ Clones a byte array `s` and appends a null-byte - allocator: (default: context.allocator) - loc: The caller location for debugging purposes (default: `#caller_location`) -**Returns** A cloned string from the byte array with a null-byte +**Returns** +A cloned string from the byte array with a null-byte */ clone_from_bytes :: proc(s: []byte, allocator := context.allocator, loc := #caller_location) -> string { c := make([]byte, len(s)+1, allocator, loc) @@ -179,7 +188,8 @@ Clones a cstring `s` as a string - allocator: (default: context.allocator) - loc: The caller location for debugging purposes (default: `#caller_location`) -**Returns** A cloned string from the cstring +**Returns** +A cloned string from the cstring */ clone_from_cstring :: proc(s: cstring, allocator := context.allocator, loc := #caller_location) -> string { return clone(string(s), allocator, loc) @@ -197,7 +207,8 @@ Clones a string from a byte pointer `ptr` and a byte length `len` NOTE: Same as `string_from_ptr`, but perform an additional `clone` operation -**Returns** A cloned string from the byte pointer and length +**Returns** +A cloned string from the byte pointer and length */ clone_from_ptr :: proc(ptr: ^byte, len: int, allocator := context.allocator, loc := #caller_location) -> string { s := string_from_ptr(ptr, len) @@ -223,7 +234,8 @@ Clones a string from a null-terminated cstring `ptr` and a byte length `len` NOTE: Truncates at the first null-byte encountered or the byte length. -**Returns** A cloned string from the null-terminated cstring and byte length +**Returns** +A cloned string from the null-terminated cstring and byte length */ clone_from_cstring_bounded :: proc(ptr: cstring, len: int, allocator := context.allocator, loc := #caller_location) -> string { s := string_from_ptr((^u8)(ptr), len) @@ -238,7 +250,8 @@ Compares two strings, returning a value representing which one comes first lexic - lhs: First string for comparison - rhs: Second string for comparison -**Returns** -1 if `lhs` comes first, 1 if `rhs` comes first, or 0 if they are equal +**Returns** +-1 if `lhs` comes first, 1 if `rhs` comes first, or 0 if they are equal */ compare :: proc(lhs, rhs: string) -> int { return mem.compare(transmute([]byte)lhs, transmute([]byte)rhs) @@ -250,7 +263,8 @@ Returns the byte offset of the rune `r` in the string `s`, -1 when not found - s: The input string - r: The rune to search for -**Returns** The byte offset of the rune `r` in the string `s`, or -1 if not found +**Returns** +The byte offset of the rune `r` in the string `s`, or -1 if not found */ contains_rune :: proc(s: string, r: rune) -> int { for c, offset in s { @@ -284,7 +298,8 @@ Output: true false -**Returns** `true` if `substr` is contained inside the string `s`, `false` otherwise +**Returns** +`true` if `substr` is contained inside the string `s`, `false` otherwise */ contains :: proc(s, substr: string) -> bool { return index(s, substr) >= 0 @@ -315,7 +330,8 @@ Output: true false -**Returns** `true` if the string `s` contains any of the characters in `chars`, `false` otherwise +**Returns** +`true` if the string `s` contains any of the characters in `chars`, `false` otherwise */ contains_any :: proc(s, chars: string) -> bool { return index_any(s, chars) >= 0 @@ -341,7 +357,8 @@ Output: 4 5 -**Returns** The UTF-8 rune count of the string `s` +**Returns** +The UTF-8 rune count of the string `s` */ rune_count :: proc(s: string) -> int { return utf8.rune_count_in_string(s) @@ -373,7 +390,8 @@ Output: true false -**Returns** `true` if the strings `u` and `v` are the same alpha characters (ignoring case) +**Returns** +`true` if the strings `u` and `v` are the same alpha characters (ignoring case) */ equal_fold :: proc(u, v: string) -> bool { s, t := u, v @@ -443,7 +461,8 @@ Output: 2 0 -**Returns** The prefix length common between strings `a` and `b` +**Returns** +The prefix length common between strings `a` and `b` */ prefix_length :: proc(a, b: string) -> (n: int) { _len := min(len(a), len(b)) @@ -494,7 +513,8 @@ Output: true false -**Returns** `true` if the string `s` starts with the `prefix`, otherwise `false` +**Returns** +`true` if the string `s` starts with the `prefix`, otherwise `false` */ has_prefix :: proc(s, prefix: string) -> bool { return len(s) >= len(prefix) && s[0:len(prefix)] == prefix @@ -523,7 +543,8 @@ Output: - s: The string to check for the `suffix` - suffix: The suffix to look for -**Returns** `true` if the string `s` ends with the `suffix`, otherwise `false` +**Returns** +`true` if the string `s` ends with the `suffix`, otherwise `false` */ has_suffix :: proc(s, suffix: string) -> bool { return len(s) >= len(suffix) && s[len(s)-len(suffix):] == suffix @@ -556,7 +577,8 @@ Output: - sep: The separator string - allocator: (default is context.allocator) -**Returns** A combined string from the slice of strings `a` separated with the `sep` string +**Returns** +A combined string from the slice of strings `a` separated with the `sep` string */ join :: proc(a: []string, sep: string, allocator := context.allocator) -> string { if len(a) == 0 { @@ -631,7 +653,8 @@ Output: abc -**Returns** The concatenated string +**Returns** +The concatenated string */ concatenate :: proc(a: []string, allocator := context.allocator) -> string { if len(a) == 0 { @@ -658,7 +681,8 @@ Returns a combined string from the slice of strings `a` without a separator, or - a: A slice of strings to concatenate - allocator: (default is context.allocator) -**Returns** The concatenated string, and an error if allocation fails +**Returns** +The concatenated string, and an error if allocation fails */ concatenate_safe :: proc(a: []string, allocator := context.allocator) -> (res: string, err: mem.Allocator_Error) { if len(a) == 0 { @@ -693,9 +717,9 @@ Example: import "core:strings" strings_cut_example :: proc() { - strings.cut("some example text", 0, 4) // -> "some" - strings.cut("some example text", 2, 2) // -> "me" - strings.cut("some example text", 5, 7) // -> "example" + fmt.println(strings.cut("some example text", 0, 4)) // -> "some" + fmt.println(strings.cut("some example text", 2, 2)) // -> "me" + fmt.println(strings.cut("some example text", 5, 7)) // -> "example" } Output: @@ -704,7 +728,8 @@ Output: me example -**Returns** The substring +**Returns** +The substring */ cut :: proc(s: string, rune_offset := int(0), rune_length := int(0), allocator := context.allocator) -> (res: string) { s := s; rune_length := rune_length @@ -773,7 +798,8 @@ Splits the input string `s` into a slice of substrings separated by the specifie NOTE: Allocation occurs for the array, the splits are all views of the original string. -**Returns** A slice of substrings +**Returns** +A slice of substrings */ @private _split :: proc(s_, sep: string, sep_save, n_: int, allocator := context.allocator) -> []string { @@ -913,7 +939,8 @@ Output: NOTE: Allocation occurs for the array, the splits are all views of the original string. -**Returns** A slice of strings, each representing a part of the split string after the separator. +**Returns** +A slice of strings, each representing a part of the split string after the separator. */ split_after :: proc(s, sep: string, allocator := context.allocator) -> []string { return _split(s, sep, len(sep), -1, allocator) @@ -946,7 +973,8 @@ Output: NOTE: Allocation occurs for the array, the splits are all views of the original string. -**Returns** A slice of strings with `n` parts or fewer if there weren't +**Returns** +A slice of strings with `n` parts or fewer if there weren't */ split_after_n :: proc(s, sep: string, n: int, allocator := context.allocator) -> []string { return _split(s, sep, len(sep), n, allocator) @@ -962,7 +990,8 @@ up to (but not including) the separator, as well as a boolean indicating success - sep: The separator string to search for. - sep_save: Number of characters from the separator to include in the result. -**Returns** A tuple containing the resulting substring and a boolean indicating success. +**Returns** +A tuple containing the resulting substring and a boolean indicating success. */ @private _split_iterator :: proc(s: ^string, sep: string, sep_save: int) -> (res: string, ok: bool) { @@ -1018,7 +1047,8 @@ Output: d e -**Returns** A tuple containing the resulting substring and a boolean indicating success. +**Returns** +A tuple containing the resulting substring and a boolean indicating success. */ split_by_byte_iterator :: proc(s: ^string, sep: u8) -> (res: string, ok: bool) { m := index_byte(s^, sep) @@ -1062,7 +1092,8 @@ Output: d e -**Returns** A tuple containing the resulting substring and a boolean indicating success. +**Returns** +A tuple containing the resulting substring and a boolean indicating success. */ split_iterator :: proc(s: ^string, sep: string) -> (string, bool) { return _split_iterator(s, sep, 0) @@ -1095,7 +1126,8 @@ Output: d. e -**Returns** A tuple containing the resulting substring and a boolean indicating success. +**Returns** +A tuple containing the resulting substring and a boolean indicating success. */ split_after_iterator :: proc(s: ^string, sep: string) -> (string, bool) { return _split_iterator(s, sep, len(sep)) @@ -1108,7 +1140,8 @@ Trims the carriage return character from the end of the input string. **Inputs** - s: The input string to trim. -**Returns** The trimmed string as a slice of the original. +**Returns** +The trimmed string as a slice of the original. */ @(private) _trim_cr :: proc(s: string) -> string { @@ -1144,7 +1177,8 @@ Output: ["a", "b", "c", "d", "e"] -**Returns** A slice (allocated) of the split string (slices into original string) +**Returns** +A slice (allocated) of the split string (slices into original string) */ split_lines :: proc(s: string, allocator := context.allocator) -> []string { sep :: "\n" @@ -1181,7 +1215,8 @@ Output: NOTE: Allocation occurs for the array, the splits are all views of the original string. -**Returns** A slice (allocated) of the split string (slices into original string) +**Returns** +A slice (allocated) of the split string (slices into original string) */ split_lines_n :: proc(s: string, n: int, allocator := context.allocator) -> []string { sep :: "\n" @@ -1217,7 +1252,8 @@ Output: NOTE: Allocation occurs for the array, the splits are all views of the original string. -**Returns** A slice (allocated) of the split string (slices into original string), with `\n` included. +**Returns** +A slice (allocated) of the split string (slices into original string), with `\n` included. */ split_lines_after :: proc(s: string, allocator := context.allocator) -> []string { sep :: "\n" @@ -1255,7 +1291,8 @@ Output: NOTE: Allocation occurs for the array, the splits are all views of the original string. -**Returns** A slice (allocated) of the split string (slices into original string), with `\n` included. +**Returns** +A slice (allocated) of the split string (slices into original string), with `\n` included. */ split_lines_after_n :: proc(s: string, n: int, allocator := context.allocator) -> []string { sep :: "\n" @@ -1282,13 +1319,15 @@ Example: for str in strings.split_lines_iterator(&text) { fmt.print(str) // every loop -> a b c d e } + fmt.print("\n") } Output: abcde -**Returns** A tuple containing the resulting substring and a boolean indicating success. +**Returns** +A tuple containing the resulting substring and a boolean indicating success. */ split_lines_iterator :: proc(s: ^string) -> (line: string, ok: bool) { sep :: "\n" @@ -1308,7 +1347,7 @@ Example: import "core:strings" strings_split_lines_after_iterator_example :: proc() { - text := "a\nb\nc\nd\ne" + text := "a\nb\nc\nd\ne\n" for str in strings.split_lines_after_iterator(&text) { fmt.print(str) // every loop -> a\n b\n c\n d\n e\n } @@ -1322,7 +1361,8 @@ Output: d e -**Returns** A tuple containing the resulting substring with line breaks included and a boolean indicating success. +**Returns** +A tuple containing the resulting substring with line breaks included and a boolean indicating success. */ split_lines_after_iterator :: proc(s: ^string) -> (line: string, ok: bool) { sep :: "\n" @@ -1356,7 +1396,8 @@ Output: -1 -1 -**Returns** The byte offset of the first occurrence of `c` in `s`, or -1 if not found. +**Returns** +The byte offset of the first occurrence of `c` in `s`, or -1 if not found. */ index_byte :: proc(s: string, c: byte) -> int { for i := 0; i < len(s); i += 1 { @@ -1389,7 +1430,8 @@ Output: -1 -1 -**Returns** The byte offset of the last occurrence of `c` in `s`, or -1 if not found. +**Returns** +The byte offset of the last occurrence of `c` in `s`, or -1 if not found. */ last_index_byte :: proc(s: string, c: byte) -> int { for i := len(s)-1; i >= 0; i -= 1 { @@ -1425,11 +1467,13 @@ Output: 0 1 2 + 3 5 6 7 -**Returns** The byte offset of the first occurrence of `r` in `s`, or -1 if not found. +**Returns** +The byte offset of the first occurrence of `r` in `s`, or -1 if not found. */ index_rune :: proc(s: string, r: rune) -> int { switch { @@ -1475,7 +1519,8 @@ Output: 2 -1 -**Returns** The byte offset of the first occurrence of `substr` in `s`, or -1 if not found. +**Returns** +The byte offset of the first occurrence of `substr` in `s`, or -1 if not found. */ index :: proc(s, substr: string) -> int { hash_str_rabin_karp :: proc(s: string) -> (hash: u32 = 0, pow: u32 = 1) { @@ -1548,7 +1593,8 @@ Output: 2 -1 -**Returns** The byte offset of the last occurrence of `substr` in `s`, or -1 if not found. +**Returns** +The byte offset of the last occurrence of `substr` in `s`, or -1 if not found. */ last_index :: proc(s, substr: string) -> int { hash_str_rabin_karp_reverse :: proc(s: string) -> (hash: u32 = 0, pow: u32 = 1) { @@ -1621,7 +1667,8 @@ Output: 0 -1 -**Returns** The index of the first character of `chars` found in `s`, or -1 if not found. +**Returns** +The index of the first character of `chars` found in `s`, or -1 if not found. */ index_any :: proc(s, chars: string) -> int { if chars == "" { @@ -1682,7 +1729,8 @@ Output: 3 -1 -**Returns** The index of the last matching character, or -1 if not found +**Returns** +The index of the last matching character, or -1 if not found */ last_index_any :: proc(s, chars: string) -> int { if chars == "" { @@ -1739,7 +1787,8 @@ Finds the first occurrence of any substring in `substrs` within `s` - s: The string to search in - substrs: The substrings to look for -**Returns** A tuple containing the index of the first matching substring, and its length (width) +**Returns** +A tuple containing the index of the first matching substring, and its length (width) */ index_multi :: proc(s: string, substrs: []string) -> (idx: int, width: int) { idx = -1 @@ -1798,7 +1847,8 @@ Output: 1 0 -**Returns** The number of occurrences of `substr` in `s`, returns the rune_count + 1 of the string `s` on empty `substr` +**Returns** +The number of occurrences of `substr` in `s`, returns the rune_count + 1 of the string `s` on empty `substr` */ count :: proc(s, substr: string) -> int { if len(substr) == 0 { // special case @@ -1859,7 +1909,8 @@ Output: abcabc -**Returns** The concatenated repeated string +**Returns** +The concatenated repeated string */ repeat :: proc(s: string, count: int, allocator := context.allocator) -> string { if count < 0 { @@ -1904,7 +1955,8 @@ Output: xyzxyz false zzzz true -**Returns** A tuple containing the modified string and a boolean indicating if an allocation occurred during the replacement +**Returns** +A tuple containing the modified string and a boolean indicating if an allocation occurred during the replacement */ replace_all :: proc(s, old, new: string, allocator := context.allocator) -> (output: string, was_allocation: bool) { return replace(s, old, new, -1, allocator) @@ -1940,7 +1992,8 @@ Output: xyzxyz false zzzz true -**Returns** A tuple containing the modified string and a boolean indicating if an allocation occurred during the replacement +**Returns** +A tuple containing the modified string and a boolean indicating if an allocation occurred during the replacement */ replace :: proc(s, old, new: string, n: int, allocator := context.allocator) -> (output: string, was_allocation: bool) { if old == new || n == 0 { @@ -2007,11 +2060,12 @@ Example: Output: abc true - true + true bcbc true abcabc false -**Returns** A tuple containing the modified string and a boolean indicating if an allocation occurred during the removal +**Returns** +A tuple containing the modified string and a boolean indicating if an allocation occurred during the removal */ remove :: proc(s, key: string, n: int, allocator := context.allocator) -> (output: string, was_allocation: bool) { return replace(s, key, "", n, allocator) @@ -2043,7 +2097,8 @@ Output: bcbc true abcabc false -**Returns** A tuple containing the modified string and a boolean indicating if an allocation occurred during the removal +**Returns** +A tuple containing the modified string and a boolean indicating if an allocation occurred during the removal */ remove_all :: proc(s, key: string, allocator := context.allocator) -> (output: string, was_allocation: bool) { return remove(s, key, -1, allocator) @@ -2112,7 +2167,8 @@ Output: 1 -1 -**Returns** The index of the first matching rune, or -1 if no match was found +**Returns** +The index of the first matching rune, or -1 if no match was found */ index_proc :: proc(s: string, p: proc(rune) -> bool, truth := true) -> int { for r, i in s { @@ -2169,16 +2225,17 @@ Example: strings_trim_left_proc_example :: proc() { find :: proc(r: rune) -> bool { - return r != 'i' + return r == 'x' } - strings.trim_left_proc("testing", find) + fmt.println(strings.trim_left_proc("xxxxxxtesting", find)) } Output: - ing + testing -**Returns** The trimmed string as a slice of the original +**Returns** +The trimmed string as a slice of the original */ trim_left_proc :: proc(s: string, p: proc(rune) -> bool) -> string { i := index_proc(s, p, false) @@ -2195,7 +2252,8 @@ Trims the input string `s` from the left until the procedure `p` with state retu - p: A procedure that takes a raw pointer and a rune and returns a boolean - state: The raw pointer to be passed to the procedure `p` -**Returns** The trimmed string as a slice of the original +**Returns** +The trimmed string as a slice of the original */ trim_left_proc_with_state :: proc(s: string, p: proc(rawptr, rune) -> bool, state: rawptr) -> string { i := index_proc_with_state(s, p, state, false) @@ -2227,7 +2285,8 @@ Output: test -**Returns** The trimmed string as a slice of the original +**Returns** +The trimmed string as a slice of the original */ trim_right_proc :: proc(s: string, p: proc(rune) -> bool) -> string { i := last_index_proc(s, p, false) @@ -2247,7 +2306,8 @@ Trims the input string `s` from the right until the procedure `p` with state ret - p: A procedure that takes a raw pointer and a rune and returns a boolean - state: The raw pointer to be passed to the procedure `p` -**Returns** The trimmed string as a slice of the original, empty when no match +**Returns** +The trimmed string as a slice of the original, empty when no match */ trim_right_proc_with_state :: proc(s: string, p: proc(rawptr, rune) -> bool, state: rawptr) -> string { i := last_index_proc_with_state(s, p, state, false) @@ -2279,7 +2339,8 @@ Trims the cutset string from the `s` string - s: The input string - cutset: The set of characters to be trimmed from the left of the input string -**Returns** The trimmed string as a slice of the original +**Returns** +The trimmed string as a slice of the original */ trim_left :: proc(s: string, cutset: string) -> string { if s == "" || cutset == "" { @@ -2295,7 +2356,8 @@ Trims the cutset string from the `s` string from the right - s: The input string - cutset: The set of characters to be trimmed from the right of the input string -**Returns** The trimmed string as a slice of the original +**Returns** +The trimmed string as a slice of the original */ trim_right :: proc(s: string, cutset: string) -> string { if s == "" || cutset == "" { @@ -2311,7 +2373,8 @@ Trims the cutset string from the `s` string, both from left and right - s: The input string - cutset: The set of characters to be trimmed from both sides of the input string -**Returns** The trimmed string as a slice of the original +**Returns** +The trimmed string as a slice of the original */ trim :: proc(s: string, cutset: string) -> string { return trim_right(trim_left(s, cutset), cutset) @@ -2322,7 +2385,8 @@ Trims until a valid non-space rune from the left, "\t\txyz\t\t" -> "xyz\t\t" **Inputs** - s: The input string -**Returns** The trimmed string as a slice of the original +**Returns** +The trimmed string as a slice of the original */ trim_left_space :: proc(s: string) -> string { return trim_left_proc(s, is_space) @@ -2333,7 +2397,8 @@ Trims from the right until a valid non-space rune, "\t\txyz\t\t" -> "\t\txyz" **Inputs** - s: The input string -**Returns** The trimmed string as a slice of the original +**Returns** +The trimmed string as a slice of the original */ trim_right_space :: proc(s: string) -> string { return trim_right_proc(s, is_space) @@ -2344,7 +2409,8 @@ Trims from both sides until a valid non-space rune, "\t\txyz\t\t" -> "xyz" **Inputs** - s: The input string -**Returns** The trimmed string as a slice of the original +**Returns** +The trimmed string as a slice of the original */ trim_space :: proc(s: string) -> string { return trim_right_space(trim_left_space(s)) @@ -2355,7 +2421,8 @@ Trims null runes from the left, "\x00\x00testing\x00\x00" -> "testing\x00\x00" **Inputs** - s: The input string -**Returns** The trimmed string as a slice of the original +**Returns** +The trimmed string as a slice of the original */ trim_left_null :: proc(s: string) -> string { return trim_left_proc(s, is_null) @@ -2366,7 +2433,8 @@ Trims null runes from the right, "\x00\x00testing\x00\x00" -> "\x00\x00testing" **Inputs** - s: The input string -**Returns** The trimmed string as a slice of the original +**Returns** +The trimmed string as a slice of the original */ trim_right_null :: proc(s: string) -> string { return trim_right_proc(s, is_null) @@ -2376,7 +2444,8 @@ Trims null runes from both sides, "\x00\x00testing\x00\x00" -> "testing" **Inputs** - s: The input string -**Returns** The trimmed string as a slice of the original +**Returns** +The trimmed string as a slice of the original */ trim_null :: proc(s: string) -> string { return trim_right_null(trim_left_null(s)) @@ -2403,7 +2472,8 @@ Output: ing testing -**Returns** The trimmed string as a slice of original, or the input string if no prefix was found +**Returns** +The trimmed string as a slice of original, or the input string if no prefix was found */ trim_prefix :: proc(s, prefix: string) -> string { if has_prefix(s, prefix) { @@ -2433,7 +2503,8 @@ Output: todo todo.doc -**Returns** The trimmed string as a slice of original, or the input string if no suffix was found +**Returns** +The trimmed string as a slice of original, or the input string if no suffix was found */ trim_suffix :: proc(s, suffix: string) -> string { if has_suffix(s, suffix) { @@ -2468,7 +2539,8 @@ Output: ["testing", "this", "out", "nice", "done", "last"] -**Returns** An array of strings, or nil on empty substring or no matches +**Returns** +An array of strings, or nil on empty substring or no matches */ split_multi :: proc(s: string, substrs: []string, allocator := context.allocator) -> []string #no_bounds_check { if s == "" || len(substrs) <= 0 { @@ -2539,7 +2611,8 @@ Output: done last -**Returns** A tuple containing the split string and a boolean indicating success or failure +**Returns** +A tuple containing the split string and a boolean indicating success or failure */ split_multi_iterate :: proc(it: ^string, substrs: []string) -> (res: string, ok: bool) #no_bounds_check { if it == nil || len(it) == 0 || len(substrs) <= 0 { @@ -2590,7 +2663,8 @@ Output: Hello? -**Returns** A new string with invalid UTF-8 characters replaced +**Returns** +A new string with invalid UTF-8 characters replaced */ scrub :: proc(s: string, replacement: string, allocator := context.allocator) -> string { str := s @@ -2647,7 +2721,8 @@ Output: abcxyz zyxcba -**Returns** A reversed version of the input string +**Returns** +A reversed version of the input string */ reverse :: proc(s: string, allocator := context.allocator) -> string { str := s @@ -2689,7 +2764,8 @@ Output: WARNING: Panics if tab_size <= 0 -**Returns** A new string with tab characters expanded to the specified tab size +**Returns** +A new string with tab characters expanded to the specified tab size */ expand_tabs :: proc(s: string, tab_size: int, allocator := context.allocator) -> string { if tab_size <= 0 { @@ -2746,9 +2822,14 @@ Example: strings_partition_example :: proc() { text := "testing this out" - strings.partition(text, " this ") // -> head: "testing", match: " this ", tail: "out" - strings.partition(text, "hi") // -> head: "testing t", match: "hi", tail: "s out" - strings.partition(text, "xyz") // -> head: "testing this out", match: "", tail: "" + head, match, tail := strings.partition(text, " this ") // -> head: "testing", match: " this ", tail: "out" + fmt.println(head, match, tail) + head, match, tail = strings.partition(text, "hi") // -> head: "testing t", match: "hi", tail: "s out" + fmt.println(head, match, tail) + head, match, tail = strings.partition(text, "xyz") // -> head: "testing this out", match: "", tail: "" + fmt.println(head) + fmt.println(match == "") + fmt.println(tail == "") } Output: @@ -2756,8 +2837,11 @@ Output: testing this out testing t hi s out testing this out + true + true -**Returns** A tuple with `head` (before the split), `match` (the separator), and `tail` (the end of the split) strings +**Returns** +A tuple with `head` (before the split), `match` (the separator), and `tail` (the end of the split) strings */ partition :: proc(str, sep: string) -> (head, match, tail: string) { i := index(str, sep) @@ -2784,7 +2868,8 @@ Centers the input string within a field of specified length by adding pad string - pad: The string used for padding on both sides - allocator: (default is context.allocator) -**Returns** A new string centered within a field of the specified length +**Returns** +A new string centered within a field of the specified length */ centre_justify :: proc(str: string, length: int, pad: string, allocator := context.allocator) -> string { n := rune_count(str) @@ -2818,7 +2903,8 @@ Left-justifies the input string within a field of specified length by adding pad - pad: The string used for padding on the right side - allocator: (default is context.allocator) -**Returns** A new string left-justified within a field of the specified length +**Returns** +A new string left-justified within a field of the specified length */ left_justify :: proc(str: string, length: int, pad: string, allocator := context.allocator) -> string { n := rune_count(str) @@ -2851,7 +2937,8 @@ Right-justifies the input string within a field of specified length by adding pa - pad: The string used for padding on the left side - allocator: (default is context.allocator) -**Returns** A new string right-justified within a field of the specified length +**Returns** +A new string right-justified within a field of the specified length */ right_justify :: proc(str: string, length: int, pad: string, allocator := context.allocator) -> string { n := rune_count(str) @@ -2908,7 +2995,8 @@ Splits a string into a slice of substrings at each instance of one or more conse - s: The input string - allocator: (default is context.allocator) -**Returns** A slice of substrings of the input string, or an empty slice if the input string only contains white space +**Returns** +A slice of substrings of the input string, or an empty slice if the input string only contains white space */ fields :: proc(s: string, allocator := context.allocator) -> []string #no_bounds_check { n := 0 @@ -2970,7 +3058,8 @@ Splits a string into a slice of substrings at each run of unicode code points `r NOTE: fields_proc makes no guarantee about the order in which it calls `f(r)`, it assumes that `f` always returns the same value for a given `r` -**Returns** A slice of substrings of the input string, or an empty slice if all code points in the input string satisfy the predicate or if the input string is empty +**Returns** +A slice of substrings of the input string, or an empty slice if all code points in the input string satisfy the predicate or if the input string is empty */ fields_proc :: proc(s: string, f: proc(rune) -> bool, allocator := context.allocator) -> []string #no_bounds_check { substrings := make([dynamic]string, 0, 32, allocator) @@ -3047,7 +3136,8 @@ NOTE: Does not perform internal allocation if length of string `b`, in runes, is - a, b: The two strings to compare - allocator: (default is context.allocator) -**Returns** The Levenshtein edit distance between the two strings +**Returns** +The Levenshtein edit distance between the two strings NOTE: This implementation is a single-row-version of the Wagner–Fischer algorithm, based on C code by Martin Ettl. */ From 24493e89ad581e6e095179bf89b0c01fdd3e415c Mon Sep 17 00:00:00 2001 From: Jon Lipstate Date: Tue, 28 Mar 2023 22:17:39 -0700 Subject: [PATCH 10/50] WSAPoll --- core/sys/windows/ws2_32.odin | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/core/sys/windows/ws2_32.odin b/core/sys/windows/ws2_32.odin index 30515d430..4b70e880a 100644 --- a/core/sys/windows/ws2_32.odin +++ b/core/sys/windows/ws2_32.odin @@ -3,11 +3,22 @@ package sys_windows foreign import ws2_32 "system:Ws2_32.lib" +POLLRDNORM :: 0x0100 +POLLRDBAND :: 0x0200 +POLLIN :: (POLLRDNORM | POLLRDBAND) +POLLPRI :: 0x0400 +WSA_POLLFD::struct{ + fd:SOCKET, + events:c_short, + revents:c_short, +} + @(default_calling_convention="stdcall") foreign ws2_32 { WSAStartup :: proc(wVersionRequested: WORD, lpWSAData: LPWSADATA) -> c_int --- WSACleanup :: proc() -> c_int --- WSAGetLastError :: proc() -> c_int --- + WSAPoll :: proc(fdArray: ^WSA_POLLFD, fds: c_ulong, timeout: c_int) -> c_int --- WSADuplicateSocketW :: proc( s: SOCKET, dwProcessId: DWORD, From bd7ffcc0484018a99d13cfb26c9a8862e8aee9e3 Mon Sep 17 00:00:00 2001 From: Mark Naughton Date: Wed, 29 Mar 2023 16:28:52 +0100 Subject: [PATCH 11/50] Change help text to output to stdout --- src/main.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index bbb28cdf8..5ab6ed66c 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -594,13 +594,13 @@ gb_internal Array setup_args(int argc, char const **argv) { gb_internal void print_usage_line(i32 indent, char const *fmt, ...) { while (indent --> 0) { - gb_printf_err("\t"); + gb_printf("\t"); } va_list va; va_start(va, fmt); - gb_printf_err_va(fmt, va); + gb_printf_va(fmt, va); va_end(va); - gb_printf_err("\n"); + gb_printf("\n"); } gb_internal void usage(String argv0) { From 4a54676f31b464c24bb1f687a3aefe0ebb73cb34 Mon Sep 17 00:00:00 2001 From: Elusive Porpoise <95202750+elusivePorpoise@users.noreply.github.com> Date: Wed, 29 Mar 2023 12:09:55 -0700 Subject: [PATCH 12/50] Add TIMECAPS stuff Summary: Test Plan: --- core/sys/windows/winmm.odin | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/core/sys/windows/winmm.odin b/core/sys/windows/winmm.odin index 64ace19fc..380a5e9ed 100644 --- a/core/sys/windows/winmm.odin +++ b/core/sys/windows/winmm.odin @@ -5,7 +5,14 @@ foreign import winmm "system:Winmm.lib" @(default_calling_convention="stdcall") foreign winmm { + timeGetDevCaps :: proc(ptc: LPTIMECAPS, cbtc: UINT) -> MMRESULT --- timeBeginPeriod :: proc(uPeriod: UINT) -> MMRESULT --- timeEndPeriod :: proc(uPeriod: UINT) -> MMRESULT --- timeGetTime :: proc() -> DWORD --- } + +LPTIMECAPS :: ^TIMECAPS +TIMECAPS :: struct { + wPeriodMin: UINT, + wPeriodMax: UINT, +} \ No newline at end of file From 57594153a17069c0e3751a361aad218a4f0e75d3 Mon Sep 17 00:00:00 2001 From: Elusive Porpoise <95202750+elusivePorpoise@users.noreply.github.com> Date: Wed, 29 Mar 2023 13:06:42 -0700 Subject: [PATCH 13/50] relocations and add some error consts to winmm Summary: Test Plan: --- core/sys/windows/types.odin | 22 ----- core/sys/windows/winmm.odin | 156 +++++++++++++++++++++++++++++++++++- 2 files changed, 155 insertions(+), 23 deletions(-) diff --git a/core/sys/windows/types.odin b/core/sys/windows/types.odin index 514998a43..fa92d0aca 100644 --- a/core/sys/windows/types.odin +++ b/core/sys/windows/types.odin @@ -145,8 +145,6 @@ PCONDITION_VARIABLE :: ^CONDITION_VARIABLE PLARGE_INTEGER :: ^LARGE_INTEGER PSRWLOCK :: ^SRWLOCK -MMRESULT :: UINT - CREATE_WAITABLE_TIMER_MANUAL_RESET :: 0x00000001 CREATE_WAITABLE_TIMER_HIGH_RESOLUTION :: 0x00000002 @@ -261,26 +259,6 @@ GET_FILEEX_INFO_LEVELS :: distinct i32 GetFileExInfoStandard: GET_FILEEX_INFO_LEVELS : 0 GetFileExMaxInfoLevel: GET_FILEEX_INFO_LEVELS : 1 -// String resource number bases (internal use) - -MMSYSERR_BASE :: 0 -WAVERR_BASE :: 32 -MIDIERR_BASE :: 64 -TIMERR_BASE :: 96 -JOYERR_BASE :: 160 -MCIERR_BASE :: 256 -MIXERR_BASE :: 1024 - -MCI_STRING_OFFSET :: 512 -MCI_VD_OFFSET :: 1024 -MCI_CD_OFFSET :: 1088 -MCI_WAVE_OFFSET :: 1152 -MCI_SEQ_OFFSET :: 1216 - -// timer error return values -TIMERR_NOERROR :: 0 // no error -TIMERR_NOCANDO :: TIMERR_BASE + 1 // request not completed -TIMERR_STRUCT :: TIMERR_BASE + 33 // time struct size DIAGNOSTIC_REASON_VERSION :: 0 diff --git a/core/sys/windows/winmm.odin b/core/sys/windows/winmm.odin index 380a5e9ed..445470f6e 100644 --- a/core/sys/windows/winmm.odin +++ b/core/sys/windows/winmm.odin @@ -3,6 +3,8 @@ package sys_windows foreign import winmm "system:Winmm.lib" +MMRESULT :: UINT + @(default_calling_convention="stdcall") foreign winmm { timeGetDevCaps :: proc(ptc: LPTIMECAPS, cbtc: UINT) -> MMRESULT --- @@ -15,4 +17,156 @@ LPTIMECAPS :: ^TIMECAPS TIMECAPS :: struct { wPeriodMin: UINT, wPeriodMax: UINT, -} \ No newline at end of file +} + +// String resource number bases (internal use) +MMSYSERR_BASE :: 0 +WAVERR_BASE :: 32 +MIDIERR_BASE :: 64 +TIMERR_BASE :: 96 +JOYERR_BASE :: 160 +MCIERR_BASE :: 256 +MIXERR_BASE :: 1024 + +MCI_STRING_OFFSET :: 512 +MCI_VD_OFFSET :: 1024 +MCI_CD_OFFSET :: 1088 +MCI_WAVE_OFFSET :: 1152 +MCI_SEQ_OFFSET :: 1216 + +/* general error return values */ +MMSYSERR_NOERROR :: 0 /* no error */ +MMSYSERR_ERROR :: MMSYSERR_BASE + 1 /* unspecified error */ +MMSYSERR_BADDEVICEID :: MMSYSERR_BASE + 2 /* device ID out of range */ +MMSYSERR_NOTENABLED :: MMSYSERR_BASE + 3 /* driver failed enable */ +MMSYSERR_ALLOCATED :: MMSYSERR_BASE + 4 /* device already allocated */ +MMSYSERR_INVALHANDLE :: MMSYSERR_BASE + 5 /* device handle is invalid */ +MMSYSERR_NODRIVER :: MMSYSERR_BASE + 6 /* no device driver present */ +MMSYSERR_NOMEM :: MMSYSERR_BASE + 7 /* memory allocation error */ +MMSYSERR_NOTSUPPORTED :: MMSYSERR_BASE + 8 /* function isn't supported */ +MMSYSERR_BADERRNUM :: MMSYSERR_BASE + 9 /* error value out of range */ +MMSYSERR_INVALFLAG :: MMSYSERR_BASE + 10 /* invalid flag passed */ +MMSYSERR_INVALPARAM :: MMSYSERR_BASE + 11 /* invalid parameter passed */ +MMSYSERR_HANDLEBUSY :: MMSYSERR_BASE + 12 /* handle being used simultaneously on another thread (eg callback) */ +MMSYSERR_INVALIDALIAS :: MMSYSERR_BASE + 13 /* specified alias not found */ +MMSYSERR_BADDB :: MMSYSERR_BASE + 14 /* bad registry database */ +MMSYSERR_KEYNOTFOUND :: MMSYSERR_BASE + 15 /* registry key not found */ +MMSYSERR_READERROR :: MMSYSERR_BASE + 16 /* registry read error */ +MMSYSERR_WRITEERROR :: MMSYSERR_BASE + 17 /* registry write error */ +MMSYSERR_DELETEERROR :: MMSYSERR_BASE + 18 /* registry delete error */ +MMSYSERR_VALNOTFOUND :: MMSYSERR_BASE + 19 /* registry value not found */ +MMSYSERR_NODRIVERCB :: MMSYSERR_BASE + 20 /* driver does not call DriverCallback */ +MMSYSERR_MOREDATA :: MMSYSERR_BASE + 21 /* more data to be returned */ +MMSYSERR_LASTERROR :: MMSYSERR_BASE + 21 /* last error in range */ + +/* waveform audio error return values */ +WAVERR_BADFORMAT :: WAVERR_BASE + 0 /* unsupported wave format */ +WAVERR_STILLPLAYING :: WAVERR_BASE + 1 /* still something playing */ +WAVERR_UNPREPARED :: WAVERR_BASE + 2 /* header not prepared */ +WAVERR_SYNC :: WAVERR_BASE + 3 /* device is synchronous */ +WAVERR_LASTERROR :: WAVERR_BASE + 3 /* last error in range */ + +/* MIDI error return values */ +MIDIERR_UNPREPARED :: MIDIERR_BASE + 0 /* header not prepared */ +MIDIERR_STILLPLAYING :: MIDIERR_BASE + 1 /* still something playing */ +MIDIERR_NOMAP :: MIDIERR_BASE + 2 /* no configured instruments */ +MIDIERR_NOTREADY :: MIDIERR_BASE + 3 /* hardware is still busy */ +MIDIERR_NODEVICE :: MIDIERR_BASE + 4 /* port no longer connected */ +MIDIERR_INVALIDSETUP :: MIDIERR_BASE + 5 /* invalid MIF */ +MIDIERR_BADOPENMODE :: MIDIERR_BASE + 6 /* operation unsupported w/ open mode */ +MIDIERR_DONT_CONTINUE :: MIDIERR_BASE + 7 /* thru device 'eating' a message */ +MIDIERR_LASTERROR :: MIDIERR_BASE + 7 /* last error in range */ + +/* timer error return values */ +TIMERR_NOERROR :: 0 /* no error */ +TIMERR_NOCANDO :: TIMERR_BASE + 1 /* request not completed */ +TIMERR_STRUCT :: TIMERR_BASE + 33 /* time struct size */ + +/* joystick error return values */ +JOYERR_NOERROR :: 0 /* no error */ +JOYERR_PARMS :: JOYERR_BASE + 5 /* bad parameters */ +JOYERR_NOCANDO :: JOYERR_BASE + 6 /* request not completed */ +JOYERR_UNPLUGGED :: JOYERR_BASE + 7 /* joystick is unplugged */ + +/* MCI error return values */ +MCIERR_INVALID_DEVICE_ID :: MCIERR_BASE + 1 +MCIERR_UNRECOGNIZED_KEYWORD :: MCIERR_BASE + 3 +MCIERR_UNRECOGNIZED_COMMAND :: MCIERR_BASE + 5 +MCIERR_HARDWARE :: MCIERR_BASE + 6 +MCIERR_INVALID_DEVICE_NAME :: MCIERR_BASE + 7 +MCIERR_OUT_OF_MEMORY :: MCIERR_BASE + 8 +MCIERR_DEVICE_OPEN :: MCIERR_BASE + 9 +MCIERR_CANNOT_LOAD_DRIVER :: MCIERR_BASE + 10 +MCIERR_MISSING_COMMAND_STRING :: MCIERR_BASE + 11 +MCIERR_PARAM_OVERFLOW :: MCIERR_BASE + 12 +MCIERR_MISSING_STRING_ARGUMENT :: MCIERR_BASE + 13 +MCIERR_BAD_INTEGER :: MCIERR_BASE + 14 +MCIERR_PARSER_INTERNAL :: MCIERR_BASE + 15 +MCIERR_DRIVER_INTERNAL :: MCIERR_BASE + 16 +MCIERR_MISSING_PARAMETER :: MCIERR_BASE + 17 +MCIERR_UNSUPPORTED_FUNCTION :: MCIERR_BASE + 18 +MCIERR_FILE_NOT_FOUND :: MCIERR_BASE + 19 +MCIERR_DEVICE_NOT_READY :: MCIERR_BASE + 20 +MCIERR_INTERNAL :: MCIERR_BASE + 21 +MCIERR_DRIVER :: MCIERR_BASE + 22 +MCIERR_CANNOT_USE_ALL :: MCIERR_BASE + 23 +MCIERR_MULTIPLE :: MCIERR_BASE + 24 +MCIERR_EXTENSION_NOT_FOUND :: MCIERR_BASE + 25 +MCIERR_OUTOFRANGE :: MCIERR_BASE + 26 +MCIERR_FLAGS_NOT_COMPATIBLE :: MCIERR_BASE + 28 +MCIERR_FILE_NOT_SAVED :: MCIERR_BASE + 30 +MCIERR_DEVICE_TYPE_REQUIRED :: MCIERR_BASE + 31 +MCIERR_DEVICE_LOCKED :: MCIERR_BASE + 32 +MCIERR_DUPLICATE_ALIAS :: MCIERR_BASE + 33 +MCIERR_BAD_CONSTANT :: MCIERR_BASE + 34 +MCIERR_MUST_USE_SHAREABLE :: MCIERR_BASE + 35 +MCIERR_MISSING_DEVICE_NAME :: MCIERR_BASE + 36 +MCIERR_BAD_TIME_FORMAT :: MCIERR_BASE + 37 +MCIERR_NO_CLOSING_QUOTE :: MCIERR_BASE + 38 +MCIERR_DUPLICATE_FLAGS :: MCIERR_BASE + 39 +MCIERR_INVALID_FILE :: MCIERR_BASE + 40 +MCIERR_NULL_PARAMETER_BLOCK :: MCIERR_BASE + 41 +MCIERR_UNNAMED_RESOURCE :: MCIERR_BASE + 42 +MCIERR_NEW_REQUIRES_ALIAS :: MCIERR_BASE + 43 +MCIERR_NOTIFY_ON_AUTO_OPEN :: MCIERR_BASE + 44 +MCIERR_NO_ELEMENT_ALLOWED :: MCIERR_BASE + 45 +MCIERR_NONAPPLICABLE_FUNCTION :: MCIERR_BASE + 46 +MCIERR_ILLEGAL_FOR_AUTO_OPEN :: MCIERR_BASE + 47 +MCIERR_FILENAME_REQUIRED :: MCIERR_BASE + 48 +MCIERR_EXTRA_CHARACTERS :: MCIERR_BASE + 49 +MCIERR_DEVICE_NOT_INSTALLED :: MCIERR_BASE + 50 +MCIERR_GET_CD :: MCIERR_BASE + 51 +MCIERR_SET_CD :: MCIERR_BASE + 52 +MCIERR_SET_DRIVE :: MCIERR_BASE + 53 +MCIERR_DEVICE_LENGTH :: MCIERR_BASE + 54 +MCIERR_DEVICE_ORD_LENGTH :: MCIERR_BASE + 55 +MCIERR_NO_INTEGER :: MCIERR_BASE + 56 +MCIERR_WAVE_OUTPUTSINUSE :: MCIERR_BASE + 64 +MCIERR_WAVE_SETOUTPUTINUSE :: MCIERR_BASE + 65 +MCIERR_WAVE_INPUTSINUSE :: MCIERR_BASE + 66 +MCIERR_WAVE_SETINPUTINUSE :: MCIERR_BASE + 67 +MCIERR_WAVE_OUTPUTUNSPECIFIED :: MCIERR_BASE + 68 +MCIERR_WAVE_INPUTUNSPECIFIED :: MCIERR_BASE + 69 +MCIERR_WAVE_OUTPUTSUNSUITABLE :: MCIERR_BASE + 70 +MCIERR_WAVE_SETOUTPUTUNSUITABLE :: MCIERR_BASE + 71 +MCIERR_WAVE_INPUTSUNSUITABLE :: MCIERR_BASE + 72 +MCIERR_WAVE_SETINPUTUNSUITABLE :: MCIERR_BASE + 73 +MCIERR_SEQ_DIV_INCOMPATIBLE :: MCIERR_BASE + 80 +MCIERR_SEQ_PORT_INUSE :: MCIERR_BASE + 81 +MCIERR_SEQ_PORT_NONEXISTENT :: MCIERR_BASE + 82 +MCIERR_SEQ_PORT_MAPNODEVICE :: MCIERR_BASE + 83 +MCIERR_SEQ_PORT_MISCERROR :: MCIERR_BASE + 84 +MCIERR_SEQ_TIMER :: MCIERR_BASE + 85 +MCIERR_SEQ_PORTUNSPECIFIED :: MCIERR_BASE + 86 +MCIERR_SEQ_NOMIDIPRESENT :: MCIERR_BASE + 87 +MCIERR_NO_WINDOW :: MCIERR_BASE + 90 +MCIERR_CREATEWINDOW :: MCIERR_BASE + 91 +MCIERR_FILE_READ :: MCIERR_BASE + 92 +MCIERR_FILE_WRITE :: MCIERR_BASE + 93 +MCIERR_NO_IDENTITY :: MCIERR_BASE + 94 + +/* MMRESULT error return values specific to the mixer API */ +MIXERR_INVALLINE :: (MIXERR_BASE + 0) +MIXERR_INVALCONTROL :: (MIXERR_BASE + 1) +MIXERR_INVALVALUE :: (MIXERR_BASE + 2) +MIXERR_LASTERROR :: (MIXERR_BASE + 2) \ No newline at end of file From 22e0f5ecd03fbf06428ae002a31ce7851d0356f6 Mon Sep 17 00:00:00 2001 From: Lucas Perlind Date: Thu, 30 Mar 2023 18:03:28 +1100 Subject: [PATCH 14/50] Add documentation tester and make it apart of CI workflow --- .github/workflows/ci.yml | 7 + tests/documentation/build.bat | 12 + tests/documentation/documentation_tester.odin | 394 ++++++++++++++++++ 3 files changed, 413 insertions(+) create mode 100644 tests/documentation/build.bat create mode 100644 tests/documentation/documentation_tester.odin diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dc2691d80..5fb98fca4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -163,6 +163,13 @@ jobs: cd tests\internal call build.bat timeout-minutes: 10 + - name: Odin documentation tests + shell: cmd + run: | + call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat + cd tests\documentation + call build.bat + timeout-minutes: 10 - name: core:math/big tests shell: cmd run: | diff --git a/tests/documentation/build.bat b/tests/documentation/build.bat new file mode 100644 index 000000000..1e92e3ba5 --- /dev/null +++ b/tests/documentation/build.bat @@ -0,0 +1,12 @@ +@echo off +set PATH_TO_ODIN==..\..\odin + +echo --- +echo Building Documentation File +echo --- +%PATH_TO_ODIN% doc ..\..\examples\all -all-packages -doc-format + +echo --- +echo Running Documentation Tester +echo --- +%PATH_TO_ODIN% run documentation_tester.odin -file -vet -strict-style -- %PATH_TO_ODIN% diff --git a/tests/documentation/documentation_tester.odin b/tests/documentation/documentation_tester.odin new file mode 100644 index 000000000..5d2b07b28 --- /dev/null +++ b/tests/documentation/documentation_tester.odin @@ -0,0 +1,394 @@ +package documentation_tester + +import "core:os" +import "core:fmt" +import "core:strings" +import "core:odin/ast" +import "core:odin/parser" +import "core:c/libc" +import doc "core:odin/doc-format" + +Example_Test :: struct { + name: string, + example_code: []string, + expected_output: []string, +} + +g_header: ^doc.Header +g_bad_doc: bool +g_examples_to_verify: [dynamic]Example_Test +g_path_to_odin: string + +array :: proc(a: $A/doc.Array($T)) -> []T { + return doc.from_array(g_header, a) +} + +str :: proc(s: $A/doc.String) -> string { + return doc.from_string(g_header, s) +} + +common_prefix :: proc(strs: []string) -> string { + if len(strs) == 0 { + return "" + } + n := max(int) + for str in strs { + n = min(n, len(str)) + } + + prefix := strs[0][:n] + for str in strs[1:] { + for len(prefix) != 0 && str[:len(prefix)] != prefix { + prefix = prefix[:len(prefix)-1] + } + if len(prefix) == 0 { + break + } + } + return prefix +} + +errorf :: proc(format: string, args: ..any) -> ! { + fmt.eprintf("%s ", os.args[0]) + fmt.eprintf(format, ..args) + fmt.eprintln() + os.exit(1) +} + +main :: proc() { + if len(os.args) != 2 { + errorf("expected path to odin executable") + } + g_path_to_odin = os.args[1] + data, ok := os.read_entire_file("all.odin-doc") + if !ok { + errorf("unable to read file: all.odin-doc") + } + err: doc.Reader_Error + g_header, err = doc.read_from_bytes(data) + switch err { + case .None: + case .Header_Too_Small: + errorf("file is too small for the file format") + case .Invalid_Magic: + errorf("invalid magic for the file format") + case .Data_Too_Small: + errorf("data is too small for the file format") + case .Invalid_Version: + errorf("invalid file format version") + } + pkgs := array(g_header.pkgs) + entities := array(g_header.entities) + + path_prefix: string + { + fullpaths: [dynamic]string + defer delete(fullpaths) + + for pkg in pkgs[1:] { + append(&fullpaths, str(pkg.fullpath)) + } + path_prefix = common_prefix(fullpaths[:]) + } + + for pkg in pkgs[1:] { + entries_array := array(pkg.entries) + fullpath := str(pkg.fullpath) + path := strings.trim_prefix(fullpath, path_prefix) + if ! strings.has_prefix(path, "core/") { + continue + } + trimmed_path := strings.trim_prefix(path, "core/") + if strings.has_prefix(trimmed_path, "sys") { + continue + } + if strings.contains(trimmed_path, "/_") { + continue + } + for entry in entries_array { + entity := entities[entry.entity] + find_and_add_examples(str(entity.docs), fmt.aprintf("%v.%v", str(pkg.name), str(entity.name))) + } + } + write_test_suite(g_examples_to_verify[:]) + if g_bad_doc { + errorf("We created bad documentation!") + } + + if ! run_test_suite() { + errorf("Test suite failed!") + } + fmt.println("Examples verified") +} + +// NOTE: this is a pretty close copy paste from the website pkg documentation on parsing the docs +find_and_add_examples :: proc(docs: string, name: string = "") { + if docs == "" { + return + } + Block_Kind :: enum { + Other, + Example, + Output, + } + Block :: struct { + kind: Block_Kind, + lines: []string, + } + lines := strings.split_lines(docs) + curr_block_kind := Block_Kind.Other + start := 0 + + example_block: Block // when set the kind should be Example + output_block: Block // when set the kind should be Output + // rely on zii that the kinds have not been set + assert(example_block.kind != .Example) + assert(output_block.kind != .Output) + + insert_block :: proc(block: Block, example: ^Block, output: ^Block, name: string) { + switch block.kind { + case .Other: + case .Example: + if example.kind == .Example { + fmt.eprintf("The documentation for %q has multiple examples which is not allowed\n", name) + g_bad_doc = true + } + example^ = block + case .Output: output^ = block + if example.kind == .Output { + fmt.eprintf("The documentation for %q has multiple output which is not allowed\n", name) + g_bad_doc = true + } + output^ = block + } + } + + for line, i in lines { + text := strings.trim_space(line) + next_block_kind := curr_block_kind + + switch curr_block_kind { + case .Other: + switch { + case strings.has_prefix(line, "Example:"): next_block_kind = .Example + case strings.has_prefix(line, "Output:"): next_block_kind = .Output + } + case .Example: + switch { + case strings.has_prefix(line, "Output:"): next_block_kind = .Output + case ! (text == "" || strings.has_prefix(line, "\t")): next_block_kind = .Other + } + case .Output: + switch { + case strings.has_prefix(line, "Example:"): next_block_kind = .Example + case ! (text == "" || strings.has_prefix(line, "\t")): next_block_kind = .Other + } + } + + if i-start > 0 && (curr_block_kind != next_block_kind) { + insert_block(Block{curr_block_kind, lines[start:i]}, &example_block, &output_block, name) + curr_block_kind, start = next_block_kind, i + } + } + + if start < len(lines) { + insert_block(Block{curr_block_kind, lines[start:]}, &example_block, &output_block, name) + } + + if output_block.kind == .Output && example_block.kind != .Example { + fmt.eprintf("The documentation for %q has an output block but no example\n", name) + g_bad_doc = true + } + + // Write example and output block if they're both present + if example_block.kind == .Example && output_block.kind == .Output { + { + // Example block starts with + // `Example:` and a number of white spaces, + lines := &example_block.lines + for len(lines) > 0 && (strings.trim_space(lines[0]) == "" || strings.has_prefix(lines[0], "Example:")) { + lines^ = lines[1:] + } + } + { + // Output block starts with + // `Output:` and a number of white spaces, + lines := &output_block.lines + for len(lines) > 0 && (strings.trim_space(lines[0]) == "" || strings.has_prefix(lines[0], "Output:")) { + lines^ = lines[1:] + } + // Additionally we need to strip all empty lines at the end of output to not include those in the expected output + for len(lines) > 0 && (strings.trim_space(lines[len(lines) - 1]) == "") { + lines^ = lines[:len(lines) - 1] + } + } + // Remove first layer of tabs which are always present + for line in &example_block.lines { + line = strings.trim_prefix(line, "\t") + } + for line in &output_block.lines { + line = strings.trim_prefix(line, "\t") + } + append(&g_examples_to_verify, Example_Test { name = name, example_code = example_block.lines, expected_output = output_block.lines }) + } +} + + +write_test_suite :: proc(example_tests: []Example_Test) { + TEST_SUITE_DIRECTORY :: "verify" + os.remove_directory(TEST_SUITE_DIRECTORY) + os.make_directory(TEST_SUITE_DIRECTORY) + + example_build := strings.builder_make() + test_runner := strings.builder_make() + + strings.write_string(&test_runner, +`//+private +package documentation_verification + +import "core:os" +import "core:mem" +import "core:io" +import "core:fmt" +import "core:thread" +import "core:sync" +import "core:intrinsics" + +@(private="file") +_read_pipe: os.Handle +@(private="file") +_write_pipe: os.Handle +@(private="file") +_pipe_reader_semaphore: sync.Sema +@(private="file") +_out_data: string +@(private="file") +_out_buffer: [mem.Megabyte]byte +@(private="file") +_bad_test_found: bool + +@(private="file") +_spawn_pipe_reader :: proc() { + thread.create_and_start(proc(^thread.Thread) { + stream := os.stream_from_handle(_read_pipe) + reader := io.to_reader(stream) + sync.post(&_pipe_reader_semaphore) // notify thread is ready + for { + n_read := 0 + read_to_null_byte := 0 + finished_reading := false + for ! finished_reading { + just_read, err := io.read(reader, _out_buffer[n_read:], &n_read); if err != .None { + panic("We got an IO error!") + } + for b in _out_buffer[n_read - just_read: n_read] { + if b == 0 { + finished_reading = true + break + } + read_to_null_byte += 1 + } + } + intrinsics.volatile_store(&_out_data, transmute(string)_out_buffer[:read_to_null_byte]) + sync.post(&_pipe_reader_semaphore) // notify we read the null byte + } + }) + + sync.wait(&_pipe_reader_semaphore) // wait for thread to be ready +} + +@(private="file") +_check :: proc(test_name: string, expected: string) { + null_byte: [1]byte + os.write(_write_pipe, null_byte[:]) + os.flush(_write_pipe) + sync.wait(&_pipe_reader_semaphore) + output := intrinsics.volatile_load(&_out_data) // wait for thread to read null byte + if expected != output { + fmt.eprintf("Test %q got unexpected output:\n%q\n", test_name, output) + fmt.eprintf("Expected:\n%q\n", expected) + _bad_test_found = true + } +} + +main :: proc() { + _read_pipe, _write_pipe, _ = os.pipe() + os.stdout = _write_pipe + _spawn_pipe_reader() +`) + for test in example_tests { + strings.builder_reset(&example_build) + strings.write_string(&example_build, "package documentation_verification\n\n") + for line in test.example_code { + strings.write_string(&example_build, line) + strings.write_byte(&example_build, '\n') + } + + code_string := strings.to_string(example_build) + code_test_name: string + + example_ast := ast.File { src = code_string } + odin_parser := parser.default_parser() + + if ! parser.parse_file(&odin_parser, &example_ast) { + g_bad_doc = true + continue + } + if odin_parser.error_count > 0 { + fmt.eprintf("Errors on the following code generated for %q:\n%v\n", test.name, code_string) + g_bad_doc = true + continue + } + + for d in example_ast.decls { + value_decl, is_value := d.derived.(^ast.Value_Decl); if ! is_value { + continue + } + if len(value_decl.values) != 1 { + continue + } + proc_lit, is_proc_lit := value_decl.values[0].derived_expr.(^ast.Proc_Lit); if ! is_proc_lit { + continue + } + if len(proc_lit.type.params.list) > 0 { + continue + } + code_test_name = code_string[value_decl.names[0].pos.offset:value_decl.names[0].end.offset] + break + } + + if code_test_name == "" { + fmt.eprintf("We could not any find procedure literals with no arguments in the example for %q\n", test.name) + g_bad_doc = true + continue + } + + strings.write_string(&test_runner, "\t") + strings.write_string(&test_runner, code_test_name) + strings.write_string(&test_runner, "()\n") + fmt.sbprintf(&test_runner, "\t_check(%q, `", code_test_name) + for line in test.expected_output { + strings.write_string(&test_runner, line) + strings.write_string(&test_runner, "\n") + } + strings.write_string(&test_runner, "`)\n") + save_path := fmt.tprintf("verify/test_%s.odin", code_test_name) + if ! os.write_entire_file(save_path, transmute([]byte)code_string) { + fmt.eprintf("We could not save the file to the path %q\n", save_path) + g_bad_doc = true + } + } + + strings.write_string(&test_runner, +` if _bad_test_found { + fmt.eprintln("One or more tests failed") + os.exit(1) + } +}`) + os.write_entire_file("verify/main.odin", transmute([]byte)strings.to_string(test_runner)) +} + +run_test_suite :: proc() -> bool { + cmd := fmt.tprintf("%v run verify", g_path_to_odin) + return libc.system(strings.clone_to_cstring(cmd)) == 0 +} \ No newline at end of file From 6ff0cc0b400524232cdce44f5b2a68b399ba4adc Mon Sep 17 00:00:00 2001 From: Lucas Perlind Date: Sat, 1 Apr 2023 09:06:45 +1100 Subject: [PATCH 15/50] Enforce example names in documentation --- core/strings/builder.odin | 16 +- core/strings/conversion.odin | 18 +- core/strings/strings.odin | 94 +++++----- tests/documentation/documentation_tester.odin | 163 ++++++++++-------- 4 files changed, 159 insertions(+), 132 deletions(-) diff --git a/core/strings/builder.odin b/core/strings/builder.odin index b4456e236..4994230a9 100644 --- a/core/strings/builder.odin +++ b/core/strings/builder.odin @@ -227,7 +227,7 @@ Example: import "core:fmt" import "core:strings" - strings_builder_from_bytes_example :: proc() { + builder_from_bytes_example :: proc() { bytes: [8]byte // <-- gets filled builder := strings.builder_from_bytes(bytes[:]) strings.write_byte(&builder, 'a') @@ -318,7 +318,7 @@ Example: import "core:fmt" import "core:strings" - strings_write_byte_example :: proc() { + write_byte_example :: proc() { builder := strings.builder_make() strings.write_byte(&builder, 'a') // 1 strings.write_byte(&builder, 'b') // 1 @@ -352,7 +352,7 @@ Example: import "core:fmt" import "core:strings" - strings_write_bytes_example :: proc() { + write_bytes_example :: proc() { builder := strings.builder_make() bytes := [?]byte { 'a', 'b', 'c' } strings.write_bytes(&builder, bytes[:]) // 3 @@ -382,7 +382,7 @@ Example: import "core:fmt" import "core:strings" - strings_write_rune_example :: proc() { + write_rune_example :: proc() { builder := strings.builder_make() strings.write_rune(&builder, 'ä') // 2 None strings.write_rune(&builder, 'b') // 1 None @@ -413,7 +413,7 @@ Example: import "core:fmt" import "core:strings" - strings_write_quoted_rune_example :: proc() { + write_quoted_rune_example :: proc() { builder := strings.builder_make() strings.write_string(&builder, "abc") // 3 strings.write_quoted_rune(&builder, 'ä') // 4 @@ -445,7 +445,7 @@ Example: import "core:fmt" import "core:strings" - strings_write_string_example :: proc() { + write_string_example :: proc() { builder := strings.builder_make() strings.write_string(&builder, "a") // 1 strings.write_string(&builder, "bc") // 2 @@ -518,7 +518,7 @@ Example: import "core:fmt" import "core:strings" - strings_write_quoted_string_example :: proc() { + write_quoted_string_example :: proc() { builder := strings.builder_make() strings.write_quoted_string(&builder, "a") // 3 strings.write_quoted_string(&builder, "bc", '\'') // 4 @@ -659,7 +659,7 @@ Example: import "core:fmt" import "core:strings" - strings_write_f32_example :: proc() { + write_f32_example :: proc() { builder := strings.builder_make() strings.write_f32(&builder, 3.14159, 'f') // 6 strings.write_string(&builder, " - ") // 3 diff --git a/core/strings/conversion.odin b/core/strings/conversion.odin index c3cf62340..dc41a02dc 100644 --- a/core/strings/conversion.odin +++ b/core/strings/conversion.odin @@ -86,7 +86,7 @@ Example: import "core:fmt" import "core:strings" - strings_to_lower_example :: proc() { + to_lower_example :: proc() { fmt.println(strings.to_lower("TeST")) } @@ -119,7 +119,7 @@ Example: import "core:fmt" import "core:strings" - strings_to_upper_example :: proc() { + to_upper_example :: proc() { fmt.println(strings.to_upper("Test")) } @@ -196,7 +196,7 @@ Example: import "core:strings" import "core:io" - strings_string_case_iterator_example :: proc() { + string_case_iterator_example :: proc() { my_callback :: proc(w: io.Writer, prev, curr, next: rune) { fmt.println("my_callback", curr) // <-- Custom logic here } @@ -325,7 +325,7 @@ Example: import "core:fmt" import "core:strings" - strings_to_delimiter_case_example :: proc() { + to_delimiter_case_example :: proc() { fmt.println(strings.to_delimiter_case("Hello World", '_', false)) fmt.println(strings.to_delimiter_case("Hello World", ' ', true)) fmt.println(strings.to_delimiter_case("aBC", '_', false)) @@ -397,7 +397,7 @@ Example: import "core:fmt" import "core:strings" - strings_to_snake_case_example :: proc() { + to_snake_case_example :: proc() { fmt.println(strings.to_snake_case("HelloWorld")) fmt.println(strings.to_snake_case("Hello World")) } @@ -430,7 +430,7 @@ Example: import "core:fmt" import "core:strings" - strings_to_upper_snake_case_example :: proc() { + to_upper_snake_case_example :: proc() { fmt.println(strings.to_upper_snake_case("HelloWorld")) } @@ -458,7 +458,7 @@ Example: import "core:fmt" import "core:strings" - strings_to_kebab_case_example :: proc() { + to_kebab_case_example :: proc() { fmt.println(strings.to_kebab_case("HelloWorld")) } @@ -486,7 +486,7 @@ Example: import "core:fmt" import "core:strings" - strings_to_upper_kebab_case_example :: proc() { + to_upper_kebab_case_example :: proc() { fmt.println(strings.to_upper_kebab_case("HelloWorld")) } @@ -514,7 +514,7 @@ Example: import "core:fmt" import "core:strings" - strings_to_ada_case_example :: proc() { + to_ada_case_example :: proc() { fmt.println(strings.to_ada_case("HelloWorld")) } diff --git a/core/strings/strings.odin b/core/strings/strings.odin index 64a063b7d..8cb046bd6 100644 --- a/core/strings/strings.odin +++ b/core/strings/strings.odin @@ -286,7 +286,7 @@ Example: import "core:fmt" import "core:strings" - strings_contains_example :: proc() { + contains_example :: proc() { fmt.println(strings.contains("testing", "test")) fmt.println(strings.contains("testing", "ing")) fmt.println(strings.contains("testing", "text")) @@ -316,7 +316,7 @@ Example: import "core:fmt" import "core:strings" - strings_contains_any_example :: proc() { + contains_any_example :: proc() { fmt.println(strings.contains_any("test", "test")) fmt.println(strings.contains_any("test", "ts")) fmt.println(strings.contains_any("test", "et")) @@ -347,7 +347,7 @@ Example: import "core:fmt" import "core:strings" - strings_rune_count_example :: proc() { + rune_count_example :: proc() { fmt.println(strings.rune_count("test")) fmt.println(strings.rune_count("testö")) // where len("testö") == 6 } @@ -376,7 +376,7 @@ Example: import "core:fmt" import "core:strings" - strings_equal_fold_example :: proc() { + equal_fold_example :: proc() { fmt.println(strings.equal_fold("test", "test")) fmt.println(strings.equal_fold("Test", "test")) fmt.println(strings.equal_fold("Test", "tEsT")) @@ -447,7 +447,7 @@ Example: import "core:fmt" import "core:strings" - strings_prefix_length_example :: proc() { + prefix_length_example :: proc() { fmt.println(strings.prefix_length("testing", "test")) fmt.println(strings.prefix_length("testing", "te")) fmt.println(strings.prefix_length("telephone", "te")) @@ -499,7 +499,7 @@ Example: import "core:fmt" import "core:strings" - strings_has_prefix_example :: proc() { + has_prefix_example :: proc() { fmt.println(strings.has_prefix("testing", "test")) fmt.println(strings.has_prefix("testing", "te")) fmt.println(strings.has_prefix("telephone", "te")) @@ -527,7 +527,7 @@ Example: import "core:fmt" import "core:strings" - strings_has_suffix_example :: proc() { + has_suffix_example :: proc() { fmt.println(strings.has_suffix("todo.txt", ".txt")) fmt.println(strings.has_suffix("todo.doc", ".txt")) fmt.println(strings.has_suffix("todo.doc.txt", ".txt")) @@ -559,7 +559,7 @@ Example: import "core:fmt" import "core:strings" - strings_join_example :: proc() { + join_example :: proc() { a := [?]string { "a", "b", "c" } fmt.println(strings.join(a[:], " ")) fmt.println(strings.join(a[:], "-")) @@ -644,7 +644,7 @@ Example: import "core:fmt" import "core:strings" - strings_concatenate_example :: proc() { + concatenate_example :: proc() { a := [?]string { "a", "b", "c" } fmt.println(strings.concatenate(a[:])) } @@ -716,7 +716,7 @@ Example: import "core:fmt" import "core:strings" - strings_cut_example :: proc() { + cut_example :: proc() { fmt.println(strings.cut("some example text", 0, 4)) // -> "some" fmt.println(strings.cut("some example text", 2, 2)) // -> "me" fmt.println(strings.cut("some example text", 5, 7)) // -> "example" @@ -863,7 +863,7 @@ Example: import "core:fmt" import "core:strings" - strings_split_example :: proc() { + split_example :: proc() { s := "aaa.bbb.ccc.ddd.eee" // 5 parts ss := strings.split(s, ".") fmt.println(ss) @@ -895,7 +895,7 @@ Example: import "core:fmt" import "core:strings" - strings_split_n_example :: proc() { + split_n_example :: proc() { s := "aaa.bbb.ccc.ddd.eee" // 5 parts present ss := strings.split_n(s, ".",3) // total of 3 wanted fmt.println(ss) @@ -927,7 +927,7 @@ Example: import "core:fmt" import "core:strings" - strings_split_after_example :: proc() { + split_after_example :: proc() { a := "aaa.bbb.ccc.ddd.eee" // 5 parts aa := strings.split_after(a, ".") fmt.println(aa) @@ -961,7 +961,7 @@ Example: import "core:fmt" import "core:strings" - strings_split_after_n_example :: proc() { + split_after_n_example :: proc() { a := "aaa.bbb.ccc.ddd.eee" aa := strings.split_after_n(a, ".", 3) fmt.println(aa) @@ -1032,7 +1032,7 @@ Example: import "core:fmt" import "core:strings" - strings_split_by_byte_iterator_example :: proc() { + split_by_byte_iterator_example :: proc() { text := "a.b.c.d.e" for str in strings.split_by_byte_iterator(&text, '.') { fmt.println(str) // every loop -> a b c d e @@ -1077,7 +1077,7 @@ Example: import "core:fmt" import "core:strings" - strings_split_iterator_example :: proc() { + split_iterator_example :: proc() { text := "a.b.c.d.e" for str in strings.split_iterator(&text, ".") { fmt.println(str) @@ -1111,7 +1111,7 @@ Example: import "core:fmt" import "core:strings" - strings_split_after_iterator_example :: proc() { + split_after_iterator_example :: proc() { text := "a.b.c.d.e" for str in strings.split_after_iterator(&text, ".") { fmt.println(str) @@ -1167,7 +1167,7 @@ Example: import "core:fmt" import "core:strings" - strings_split_lines_example :: proc() { + split_lines_example :: proc() { a := "a\nb\nc\nd\ne" b := strings.split_lines(a) fmt.println(b) @@ -1203,7 +1203,7 @@ Example: import "core:fmt" import "core:strings" - strings_split_lines_n_example :: proc() { + split_lines_n_example :: proc() { a := "a\nb\nc\nd\ne" b := strings.split_lines_n(a, 3) fmt.println(b) @@ -1240,7 +1240,7 @@ Example: import "core:fmt" import "core:strings" - strings_split_lines_after_example :: proc() { + split_lines_after_example :: proc() { a := "a\nb\nc\nd\ne" b := strings.split_lines_after(a) fmt.println(b) @@ -1279,7 +1279,7 @@ Example: import "core:fmt" import "core:strings" - strings_split_lines_after_n_example :: proc() { + split_lines_after_n_example :: proc() { a := "a\nb\nc\nd\ne" b := strings.split_lines_after_n(a, 3) fmt.println(b) @@ -1314,7 +1314,7 @@ Example: import "core:fmt" import "core:strings" - strings_split_lines_iterator_example :: proc() { + split_lines_iterator_example :: proc() { text := "a\nb\nc\nd\ne" for str in strings.split_lines_iterator(&text) { fmt.print(str) // every loop -> a b c d e @@ -1346,7 +1346,7 @@ Example: import "core:fmt" import "core:strings" - strings_split_lines_after_iterator_example :: proc() { + split_lines_after_iterator_example :: proc() { text := "a\nb\nc\nd\ne\n" for str in strings.split_lines_after_iterator(&text) { fmt.print(str) // every loop -> a\n b\n c\n d\n e\n @@ -1382,7 +1382,7 @@ Example: import "core:fmt" import "core:strings" - strings_index_byte_example :: proc() { + index_byte_example :: proc() { fmt.println(strings.index_byte("test", 't')) fmt.println(strings.index_byte("test", 'e')) fmt.println(strings.index_byte("test", 'x')) @@ -1416,7 +1416,7 @@ Example: import "core:fmt" import "core:strings" - strings_last_index_byte_example :: proc() { + last_index_byte_example :: proc() { fmt.println(strings.last_index_byte("test", 't')) fmt.println(strings.last_index_byte("test", 'e')) fmt.println(strings.last_index_byte("test", 'x')) @@ -1450,7 +1450,7 @@ Example: import "core:fmt" import "core:strings" - strings_index_rune_example :: proc() { + index_rune_example :: proc() { fmt.println(strings.index_rune("abcädef", 'x')) fmt.println(strings.index_rune("abcädef", 'a')) fmt.println(strings.index_rune("abcädef", 'b')) @@ -1505,7 +1505,7 @@ Example: import "core:fmt" import "core:strings" - strings_index_example :: proc() { + index_example :: proc() { fmt.println(strings.index("test", "t")) fmt.println(strings.index("test", "te")) fmt.println(strings.index("test", "st")) @@ -1579,7 +1579,7 @@ Example: import "core:fmt" import "core:strings" - strings_last_index_example :: proc() { + last_index_example :: proc() { fmt.println(strings.last_index("test", "t")) fmt.println(strings.last_index("test", "te")) fmt.println(strings.last_index("test", "st")) @@ -1651,7 +1651,7 @@ Example: import "core:fmt" import "core:strings" - strings_index_any_example :: proc() { + index_any_example :: proc() { fmt.println(strings.index_any("test", "s")) fmt.println(strings.index_any("test", "se")) fmt.println(strings.index_any("test", "et")) @@ -1713,7 +1713,7 @@ Example: import "core:fmt" import "core:strings" - strings_last_index_any_example :: proc() { + last_index_any_example :: proc() { fmt.println(strings.last_index_any("test", "s")) fmt.println(strings.last_index_any("test", "se")) fmt.println(strings.last_index_any("test", "et")) @@ -1831,7 +1831,7 @@ Example: import "core:fmt" import "core:strings" - strings_count_example :: proc() { + count_example :: proc() { fmt.println(strings.count("abbccc", "a")) fmt.println(strings.count("abbccc", "b")) fmt.println(strings.count("abbccc", "c")) @@ -1901,7 +1901,7 @@ Example: import "core:fmt" import "core:strings" - strings_repeat_example :: proc() { + repeat_example :: proc() { fmt.println(strings.repeat("abc", 2)) } @@ -1943,7 +1943,7 @@ Example: import "core:fmt" import "core:strings" - strings_replace_all_example :: proc() { + replace_all_example :: proc() { fmt.println(strings.replace_all("xyzxyz", "xyz", "abc")) fmt.println(strings.replace_all("xyzxyz", "abc", "xyz")) fmt.println(strings.replace_all("xyzxyz", "xy", "z")) @@ -1978,7 +1978,7 @@ Example: import "core:fmt" import "core:strings" - strings_replace_example :: proc() { + replace_example :: proc() { fmt.println(strings.replace("xyzxyz", "xyz", "abc", 2)) fmt.println(strings.replace("xyzxyz", "xyz", "abc", 1)) fmt.println(strings.replace("xyzxyz", "abc", "xyz", -1)) @@ -2050,7 +2050,7 @@ Example: import "core:fmt" import "core:strings" - strings_remove_example :: proc() { + remove_example :: proc() { fmt.println(strings.remove("abcabc", "abc", 1)) fmt.println(strings.remove("abcabc", "abc", -1)) fmt.println(strings.remove("abcabc", "a", -1)) @@ -2085,7 +2085,7 @@ Example: import "core:fmt" import "core:strings" - strings_remove_all_example :: proc() { + remove_all_example :: proc() { fmt.println(strings.remove_all("abcabc", "abc")) fmt.println(strings.remove_all("abcabc", "a")) fmt.println(strings.remove_all("abcabc", "x")) @@ -2148,7 +2148,7 @@ Example: import "core:fmt" import "core:strings" - strings_index_proc_example :: proc() { + index_proc_example :: proc() { call :: proc(r: rune) -> bool { return r == 'a' } @@ -2223,7 +2223,7 @@ Example: import "core:fmt" import "core:strings" - strings_trim_left_proc_example :: proc() { + trim_left_proc_example :: proc() { find :: proc(r: rune) -> bool { return r == 'x' } @@ -2274,7 +2274,7 @@ Example: import "core:fmt" import "core:strings" - strings_trim_right_proc_example :: proc() { + trim_right_proc_example :: proc() { find :: proc(r: rune) -> bool { return r != 't' } @@ -2462,7 +2462,7 @@ Example: import "core:fmt" import "core:strings" - strings_trim_prefix_example :: proc() { + trim_prefix_example :: proc() { fmt.println(strings.trim_prefix("testing", "test")) fmt.println(strings.trim_prefix("testing", "abc")) } @@ -2493,7 +2493,7 @@ Example: import "core:fmt" import "core:strings" - strings_trim_suffix_example :: proc() { + trim_suffix_example :: proc() { fmt.println(strings.trim_suffix("todo.txt", ".txt")) fmt.println(strings.trim_suffix("todo.doc", ".txt")) } @@ -2529,7 +2529,7 @@ Example: import "core:fmt" import "core:strings" - strings_split_multi_example :: proc() { + split_multi_example :: proc() { splits := [?]string { "---", "~~~", ".", "_", "," } res := strings.split_multi("testing,this.out_nice---done~~~last", splits[:]) fmt.println(res) // -> [testing, this, out, nice, done, last] @@ -2594,7 +2594,7 @@ Example: import "core:fmt" import "core:strings" - strings_split_multi_iterate_example :: proc() { + split_multi_iterate_example :: proc() { it := "testing,this.out_nice---done~~~last" splits := [?]string { "---", "~~~", ".", "_", "," } for str in strings.split_multi_iterate(&it, splits[:]) { @@ -2654,7 +2654,7 @@ Example: import "core:fmt" import "core:strings" - strings_scrub_example :: proc() { + scrub_example :: proc() { text := "Hello\xC0\x80World" fmt.println(strings.scrub(text, "?")) // -> "Hello?World" } @@ -2711,7 +2711,7 @@ Example: import "core:fmt" import "core:strings" - strings_reverse_example :: proc() { + reverse_example :: proc() { a := "abcxyz" b := strings.reverse(a) fmt.println(a, b) @@ -2753,7 +2753,7 @@ Example: import "core:fmt" import "core:strings" - strings_expand_tabs_example :: proc() { + expand_tabs_example :: proc() { text := "abc1\tabc2\tabc3" fmt.println(strings.expand_tabs(text, 4)) } @@ -2820,7 +2820,7 @@ Example: import "core:fmt" import "core:strings" - strings_partition_example :: proc() { + partition_example :: proc() { text := "testing this out" head, match, tail := strings.partition(text, " this ") // -> head: "testing", match: " this ", tail: "out" fmt.println(head, match, tail) diff --git a/tests/documentation/documentation_tester.odin b/tests/documentation/documentation_tester.odin index 5d2b07b28..09c565a51 100644 --- a/tests/documentation/documentation_tester.odin +++ b/tests/documentation/documentation_tester.odin @@ -1,6 +1,7 @@ package documentation_tester import "core:os" +import "core:io" import "core:fmt" import "core:strings" import "core:odin/ast" @@ -9,7 +10,8 @@ import "core:c/libc" import doc "core:odin/doc-format" Example_Test :: struct { - name: string, + entity_name: string, + package_name: string, example_code: []string, expected_output: []string, } @@ -59,7 +61,7 @@ main :: proc() { if len(os.args) != 2 { errorf("expected path to odin executable") } - g_path_to_odin = os.args[1] + g_path_to_odin = os.args[1] data, ok := os.read_entire_file("all.odin-doc") if !ok { errorf("unable to read file: all.odin-doc") @@ -80,37 +82,41 @@ main :: proc() { pkgs := array(g_header.pkgs) entities := array(g_header.entities) - path_prefix: string - { - fullpaths: [dynamic]string - defer delete(fullpaths) + path_prefix: string + { + fullpaths: [dynamic]string + defer delete(fullpaths) - for pkg in pkgs[1:] { - append(&fullpaths, str(pkg.fullpath)) - } - path_prefix = common_prefix(fullpaths[:]) - } + for pkg in pkgs[1:] { + append(&fullpaths, str(pkg.fullpath)) + } + path_prefix = common_prefix(fullpaths[:]) + } - for pkg in pkgs[1:] { - entries_array := array(pkg.entries) - fullpath := str(pkg.fullpath) - path := strings.trim_prefix(fullpath, path_prefix) - if ! strings.has_prefix(path, "core/") { - continue - } - trimmed_path := strings.trim_prefix(path, "core/") - if strings.has_prefix(trimmed_path, "sys") { - continue - } - if strings.contains(trimmed_path, "/_") { - continue - } - for entry in entries_array { - entity := entities[entry.entity] - find_and_add_examples(str(entity.docs), fmt.aprintf("%v.%v", str(pkg.name), str(entity.name))) - } - } - write_test_suite(g_examples_to_verify[:]) + for pkg in pkgs[1:] { + entries_array := array(pkg.entries) + fullpath := str(pkg.fullpath) + path := strings.trim_prefix(fullpath, path_prefix) + if ! strings.has_prefix(path, "core/") { + continue + } + trimmed_path := strings.trim_prefix(path, "core/") + if strings.has_prefix(trimmed_path, "sys") { + continue + } + if strings.contains(trimmed_path, "/_") { + continue + } + for entry in entries_array { + entity := entities[entry.entity] + find_and_add_examples( + docs = str(entity.docs), + package_name = str(pkg.name), + entity_name = str(entity.name), + ) + } + } + write_test_suite(g_examples_to_verify[:]) if g_bad_doc { errorf("We created bad documentation!") } @@ -118,11 +124,11 @@ main :: proc() { if ! run_test_suite() { errorf("Test suite failed!") } - fmt.println("Examples verified") + fmt.println("Examples verified") } // NOTE: this is a pretty close copy paste from the website pkg documentation on parsing the docs -find_and_add_examples :: proc(docs: string, name: string = "") { +find_and_add_examples :: proc(docs: string, package_name: string, entity_name: string) { if docs == "" { return } @@ -186,31 +192,31 @@ find_and_add_examples :: proc(docs: string, name: string = "") { } if i-start > 0 && (curr_block_kind != next_block_kind) { - insert_block(Block{curr_block_kind, lines[start:i]}, &example_block, &output_block, name) + insert_block(Block{curr_block_kind, lines[start:i]}, &example_block, &output_block, entity_name) curr_block_kind, start = next_block_kind, i } } if start < len(lines) { - insert_block(Block{curr_block_kind, lines[start:]}, &example_block, &output_block, name) + insert_block(Block{curr_block_kind, lines[start:]}, &example_block, &output_block, entity_name) } if output_block.kind == .Output && example_block.kind != .Example { - fmt.eprintf("The documentation for %q has an output block but no example\n", name) + fmt.eprintf("The documentation for %q has an output block but no example\n", entity_name) g_bad_doc = true } // Write example and output block if they're both present if example_block.kind == .Example && output_block.kind == .Output { - { - // Example block starts with - // `Example:` and a number of white spaces, - lines := &example_block.lines - for len(lines) > 0 && (strings.trim_space(lines[0]) == "" || strings.has_prefix(lines[0], "Example:")) { - lines^ = lines[1:] - } - } - { + { + // Example block starts with + // `Example:` and a number of white spaces, + lines := &example_block.lines + for len(lines) > 0 && (strings.trim_space(lines[0]) == "" || strings.has_prefix(lines[0], "Example:")) { + lines^ = lines[1:] + } + } + { // Output block starts with // `Output:` and a number of white spaces, lines := &output_block.lines @@ -221,21 +227,26 @@ find_and_add_examples :: proc(docs: string, name: string = "") { for len(lines) > 0 && (strings.trim_space(lines[len(lines) - 1]) == "") { lines^ = lines[:len(lines) - 1] } - } - // Remove first layer of tabs which are always present - for line in &example_block.lines { - line = strings.trim_prefix(line, "\t") - } - for line in &output_block.lines { - line = strings.trim_prefix(line, "\t") - } - append(&g_examples_to_verify, Example_Test { name = name, example_code = example_block.lines, expected_output = output_block.lines }) + } + // Remove first layer of tabs which are always present + for line in &example_block.lines { + line = strings.trim_prefix(line, "\t") + } + for line in &output_block.lines { + line = strings.trim_prefix(line, "\t") + } + append(&g_examples_to_verify, Example_Test { + entity_name = entity_name, + package_name = package_name, + example_code = example_block.lines, + expected_output = output_block.lines, + }) } } write_test_suite :: proc(example_tests: []Example_Test) { - TEST_SUITE_DIRECTORY :: "verify" + TEST_SUITE_DIRECTORY :: "verify" os.remove_directory(TEST_SUITE_DIRECTORY) os.make_directory(TEST_SUITE_DIRECTORY) @@ -325,7 +336,6 @@ main :: proc() { } code_string := strings.to_string(example_build) - code_test_name: string example_ast := ast.File { src = code_string } odin_parser := parser.default_parser() @@ -335,11 +345,15 @@ main :: proc() { continue } if odin_parser.error_count > 0 { - fmt.eprintf("Errors on the following code generated for %q:\n%v\n", test.name, code_string) + fmt.eprintf("Errors on the following code generated for %q:\n%v\n", test.entity_name, code_string) g_bad_doc = true continue } + enforced_name := fmt.tprintf("%v_example", test.entity_name) + index_of_proc_name: int + code_test_name: string + for d in example_ast.decls { value_decl, is_value := d.derived.(^ast.Value_Decl); if ! is_value { continue @@ -353,34 +367,48 @@ main :: proc() { if len(proc_lit.type.params.list) > 0 { continue } - code_test_name = code_string[value_decl.names[0].pos.offset:value_decl.names[0].end.offset] + this_procedure_name := code_string[value_decl.names[0].pos.offset:value_decl.names[0].end.offset] + if this_procedure_name != enforced_name { + continue + } + index_of_proc_name = value_decl.names[0].pos.offset + code_test_name = this_procedure_name break } if code_test_name == "" { - fmt.eprintf("We could not any find procedure literals with no arguments in the example for %q\n", test.name) + fmt.eprintf("We could not any find procedure literals with no arguments with the identifier %q for the example for %q\n", enforced_name, test.entity_name) g_bad_doc = true continue } - strings.write_string(&test_runner, "\t") - strings.write_string(&test_runner, code_test_name) - strings.write_string(&test_runner, "()\n") + fmt.sbprintf(&test_runner, "\t%v_%v()\n", test.package_name, code_test_name) fmt.sbprintf(&test_runner, "\t_check(%q, `", code_test_name) for line in test.expected_output { strings.write_string(&test_runner, line) strings.write_string(&test_runner, "\n") } strings.write_string(&test_runner, "`)\n") - save_path := fmt.tprintf("verify/test_%s.odin", code_test_name) - if ! os.write_entire_file(save_path, transmute([]byte)code_string) { - fmt.eprintf("We could not save the file to the path %q\n", save_path) + save_path := fmt.tprintf("verify/test_%v_%v.odin", test.package_name, code_test_name) + + test_file_handle, err := os.open(save_path, os.O_WRONLY | os.O_CREATE); if err != 0 { + fmt.eprintf("We could not open the file to the path %q for writing\n", save_path) g_bad_doc = true + continue } + defer os.close(test_file_handle) + stream := os.stream_from_handle(test_file_handle) + writer, ok := io.to_writer(stream); if ! ok { + fmt.eprintf("We could not make the writer for the path %q\n", save_path) + g_bad_doc = true + continue + } + fmt.wprintf(writer, "%v%v_%v", code_string[:index_of_proc_name], test.package_name, code_string[index_of_proc_name:]) } strings.write_string(&test_runner, -` if _bad_test_found { +` + if _bad_test_found { fmt.eprintln("One or more tests failed") os.exit(1) } @@ -389,6 +417,5 @@ main :: proc() { } run_test_suite :: proc() -> bool { - cmd := fmt.tprintf("%v run verify", g_path_to_odin) - return libc.system(strings.clone_to_cstring(cmd)) == 0 + return libc.system(fmt.caprintf("%v run verify", g_path_to_odin)) == 0 } \ No newline at end of file From 67e6f571925a07d25b5b3bef2ecb22a30afb6508 Mon Sep 17 00:00:00 2001 From: Lucas Perlind Date: Mon, 3 Apr 2023 08:33:24 +1000 Subject: [PATCH 16/50] Small improvements strings documentation * Use new 'Returns:' and 'Inputs:' keywords used by the website generator * Make order item order resemble website, i.e. 'Returns:' comes before 'Example:' * Add a few missing input items * Add a few missing return items --- core/strings/ascii_set.odin | 8 +- core/strings/builder.odin | 186 ++++++------ core/strings/conversion.odin | 79 ++--- core/strings/intern.odin | 16 +- core/strings/reader.odin | 54 ++-- core/strings/strings.odin | 542 ++++++++++++++++++++--------------- 6 files changed, 484 insertions(+), 401 deletions(-) diff --git a/core/strings/ascii_set.odin b/core/strings/ascii_set.odin index c9cc6b212..c65ef1c61 100644 --- a/core/strings/ascii_set.odin +++ b/core/strings/ascii_set.odin @@ -12,10 +12,10 @@ Ascii_Set :: distinct [8]u32 /* Creates an Ascii_Set with unique characters from the input string. -**Inputs** +Inputs: - chars: A string containing characters to include in the Ascii_Set. -**Returns** +Returns: - as: An Ascii_Set with unique characters from the input string. - ok: false if any character in the input string is not a valid ASCII character. */ @@ -33,11 +33,11 @@ ascii_set_make :: proc(chars: string) -> (as: Ascii_Set, ok: bool) #no_bounds_ch /* Determines if a given char is contained within an Ascii_Set. -**Inputs** +Inputs: - as: The Ascii_Set to search. - c: The char to check for in the Ascii_Set. -**Returns** +Returns: A boolean indicating if the byte is contained in the Ascii_Set (true) or not (false). */ ascii_set_contains :: proc(as: Ascii_Set, c: byte) -> bool #no_bounds_check { diff --git a/core/strings/builder.odin b/core/strings/builder.odin index 4994230a9..32442c21a 100644 --- a/core/strings/builder.odin +++ b/core/strings/builder.odin @@ -7,10 +7,10 @@ import "core:io" /* Type definition for a procedure that flushes a Builder -**Inputs** +Inputs: - b: A pointer to the Builder -**Returns** +Returns: A boolean indicating whether the Builder should be reset */ Builder_Flush_Proc :: #type proc(b: ^Builder) -> (do_reset: bool) @@ -27,10 +27,10 @@ Produces a Builder with a default length of 0 and cap of 16 *Allocates Using Provided Allocator* -**Inputs** +Inputs: - allocator: (default is context.allocator) -**Returns** +Returns: A new Builder */ builder_make_none :: proc(allocator := context.allocator) -> Builder { @@ -41,11 +41,11 @@ Produces a Builder with a specified length and cap of max(16,len) byte buffer *Allocates Using Provided Allocator* -**Inputs** +Inputs: - len: The desired length of the Builder's buffer - allocator: (default is context.allocator) -**Returns** +Returns: A new Builder */ builder_make_len :: proc(len: int, allocator := context.allocator) -> Builder { @@ -56,12 +56,12 @@ Produces a Builder with a specified length and cap *Allocates Using Provided Allocator* -**Inputs** +Inputs: - len: The desired length of the Builder's buffer - cap: The desired capacity of the Builder's buffer, cap is max(cap, len) - allocator: (default is context.allocator) -**Returns** +Returns: A new Builder */ builder_make_len_cap :: proc(len, cap: int, allocator := context.allocator) -> Builder { @@ -79,11 +79,11 @@ It replaces the existing `buf` *Allocates Using Provided Allocator* -**Inputs** +Inputs: - b: A pointer to the Builder - allocator: (default is context.allocator) -**Returns** +Returns: initialized ^Builder */ builder_init_none :: proc(b: ^Builder, allocator := context.allocator) -> ^Builder { @@ -96,12 +96,12 @@ It replaces the existing `buf` *Allocates Using Provided Allocator* -**Inputs** +Inputs: - b: A pointer to the Builder - len: The desired length of the Builder's buffer - allocator: (default is context.allocator) -**Returns** +Returns: Initialized ^Builder */ builder_init_len :: proc(b: ^Builder, len: int, allocator := context.allocator) -> ^Builder { @@ -112,13 +112,13 @@ builder_init_len :: proc(b: ^Builder, len: int, allocator := context.allocator) Initializes a Builder with a specified length and cap It replaces the existing `buf` -**Inputs** +Inputs: - b: A pointer to the Builder - len: The desired length of the Builder's buffer - cap: The desired capacity of the Builder's buffer, actual max(len,cap) - allocator: (default is context.allocator) -**Returns** +Returns: A pointer to the initialized Builder */ builder_init_len_cap :: proc(b: ^Builder, len, cap: int, allocator := context.allocator) -> ^Builder { @@ -165,10 +165,10 @@ _builder_stream_vtable := &_builder_stream_vtable_obj /* Returns an io.Stream from a Builder -**Inputs** +Inputs: - b: A pointer to the Builder -**Returns** +Returns: An io.Stream */ to_stream :: proc(b: ^Builder) -> io.Stream { @@ -177,10 +177,10 @@ to_stream :: proc(b: ^Builder) -> io.Stream { /* Returns an io.Writer from a Builder -**Inputs** +Inputs: - b: A pointer to the Builder -**Returns** +Returns: An io.Writer */ to_writer :: proc(b: ^Builder) -> io.Writer { @@ -189,7 +189,7 @@ to_writer :: proc(b: ^Builder) -> io.Writer { /* Deletes the Builder byte buffer content -**Inputs** +Inputs: - b: A pointer to the Builder */ builder_destroy :: proc(b: ^Builder) { @@ -199,7 +199,7 @@ builder_destroy :: proc(b: ^Builder) { /* Reserves the Builder byte buffer to a specific capacity, when it's higher than before -**Inputs** +Inputs: - b: A pointer to the Builder - cap: The desired capacity for the Builder's buffer */ @@ -209,7 +209,7 @@ builder_grow :: proc(b: ^Builder, cap: int) { /* Clears the Builder byte buffer content (sets len to zero) -**Inputs** +Inputs: - b: A pointer to the Builder */ builder_reset :: proc(b: ^Builder) { @@ -220,9 +220,12 @@ Creates a Builder from a slice of bytes with the same slice length as its capaci *Uses Nil Allocator - Does NOT allocate* -**Inputs** +Inputs: - backing: A slice of bytes to be used as the backing buffer +Returns: +A new Builder + Example: import "core:fmt" @@ -241,8 +244,6 @@ Output: a ab -**Returns** -A new Builder */ builder_from_bytes :: proc(backing: []byte) -> Builder { s := transmute(runtime.Raw_Slice)backing @@ -261,10 +262,10 @@ builder_from_slice :: builder_from_bytes /* Casts the Builder byte buffer to a string and returns it -**Inputs** +Inputs: - b: A Builder -**Returns** +Returns: The contents of the Builder's buffer, as a string */ to_string :: proc(b: Builder) -> string { @@ -273,10 +274,10 @@ to_string :: proc(b: Builder) -> string { /* Returns the length of the Builder's buffer, in bytes -**Inputs** +Inputs: - b: A Builder -**Returns** +Returns: The length of the Builder's buffer */ builder_len :: proc(b: Builder) -> int { @@ -285,10 +286,10 @@ builder_len :: proc(b: Builder) -> int { /* Returns the capacity of the Builder's buffer, in bytes -**Inputs** +Inputs: - b: A Builder -**Returns** +Returns: The capacity of the Builder's buffer */ builder_cap :: proc(b: Builder) -> int { @@ -297,10 +298,10 @@ builder_cap :: proc(b: Builder) -> int { /* The free space left in the Builder's buffer, in bytes -**Inputs** +Inputs: - b: A Builder -**Returns** +Returns: The available space left in the Builder's buffer */ builder_space :: proc(b: Builder) -> int { @@ -309,10 +310,15 @@ builder_space :: proc(b: Builder) -> int { /* Appends a byte to the Builder and returns the number of bytes appended -**Inputs** +Inputs: - b: A pointer to the Builder - x: The byte to be appended +Returns: +The number of bytes appended + +NOTE: The backing dynamic array may be fixed in capacity or fail to resize, `n` states the number actually written. + Example: import "core:fmt" @@ -329,10 +335,6 @@ Output: ab -NOTE: The backing dynamic array may be fixed in capacity or fail to resize, `n` states the number actually written. - -**Returns** -The number of bytes appended */ write_byte :: proc(b: ^Builder, x: byte) -> (n: int) { n0 := len(b.buf) @@ -343,7 +345,7 @@ write_byte :: proc(b: ^Builder, x: byte) -> (n: int) { /* Appends a slice of bytes to the Builder and returns the number of bytes appended -**Inputs** +Inputs: - b: A pointer to the Builder - x: The slice of bytes to be appended @@ -361,7 +363,7 @@ Example: NOTE: The backing dynamic array may be fixed in capacity or fail to resize, `n` states the number actually written. -**Returns** +Returns: The number of bytes appended */ write_bytes :: proc(b: ^Builder, x: []byte) -> (n: int) { @@ -373,10 +375,15 @@ write_bytes :: proc(b: ^Builder, x: []byte) -> (n: int) { /* Appends a single rune to the Builder and returns the number of bytes written and an `io.Error` -**Inputs** +Inputs: - b: A pointer to the Builder - r: The rune to be appended +Returns: +The number of bytes written and an io.Error (if any) + +NOTE: The backing dynamic array may be fixed in capacity or fail to resize, `n` states the number actually written. + Example: import "core:fmt" @@ -393,10 +400,6 @@ Output: äb -NOTE: The backing dynamic array may be fixed in capacity or fail to resize, `n` states the number actually written. - -**Returns** -The number of bytes written and an io.Error (if any) */ write_rune :: proc(b: ^Builder, r: rune) -> (int, io.Error) { return io.write_rune(to_writer(b), r) @@ -404,10 +407,15 @@ write_rune :: proc(b: ^Builder, r: rune) -> (int, io.Error) { /* Appends a quoted rune to the Builder and returns the number of bytes written -**Inputs** +Inputs: - b: A pointer to the Builder - r: The rune to be appended +Returns: +The number of bytes written + +NOTE: The backing dynamic array may be fixed in capacity or fail to resize, `n` states the number actually written. + Example: import "core:fmt" @@ -425,10 +433,6 @@ Output: abc'ä'abc -NOTE: The backing dynamic array may be fixed in capacity or fail to resize, `n` states the number actually written. - -**Returns** -The number of bytes written */ write_quoted_rune :: proc(b: ^Builder, r: rune) -> (n: int) { return io.write_quoted_rune(to_writer(b), r) @@ -436,10 +440,15 @@ write_quoted_rune :: proc(b: ^Builder, r: rune) -> (n: int) { /* Appends a string to the Builder and returns the number of bytes written -**Inputs** +Inputs: - b: A pointer to the Builder - s: The string to be appended +Returns: +The number of bytes written + +NOTE: The backing dynamic array may be fixed in capacity or fail to resize, `n` states the number actually written. + Example: import "core:fmt" @@ -456,10 +465,6 @@ Output: abc -NOTE: The backing dynamic array may be fixed in capacity or fail to resize, `n` states the number actually written. - -**Returns** -The number of bytes written */ write_string :: proc(b: ^Builder, s: string) -> (n: int) { n0 := len(b.buf) @@ -470,10 +475,10 @@ write_string :: proc(b: ^Builder, s: string) -> (n: int) { /* Pops and returns the last byte in the Builder or 0 when the Builder is empty -**Inputs** +Inputs: - b: A pointer to the Builder -**Returns** +Returns: The last byte in the Builder or 0 if empty */ pop_byte :: proc(b: ^Builder) -> (r: byte) { @@ -489,10 +494,10 @@ pop_byte :: proc(b: ^Builder) -> (r: byte) { /* Pops the last rune in the Builder and returns the popped rune and its rune width or (0, 0) if empty -**Inputs** +Inputs: - b: A pointer to the Builder -**Returns** +Returns: The popped rune and its rune width or (0, 0) if empty */ pop_rune :: proc(b: ^Builder) -> (r: rune, width: int) { @@ -508,11 +513,16 @@ pop_rune :: proc(b: ^Builder) -> (r: rune, width: int) { @(private) DIGITS_LOWER := "0123456789abcdefx" /* -**Inputs** +Inputs: - b: A pointer to the Builder - str: The string to be quoted and appended - quote: The optional quote character (default is double quotes) +Returns: +The number of bytes written + +NOTE: The backing dynamic array may be fixed in capacity or fail to resize, `n` states the number actually written. + Example: import "core:fmt" @@ -530,10 +540,6 @@ Output: "a"'bc'"xyz" -NOTE: The backing dynamic array may be fixed in capacity or fail to resize, `n` states the number actually written. - -**Returns** -The number of bytes written */ write_quoted_string :: proc(b: ^Builder, str: string, quote: byte = '"') -> (n: int) { n, _ = io.write_quoted_string(to_writer(b), str, quote) @@ -542,11 +548,16 @@ write_quoted_string :: proc(b: ^Builder, str: string, quote: byte = '"') -> (n: /* Appends a rune to the Builder and returns the number of bytes written -**Inputs** +Inputs: - b: A pointer to the Builder - r: The rune to be appended - write_quote: Optional boolean flag to wrap in single-quotes (') (default is true) +Returns: +The number of bytes written + +NOTE: The backing dynamic array may be fixed in capacity or fail to resize, `n` states the number actually written. + Example: import "core:fmt" @@ -564,10 +575,6 @@ Output: a'"'x -NOTE: The backing dynamic array may be fixed in capacity or fail to resize, `n` states the number actually written. - -**Returns** -The number of bytes written */ write_encoded_rune :: proc(b: ^Builder, r: rune, write_quote := true) -> (n: int) { n, _ = io.write_encoded_rune(to_writer(b), r, write_quote) @@ -577,7 +584,7 @@ write_encoded_rune :: proc(b: ^Builder, r: rune, write_quote := true) -> (n: int /* Appends an escaped rune to the Builder and returns the number of bytes written -**Inputs** +Inputs: - b: A pointer to the Builder - r: The rune to be appended - quote: The quote character @@ -590,7 +597,7 @@ Appends an escaped rune to the Builder and returns the number of bytes written NOTE: The backing dynamic array may be fixed in capacity or fail to resize, `n` states the number actually written. -**Returns** +Returns: The number of bytes written */ write_escaped_rune :: proc(b: ^Builder, r: rune, quote: byte, html_safe := false) -> (n: int) { @@ -600,7 +607,7 @@ write_escaped_rune :: proc(b: ^Builder, r: rune, quote: byte, html_safe := false /* Writes a f64 value to the Builder and returns the number of characters written -**Inputs** +Inputs: - b: A pointer to the Builder - f: The f64 value to be appended - fmt: The format byte @@ -610,7 +617,7 @@ Writes a f64 value to the Builder and returns the number of characters written NOTE: The backing dynamic array may be fixed in capacity or fail to resize, `n` states the number actually written. -**Returns** +Returns: The number of characters written */ write_float :: proc(b: ^Builder, f: f64, fmt: byte, prec, bit_size: int, always_signed := false) -> (n: int) { @@ -626,7 +633,7 @@ write_float :: proc(b: ^Builder, f: f64, fmt: byte, prec, bit_size: int, always_ /* Writes a f16 value to the Builder and returns the number of characters written -**Inputs** +Inputs: - b: A pointer to the Builder - f: The f16 value to be appended - fmt: The format byte @@ -634,7 +641,7 @@ Writes a f16 value to the Builder and returns the number of characters written NOTE: The backing dynamic array may be fixed in capacity or fail to resize, `n` states the number actually written. -**Returns** +Returns: The number of characters written */ write_f16 :: proc(b: ^Builder, f: f16, fmt: byte, always_signed := false) -> (n: int) { @@ -648,12 +655,17 @@ write_f16 :: proc(b: ^Builder, f: f16, fmt: byte, always_signed := false) -> (n: /* Writes a f32 value to the Builder and returns the number of characters written -**Inputs** +Inputs: - b: A pointer to the Builder - f: The f32 value to be appended - fmt: The format byte - always_signed: Optional boolean flag to always include the sign +Returns: +The number of characters written + +NOTE: The backing dynamic array may be fixed in capacity or fail to resize, `n` states the number actually written. + Example: import "core:fmt" @@ -671,10 +683,6 @@ Output: 3.14159012 - -1.23000003e-01 -NOTE: The backing dynamic array may be fixed in capacity or fail to resize, `n` states the number actually written. - -**Returns** -The number of characters written */ write_f32 :: proc(b: ^Builder, f: f32, fmt: byte, always_signed := false) -> (n: int) { buf: [384]byte @@ -687,7 +695,7 @@ write_f32 :: proc(b: ^Builder, f: f32, fmt: byte, always_signed := false) -> (n: /* Writes a f32 value to the Builder and returns the number of characters written -**Inputs** +Inputs: - b: A pointer to the Builder - f: The f32 value to be appended - fmt: The format byte @@ -695,7 +703,7 @@ Writes a f32 value to the Builder and returns the number of characters written NOTE: The backing dynamic array may be fixed in capacity or fail to resize, `n` states the number actually written. -**Returns** +Returns: The number of characters written */ write_f64 :: proc(b: ^Builder, f: f64, fmt: byte, always_signed := false) -> (n: int) { @@ -709,14 +717,14 @@ write_f64 :: proc(b: ^Builder, f: f64, fmt: byte, always_signed := false) -> (n: /* Writes a u64 value to the Builder and returns the number of characters written -**Inputs** +Inputs: - b: A pointer to the Builder - i: The u64 value to be appended - base: The optional base for the numeric representation NOTE: The backing dynamic array may be fixed in capacity or fail to resize, `n` states the number actually written. -**Returns** +Returns: The number of characters written */ write_u64 :: proc(b: ^Builder, i: u64, base: int = 10) -> (n: int) { @@ -727,14 +735,14 @@ write_u64 :: proc(b: ^Builder, i: u64, base: int = 10) -> (n: int) { /* Writes a i64 value to the Builder and returns the number of characters written -**Inputs** +Inputs: - b: A pointer to the Builder - i: The i64 value to be appended - base: The optional base for the numeric representation NOTE: The backing dynamic array may be fixed in capacity or fail to resize, `n` states the number actually written. -**Returns** +Returns: The number of characters written */ write_i64 :: proc(b: ^Builder, i: i64, base: int = 10) -> (n: int) { @@ -745,14 +753,14 @@ write_i64 :: proc(b: ^Builder, i: i64, base: int = 10) -> (n: int) { /* Writes a uint value to the Builder and returns the number of characters written -**Inputs** +Inputs: - b: A pointer to the Builder - i: The uint value to be appended - base: The optional base for the numeric representation NOTE: The backing dynamic array may be fixed in capacity or fail to resize, `n` states the number actually written. -**Returns** +Returns: The number of characters written */ write_uint :: proc(b: ^Builder, i: uint, base: int = 10) -> (n: int) { @@ -761,14 +769,14 @@ write_uint :: proc(b: ^Builder, i: uint, base: int = 10) -> (n: int) { /* Writes a int value to the Builder and returns the number of characters written -**Inputs** +Inputs: - b: A pointer to the Builder - i: The int value to be appended - base: The optional base for the numeric representation NOTE: The backing dynamic array may be fixed in capacity or fail to resize, `n` states the number actually written. -**Returns** +Returns: The number of characters written */ write_int :: proc(b: ^Builder, i: int, base: int = 10) -> (n: int) { diff --git a/core/strings/conversion.odin b/core/strings/conversion.odin index dc41a02dc..0160c8a60 100644 --- a/core/strings/conversion.odin +++ b/core/strings/conversion.odin @@ -9,14 +9,14 @@ Converts invalid UTF-8 sequences in the input string `s` to the `replacement` st *Allocates Using Provided Allocator* -**Inputs** +Inputs: - s: Input string that may contain invalid UTF-8 sequences. - replacement: String to replace invalid UTF-8 sequences with. - allocator: (default: context.allocator). WARNING: Allocation does not occur when len(s) == 0 -**Returns** +Returns: A valid UTF-8 string with invalid sequences replaced by `replacement`. */ to_valid_utf8 :: proc(s, replacement: string, allocator := context.allocator) -> string { @@ -77,10 +77,13 @@ Converts the input string `s` to all lowercase characters. *Allocates Using Provided Allocator* -**Inputs** +Inputs: - s: Input string to be converted. - allocator: (default: context.allocator). +Returns: +A new string with all characters converted to lowercase. + Example: import "core:fmt" @@ -94,8 +97,6 @@ Output: test -**Returns** -A new string with all characters converted to lowercase. */ to_lower :: proc(s: string, allocator := context.allocator) -> string { b: Builder @@ -110,10 +111,13 @@ Converts the input string `s` to all uppercase characters. *Allocates Using Provided Allocator* -**Inputs** +Inputs: - s: Input string to be converted. - allocator: (default: context.allocator). +Returns: +A new string with all characters converted to uppercase. + Example: import "core:fmt" @@ -127,8 +131,6 @@ Output: TEST -**Returns** -A new string with all characters converted to uppercase. */ to_upper :: proc(s: string, allocator := context.allocator) -> string { b: Builder @@ -141,10 +143,10 @@ to_upper :: proc(s: string, allocator := context.allocator) -> string { /* Checks if the rune `r` is a delimiter (' ', '-', or '_'). -**Inputs** +Inputs: - r: Rune to check for delimiter status. -**Returns** +Returns: True if `r` is a delimiter, false otherwise. */ is_delimiter :: proc(r: rune) -> bool { @@ -153,10 +155,10 @@ is_delimiter :: proc(r: rune) -> bool { /* Checks if the rune `r` is a non-alphanumeric or space character. -**Inputs** +Inputs: - r: Rune to check for separator status. -**Returns** +Returns: True if `r` is a non-alpha or `unicode.is_space` rune. */ is_separator :: proc(r: rune) -> bool { @@ -184,7 +186,7 @@ is_separator :: proc(r: rune) -> bool { /* Iterates over a string, calling a callback for each rune with the previous, current, and next runes as arguments. -**Inputs** +Inputs: - w: An io.Writer to be used by the callback for writing output. - s: The input string to be iterated over. - callback: A procedure to be called for each rune in the string, with arguments (w: io.Writer, prev, curr, next: rune). @@ -246,11 +248,11 @@ Converts the input string `s` to "lowerCamelCase". *Allocates Using Provided Allocator* -**Inputs** +Inputs: - s: Input string to be converted. - allocator: (default: context.allocator). -**Returns** +Returns: A "lowerCamelCase" formatted string. */ to_camel_case :: proc(s: string, allocator := context.allocator) -> string { @@ -281,11 +283,11 @@ Converts the input string `s` to "UpperCamelCase" (PascalCase). *Allocates Using Provided Allocator* -**Inputs** +Inputs: - s: Input string to be converted. - allocator: (default: context.allocator). -**Returns** +Returns: A "PascalCase" formatted string. */ to_pascal_case :: proc(s: string, allocator := context.allocator) -> string { @@ -314,12 +316,15 @@ Returns a string converted to a delimiter-separated case with configurable casin *Allocates Using Provided Allocator* -**Inputs** +Inputs: - s: The input string to be converted - delimiter: The rune to be used as the delimiter between words - all_upper_case: A boolean indicating if the output should be all uppercased (true) or lowercased (false) - allocator: (default: context.allocator). +Returns: +The converted string + Example: import "core:fmt" @@ -337,8 +342,6 @@ Output: HELLO WORLD a_bc -**Returns** -The converted string */ to_delimiter_case :: proc( s: string, @@ -388,10 +391,13 @@ Converts a string to "snake_case" with all runes lowercased *Allocates Using Provided Allocator* -**Inputs** +Inputs: - s: The input string to be converted - allocator: (default: context.allocator). +Returns: +The converted string + Example: import "core:fmt" @@ -407,9 +413,6 @@ Output: hello_world hello_world -``` -**Returns** -The converted string */ to_snake_case :: proc(s: string, allocator := context.allocator) -> string { return to_delimiter_case(s, '_', false, allocator) @@ -421,10 +424,13 @@ Converts a string to "SNAKE_CASE" with all runes uppercased *Allocates Using Provided Allocator* -**Inputs** +Inputs: - s: The input string to be converted - allocator: (default: context.allocator). +Returns: +The converted string + Example: import "core:fmt" @@ -438,8 +444,6 @@ Output: HELLO_WORLD -**Returns** -The converted string */ to_upper_snake_case :: proc(s: string, allocator := context.allocator) -> string { return to_delimiter_case(s, '_', true, allocator) @@ -449,10 +453,13 @@ Converts a string to "kebab-case" with all runes lowercased *Allocates Using Provided Allocator* -**Inputs** +Inputs: - s: The input string to be converted - allocator: (default: context.allocator). +Returns: +The converted string + Example: import "core:fmt" @@ -466,8 +473,6 @@ Output: hello-world -**Returns** -The converted string */ to_kebab_case :: proc(s: string, allocator := context.allocator) -> string { return to_delimiter_case(s, '-', false, allocator) @@ -477,10 +482,13 @@ Converts a string to "KEBAB-CASE" with all runes uppercased *Allocates Using Provided Allocator* -**Inputs** +Inputs: - s: The input string to be converted - allocator: (default: context.allocator). +Returns: +The converted string + Example: import "core:fmt" @@ -494,8 +502,6 @@ Output: HELLO-WORLD -**Returns** -The converted string */ to_upper_kebab_case :: proc(s: string, allocator := context.allocator) -> string { return to_delimiter_case(s, '-', true, allocator) @@ -505,10 +511,13 @@ Converts a string to "Ada_Case" *Allocates Using Provided Allocator* -**Inputs** +Inputs: - s: The input string to be converted - allocator: (default: context.allocator). +Returns: +The converted string + Example: import "core:fmt" @@ -522,8 +531,6 @@ Output: Hello_World -**Returns** -The converted string */ to_ada_case :: proc(s: string, allocator := context.allocator) -> string { s := s diff --git a/core/strings/intern.odin b/core/strings/intern.odin index e73b33f07..463abeb1e 100644 --- a/core/strings/intern.odin +++ b/core/strings/intern.odin @@ -25,7 +25,7 @@ Initializes the entries map and sets the allocator for the string entries *Allocates Using Provided Allocators* -**Inputs** +Inputs: - m: A pointer to the Intern struct to be initialized - allocator: The allocator for the Intern_Entry strings (Default: context.allocator) - map_allocator: The allocator for the map of entries (Default: context.allocator) @@ -37,7 +37,7 @@ intern_init :: proc(m: ^Intern, allocator := context.allocator, map_allocator := /* Frees the map and all its content allocated using the `.allocator`. -**Inputs** +Inputs: - m: A pointer to the Intern struct to be destroyed */ intern_destroy :: proc(m: ^Intern) { @@ -51,13 +51,13 @@ Returns an interned copy of the given text, adding it to the map if not already *Allocate using the Intern's Allocator (First time string is seen only)* -**Inputs** +Inputs: - m: A pointer to the Intern struct - text: The string to be interned NOTE: The returned string lives as long as the map entry lives. -**Returns** +Returns: The interned string and an allocator error if any */ intern_get :: proc(m: ^Intern, text: string) -> (str: string, err: runtime.Allocator_Error) { @@ -69,13 +69,13 @@ Returns an interned copy of the given text as a cstring, adding it to the map if *Allocate using the Intern's Allocator (First time string is seen only)* -**Inputs** +Inputs: - m: A pointer to the Intern struct - text: The string to be interned NOTE: The returned cstring lives as long as the map entry lives -**Returns** +Returns: The interned cstring and an allocator error if any */ intern_get_cstring :: proc(m: ^Intern, text: string) -> (str: cstring, err: runtime.Allocator_Error) { @@ -88,11 +88,11 @@ Sets and allocates the entry if it wasn't set yet *Allocate using the Intern's Allocator (First time string is seen only)* -**Inputs** +Inputs: - m: A pointer to the Intern struct - text: The string to be looked up or interned -**Returns** +Returns: The new or existing interned entry and an allocator error if any */ _intern_get_entry :: proc(m: ^Intern, text: string) -> (new_entry: ^Intern_Entry, err: runtime.Allocator_Error) #no_bounds_check { diff --git a/core/strings/reader.odin b/core/strings/reader.odin index 917092ad6..715e57ada 100644 --- a/core/strings/reader.odin +++ b/core/strings/reader.odin @@ -16,7 +16,7 @@ Reader :: struct { /* Initializes a string Reader with the provided string -**Inputs** +Inputs: - r: A pointer to a Reader struct - s: The input string to be read */ @@ -28,10 +28,10 @@ reader_init :: proc(r: ^Reader, s: string) { /* Converts a Reader into an `io.Stream` -**Inputs** +Inputs: - r: A pointer to a Reader struct -**Returns** +Returns: An io.Stream for the given Reader */ reader_to_stream :: proc(r: ^Reader) -> (s: io.Stream) { @@ -42,11 +42,11 @@ reader_to_stream :: proc(r: ^Reader) -> (s: io.Stream) { /* Initializes a string Reader and returns an `io.Reader` for the given string -**Inputs** +Inputs: - r: A pointer to a Reader struct - s: The input string to be read -**Returns** +Returns: An io.Reader for the given string */ to_reader :: proc(r: ^Reader, s: string) -> io.Reader { @@ -57,11 +57,11 @@ to_reader :: proc(r: ^Reader, s: string) -> io.Reader { /* Initializes a string Reader and returns an `io.Reader_At` for the given string -**Inputs** +Inputs: - r: A pointer to a Reader struct - s: The input string to be read -**Returns** +Returns: An `io.Reader_At` for the given string */ to_reader_at :: proc(r: ^Reader, s: string) -> io.Reader_At { @@ -72,10 +72,10 @@ to_reader_at :: proc(r: ^Reader, s: string) -> io.Reader_At { /* Returns the remaining length of the Reader -**Inputs** +Inputs: - r: A pointer to a Reader struct -**Returns** +Returns: The remaining length of the Reader */ reader_length :: proc(r: ^Reader) -> int { @@ -87,10 +87,10 @@ reader_length :: proc(r: ^Reader) -> int { /* Returns the length of the string stored in the Reader -**Inputs** +Inputs: - r: A pointer to a Reader struct -**Returns** +Returns: The length of the string stored in the Reader */ reader_size :: proc(r: ^Reader) -> i64 { @@ -99,11 +99,11 @@ reader_size :: proc(r: ^Reader) -> i64 { /* Reads len(p) bytes from the Reader's string and copies into the provided slice. -**Inputs** +Inputs: - r: A pointer to a Reader struct - p: A byte slice to copy data into -**Returns** +Returns: - n: The number of bytes read - err: An `io.Error` if an error occurs while reading, including `.EOF`, otherwise `nil` denotes success. */ @@ -119,12 +119,12 @@ reader_read :: proc(r: ^Reader, p: []byte) -> (n: int, err: io.Error) { /* Reads len(p) bytes from the Reader's string and copies into the provided slice, at the specified offset from the current index. -**Inputs** +Inputs: - r: A pointer to a Reader struct - p: A byte slice to copy data into - off: The offset from which to read -**Returns** +Returns: - n: The number of bytes read - err: An `io.Error` if an error occurs while reading, including `.EOF`, otherwise `nil` denotes success. */ @@ -144,10 +144,10 @@ reader_read_at :: proc(r: ^Reader, p: []byte, off: i64) -> (n: int, err: io.Erro /* Reads and returns a single byte from the Reader's string -**Inputs** +Inputs: - r: A pointer to a Reader struct -**Returns** +Returns: - The byte read from the Reader - err: An `io.Error` if an error occurs while reading, including `.EOF`, otherwise `nil` denotes success. */ @@ -163,10 +163,10 @@ reader_read_byte :: proc(r: ^Reader) -> (byte, io.Error) { /* Decrements the Reader's index (i) by 1 -**Inputs** +Inputs: - r: A pointer to a Reader struct -**Returns** +Returns: An `io.Error` if `r.i <= 0` (`.Invalid_Unread`), otherwise `nil` denotes success. */ reader_unread_byte :: proc(r: ^Reader) -> io.Error { @@ -180,10 +180,10 @@ reader_unread_byte :: proc(r: ^Reader) -> io.Error { /* Reads and returns a single rune and its `size` from the Reader's string -**Inputs** +Inputs: - r: A pointer to a Reader struct -**Returns** +Returns: - rr: The rune read from the Reader - size: The size of the rune in bytes - err: An `io.Error` if an error occurs while reading @@ -205,12 +205,12 @@ reader_read_rune :: proc(r: ^Reader) -> (rr: rune, size: int, err: io.Error) { /* Decrements the Reader's index (i) by the size of the last read rune -**Inputs** +Inputs: - r: A pointer to a Reader struct WARNING: May only be used once and after a valid `read_rune` call -**Returns** +Returns: An `io.Error` if an error occurs while unreading (`.Invalid_Unread`), else `nil` denotes success. */ reader_unread_rune :: proc(r: ^Reader) -> io.Error { @@ -227,12 +227,12 @@ reader_unread_rune :: proc(r: ^Reader) -> io.Error { /* Seeks the Reader's index to a new position -**Inputs** +Inputs: - r: A pointer to a Reader struct - offset: The new offset position - whence: The reference point for the new position (`.Start`, `.Current`, or `.End`) -**Returns** +Returns: - The absolute offset after seeking - err: An `io.Error` if an error occurs while seeking (`.Invalid_Whence`, `.Invalid_Offset`) */ @@ -259,13 +259,13 @@ reader_seek :: proc(r: ^Reader, offset: i64, whence: io.Seek_From) -> (i64, io.E /* Writes the remaining content of the Reader's string into the provided `io.Writer` -**Inputs** +Inputs: - r: A pointer to a Reader struct - w: The io.Writer to write the remaining content into WARNING: Panics if writer writes more bytes than remainig length of string. -**Returns** +Returns: - n: The number of bytes written - err: An io.Error if an error occurs while writing (`.Short_Write`) */ diff --git a/core/strings/strings.odin b/core/strings/strings.odin index 8cb046bd6..3c55374b7 100644 --- a/core/strings/strings.odin +++ b/core/strings/strings.odin @@ -11,12 +11,12 @@ Clones a string *Allocates Using Provided Allocator* -**Inputs** +Inputs: - s: The string to be cloned - allocator: (default: context.allocator) - loc: The caller location for debugging purposes (default: #caller_location) -**Returns** +Returns: A cloned string */ clone :: proc(s: string, allocator := context.allocator, loc := #caller_location) -> string { @@ -29,12 +29,12 @@ Clones a string safely (returns early with an allocation error on failure) *Allocates Using Provided Allocator* -**Inputs** +Inputs: - s: The string to be cloned - allocator: (default: context.allocator) - loc: The caller location for debugging purposes (default: #caller_location) -**Returns** +Returns: - str: A cloned string - err: A mem.Allocator_Error if an error occurs during allocation */ @@ -48,12 +48,12 @@ Clones a string and appends a null-byte to make it a cstring *Allocates Using Provided Allocator* -**Inputs** +Inputs: - s: The string to be cloned - allocator: (default: context.allocator) - loc: The caller location for debugging purposes (default: #caller_location) -**Returns** +Returns: A cloned cstring with an appended null-byte */ clone_to_cstring :: proc(s: string, allocator := context.allocator, loc := #caller_location) -> cstring { @@ -65,29 +65,29 @@ clone_to_cstring :: proc(s: string, allocator := context.allocator, loc := #call /* Transmutes a raw pointer into a string. Non-allocating. -**Inputs** +Inputs: - ptr: A pointer to the start of the byte sequence - len: The length of the byte sequence NOTE: The created string is only valid as long as the pointer and length are valid. -**Returns** +Returns: A string created from the byte pointer and length */ string_from_ptr :: proc(ptr: ^byte, len: int) -> string { return transmute(string)mem.Raw_String{ptr, len} } /* -Transmutes a raw pointer (null-terminated) into a string. Non-allocating. Searches for a null-byte from `0.. string { @@ -98,10 +98,10 @@ string_from_null_terminated_ptr :: proc(ptr: ^byte, len: int) -> string { /* Gets the raw byte pointer for the start of a string `str` -**Inputs** +Inputs: - str: The input string -**Returns** +Returns: A pointer to the start of the string's bytes */ ptr_from_string :: proc(str: string) -> ^byte { @@ -111,12 +111,12 @@ ptr_from_string :: proc(str: string) -> ^byte { /* Converts a string `str` to a cstring -**Inputs** +Inputs: - str: The input string WARNING: This is unsafe because the original string may not contain a null-byte. -**Returns** +Returns: The converted cstring */ unsafe_string_to_cstring :: proc(str: string) -> cstring { @@ -126,13 +126,13 @@ unsafe_string_to_cstring :: proc(str: string) -> cstring { /* Truncates a string `str` at the first occurrence of char/byte `b` -**Inputs** +Inputs: - str: The input string - b: The byte to truncate the string at NOTE: Failure to find the byte results in returning the entire string. -**Returns** +Returns: The truncated string */ truncate_to_byte :: proc(str: string, b: byte) -> string { @@ -145,11 +145,11 @@ truncate_to_byte :: proc(str: string, b: byte) -> string { /* Truncates a string `str` at the first occurrence of rune `r` as a slice of the original, entire string if not found -**Inputs** +Inputs: - str: The input string - r: The rune to truncate the string at -**Returns** +Returns: The truncated string */ truncate_to_rune :: proc(str: string, r: rune) -> string { @@ -164,12 +164,12 @@ Clones a byte array `s` and appends a null-byte *Allocates Using Provided Allocator* -**Inputs** +Inputs: - s: The byte array to be cloned - allocator: (default: context.allocator) - loc: The caller location for debugging purposes (default: `#caller_location`) -**Returns** +Returns: A cloned string from the byte array with a null-byte */ clone_from_bytes :: proc(s: []byte, allocator := context.allocator, loc := #caller_location) -> string { @@ -183,12 +183,12 @@ Clones a cstring `s` as a string *Allocates Using Provided Allocator* -**Inputs** +Inputs: - s: The cstring to be cloned - allocator: (default: context.allocator) - loc: The caller location for debugging purposes (default: `#caller_location`) -**Returns** +Returns: A cloned string from the cstring */ clone_from_cstring :: proc(s: cstring, allocator := context.allocator, loc := #caller_location) -> string { @@ -199,7 +199,7 @@ Clones a string from a byte pointer `ptr` and a byte length `len` *Allocates Using Provided Allocator* -**Inputs** +Inputs: - ptr: A pointer to the start of the byte sequence - len: The length of the byte sequence - allocator: (default: context.allocator) @@ -207,7 +207,7 @@ Clones a string from a byte pointer `ptr` and a byte length `len` NOTE: Same as `string_from_ptr`, but perform an additional `clone` operation -**Returns** +Returns: A cloned string from the byte pointer and length */ clone_from_ptr :: proc(ptr: ^byte, len: int, allocator := context.allocator, loc := #caller_location) -> string { @@ -226,7 +226,7 @@ Clones a string from a null-terminated cstring `ptr` and a byte length `len` *Allocates Using Provided Allocator* -**Inputs** +Inputs: - ptr: A pointer to the start of the null-terminated cstring - len: The byte length of the cstring - allocator: (default: context.allocator) @@ -234,7 +234,7 @@ Clones a string from a null-terminated cstring `ptr` and a byte length `len` NOTE: Truncates at the first null-byte encountered or the byte length. -**Returns** +Returns: A cloned string from the null-terminated cstring and byte length */ clone_from_cstring_bounded :: proc(ptr: cstring, len: int, allocator := context.allocator, loc := #caller_location) -> string { @@ -246,11 +246,11 @@ clone_from_cstring_bounded :: proc(ptr: cstring, len: int, allocator := context. Compares two strings, returning a value representing which one comes first lexicographically. -1 for `lhs`; 1 for `rhs`, or 0 if they are equal. -**Inputs** +Inputs: - lhs: First string for comparison - rhs: Second string for comparison -**Returns** +Returns: -1 if `lhs` comes first, 1 if `rhs` comes first, or 0 if they are equal */ compare :: proc(lhs, rhs: string) -> int { @@ -259,11 +259,11 @@ compare :: proc(lhs, rhs: string) -> int { /* Returns the byte offset of the rune `r` in the string `s`, -1 when not found -**Inputs** +Inputs: - s: The input string - r: The rune to search for -**Returns** +Returns: The byte offset of the rune `r` in the string `s`, or -1 if not found */ contains_rune :: proc(s: string, r: rune) -> int { @@ -277,10 +277,13 @@ contains_rune :: proc(s: string, r: rune) -> int { /* Returns true when the string `substr` is contained inside the string `s` -**Inputs** +Inputs: - s: The input string - substr: The substring to search for +Returns: +`true` if `substr` is contained inside the string `s`, `false` otherwise + Example: import "core:fmt" @@ -298,8 +301,6 @@ Output: true false -**Returns** -`true` if `substr` is contained inside the string `s`, `false` otherwise */ contains :: proc(s, substr: string) -> bool { return index(s, substr) >= 0 @@ -307,10 +308,13 @@ contains :: proc(s, substr: string) -> bool { /* Returns `true` when the string `s` contains any of the characters inside the string `chars` -**Inputs** +Inputs: - s: The input string - chars: The characters to search for +Returns: +`true` if the string `s` contains any of the characters in `chars`, `false` otherwise + Example: import "core:fmt" @@ -330,8 +334,6 @@ Output: true false -**Returns** -`true` if the string `s` contains any of the characters in `chars`, `false` otherwise */ contains_any :: proc(s, chars: string) -> bool { return index_any(s, chars) >= 0 @@ -339,9 +341,12 @@ contains_any :: proc(s, chars: string) -> bool { /* Returns the UTF-8 rune count of the string `s` -**Inputs** +Inputs: - s: The input string +Returns: +The UTF-8 rune count of the string `s` + Example: import "core:fmt" @@ -357,8 +362,6 @@ Output: 4 5 -**Returns** -The UTF-8 rune count of the string `s` */ rune_count :: proc(s: string) -> int { return utf8.rune_count_in_string(s) @@ -367,10 +370,13 @@ rune_count :: proc(s: string) -> int { Returns whether the strings `u` and `v` are the same alpha characters, ignoring different casings Works with UTF-8 string content -**Inputs** +Inputs: - u: The first string for comparison - v: The second string for comparison +Returns: +`true` if the strings `u` and `v` are the same alpha characters (ignoring case) + Example: import "core:fmt" @@ -390,8 +396,6 @@ Output: true false -**Returns** -`true` if the strings `u` and `v` are the same alpha characters (ignoring case) */ equal_fold :: proc(u, v: string) -> bool { s, t := u, v @@ -438,10 +442,13 @@ equal_fold :: proc(u, v: string) -> bool { /* Returns the prefix length common between strings `a` and `b` -**Inputs** +Inputs: - a: The first input string - b: The second input string +Returns: +The prefix length common between strings `a` and `b` + Example: import "core:fmt" @@ -461,8 +468,6 @@ Output: 2 0 -**Returns** -The prefix length common between strings `a` and `b` */ prefix_length :: proc(a, b: string) -> (n: int) { _len := min(len(a), len(b)) @@ -490,10 +495,13 @@ prefix_length :: proc(a, b: string) -> (n: int) { /* Determines if a string `s` starts with a given `prefix` -**Inputs** +Inputs: - s: The string to check for the `prefix` - prefix: The prefix to look for +Returns: +`true` if the string `s` starts with the `prefix`, otherwise `false` + Example: import "core:fmt" @@ -513,8 +521,6 @@ Output: true false -**Returns** -`true` if the string `s` starts with the `prefix`, otherwise `false` */ has_prefix :: proc(s, prefix: string) -> bool { return len(s) >= len(prefix) && s[0:len(prefix)] == prefix @@ -522,6 +528,13 @@ has_prefix :: proc(s, prefix: string) -> bool { /* Determines if a string `s` ends with a given `suffix` +Inputs: +- s: The string to check for the `suffix` +- suffix: The suffix to look for + +Returns: +`true` if the string `s` ends with the `suffix`, otherwise `false` + Example: import "core:fmt" @@ -539,12 +552,6 @@ Output: false true -**Inputs** -- s: The string to check for the `suffix` -- suffix: The suffix to look for - -**Returns** -`true` if the string `s` ends with the `suffix`, otherwise `false` */ has_suffix :: proc(s, suffix: string) -> bool { return len(s) >= len(suffix) && s[len(s)-len(suffix):] == suffix @@ -554,6 +561,14 @@ Joins a slice of strings `a` with a `sep` string *Allocates Using Provided Allocator* +Inputs: +- a: A slice of strings to join +- sep: The separator string +- allocator: (default is context.allocator) + +Returns: +A combined string from the slice of strings `a` separated with the `sep` string + Example: import "core:fmt" @@ -572,13 +587,6 @@ Output: a-b-c a...b...c -**Inputs** -- a: A slice of strings to join -- sep: The separator string -- allocator: (default is context.allocator) - -**Returns** -A combined string from the slice of strings `a` separated with the `sep` string */ join :: proc(a: []string, sep: string, allocator := context.allocator) -> string { if len(a) == 0 { @@ -603,12 +611,12 @@ Joins a slice of strings `a` with a `sep` string, returns an error on allocation *Allocates Using Provided Allocator* -**Inputs** +Inputs: - a: A slice of strings to join - sep: The separator string - allocator: (default is context.allocator) -**Returns** +Returns: - str: A combined string from the slice of strings `a` separated with the `sep` string - err: An error if allocation failed, otherwise `nil` */ @@ -635,10 +643,13 @@ Returns a combined string from the slice of strings `a` without a separator *Allocates Using Provided Allocator* -**Inputs** +Inputs: - a: A slice of strings to concatenate - allocator: (default is context.allocator) +Returns: +The concatenated string + Example: import "core:fmt" @@ -653,8 +664,6 @@ Output: abc -**Returns** -The concatenated string */ concatenate :: proc(a: []string, allocator := context.allocator) -> string { if len(a) == 0 { @@ -677,11 +686,11 @@ Returns a combined string from the slice of strings `a` without a separator, or *Allocates Using Provided Allocator* -**Inputs** +Inputs: - a: A slice of strings to concatenate - allocator: (default is context.allocator) -**Returns** +Returns: The concatenated string, and an error if allocation fails */ concatenate_safe :: proc(a: []string, allocator := context.allocator) -> (res: string, err: mem.Allocator_Error) { @@ -705,12 +714,15 @@ Returns a substring of the input string `s` with the specified rune offset and l *Allocates Using Provided Allocator* -**Inputs** +Inputs: - s: The input string to cut - rune_offset: The starting rune index (default is 0). In runes, not bytes. - rune_length: The number of runes to include in the substring (default is 0, which returns the remainder of the string). In runes, not bytes. - allocator: (default is context.allocator) +Returns: +The substring + Example: import "core:fmt" @@ -728,8 +740,6 @@ Output: me example -**Returns** -The substring */ cut :: proc(s: string, rune_offset := int(0), rune_length := int(0), allocator := context.allocator) -> (res: string) { s := s; rune_length := rune_length @@ -789,7 +799,7 @@ Splits the input string `s` into a slice of substrings separated by the specifie *Used Internally - Private Function* -**Inputs** +Inputs: - s: The input string to split - sep: The separator string - sep_save: A flag determining if the separator should be saved in the resulting substrings @@ -798,7 +808,7 @@ Splits the input string `s` into a slice of substrings separated by the specifie NOTE: Allocation occurs for the array, the splits are all views of the original string. -**Returns** +Returns: A slice of substrings */ @private @@ -853,11 +863,15 @@ Splits a string into parts based on a separator. *Allocates Using Provided Allocator* -**Inputs** +Inputs: - s: The string to split. - sep: The separator string used to split the input string. - allocator: (default is context.allocator). +Returns: A slice of strings, each representing a part of the split string. + +NOTE: Allocation occurs for the array, the splits are all views of the original string. + Example: import "core:fmt" @@ -873,9 +887,6 @@ Output: ["aaa", "bbb", "ccc", "ddd", "eee"] -NOTE: Allocation occurs for the array, the splits are all views of the original string. - -**Returns** A slice of strings, each representing a part of the split string. */ split :: proc(s, sep: string, allocator := context.allocator) -> []string { return _split(s, sep, 0, -1, allocator) @@ -885,11 +896,15 @@ Splits a string into parts based on a separator. If n < count of seperators, the *Allocates Using Provided Allocator* -**Inputs** +Inputs: - s: The string to split. - sep: The separator string used to split the input string. - allocator: (default is context.allocator) +Returns: A slice of strings, each representing a part of the split string. + +NOTE: Allocation occurs for the array, the splits are all views of the original string. + Example: import "core:fmt" @@ -905,9 +920,6 @@ Output: ["aaa", "bbb", "ccc.ddd.eee"] -NOTE: Allocation occurs for the array, the splits are all views of the original string. - -**Returns** A slice of strings, each representing a part of the split string. */ split_n :: proc(s, sep: string, n: int, allocator := context.allocator) -> []string { return _split(s, sep, 0, n, allocator) @@ -917,11 +929,16 @@ Splits a string into parts after the separator, retaining it in the substrings. *Allocates Using Provided Allocator* -**Inputs** +Inputs: - s: The string to split. - sep: The separator string used to split the input string. - allocator: (default is context.allocator). +Returns: +A slice of strings, each representing a part of the split string after the separator. + +NOTE: Allocation occurs for the array, the splits are all views of the original string. + Example: import "core:fmt" @@ -937,10 +954,6 @@ Output: ["aaa.", "bbb.", "ccc.", "ddd.", "eee"] -NOTE: Allocation occurs for the array, the splits are all views of the original string. - -**Returns** -A slice of strings, each representing a part of the split string after the separator. */ split_after :: proc(s, sep: string, allocator := context.allocator) -> []string { return _split(s, sep, len(sep), -1, allocator) @@ -950,12 +963,17 @@ Splits a string into a total of `n` parts after the separator. *Allocates Using Provided Allocator* -**Inputs** +Inputs: - s: The string to split. - sep: The separator string used to split the input string. - n: The maximum number of parts to split the string into. - allocator: (default is context.allocator) +Returns: +A slice of strings with `n` parts or fewer if there weren't + +NOTE: Allocation occurs for the array, the splits are all views of the original string. + Example: import "core:fmt" @@ -971,10 +989,6 @@ Output: ["aaa.", "bbb.", "ccc.ddd.eee"] -NOTE: Allocation occurs for the array, the splits are all views of the original string. - -**Returns** -A slice of strings with `n` parts or fewer if there weren't */ split_after_n :: proc(s, sep: string, n: int, allocator := context.allocator) -> []string { return _split(s, sep, len(sep), n, allocator) @@ -985,12 +999,12 @@ up to (but not including) the separator, as well as a boolean indicating success *Used Internally - Private Function* -**Inputs** +Inputs: - s: Pointer to the input string, which is modified during the search. - sep: The separator string to search for. - sep_save: Number of characters from the separator to include in the result. -**Returns** +Returns: A tuple containing the resulting substring and a boolean indicating success. */ @private @@ -1023,10 +1037,13 @@ _split_iterator :: proc(s: ^string, sep: string, sep_save: int) -> (res: string, /* Splits the input string by the byte separator in an iterator fashion. -**Inputs** +Inputs: - s: Pointer to the input string, which is modified during the search. - sep: The byte separator to search for. +Returns: +A tuple containing the resulting substring and a boolean indicating success. + Example: import "core:fmt" @@ -1047,8 +1064,6 @@ Output: d e -**Returns** -A tuple containing the resulting substring and a boolean indicating success. */ split_by_byte_iterator :: proc(s: ^string, sep: u8) -> (res: string, ok: bool) { m := index_byte(s^, sep) @@ -1068,10 +1083,13 @@ split_by_byte_iterator :: proc(s: ^string, sep: u8) -> (res: string, ok: bool) { Splits the input string by the separator string in an iterator fashion. Destructively consumes the original string until the end. -**Inputs** +Inputs: - s: Pointer to the input string, which is modified during the search. - sep: The separator string to search for. +Returns: +A tuple containing the resulting substring and a boolean indicating success. + Example: import "core:fmt" @@ -1092,8 +1110,6 @@ Output: d e -**Returns** -A tuple containing the resulting substring and a boolean indicating success. */ split_iterator :: proc(s: ^string, sep: string) -> (string, bool) { return _split_iterator(s, sep, 0) @@ -1102,10 +1118,13 @@ split_iterator :: proc(s: ^string, sep: string) -> (string, bool) { Splits the input string after every separator string in an iterator fashion. Destructively consumes the original string until the end. -**Inputs** +Inputs: - s: Pointer to the input string, which is modified during the search. - sep: The separator string to search for. +Returns: +A tuple containing the resulting substring and a boolean indicating success. + Example: import "core:fmt" @@ -1126,8 +1145,6 @@ Output: d. e -**Returns** -A tuple containing the resulting substring and a boolean indicating success. */ split_after_iterator :: proc(s: ^string, sep: string) -> (string, bool) { return _split_iterator(s, sep, len(sep)) @@ -1137,10 +1154,10 @@ Trims the carriage return character from the end of the input string. *Used Internally - Private Function* -**Inputs** +Inputs: - s: The input string to trim. -**Returns** +Returns: The trimmed string as a slice of the original. */ @(private) @@ -1158,10 +1175,13 @@ Splits the input string at every line break `\n`. *Allocates Using Provided Allocator* -**Inputs** +Inputs: - s: The input string to split. - allocator: (default is context.allocator) +Returns: +A slice (allocated) of the split string (slices into original string) + Example: import "core:fmt" @@ -1177,8 +1197,6 @@ Output: ["a", "b", "c", "d", "e"] -**Returns** -A slice (allocated) of the split string (slices into original string) */ split_lines :: proc(s: string, allocator := context.allocator) -> []string { sep :: "\n" @@ -1193,11 +1211,16 @@ Splits the input string at every line break `\n` for `n` parts. *Allocates Using Provided Allocator* -**Inputs** +Inputs: - s: The input string to split. - n: The number of parts to split into. - allocator: (default is context.allocator) +Returns: +A slice (allocated) of the split string (slices into original string) + +NOTE: Allocation occurs for the array, the splits are all views of the original string. + Example: import "core:fmt" @@ -1213,10 +1236,6 @@ Output: ["a", "b", "c\nd\ne"] -NOTE: Allocation occurs for the array, the splits are all views of the original string. - -**Returns** -A slice (allocated) of the split string (slices into original string) */ split_lines_n :: proc(s: string, n: int, allocator := context.allocator) -> []string { sep :: "\n" @@ -1231,10 +1250,15 @@ Splits the input string at every line break `\n` leaving the `\n` in the resulti *Allocates Using Provided Allocator* -**Inputs** +Inputs: - s: The input string to split. - allocator: (default is context.allocator) +Returns: +A slice (allocated) of the split string (slices into original string), with `\n` included. + +NOTE: Allocation occurs for the array, the splits are all views of the original string. + Example: import "core:fmt" @@ -1250,10 +1274,6 @@ Output: ["a\n", "b\n", "c\n", "d\n", "e"] -NOTE: Allocation occurs for the array, the splits are all views of the original string. - -**Returns** -A slice (allocated) of the split string (slices into original string), with `\n` included. */ split_lines_after :: proc(s: string, allocator := context.allocator) -> []string { sep :: "\n" @@ -1269,11 +1289,16 @@ Only runs for n parts. *Allocates Using Provided Allocator* -**Inputs** +Inputs: - s: The input string to split. - n: The number of parts to split into. - allocator: (default is context.allocator) +Returns: +A slice (allocated) of the split string (slices into original string), with `\n` included. + +NOTE: Allocation occurs for the array, the splits are all views of the original string. + Example: import "core:fmt" @@ -1289,10 +1314,6 @@ Output: ["a\n", "b\n", "c\nd\ne"] -NOTE: Allocation occurs for the array, the splits are all views of the original string. - -**Returns** -A slice (allocated) of the split string (slices into original string), with `\n` included. */ split_lines_after_n :: proc(s: string, n: int, allocator := context.allocator) -> []string { sep :: "\n" @@ -1306,9 +1327,12 @@ split_lines_after_n :: proc(s: string, n: int, allocator := context.allocator) - Splits the input string at every line break `\n`. Returns the current split string every iteration until the string is consumed. -**Inputs** +Inputs: - s: Pointer to the input string, which is modified during the search. +Returns: +A tuple containing the resulting substring and a boolean indicating success. + Example: import "core:fmt" @@ -1326,8 +1350,6 @@ Output: abcde -**Returns** -A tuple containing the resulting substring and a boolean indicating success. */ split_lines_iterator :: proc(s: ^string) -> (line: string, ok: bool) { sep :: "\n" @@ -1338,9 +1360,12 @@ split_lines_iterator :: proc(s: ^string) -> (line: string, ok: bool) { Splits the input string at every line break `\n`. Returns the current split string with line breaks included every iteration until the string is consumed. -**Inputs** +Inputs: - s: Pointer to the input string, which is modified during the search. +Returns: +A tuple containing the resulting substring with line breaks included and a boolean indicating success. + Example: import "core:fmt" @@ -1361,8 +1386,6 @@ Output: d e -**Returns** -A tuple containing the resulting substring with line breaks included and a boolean indicating success. */ split_lines_after_iterator :: proc(s: ^string) -> (line: string, ok: bool) { sep :: "\n" @@ -1373,10 +1396,13 @@ split_lines_after_iterator :: proc(s: ^string) -> (line: string, ok: bool) { Returns the byte offset of the first byte `c` in the string s it finds, -1 when not found. NOTE: Can't find UTF-8 based runes. -**Inputs** +Inputs: - s: The input string to search in. - c: The byte to search for. +Returns: +The byte offset of the first occurrence of `c` in `s`, or -1 if not found. + Example: import "core:fmt" @@ -1396,8 +1422,6 @@ Output: -1 -1 -**Returns** -The byte offset of the first occurrence of `c` in `s`, or -1 if not found. */ index_byte :: proc(s: string, c: byte) -> int { for i := 0; i < len(s); i += 1 { @@ -1409,6 +1433,14 @@ index_byte :: proc(s: string, c: byte) -> int { } /* Returns the byte offset of the last byte `c` in the string `s`, -1 when not found. + +Inputs: +- s: The input string to search in. +- c: The byte to search for. + +Returns: +The byte offset of the last occurrence of `c` in `s`, or -1 if not found. + NOTE: Can't find UTF-8 based runes. Example: @@ -1430,8 +1462,6 @@ Output: -1 -1 -**Returns** -The byte offset of the last occurrence of `c` in `s`, or -1 if not found. */ last_index_byte :: proc(s: string, c: byte) -> int { for i := len(s)-1; i >= 0; i -= 1 { @@ -1445,6 +1475,13 @@ last_index_byte :: proc(s: string, c: byte) -> int { Returns the byte offset of the first rune `r` in the string `s` it finds, -1 when not found. Invalid runes return -1 +Inputs: +- s: The input string to search in. +- r: The rune to search for. + +Returns: +The byte offset of the first occurrence of `r` in `s`, or -1 if not found. + Example: import "core:fmt" @@ -1472,8 +1509,6 @@ Output: 6 7 -**Returns** -The byte offset of the first occurrence of `r` in `s`, or -1 if not found. */ index_rune :: proc(s: string, r: rune) -> int { switch { @@ -1500,6 +1535,13 @@ index_rune :: proc(s: string, r: rune) -> int { /* Returns the byte offset of the string `substr` in the string `s`, -1 when not found. +Inputs: +- s: The input string to search in. +- substr: The substring to search for. + +Returns: +The byte offset of the first occurrence of `substr` in `s`, or -1 if not found. + Example: import "core:fmt" @@ -1519,8 +1561,6 @@ Output: 2 -1 -**Returns** -The byte offset of the first occurrence of `substr` in `s`, or -1 if not found. */ index :: proc(s, substr: string) -> int { hash_str_rabin_karp :: proc(s: string) -> (hash: u32 = 0, pow: u32 = 1) { @@ -1574,6 +1614,13 @@ index :: proc(s, substr: string) -> int { /* Returns the last byte offset of the string `substr` in the string `s`, -1 when not found. +Inputs: +- s: The input string to search in. +- substr: The substring to search for. + +Returns: +The byte offset of the last occurrence of `substr` in `s`, or -1 if not found. + Example: import "core:fmt" @@ -1593,8 +1640,6 @@ Output: 2 -1 -**Returns** -The byte offset of the last occurrence of `substr` in `s`, or -1 if not found. */ last_index :: proc(s, substr: string) -> int { hash_str_rabin_karp_reverse :: proc(s: string) -> (hash: u32 = 0, pow: u32 = 1) { @@ -1646,6 +1691,13 @@ last_index :: proc(s, substr: string) -> int { /* Returns the index of any first char of `chars` found in `s`, -1 if not found. +Inputs: +- s: The input string to search in. +- chars: The characters to look for + +Returns: +The index of the first character of `chars` found in `s`, or -1 if not found. + Example: import "core:fmt" @@ -1667,8 +1719,6 @@ Output: 0 -1 -**Returns** -The index of the first character of `chars` found in `s`, or -1 if not found. */ index_any :: proc(s, chars: string) -> int { if chars == "" { @@ -1704,10 +1754,13 @@ index_any :: proc(s, chars: string) -> int { /* Finds the last occurrence of any character in `chars` within `s`. Iterates in reverse. -**Inputs** +Inputs: - s: The string to search in - chars: The characters to look for +Returns: +The index of the last matching character, or -1 if not found + Example: import "core:fmt" @@ -1729,8 +1782,6 @@ Output: 3 -1 -**Returns** -The index of the last matching character, or -1 if not found */ last_index_any :: proc(s, chars: string) -> int { if chars == "" { @@ -1783,11 +1834,11 @@ last_index_any :: proc(s, chars: string) -> int { /* Finds the first occurrence of any substring in `substrs` within `s` -**Inputs** +Inputs: - s: The string to search in - substrs: The substrings to look for -**Returns** +Returns: A tuple containing the index of the first matching substring, and its length (width) */ index_multi :: proc(s: string, substrs: []string) -> (idx: int, width: int) { @@ -1822,10 +1873,13 @@ index_multi :: proc(s: string, substrs: []string) -> (idx: int, width: int) { /* Counts the number of non-overlapping occurrences of `substr` in `s` -**Inputs** +Inputs: - s: The string to search in - substr: The substring to count +Returns: +The number of occurrences of `substr` in `s`, returns the rune_count + 1 of the string `s` on empty `substr` + Example: import "core:fmt" @@ -1847,8 +1901,6 @@ Output: 1 0 -**Returns** -The number of occurrences of `substr` in `s`, returns the rune_count + 1 of the string `s` on empty `substr` */ count :: proc(s, substr: string) -> int { if len(substr) == 0 { // special case @@ -1889,11 +1941,14 @@ Repeats the string `s` `count` times, concatenating the result *Allocates Using Provided Allocator* -**Inputs** +Inputs: - s: The string to repeat - count: The number of times to repeat `s` - allocator: (default is context.allocator) +Returns: +The concatenated repeated string + WARNING: Panics if count < 0 Example: @@ -1909,8 +1964,6 @@ Output: abcabc -**Returns** -The concatenated repeated string */ repeat :: proc(s: string, count: int, allocator := context.allocator) -> string { if count < 0 { @@ -1932,12 +1985,15 @@ Replaces all occurrences of `old` in `s` with `new` *Allocates Using Provided Allocator* -**Inputs** +Inputs: - s: The string to modify - old: The substring to replace - new: The substring to replace `old` with - allocator: The allocator to use for the new string (default is context.allocator) +Returns: +A tuple containing the modified string and a boolean indicating if an allocation occurred during the replacement + Example: import "core:fmt" @@ -1955,8 +2011,6 @@ Output: xyzxyz false zzzz true -**Returns** -A tuple containing the modified string and a boolean indicating if an allocation occurred during the replacement */ replace_all :: proc(s, old, new: string, allocator := context.allocator) -> (output: string, was_allocation: bool) { return replace(s, old, new, -1, allocator) @@ -1966,13 +2020,16 @@ Replaces n instances of old in the string s with the new string *Allocates Using Provided Allocator* -**Inputs** +Inputs: - s: The input string - old: The substring to be replaced - new: The replacement string - n: The number of instances to replace (if `n < 0`, no limit on the number of replacements) - allocator: (default: context.allocator) +Returns: +A tuple containing the modified string and a boolean indicating if an allocation occurred during the replacement + Example: import "core:fmt" @@ -1992,8 +2049,6 @@ Output: xyzxyz false zzzz true -**Returns** -A tuple containing the modified string and a boolean indicating if an allocation occurred during the replacement */ replace :: proc(s, old, new: string, n: int, allocator := context.allocator) -> (output: string, was_allocation: bool) { if old == new || n == 0 { @@ -2039,12 +2094,15 @@ Removes the key string `n` times from the `s` string *Allocates Using Provided Allocator* -**Inputs** +Inputs: - s: The input string - key: The substring to be removed - n: The number of instances to remove (if `n < 0`, no limit on the number of removes) - allocator: (default: context.allocator) +Returns: +A tuple containing the modified string and a boolean indicating if an allocation occurred during the removal + Example: import "core:fmt" @@ -2064,8 +2122,6 @@ Output: bcbc true abcabc false -**Returns** -A tuple containing the modified string and a boolean indicating if an allocation occurred during the removal */ remove :: proc(s, key: string, n: int, allocator := context.allocator) -> (output: string, was_allocation: bool) { return replace(s, key, "", n, allocator) @@ -2075,11 +2131,14 @@ Removes all the `key` string instances from the `s` string *Allocates Using Provided Allocator* -**Inputs** +Inputs: - s: The input string - key: The substring to be removed - allocator: (default: context.allocator) +Returns: +A tuple containing the modified string and a boolean indicating if an allocation occurred during the removal + Example: import "core:fmt" @@ -2097,8 +2156,6 @@ Output: bcbc true abcabc false -**Returns** -A tuple containing the modified string and a boolean indicating if an allocation occurred during the removal */ remove_all :: proc(s, key: string, allocator := context.allocator) -> (output: string, was_allocation: bool) { return remove(s, key, -1, allocator) @@ -2138,11 +2195,14 @@ is_null :: proc(r: rune) -> bool { /* Find the index of the first rune `r` in string `s` for which procedure `p` returns the same as truth, or -1 if no such rune appears. -**Inputs** +Inputs: - s: The input string - p: A procedure that takes a rune and returns a boolean - truth: The boolean value to be matched (default: `true`) +Returns: +The index of the first matching rune, or -1 if no match was found + Example: import "core:fmt" @@ -2167,8 +2227,6 @@ Output: 1 -1 -**Returns** -The index of the first matching rune, or -1 if no match was found */ index_proc :: proc(s: string, p: proc(rune) -> bool, truth := true) -> int { for r, i in s { @@ -2214,10 +2272,13 @@ last_index_proc_with_state :: proc(s: string, p: proc(rawptr, rune) -> bool, sta /* Trims the input string `s` from the left until the procedure `p` returns false -**Inputs** +Inputs: - s: The input string - p: A procedure that takes a rune and returns a boolean +Returns: +The trimmed string as a slice of the original + Example: import "core:fmt" @@ -2234,8 +2295,6 @@ Output: testing -**Returns** -The trimmed string as a slice of the original */ trim_left_proc :: proc(s: string, p: proc(rune) -> bool) -> string { i := index_proc(s, p, false) @@ -2247,12 +2306,12 @@ trim_left_proc :: proc(s: string, p: proc(rune) -> bool) -> string { /* Trims the input string `s` from the left until the procedure `p` with state returns false -**Inputs** +Inputs: - s: The input string - p: A procedure that takes a raw pointer and a rune and returns a boolean - state: The raw pointer to be passed to the procedure `p` -**Returns** +Returns: The trimmed string as a slice of the original */ trim_left_proc_with_state :: proc(s: string, p: proc(rawptr, rune) -> bool, state: rawptr) -> string { @@ -2265,10 +2324,13 @@ trim_left_proc_with_state :: proc(s: string, p: proc(rawptr, rune) -> bool, stat /* Trims the input string `s` from the right until the procedure `p` returns `false` -**Inputs** +Inputs: - s: The input string - p: A procedure that takes a rune and returns a boolean +Returns: +The trimmed string as a slice of the original + Example: import "core:fmt" @@ -2285,8 +2347,6 @@ Output: test -**Returns** -The trimmed string as a slice of the original */ trim_right_proc :: proc(s: string, p: proc(rune) -> bool) -> string { i := last_index_proc(s, p, false) @@ -2301,12 +2361,12 @@ trim_right_proc :: proc(s: string, p: proc(rune) -> bool) -> string { /* Trims the input string `s` from the right until the procedure `p` with state returns `false` -**Inputs** +Inputs: - s: The input string - p: A procedure that takes a raw pointer and a rune and returns a boolean - state: The raw pointer to be passed to the procedure `p` -**Returns** +Returns: The trimmed string as a slice of the original, empty when no match */ trim_right_proc_with_state :: proc(s: string, p: proc(rawptr, rune) -> bool, state: rawptr) -> string { @@ -2335,11 +2395,11 @@ is_in_cutset :: proc(state: rawptr, r: rune) -> bool { /* Trims the cutset string from the `s` string -**Inputs** +Inputs: - s: The input string - cutset: The set of characters to be trimmed from the left of the input string -**Returns** +Returns: The trimmed string as a slice of the original */ trim_left :: proc(s: string, cutset: string) -> string { @@ -2352,11 +2412,11 @@ trim_left :: proc(s: string, cutset: string) -> string { /* Trims the cutset string from the `s` string from the right -**Inputs** +Inputs: - s: The input string - cutset: The set of characters to be trimmed from the right of the input string -**Returns** +Returns: The trimmed string as a slice of the original */ trim_right :: proc(s: string, cutset: string) -> string { @@ -2369,11 +2429,11 @@ trim_right :: proc(s: string, cutset: string) -> string { /* Trims the cutset string from the `s` string, both from left and right -**Inputs** +Inputs: - s: The input string - cutset: The set of characters to be trimmed from both sides of the input string -**Returns** +Returns: The trimmed string as a slice of the original */ trim :: proc(s: string, cutset: string) -> string { @@ -2382,10 +2442,10 @@ trim :: proc(s: string, cutset: string) -> string { /* Trims until a valid non-space rune from the left, "\t\txyz\t\t" -> "xyz\t\t" -**Inputs** +Inputs: - s: The input string -**Returns** +Returns: The trimmed string as a slice of the original */ trim_left_space :: proc(s: string) -> string { @@ -2394,10 +2454,10 @@ trim_left_space :: proc(s: string) -> string { /* Trims from the right until a valid non-space rune, "\t\txyz\t\t" -> "\t\txyz" -**Inputs** +Inputs: - s: The input string -**Returns** +Returns: The trimmed string as a slice of the original */ trim_right_space :: proc(s: string) -> string { @@ -2406,10 +2466,10 @@ trim_right_space :: proc(s: string) -> string { /* Trims from both sides until a valid non-space rune, "\t\txyz\t\t" -> "xyz" -**Inputs** +Inputs: - s: The input string -**Returns** +Returns: The trimmed string as a slice of the original */ trim_space :: proc(s: string) -> string { @@ -2418,10 +2478,10 @@ trim_space :: proc(s: string) -> string { /* Trims null runes from the left, "\x00\x00testing\x00\x00" -> "testing\x00\x00" -**Inputs** +Inputs: - s: The input string -**Returns** +Returns: The trimmed string as a slice of the original */ trim_left_null :: proc(s: string) -> string { @@ -2430,10 +2490,10 @@ trim_left_null :: proc(s: string) -> string { /* Trims null runes from the right, "\x00\x00testing\x00\x00" -> "\x00\x00testing" -**Inputs** +Inputs: - s: The input string -**Returns** +Returns: The trimmed string as a slice of the original */ trim_right_null :: proc(s: string) -> string { @@ -2442,9 +2502,9 @@ trim_right_null :: proc(s: string) -> string { /* Trims null runes from both sides, "\x00\x00testing\x00\x00" -> "testing" -**Inputs** +Inputs: - s: The input string -**Returns** +Returns: The trimmed string as a slice of the original */ trim_null :: proc(s: string) -> string { @@ -2453,10 +2513,13 @@ trim_null :: proc(s: string) -> string { /* Trims a `prefix` string from the start of the `s` string and returns the trimmed string -**Inputs** +Inputs: - s: The input string - prefix: The prefix string to be removed +Returns: +The trimmed string as a slice of original, or the input string if no prefix was found + Example: import "core:fmt" @@ -2472,8 +2535,6 @@ Output: ing testing -**Returns** -The trimmed string as a slice of original, or the input string if no prefix was found */ trim_prefix :: proc(s, prefix: string) -> string { if has_prefix(s, prefix) { @@ -2484,10 +2545,13 @@ trim_prefix :: proc(s, prefix: string) -> string { /* Trims a `suffix` string from the end of the `s` string and returns the trimmed string -**Inputs** +Inputs: - s: The input string - suffix: The suffix string to be removed +Returns: +The trimmed string as a slice of original, or the input string if no suffix was found + Example: import "core:fmt" @@ -2503,8 +2567,6 @@ Output: todo todo.doc -**Returns** -The trimmed string as a slice of original, or the input string if no suffix was found */ trim_suffix :: proc(s, suffix: string) -> string { if has_suffix(s, suffix) { @@ -2517,11 +2579,14 @@ Splits the input string `s` by all possible `substrs` and returns an allocated a *Allocates Using Provided Allocator* -**Inputs** +Inputs: - s: The input string - substrs: An array of substrings used for splitting - allocator: (default is context.allocator) +Returns: +An array of strings, or nil on empty substring or no matches + NOTE: Allocation occurs for the array, the splits are all views of the original string. Example: @@ -2539,8 +2604,6 @@ Output: ["testing", "this", "out", "nice", "done", "last"] -**Returns** -An array of strings, or nil on empty substring or no matches */ split_multi :: proc(s: string, substrs: []string, allocator := context.allocator) -> []string #no_bounds_check { if s == "" || len(substrs) <= 0 { @@ -2585,10 +2648,13 @@ split_multi :: proc(s: string, substrs: []string, allocator := context.allocator /* Splits the input string `s` by all possible `substrs` in an iterator fashion. The full string is returned if no match. -**Inputs** +Inputs: - it: A pointer to the input string - substrs: An array of substrings used for splitting +Returns: +A tuple containing the split string and a boolean indicating success or failure + Example: import "core:fmt" @@ -2611,8 +2677,6 @@ Output: done last -**Returns** -A tuple containing the split string and a boolean indicating success or failure */ split_multi_iterate :: proc(it: ^string, substrs: []string) -> (res: string, ok: bool) #no_bounds_check { if it == nil || len(it) == 0 || len(substrs) <= 0 { @@ -2644,11 +2708,14 @@ Replaces invalid UTF-8 characters in the input string with a specified replaceme *Allocates Using Provided Allocator* -**Inputs** +Inputs: - s: The input string - replacement: The string used to replace invalid UTF-8 characters - allocator: (default is context.allocator) +Returns: +A new string with invalid UTF-8 characters replaced + Example: import "core:fmt" @@ -2663,8 +2730,6 @@ Output: Hello? -**Returns** -A new string with invalid UTF-8 characters replaced */ scrub :: proc(s: string, replacement: string, allocator := context.allocator) -> string { str := s @@ -2702,10 +2767,13 @@ Reverses the input string `s` *Allocates Using Provided Allocator* -**Inputs** +Inputs: - s: The input string - allocator: (default is context.allocator) +Returns: +A reversed version of the input string + Example: import "core:fmt" @@ -2721,8 +2789,6 @@ Output: abcxyz zyxcba -**Returns** -A reversed version of the input string */ reverse :: proc(s: string, allocator := context.allocator) -> string { str := s @@ -2743,11 +2809,16 @@ Expands the input string by replacing tab characters with spaces to align to a s *Allocates Using Provided Allocator* -**Inputs** +Inputs: - s: The input string - tab_size: The number of spaces to use for each tab character - allocator: (default is context.allocator) +Returns: +A new string with tab characters expanded to the specified tab size + +WARNING: Panics if tab_size <= 0 + Example: import "core:fmt" @@ -2762,10 +2833,6 @@ Output: abc1 abc2 abc3 -WARNING: Panics if tab_size <= 0 - -**Returns** -A new string with tab characters expanded to the specified tab size */ expand_tabs :: proc(s: string, tab_size: int, allocator := context.allocator) -> string { if tab_size <= 0 { @@ -2811,10 +2878,13 @@ expand_tabs :: proc(s: string, tab_size: int, allocator := context.allocator) -> /* Splits the input string `str` by the separator `sep` string and returns 3 parts. The values are slices of the original string. -**Inputs** +Inputs: - str: The input string - sep: The separator string +Returns: +A tuple with `head` (before the split), `match` (the separator), and `tail` (the end of the split) strings + Example: import "core:fmt" @@ -2840,8 +2910,6 @@ Output: true true -**Returns** -A tuple with `head` (before the split), `match` (the separator), and `tail` (the end of the split) strings */ partition :: proc(str, sep: string) -> (head, match, tail: string) { i := index(str, sep) @@ -2862,13 +2930,13 @@ Centers the input string within a field of specified length by adding pad string *Allocates Using Provided Allocator* -**Inputs** +Inputs: - str: The input string - length: The desired length of the centered string, in runes - pad: The string used for padding on both sides - allocator: (default is context.allocator) -**Returns** +Returns: A new string centered within a field of the specified length */ centre_justify :: proc(str: string, length: int, pad: string, allocator := context.allocator) -> string { @@ -2897,13 +2965,13 @@ Left-justifies the input string within a field of specified length by adding pad *Allocates Using Provided Allocator* -**Inputs** +Inputs: - str: The input string - length: The desired length of the left-justified string - pad: The string used for padding on the right side - allocator: (default is context.allocator) -**Returns** +Returns: A new string left-justified within a field of the specified length */ left_justify :: proc(str: string, length: int, pad: string, allocator := context.allocator) -> string { @@ -2931,13 +2999,13 @@ Right-justifies the input string within a field of specified length by adding pa *Allocates Using Provided Allocator* -**Inputs** +Inputs: - str: The input string - length: The desired length of the right-justified string - pad: The string used for padding on the left side - allocator: (default is context.allocator) -**Returns** +Returns: A new string right-justified within a field of the specified length */ right_justify :: proc(str: string, length: int, pad: string, allocator := context.allocator) -> string { @@ -2963,7 +3031,7 @@ right_justify :: proc(str: string, length: int, pad: string, allocator := contex /* Writes a given pad string a specified number of times to an `io.Writer` -**Inputs** +Inputs: - w: The io.Writer to write the pad string to - pad: The pad string to be written - pad_len: The length of the pad string, in runes @@ -2991,11 +3059,11 @@ Splits a string into a slice of substrings at each instance of one or more conse *Allocates Using Provided Allocator* -**Inputs** +Inputs: - s: The input string - allocator: (default is context.allocator) -**Returns** +Returns: A slice of substrings of the input string, or an empty slice if the input string only contains white space */ fields :: proc(s: string, allocator := context.allocator) -> []string #no_bounds_check { @@ -3051,14 +3119,14 @@ Splits a string into a slice of substrings at each run of unicode code points `r *Allocates Using Provided Allocator* -**Inputs** +Inputs: - s: The input string - f: A predicate function to determine the split points - allocator: (default is context.allocator) NOTE: fields_proc makes no guarantee about the order in which it calls `f(r)`, it assumes that `f` always returns the same value for a given `r` -**Returns** +Returns: A slice of substrings of the input string, or an empty slice if all code points in the input string satisfy the predicate or if the input string is empty */ fields_proc :: proc(s: string, f: proc(rune) -> bool, allocator := context.allocator) -> []string #no_bounds_check { @@ -3090,10 +3158,10 @@ fields_proc :: proc(s: string, f: proc(rune) -> bool, allocator := context.alloc /* Retrieves the first non-space substring from a mutable string reference and advances the reference. `s` is advanced from any space after the substring, or be an empty string if the substring was the remaining characters -**Inputs** +Inputs: - s: A mutable string reference to be iterated -**Returns** +Returns: - field: The first non-space substring found - ok: A boolean indicating if a non-space substring was found */ @@ -3132,11 +3200,11 @@ Computes the Levenshtein edit distance between two strings NOTE: Does not perform internal allocation if length of string `b`, in runes, is smaller than 64 -**Inputs** +Inputs: - a, b: The two strings to compare - allocator: (default is context.allocator) -**Returns** +Returns: The Levenshtein edit distance between the two strings NOTE: This implementation is a single-row-version of the Wagner–Fischer algorithm, based on C code by Martin Ettl. From c59ad24856303c253fbc09f9e4e4f22fa9129f80 Mon Sep 17 00:00:00 2001 From: Lucas Perlind Date: Mon, 3 Apr 2023 13:38:36 +1000 Subject: [PATCH 17/50] Make tests scripts error if a test fails Additionally fixes tests that were found broken because of this. --- core/crypto/util/util.odin | 2 + tests/core/build.bat | 43 +++++++++------------ tests/core/compress/test_core_compress.odin | 7 ++++ tests/documentation/build.bat | 5 ++- tests/internal/build.bat | 2 +- tests/issues/run.bat | 13 ++----- tests/vendor/build.bat | 4 +- 7 files changed, 38 insertions(+), 38 deletions(-) diff --git a/core/crypto/util/util.odin b/core/crypto/util/util.odin index 6273a232e..b9b80124a 100644 --- a/core/crypto/util/util.odin +++ b/core/crypto/util/util.odin @@ -11,6 +11,8 @@ package util */ import "core:mem" +// Keep vet happy +_ :: mem // @note(bp): this can replace the other two cast_slice :: #force_inline proc "contextless" ($D: typeid/[]$DE, src: $S/[]$SE) -> D { diff --git a/tests/core/build.bat b/tests/core/build.bat index 5a86e5b41..1d146c8a4 100644 --- a/tests/core/build.bat +++ b/tests/core/build.bat @@ -6,87 +6,82 @@ python3 download_assets.py echo --- echo Running core:image tests echo --- -%PATH_TO_ODIN% run image %COMMON% -out:test_core_image.exe +%PATH_TO_ODIN% run image %COMMON% -out:test_core_image.exe || exit /b echo --- echo Running core:compress tests echo --- -%PATH_TO_ODIN% run compress %COMMON% -out:test_core_compress.exe +%PATH_TO_ODIN% run compress %COMMON% -out:test_core_compress.exe || exit /b echo --- echo Running core:strings tests echo --- -%PATH_TO_ODIN% run strings %COMMON% -out:test_core_strings.exe +%PATH_TO_ODIN% run strings %COMMON% -out:test_core_strings.exe || exit /b echo --- echo Running core:hash tests echo --- -%PATH_TO_ODIN% run hash %COMMON% -o:size -out:test_core_hash.exe +%PATH_TO_ODIN% run hash %COMMON% -o:size -out:test_core_hash.exe || exit /b echo --- echo Running core:odin tests echo --- -%PATH_TO_ODIN% run odin %COMMON% -o:size -out:test_core_odin.exe +%PATH_TO_ODIN% run odin %COMMON% -o:size -out:test_core_odin.exe || exit /b echo --- echo Running core:crypto hash tests echo --- -%PATH_TO_ODIN% run crypto %COMMON% -out:test_crypto_hash.exe +%PATH_TO_ODIN% run crypto %COMMON% -out:test_crypto_hash.exe || exit /b echo --- echo Running core:encoding tests echo --- -%PATH_TO_ODIN% run encoding/hxa %COMMON% %COLLECTION% -out:test_hxa.exe -%PATH_TO_ODIN% run encoding/json %COMMON% -out:test_json.exe -%PATH_TO_ODIN% run encoding/varint %COMMON% -out:test_varint.exe -%PATH_TO_ODIN% run encoding/xml %COMMON% -out:test_xml.exe +%PATH_TO_ODIN% run encoding/hxa %COMMON% %COLLECTION% -out:test_hxa.exe || exit /b +%PATH_TO_ODIN% run encoding/json %COMMON% -out:test_json.exe || exit /b +%PATH_TO_ODIN% run encoding/varint %COMMON% -out:test_varint.exe || exit /b +%PATH_TO_ODIN% run encoding/xml %COMMON% -out:test_xml.exe || exit /b echo --- echo Running core:math/noise tests echo --- -%PATH_TO_ODIN% run math/noise %COMMON% -out:test_noise.exe +%PATH_TO_ODIN% run math/noise %COMMON% -out:test_noise.exe || exit /b echo --- echo Running core:math tests echo --- -%PATH_TO_ODIN% run math %COMMON% %COLLECTION% -out:test_core_math.exe +%PATH_TO_ODIN% run math %COMMON% %COLLECTION% -out:test_core_math.exe || exit /b echo --- echo Running core:math/linalg/glsl tests echo --- -%PATH_TO_ODIN% run math/linalg/glsl %COMMON% %COLLECTION% -out:test_linalg_glsl.exe +%PATH_TO_ODIN% run math/linalg/glsl %COMMON% %COLLECTION% -out:test_linalg_glsl.exe || exit /b echo --- echo Running core:path/filepath tests echo --- -%PATH_TO_ODIN% run path/filepath %COMMON% %COLLECTION% -out:test_core_filepath.exe +%PATH_TO_ODIN% run path/filepath %COMMON% %COLLECTION% -out:test_core_filepath.exe || exit /b echo --- echo Running core:reflect tests echo --- -%PATH_TO_ODIN% run reflect %COMMON% %COLLECTION% -out:test_core_reflect.exe +%PATH_TO_ODIN% run reflect %COMMON% %COLLECTION% -out:test_core_reflect.exe || exit /b echo --- echo Running core:text/i18n tests echo --- -%PATH_TO_ODIN% run text\i18n %COMMON% -out:test_core_i18n.exe +%PATH_TO_ODIN% run text\i18n %COMMON% -out:test_core_i18n.exe || exit /b echo --- echo Running core:net echo --- -%PATH_TO_ODIN% run net %COMMON% -out:test_core_net.exe - -echo --- -echo Running core:text/lua tests -echo --- -%PATH_TO_ODIN% run text\lua %COMMON% -out:test_core_lua_strlib.exe +%PATH_TO_ODIN% run net %COMMON% -out:test_core_net.exe || exit /b echo --- echo Running core:slice tests echo --- -%PATH_TO_ODIN% run slice %COMMON% -out:test_core_slice.exe +%PATH_TO_ODIN% run slice %COMMON% -out:test_core_slice.exe || exit /b echo --- echo Running core:container tests echo --- -%PATH_TO_ODIN% run container %COMMON% %COLLECTION% -out:test_core_container.exe +%PATH_TO_ODIN% run container %COMMON% %COLLECTION% -out:test_core_container.exe || exit /b diff --git a/tests/core/compress/test_core_compress.odin b/tests/core/compress/test_core_compress.odin index ee7233e52..ac7555e9a 100644 --- a/tests/core/compress/test_core_compress.odin +++ b/tests/core/compress/test_core_compress.odin @@ -151,6 +151,13 @@ shoco_test :: proc(t: ^testing.T) { } for v in Shoco_Tests { + when ODIN_OS == .Windows { + v := v + // Compressed source files are not encoded with carriage returns but git replaces raw files lf with crlf on commit (on windows only) + // So replace crlf with lf on windows + v.raw, _ = bytes.replace_all(v.raw, { 0xD, 0xA }, { 0xA }) + } + expected_raw := len(v.raw) expected_compressed := len(v.compressed) diff --git a/tests/documentation/build.bat b/tests/documentation/build.bat index 1e92e3ba5..6ca90fbad 100644 --- a/tests/documentation/build.bat +++ b/tests/documentation/build.bat @@ -4,9 +4,10 @@ set PATH_TO_ODIN==..\..\odin echo --- echo Building Documentation File echo --- -%PATH_TO_ODIN% doc ..\..\examples\all -all-packages -doc-format +%PATH_TO_ODIN% doc ..\..\examples\all -all-packages -doc-format || exit /b + echo --- echo Running Documentation Tester echo --- -%PATH_TO_ODIN% run documentation_tester.odin -file -vet -strict-style -- %PATH_TO_ODIN% +%PATH_TO_ODIN% run documentation_tester.odin -file -vet -strict-style -- %PATH_TO_ODIN% || exit /b diff --git a/tests/internal/build.bat b/tests/internal/build.bat index 313e1dbb5..995086523 100644 --- a/tests/internal/build.bat +++ b/tests/internal/build.bat @@ -1,4 +1,4 @@ @echo off set PATH_TO_ODIN==..\..\odin -%PATH_TO_ODIN% run test_map.odin -file -vet -strict-style -o:minimal +%PATH_TO_ODIN% run test_map.odin -file -vet -strict-style -o:minimal || exit /b rem -define:SEED=42 \ No newline at end of file diff --git a/tests/issues/run.bat b/tests/issues/run.bat index c526fd472..ea5feddaa 100644 --- a/tests/issues/run.bat +++ b/tests/issues/run.bat @@ -5,19 +5,14 @@ pushd build set COMMON=-collection:tests=..\.. -set ERROR_DID_OCCUR=0 - @echo on -..\..\..\odin test ..\test_issue_829.odin %COMMON% -file -..\..\..\odin test ..\test_issue_1592.odin %COMMON% -file -..\..\..\odin test ..\test_issue_2087.odin %COMMON% -file -..\..\..\odin build ..\test_issue_2113.odin %COMMON% -file -debug +..\..\..\odin test ..\test_issue_829.odin %COMMON% -file || exit /b +..\..\..\odin test ..\test_issue_1592.odin %COMMON% -file || exit /b +..\..\..\odin test ..\test_issue_2087.odin %COMMON% -file || exit /b +..\..\..\odin build ..\test_issue_2113.odin %COMMON% -file -debug || exit /b @echo off -if %ERRORLEVEL% NEQ 0 set ERROR_DID_OCCUR=1 - popd rmdir /S /Q build -if %ERROR_DID_OCCUR% NEQ 0 EXIT /B 1 diff --git a/tests/vendor/build.bat b/tests/vendor/build.bat index d92a5eaea..09754fc40 100644 --- a/tests/vendor/build.bat +++ b/tests/vendor/build.bat @@ -5,9 +5,9 @@ set PATH_TO_ODIN==..\..\odin echo --- echo Running vendor:botan tests echo --- -%PATH_TO_ODIN% run botan %COMMON% -out:vendor_botan.exe +%PATH_TO_ODIN% run botan %COMMON% -out:vendor_botan.exe || exit /b echo --- echo Running vendor:glfw tests echo --- -%PATH_TO_ODIN% run glfw %COMMON% -out:vendor_glfw.exe \ No newline at end of file +%PATH_TO_ODIN% run glfw %COMMON% -out:vendor_glfw.exe || exit /b \ No newline at end of file From adcaace03cc03cc4ba9c2a9e3ffa585369f6a20e Mon Sep 17 00:00:00 2001 From: gingerBill Date: Mon, 3 Apr 2023 21:09:26 +0100 Subject: [PATCH 18/50] Fix `allow_field_separator` for `foreign import` --- src/parser.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/parser.cpp b/src/parser.cpp index 86f955254..50a9ba766 100644 --- a/src/parser.cpp +++ b/src/parser.cpp @@ -3693,9 +3693,11 @@ gb_internal bool allow_field_separator(AstFile *f) { if (allow_token(f, Token_Comma)) { return true; } - if (ALLOW_NEWLINE && token.kind == Token_Semicolon && !token_is_newline(token)) { - String p = token_to_string(token); - syntax_error(token_end_of_line(f, f->prev_token), "Expected a comma, got a %.*s", LIT(p)); + if (ALLOW_NEWLINE && token.kind == Token_Semicolon) { + if (!token_is_newline(token)) { + String p = token_to_string(token); + syntax_error(token_end_of_line(f, f->prev_token), "Expected a comma, got a %.*s", LIT(p)); + } advance_token(f); return true; } From 2795f09fa8e257421fcf1e44423445e98a520542 Mon Sep 17 00:00:00 2001 From: Elusive Porpoise <95202750+elusivePorpoise@users.noreply.github.com> Date: Mon, 3 Apr 2023 22:27:19 -0700 Subject: [PATCH 19/50] Add GetStartupInfoW. Rename StartupInfo to StartupInfoW. --- core/sys/windows/advapi32.odin | 4 ++-- core/sys/windows/kernel32.odin | 3 ++- core/sys/windows/types.odin | 5 ++--- core/sys/windows/util.odin | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/core/sys/windows/advapi32.odin b/core/sys/windows/advapi32.odin index e98aa6c43..dc7ec1e08 100644 --- a/core/sys/windows/advapi32.odin +++ b/core/sys/windows/advapi32.odin @@ -52,7 +52,7 @@ foreign advapi32 { dwCreationFlags: DWORD, lpEnvironment: LPVOID, lpCurrentDirectory: wstring, - lpStartupInfo: LPSTARTUPINFO, + lpStartupInfo: LPSTARTUPINFOW, lpProcessInformation: LPPROCESS_INFORMATION, ) -> BOOL --- @@ -67,7 +67,7 @@ foreign advapi32 { dwCreationFlags: DWORD, lpEnvironment: LPVOID, lpCurrentDirectory: wstring, - lpStartupInfo: LPSTARTUPINFO, + lpStartupInfo: LPSTARTUPINFOW, lpProcessInformation: LPPROCESS_INFORMATION, ) -> BOOL --- diff --git a/core/sys/windows/kernel32.odin b/core/sys/windows/kernel32.odin index 1bbf910bb..ff2607b62 100644 --- a/core/sys/windows/kernel32.odin +++ b/core/sys/windows/kernel32.odin @@ -193,9 +193,10 @@ foreign kernel32 { dwCreationFlags: DWORD, lpEnvironment: LPVOID, lpCurrentDirectory: LPCWSTR, - lpStartupInfo: LPSTARTUPINFO, + lpStartupInfo: LPSTARTUPINFOW, lpProcessInformation: LPPROCESS_INFORMATION, ) -> BOOL --- + GetStartupInfoW :: proc(lpStartupInfo: LPSTARTUPINFOW) --- GetEnvironmentVariableW :: proc(n: LPCWSTR, v: LPWSTR, nsize: DWORD) -> DWORD --- SetEnvironmentVariableW :: proc(n: LPCWSTR, v: LPCWSTR) -> BOOL --- GetEnvironmentStringsW :: proc() -> LPWCH --- diff --git a/core/sys/windows/types.odin b/core/sys/windows/types.odin index cd8bb4060..bf2a28e14 100644 --- a/core/sys/windows/types.odin +++ b/core/sys/windows/types.odin @@ -111,7 +111,7 @@ LPOVERLAPPED :: ^OVERLAPPED LPPROCESS_INFORMATION :: ^PROCESS_INFORMATION PSECURITY_ATTRIBUTES :: ^SECURITY_ATTRIBUTES LPSECURITY_ATTRIBUTES :: ^SECURITY_ATTRIBUTES -LPSTARTUPINFO :: ^STARTUPINFO +LPSTARTUPINFOW :: ^STARTUPINFOW LPTRACKMOUSEEVENT :: ^TRACKMOUSEEVENT VOID :: rawptr PVOID :: rawptr @@ -2418,8 +2418,7 @@ PROCESS_INFORMATION :: struct { dwThreadId: DWORD, } -// FYI: This is STARTUPINFOW, not STARTUPINFOA -STARTUPINFO :: struct { +STARTUPINFOW :: struct { cb: DWORD, lpReserved: LPWSTR, lpDesktop: LPWSTR, diff --git a/core/sys/windows/util.odin b/core/sys/windows/util.odin index 7f8e51d38..9c9d8f7b4 100644 --- a/core/sys/windows/util.odin +++ b/core/sys/windows/util.odin @@ -457,8 +457,8 @@ run_as_user :: proc(username, password, application, commandline: string, pi: ^P // err := GetLastError(); // fmt.printf("GetLastError: %v\n", err); } - si := STARTUPINFO{} - si.cb = size_of(STARTUPINFO) + si := STARTUPINFOW{} + si.cb = size_of(STARTUPINFOW) pi := pi ok = bool(CreateProcessAsUserW( From aa5a222c6d3f10d9a9b19085e8cfa4af767b3512 Mon Sep 17 00:00:00 2001 From: Elusive Porpoise <95202750+elusivePorpoise@users.noreply.github.com> Date: Mon, 3 Apr 2023 22:32:21 -0700 Subject: [PATCH 20/50] Add creation, thread priority, and copy file flags. --- core/sys/windows/kernel32.odin | 66 ++++++++++++++++++++++++++++++++++ core/sys/windows/types.odin | 8 ++--- 2 files changed, 68 insertions(+), 6 deletions(-) diff --git a/core/sys/windows/kernel32.odin b/core/sys/windows/kernel32.odin index ff2607b62..c7542be43 100644 --- a/core/sys/windows/kernel32.odin +++ b/core/sys/windows/kernel32.odin @@ -407,6 +407,72 @@ foreign kernel32 { GetLogicalProcessorInformation :: proc(buffer: ^SYSTEM_LOGICAL_PROCESSOR_INFORMATION, returnedLength: PDWORD) -> BOOL --- } +DEBUG_PROCESS :: 0x00000001 +DEBUG_ONLY_THIS_PROCESS :: 0x00000002 +CREATE_SUSPENDED :: 0x00000004 +DETACHED_PROCESS :: 0x00000008 +CREATE_NEW_CONSOLE :: 0x00000010 +NORMAL_PRIORITY_CLASS :: 0x00000020 +IDLE_PRIORITY_CLASS :: 0x00000040 +HIGH_PRIORITY_CLASS :: 0x00000080 +REALTIME_PRIORITY_CLASS :: 0x00000100 +CREATE_NEW_PROCESS_GROUP :: 0x00000200 +CREATE_UNICODE_ENVIRONMENT :: 0x00000400 +CREATE_SEPARATE_WOW_VDM :: 0x00000800 +CREATE_SHARED_WOW_VDM :: 0x00001000 +CREATE_FORCEDOS :: 0x00002000 +BELOW_NORMAL_PRIORITY_CLASS :: 0x00004000 +ABOVE_NORMAL_PRIORITY_CLASS :: 0x00008000 +INHERIT_PARENT_AFFINITY :: 0x00010000 +INHERIT_CALLER_PRIORITY :: 0x00020000 // Deprecated +CREATE_PROTECTED_PROCESS :: 0x00040000 +EXTENDED_STARTUPINFO_PRESENT :: 0x00080000 +PROCESS_MODE_BACKGROUND_BEGIN :: 0x00100000 +PROCESS_MODE_BACKGROUND_END :: 0x00200000 +CREATE_SECURE_PROCESS :: 0x00400000 +CREATE_BREAKAWAY_FROM_JOB :: 0x01000000 +CREATE_PRESERVE_CODE_AUTHZ_LEVEL :: 0x02000000 +CREATE_DEFAULT_ERROR_MODE :: 0x04000000 +CREATE_NO_WINDOW :: 0x08000000 +PROFILE_USER :: 0x10000000 +PROFILE_KERNEL :: 0x20000000 +PROFILE_SERVER :: 0x40000000 +CREATE_IGNORE_SYSTEM_DEFAULT :: 0x80000000 + +THREAD_BASE_PRIORITY_LOWRT :: 15 // value that gets a thread to LowRealtime-1 +THREAD_BASE_PRIORITY_MAX :: 2 // maximum thread base priority boost +THREAD_BASE_PRIORITY_MIN :: (-2) // minimum thread base priority boost +THREAD_BASE_PRIORITY_IDLE :: (-15) // value that gets a thread to idle + +THREAD_PRIORITY_LOWEST :: THREAD_BASE_PRIORITY_MIN +THREAD_PRIORITY_BELOW_NORMAL :: (THREAD_PRIORITY_LOWEST+1) +THREAD_PRIORITY_NORMAL :: 0 +THREAD_PRIORITY_HIGHEST :: THREAD_BASE_PRIORITY_MAX +THREAD_PRIORITY_ABOVE_NORMAL :: (THREAD_PRIORITY_HIGHEST-1) +THREAD_PRIORITY_ERROR_RETURN :: (MAXLONG) +THREAD_PRIORITY_TIME_CRITICAL :: THREAD_BASE_PRIORITY_LOWRT +THREAD_PRIORITY_IDLE :: THREAD_BASE_PRIORITY_IDLE +THREAD_MODE_BACKGROUND_BEGIN :: 0x00010000 +THREAD_MODE_BACKGROUND_END :: 0x00020000 + +COPY_FILE_FAIL_IF_EXISTS :: 0x00000001 +COPY_FILE_RESTARTABLE :: 0x00000002 +COPY_FILE_OPEN_SOURCE_FOR_WRITE :: 0x00000004 +COPY_FILE_ALLOW_DECRYPTED_DESTINATION :: 0x00000008 +COPY_FILE_COPY_SYMLINK :: 0x00000800 +COPY_FILE_NO_BUFFERING :: 0x00001000 +COPY_FILE_REQUEST_SECURITY_PRIVILEGES :: 0x00002000 +COPY_FILE_RESUME_FROM_PAUSE :: 0x00004000 +COPY_FILE_NO_OFFLOAD :: 0x00040000 +COPY_FILE_IGNORE_EDP_BLOCK :: 0x00400000 +COPY_FILE_IGNORE_SOURCE_ENCRYPTION :: 0x00800000 +COPY_FILE_DONT_REQUEST_DEST_WRITE_DAC :: 0x02000000 +COPY_FILE_REQUEST_COMPRESSED_TRAFFIC :: 0x10000000 +COPY_FILE_OPEN_AND_COPY_REPARSE_POINT :: 0x00200000 +COPY_FILE_DIRECTORY :: 0x00000080 +COPY_FILE_SKIP_ALTERNATE_STREAMS :: 0x00008000 +COPY_FILE_DISABLE_PRE_ALLOCATION :: 0x04000000 +COPY_FILE_ENABLE_LOW_FREE_SPACE_MODE :: 0x08000000 SECTION_QUERY :: DWORD(0x0001) SECTION_MAP_WRITE :: DWORD(0x0002) diff --git a/core/sys/windows/types.odin b/core/sys/windows/types.odin index bf2a28e14..81e545039 100644 --- a/core/sys/windows/types.odin +++ b/core/sys/windows/types.odin @@ -162,6 +162,8 @@ SIZE :: struct { PSIZE :: ^SIZE LPSIZE :: ^SIZE +MAXLONG :: 0x7fffffff + FILE_ATTRIBUTE_READONLY: DWORD : 0x00000001 FILE_ATTRIBUTE_HIDDEN: DWORD : 0x00000002 FILE_ATTRIBUTE_SYSTEM: DWORD : 0x00000004 @@ -2042,7 +2044,6 @@ TLS_OUT_OF_INDEXES: DWORD : 0xFFFFFFFF DLL_THREAD_DETACH: DWORD : 3 DLL_PROCESS_DETACH: DWORD : 0 -CREATE_SUSPENDED :: DWORD(0x00000004) INFINITE :: ~DWORD(0) @@ -2051,11 +2052,6 @@ DUPLICATE_SAME_ACCESS: DWORD : 0x00000002 CONDITION_VARIABLE_INIT :: CONDITION_VARIABLE{} SRWLOCK_INIT :: SRWLOCK{} -DETACHED_PROCESS: DWORD : 0x00000008 -CREATE_NEW_CONSOLE: DWORD : 0x00000010 -CREATE_NO_WINDOW: DWORD : 0x08000000 -CREATE_NEW_PROCESS_GROUP: DWORD : 0x00000200 -CREATE_UNICODE_ENVIRONMENT: DWORD : 0x00000400 STARTF_USESTDHANDLES: DWORD : 0x00000100 VOLUME_NAME_DOS: DWORD : 0x0 From 738cf837def804b06e3869b02d5d8055301294ac Mon Sep 17 00:00:00 2001 From: Jon Lipstate Date: Tue, 4 Apr 2023 00:32:34 -0700 Subject: [PATCH 21/50] additional winsock apis, doc links --- core/sys/windows/ws2_32.odin | 111 ++++++++++++++++++++++++++++++++++- 1 file changed, 108 insertions(+), 3 deletions(-) diff --git a/core/sys/windows/ws2_32.odin b/core/sys/windows/ws2_32.odin index 4b70e880a..cfb09e1fc 100644 --- a/core/sys/windows/ws2_32.odin +++ b/core/sys/windows/ws2_32.odin @@ -1,29 +1,103 @@ // +build windows package sys_windows -foreign import ws2_32 "system:Ws2_32.lib" +// Define flags to be used with the WSAAsyncSelect() call. +FD_READ :: 0x01 +FD_WRITE :: 0x02 +FD_OOB :: 0x04 +FD_ACCEPT :: 0x08 +FD_CONNECT :: 0x10 +FD_CLOSE :: 0x20 +FD_MAX_EVENTS :: 10 +INADDR_LOOPBACK :: 0x7f000001 + +// Event flag definitions for WSAPoll(). POLLRDNORM :: 0x0100 POLLRDBAND :: 0x0200 POLLIN :: (POLLRDNORM | POLLRDBAND) POLLPRI :: 0x0400 +POLLWRNORM :: 0x0010 +POLLOUT :: (POLLWRNORM) +POLLWRBAND :: 0x0020 +POLLERR :: 0x0001 +POLLHUP :: 0x0002 +POLLNVAL :: 0x0004 + WSA_POLLFD::struct{ fd:SOCKET, events:c_short, revents:c_short, } +WSANETWORKEVENTS :: struct { + lNetworkEvents: c_long, + iErrorCode: [FD_MAX_EVENTS]c_int, +} + +WSAEVENT :: HANDLE +WSAOVERLAPPED_COMPLETION_ROUTINE :: proc(dwError: DWORD, cbTransferred: DWORD, lpOverlapped: ^OVERLAPPED, dwFlags: DWORD) + +WSAID_ACCEPTEX :: GUID{0xb5367df1, 0xcbac, 0x11cf, {0x95, 0xca, 0x00, 0x80, 0x5f, 0x48, 0xa1, 0x92}} +WSAID_GETACCEPTEXSOCKADDRS :: GUID{0xb5367df2, 0xcbac, 0x11cf, {0x95, 0xca, 0x00, 0x80, 0x5f, 0x48, 0xa1, 0x92}} +SIO_GET_EXTENSION_FUNCTION_POINTER :: IOC_INOUT | IOC_WS2 | 6 +IOC_OUT :: 0x40000000 +IOC_IN :: 0x80000000 +IOC_INOUT :: (IOC_IN | IOC_OUT) +IOC_WS2 :: 0x08000000 +/* +Example Load: + load_accept_ex :: proc(listener: SOCKET, fn_acceptex: rawptr) { + bytes: u32 + guid_accept_ex := WSAID_ACCEPTEX + rc := WSAIoctl(listener, SIO_GET_EXTENSION_FUNCTION_POINTER, &guid_accept_ex, size_of(guid_accept_ex), + fn_acceptex, size_of(fn_acceptex), &bytes, nil, nil,) + assert(rc != windows.SOCKET_ERROR) + } +*/ +// NOTE: AcceptEx should be loaded at runtime per MS-Docs +//[MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/mswsock/nf-mswsock-acceptex) +AcceptEx :: proc( + sListenSocket: SOCKET, + sAcceptSocket: SOCKET, + lpOutputBuffer: rawptr, + dwReceiveDataLength: u32, + dwLocalAddressLength: u32, + dwRemoteAddressLength: u32, + lpdwBytesReceived: ^u32, + lpOverlapped: ^OVERLAPPED, +) -> b32 +// NOTE: GetAcceptExSockaddrs should be loaded at runtime per MS-Docs +//[MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/mswsock/nf-mswsock-getacceptexsockaddrs) +GetAcceptExSockaddrs :: proc( + lpOutputBuffer: rawptr, + dwReceiveDataLength: u32, + dwLocalAddressLength: u32, + dwRemoteAddressLength: u32, + LocalSockaddr: ^^sockaddr, + LocalSockaddrLength: ^i32, + RemoteSockaddr: ^^sockaddr, + RemoteSockaddrLength: ^i32, +) + +foreign import ws2_32 "system:Ws2_32.lib" @(default_calling_convention="stdcall") foreign ws2_32 { + // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-wsastartup) WSAStartup :: proc(wVersionRequested: WORD, lpWSAData: LPWSADATA) -> c_int --- + // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-wsacleanup) WSACleanup :: proc() -> c_int --- + // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-wsagetlasterror) WSAGetLastError :: proc() -> c_int --- + // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-wsapoll) WSAPoll :: proc(fdArray: ^WSA_POLLFD, fds: c_ulong, timeout: c_int) -> c_int --- + // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-wsaduplicatesocketw) WSADuplicateSocketW :: proc( s: SOCKET, dwProcessId: DWORD, lpProtocolInfo: LPWSAPROTOCOL_INFO, ) -> c_int --- + // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-wsasend) WSASend :: proc( s: SOCKET, lpBuffers: LPWSABUF, @@ -33,6 +107,7 @@ foreign ws2_32 { lpOverlapped: LPWSAOVERLAPPED, lpCompletionRoutine: LPWSAOVERLAPPED_COMPLETION_ROUTINE, ) -> c_int --- + // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-wsarecv) WSARecv :: proc( s: SOCKET, lpBuffers: LPWSABUF, @@ -42,6 +117,7 @@ foreign ws2_32 { lpOverlapped: LPWSAOVERLAPPED, lpCompletionRoutine: LPWSAOVERLAPPED_COMPLETION_ROUTINE, ) -> c_int --- + // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-wsasocketw) WSASocketW :: proc( af: c_int, kind: c_int, @@ -50,16 +126,32 @@ foreign ws2_32 { g: GROUP, dwFlags: DWORD, ) -> SOCKET --- + // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-wsaioctl) + WSAIoctl :: proc(s: SOCKET, dwIoControlCode: DWORD, lpvInBuffer: rawptr, cbInBuffer: DWORD, lpvOutBuffer: rawptr, cbOutBuffer: DWORD, lpcbBytesReturned: ^DWORD, lpOverlapped: ^OVERLAPPED, lpCompletionRoutine: ^WSAOVERLAPPED_COMPLETION_ROUTINE) -> c_int --- + // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-wsaeventselect) + WSAEventSelect :: proc(s: SOCKET, hEventObject: WSAEVENT, lNetworkEvents: i32) -> c_int --- + // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-wsawaitformultipleevents) + WSAWaitForMultipleEvents :: proc(cEvents: DWORD, lphEvents: ^WSAEVENT, fWaitAll: BOOL, dwTimeout: DWORD, fAlertable: BOOL) -> DWORD --- + // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-wsaenumnetworkevents) + WSAEnumNetworkEvents :: proc(s: SOCKET, hEventObject: WSAEVENT, lpNetworkEvents: ^WSANETWORKEVENTS) -> c_int --- + //[MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-wsagetoverlappedresult) + WSAGetOverlappedResult :: proc(s: SOCKET, lpOverlapped: ^OVERLAPPED, lpcbTransfer: ^DWORD, fWait: BOOL, lpdwFlags: ^DWORD) -> BOOL --- + // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-socket) socket :: proc( af: c_int, type: c_int, protocol: c_int, ) -> SOCKET --- + // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-ioctlsocket) ioctlsocket :: proc(s: SOCKET, cmd: c_long, argp: ^c_ulong) -> c_int --- + // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-closesocket) closesocket :: proc(socket: SOCKET) -> c_int --- + // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock/nf-winsock-recv) recv :: proc(socket: SOCKET, buf: rawptr, len: c_int, flags: c_int) -> c_int --- + // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-send) send :: proc(socket: SOCKET, buf: rawptr, len: c_int, flags: c_int) -> c_int --- + // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-recvfrom) recvfrom :: proc( socket: SOCKET, buf: rawptr, @@ -68,6 +160,7 @@ foreign ws2_32 { addr: ^SOCKADDR_STORAGE_LH, addrlen: ^c_int, ) -> c_int --- + // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-sendto) sendto :: proc( socket: SOCKET, buf: rawptr, @@ -76,9 +169,12 @@ foreign ws2_32 { addr: ^SOCKADDR_STORAGE_LH, addrlen: c_int, ) -> c_int --- + // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-shutdown) shutdown :: proc(socket: SOCKET, how: c_int) -> c_int --- + // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-accept) accept :: proc(socket: SOCKET, address: ^SOCKADDR_STORAGE_LH, address_len: ^c_int) -> SOCKET --- + // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-setsockopt) setsockopt :: proc( s: SOCKET, level: c_int, @@ -86,19 +182,28 @@ foreign ws2_32 { optval: rawptr, optlen: c_int, ) -> c_int --- + // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-getsockname) getsockname :: proc(socket: SOCKET, address: ^SOCKADDR_STORAGE_LH, address_len: ^c_int) -> c_int --- + // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-getpeername) getpeername :: proc(socket: SOCKET, address: ^SOCKADDR_STORAGE_LH, address_len: ^c_int) -> c_int --- + // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-bind) bind :: proc(socket: SOCKET, address: ^SOCKADDR_STORAGE_LH, address_len: socklen_t) -> c_int --- + // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-listen) listen :: proc(socket: SOCKET, backlog: c_int) -> c_int --- + // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-connect) connect :: proc(socket: SOCKET, address: ^SOCKADDR_STORAGE_LH, len: c_int) -> c_int --- + // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/ws2tcpip/nf-ws2tcpip-getaddrinfo) getaddrinfo :: proc( node: cstring, service: cstring, hints: ^ADDRINFOA, res: ^^ADDRINFOA, ) -> c_int --- + // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/ws2tcpip/nf-ws2tcpip-freeaddrinfo) freeaddrinfo :: proc(res: ^ADDRINFOA) --- + // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/ws2tcpip/nf-ws2tcpip-freeaddrinfoexw) FreeAddrInfoExW :: proc(pAddrInfoEx: PADDRINFOEXW) --- + // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/ws2tcpip/nf-ws2tcpip-getaddrinfoexw) GetAddrInfoExW :: proc( pName: PCWSTR, pServiceName: PCWSTR, @@ -110,7 +215,7 @@ foreign ws2_32 { lpOverlapped: LPOVERLAPPED, lpCompletionRoutine: LPLOOKUPSERVICE_COMPLETION_ROUTINE, lpHandle: LPHANDLE) -> INT --- - + // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-select) select :: proc( nfds: c_int, readfds: ^fd_set, @@ -118,6 +223,7 @@ foreign ws2_32 { exceptfds: ^fd_set, timeout: ^timeval, ) -> c_int --- + // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-getsockopt) getsockopt :: proc( s: SOCKET, level: c_int, @@ -125,5 +231,4 @@ foreign ws2_32 { optval: ^c_char, optlen: ^c_int, ) -> c_int --- - } From 6cba4d348383f66655f088ad1dc65e1eb3b3335d Mon Sep 17 00:00:00 2001 From: Jon Lipstate Date: Tue, 4 Apr 2023 00:42:38 -0700 Subject: [PATCH 22/50] iocp support --- core/sys/windows/kernel32.odin | 17 +++++++++++++++++ core/sys/windows/types.odin | 21 +++++++++++++++++++++ core/sys/windows/ws2_32.odin | 3 +-- 3 files changed, 39 insertions(+), 2 deletions(-) diff --git a/core/sys/windows/kernel32.odin b/core/sys/windows/kernel32.odin index 1bbf910bb..c0f09ef2a 100644 --- a/core/sys/windows/kernel32.odin +++ b/core/sys/windows/kernel32.odin @@ -404,6 +404,23 @@ foreign kernel32 { ) -> BOOL --- GetLogicalProcessorInformation :: proc(buffer: ^SYSTEM_LOGICAL_PROCESSOR_INFORMATION, returnedLength: PDWORD) -> BOOL --- + + // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-setfilecompletionnotificationmodes) + SetFileCompletionNotificationModes :: proc(FileHandle: HANDLE, Flags: u8) -> BOOL --- + // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/ioapiset/nf-ioapiset-createiocompletionport) + CreateIoCompletionPort :: proc(FileHandle: HANDLE, ExistingCompletionPort: HANDLE, CompletionKey: uintptr, NumberOfConcurrentThreads: DWORD) -> HANDLE --- + // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/ioapiset/nf-ioapiset-getqueuedcompletionstatusex) + GetQueuedCompletionStatusEx :: proc(CompletionPort: HANDLE, lpCompletionPortEntries: ^OVERLAPPED_ENTRY, ulCount: c_ulong, ulNumEntriesRemoved: ^c_ulong, dwMilliseconds: DWORD, fAlertable: BOOL) -> BOOL --- + // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/ioapiset/nf-ioapiset-postqueuedcompletionstatus) + PostQueuedCompletionStatus :: proc(CompletionPort: HANDLE, dwNumberOfBytesTransferred: DWORD, dwCompletionKey: c_ulong, lpOverlapped: ^OVERLAPPED) -> BOOL --- + // [MS-Docs] (https://learn.microsoft.com/en-us/windows/win32/api/sysinfoapi/nf-sysinfoapi-gettickcount64) + GetTickCount64 :: proc() -> u64 --- + // [MS-Docs](https://github.com/mic101/windows/blob/master/WRK-v1.2/base/ntos/ex/keyedevent.c) + NtCreateKeyedEvent :: proc(KeyedEventHandle: ^HANDLE, DesiredAccess: ACCESS_MASK, ObjectAttributes: OBJECT_ATTRIBUTES, Flags: u32) -> NTSTATUS --- + // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/handleapi/nf-handleapi-gethandleinformation) + GetHandleInformation :: proc(hObject: HANDLE, lpdwFlags: ^DWORD) -> BOOL --- + //[MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/ioapiset/nf-ioapiset-getqueuedcompletionstatus) + GetQueuedCompletionStatus :: proc(CompletionPort: HANDLE, lpNumberOfBytesTransferred: ^DWORD, lpCompletionKey: uintptr, lpOverlapped: ^^OVERLAPPED, dwMilliseconds: DWORD) -> BOOL --- } diff --git a/core/sys/windows/types.odin b/core/sys/windows/types.odin index cd8bb4060..dd2b0e49b 100644 --- a/core/sys/windows/types.odin +++ b/core/sys/windows/types.odin @@ -2450,6 +2450,20 @@ FILETIME_as_unix_nanoseconds :: proc "contextless" (ft: FILETIME) -> i64 { return (t - 116444736000000000) * 100 } +OBJECT_ATTRIBUTES :: struct { + Length: c_ulong, + RootDirectory: HANDLE, + ObjectName: ^UNICODE_STRING, + Attributes: c_ulong, + SecurityDescriptor: rawptr, + SecurityQualityOfService: rawptr, +} + +UNICODE_STRING :: struct { + Length: u16, + MaximumLength: u16, + Buffer: ^u16, +} OVERLAPPED :: struct { Internal: ^c_ulong, @@ -2459,6 +2473,13 @@ OVERLAPPED :: struct { hEvent: HANDLE, } +OVERLAPPED_ENTRY :: struct { + lpCompletionKey: c_ulong, + lpOverlapped: ^OVERLAPPED, + Internal: c_ulong, + dwNumberOfBytesTransferred: DWORD, +} + LPOVERLAPPED_COMPLETION_ROUTINE :: #type proc "stdcall" ( dwErrorCode: DWORD, dwNumberOfBytesTransfered: DWORD, diff --git a/core/sys/windows/ws2_32.odin b/core/sys/windows/ws2_32.odin index cfb09e1fc..ef4a9465b 100644 --- a/core/sys/windows/ws2_32.odin +++ b/core/sys/windows/ws2_32.odin @@ -36,7 +36,6 @@ WSANETWORKEVENTS :: struct { } WSAEVENT :: HANDLE -WSAOVERLAPPED_COMPLETION_ROUTINE :: proc(dwError: DWORD, cbTransferred: DWORD, lpOverlapped: ^OVERLAPPED, dwFlags: DWORD) WSAID_ACCEPTEX :: GUID{0xb5367df1, 0xcbac, 0x11cf, {0x95, 0xca, 0x00, 0x80, 0x5f, 0x48, 0xa1, 0x92}} WSAID_GETACCEPTEXSOCKADDRS :: GUID{0xb5367df2, 0xcbac, 0x11cf, {0x95, 0xca, 0x00, 0x80, 0x5f, 0x48, 0xa1, 0x92}} @@ -127,7 +126,7 @@ foreign ws2_32 { dwFlags: DWORD, ) -> SOCKET --- // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-wsaioctl) - WSAIoctl :: proc(s: SOCKET, dwIoControlCode: DWORD, lpvInBuffer: rawptr, cbInBuffer: DWORD, lpvOutBuffer: rawptr, cbOutBuffer: DWORD, lpcbBytesReturned: ^DWORD, lpOverlapped: ^OVERLAPPED, lpCompletionRoutine: ^WSAOVERLAPPED_COMPLETION_ROUTINE) -> c_int --- + WSAIoctl :: proc(s: SOCKET, dwIoControlCode: DWORD, lpvInBuffer: rawptr, cbInBuffer: DWORD, lpvOutBuffer: rawptr, cbOutBuffer: DWORD, lpcbBytesReturned: ^DWORD, lpOverlapped: ^OVERLAPPED, lpCompletionRoutine: LPWSAOVERLAPPED_COMPLETION_ROUTINE) -> c_int --- // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-wsaeventselect) WSAEventSelect :: proc(s: SOCKET, hEventObject: WSAEVENT, lNetworkEvents: i32) -> c_int --- // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-wsawaitformultipleevents) From 70ce878dfb1b6068d5ceb9c14a08a32f0394db78 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Tue, 4 Apr 2023 12:11:12 +0100 Subject: [PATCH 23/50] Add `-max-error-count:` --- src/build_settings.cpp | 16 ++++++++++++++++ src/error.cpp | 10 +++++----- src/main.cpp | 30 ++++++++++++++++++++++++++++-- 3 files changed, 49 insertions(+), 7 deletions(-) diff --git a/src/build_settings.cpp b/src/build_settings.cpp index 0aa9977a5..ac033df71 100644 --- a/src/build_settings.cpp +++ b/src/build_settings.cpp @@ -7,6 +7,8 @@ // #define DEFAULT_TO_THREADED_CHECKER // #endif +#define DEFAULT_MAX_ERROR_COLLECTOR_COUNT (36) + enum TargetOsKind : u16 { TargetOs_Invalid, @@ -313,6 +315,8 @@ struct BuildContext { RelocMode reloc_mode; bool disable_red_zone; + isize max_error_count; + u32 cmd_doc_flags; Array extra_packages; @@ -344,6 +348,14 @@ gb_internal bool global_ignore_warnings(void) { return build_context.ignore_warnings; } +gb_internal isize MAX_ERROR_COLLECTOR_COUNT(void) { + if (build_context.max_error_count <= 0) { + return DEFAULT_MAX_ERROR_COLLECTOR_COUNT; + } + return build_context.max_error_count; +} + + gb_global TargetMetrics target_windows_i386 = { TargetOs_windows, @@ -1081,6 +1093,10 @@ gb_internal void init_build_context(TargetMetrics *cross_target) { bc->ODIN_VERSION = ODIN_VERSION; bc->ODIN_ROOT = odin_root_dir(); + if (bc->max_error_count <= 0) { + bc->max_error_count = DEFAULT_MAX_ERROR_COLLECTOR_COUNT; + } + { char const *found = gb_get_env("ODIN_ERROR_POS_STYLE", permanent_allocator()); if (found) { diff --git a/src/error.cpp b/src/error.cpp index 2974dc039..e3e1381f4 100644 --- a/src/error.cpp +++ b/src/error.cpp @@ -14,8 +14,6 @@ struct ErrorCollector { gb_global ErrorCollector global_error_collector; -#define MAX_ERROR_COLLECTOR_COUNT (36) - gb_internal bool any_errors(void) { return global_error_collector.count.load() != 0; @@ -28,6 +26,8 @@ gb_internal void init_global_error_collector(void) { array_init(&global_files, heap_allocator(), 1, 4096); } +gb_internal isize MAX_ERROR_COLLECTOR_COUNT(void); + // temporary // defined in build_settings.cpp @@ -356,7 +356,7 @@ gb_internal void error_va(TokenPos const &pos, TokenPos end, char const *fmt, va show_error_on_line(pos, end); } mutex_unlock(&global_error_collector.mutex); - if (global_error_collector.count > MAX_ERROR_COLLECTOR_COUNT) { + if (global_error_collector.count > MAX_ERROR_COLLECTOR_COUNT()) { gb_exit(1); } } @@ -407,7 +407,7 @@ gb_internal void error_no_newline_va(TokenPos const &pos, char const *fmt, va_li error_out_va(fmt, va); } mutex_unlock(&global_error_collector.mutex); - if (global_error_collector.count > MAX_ERROR_COLLECTOR_COUNT) { + if (global_error_collector.count > MAX_ERROR_COLLECTOR_COUNT()) { gb_exit(1); } } @@ -431,7 +431,7 @@ gb_internal void syntax_error_va(TokenPos const &pos, TokenPos end, char const * } mutex_unlock(&global_error_collector.mutex); - if (global_error_collector.count > MAX_ERROR_COLLECTOR_COUNT) { + if (global_error_collector.count > MAX_ERROR_COLLECTOR_COUNT()) { gb_exit(1); } } diff --git a/src/main.cpp b/src/main.cpp index 5ab6ed66c..33ee65c6b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -691,6 +691,7 @@ enum BuildFlagKind { BuildFlag_TerseErrors, BuildFlag_VerboseErrors, BuildFlag_ErrorPosStyle, + BuildFlag_MaxErrorCount, // internal use only BuildFlag_InternalIgnoreLazy, @@ -866,6 +867,7 @@ gb_internal bool parse_build_flags(Array args) { add_flag(&build_flags, BuildFlag_TerseErrors, str_lit("terse-errors"), BuildFlagParam_None, Command_all); add_flag(&build_flags, BuildFlag_VerboseErrors, str_lit("verbose-errors"), BuildFlagParam_None, Command_all); add_flag(&build_flags, BuildFlag_ErrorPosStyle, str_lit("error-pos-style"), BuildFlagParam_String, Command_all); + add_flag(&build_flags, BuildFlag_MaxErrorCount, str_lit("max-error-count"), BuildFlagParam_Integer, Command_all); add_flag(&build_flags, BuildFlag_InternalIgnoreLazy, str_lit("internal-ignore-lazy"), BuildFlagParam_None, Command_all); add_flag(&build_flags, BuildFlag_InternalIgnoreLLVMBuild, str_lit("internal-ignore-llvm-build"),BuildFlagParam_None, Command_all); @@ -1522,6 +1524,17 @@ gb_internal bool parse_build_flags(Array args) { } break; + case BuildFlag_MaxErrorCount: { + i64 count = big_int_to_i64(&value.value_integer); + if (count <= 0) { + gb_printf_err("-%.*s must be greater than 0", LIT(bf.name)); + bad_flags = true; + } else { + build_context.max_error_count = cast(isize)count; + } + break; + } + case BuildFlag_InternalIgnoreLazy: build_context.ignore_lazy = true; break; @@ -2212,8 +2225,21 @@ gb_internal void print_show_help(String const arg0, String const &command) { print_usage_line(2, "Treats warning messages as error messages"); print_usage_line(0, ""); - print_usage_line(1, "-verbose-errors"); - print_usage_line(2, "Prints verbose error messages showing the code on that line and the location in that line"); + print_usage_line(1, "-terse-errors"); + print_usage_line(2, "Prints a terse error message without showing the code on that line and the location in that line"); + print_usage_line(0, ""); + + print_usage_line(1, "-error-pos-style:"); + print_usage_line(2, "Options are 'unix', 'odin' and 'default' (odin)"); + print_usage_line(2, "'odin' file/path(45:3)"); + print_usage_line(2, "'unix' file/path:45:3:"); + print_usage_line(0, ""); + + + print_usage_line(1, "-max-error-count:"); + print_usage_line(2, "Set the maximum number of errors that can be displayed before the compiler terminates"); + print_usage_line(2, "Must be an integer >0"); + print_usage_line(2, "If not set, the default max error count is %d", DEFAULT_MAX_ERROR_COLLECTOR_COUNT); print_usage_line(0, ""); print_usage_line(1, "-foreign-error-procedures"); From 219343f3c0e1bdf6130af5d07baa6c929379dfe1 Mon Sep 17 00:00:00 2001 From: Jon Lipstate Date: Tue, 4 Apr 2023 11:47:26 -0700 Subject: [PATCH 24/50] remove keyedevent --- core/sys/windows/kernel32.odin | 2 -- 1 file changed, 2 deletions(-) diff --git a/core/sys/windows/kernel32.odin b/core/sys/windows/kernel32.odin index c0f09ef2a..c06d49ff3 100644 --- a/core/sys/windows/kernel32.odin +++ b/core/sys/windows/kernel32.odin @@ -415,8 +415,6 @@ foreign kernel32 { PostQueuedCompletionStatus :: proc(CompletionPort: HANDLE, dwNumberOfBytesTransferred: DWORD, dwCompletionKey: c_ulong, lpOverlapped: ^OVERLAPPED) -> BOOL --- // [MS-Docs] (https://learn.microsoft.com/en-us/windows/win32/api/sysinfoapi/nf-sysinfoapi-gettickcount64) GetTickCount64 :: proc() -> u64 --- - // [MS-Docs](https://github.com/mic101/windows/blob/master/WRK-v1.2/base/ntos/ex/keyedevent.c) - NtCreateKeyedEvent :: proc(KeyedEventHandle: ^HANDLE, DesiredAccess: ACCESS_MASK, ObjectAttributes: OBJECT_ATTRIBUTES, Flags: u32) -> NTSTATUS --- // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/handleapi/nf-handleapi-gethandleinformation) GetHandleInformation :: proc(hObject: HANDLE, lpdwFlags: ^DWORD) -> BOOL --- //[MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/ioapiset/nf-ioapiset-getqueuedcompletionstatus) From 6c943722f3033e27ffaf078a2a5024a16c805337 Mon Sep 17 00:00:00 2001 From: Jon Lipstate Date: Tue, 4 Apr 2023 22:00:22 -0700 Subject: [PATCH 25/50] add non Ex variant --- core/sys/windows/kernel32.odin | 2 ++ 1 file changed, 2 insertions(+) diff --git a/core/sys/windows/kernel32.odin b/core/sys/windows/kernel32.odin index c06d49ff3..d7e67acc5 100644 --- a/core/sys/windows/kernel32.odin +++ b/core/sys/windows/kernel32.odin @@ -409,6 +409,8 @@ foreign kernel32 { SetFileCompletionNotificationModes :: proc(FileHandle: HANDLE, Flags: u8) -> BOOL --- // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/ioapiset/nf-ioapiset-createiocompletionport) CreateIoCompletionPort :: proc(FileHandle: HANDLE, ExistingCompletionPort: HANDLE, CompletionKey: uintptr, NumberOfConcurrentThreads: DWORD) -> HANDLE --- + //[MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/ioapiset/nf-ioapiset-getqueuedcompletionstatus) + GetQueuedCompletionStatus :: proc(CompletionPort: HANDLE, lpNumberOfBytesTransferred: ^DWORD, lpCompletionKey: uintptr, lpOverlapped: ^^OVERLAPPED, dwMilliseconds: DWORD) -> BOOL --- // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/ioapiset/nf-ioapiset-getqueuedcompletionstatusex) GetQueuedCompletionStatusEx :: proc(CompletionPort: HANDLE, lpCompletionPortEntries: ^OVERLAPPED_ENTRY, ulCount: c_ulong, ulNumEntriesRemoved: ^c_ulong, dwMilliseconds: DWORD, fAlertable: BOOL) -> BOOL --- // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/ioapiset/nf-ioapiset-postqueuedcompletionstatus) From 9a8c69d1c060f1aa72e058e325efbe18022f0ab6 Mon Sep 17 00:00:00 2001 From: Jon Lipstate Date: Tue, 4 Apr 2023 22:01:44 -0700 Subject: [PATCH 26/50] remove duplicate --- core/sys/windows/kernel32.odin | 901 +++++++++------------------------ 1 file changed, 239 insertions(+), 662 deletions(-) diff --git a/core/sys/windows/kernel32.odin b/core/sys/windows/kernel32.odin index d7e67acc5..7bd795ac2 100644 --- a/core/sys/windows/kernel32.odin +++ b/core/sys/windows/kernel32.odin @@ -3,75 +3,53 @@ package sys_windows foreign import kernel32 "system:Kernel32.lib" -FOREGROUND_BLUE :: WORD(0x0001) -FOREGROUND_GREEN :: WORD(0x0002) -FOREGROUND_RED :: WORD(0x0004) -FOREGROUND_INTENSITY :: WORD(0x0008) -BACKGROUND_BLUE :: WORD(0x0010) -BACKGROUND_GREEN :: WORD(0x0020) -BACKGROUND_RED :: WORD(0x0040) -BACKGROUND_INTENSITY :: WORD(0x0080) -COMMON_LVB_LEADING_BYTE :: WORD(0x0100) -COMMON_LVB_TRAILING_BYTE :: WORD(0x0200) +FOREGROUND_BLUE :: WORD(0x0001) +FOREGROUND_GREEN :: WORD(0x0002) +FOREGROUND_RED :: WORD(0x0004) +FOREGROUND_INTENSITY :: WORD(0x0008) +BACKGROUND_BLUE :: WORD(0x0010) +BACKGROUND_GREEN :: WORD(0x0020) +BACKGROUND_RED :: WORD(0x0040) +BACKGROUND_INTENSITY :: WORD(0x0080) +COMMON_LVB_LEADING_BYTE :: WORD(0x0100) +COMMON_LVB_TRAILING_BYTE :: WORD(0x0200) COMMON_LVB_GRID_HORIZONTAL :: WORD(0x0400) -COMMON_LVB_GRID_LVERTICAL :: WORD(0x0800) -COMMON_LVB_GRID_RVERTICAL :: WORD(0x1000) -COMMON_LVB_REVERSE_VIDEO :: WORD(0x4000) -COMMON_LVB_UNDERSCORE :: WORD(0x8000) -COMMON_LVB_SBCSDBCS :: WORD(0x0300) +COMMON_LVB_GRID_LVERTICAL :: WORD(0x0800) +COMMON_LVB_GRID_RVERTICAL :: WORD(0x1000) +COMMON_LVB_REVERSE_VIDEO :: WORD(0x4000) +COMMON_LVB_UNDERSCORE :: WORD(0x8000) +COMMON_LVB_SBCSDBCS :: WORD(0x0300) -@(default_calling_convention="stdcall") +@(default_calling_convention = "stdcall") foreign kernel32 { OutputDebugStringA :: proc(lpOutputString: LPCSTR) --- // The only A thing that is allowed OutputDebugStringW :: proc(lpOutputString: LPCWSTR) --- - ReadConsoleW :: proc(hConsoleInput: HANDLE, - lpBuffer: LPVOID, - nNumberOfCharsToRead: DWORD, - lpNumberOfCharsRead: LPDWORD, - pInputControl: PCONSOLE_READCONSOLE_CONTROL) -> BOOL --- + ReadConsoleW :: proc(hConsoleInput: HANDLE, lpBuffer: LPVOID, nNumberOfCharsToRead: DWORD, lpNumberOfCharsRead: LPDWORD, pInputControl: PCONSOLE_READCONSOLE_CONTROL) -> BOOL --- - WriteConsoleW :: proc(hConsoleOutput: HANDLE, - lpBuffer: LPCVOID, - nNumberOfCharsToWrite: DWORD, - lpNumberOfCharsWritten: LPDWORD, - lpReserved: LPVOID) -> BOOL --- + WriteConsoleW :: proc(hConsoleOutput: HANDLE, lpBuffer: LPCVOID, nNumberOfCharsToWrite: DWORD, lpNumberOfCharsWritten: LPDWORD, lpReserved: LPVOID) -> BOOL --- - GetConsoleMode :: proc(hConsoleHandle: HANDLE, - lpMode: LPDWORD) -> BOOL --- - SetConsoleMode :: proc(hConsoleHandle: HANDLE, - dwMode: DWORD) -> BOOL --- - SetConsoleCursorPosition :: proc(hConsoleHandle: HANDLE, - dwCursorPosition: COORD) -> BOOL --- - SetConsoleTextAttribute :: proc(hConsoleOutput: HANDLE, - wAttributes: WORD) -> BOOL --- + GetConsoleMode :: proc(hConsoleHandle: HANDLE, lpMode: LPDWORD) -> BOOL --- + SetConsoleMode :: proc(hConsoleHandle: HANDLE, dwMode: DWORD) -> BOOL --- + SetConsoleCursorPosition :: proc(hConsoleHandle: HANDLE, dwCursorPosition: COORD) -> BOOL --- + SetConsoleTextAttribute :: proc(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL --- SetConsoleOutputCP :: proc(wCodePageID: UINT) -> BOOL --- - + GetFileInformationByHandle :: proc(hFile: HANDLE, lpFileInformation: LPBY_HANDLE_FILE_INFORMATION) -> BOOL --- - SetHandleInformation :: proc(hObject: HANDLE, - dwMask: DWORD, - dwFlags: DWORD) -> BOOL --- - SetFileInformationByHandle :: proc(hFile: HANDLE, - FileInformationClass: FILE_INFO_BY_HANDLE_CLASS, - lpFileInformation: LPVOID, - dwBufferSize: DWORD) -> BOOL --- + SetHandleInformation :: proc(hObject: HANDLE, dwMask: DWORD, dwFlags: DWORD) -> BOOL --- + SetFileInformationByHandle :: proc(hFile: HANDLE, FileInformationClass: FILE_INFO_BY_HANDLE_CLASS, lpFileInformation: LPVOID, dwBufferSize: DWORD) -> BOOL --- AddVectoredExceptionHandler :: proc(FirstHandler: ULONG, VectoredHandler: PVECTORED_EXCEPTION_HANDLER) -> LPVOID --- - AddVectoredContinueHandler :: proc(FirstHandler: ULONG, VectoredHandler: PVECTORED_EXCEPTION_HANDLER) -> LPVOID --- - RemoveVectoredExceptionHandler :: proc(Handle: LPVOID) -> DWORD --- - RemoveVectoredContinueHandler :: proc(Handle: LPVOID) -> DWORD --- + AddVectoredContinueHandler :: proc(FirstHandler: ULONG, VectoredHandler: PVECTORED_EXCEPTION_HANDLER) -> LPVOID --- + RemoveVectoredExceptionHandler :: proc(Handle: LPVOID) -> DWORD --- + RemoveVectoredContinueHandler :: proc(Handle: LPVOID) -> DWORD --- RaiseException :: proc(dwExceptionCode, dwExceptionFlags, nNumberOfArguments: DWORD, lpArguments: ^ULONG_PTR) -> ! --- - CreateHardLinkW :: proc(lpSymlinkFileName: LPCWSTR, - lpTargetFileName: LPCWSTR, - lpSecurityAttributes: LPSECURITY_ATTRIBUTES) -> BOOL --- + CreateHardLinkW :: proc(lpSymlinkFileName: LPCWSTR, lpTargetFileName: LPCWSTR, lpSecurityAttributes: LPSECURITY_ATTRIBUTES) -> BOOL --- - GetFileInformationByHandleEx :: proc(hFile: HANDLE, - fileInfoClass: FILE_INFO_BY_HANDLE_CLASS, - lpFileInformation: LPVOID, - dwBufferSize: DWORD) -> BOOL --- + GetFileInformationByHandleEx :: proc(hFile: HANDLE, fileInfoClass: FILE_INFO_BY_HANDLE_CLASS, lpFileInformation: LPVOID, dwBufferSize: DWORD) -> BOOL --- InitializeCriticalSection :: proc(CriticalSection: ^CRITICAL_SECTION) --- InitializeCriticalSectionAndSpinCount :: proc(CriticalSection: ^CRITICAL_SECTION, dwSpinCount: DWORD) -> BOOL --- @@ -89,42 +67,12 @@ foreign kernel32 { GetCurrentProcessId :: proc() -> DWORD --- GetCurrentThread :: proc() -> HANDLE --- GetCurrentThreadId :: proc() -> DWORD --- - GetProcessTimes :: proc( - hProcess: HANDLE, - lpCreationTime: LPFILETIME, - lpExitTime: LPFILETIME, - lpKernelTime: LPFILETIME, - lpUserTime: LPFILETIME, - ) -> BOOL --- + GetProcessTimes :: proc(hProcess: HANDLE, lpCreationTime: LPFILETIME, lpExitTime: LPFILETIME, lpKernelTime: LPFILETIME, lpUserTime: LPFILETIME) -> BOOL --- GetStdHandle :: proc(which: DWORD) -> HANDLE --- ExitProcess :: proc(uExitCode: c_uint) -> ! --- - DeviceIoControl :: proc( - hDevice: HANDLE, - dwIoControlCode: DWORD, - lpInBuffer: LPVOID, - nInBufferSize: DWORD, - lpOutBuffer: LPVOID, - nOutBufferSize: DWORD, - lpBytesReturned: LPDWORD, - lpOverlapped: LPOVERLAPPED, - ) -> BOOL --- - CreateThread :: proc( - lpThreadAttributes: LPSECURITY_ATTRIBUTES, - dwStackSize: SIZE_T, - lpStartAddress: proc "stdcall" (rawptr) -> DWORD, - lpParameter: LPVOID, - dwCreationFlags: DWORD, - lpThreadId: LPDWORD, - ) -> HANDLE --- - CreateRemoteThread :: proc( - hProcess: HANDLE, - lpThreadAttributes: LPSECURITY_ATTRIBUTES, - dwStackSize: SIZE_T, - lpStartAddress: proc "stdcall" (rawptr) -> DWORD, - lpParameter: LPVOID, - dwCreationFlags: DWORD, - lpThreadId: LPDWORD, - ) -> HANDLE --- + DeviceIoControl :: proc(hDevice: HANDLE, dwIoControlCode: DWORD, lpInBuffer: LPVOID, nInBufferSize: DWORD, lpOutBuffer: LPVOID, nOutBufferSize: DWORD, lpBytesReturned: LPDWORD, lpOverlapped: LPOVERLAPPED) -> BOOL --- + CreateThread :: proc(lpThreadAttributes: LPSECURITY_ATTRIBUTES, dwStackSize: SIZE_T, lpStartAddress: proc "stdcall" (_: rawptr) -> DWORD, lpParameter: LPVOID, dwCreationFlags: DWORD, lpThreadId: LPDWORD) -> HANDLE --- + CreateRemoteThread :: proc(hProcess: HANDLE, lpThreadAttributes: LPSECURITY_ATTRIBUTES, dwStackSize: SIZE_T, lpStartAddress: proc "stdcall" (_: rawptr) -> DWORD, lpParameter: LPVOID, dwCreationFlags: DWORD, lpThreadId: LPDWORD) -> HANDLE --- SwitchToThread :: proc() -> BOOL --- ResumeThread :: proc(thread: HANDLE) -> DWORD --- GetThreadPriority :: proc(thread: HANDLE) -> c_int --- @@ -135,46 +83,14 @@ foreign kernel32 { CreateSemaphoreW :: proc(attributes: LPSECURITY_ATTRIBUTES, initial_count, maximum_count: LONG, name: LPCWSTR) -> HANDLE --- ReleaseSemaphore :: proc(semaphore: HANDLE, release_count: LONG, previous_count: ^LONG) -> BOOL --- - CreateWaitableTimerW :: proc( - lpTimerAttributes: LPSECURITY_ATTRIBUTES, - bManualReset: BOOL, - lpTimerName: LPCWSTR, - ) -> HANDLE --- - CreateWaitableTimerExW :: proc( - lpTimerAttributes: LPSECURITY_ATTRIBUTES, - lpTimerName: LPCWSTR, - dwFlags: DWORD, - dwDesiredAccess: DWORD, - ) -> HANDLE --- - SetWaitableTimerEx :: proc( - hTimer: HANDLE, - lpDueTime: ^LARGE_INTEGER, - lPeriod: LONG, - pfnCompletionRoutine: PTIMERAPCROUTINE, - lpArgToCompletionRoutine: LPVOID, - WakeContext: PREASON_CONTEXT, - TolerableDelay: ULONG, - ) -> BOOL --- + CreateWaitableTimerW :: proc(lpTimerAttributes: LPSECURITY_ATTRIBUTES, bManualReset: BOOL, lpTimerName: LPCWSTR) -> HANDLE --- + CreateWaitableTimerExW :: proc(lpTimerAttributes: LPSECURITY_ATTRIBUTES, lpTimerName: LPCWSTR, dwFlags: DWORD, dwDesiredAccess: DWORD) -> HANDLE --- + SetWaitableTimerEx :: proc(hTimer: HANDLE, lpDueTime: ^LARGE_INTEGER, lPeriod: LONG, pfnCompletionRoutine: PTIMERAPCROUTINE, lpArgToCompletionRoutine: LPVOID, WakeContext: PREASON_CONTEXT, TolerableDelay: ULONG) -> BOOL --- WaitForSingleObject :: proc(hHandle: HANDLE, dwMilliseconds: DWORD) -> DWORD --- Sleep :: proc(dwMilliseconds: DWORD) --- GetProcessId :: proc(handle: HANDLE) -> DWORD --- - CopyFileExW :: proc( - lpExistingFileName: LPCWSTR, - lpNewFileName: LPCWSTR, - lpProgressRoutine: LPPROGRESS_ROUTINE, - lpData: LPVOID, - pbCancel: LPBOOL, - dwCopyFlags: DWORD, - ) -> BOOL --- - FormatMessageW :: proc( - flags: DWORD, - lpSrc: LPVOID, - msgId: DWORD, - langId: DWORD, - buf: LPWSTR, - nsize: DWORD, - args: rawptr, - ) -> DWORD --- + CopyFileExW :: proc(lpExistingFileName: LPCWSTR, lpNewFileName: LPCWSTR, lpProgressRoutine: LPPROGRESS_ROUTINE, lpData: LPVOID, pbCancel: LPBOOL, dwCopyFlags: DWORD) -> BOOL --- + FormatMessageW :: proc(flags: DWORD, lpSrc: LPVOID, msgId: DWORD, langId: DWORD, buf: LPWSTR, nsize: DWORD, args: rawptr) -> DWORD --- TlsAlloc :: proc() -> DWORD --- TlsFree :: proc(dwTlsIndex: DWORD) -> BOOL --- TlsGetValue :: proc(dwTlsIndex: DWORD) -> LPVOID --- @@ -184,89 +100,26 @@ foreign kernel32 { QueryPerformanceCounter :: proc(lpPerformanceCount: ^LARGE_INTEGER) -> BOOL --- GetExitCodeProcess :: proc(hProcess: HANDLE, lpExitCode: LPDWORD) -> BOOL --- TerminateProcess :: proc(hProcess: HANDLE, uExitCode: UINT) -> BOOL --- - CreateProcessW :: proc( - lpApplicationName: LPCWSTR, - lpCommandLine: LPWSTR, - lpProcessAttributes: LPSECURITY_ATTRIBUTES, - lpThreadAttributes: LPSECURITY_ATTRIBUTES, - bInheritHandles: BOOL, - dwCreationFlags: DWORD, - lpEnvironment: LPVOID, - lpCurrentDirectory: LPCWSTR, - lpStartupInfo: LPSTARTUPINFO, - lpProcessInformation: LPPROCESS_INFORMATION, - ) -> BOOL --- + CreateProcessW :: proc(lpApplicationName: LPCWSTR, lpCommandLine: LPWSTR, lpProcessAttributes: LPSECURITY_ATTRIBUTES, lpThreadAttributes: LPSECURITY_ATTRIBUTES, bInheritHandles: BOOL, dwCreationFlags: DWORD, lpEnvironment: LPVOID, lpCurrentDirectory: LPCWSTR, lpStartupInfo: LPSTARTUPINFO, lpProcessInformation: LPPROCESS_INFORMATION) -> BOOL --- GetEnvironmentVariableW :: proc(n: LPCWSTR, v: LPWSTR, nsize: DWORD) -> DWORD --- SetEnvironmentVariableW :: proc(n: LPCWSTR, v: LPCWSTR) -> BOOL --- GetEnvironmentStringsW :: proc() -> LPWCH --- FreeEnvironmentStringsW :: proc(env_ptr: LPWCH) -> BOOL --- GetModuleFileNameW :: proc(hModule: HMODULE, lpFilename: LPWSTR, nSize: DWORD) -> DWORD --- - CreateDirectoryW :: proc( - lpPathName: LPCWSTR, - lpSecurityAttributes: LPSECURITY_ATTRIBUTES, - ) -> BOOL --- + CreateDirectoryW :: proc(lpPathName: LPCWSTR, lpSecurityAttributes: LPSECURITY_ATTRIBUTES) -> BOOL --- DeleteFileW :: proc(lpPathName: LPCWSTR) -> BOOL --- GetCurrentDirectoryW :: proc(nBufferLength: DWORD, lpBuffer: LPWSTR) -> DWORD --- SetCurrentDirectoryW :: proc(lpPathName: LPCWSTR) -> BOOL --- - WideCharToMultiByte :: proc( - CodePage: UINT, - dwFlags: DWORD, - lpWideCharStr: LPCWSTR, - cchWideChar: c_int, - lpMultiByteStr: LPSTR, - cbMultiByte: c_int, - lpDefaultChar: LPCSTR, - lpUsedDefaultChar: LPBOOL, - ) -> c_int --- - MultiByteToWideChar :: proc( - CodePage: UINT, - dwFlags: DWORD, - lpMultiByteStr: LPSTR, - cbMultiByte: c_int, - lpWideCharStr: LPWSTR, - cchWideChar: c_int, - ) -> c_int --- - DuplicateHandle :: proc( - hSourceProcessHandle: HANDLE, - hSourceHandle: HANDLE, - hTargetProcessHandle: HANDLE, - lpTargetHandle: LPHANDLE, - dwDesiredAccess: DWORD, - bInheritHandle: BOOL, - dwOptions: DWORD, - ) -> BOOL --- - ReadFile :: proc( - hFile: HANDLE, - lpBuffer: LPVOID, - nNumberOfBytesToRead: DWORD, - lpNumberOfBytesRead: LPDWORD, - lpOverlapped: LPOVERLAPPED, - ) -> BOOL --- - WriteFile :: proc( - hFile: HANDLE, - lpBuffer: LPVOID, - nNumberOfBytesToWrite: DWORD, - lpNumberOfBytesWritten: LPDWORD, - lpOverlapped: LPOVERLAPPED, - ) -> BOOL --- + WideCharToMultiByte :: proc(CodePage: UINT, dwFlags: DWORD, lpWideCharStr: LPCWSTR, cchWideChar: c_int, lpMultiByteStr: LPSTR, cbMultiByte: c_int, lpDefaultChar: LPCSTR, lpUsedDefaultChar: LPBOOL) -> c_int --- + MultiByteToWideChar :: proc(CodePage: UINT, dwFlags: DWORD, lpMultiByteStr: LPSTR, cbMultiByte: c_int, lpWideCharStr: LPWSTR, cchWideChar: c_int) -> c_int --- + DuplicateHandle :: proc(hSourceProcessHandle: HANDLE, hSourceHandle: HANDLE, hTargetProcessHandle: HANDLE, lpTargetHandle: LPHANDLE, dwDesiredAccess: DWORD, bInheritHandle: BOOL, dwOptions: DWORD) -> BOOL --- + ReadFile :: proc(hFile: HANDLE, lpBuffer: LPVOID, nNumberOfBytesToRead: DWORD, lpNumberOfBytesRead: LPDWORD, lpOverlapped: LPOVERLAPPED) -> BOOL --- + WriteFile :: proc(hFile: HANDLE, lpBuffer: LPVOID, nNumberOfBytesToWrite: DWORD, lpNumberOfBytesWritten: LPDWORD, lpOverlapped: LPOVERLAPPED) -> BOOL --- CloseHandle :: proc(hObject: HANDLE) -> BOOL --- MoveFileExW :: proc(lpExistingFileName: LPCWSTR, lpNewFileName: LPCWSTR, dwFlags: DWORD) -> BOOL --- - SetFilePointerEx :: proc( - hFile: HANDLE, - liDistanceToMove: LARGE_INTEGER, - lpNewFilePointer: PLARGE_INTEGER, - dwMoveMethod: DWORD, - ) -> BOOL --- + SetFilePointerEx :: proc(hFile: HANDLE, liDistanceToMove: LARGE_INTEGER, lpNewFilePointer: PLARGE_INTEGER, dwMoveMethod: DWORD) -> BOOL --- FlushFileBuffers :: proc(hFile: HANDLE) -> BOOL --- - CreateFileW :: proc( - lpFileName: LPCWSTR, - dwDesiredAccess: DWORD, - dwShareMode: DWORD, - lpSecurityAttributes: LPSECURITY_ATTRIBUTES, - dwCreationDisposition: DWORD, - dwFlagsAndAttributes: DWORD, - hTemplateFile: HANDLE, - ) -> HANDLE --- + CreateFileW :: proc(lpFileName: LPCWSTR, dwDesiredAccess: DWORD, dwShareMode: DWORD, lpSecurityAttributes: LPSECURITY_ATTRIBUTES, dwCreationDisposition: DWORD, dwFlagsAndAttributes: DWORD, hTemplateFile: HANDLE) -> HANDLE --- FindFirstFileW :: proc(fileName: LPCWSTR, findFileData: LPWIN32_FIND_DATAW) -> HANDLE --- FindNextFileW :: proc(findFile: HANDLE, findFileData: LPWIN32_FIND_DATAW) -> BOOL --- @@ -276,45 +129,14 @@ foreign kernel32 { GetSystemTimeAsFileTime :: proc(lpSystemTimeAsFileTime: LPFILETIME) --- GetSystemTimePreciseAsFileTime :: proc(lpSystemTimeAsFileTime: LPFILETIME) --- FileTimeToSystemTime :: proc(lpFileTime: ^FILETIME, lpSystemTime: ^SYSTEMTIME) -> BOOL --- - SystemTimeToTzSpecificLocalTime :: proc( - lpTimeZoneInformation: ^TIME_ZONE_INFORMATION, - lpUniversalTime: ^SYSTEMTIME, - lpLocalTime: ^SYSTEMTIME, - ) -> BOOL --- - SystemTimeToFileTime :: proc( - lpSystemTime: ^SYSTEMTIME, - lpFileTime: LPFILETIME, - ) -> BOOL --- - CreateEventW :: proc( - lpEventAttributes: LPSECURITY_ATTRIBUTES, - bManualReset: BOOL, - bInitialState: BOOL, - lpName: LPCWSTR, - ) -> HANDLE --- + SystemTimeToTzSpecificLocalTime :: proc(lpTimeZoneInformation: ^TIME_ZONE_INFORMATION, lpUniversalTime: ^SYSTEMTIME, lpLocalTime: ^SYSTEMTIME) -> BOOL --- + SystemTimeToFileTime :: proc(lpSystemTime: ^SYSTEMTIME, lpFileTime: LPFILETIME) -> BOOL --- + CreateEventW :: proc(lpEventAttributes: LPSECURITY_ATTRIBUTES, bManualReset: BOOL, bInitialState: BOOL, lpName: LPCWSTR) -> HANDLE --- ResetEvent :: proc(hEvent: HANDLE) -> BOOL --- - WaitForMultipleObjects :: proc( - nCount: DWORD, - lpHandles: ^HANDLE, - bWaitAll: BOOL, - dwMilliseconds: DWORD, - ) -> DWORD --- - CreateNamedPipeW :: proc( - lpName: LPCWSTR, - dwOpenMode: DWORD, - dwPipeMode: DWORD, - nMaxInstances: DWORD, - nOutBufferSize: DWORD, - nInBufferSize: DWORD, - nDefaultTimeOut: DWORD, - lpSecurityAttributes: LPSECURITY_ATTRIBUTES, - ) -> HANDLE --- + WaitForMultipleObjects :: proc(nCount: DWORD, lpHandles: ^HANDLE, bWaitAll: BOOL, dwMilliseconds: DWORD) -> DWORD --- + CreateNamedPipeW :: proc(lpName: LPCWSTR, dwOpenMode: DWORD, dwPipeMode: DWORD, nMaxInstances: DWORD, nOutBufferSize: DWORD, nInBufferSize: DWORD, nDefaultTimeOut: DWORD, lpSecurityAttributes: LPSECURITY_ATTRIBUTES) -> HANDLE --- CancelIo :: proc(handle: HANDLE) -> BOOL --- - GetOverlappedResult :: proc( - hFile: HANDLE, - lpOverlapped: LPOVERLAPPED, - lpNumberOfBytesTransferred: LPDWORD, - bWait: BOOL, - ) -> BOOL --- + GetOverlappedResult :: proc(hFile: HANDLE, lpOverlapped: LPOVERLAPPED, lpNumberOfBytesTransferred: LPDWORD, bWait: BOOL) -> BOOL --- GetProcessHeap :: proc() -> HANDLE --- HeapAlloc :: proc(hHeap: HANDLE, dwFlags: DWORD, dwBytes: SIZE_T) -> LPVOID --- HeapReAlloc :: proc(hHeap: HANDLE, dwFlags: DWORD, lpMem: LPVOID, dwBytes: SIZE_T) -> LPVOID --- @@ -325,43 +147,30 @@ foreign kernel32 { LocalFree :: proc(mem: LPVOID) -> LPVOID --- - ReadDirectoryChangesW :: proc( - hDirectory: HANDLE, - lpBuffer: LPVOID, - nBufferLength: DWORD, - bWatchSubtree: BOOL, - dwNotifyFilter: DWORD, - lpBytesReturned: LPDWORD, - lpOverlapped: LPOVERLAPPED, - lpCompletionRoutine: LPOVERLAPPED_COMPLETION_ROUTINE, - ) -> BOOL --- - FindFirstChangeNotificationW :: proc( - lpPathName: LPWSTR, - bWatchSubtree: BOOL, - dwNotifyFilter: DWORD, - ) -> HANDLE --- + ReadDirectoryChangesW :: proc(hDirectory: HANDLE, lpBuffer: LPVOID, nBufferLength: DWORD, bWatchSubtree: BOOL, dwNotifyFilter: DWORD, lpBytesReturned: LPDWORD, lpOverlapped: LPOVERLAPPED, lpCompletionRoutine: LPOVERLAPPED_COMPLETION_ROUTINE) -> BOOL --- + FindFirstChangeNotificationW :: proc(lpPathName: LPWSTR, bWatchSubtree: BOOL, dwNotifyFilter: DWORD) -> HANDLE --- FindNextChangeNotification :: proc(hChangeHandle: HANDLE) -> BOOL --- FindCloseChangeNotification :: proc(hChangeHandle: HANDLE) -> BOOL --- - InitializeSRWLock :: proc(SRWLock: ^SRWLOCK) --- - AcquireSRWLockExclusive :: proc(SRWLock: ^SRWLOCK) --- + InitializeSRWLock :: proc(SRWLock: ^SRWLOCK) --- + AcquireSRWLockExclusive :: proc(SRWLock: ^SRWLOCK) --- TryAcquireSRWLockExclusive :: proc(SRWLock: ^SRWLOCK) -> BOOLEAN --- - ReleaseSRWLockExclusive :: proc(SRWLock: ^SRWLOCK) --- - AcquireSRWLockShared :: proc(SRWLock: ^SRWLOCK) --- + ReleaseSRWLockExclusive :: proc(SRWLock: ^SRWLOCK) --- + AcquireSRWLockShared :: proc(SRWLock: ^SRWLOCK) --- TryAcquireSRWLockShared :: proc(SRWLock: ^SRWLOCK) -> BOOLEAN --- - ReleaseSRWLockShared :: proc(SRWLock: ^SRWLOCK) --- + ReleaseSRWLockShared :: proc(SRWLock: ^SRWLOCK) --- InitializeConditionVariable :: proc(ConditionVariable: ^CONDITION_VARIABLE) --- - WakeConditionVariable :: proc(ConditionVariable: ^CONDITION_VARIABLE) --- - WakeAllConditionVariable :: proc(ConditionVariable: ^CONDITION_VARIABLE) --- - SleepConditionVariableCS :: proc(ConditionVariable: ^CONDITION_VARIABLE, CriticalSection: ^CRITICAL_SECTION, dwMilliseconds: DWORD) -> BOOL --- - SleepConditionVariableSRW :: proc(ConditionVariable: ^CONDITION_VARIABLE, SRWLock: ^SRWLOCK, dwMilliseconds: DWORD, Flags: LONG) -> BOOL --- + WakeConditionVariable :: proc(ConditionVariable: ^CONDITION_VARIABLE) --- + WakeAllConditionVariable :: proc(ConditionVariable: ^CONDITION_VARIABLE) --- + SleepConditionVariableCS :: proc(ConditionVariable: ^CONDITION_VARIABLE, CriticalSection: ^CRITICAL_SECTION, dwMilliseconds: DWORD) -> BOOL --- + SleepConditionVariableSRW :: proc(ConditionVariable: ^CONDITION_VARIABLE, SRWLock: ^SRWLOCK, dwMilliseconds: DWORD, Flags: LONG) -> BOOL --- GetFileType :: proc(file_handle: HANDLE) -> DWORD --- SetFilePointer :: proc(file_handle: HANDLE, distance_to_move: LONG, distance_to_move_high: ^LONG, move_method: DWORD) -> DWORD --- GetFileSizeEx :: proc(file_handle: HANDLE, file_size: ^LARGE_INTEGER) -> BOOL --- - GetFileAttributesW :: proc(lpFileName: LPCWSTR) -> DWORD --- + GetFileAttributesW :: proc(lpFileName: LPCWSTR) -> DWORD --- GetFileAttributesExW :: proc(lpFileName: LPCWSTR, fInfoLevelId: GET_FILEEX_INFO_LEVELS, lpFileInformation: LPVOID) -> BOOL --- GetSystemInfo :: proc(system_info: ^SYSTEM_INFO) --- GetVersionExW :: proc(osvi: ^OSVERSIONINFOEXW) --- @@ -371,8 +180,8 @@ foreign kernel32 { GetProcAddress :: proc(h: HMODULE, c_str: LPCSTR) -> rawptr --- - GetFullPathNameW :: proc(filename: LPCWSTR, buffer_length: DWORD, buffer: LPCWSTR, file_part: ^LPCWSTR) -> DWORD --- - GetLongPathNameW :: proc(short, long: LPCWSTR, len: DWORD) -> DWORD --- + GetFullPathNameW :: proc(filename: LPCWSTR, buffer_length: DWORD, buffer: LPCWSTR, file_part: ^LPCWSTR) -> DWORD --- + GetLongPathNameW :: proc(short, long: LPCWSTR, len: DWORD) -> DWORD --- GetShortPathNameW :: proc(long, short: LPCWSTR, len: DWORD) -> DWORD --- GetFinalPathNameByHandleW :: proc(hFile: HANDLE, lpszFilePath: LPCWSTR, cchFilePath: DWORD, dwFlags: DWORD) -> DWORD --- @@ -382,9 +191,9 @@ foreign kernel32 { CreatePipe :: proc(hReadPipe, hWritePipe: ^HANDLE, lpPipeAttributes: LPSECURITY_ATTRIBUTES, nSize: DWORD) -> BOOL --- - ConnectNamedPipe :: proc(hNamedPipe: HANDLE, lpOverlapped: LPOVERLAPPED,) -> BOOL --- - DisconnectNamedPipe :: proc(hNamedPipe: HANDLE,) -> BOOL --- - WaitNamedPipeW :: proc(lpNamedPipeName: LPCWSTR, nTimeOut: DWORD,) -> BOOL --- + ConnectNamedPipe :: proc(hNamedPipe: HANDLE, lpOverlapped: LPOVERLAPPED) -> BOOL --- + DisconnectNamedPipe :: proc(hNamedPipe: HANDLE) -> BOOL --- + WaitNamedPipeW :: proc(lpNamedPipeName: LPCWSTR, nTimeOut: DWORD) -> BOOL --- SetConsoleCtrlHandler :: proc(HandlerRoutine: PHANDLER_ROUTINE, Add: BOOL) -> BOOL --- GenerateConsoleCtrlEvent :: proc(dwCtrlEvent: DWORD, dwProcessGroupId: DWORD) -> BOOL --- @@ -392,16 +201,11 @@ foreign kernel32 { GetConsoleWindow :: proc() -> HWND --- GetConsoleScreenBufferInfo :: proc(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: PCONSOLE_SCREEN_BUFFER_INFO) -> BOOL --- SetConsoleScreenBufferSize :: proc(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL --- - SetConsoleWindowInfo :: proc(hConsoleOutput: HANDLE, bAbsolute : BOOL, lpConsoleWindow: ^SMALL_RECT) -> BOOL --- + SetConsoleWindowInfo :: proc(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: ^SMALL_RECT) -> BOOL --- GetConsoleCursorInfo :: proc(hConsoleOutput: HANDLE, lpConsoleCursorInfo: PCONSOLE_CURSOR_INFO) -> BOOL --- SetConsoleCursorInfo :: proc(hConsoleOutput: HANDLE, lpConsoleCursorInfo: PCONSOLE_CURSOR_INFO) -> BOOL --- - GetDiskFreeSpaceExW :: proc( - lpDirectoryName: LPCWSTR, - lpFreeBytesAvailableToCaller: PULARGE_INTEGER, - lpTotalNumberOfBytes: PULARGE_INTEGER, - lpTotalNumberOfFreeBytes: PULARGE_INTEGER, - ) -> BOOL --- + GetDiskFreeSpaceExW :: proc(lpDirectoryName: LPCWSTR, lpFreeBytesAvailableToCaller: PULARGE_INTEGER, lpTotalNumberOfBytes: PULARGE_INTEGER, lpTotalNumberOfFreeBytes: PULARGE_INTEGER) -> BOOL --- GetLogicalProcessorInformation :: proc(buffer: ^SYSTEM_LOGICAL_PROCESSOR_INFORMATION, returnedLength: PDWORD) -> BOOL --- @@ -419,197 +223,94 @@ foreign kernel32 { GetTickCount64 :: proc() -> u64 --- // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/handleapi/nf-handleapi-gethandleinformation) GetHandleInformation :: proc(hObject: HANDLE, lpdwFlags: ^DWORD) -> BOOL --- - //[MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/ioapiset/nf-ioapiset-getqueuedcompletionstatus) - GetQueuedCompletionStatus :: proc(CompletionPort: HANDLE, lpNumberOfBytesTransferred: ^DWORD, lpCompletionKey: uintptr, lpOverlapped: ^^OVERLAPPED, dwMilliseconds: DWORD) -> BOOL --- } -SECTION_QUERY :: DWORD(0x0001) -SECTION_MAP_WRITE :: DWORD(0x0002) -SECTION_MAP_READ :: DWORD(0x0004) -SECTION_MAP_EXECUTE :: DWORD(0x0008) -SECTION_EXTEND_SIZE :: DWORD(0x0010) -SECTION_ALL_ACCESS :: STANDARD_RIGHTS_REQUIRED | SECTION_QUERY | SECTION_MAP_WRITE | SECTION_MAP_READ | SECTION_MAP_EXECUTE | SECTION_EXTEND_SIZE +SECTION_QUERY :: DWORD(0x0001) +SECTION_MAP_WRITE :: DWORD(0x0002) +SECTION_MAP_READ :: DWORD(0x0004) +SECTION_MAP_EXECUTE :: DWORD(0x0008) +SECTION_EXTEND_SIZE :: DWORD(0x0010) +SECTION_ALL_ACCESS :: + STANDARD_RIGHTS_REQUIRED | + SECTION_QUERY | + SECTION_MAP_WRITE | + SECTION_MAP_READ | + SECTION_MAP_EXECUTE | + SECTION_EXTEND_SIZE SECTION_MAP_EXECUTE_EXPLICIT :: DWORD(0x0020) -FILE_MAP_WRITE :: SECTION_MAP_WRITE -FILE_MAP_READ :: SECTION_MAP_READ -FILE_MAP_ALL_ACCESS :: SECTION_ALL_ACCESS -FILE_MAP_EXECUTE :: SECTION_MAP_EXECUTE_EXPLICIT -FILE_MAP_COPY :: DWORD(0x00000001) -FILE_MAP_RESERVE :: DWORD(0x80000000) +FILE_MAP_WRITE :: SECTION_MAP_WRITE +FILE_MAP_READ :: SECTION_MAP_READ +FILE_MAP_ALL_ACCESS :: SECTION_ALL_ACCESS +FILE_MAP_EXECUTE :: SECTION_MAP_EXECUTE_EXPLICIT +FILE_MAP_COPY :: DWORD(0x00000001) +FILE_MAP_RESERVE :: DWORD(0x80000000) FILE_MAP_TARGETS_INVALID :: DWORD(0x40000000) -FILE_MAP_LARGE_PAGES :: DWORD(0x20000000) +FILE_MAP_LARGE_PAGES :: DWORD(0x20000000) -PAGE_NOACCESS :: 0x01 -PAGE_READONLY :: 0x02 -PAGE_READWRITE :: 0x04 -PAGE_WRITECOPY :: 0x08 -PAGE_EXECUTE :: 0x10 -PAGE_EXECUTE_READ :: 0x20 +PAGE_NOACCESS :: 0x01 +PAGE_READONLY :: 0x02 +PAGE_READWRITE :: 0x04 +PAGE_WRITECOPY :: 0x08 +PAGE_EXECUTE :: 0x10 +PAGE_EXECUTE_READ :: 0x20 PAGE_EXECUTE_READWRITE :: 0x40 PAGE_EXECUTE_WRITECOPY :: 0x80 -PAGE_GUARD :: 0x100 -PAGE_NOCACHE :: 0x200 -PAGE_WRITECOMBINE :: 0x400 +PAGE_GUARD :: 0x100 +PAGE_NOCACHE :: 0x200 +PAGE_WRITECOMBINE :: 0x400 MEMORY_BASIC_INFORMATION :: struct { - BaseAddress: PVOID, - AllocationBase: PVOID, + BaseAddress: PVOID, + AllocationBase: PVOID, AllocationProtect: DWORD, - PartitionId: WORD, - RegionSize: SIZE_T, - State: DWORD, - Protect: DWORD, - Type: DWORD, + PartitionId: WORD, + RegionSize: SIZE_T, + State: DWORD, + Protect: DWORD, + Type: DWORD, } PMEMORY_BASIC_INFORMATION :: ^MEMORY_BASIC_INFORMATION LPMEMORY_BASIC_INFORMATION :: ^MEMORY_BASIC_INFORMATION -MEM_COMMIT :: 0x1000 -MEM_RESERVE :: 0x2000 -MEM_DECOMMIT :: 0x4000 -MEM_RELEASE :: 0x8000 -MEM_FREE :: 0x10000 -MEM_PRIVATE :: 0x20000 -MEM_MAPPED :: 0x40000 -MEM_RESET :: 0x80000 -MEM_TOP_DOWN :: 0x100000 +MEM_COMMIT :: 0x1000 +MEM_RESERVE :: 0x2000 +MEM_DECOMMIT :: 0x4000 +MEM_RELEASE :: 0x8000 +MEM_FREE :: 0x10000 +MEM_PRIVATE :: 0x20000 +MEM_MAPPED :: 0x40000 +MEM_RESET :: 0x80000 +MEM_TOP_DOWN :: 0x100000 MEM_LARGE_PAGES :: 0x20000000 -MEM_4MB_PAGES :: 0x80000000 +MEM_4MB_PAGES :: 0x80000000 -@(default_calling_convention="stdcall") +@(default_calling_convention = "stdcall") foreign kernel32 { - VirtualAlloc :: proc( - lpAddress: LPVOID, - dwSize: SIZE_T, - flAllocationType: DWORD, - flProtect: DWORD, - ) -> LPVOID --- - VirtualProtect :: proc( - lpAddress: LPVOID, - dwSize: SIZE_T, - flNewProtect: DWORD, - lpflOldProtect: PDWORD, - ) -> BOOL --- - VirtualFree :: proc( - lpAddress: LPVOID, - dwSize: SIZE_T, - dwFreeType: DWORD, - ) -> BOOL --- - VirtualQuery :: proc( - lpAddress: LPCVOID, - lpBuffer: PMEMORY_BASIC_INFORMATION, - dwLength: SIZE_T, - ) -> SIZE_T --- - VirtualAllocEx :: proc( - hProcess: HANDLE, - lpAddress: LPVOID, - dwSize: SIZE_T, - flAllocationType: DWORD, - flProtect: DWORD, - ) -> LPVOID --- - VirtualFreeEx :: proc( - hProcess: HANDLE, - lpAddress: LPVOID, - dwSize: SIZE_T, - dwFreeType: DWORD, - ) -> BOOL --- - VirtualProtectEx :: proc( - hProcess: HANDLE, - lpAddress: LPVOID, - dwSize: SIZE_T, - flNewProtect: DWORD, - lpflOldProtect: PDWORD, - ) -> BOOL --- - VirtualQueryEx :: proc( - hProcess: HANDLE, - lpAddress: LPCVOID, - lpBuffer: PMEMORY_BASIC_INFORMATION, - dwLength: SIZE_T, - ) -> SIZE_T --- - ReadProcessMemory :: proc( - hProcess: HANDLE, - lpBaseAddress: LPCVOID, - lpBuffer: LPVOID, - nSize: SIZE_T, - lpNumberOfBytesRead: ^SIZE_T, - ) -> BOOL --- - WriteProcessMemory :: proc( - hProcess: HANDLE, - lpBaseAddress: LPVOID, - lpBuffer: LPCVOID, - nSize: SIZE_T, - lpNumberOfBytesWritten: ^SIZE_T, - ) -> BOOL --- - CreateFileMappingW :: proc( - hFile: HANDLE, - lpFileMappingAttributes: LPSECURITY_ATTRIBUTES, - flProtect: DWORD, - dwMaximumSizeHigh: DWORD, - dwMaximumSizeLow: DWORD, - lpName: LPCWSTR, - ) -> HANDLE --- - OpenFileMappingW :: proc( - dwDesiredAccess: DWORD, - bInheritHandle: BOOL, - lpName: LPCWSTR, - ) -> HANDLE --- - MapViewOfFile :: proc( - hFileMappingObject: HANDLE, - dwDesiredAccess: DWORD, - dwFileOffsetHigh: DWORD, - dwFileOffsetLow: DWORD, - dwNumberOfBytesToMap: SIZE_T, - ) -> LPVOID --- - MapViewOfFileEx :: proc( - hFileMappingObject: HANDLE, - dwDesiredAccess: DWORD, - dwFileOffsetHigh: DWORD, - dwFileOffsetLow: DWORD, - dwNumberOfBytesToMap: SIZE_T, - lpBaseAddress: LPVOID, - ) -> LPVOID --- - FlushViewOfFile :: proc( - lpBaseAddress: LPCVOID, - dwNumberOfBytesToFlush: SIZE_T, - ) -> BOOL --- - UnmapViewOfFile :: proc( - lpBaseAddress: LPCVOID, - ) -> BOOL --- + VirtualAlloc :: proc(lpAddress: LPVOID, dwSize: SIZE_T, flAllocationType: DWORD, flProtect: DWORD) -> LPVOID --- + VirtualProtect :: proc(lpAddress: LPVOID, dwSize: SIZE_T, flNewProtect: DWORD, lpflOldProtect: PDWORD) -> BOOL --- + VirtualFree :: proc(lpAddress: LPVOID, dwSize: SIZE_T, dwFreeType: DWORD) -> BOOL --- + VirtualQuery :: proc(lpAddress: LPCVOID, lpBuffer: PMEMORY_BASIC_INFORMATION, dwLength: SIZE_T) -> SIZE_T --- + VirtualAllocEx :: proc(hProcess: HANDLE, lpAddress: LPVOID, dwSize: SIZE_T, flAllocationType: DWORD, flProtect: DWORD) -> LPVOID --- + VirtualFreeEx :: proc(hProcess: HANDLE, lpAddress: LPVOID, dwSize: SIZE_T, dwFreeType: DWORD) -> BOOL --- + VirtualProtectEx :: proc(hProcess: HANDLE, lpAddress: LPVOID, dwSize: SIZE_T, flNewProtect: DWORD, lpflOldProtect: PDWORD) -> BOOL --- + VirtualQueryEx :: proc(hProcess: HANDLE, lpAddress: LPCVOID, lpBuffer: PMEMORY_BASIC_INFORMATION, dwLength: SIZE_T) -> SIZE_T --- + ReadProcessMemory :: proc(hProcess: HANDLE, lpBaseAddress: LPCVOID, lpBuffer: LPVOID, nSize: SIZE_T, lpNumberOfBytesRead: ^SIZE_T) -> BOOL --- + WriteProcessMemory :: proc(hProcess: HANDLE, lpBaseAddress: LPVOID, lpBuffer: LPCVOID, nSize: SIZE_T, lpNumberOfBytesWritten: ^SIZE_T) -> BOOL --- + CreateFileMappingW :: proc(hFile: HANDLE, lpFileMappingAttributes: LPSECURITY_ATTRIBUTES, flProtect: DWORD, dwMaximumSizeHigh: DWORD, dwMaximumSizeLow: DWORD, lpName: LPCWSTR) -> HANDLE --- + OpenFileMappingW :: proc(dwDesiredAccess: DWORD, bInheritHandle: BOOL, lpName: LPCWSTR) -> HANDLE --- + MapViewOfFile :: proc(hFileMappingObject: HANDLE, dwDesiredAccess: DWORD, dwFileOffsetHigh: DWORD, dwFileOffsetLow: DWORD, dwNumberOfBytesToMap: SIZE_T) -> LPVOID --- + MapViewOfFileEx :: proc(hFileMappingObject: HANDLE, dwDesiredAccess: DWORD, dwFileOffsetHigh: DWORD, dwFileOffsetLow: DWORD, dwNumberOfBytesToMap: SIZE_T, lpBaseAddress: LPVOID) -> LPVOID --- + FlushViewOfFile :: proc(lpBaseAddress: LPCVOID, dwNumberOfBytesToFlush: SIZE_T) -> BOOL --- + UnmapViewOfFile :: proc(lpBaseAddress: LPCVOID) -> BOOL --- GetLargePageMinimum :: proc() -> SIZE_T --- - GetProcessWorkingSetSizeEx :: proc( - hProcess: HANDLE, - lpMinimumWorkingSetSize: PSIZE_T, - lpMaximumWorkingSetSize: PSIZE_T, - Flags: PDWORD, - ) -> BOOL --- - SetProcessWorkingSetSizeEx :: proc( - hProcess: HANDLE, - dwMinimumWorkingSetSize: SIZE_T, - dwMaximumWorkingSetSize: SIZE_T, - Flags: DWORD, - ) -> BOOL --- - VirtualLock :: proc( - lpAddress: LPVOID, - dwSize: SIZE_T, - ) -> BOOL --- - VirtualUnlock :: proc( - lpAddress: LPVOID, - dwSize: SIZE_T, - ) -> BOOL --- - GetWriteWatch :: proc( - dwFlags: DWORD, - lpBaseAddress: PVOID, - dwRegionSize: SIZE_T, - lpAddresses: ^PVOID, - lpdwCount: ^ULONG_PTR, - lpdwGranularity: LPDWORD, - ) -> UINT --- - ResetWriteWatch :: proc( - lpBaseAddress: LPVOID, - dwRegionSize: SIZE_T, - ) -> UINT --- + GetProcessWorkingSetSizeEx :: proc(hProcess: HANDLE, lpMinimumWorkingSetSize: PSIZE_T, lpMaximumWorkingSetSize: PSIZE_T, Flags: PDWORD) -> BOOL --- + SetProcessWorkingSetSizeEx :: proc(hProcess: HANDLE, dwMinimumWorkingSetSize: SIZE_T, dwMaximumWorkingSetSize: SIZE_T, Flags: DWORD) -> BOOL --- + VirtualLock :: proc(lpAddress: LPVOID, dwSize: SIZE_T) -> BOOL --- + VirtualUnlock :: proc(lpAddress: LPVOID, dwSize: SIZE_T) -> BOOL --- + GetWriteWatch :: proc(dwFlags: DWORD, lpBaseAddress: PVOID, dwRegionSize: SIZE_T, lpAddresses: ^PVOID, lpdwCount: ^ULONG_PTR, lpdwGranularity: LPDWORD) -> UINT --- + ResetWriteWatch :: proc(lpBaseAddress: LPVOID, dwRegionSize: SIZE_T) -> UINT --- } @@ -617,138 +318,66 @@ MEMORY_RESOURCE_NOTIFICATION_TYPE :: enum c_int { LowMemoryResourceNotification, HighMemoryResourceNotification, } -LowMemoryResourceNotification :: MEMORY_RESOURCE_NOTIFICATION_TYPE.LowMemoryResourceNotification +LowMemoryResourceNotification :: MEMORY_RESOURCE_NOTIFICATION_TYPE.LowMemoryResourceNotification HighMemoryResourceNotification :: MEMORY_RESOURCE_NOTIFICATION_TYPE.HighMemoryResourceNotification -@(default_calling_convention="stdcall") +@(default_calling_convention = "stdcall") foreign kernel32 { - CreateMemoryResourceNotification :: proc( - NotificationType: MEMORY_RESOURCE_NOTIFICATION_TYPE, - ) -> HANDLE --- - QueryMemoryResourceNotification :: proc( - ResourceNotificationHandle: HANDLE, - ResourceState: PBOOL, - ) -> BOOL --- + CreateMemoryResourceNotification :: proc(NotificationType: MEMORY_RESOURCE_NOTIFICATION_TYPE) -> HANDLE --- + QueryMemoryResourceNotification :: proc(ResourceNotificationHandle: HANDLE, ResourceState: PBOOL) -> BOOL --- } -FILE_CACHE_MAX_HARD_ENABLE :: DWORD(0x00000001) +FILE_CACHE_MAX_HARD_ENABLE :: DWORD(0x00000001) FILE_CACHE_MAX_HARD_DISABLE :: DWORD(0x00000002) -FILE_CACHE_MIN_HARD_ENABLE :: DWORD(0x00000004) +FILE_CACHE_MIN_HARD_ENABLE :: DWORD(0x00000004) FILE_CACHE_MIN_HARD_DISABLE :: DWORD(0x00000008) -@(default_calling_convention="stdcall") +@(default_calling_convention = "stdcall") foreign kernel32 { - GetSystemFileCacheSize :: proc( - lpMinimumFileCacheSize: PSIZE_T, - lpMaximumFileCacheSize: PSIZE_T, - lpFlags: PDWORD, - ) -> BOOL --- - SetSystemFileCacheSize :: proc( - MinimumFileCacheSize: SIZE_T, - MaximumFileCacheSize: SIZE_T, - Flags: DWORD, - ) -> BOOL --- - CreateFileMappingNumaW :: proc( - hFile: HANDLE, - lpFileMappingAttributes: LPSECURITY_ATTRIBUTES, - flProtect: DWORD, - dwMaximumSizeHigh: DWORD, - dwMaximumSizeLow: DWORD, - lpName: LPCWSTR, - nndPreferred: DWORD, - ) -> HANDLE --- + GetSystemFileCacheSize :: proc(lpMinimumFileCacheSize: PSIZE_T, lpMaximumFileCacheSize: PSIZE_T, lpFlags: PDWORD) -> BOOL --- + SetSystemFileCacheSize :: proc(MinimumFileCacheSize: SIZE_T, MaximumFileCacheSize: SIZE_T, Flags: DWORD) -> BOOL --- + CreateFileMappingNumaW :: proc(hFile: HANDLE, lpFileMappingAttributes: LPSECURITY_ATTRIBUTES, flProtect: DWORD, dwMaximumSizeHigh: DWORD, dwMaximumSizeLow: DWORD, lpName: LPCWSTR, nndPreferred: DWORD) -> HANDLE --- } WIN32_MEMORY_RANGE_ENTRY :: struct { VirtualAddress: PVOID, - NumberOfBytes: SIZE_T, + NumberOfBytes: SIZE_T, } PWIN32_MEMORY_RANGE_ENTRY :: ^WIN32_MEMORY_RANGE_ENTRY -@(default_calling_convention="stdcall") +@(default_calling_convention = "stdcall") foreign kernel32 { - PrefetchVirtualMemory :: proc( - hProcess: HANDLE, - NumberOfEntries: ULONG_PTR, - VirtualAddresses: PWIN32_MEMORY_RANGE_ENTRY, - Flags: ULONG, - ) -> BOOL --- - CreateFileMappingFromApp :: proc( - hFile: HANDLE, - SecurityAttributes: PSECURITY_ATTRIBUTES, - PageProtection: ULONG, - MaximumSize: ULONG64, - Name: PCWSTR, - ) -> HANDLE --- - MapViewOfFileFromApp :: proc( - hFileMappingObject: HANDLE, - DesiredAccess: ULONG, - FileOffset: ULONG64, - NumberOfBytesToMap: SIZE_T, - ) -> PVOID --- - UnmapViewOfFileEx :: proc( - BaseAddress: PVOID, - UnmapFlags: ULONG, - ) -> BOOL --- - AllocateUserPhysicalPages :: proc( - hProcess: HANDLE, - NumberOfPages: PULONG_PTR, - PageArray: PULONG_PTR, - ) -> BOOL --- - FreeUserPhysicalPages :: proc( - hProcess: HANDLE, - NumberOfPages: PULONG_PTR, - PageArray: PULONG_PTR, - ) -> BOOL --- - MapUserPhysicalPages :: proc( - VirtualAddress: PVOID, - NumberOfPages: ULONG_PTR, - PageArray: PULONG_PTR, - ) -> BOOL --- - AllocateUserPhysicalPagesNuma :: proc( - hProcess: HANDLE, - NumberOfPages: PULONG_PTR, - PageArray: PULONG_PTR, - nndPreferred: DWORD, - ) -> BOOL --- - VirtualAllocExNuma :: proc( - hProcess: HANDLE, - lpAddress: LPVOID, - dwSize: SIZE_T, - flAllocationType: DWORD, - flProtect: DWORD, - nndPreferred: DWORD, - ) -> LPVOID --- + PrefetchVirtualMemory :: proc(hProcess: HANDLE, NumberOfEntries: ULONG_PTR, VirtualAddresses: PWIN32_MEMORY_RANGE_ENTRY, Flags: ULONG) -> BOOL --- + CreateFileMappingFromApp :: proc(hFile: HANDLE, SecurityAttributes: PSECURITY_ATTRIBUTES, PageProtection: ULONG, MaximumSize: ULONG64, Name: PCWSTR) -> HANDLE --- + MapViewOfFileFromApp :: proc(hFileMappingObject: HANDLE, DesiredAccess: ULONG, FileOffset: ULONG64, NumberOfBytesToMap: SIZE_T) -> PVOID --- + UnmapViewOfFileEx :: proc(BaseAddress: PVOID, UnmapFlags: ULONG) -> BOOL --- + AllocateUserPhysicalPages :: proc(hProcess: HANDLE, NumberOfPages: PULONG_PTR, PageArray: PULONG_PTR) -> BOOL --- + FreeUserPhysicalPages :: proc(hProcess: HANDLE, NumberOfPages: PULONG_PTR, PageArray: PULONG_PTR) -> BOOL --- + MapUserPhysicalPages :: proc(VirtualAddress: PVOID, NumberOfPages: ULONG_PTR, PageArray: PULONG_PTR) -> BOOL --- + AllocateUserPhysicalPagesNuma :: proc(hProcess: HANDLE, NumberOfPages: PULONG_PTR, PageArray: PULONG_PTR, nndPreferred: DWORD) -> BOOL --- + VirtualAllocExNuma :: proc(hProcess: HANDLE, lpAddress: LPVOID, dwSize: SIZE_T, flAllocationType: DWORD, flProtect: DWORD, nndPreferred: DWORD) -> LPVOID --- } MEHC_PATROL_SCRUBBER_PRESENT :: ULONG(0x1) -@(default_calling_convention="stdcall") +@(default_calling_convention = "stdcall") foreign kernel32 { - GetMemoryErrorHandlingCapabilities :: proc( - Capabilities: PULONG, - ) -> BOOL --- + GetMemoryErrorHandlingCapabilities :: proc(Capabilities: PULONG) -> BOOL --- } -@(default_calling_convention="stdcall") +@(default_calling_convention = "stdcall") foreign kernel32 { - GlobalMemoryStatusEx :: proc( - lpBuffer: ^MEMORYSTATUSEX, - ) -> BOOL --- + GlobalMemoryStatusEx :: proc(lpBuffer: ^MEMORYSTATUSEX) -> BOOL --- } PBAD_MEMORY_CALLBACK_ROUTINE :: #type proc "stdcall" () -@(default_calling_convention="stdcall") +@(default_calling_convention = "stdcall") foreign kernel32 { - RegisterBadMemoryNotification :: proc( - Callback: PBAD_MEMORY_CALLBACK_ROUTINE, - ) -> PVOID --- - UnregisterBadMemoryNotification :: proc( - RegistrationHandle: PVOID, - ) -> BOOL --- + RegisterBadMemoryNotification :: proc(Callback: PBAD_MEMORY_CALLBACK_ROUTINE) -> PVOID --- + UnregisterBadMemoryNotification :: proc(RegistrationHandle: PVOID) -> BOOL --- } OFFER_PRIORITY :: enum c_int { @@ -757,43 +386,19 @@ OFFER_PRIORITY :: enum c_int { VmOfferPriorityBelowNormal, VmOfferPriorityNormal, } -VmOfferPriorityVeryLow :: OFFER_PRIORITY.VmOfferPriorityVeryLow -VmOfferPriorityLow :: OFFER_PRIORITY.VmOfferPriorityLow +VmOfferPriorityVeryLow :: OFFER_PRIORITY.VmOfferPriorityVeryLow +VmOfferPriorityLow :: OFFER_PRIORITY.VmOfferPriorityLow VmOfferPriorityBelowNormal :: OFFER_PRIORITY.VmOfferPriorityBelowNormal -VmOfferPriorityNormal :: OFFER_PRIORITY.VmOfferPriorityNormal +VmOfferPriorityNormal :: OFFER_PRIORITY.VmOfferPriorityNormal -@(default_calling_convention="stdcall") +@(default_calling_convention = "stdcall") foreign kernel32 { - OfferVirtualMemory :: proc( - VirtualAddress: PVOID, - Size: SIZE_T, - Priority: OFFER_PRIORITY, - ) -> DWORD --- - ReclaimVirtualMemory :: proc( - VirtualAddress: PVOID, - Size: SIZE_T, - ) -> DWORD --- - DiscardVirtualMemory :: proc( - VirtualAddress: PVOID, - Size: SIZE_T, - ) -> DWORD --- - VirtualAllocFromApp :: proc( - BaseAddress: PVOID, - Size: SIZE_T, - AllocationType: ULONG, - Protection: ULONG, - ) -> PVOID --- - VirtualProtectFromApp :: proc( - Address: PVOID, - Size: SIZE_T, - NewProtection: ULONG, - OldProtection: PULONG, - ) -> BOOL --- - OpenFileMappingFromApp :: proc( - DesiredAccess: ULONG, - InheritHandle: BOOL, - Name: PCWSTR, - ) -> HANDLE --- + OfferVirtualMemory :: proc(VirtualAddress: PVOID, Size: SIZE_T, Priority: OFFER_PRIORITY) -> DWORD --- + ReclaimVirtualMemory :: proc(VirtualAddress: PVOID, Size: SIZE_T) -> DWORD --- + DiscardVirtualMemory :: proc(VirtualAddress: PVOID, Size: SIZE_T) -> DWORD --- + VirtualAllocFromApp :: proc(BaseAddress: PVOID, Size: SIZE_T, AllocationType: ULONG, Protection: ULONG) -> PVOID --- + VirtualProtectFromApp :: proc(Address: PVOID, Size: SIZE_T, NewProtection: ULONG, OldProtection: PULONG) -> BOOL --- + OpenFileMappingFromApp :: proc(DesiredAccess: ULONG, InheritHandle: BOOL, Name: PCWSTR) -> HANDLE --- } WIN32_MEMORY_INFORMATION_CLASS :: enum c_int { @@ -802,16 +407,16 @@ WIN32_MEMORY_INFORMATION_CLASS :: enum c_int { MemoryRegionInfo :: WIN32_MEMORY_INFORMATION_CLASS.MemoryRegionInfo WIN32_MEMORY_REGION_INFORMATION :: struct { - AllocationBase: PVOID, + AllocationBase: PVOID, AllocationProtect: ULONG, - u: WIN32_MEMORY_REGION_INFORMATION_u, - RegionSize: SIZE_T, - CommitSize: SIZE_T, + u: WIN32_MEMORY_REGION_INFORMATION_u, + RegionSize: SIZE_T, + CommitSize: SIZE_T, } WIN32_MEMORY_REGION_INFORMATION_u :: struct #raw_union { - u: [1]u32, + u: [1]u32, Flags: ULONG, - s: WIN32_MEMORY_REGION_INFORMATION_u_s, + s: WIN32_MEMORY_REGION_INFORMATION_u_s, } WIN32_MEMORY_REGION_INFORMATION_u_s :: struct { Bitfield: ULONG, @@ -827,26 +432,10 @@ WIN32_MEMORY_REGION_INFORMATION_u_s_Bitfield :: distinct ULONG Reserved : 32-6, }*/ -@(default_calling_convention="stdcall") +@(default_calling_convention = "stdcall") foreign kernel32 { - QueryVirtualMemoryInformation :: proc( - Process: HANDLE, - VirtualAddress: PVOID, - MemoryInformationClass: WIN32_MEMORY_INFORMATION_CLASS, - MemoryInformation: PVOID, - MemoryInformationSize: SIZE_T, - ReturnSize: PSIZE_T, - ) -> BOOL --- - MapViewOfFileNuma2 :: proc( - FileMappingHandle: HANDLE, - ProcessHandle: HANDLE, - Offset: ULONG64, - BaseAddress: PVOID, - ViewSize: SIZE_T, - AllocationType: ULONG, - PageProtection: ULONG, - PreferredNode: ULONG, - ) -> PVOID --- + QueryVirtualMemoryInformation :: proc(Process: HANDLE, VirtualAddress: PVOID, MemoryInformationClass: WIN32_MEMORY_INFORMATION_CLASS, MemoryInformation: PVOID, MemoryInformationSize: SIZE_T, ReturnSize: PSIZE_T) -> BOOL --- + MapViewOfFileNuma2 :: proc(FileMappingHandle: HANDLE, ProcessHandle: HANDLE, Offset: ULONG64, BaseAddress: PVOID, ViewSize: SIZE_T, AllocationType: ULONG, PageProtection: ULONG, PreferredNode: ULONG) -> PVOID --- } @@ -873,57 +462,45 @@ MapViewOfFile2 :: #force_inline proc "stdcall" ( ) } -@(default_calling_convention="stdcall") +@(default_calling_convention = "stdcall") foreign kernel32 { - UnmapViewOfFile2 :: proc( - ProcessHandle: HANDLE, - BaseAddress: PVOID, - UnmapFlags: ULONG, - ) -> BOOL --- + UnmapViewOfFile2 :: proc(ProcessHandle: HANDLE, BaseAddress: PVOID, UnmapFlags: ULONG) -> BOOL --- } -@(default_calling_convention="stdcall") +@(default_calling_convention = "stdcall") foreign kernel32 { - GetProductInfo :: proc( - OSMajorVersion: DWORD, - OSMinorVersion: DWORD, - SpMajorVersion: DWORD, - SpMinorVersion: DWORD, - product_type: ^Windows_Product_Type, - ) -> BOOL --- + GetProductInfo :: proc(OSMajorVersion: DWORD, OSMinorVersion: DWORD, SpMajorVersion: DWORD, SpMinorVersion: DWORD, product_type: ^Windows_Product_Type) -> BOOL --- } HandlerRoutine :: proc "stdcall" (dwCtrlType: DWORD) -> BOOL PHANDLER_ROUTINE :: HandlerRoutine - - DCB_Config :: struct { - fParity: bool, - fOutxCtsFlow: bool, - fOutxDsrFlow: bool, - fDtrControl: DTR_Control, - fDsrSensitivity: bool, + fParity: bool, + fOutxCtsFlow: bool, + fOutxDsrFlow: bool, + fDtrControl: DTR_Control, + fDsrSensitivity: bool, fTXContinueOnXoff: bool, - fOutX: bool, - fInX: bool, - fErrorChar: bool, - fNull: bool, - fRtsControl: RTS_Control, - fAbortOnError: bool, - BaudRate: DWORD, - ByteSize: BYTE, - Parity: Parity, - StopBits: Stop_Bits, - XonChar: byte, - XoffChar: byte, - ErrorChar: byte, - EvtChar: byte, + fOutX: bool, + fInX: bool, + fErrorChar: bool, + fNull: bool, + fRtsControl: RTS_Control, + fAbortOnError: bool, + BaudRate: DWORD, + ByteSize: BYTE, + Parity: Parity, + StopBits: Stop_Bits, + XonChar: byte, + XoffChar: byte, + ErrorChar: byte, + EvtChar: byte, } DTR_Control :: enum byte { - Disable = 0, - Enable = 1, + Disable = 0, + Enable = 1, Handshake = 2, } RTS_Control :: enum byte { @@ -940,9 +517,9 @@ Parity :: enum byte { Space = 4, } Stop_Bits :: enum byte { - One = 0, + One = 0, One_And_A_Half = 1, - Two = 2, + Two = 2, } // A helper procedure to set the values of a DCB structure. @@ -1017,24 +594,24 @@ get_dcb_config :: proc "contextless" (dcb: DCB) -> (config: DCB_Config) { // NOTE(tetra): See get_dcb_config() and init_dcb_with_config() for help with initializing this. DCB :: struct { - DCBlength: DWORD, // NOTE(tetra): Must be set to size_of(DCB). - BaudRate: DWORD, - settings: u32, // NOTE(tetra): These are bitfields in the C struct. - wReserved: WORD, - XOnLim: WORD, - XOffLim: WORD, - ByteSize: BYTE, - Parity: Parity, - StopBits: Stop_Bits, - XonChar: byte, - XoffChar: byte, - ErrorChar: byte, - EofChar: byte, - EvtChar: byte, + DCBlength: DWORD, // NOTE(tetra): Must be set to size_of(DCB). + BaudRate: DWORD, + settings: u32, // NOTE(tetra): These are bitfields in the C struct. + wReserved: WORD, + XOnLim: WORD, + XOffLim: WORD, + ByteSize: BYTE, + Parity: Parity, + StopBits: Stop_Bits, + XonChar: byte, + XoffChar: byte, + ErrorChar: byte, + EofChar: byte, + EvtChar: byte, wReserved1: WORD, } -@(default_calling_convention="stdcall") +@(default_calling_convention = "stdcall") foreign kernel32 { GetCommState :: proc(handle: HANDLE, dcb: ^DCB) -> BOOL --- SetCommState :: proc(handle: HANDLE, dcb: ^DCB) -> BOOL --- @@ -1071,11 +648,11 @@ PROCESSOR_CACHE_TYPE :: enum c_int { } CACHE_DESCRIPTOR :: struct { - Level: BYTE, + Level: BYTE, Associativity: BYTE, - LineSize: WORD, - Size: DWORD, - Type: PROCESSOR_CACHE_TYPE, + LineSize: WORD, + Size: DWORD, + Type: PROCESSOR_CACHE_TYPE, } ProcessorCore :: struct { @@ -1085,14 +662,14 @@ NumaNode :: struct { NodeNumber: DWORD, } DUMMYUNIONNAME_u :: struct #raw_union { - Core: ProcessorCore, - Node: NumaNode, - Cache: CACHE_DESCRIPTOR, + Core: ProcessorCore, + Node: NumaNode, + Cache: CACHE_DESCRIPTOR, Reserved: [2]ULONGLONG, } SYSTEM_LOGICAL_PROCESSOR_INFORMATION :: struct { ProcessorMask: ULONG_PTR, - Relationship: LOGICAL_PROCESSOR_RELATIONSHIP, - DummyUnion: DUMMYUNIONNAME_u, + Relationship: LOGICAL_PROCESSOR_RELATIONSHIP, + DummyUnion: DUMMYUNIONNAME_u, } From bf75fd9d3494c451f564b2b55032e4b8df2776b4 Mon Sep 17 00:00:00 2001 From: Jon Lipstate Date: Tue, 4 Apr 2023 22:02:37 -0700 Subject: [PATCH 27/50] Revert "remove keyedevent" This reverts commit 219343f3c0e1bdf6130af5d07baa6c929379dfe1. --- core/sys/windows/kernel32.odin | 2 ++ 1 file changed, 2 insertions(+) diff --git a/core/sys/windows/kernel32.odin b/core/sys/windows/kernel32.odin index 7bd795ac2..37cb25d3b 100644 --- a/core/sys/windows/kernel32.odin +++ b/core/sys/windows/kernel32.odin @@ -221,6 +221,8 @@ foreign kernel32 { PostQueuedCompletionStatus :: proc(CompletionPort: HANDLE, dwNumberOfBytesTransferred: DWORD, dwCompletionKey: c_ulong, lpOverlapped: ^OVERLAPPED) -> BOOL --- // [MS-Docs] (https://learn.microsoft.com/en-us/windows/win32/api/sysinfoapi/nf-sysinfoapi-gettickcount64) GetTickCount64 :: proc() -> u64 --- + // [MS-Docs](https://github.com/mic101/windows/blob/master/WRK-v1.2/base/ntos/ex/keyedevent.c) + NtCreateKeyedEvent :: proc(KeyedEventHandle: ^HANDLE, DesiredAccess: ACCESS_MASK, ObjectAttributes: OBJECT_ATTRIBUTES, Flags: u32) -> NTSTATUS --- // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/handleapi/nf-handleapi-gethandleinformation) GetHandleInformation :: proc(hObject: HANDLE, lpdwFlags: ^DWORD) -> BOOL --- } From c5d2b019235f04b5d7b3d4dde415acf645d7d07f Mon Sep 17 00:00:00 2001 From: Jon Lipstate Date: Tue, 4 Apr 2023 23:03:19 -0700 Subject: [PATCH 28/50] remove runtime signatures to prevent ffi collisions --- core/sys/windows/ws2_32.odin | 35 +---------------------------------- 1 file changed, 1 insertion(+), 34 deletions(-) diff --git a/core/sys/windows/ws2_32.odin b/core/sys/windows/ws2_32.odin index ef4a9465b..bc3816e3d 100644 --- a/core/sys/windows/ws2_32.odin +++ b/core/sys/windows/ws2_32.odin @@ -44,40 +44,7 @@ IOC_OUT :: 0x40000000 IOC_IN :: 0x80000000 IOC_INOUT :: (IOC_IN | IOC_OUT) IOC_WS2 :: 0x08000000 -/* -Example Load: - load_accept_ex :: proc(listener: SOCKET, fn_acceptex: rawptr) { - bytes: u32 - guid_accept_ex := WSAID_ACCEPTEX - rc := WSAIoctl(listener, SIO_GET_EXTENSION_FUNCTION_POINTER, &guid_accept_ex, size_of(guid_accept_ex), - fn_acceptex, size_of(fn_acceptex), &bytes, nil, nil,) - assert(rc != windows.SOCKET_ERROR) - } -*/ -// NOTE: AcceptEx should be loaded at runtime per MS-Docs -//[MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/mswsock/nf-mswsock-acceptex) -AcceptEx :: proc( - sListenSocket: SOCKET, - sAcceptSocket: SOCKET, - lpOutputBuffer: rawptr, - dwReceiveDataLength: u32, - dwLocalAddressLength: u32, - dwRemoteAddressLength: u32, - lpdwBytesReceived: ^u32, - lpOverlapped: ^OVERLAPPED, -) -> b32 -// NOTE: GetAcceptExSockaddrs should be loaded at runtime per MS-Docs -//[MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/mswsock/nf-mswsock-getacceptexsockaddrs) -GetAcceptExSockaddrs :: proc( - lpOutputBuffer: rawptr, - dwReceiveDataLength: u32, - dwLocalAddressLength: u32, - dwRemoteAddressLength: u32, - LocalSockaddr: ^^sockaddr, - LocalSockaddrLength: ^i32, - RemoteSockaddr: ^^sockaddr, - RemoteSockaddrLength: ^i32, -) + foreign import ws2_32 "system:Ws2_32.lib" @(default_calling_convention="stdcall") From 236347b5bc105f41ef2fee82dc4aa396c5e02271 Mon Sep 17 00:00:00 2001 From: Jon Lipstate Date: Tue, 4 Apr 2023 23:11:01 -0700 Subject: [PATCH 29/50] retain runtime load sample --- core/sys/windows/ws2_32.odin | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/core/sys/windows/ws2_32.odin b/core/sys/windows/ws2_32.odin index bc3816e3d..631ef4241 100644 --- a/core/sys/windows/ws2_32.odin +++ b/core/sys/windows/ws2_32.odin @@ -44,7 +44,16 @@ IOC_OUT :: 0x40000000 IOC_IN :: 0x80000000 IOC_INOUT :: (IOC_IN | IOC_OUT) IOC_WS2 :: 0x08000000 - +/* +Example Load: + load_accept_ex :: proc(listener: SOCKET, fn_acceptex: rawptr) { + bytes: u32 + guid_accept_ex := WSAID_ACCEPTEX + rc := WSAIoctl(listener, SIO_GET_EXTENSION_FUNCTION_POINTER, &guid_accept_ex, size_of(guid_accept_ex), + fn_acceptex, size_of(fn_acceptex), &bytes, nil, nil,) + assert(rc != windows.SOCKET_ERROR) + } +*/ foreign import ws2_32 "system:Ws2_32.lib" @(default_calling_convention="stdcall") From 2c9156e2c18c9789c79e34bae296914e6aeca66e Mon Sep 17 00:00:00 2001 From: Jon Lipstate Date: Tue, 4 Apr 2023 23:57:52 -0700 Subject: [PATCH 30/50] repaired autoformatter --- core/sys/windows/kernel32.odin | 903 ++++++++++++++++++++++++--------- 1 file changed, 660 insertions(+), 243 deletions(-) diff --git a/core/sys/windows/kernel32.odin b/core/sys/windows/kernel32.odin index 37cb25d3b..ae21654b4 100644 --- a/core/sys/windows/kernel32.odin +++ b/core/sys/windows/kernel32.odin @@ -3,53 +3,75 @@ package sys_windows foreign import kernel32 "system:Kernel32.lib" -FOREGROUND_BLUE :: WORD(0x0001) -FOREGROUND_GREEN :: WORD(0x0002) -FOREGROUND_RED :: WORD(0x0004) -FOREGROUND_INTENSITY :: WORD(0x0008) -BACKGROUND_BLUE :: WORD(0x0010) -BACKGROUND_GREEN :: WORD(0x0020) -BACKGROUND_RED :: WORD(0x0040) -BACKGROUND_INTENSITY :: WORD(0x0080) -COMMON_LVB_LEADING_BYTE :: WORD(0x0100) -COMMON_LVB_TRAILING_BYTE :: WORD(0x0200) +FOREGROUND_BLUE :: WORD(0x0001) +FOREGROUND_GREEN :: WORD(0x0002) +FOREGROUND_RED :: WORD(0x0004) +FOREGROUND_INTENSITY :: WORD(0x0008) +BACKGROUND_BLUE :: WORD(0x0010) +BACKGROUND_GREEN :: WORD(0x0020) +BACKGROUND_RED :: WORD(0x0040) +BACKGROUND_INTENSITY :: WORD(0x0080) +COMMON_LVB_LEADING_BYTE :: WORD(0x0100) +COMMON_LVB_TRAILING_BYTE :: WORD(0x0200) COMMON_LVB_GRID_HORIZONTAL :: WORD(0x0400) -COMMON_LVB_GRID_LVERTICAL :: WORD(0x0800) -COMMON_LVB_GRID_RVERTICAL :: WORD(0x1000) -COMMON_LVB_REVERSE_VIDEO :: WORD(0x4000) -COMMON_LVB_UNDERSCORE :: WORD(0x8000) -COMMON_LVB_SBCSDBCS :: WORD(0x0300) +COMMON_LVB_GRID_LVERTICAL :: WORD(0x0800) +COMMON_LVB_GRID_RVERTICAL :: WORD(0x1000) +COMMON_LVB_REVERSE_VIDEO :: WORD(0x4000) +COMMON_LVB_UNDERSCORE :: WORD(0x8000) +COMMON_LVB_SBCSDBCS :: WORD(0x0300) -@(default_calling_convention = "stdcall") +@(default_calling_convention="stdcall") foreign kernel32 { OutputDebugStringA :: proc(lpOutputString: LPCSTR) --- // The only A thing that is allowed OutputDebugStringW :: proc(lpOutputString: LPCWSTR) --- - ReadConsoleW :: proc(hConsoleInput: HANDLE, lpBuffer: LPVOID, nNumberOfCharsToRead: DWORD, lpNumberOfCharsRead: LPDWORD, pInputControl: PCONSOLE_READCONSOLE_CONTROL) -> BOOL --- + ReadConsoleW :: proc(hConsoleInput: HANDLE, + lpBuffer: LPVOID, + nNumberOfCharsToRead: DWORD, + lpNumberOfCharsRead: LPDWORD, + pInputControl: PCONSOLE_READCONSOLE_CONTROL) -> BOOL --- - WriteConsoleW :: proc(hConsoleOutput: HANDLE, lpBuffer: LPCVOID, nNumberOfCharsToWrite: DWORD, lpNumberOfCharsWritten: LPDWORD, lpReserved: LPVOID) -> BOOL --- + WriteConsoleW :: proc(hConsoleOutput: HANDLE, + lpBuffer: LPCVOID, + nNumberOfCharsToWrite: DWORD, + lpNumberOfCharsWritten: LPDWORD, + lpReserved: LPVOID) -> BOOL --- - GetConsoleMode :: proc(hConsoleHandle: HANDLE, lpMode: LPDWORD) -> BOOL --- - SetConsoleMode :: proc(hConsoleHandle: HANDLE, dwMode: DWORD) -> BOOL --- - SetConsoleCursorPosition :: proc(hConsoleHandle: HANDLE, dwCursorPosition: COORD) -> BOOL --- - SetConsoleTextAttribute :: proc(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL --- + GetConsoleMode :: proc(hConsoleHandle: HANDLE, + lpMode: LPDWORD) -> BOOL --- + SetConsoleMode :: proc(hConsoleHandle: HANDLE, + dwMode: DWORD) -> BOOL --- + SetConsoleCursorPosition :: proc(hConsoleHandle: HANDLE, + dwCursorPosition: COORD) -> BOOL --- + SetConsoleTextAttribute :: proc(hConsoleOutput: HANDLE, + wAttributes: WORD) -> BOOL --- SetConsoleOutputCP :: proc(wCodePageID: UINT) -> BOOL --- - + GetFileInformationByHandle :: proc(hFile: HANDLE, lpFileInformation: LPBY_HANDLE_FILE_INFORMATION) -> BOOL --- - SetHandleInformation :: proc(hObject: HANDLE, dwMask: DWORD, dwFlags: DWORD) -> BOOL --- - SetFileInformationByHandle :: proc(hFile: HANDLE, FileInformationClass: FILE_INFO_BY_HANDLE_CLASS, lpFileInformation: LPVOID, dwBufferSize: DWORD) -> BOOL --- + SetHandleInformation :: proc(hObject: HANDLE, + dwMask: DWORD, + dwFlags: DWORD) -> BOOL --- + SetFileInformationByHandle :: proc(hFile: HANDLE, + FileInformationClass: FILE_INFO_BY_HANDLE_CLASS, + lpFileInformation: LPVOID, + dwBufferSize: DWORD) -> BOOL --- AddVectoredExceptionHandler :: proc(FirstHandler: ULONG, VectoredHandler: PVECTORED_EXCEPTION_HANDLER) -> LPVOID --- - AddVectoredContinueHandler :: proc(FirstHandler: ULONG, VectoredHandler: PVECTORED_EXCEPTION_HANDLER) -> LPVOID --- - RemoveVectoredExceptionHandler :: proc(Handle: LPVOID) -> DWORD --- - RemoveVectoredContinueHandler :: proc(Handle: LPVOID) -> DWORD --- + AddVectoredContinueHandler :: proc(FirstHandler: ULONG, VectoredHandler: PVECTORED_EXCEPTION_HANDLER) -> LPVOID --- + RemoveVectoredExceptionHandler :: proc(Handle: LPVOID) -> DWORD --- + RemoveVectoredContinueHandler :: proc(Handle: LPVOID) -> DWORD --- RaiseException :: proc(dwExceptionCode, dwExceptionFlags, nNumberOfArguments: DWORD, lpArguments: ^ULONG_PTR) -> ! --- - CreateHardLinkW :: proc(lpSymlinkFileName: LPCWSTR, lpTargetFileName: LPCWSTR, lpSecurityAttributes: LPSECURITY_ATTRIBUTES) -> BOOL --- + CreateHardLinkW :: proc(lpSymlinkFileName: LPCWSTR, + lpTargetFileName: LPCWSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES) -> BOOL --- - GetFileInformationByHandleEx :: proc(hFile: HANDLE, fileInfoClass: FILE_INFO_BY_HANDLE_CLASS, lpFileInformation: LPVOID, dwBufferSize: DWORD) -> BOOL --- + GetFileInformationByHandleEx :: proc(hFile: HANDLE, + fileInfoClass: FILE_INFO_BY_HANDLE_CLASS, + lpFileInformation: LPVOID, + dwBufferSize: DWORD) -> BOOL --- InitializeCriticalSection :: proc(CriticalSection: ^CRITICAL_SECTION) --- InitializeCriticalSectionAndSpinCount :: proc(CriticalSection: ^CRITICAL_SECTION, dwSpinCount: DWORD) -> BOOL --- @@ -67,12 +89,42 @@ foreign kernel32 { GetCurrentProcessId :: proc() -> DWORD --- GetCurrentThread :: proc() -> HANDLE --- GetCurrentThreadId :: proc() -> DWORD --- - GetProcessTimes :: proc(hProcess: HANDLE, lpCreationTime: LPFILETIME, lpExitTime: LPFILETIME, lpKernelTime: LPFILETIME, lpUserTime: LPFILETIME) -> BOOL --- + GetProcessTimes :: proc( + hProcess: HANDLE, + lpCreationTime: LPFILETIME, + lpExitTime: LPFILETIME, + lpKernelTime: LPFILETIME, + lpUserTime: LPFILETIME, + ) -> BOOL --- GetStdHandle :: proc(which: DWORD) -> HANDLE --- ExitProcess :: proc(uExitCode: c_uint) -> ! --- - DeviceIoControl :: proc(hDevice: HANDLE, dwIoControlCode: DWORD, lpInBuffer: LPVOID, nInBufferSize: DWORD, lpOutBuffer: LPVOID, nOutBufferSize: DWORD, lpBytesReturned: LPDWORD, lpOverlapped: LPOVERLAPPED) -> BOOL --- - CreateThread :: proc(lpThreadAttributes: LPSECURITY_ATTRIBUTES, dwStackSize: SIZE_T, lpStartAddress: proc "stdcall" (_: rawptr) -> DWORD, lpParameter: LPVOID, dwCreationFlags: DWORD, lpThreadId: LPDWORD) -> HANDLE --- - CreateRemoteThread :: proc(hProcess: HANDLE, lpThreadAttributes: LPSECURITY_ATTRIBUTES, dwStackSize: SIZE_T, lpStartAddress: proc "stdcall" (_: rawptr) -> DWORD, lpParameter: LPVOID, dwCreationFlags: DWORD, lpThreadId: LPDWORD) -> HANDLE --- + DeviceIoControl :: proc( + hDevice: HANDLE, + dwIoControlCode: DWORD, + lpInBuffer: LPVOID, + nInBufferSize: DWORD, + lpOutBuffer: LPVOID, + nOutBufferSize: DWORD, + lpBytesReturned: LPDWORD, + lpOverlapped: LPOVERLAPPED, + ) -> BOOL --- + CreateThread :: proc( + lpThreadAttributes: LPSECURITY_ATTRIBUTES, + dwStackSize: SIZE_T, + lpStartAddress: proc "stdcall" (rawptr) -> DWORD, + lpParameter: LPVOID, + dwCreationFlags: DWORD, + lpThreadId: LPDWORD, + ) -> HANDLE --- + CreateRemoteThread :: proc( + hProcess: HANDLE, + lpThreadAttributes: LPSECURITY_ATTRIBUTES, + dwStackSize: SIZE_T, + lpStartAddress: proc "stdcall" (rawptr) -> DWORD, + lpParameter: LPVOID, + dwCreationFlags: DWORD, + lpThreadId: LPDWORD, + ) -> HANDLE --- SwitchToThread :: proc() -> BOOL --- ResumeThread :: proc(thread: HANDLE) -> DWORD --- GetThreadPriority :: proc(thread: HANDLE) -> c_int --- @@ -83,14 +135,46 @@ foreign kernel32 { CreateSemaphoreW :: proc(attributes: LPSECURITY_ATTRIBUTES, initial_count, maximum_count: LONG, name: LPCWSTR) -> HANDLE --- ReleaseSemaphore :: proc(semaphore: HANDLE, release_count: LONG, previous_count: ^LONG) -> BOOL --- - CreateWaitableTimerW :: proc(lpTimerAttributes: LPSECURITY_ATTRIBUTES, bManualReset: BOOL, lpTimerName: LPCWSTR) -> HANDLE --- - CreateWaitableTimerExW :: proc(lpTimerAttributes: LPSECURITY_ATTRIBUTES, lpTimerName: LPCWSTR, dwFlags: DWORD, dwDesiredAccess: DWORD) -> HANDLE --- - SetWaitableTimerEx :: proc(hTimer: HANDLE, lpDueTime: ^LARGE_INTEGER, lPeriod: LONG, pfnCompletionRoutine: PTIMERAPCROUTINE, lpArgToCompletionRoutine: LPVOID, WakeContext: PREASON_CONTEXT, TolerableDelay: ULONG) -> BOOL --- + CreateWaitableTimerW :: proc( + lpTimerAttributes: LPSECURITY_ATTRIBUTES, + bManualReset: BOOL, + lpTimerName: LPCWSTR, + ) -> HANDLE --- + CreateWaitableTimerExW :: proc( + lpTimerAttributes: LPSECURITY_ATTRIBUTES, + lpTimerName: LPCWSTR, + dwFlags: DWORD, + dwDesiredAccess: DWORD, + ) -> HANDLE --- + SetWaitableTimerEx :: proc( + hTimer: HANDLE, + lpDueTime: ^LARGE_INTEGER, + lPeriod: LONG, + pfnCompletionRoutine: PTIMERAPCROUTINE, + lpArgToCompletionRoutine: LPVOID, + WakeContext: PREASON_CONTEXT, + TolerableDelay: ULONG, + ) -> BOOL --- WaitForSingleObject :: proc(hHandle: HANDLE, dwMilliseconds: DWORD) -> DWORD --- Sleep :: proc(dwMilliseconds: DWORD) --- GetProcessId :: proc(handle: HANDLE) -> DWORD --- - CopyFileExW :: proc(lpExistingFileName: LPCWSTR, lpNewFileName: LPCWSTR, lpProgressRoutine: LPPROGRESS_ROUTINE, lpData: LPVOID, pbCancel: LPBOOL, dwCopyFlags: DWORD) -> BOOL --- - FormatMessageW :: proc(flags: DWORD, lpSrc: LPVOID, msgId: DWORD, langId: DWORD, buf: LPWSTR, nsize: DWORD, args: rawptr) -> DWORD --- + CopyFileExW :: proc( + lpExistingFileName: LPCWSTR, + lpNewFileName: LPCWSTR, + lpProgressRoutine: LPPROGRESS_ROUTINE, + lpData: LPVOID, + pbCancel: LPBOOL, + dwCopyFlags: DWORD, + ) -> BOOL --- + FormatMessageW :: proc( + flags: DWORD, + lpSrc: LPVOID, + msgId: DWORD, + langId: DWORD, + buf: LPWSTR, + nsize: DWORD, + args: rawptr, + ) -> DWORD --- TlsAlloc :: proc() -> DWORD --- TlsFree :: proc(dwTlsIndex: DWORD) -> BOOL --- TlsGetValue :: proc(dwTlsIndex: DWORD) -> LPVOID --- @@ -100,26 +184,89 @@ foreign kernel32 { QueryPerformanceCounter :: proc(lpPerformanceCount: ^LARGE_INTEGER) -> BOOL --- GetExitCodeProcess :: proc(hProcess: HANDLE, lpExitCode: LPDWORD) -> BOOL --- TerminateProcess :: proc(hProcess: HANDLE, uExitCode: UINT) -> BOOL --- - CreateProcessW :: proc(lpApplicationName: LPCWSTR, lpCommandLine: LPWSTR, lpProcessAttributes: LPSECURITY_ATTRIBUTES, lpThreadAttributes: LPSECURITY_ATTRIBUTES, bInheritHandles: BOOL, dwCreationFlags: DWORD, lpEnvironment: LPVOID, lpCurrentDirectory: LPCWSTR, lpStartupInfo: LPSTARTUPINFO, lpProcessInformation: LPPROCESS_INFORMATION) -> BOOL --- + CreateProcessW :: proc( + lpApplicationName: LPCWSTR, + lpCommandLine: LPWSTR, + lpProcessAttributes: LPSECURITY_ATTRIBUTES, + lpThreadAttributes: LPSECURITY_ATTRIBUTES, + bInheritHandles: BOOL, + dwCreationFlags: DWORD, + lpEnvironment: LPVOID, + lpCurrentDirectory: LPCWSTR, + lpStartupInfo: LPSTARTUPINFO, + lpProcessInformation: LPPROCESS_INFORMATION, + ) -> BOOL --- GetEnvironmentVariableW :: proc(n: LPCWSTR, v: LPWSTR, nsize: DWORD) -> DWORD --- SetEnvironmentVariableW :: proc(n: LPCWSTR, v: LPCWSTR) -> BOOL --- GetEnvironmentStringsW :: proc() -> LPWCH --- FreeEnvironmentStringsW :: proc(env_ptr: LPWCH) -> BOOL --- GetModuleFileNameW :: proc(hModule: HMODULE, lpFilename: LPWSTR, nSize: DWORD) -> DWORD --- - CreateDirectoryW :: proc(lpPathName: LPCWSTR, lpSecurityAttributes: LPSECURITY_ATTRIBUTES) -> BOOL --- + CreateDirectoryW :: proc( + lpPathName: LPCWSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + ) -> BOOL --- DeleteFileW :: proc(lpPathName: LPCWSTR) -> BOOL --- GetCurrentDirectoryW :: proc(nBufferLength: DWORD, lpBuffer: LPWSTR) -> DWORD --- SetCurrentDirectoryW :: proc(lpPathName: LPCWSTR) -> BOOL --- - WideCharToMultiByte :: proc(CodePage: UINT, dwFlags: DWORD, lpWideCharStr: LPCWSTR, cchWideChar: c_int, lpMultiByteStr: LPSTR, cbMultiByte: c_int, lpDefaultChar: LPCSTR, lpUsedDefaultChar: LPBOOL) -> c_int --- - MultiByteToWideChar :: proc(CodePage: UINT, dwFlags: DWORD, lpMultiByteStr: LPSTR, cbMultiByte: c_int, lpWideCharStr: LPWSTR, cchWideChar: c_int) -> c_int --- - DuplicateHandle :: proc(hSourceProcessHandle: HANDLE, hSourceHandle: HANDLE, hTargetProcessHandle: HANDLE, lpTargetHandle: LPHANDLE, dwDesiredAccess: DWORD, bInheritHandle: BOOL, dwOptions: DWORD) -> BOOL --- - ReadFile :: proc(hFile: HANDLE, lpBuffer: LPVOID, nNumberOfBytesToRead: DWORD, lpNumberOfBytesRead: LPDWORD, lpOverlapped: LPOVERLAPPED) -> BOOL --- - WriteFile :: proc(hFile: HANDLE, lpBuffer: LPVOID, nNumberOfBytesToWrite: DWORD, lpNumberOfBytesWritten: LPDWORD, lpOverlapped: LPOVERLAPPED) -> BOOL --- + WideCharToMultiByte :: proc( + CodePage: UINT, + dwFlags: DWORD, + lpWideCharStr: LPCWSTR, + cchWideChar: c_int, + lpMultiByteStr: LPSTR, + cbMultiByte: c_int, + lpDefaultChar: LPCSTR, + lpUsedDefaultChar: LPBOOL, + ) -> c_int --- + MultiByteToWideChar :: proc( + CodePage: UINT, + dwFlags: DWORD, + lpMultiByteStr: LPSTR, + cbMultiByte: c_int, + lpWideCharStr: LPWSTR, + cchWideChar: c_int, + ) -> c_int --- + DuplicateHandle :: proc( + hSourceProcessHandle: HANDLE, + hSourceHandle: HANDLE, + hTargetProcessHandle: HANDLE, + lpTargetHandle: LPHANDLE, + dwDesiredAccess: DWORD, + bInheritHandle: BOOL, + dwOptions: DWORD, + ) -> BOOL --- + ReadFile :: proc( + hFile: HANDLE, + lpBuffer: LPVOID, + nNumberOfBytesToRead: DWORD, + lpNumberOfBytesRead: LPDWORD, + lpOverlapped: LPOVERLAPPED, + ) -> BOOL --- + WriteFile :: proc( + hFile: HANDLE, + lpBuffer: LPVOID, + nNumberOfBytesToWrite: DWORD, + lpNumberOfBytesWritten: LPDWORD, + lpOverlapped: LPOVERLAPPED, + ) -> BOOL --- CloseHandle :: proc(hObject: HANDLE) -> BOOL --- MoveFileExW :: proc(lpExistingFileName: LPCWSTR, lpNewFileName: LPCWSTR, dwFlags: DWORD) -> BOOL --- - SetFilePointerEx :: proc(hFile: HANDLE, liDistanceToMove: LARGE_INTEGER, lpNewFilePointer: PLARGE_INTEGER, dwMoveMethod: DWORD) -> BOOL --- + SetFilePointerEx :: proc( + hFile: HANDLE, + liDistanceToMove: LARGE_INTEGER, + lpNewFilePointer: PLARGE_INTEGER, + dwMoveMethod: DWORD, + ) -> BOOL --- FlushFileBuffers :: proc(hFile: HANDLE) -> BOOL --- - CreateFileW :: proc(lpFileName: LPCWSTR, dwDesiredAccess: DWORD, dwShareMode: DWORD, lpSecurityAttributes: LPSECURITY_ATTRIBUTES, dwCreationDisposition: DWORD, dwFlagsAndAttributes: DWORD, hTemplateFile: HANDLE) -> HANDLE --- + CreateFileW :: proc( + lpFileName: LPCWSTR, + dwDesiredAccess: DWORD, + dwShareMode: DWORD, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + dwCreationDisposition: DWORD, + dwFlagsAndAttributes: DWORD, + hTemplateFile: HANDLE, + ) -> HANDLE --- FindFirstFileW :: proc(fileName: LPCWSTR, findFileData: LPWIN32_FIND_DATAW) -> HANDLE --- FindNextFileW :: proc(findFile: HANDLE, findFileData: LPWIN32_FIND_DATAW) -> BOOL --- @@ -129,14 +276,45 @@ foreign kernel32 { GetSystemTimeAsFileTime :: proc(lpSystemTimeAsFileTime: LPFILETIME) --- GetSystemTimePreciseAsFileTime :: proc(lpSystemTimeAsFileTime: LPFILETIME) --- FileTimeToSystemTime :: proc(lpFileTime: ^FILETIME, lpSystemTime: ^SYSTEMTIME) -> BOOL --- - SystemTimeToTzSpecificLocalTime :: proc(lpTimeZoneInformation: ^TIME_ZONE_INFORMATION, lpUniversalTime: ^SYSTEMTIME, lpLocalTime: ^SYSTEMTIME) -> BOOL --- - SystemTimeToFileTime :: proc(lpSystemTime: ^SYSTEMTIME, lpFileTime: LPFILETIME) -> BOOL --- - CreateEventW :: proc(lpEventAttributes: LPSECURITY_ATTRIBUTES, bManualReset: BOOL, bInitialState: BOOL, lpName: LPCWSTR) -> HANDLE --- + SystemTimeToTzSpecificLocalTime :: proc( + lpTimeZoneInformation: ^TIME_ZONE_INFORMATION, + lpUniversalTime: ^SYSTEMTIME, + lpLocalTime: ^SYSTEMTIME, + ) -> BOOL --- + SystemTimeToFileTime :: proc( + lpSystemTime: ^SYSTEMTIME, + lpFileTime: LPFILETIME, + ) -> BOOL --- + CreateEventW :: proc( + lpEventAttributes: LPSECURITY_ATTRIBUTES, + bManualReset: BOOL, + bInitialState: BOOL, + lpName: LPCWSTR, + ) -> HANDLE --- ResetEvent :: proc(hEvent: HANDLE) -> BOOL --- - WaitForMultipleObjects :: proc(nCount: DWORD, lpHandles: ^HANDLE, bWaitAll: BOOL, dwMilliseconds: DWORD) -> DWORD --- - CreateNamedPipeW :: proc(lpName: LPCWSTR, dwOpenMode: DWORD, dwPipeMode: DWORD, nMaxInstances: DWORD, nOutBufferSize: DWORD, nInBufferSize: DWORD, nDefaultTimeOut: DWORD, lpSecurityAttributes: LPSECURITY_ATTRIBUTES) -> HANDLE --- + WaitForMultipleObjects :: proc( + nCount: DWORD, + lpHandles: ^HANDLE, + bWaitAll: BOOL, + dwMilliseconds: DWORD, + ) -> DWORD --- + CreateNamedPipeW :: proc( + lpName: LPCWSTR, + dwOpenMode: DWORD, + dwPipeMode: DWORD, + nMaxInstances: DWORD, + nOutBufferSize: DWORD, + nInBufferSize: DWORD, + nDefaultTimeOut: DWORD, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + ) -> HANDLE --- CancelIo :: proc(handle: HANDLE) -> BOOL --- - GetOverlappedResult :: proc(hFile: HANDLE, lpOverlapped: LPOVERLAPPED, lpNumberOfBytesTransferred: LPDWORD, bWait: BOOL) -> BOOL --- + GetOverlappedResult :: proc( + hFile: HANDLE, + lpOverlapped: LPOVERLAPPED, + lpNumberOfBytesTransferred: LPDWORD, + bWait: BOOL, + ) -> BOOL --- GetProcessHeap :: proc() -> HANDLE --- HeapAlloc :: proc(hHeap: HANDLE, dwFlags: DWORD, dwBytes: SIZE_T) -> LPVOID --- HeapReAlloc :: proc(hHeap: HANDLE, dwFlags: DWORD, lpMem: LPVOID, dwBytes: SIZE_T) -> LPVOID --- @@ -147,30 +325,43 @@ foreign kernel32 { LocalFree :: proc(mem: LPVOID) -> LPVOID --- - ReadDirectoryChangesW :: proc(hDirectory: HANDLE, lpBuffer: LPVOID, nBufferLength: DWORD, bWatchSubtree: BOOL, dwNotifyFilter: DWORD, lpBytesReturned: LPDWORD, lpOverlapped: LPOVERLAPPED, lpCompletionRoutine: LPOVERLAPPED_COMPLETION_ROUTINE) -> BOOL --- - FindFirstChangeNotificationW :: proc(lpPathName: LPWSTR, bWatchSubtree: BOOL, dwNotifyFilter: DWORD) -> HANDLE --- + ReadDirectoryChangesW :: proc( + hDirectory: HANDLE, + lpBuffer: LPVOID, + nBufferLength: DWORD, + bWatchSubtree: BOOL, + dwNotifyFilter: DWORD, + lpBytesReturned: LPDWORD, + lpOverlapped: LPOVERLAPPED, + lpCompletionRoutine: LPOVERLAPPED_COMPLETION_ROUTINE, + ) -> BOOL --- + FindFirstChangeNotificationW :: proc( + lpPathName: LPWSTR, + bWatchSubtree: BOOL, + dwNotifyFilter: DWORD, + ) -> HANDLE --- FindNextChangeNotification :: proc(hChangeHandle: HANDLE) -> BOOL --- FindCloseChangeNotification :: proc(hChangeHandle: HANDLE) -> BOOL --- - InitializeSRWLock :: proc(SRWLock: ^SRWLOCK) --- - AcquireSRWLockExclusive :: proc(SRWLock: ^SRWLOCK) --- + InitializeSRWLock :: proc(SRWLock: ^SRWLOCK) --- + AcquireSRWLockExclusive :: proc(SRWLock: ^SRWLOCK) --- TryAcquireSRWLockExclusive :: proc(SRWLock: ^SRWLOCK) -> BOOLEAN --- - ReleaseSRWLockExclusive :: proc(SRWLock: ^SRWLOCK) --- - AcquireSRWLockShared :: proc(SRWLock: ^SRWLOCK) --- + ReleaseSRWLockExclusive :: proc(SRWLock: ^SRWLOCK) --- + AcquireSRWLockShared :: proc(SRWLock: ^SRWLOCK) --- TryAcquireSRWLockShared :: proc(SRWLock: ^SRWLOCK) -> BOOLEAN --- - ReleaseSRWLockShared :: proc(SRWLock: ^SRWLOCK) --- + ReleaseSRWLockShared :: proc(SRWLock: ^SRWLOCK) --- InitializeConditionVariable :: proc(ConditionVariable: ^CONDITION_VARIABLE) --- - WakeConditionVariable :: proc(ConditionVariable: ^CONDITION_VARIABLE) --- - WakeAllConditionVariable :: proc(ConditionVariable: ^CONDITION_VARIABLE) --- - SleepConditionVariableCS :: proc(ConditionVariable: ^CONDITION_VARIABLE, CriticalSection: ^CRITICAL_SECTION, dwMilliseconds: DWORD) -> BOOL --- - SleepConditionVariableSRW :: proc(ConditionVariable: ^CONDITION_VARIABLE, SRWLock: ^SRWLOCK, dwMilliseconds: DWORD, Flags: LONG) -> BOOL --- + WakeConditionVariable :: proc(ConditionVariable: ^CONDITION_VARIABLE) --- + WakeAllConditionVariable :: proc(ConditionVariable: ^CONDITION_VARIABLE) --- + SleepConditionVariableCS :: proc(ConditionVariable: ^CONDITION_VARIABLE, CriticalSection: ^CRITICAL_SECTION, dwMilliseconds: DWORD) -> BOOL --- + SleepConditionVariableSRW :: proc(ConditionVariable: ^CONDITION_VARIABLE, SRWLock: ^SRWLOCK, dwMilliseconds: DWORD, Flags: LONG) -> BOOL --- GetFileType :: proc(file_handle: HANDLE) -> DWORD --- SetFilePointer :: proc(file_handle: HANDLE, distance_to_move: LONG, distance_to_move_high: ^LONG, move_method: DWORD) -> DWORD --- GetFileSizeEx :: proc(file_handle: HANDLE, file_size: ^LARGE_INTEGER) -> BOOL --- - GetFileAttributesW :: proc(lpFileName: LPCWSTR) -> DWORD --- + GetFileAttributesW :: proc(lpFileName: LPCWSTR) -> DWORD --- GetFileAttributesExW :: proc(lpFileName: LPCWSTR, fInfoLevelId: GET_FILEEX_INFO_LEVELS, lpFileInformation: LPVOID) -> BOOL --- GetSystemInfo :: proc(system_info: ^SYSTEM_INFO) --- GetVersionExW :: proc(osvi: ^OSVERSIONINFOEXW) --- @@ -180,8 +371,8 @@ foreign kernel32 { GetProcAddress :: proc(h: HMODULE, c_str: LPCSTR) -> rawptr --- - GetFullPathNameW :: proc(filename: LPCWSTR, buffer_length: DWORD, buffer: LPCWSTR, file_part: ^LPCWSTR) -> DWORD --- - GetLongPathNameW :: proc(short, long: LPCWSTR, len: DWORD) -> DWORD --- + GetFullPathNameW :: proc(filename: LPCWSTR, buffer_length: DWORD, buffer: LPCWSTR, file_part: ^LPCWSTR) -> DWORD --- + GetLongPathNameW :: proc(short, long: LPCWSTR, len: DWORD) -> DWORD --- GetShortPathNameW :: proc(long, short: LPCWSTR, len: DWORD) -> DWORD --- GetFinalPathNameByHandleW :: proc(hFile: HANDLE, lpszFilePath: LPCWSTR, cchFilePath: DWORD, dwFlags: DWORD) -> DWORD --- @@ -191,9 +382,9 @@ foreign kernel32 { CreatePipe :: proc(hReadPipe, hWritePipe: ^HANDLE, lpPipeAttributes: LPSECURITY_ATTRIBUTES, nSize: DWORD) -> BOOL --- - ConnectNamedPipe :: proc(hNamedPipe: HANDLE, lpOverlapped: LPOVERLAPPED) -> BOOL --- - DisconnectNamedPipe :: proc(hNamedPipe: HANDLE) -> BOOL --- - WaitNamedPipeW :: proc(lpNamedPipeName: LPCWSTR, nTimeOut: DWORD) -> BOOL --- + ConnectNamedPipe :: proc(hNamedPipe: HANDLE, lpOverlapped: LPOVERLAPPED,) -> BOOL --- + DisconnectNamedPipe :: proc(hNamedPipe: HANDLE,) -> BOOL --- + WaitNamedPipeW :: proc(lpNamedPipeName: LPCWSTR, nTimeOut: DWORD,) -> BOOL --- SetConsoleCtrlHandler :: proc(HandlerRoutine: PHANDLER_ROUTINE, Add: BOOL) -> BOOL --- GenerateConsoleCtrlEvent :: proc(dwCtrlEvent: DWORD, dwProcessGroupId: DWORD) -> BOOL --- @@ -201,11 +392,16 @@ foreign kernel32 { GetConsoleWindow :: proc() -> HWND --- GetConsoleScreenBufferInfo :: proc(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: PCONSOLE_SCREEN_BUFFER_INFO) -> BOOL --- SetConsoleScreenBufferSize :: proc(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL --- - SetConsoleWindowInfo :: proc(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: ^SMALL_RECT) -> BOOL --- + SetConsoleWindowInfo :: proc(hConsoleOutput: HANDLE, bAbsolute : BOOL, lpConsoleWindow: ^SMALL_RECT) -> BOOL --- GetConsoleCursorInfo :: proc(hConsoleOutput: HANDLE, lpConsoleCursorInfo: PCONSOLE_CURSOR_INFO) -> BOOL --- SetConsoleCursorInfo :: proc(hConsoleOutput: HANDLE, lpConsoleCursorInfo: PCONSOLE_CURSOR_INFO) -> BOOL --- - GetDiskFreeSpaceExW :: proc(lpDirectoryName: LPCWSTR, lpFreeBytesAvailableToCaller: PULARGE_INTEGER, lpTotalNumberOfBytes: PULARGE_INTEGER, lpTotalNumberOfFreeBytes: PULARGE_INTEGER) -> BOOL --- + GetDiskFreeSpaceExW :: proc( + lpDirectoryName: LPCWSTR, + lpFreeBytesAvailableToCaller: PULARGE_INTEGER, + lpTotalNumberOfBytes: PULARGE_INTEGER, + lpTotalNumberOfFreeBytes: PULARGE_INTEGER, + ) -> BOOL --- GetLogicalProcessorInformation :: proc(buffer: ^SYSTEM_LOGICAL_PROCESSOR_INFORMATION, returnedLength: PDWORD) -> BOOL --- @@ -219,100 +415,197 @@ foreign kernel32 { GetQueuedCompletionStatusEx :: proc(CompletionPort: HANDLE, lpCompletionPortEntries: ^OVERLAPPED_ENTRY, ulCount: c_ulong, ulNumEntriesRemoved: ^c_ulong, dwMilliseconds: DWORD, fAlertable: BOOL) -> BOOL --- // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/ioapiset/nf-ioapiset-postqueuedcompletionstatus) PostQueuedCompletionStatus :: proc(CompletionPort: HANDLE, dwNumberOfBytesTransferred: DWORD, dwCompletionKey: c_ulong, lpOverlapped: ^OVERLAPPED) -> BOOL --- - // [MS-Docs] (https://learn.microsoft.com/en-us/windows/win32/api/sysinfoapi/nf-sysinfoapi-gettickcount64) - GetTickCount64 :: proc() -> u64 --- - // [MS-Docs](https://github.com/mic101/windows/blob/master/WRK-v1.2/base/ntos/ex/keyedevent.c) - NtCreateKeyedEvent :: proc(KeyedEventHandle: ^HANDLE, DesiredAccess: ACCESS_MASK, ObjectAttributes: OBJECT_ATTRIBUTES, Flags: u32) -> NTSTATUS --- // [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/handleapi/nf-handleapi-gethandleinformation) GetHandleInformation :: proc(hObject: HANDLE, lpdwFlags: ^DWORD) -> BOOL --- } -SECTION_QUERY :: DWORD(0x0001) -SECTION_MAP_WRITE :: DWORD(0x0002) -SECTION_MAP_READ :: DWORD(0x0004) -SECTION_MAP_EXECUTE :: DWORD(0x0008) -SECTION_EXTEND_SIZE :: DWORD(0x0010) -SECTION_ALL_ACCESS :: - STANDARD_RIGHTS_REQUIRED | - SECTION_QUERY | - SECTION_MAP_WRITE | - SECTION_MAP_READ | - SECTION_MAP_EXECUTE | - SECTION_EXTEND_SIZE +SECTION_QUERY :: DWORD(0x0001) +SECTION_MAP_WRITE :: DWORD(0x0002) +SECTION_MAP_READ :: DWORD(0x0004) +SECTION_MAP_EXECUTE :: DWORD(0x0008) +SECTION_EXTEND_SIZE :: DWORD(0x0010) +SECTION_ALL_ACCESS :: STANDARD_RIGHTS_REQUIRED | SECTION_QUERY | SECTION_MAP_WRITE | SECTION_MAP_READ | SECTION_MAP_EXECUTE | SECTION_EXTEND_SIZE SECTION_MAP_EXECUTE_EXPLICIT :: DWORD(0x0020) -FILE_MAP_WRITE :: SECTION_MAP_WRITE -FILE_MAP_READ :: SECTION_MAP_READ -FILE_MAP_ALL_ACCESS :: SECTION_ALL_ACCESS -FILE_MAP_EXECUTE :: SECTION_MAP_EXECUTE_EXPLICIT -FILE_MAP_COPY :: DWORD(0x00000001) -FILE_MAP_RESERVE :: DWORD(0x80000000) +FILE_MAP_WRITE :: SECTION_MAP_WRITE +FILE_MAP_READ :: SECTION_MAP_READ +FILE_MAP_ALL_ACCESS :: SECTION_ALL_ACCESS +FILE_MAP_EXECUTE :: SECTION_MAP_EXECUTE_EXPLICIT +FILE_MAP_COPY :: DWORD(0x00000001) +FILE_MAP_RESERVE :: DWORD(0x80000000) FILE_MAP_TARGETS_INVALID :: DWORD(0x40000000) -FILE_MAP_LARGE_PAGES :: DWORD(0x20000000) +FILE_MAP_LARGE_PAGES :: DWORD(0x20000000) -PAGE_NOACCESS :: 0x01 -PAGE_READONLY :: 0x02 -PAGE_READWRITE :: 0x04 -PAGE_WRITECOPY :: 0x08 -PAGE_EXECUTE :: 0x10 -PAGE_EXECUTE_READ :: 0x20 +PAGE_NOACCESS :: 0x01 +PAGE_READONLY :: 0x02 +PAGE_READWRITE :: 0x04 +PAGE_WRITECOPY :: 0x08 +PAGE_EXECUTE :: 0x10 +PAGE_EXECUTE_READ :: 0x20 PAGE_EXECUTE_READWRITE :: 0x40 PAGE_EXECUTE_WRITECOPY :: 0x80 -PAGE_GUARD :: 0x100 -PAGE_NOCACHE :: 0x200 -PAGE_WRITECOMBINE :: 0x400 +PAGE_GUARD :: 0x100 +PAGE_NOCACHE :: 0x200 +PAGE_WRITECOMBINE :: 0x400 MEMORY_BASIC_INFORMATION :: struct { - BaseAddress: PVOID, - AllocationBase: PVOID, + BaseAddress: PVOID, + AllocationBase: PVOID, AllocationProtect: DWORD, - PartitionId: WORD, - RegionSize: SIZE_T, - State: DWORD, - Protect: DWORD, - Type: DWORD, + PartitionId: WORD, + RegionSize: SIZE_T, + State: DWORD, + Protect: DWORD, + Type: DWORD, } PMEMORY_BASIC_INFORMATION :: ^MEMORY_BASIC_INFORMATION LPMEMORY_BASIC_INFORMATION :: ^MEMORY_BASIC_INFORMATION -MEM_COMMIT :: 0x1000 -MEM_RESERVE :: 0x2000 -MEM_DECOMMIT :: 0x4000 -MEM_RELEASE :: 0x8000 -MEM_FREE :: 0x10000 -MEM_PRIVATE :: 0x20000 -MEM_MAPPED :: 0x40000 -MEM_RESET :: 0x80000 -MEM_TOP_DOWN :: 0x100000 +MEM_COMMIT :: 0x1000 +MEM_RESERVE :: 0x2000 +MEM_DECOMMIT :: 0x4000 +MEM_RELEASE :: 0x8000 +MEM_FREE :: 0x10000 +MEM_PRIVATE :: 0x20000 +MEM_MAPPED :: 0x40000 +MEM_RESET :: 0x80000 +MEM_TOP_DOWN :: 0x100000 MEM_LARGE_PAGES :: 0x20000000 -MEM_4MB_PAGES :: 0x80000000 +MEM_4MB_PAGES :: 0x80000000 -@(default_calling_convention = "stdcall") +@(default_calling_convention="stdcall") foreign kernel32 { - VirtualAlloc :: proc(lpAddress: LPVOID, dwSize: SIZE_T, flAllocationType: DWORD, flProtect: DWORD) -> LPVOID --- - VirtualProtect :: proc(lpAddress: LPVOID, dwSize: SIZE_T, flNewProtect: DWORD, lpflOldProtect: PDWORD) -> BOOL --- - VirtualFree :: proc(lpAddress: LPVOID, dwSize: SIZE_T, dwFreeType: DWORD) -> BOOL --- - VirtualQuery :: proc(lpAddress: LPCVOID, lpBuffer: PMEMORY_BASIC_INFORMATION, dwLength: SIZE_T) -> SIZE_T --- - VirtualAllocEx :: proc(hProcess: HANDLE, lpAddress: LPVOID, dwSize: SIZE_T, flAllocationType: DWORD, flProtect: DWORD) -> LPVOID --- - VirtualFreeEx :: proc(hProcess: HANDLE, lpAddress: LPVOID, dwSize: SIZE_T, dwFreeType: DWORD) -> BOOL --- - VirtualProtectEx :: proc(hProcess: HANDLE, lpAddress: LPVOID, dwSize: SIZE_T, flNewProtect: DWORD, lpflOldProtect: PDWORD) -> BOOL --- - VirtualQueryEx :: proc(hProcess: HANDLE, lpAddress: LPCVOID, lpBuffer: PMEMORY_BASIC_INFORMATION, dwLength: SIZE_T) -> SIZE_T --- - ReadProcessMemory :: proc(hProcess: HANDLE, lpBaseAddress: LPCVOID, lpBuffer: LPVOID, nSize: SIZE_T, lpNumberOfBytesRead: ^SIZE_T) -> BOOL --- - WriteProcessMemory :: proc(hProcess: HANDLE, lpBaseAddress: LPVOID, lpBuffer: LPCVOID, nSize: SIZE_T, lpNumberOfBytesWritten: ^SIZE_T) -> BOOL --- - CreateFileMappingW :: proc(hFile: HANDLE, lpFileMappingAttributes: LPSECURITY_ATTRIBUTES, flProtect: DWORD, dwMaximumSizeHigh: DWORD, dwMaximumSizeLow: DWORD, lpName: LPCWSTR) -> HANDLE --- - OpenFileMappingW :: proc(dwDesiredAccess: DWORD, bInheritHandle: BOOL, lpName: LPCWSTR) -> HANDLE --- - MapViewOfFile :: proc(hFileMappingObject: HANDLE, dwDesiredAccess: DWORD, dwFileOffsetHigh: DWORD, dwFileOffsetLow: DWORD, dwNumberOfBytesToMap: SIZE_T) -> LPVOID --- - MapViewOfFileEx :: proc(hFileMappingObject: HANDLE, dwDesiredAccess: DWORD, dwFileOffsetHigh: DWORD, dwFileOffsetLow: DWORD, dwNumberOfBytesToMap: SIZE_T, lpBaseAddress: LPVOID) -> LPVOID --- - FlushViewOfFile :: proc(lpBaseAddress: LPCVOID, dwNumberOfBytesToFlush: SIZE_T) -> BOOL --- - UnmapViewOfFile :: proc(lpBaseAddress: LPCVOID) -> BOOL --- + VirtualAlloc :: proc( + lpAddress: LPVOID, + dwSize: SIZE_T, + flAllocationType: DWORD, + flProtect: DWORD, + ) -> LPVOID --- + VirtualProtect :: proc( + lpAddress: LPVOID, + dwSize: SIZE_T, + flNewProtect: DWORD, + lpflOldProtect: PDWORD, + ) -> BOOL --- + VirtualFree :: proc( + lpAddress: LPVOID, + dwSize: SIZE_T, + dwFreeType: DWORD, + ) -> BOOL --- + VirtualQuery :: proc( + lpAddress: LPCVOID, + lpBuffer: PMEMORY_BASIC_INFORMATION, + dwLength: SIZE_T, + ) -> SIZE_T --- + VirtualAllocEx :: proc( + hProcess: HANDLE, + lpAddress: LPVOID, + dwSize: SIZE_T, + flAllocationType: DWORD, + flProtect: DWORD, + ) -> LPVOID --- + VirtualFreeEx :: proc( + hProcess: HANDLE, + lpAddress: LPVOID, + dwSize: SIZE_T, + dwFreeType: DWORD, + ) -> BOOL --- + VirtualProtectEx :: proc( + hProcess: HANDLE, + lpAddress: LPVOID, + dwSize: SIZE_T, + flNewProtect: DWORD, + lpflOldProtect: PDWORD, + ) -> BOOL --- + VirtualQueryEx :: proc( + hProcess: HANDLE, + lpAddress: LPCVOID, + lpBuffer: PMEMORY_BASIC_INFORMATION, + dwLength: SIZE_T, + ) -> SIZE_T --- + ReadProcessMemory :: proc( + hProcess: HANDLE, + lpBaseAddress: LPCVOID, + lpBuffer: LPVOID, + nSize: SIZE_T, + lpNumberOfBytesRead: ^SIZE_T, + ) -> BOOL --- + WriteProcessMemory :: proc( + hProcess: HANDLE, + lpBaseAddress: LPVOID, + lpBuffer: LPCVOID, + nSize: SIZE_T, + lpNumberOfBytesWritten: ^SIZE_T, + ) -> BOOL --- + CreateFileMappingW :: proc( + hFile: HANDLE, + lpFileMappingAttributes: LPSECURITY_ATTRIBUTES, + flProtect: DWORD, + dwMaximumSizeHigh: DWORD, + dwMaximumSizeLow: DWORD, + lpName: LPCWSTR, + ) -> HANDLE --- + OpenFileMappingW :: proc( + dwDesiredAccess: DWORD, + bInheritHandle: BOOL, + lpName: LPCWSTR, + ) -> HANDLE --- + MapViewOfFile :: proc( + hFileMappingObject: HANDLE, + dwDesiredAccess: DWORD, + dwFileOffsetHigh: DWORD, + dwFileOffsetLow: DWORD, + dwNumberOfBytesToMap: SIZE_T, + ) -> LPVOID --- + MapViewOfFileEx :: proc( + hFileMappingObject: HANDLE, + dwDesiredAccess: DWORD, + dwFileOffsetHigh: DWORD, + dwFileOffsetLow: DWORD, + dwNumberOfBytesToMap: SIZE_T, + lpBaseAddress: LPVOID, + ) -> LPVOID --- + FlushViewOfFile :: proc( + lpBaseAddress: LPCVOID, + dwNumberOfBytesToFlush: SIZE_T, + ) -> BOOL --- + UnmapViewOfFile :: proc( + lpBaseAddress: LPCVOID, + ) -> BOOL --- GetLargePageMinimum :: proc() -> SIZE_T --- - GetProcessWorkingSetSizeEx :: proc(hProcess: HANDLE, lpMinimumWorkingSetSize: PSIZE_T, lpMaximumWorkingSetSize: PSIZE_T, Flags: PDWORD) -> BOOL --- - SetProcessWorkingSetSizeEx :: proc(hProcess: HANDLE, dwMinimumWorkingSetSize: SIZE_T, dwMaximumWorkingSetSize: SIZE_T, Flags: DWORD) -> BOOL --- - VirtualLock :: proc(lpAddress: LPVOID, dwSize: SIZE_T) -> BOOL --- - VirtualUnlock :: proc(lpAddress: LPVOID, dwSize: SIZE_T) -> BOOL --- - GetWriteWatch :: proc(dwFlags: DWORD, lpBaseAddress: PVOID, dwRegionSize: SIZE_T, lpAddresses: ^PVOID, lpdwCount: ^ULONG_PTR, lpdwGranularity: LPDWORD) -> UINT --- - ResetWriteWatch :: proc(lpBaseAddress: LPVOID, dwRegionSize: SIZE_T) -> UINT --- + GetProcessWorkingSetSizeEx :: proc( + hProcess: HANDLE, + lpMinimumWorkingSetSize: PSIZE_T, + lpMaximumWorkingSetSize: PSIZE_T, + Flags: PDWORD, + ) -> BOOL --- + SetProcessWorkingSetSizeEx :: proc( + hProcess: HANDLE, + dwMinimumWorkingSetSize: SIZE_T, + dwMaximumWorkingSetSize: SIZE_T, + Flags: DWORD, + ) -> BOOL --- + VirtualLock :: proc( + lpAddress: LPVOID, + dwSize: SIZE_T, + ) -> BOOL --- + VirtualUnlock :: proc( + lpAddress: LPVOID, + dwSize: SIZE_T, + ) -> BOOL --- + GetWriteWatch :: proc( + dwFlags: DWORD, + lpBaseAddress: PVOID, + dwRegionSize: SIZE_T, + lpAddresses: ^PVOID, + lpdwCount: ^ULONG_PTR, + lpdwGranularity: LPDWORD, + ) -> UINT --- + ResetWriteWatch :: proc( + lpBaseAddress: LPVOID, + dwRegionSize: SIZE_T, + ) -> UINT --- } @@ -320,66 +613,138 @@ MEMORY_RESOURCE_NOTIFICATION_TYPE :: enum c_int { LowMemoryResourceNotification, HighMemoryResourceNotification, } -LowMemoryResourceNotification :: MEMORY_RESOURCE_NOTIFICATION_TYPE.LowMemoryResourceNotification +LowMemoryResourceNotification :: MEMORY_RESOURCE_NOTIFICATION_TYPE.LowMemoryResourceNotification HighMemoryResourceNotification :: MEMORY_RESOURCE_NOTIFICATION_TYPE.HighMemoryResourceNotification -@(default_calling_convention = "stdcall") +@(default_calling_convention="stdcall") foreign kernel32 { - CreateMemoryResourceNotification :: proc(NotificationType: MEMORY_RESOURCE_NOTIFICATION_TYPE) -> HANDLE --- - QueryMemoryResourceNotification :: proc(ResourceNotificationHandle: HANDLE, ResourceState: PBOOL) -> BOOL --- + CreateMemoryResourceNotification :: proc( + NotificationType: MEMORY_RESOURCE_NOTIFICATION_TYPE, + ) -> HANDLE --- + QueryMemoryResourceNotification :: proc( + ResourceNotificationHandle: HANDLE, + ResourceState: PBOOL, + ) -> BOOL --- } -FILE_CACHE_MAX_HARD_ENABLE :: DWORD(0x00000001) +FILE_CACHE_MAX_HARD_ENABLE :: DWORD(0x00000001) FILE_CACHE_MAX_HARD_DISABLE :: DWORD(0x00000002) -FILE_CACHE_MIN_HARD_ENABLE :: DWORD(0x00000004) +FILE_CACHE_MIN_HARD_ENABLE :: DWORD(0x00000004) FILE_CACHE_MIN_HARD_DISABLE :: DWORD(0x00000008) -@(default_calling_convention = "stdcall") +@(default_calling_convention="stdcall") foreign kernel32 { - GetSystemFileCacheSize :: proc(lpMinimumFileCacheSize: PSIZE_T, lpMaximumFileCacheSize: PSIZE_T, lpFlags: PDWORD) -> BOOL --- - SetSystemFileCacheSize :: proc(MinimumFileCacheSize: SIZE_T, MaximumFileCacheSize: SIZE_T, Flags: DWORD) -> BOOL --- - CreateFileMappingNumaW :: proc(hFile: HANDLE, lpFileMappingAttributes: LPSECURITY_ATTRIBUTES, flProtect: DWORD, dwMaximumSizeHigh: DWORD, dwMaximumSizeLow: DWORD, lpName: LPCWSTR, nndPreferred: DWORD) -> HANDLE --- + GetSystemFileCacheSize :: proc( + lpMinimumFileCacheSize: PSIZE_T, + lpMaximumFileCacheSize: PSIZE_T, + lpFlags: PDWORD, + ) -> BOOL --- + SetSystemFileCacheSize :: proc( + MinimumFileCacheSize: SIZE_T, + MaximumFileCacheSize: SIZE_T, + Flags: DWORD, + ) -> BOOL --- + CreateFileMappingNumaW :: proc( + hFile: HANDLE, + lpFileMappingAttributes: LPSECURITY_ATTRIBUTES, + flProtect: DWORD, + dwMaximumSizeHigh: DWORD, + dwMaximumSizeLow: DWORD, + lpName: LPCWSTR, + nndPreferred: DWORD, + ) -> HANDLE --- } WIN32_MEMORY_RANGE_ENTRY :: struct { VirtualAddress: PVOID, - NumberOfBytes: SIZE_T, + NumberOfBytes: SIZE_T, } PWIN32_MEMORY_RANGE_ENTRY :: ^WIN32_MEMORY_RANGE_ENTRY -@(default_calling_convention = "stdcall") +@(default_calling_convention="stdcall") foreign kernel32 { - PrefetchVirtualMemory :: proc(hProcess: HANDLE, NumberOfEntries: ULONG_PTR, VirtualAddresses: PWIN32_MEMORY_RANGE_ENTRY, Flags: ULONG) -> BOOL --- - CreateFileMappingFromApp :: proc(hFile: HANDLE, SecurityAttributes: PSECURITY_ATTRIBUTES, PageProtection: ULONG, MaximumSize: ULONG64, Name: PCWSTR) -> HANDLE --- - MapViewOfFileFromApp :: proc(hFileMappingObject: HANDLE, DesiredAccess: ULONG, FileOffset: ULONG64, NumberOfBytesToMap: SIZE_T) -> PVOID --- - UnmapViewOfFileEx :: proc(BaseAddress: PVOID, UnmapFlags: ULONG) -> BOOL --- - AllocateUserPhysicalPages :: proc(hProcess: HANDLE, NumberOfPages: PULONG_PTR, PageArray: PULONG_PTR) -> BOOL --- - FreeUserPhysicalPages :: proc(hProcess: HANDLE, NumberOfPages: PULONG_PTR, PageArray: PULONG_PTR) -> BOOL --- - MapUserPhysicalPages :: proc(VirtualAddress: PVOID, NumberOfPages: ULONG_PTR, PageArray: PULONG_PTR) -> BOOL --- - AllocateUserPhysicalPagesNuma :: proc(hProcess: HANDLE, NumberOfPages: PULONG_PTR, PageArray: PULONG_PTR, nndPreferred: DWORD) -> BOOL --- - VirtualAllocExNuma :: proc(hProcess: HANDLE, lpAddress: LPVOID, dwSize: SIZE_T, flAllocationType: DWORD, flProtect: DWORD, nndPreferred: DWORD) -> LPVOID --- + PrefetchVirtualMemory :: proc( + hProcess: HANDLE, + NumberOfEntries: ULONG_PTR, + VirtualAddresses: PWIN32_MEMORY_RANGE_ENTRY, + Flags: ULONG, + ) -> BOOL --- + CreateFileMappingFromApp :: proc( + hFile: HANDLE, + SecurityAttributes: PSECURITY_ATTRIBUTES, + PageProtection: ULONG, + MaximumSize: ULONG64, + Name: PCWSTR, + ) -> HANDLE --- + MapViewOfFileFromApp :: proc( + hFileMappingObject: HANDLE, + DesiredAccess: ULONG, + FileOffset: ULONG64, + NumberOfBytesToMap: SIZE_T, + ) -> PVOID --- + UnmapViewOfFileEx :: proc( + BaseAddress: PVOID, + UnmapFlags: ULONG, + ) -> BOOL --- + AllocateUserPhysicalPages :: proc( + hProcess: HANDLE, + NumberOfPages: PULONG_PTR, + PageArray: PULONG_PTR, + ) -> BOOL --- + FreeUserPhysicalPages :: proc( + hProcess: HANDLE, + NumberOfPages: PULONG_PTR, + PageArray: PULONG_PTR, + ) -> BOOL --- + MapUserPhysicalPages :: proc( + VirtualAddress: PVOID, + NumberOfPages: ULONG_PTR, + PageArray: PULONG_PTR, + ) -> BOOL --- + AllocateUserPhysicalPagesNuma :: proc( + hProcess: HANDLE, + NumberOfPages: PULONG_PTR, + PageArray: PULONG_PTR, + nndPreferred: DWORD, + ) -> BOOL --- + VirtualAllocExNuma :: proc( + hProcess: HANDLE, + lpAddress: LPVOID, + dwSize: SIZE_T, + flAllocationType: DWORD, + flProtect: DWORD, + nndPreferred: DWORD, + ) -> LPVOID --- } MEHC_PATROL_SCRUBBER_PRESENT :: ULONG(0x1) -@(default_calling_convention = "stdcall") +@(default_calling_convention="stdcall") foreign kernel32 { - GetMemoryErrorHandlingCapabilities :: proc(Capabilities: PULONG) -> BOOL --- + GetMemoryErrorHandlingCapabilities :: proc( + Capabilities: PULONG, + ) -> BOOL --- } -@(default_calling_convention = "stdcall") +@(default_calling_convention="stdcall") foreign kernel32 { - GlobalMemoryStatusEx :: proc(lpBuffer: ^MEMORYSTATUSEX) -> BOOL --- + GlobalMemoryStatusEx :: proc( + lpBuffer: ^MEMORYSTATUSEX, + ) -> BOOL --- } PBAD_MEMORY_CALLBACK_ROUTINE :: #type proc "stdcall" () -@(default_calling_convention = "stdcall") +@(default_calling_convention="stdcall") foreign kernel32 { - RegisterBadMemoryNotification :: proc(Callback: PBAD_MEMORY_CALLBACK_ROUTINE) -> PVOID --- - UnregisterBadMemoryNotification :: proc(RegistrationHandle: PVOID) -> BOOL --- + RegisterBadMemoryNotification :: proc( + Callback: PBAD_MEMORY_CALLBACK_ROUTINE, + ) -> PVOID --- + UnregisterBadMemoryNotification :: proc( + RegistrationHandle: PVOID, + ) -> BOOL --- } OFFER_PRIORITY :: enum c_int { @@ -388,19 +753,43 @@ OFFER_PRIORITY :: enum c_int { VmOfferPriorityBelowNormal, VmOfferPriorityNormal, } -VmOfferPriorityVeryLow :: OFFER_PRIORITY.VmOfferPriorityVeryLow -VmOfferPriorityLow :: OFFER_PRIORITY.VmOfferPriorityLow +VmOfferPriorityVeryLow :: OFFER_PRIORITY.VmOfferPriorityVeryLow +VmOfferPriorityLow :: OFFER_PRIORITY.VmOfferPriorityLow VmOfferPriorityBelowNormal :: OFFER_PRIORITY.VmOfferPriorityBelowNormal -VmOfferPriorityNormal :: OFFER_PRIORITY.VmOfferPriorityNormal +VmOfferPriorityNormal :: OFFER_PRIORITY.VmOfferPriorityNormal -@(default_calling_convention = "stdcall") +@(default_calling_convention="stdcall") foreign kernel32 { - OfferVirtualMemory :: proc(VirtualAddress: PVOID, Size: SIZE_T, Priority: OFFER_PRIORITY) -> DWORD --- - ReclaimVirtualMemory :: proc(VirtualAddress: PVOID, Size: SIZE_T) -> DWORD --- - DiscardVirtualMemory :: proc(VirtualAddress: PVOID, Size: SIZE_T) -> DWORD --- - VirtualAllocFromApp :: proc(BaseAddress: PVOID, Size: SIZE_T, AllocationType: ULONG, Protection: ULONG) -> PVOID --- - VirtualProtectFromApp :: proc(Address: PVOID, Size: SIZE_T, NewProtection: ULONG, OldProtection: PULONG) -> BOOL --- - OpenFileMappingFromApp :: proc(DesiredAccess: ULONG, InheritHandle: BOOL, Name: PCWSTR) -> HANDLE --- + OfferVirtualMemory :: proc( + VirtualAddress: PVOID, + Size: SIZE_T, + Priority: OFFER_PRIORITY, + ) -> DWORD --- + ReclaimVirtualMemory :: proc( + VirtualAddress: PVOID, + Size: SIZE_T, + ) -> DWORD --- + DiscardVirtualMemory :: proc( + VirtualAddress: PVOID, + Size: SIZE_T, + ) -> DWORD --- + VirtualAllocFromApp :: proc( + BaseAddress: PVOID, + Size: SIZE_T, + AllocationType: ULONG, + Protection: ULONG, + ) -> PVOID --- + VirtualProtectFromApp :: proc( + Address: PVOID, + Size: SIZE_T, + NewProtection: ULONG, + OldProtection: PULONG, + ) -> BOOL --- + OpenFileMappingFromApp :: proc( + DesiredAccess: ULONG, + InheritHandle: BOOL, + Name: PCWSTR, + ) -> HANDLE --- } WIN32_MEMORY_INFORMATION_CLASS :: enum c_int { @@ -409,16 +798,16 @@ WIN32_MEMORY_INFORMATION_CLASS :: enum c_int { MemoryRegionInfo :: WIN32_MEMORY_INFORMATION_CLASS.MemoryRegionInfo WIN32_MEMORY_REGION_INFORMATION :: struct { - AllocationBase: PVOID, + AllocationBase: PVOID, AllocationProtect: ULONG, - u: WIN32_MEMORY_REGION_INFORMATION_u, - RegionSize: SIZE_T, - CommitSize: SIZE_T, + u: WIN32_MEMORY_REGION_INFORMATION_u, + RegionSize: SIZE_T, + CommitSize: SIZE_T, } WIN32_MEMORY_REGION_INFORMATION_u :: struct #raw_union { - u: [1]u32, + u: [1]u32, Flags: ULONG, - s: WIN32_MEMORY_REGION_INFORMATION_u_s, + s: WIN32_MEMORY_REGION_INFORMATION_u_s, } WIN32_MEMORY_REGION_INFORMATION_u_s :: struct { Bitfield: ULONG, @@ -434,10 +823,26 @@ WIN32_MEMORY_REGION_INFORMATION_u_s_Bitfield :: distinct ULONG Reserved : 32-6, }*/ -@(default_calling_convention = "stdcall") +@(default_calling_convention="stdcall") foreign kernel32 { - QueryVirtualMemoryInformation :: proc(Process: HANDLE, VirtualAddress: PVOID, MemoryInformationClass: WIN32_MEMORY_INFORMATION_CLASS, MemoryInformation: PVOID, MemoryInformationSize: SIZE_T, ReturnSize: PSIZE_T) -> BOOL --- - MapViewOfFileNuma2 :: proc(FileMappingHandle: HANDLE, ProcessHandle: HANDLE, Offset: ULONG64, BaseAddress: PVOID, ViewSize: SIZE_T, AllocationType: ULONG, PageProtection: ULONG, PreferredNode: ULONG) -> PVOID --- + QueryVirtualMemoryInformation :: proc( + Process: HANDLE, + VirtualAddress: PVOID, + MemoryInformationClass: WIN32_MEMORY_INFORMATION_CLASS, + MemoryInformation: PVOID, + MemoryInformationSize: SIZE_T, + ReturnSize: PSIZE_T, + ) -> BOOL --- + MapViewOfFileNuma2 :: proc( + FileMappingHandle: HANDLE, + ProcessHandle: HANDLE, + Offset: ULONG64, + BaseAddress: PVOID, + ViewSize: SIZE_T, + AllocationType: ULONG, + PageProtection: ULONG, + PreferredNode: ULONG, + ) -> PVOID --- } @@ -464,45 +869,57 @@ MapViewOfFile2 :: #force_inline proc "stdcall" ( ) } -@(default_calling_convention = "stdcall") +@(default_calling_convention="stdcall") foreign kernel32 { - UnmapViewOfFile2 :: proc(ProcessHandle: HANDLE, BaseAddress: PVOID, UnmapFlags: ULONG) -> BOOL --- + UnmapViewOfFile2 :: proc( + ProcessHandle: HANDLE, + BaseAddress: PVOID, + UnmapFlags: ULONG, + ) -> BOOL --- } -@(default_calling_convention = "stdcall") +@(default_calling_convention="stdcall") foreign kernel32 { - GetProductInfo :: proc(OSMajorVersion: DWORD, OSMinorVersion: DWORD, SpMajorVersion: DWORD, SpMinorVersion: DWORD, product_type: ^Windows_Product_Type) -> BOOL --- + GetProductInfo :: proc( + OSMajorVersion: DWORD, + OSMinorVersion: DWORD, + SpMajorVersion: DWORD, + SpMinorVersion: DWORD, + product_type: ^Windows_Product_Type, + ) -> BOOL --- } HandlerRoutine :: proc "stdcall" (dwCtrlType: DWORD) -> BOOL PHANDLER_ROUTINE :: HandlerRoutine + + DCB_Config :: struct { - fParity: bool, - fOutxCtsFlow: bool, - fOutxDsrFlow: bool, - fDtrControl: DTR_Control, - fDsrSensitivity: bool, + fParity: bool, + fOutxCtsFlow: bool, + fOutxDsrFlow: bool, + fDtrControl: DTR_Control, + fDsrSensitivity: bool, fTXContinueOnXoff: bool, - fOutX: bool, - fInX: bool, - fErrorChar: bool, - fNull: bool, - fRtsControl: RTS_Control, - fAbortOnError: bool, - BaudRate: DWORD, - ByteSize: BYTE, - Parity: Parity, - StopBits: Stop_Bits, - XonChar: byte, - XoffChar: byte, - ErrorChar: byte, - EvtChar: byte, + fOutX: bool, + fInX: bool, + fErrorChar: bool, + fNull: bool, + fRtsControl: RTS_Control, + fAbortOnError: bool, + BaudRate: DWORD, + ByteSize: BYTE, + Parity: Parity, + StopBits: Stop_Bits, + XonChar: byte, + XoffChar: byte, + ErrorChar: byte, + EvtChar: byte, } DTR_Control :: enum byte { - Disable = 0, - Enable = 1, + Disable = 0, + Enable = 1, Handshake = 2, } RTS_Control :: enum byte { @@ -519,9 +936,9 @@ Parity :: enum byte { Space = 4, } Stop_Bits :: enum byte { - One = 0, + One = 0, One_And_A_Half = 1, - Two = 2, + Two = 2, } // A helper procedure to set the values of a DCB structure. @@ -596,24 +1013,24 @@ get_dcb_config :: proc "contextless" (dcb: DCB) -> (config: DCB_Config) { // NOTE(tetra): See get_dcb_config() and init_dcb_with_config() for help with initializing this. DCB :: struct { - DCBlength: DWORD, // NOTE(tetra): Must be set to size_of(DCB). - BaudRate: DWORD, - settings: u32, // NOTE(tetra): These are bitfields in the C struct. - wReserved: WORD, - XOnLim: WORD, - XOffLim: WORD, - ByteSize: BYTE, - Parity: Parity, - StopBits: Stop_Bits, - XonChar: byte, - XoffChar: byte, - ErrorChar: byte, - EofChar: byte, - EvtChar: byte, + DCBlength: DWORD, // NOTE(tetra): Must be set to size_of(DCB). + BaudRate: DWORD, + settings: u32, // NOTE(tetra): These are bitfields in the C struct. + wReserved: WORD, + XOnLim: WORD, + XOffLim: WORD, + ByteSize: BYTE, + Parity: Parity, + StopBits: Stop_Bits, + XonChar: byte, + XoffChar: byte, + ErrorChar: byte, + EofChar: byte, + EvtChar: byte, wReserved1: WORD, } -@(default_calling_convention = "stdcall") +@(default_calling_convention="stdcall") foreign kernel32 { GetCommState :: proc(handle: HANDLE, dcb: ^DCB) -> BOOL --- SetCommState :: proc(handle: HANDLE, dcb: ^DCB) -> BOOL --- @@ -650,11 +1067,11 @@ PROCESSOR_CACHE_TYPE :: enum c_int { } CACHE_DESCRIPTOR :: struct { - Level: BYTE, + Level: BYTE, Associativity: BYTE, - LineSize: WORD, - Size: DWORD, - Type: PROCESSOR_CACHE_TYPE, + LineSize: WORD, + Size: DWORD, + Type: PROCESSOR_CACHE_TYPE, } ProcessorCore :: struct { @@ -664,14 +1081,14 @@ NumaNode :: struct { NodeNumber: DWORD, } DUMMYUNIONNAME_u :: struct #raw_union { - Core: ProcessorCore, - Node: NumaNode, - Cache: CACHE_DESCRIPTOR, + Core: ProcessorCore, + Node: NumaNode, + Cache: CACHE_DESCRIPTOR, Reserved: [2]ULONGLONG, } SYSTEM_LOGICAL_PROCESSOR_INFORMATION :: struct { ProcessorMask: ULONG_PTR, - Relationship: LOGICAL_PROCESSOR_RELATIONSHIP, - DummyUnion: DUMMYUNIONNAME_u, + Relationship: LOGICAL_PROCESSOR_RELATIONSHIP, + DummyUnion: DUMMYUNIONNAME_u, } From 5fc54ec7e57af02af38e6f979929d4542cadbfcf Mon Sep 17 00:00:00 2001 From: Mark Naughton Date: Wed, 5 Apr 2023 11:09:31 +0100 Subject: [PATCH 31/50] Add script for removing platform-specific libs --- misc/remove_libraries_for_other_platforms.sh | 46 ++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100755 misc/remove_libraries_for_other_platforms.sh diff --git a/misc/remove_libraries_for_other_platforms.sh b/misc/remove_libraries_for_other_platforms.sh new file mode 100755 index 000000000..5a5286faf --- /dev/null +++ b/misc/remove_libraries_for_other_platforms.sh @@ -0,0 +1,46 @@ +#!/bin/bash +OS=$(uname) + +panic() { + printf "%s\n" "$1" + exit 1 +} + +remove_windows_libraries() { + find . -type f -name '*.dll' | xargs rm -f + find . -type f -name '*.lib' | xargs rm -f + find . -type d -name 'windows' | xargs rm -rf +} + +remove_macos_libraries() { + find . -type f -name '*.dylib' | xargs rm -f + find . -type d -name '*macos*' | xargs rm -rf +} + +remove_linux_libraries() { + find . -type f -name '*.so' | xargs rm -f + find . -type d -name 'linux' | xargs rm -rf +} + +case $OS in + Linux) + remove_windows_libraries + remove_macos_libraries + ;; + Darwin) + remove_windows_libraries + remove_linux_libraries + ;; + OpenBSD) + remove_windows_libraries + remove_macos_libraries + remove_linux_libraries + ;; + FreeBSD) + remove_windows_libraries + remove_macos_libraries + remove_linux_libraries + ;; +*) + panic "Platform unsupported!" +esac From 119cafd963fc807466ca69c0464bf05a91471f88 Mon Sep 17 00:00:00 2001 From: Mark Naughton Date: Wed, 5 Apr 2023 11:28:54 +0100 Subject: [PATCH 32/50] Add assert_vendor() sub-routine --- misc/remove_libraries_for_other_platforms.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/misc/remove_libraries_for_other_platforms.sh b/misc/remove_libraries_for_other_platforms.sh index 5a5286faf..b66deddb6 100755 --- a/misc/remove_libraries_for_other_platforms.sh +++ b/misc/remove_libraries_for_other_platforms.sh @@ -6,6 +6,12 @@ panic() { exit 1 } +assert_vendor() { + if [ $(basename $(pwd)) != 'vendor' ]; then + panic "Not in vendor directory!" + fi +} + remove_windows_libraries() { find . -type f -name '*.dll' | xargs rm -f find . -type f -name '*.lib' | xargs rm -f @@ -24,6 +30,7 @@ remove_linux_libraries() { case $OS in Linux) + assert_vendor remove_windows_libraries remove_macos_libraries ;; From 4030c5a6893f9f49c79c75a4ca05a7dc486642cb Mon Sep 17 00:00:00 2001 From: Mark Naughton Date: Wed, 5 Apr 2023 11:34:41 +0100 Subject: [PATCH 33/50] Add assert_vendor to Darwin and *BSD --- misc/remove_libraries_for_other_platforms.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/misc/remove_libraries_for_other_platforms.sh b/misc/remove_libraries_for_other_platforms.sh index b66deddb6..db2e33ccd 100755 --- a/misc/remove_libraries_for_other_platforms.sh +++ b/misc/remove_libraries_for_other_platforms.sh @@ -35,15 +35,18 @@ case $OS in remove_macos_libraries ;; Darwin) + assert_vendor remove_windows_libraries remove_linux_libraries ;; OpenBSD) + assert_vendor remove_windows_libraries remove_macos_libraries remove_linux_libraries ;; FreeBSD) + assert_vendor remove_windows_libraries remove_macos_libraries remove_linux_libraries From d715158fe39952570217ebacfc26af4b5eae1185 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Wed, 5 Apr 2023 15:55:55 +0100 Subject: [PATCH 34/50] Add `vendor:lua/5.4` --- vendor/lua/5.4/include/lauxlib.h | 276 ++++++++++ vendor/lua/5.4/include/lua.h | 517 +++++++++++++++++ vendor/lua/5.4/include/lua.hpp | 9 + vendor/lua/5.4/include/luaconf.h | 763 ++++++++++++++++++++++++++ vendor/lua/5.4/include/lualib.h | 58 ++ vendor/lua/5.4/lua.odin | 822 ++++++++++++++++++++++++++++ vendor/lua/5.4/windows/lua54.dll | Bin 0 -> 354816 bytes vendor/lua/5.4/windows/lua54dll.lib | Bin 0 -> 30090 bytes 8 files changed, 2445 insertions(+) create mode 100644 vendor/lua/5.4/include/lauxlib.h create mode 100644 vendor/lua/5.4/include/lua.h create mode 100644 vendor/lua/5.4/include/lua.hpp create mode 100644 vendor/lua/5.4/include/luaconf.h create mode 100644 vendor/lua/5.4/include/lualib.h create mode 100644 vendor/lua/5.4/lua.odin create mode 100644 vendor/lua/5.4/windows/lua54.dll create mode 100644 vendor/lua/5.4/windows/lua54dll.lib diff --git a/vendor/lua/5.4/include/lauxlib.h b/vendor/lua/5.4/include/lauxlib.h new file mode 100644 index 000000000..59fef6af1 --- /dev/null +++ b/vendor/lua/5.4/include/lauxlib.h @@ -0,0 +1,276 @@ +/* +** $Id: lauxlib.h $ +** Auxiliary functions for building Lua libraries +** See Copyright Notice in lua.h +*/ + + +#ifndef lauxlib_h +#define lauxlib_h + + +#include +#include + +#include "lua.h" + + +/* global table */ +#define LUA_GNAME "_G" + + +typedef struct luaL_Buffer luaL_Buffer; + + +/* extra error code for 'luaL_loadfilex' */ +#define LUA_ERRFILE (LUA_ERRERR+1) + + +/* key, in the registry, for table of loaded modules */ +#define LUA_LOADED_TABLE "_LOADED" + + +/* key, in the registry, for table of preloaded loaders */ +#define LUA_PRELOAD_TABLE "_PRELOAD" + + +typedef struct luaL_Reg { + const char *name; + lua_CFunction func; +} luaL_Reg; + + +#define LUAL_NUMSIZES (sizeof(lua_Integer)*16 + sizeof(lua_Number)) + +LUALIB_API void (luaL_checkversion_) (lua_State *L, lua_Number ver, size_t sz); +#define luaL_checkversion(L) \ + luaL_checkversion_(L, LUA_VERSION_NUM, LUAL_NUMSIZES) + +LUALIB_API int (luaL_getmetafield) (lua_State *L, int obj, const char *e); +LUALIB_API int (luaL_callmeta) (lua_State *L, int obj, const char *e); +LUALIB_API const char *(luaL_tolstring) (lua_State *L, int idx, size_t *len); +LUALIB_API int (luaL_argerror) (lua_State *L, int arg, const char *extramsg); +LUALIB_API int (luaL_typeerror) (lua_State *L, int arg, const char *tname); +LUALIB_API const char *(luaL_checklstring) (lua_State *L, int arg, + size_t *l); +LUALIB_API const char *(luaL_optlstring) (lua_State *L, int arg, + const char *def, size_t *l); +LUALIB_API lua_Number (luaL_checknumber) (lua_State *L, int arg); +LUALIB_API lua_Number (luaL_optnumber) (lua_State *L, int arg, lua_Number def); + +LUALIB_API lua_Integer (luaL_checkinteger) (lua_State *L, int arg); +LUALIB_API lua_Integer (luaL_optinteger) (lua_State *L, int arg, + lua_Integer def); + +LUALIB_API void (luaL_checkstack) (lua_State *L, int sz, const char *msg); +LUALIB_API void (luaL_checktype) (lua_State *L, int arg, int t); +LUALIB_API void (luaL_checkany) (lua_State *L, int arg); + +LUALIB_API int (luaL_newmetatable) (lua_State *L, const char *tname); +LUALIB_API void (luaL_setmetatable) (lua_State *L, const char *tname); +LUALIB_API void *(luaL_testudata) (lua_State *L, int ud, const char *tname); +LUALIB_API void *(luaL_checkudata) (lua_State *L, int ud, const char *tname); + +LUALIB_API void (luaL_where) (lua_State *L, int lvl); +LUALIB_API int (luaL_error) (lua_State *L, const char *fmt, ...); + +LUALIB_API int (luaL_checkoption) (lua_State *L, int arg, const char *def, + const char *const lst[]); + +LUALIB_API int (luaL_fileresult) (lua_State *L, int stat, const char *fname); +LUALIB_API int (luaL_execresult) (lua_State *L, int stat); + + +/* predefined references */ +#define LUA_NOREF (-2) +#define LUA_REFNIL (-1) + +LUALIB_API int (luaL_ref) (lua_State *L, int t); +LUALIB_API void (luaL_unref) (lua_State *L, int t, int ref); + +LUALIB_API int (luaL_loadfilex) (lua_State *L, const char *filename, + const char *mode); + +#define luaL_loadfile(L,f) luaL_loadfilex(L,f,NULL) + +LUALIB_API int (luaL_loadbufferx) (lua_State *L, const char *buff, size_t sz, + const char *name, const char *mode); +LUALIB_API int (luaL_loadstring) (lua_State *L, const char *s); + +LUALIB_API lua_State *(luaL_newstate) (void); + +LUALIB_API lua_Integer (luaL_len) (lua_State *L, int idx); + +LUALIB_API void luaL_addgsub (luaL_Buffer *b, const char *s, + const char *p, const char *r); +LUALIB_API const char *(luaL_gsub) (lua_State *L, const char *s, + const char *p, const char *r); + +LUALIB_API void (luaL_setfuncs) (lua_State *L, const luaL_Reg *l, int nup); + +LUALIB_API int (luaL_getsubtable) (lua_State *L, int idx, const char *fname); + +LUALIB_API void (luaL_traceback) (lua_State *L, lua_State *L1, + const char *msg, int level); + +LUALIB_API void (luaL_requiref) (lua_State *L, const char *modname, + lua_CFunction openf, int glb); + +/* +** =============================================================== +** some useful macros +** =============================================================== +*/ + + +#define luaL_newlibtable(L,l) \ + lua_createtable(L, 0, sizeof(l)/sizeof((l)[0]) - 1) + +#define luaL_newlib(L,l) \ + (luaL_checkversion(L), luaL_newlibtable(L,l), luaL_setfuncs(L,l,0)) + +#define luaL_argcheck(L, cond,arg,extramsg) \ + ((void)((cond) || luaL_argerror(L, (arg), (extramsg)))) + +#define luaL_argexpected(L,cond,arg,tname) \ + ((void)((cond) || luaL_typeerror(L, (arg), (tname)))) + +#define luaL_checkstring(L,n) (luaL_checklstring(L, (n), NULL)) +#define luaL_optstring(L,n,d) (luaL_optlstring(L, (n), (d), NULL)) + +#define luaL_typename(L,i) lua_typename(L, lua_type(L,(i))) + +#define luaL_dofile(L, fn) \ + (luaL_loadfile(L, fn) || lua_pcall(L, 0, LUA_MULTRET, 0)) + +#define luaL_dostring(L, s) \ + (luaL_loadstring(L, s) || lua_pcall(L, 0, LUA_MULTRET, 0)) + +#define luaL_getmetatable(L,n) (lua_getfield(L, LUA_REGISTRYINDEX, (n))) + +#define luaL_opt(L,f,n,d) (lua_isnoneornil(L,(n)) ? (d) : f(L,(n))) + +#define luaL_loadbuffer(L,s,sz,n) luaL_loadbufferx(L,s,sz,n,NULL) + + +/* push the value used to represent failure/error */ +#define luaL_pushfail(L) lua_pushnil(L) + + +/* +** {====================================================== +** Generic Buffer manipulation +** ======================================================= +*/ + +struct luaL_Buffer { + char *b; /* buffer address */ + size_t size; /* buffer size */ + size_t n; /* number of characters in buffer */ + lua_State *L; + union { + LUAI_MAXALIGN; /* ensure maximum alignment for buffer */ + char b[LUAL_BUFFERSIZE]; /* initial buffer */ + } init; +}; + + +#define luaL_bufflen(bf) ((bf)->n) +#define luaL_buffaddr(bf) ((bf)->b) + + +#define luaL_addchar(B,c) \ + ((void)((B)->n < (B)->size || luaL_prepbuffsize((B), 1)), \ + ((B)->b[(B)->n++] = (c))) + +#define luaL_addsize(B,s) ((B)->n += (s)) + +#define luaL_buffsub(B,s) ((B)->n -= (s)) + +LUALIB_API void (luaL_buffinit) (lua_State *L, luaL_Buffer *B); +LUALIB_API char *(luaL_prepbuffsize) (luaL_Buffer *B, size_t sz); +LUALIB_API void (luaL_addlstring) (luaL_Buffer *B, const char *s, size_t l); +LUALIB_API void (luaL_addstring) (luaL_Buffer *B, const char *s); +LUALIB_API void (luaL_addvalue) (luaL_Buffer *B); +LUALIB_API void (luaL_pushresult) (luaL_Buffer *B); +LUALIB_API void (luaL_pushresultsize) (luaL_Buffer *B, size_t sz); +LUALIB_API char *(luaL_buffinitsize) (lua_State *L, luaL_Buffer *B, size_t sz); + +#define luaL_prepbuffer(B) luaL_prepbuffsize(B, LUAL_BUFFERSIZE) + +/* }====================================================== */ + + + +/* +** {====================================================== +** File handles for IO library +** ======================================================= +*/ + +/* +** A file handle is a userdata with metatable 'LUA_FILEHANDLE' and +** initial structure 'luaL_Stream' (it may contain other fields +** after that initial structure). +*/ + +#define LUA_FILEHANDLE "FILE*" + + +typedef struct luaL_Stream { + FILE *f; /* stream (NULL for incompletely created streams) */ + lua_CFunction closef; /* to close stream (NULL for closed streams) */ +} luaL_Stream; + +/* }====================================================== */ + +/* +** {================================================================== +** "Abstraction Layer" for basic report of messages and errors +** =================================================================== +*/ + +/* print a string */ +#if !defined(lua_writestring) +#define lua_writestring(s,l) fwrite((s), sizeof(char), (l), stdout) +#endif + +/* print a newline and flush the output */ +#if !defined(lua_writeline) +#define lua_writeline() (lua_writestring("\n", 1), fflush(stdout)) +#endif + +/* print an error message */ +#if !defined(lua_writestringerror) +#define lua_writestringerror(s,p) \ + (fprintf(stderr, (s), (p)), fflush(stderr)) +#endif + +/* }================================================================== */ + + +/* +** {============================================================ +** Compatibility with deprecated conversions +** ============================================================= +*/ +#if defined(LUA_COMPAT_APIINTCASTS) + +#define luaL_checkunsigned(L,a) ((lua_Unsigned)luaL_checkinteger(L,a)) +#define luaL_optunsigned(L,a,d) \ + ((lua_Unsigned)luaL_optinteger(L,a,(lua_Integer)(d))) + +#define luaL_checkint(L,n) ((int)luaL_checkinteger(L, (n))) +#define luaL_optint(L,n,d) ((int)luaL_optinteger(L, (n), (d))) + +#define luaL_checklong(L,n) ((long)luaL_checkinteger(L, (n))) +#define luaL_optlong(L,n,d) ((long)luaL_optinteger(L, (n), (d))) + +#endif +/* }============================================================ */ + + + +#endif + + diff --git a/vendor/lua/5.4/include/lua.h b/vendor/lua/5.4/include/lua.h new file mode 100644 index 000000000..c9d64d7f2 --- /dev/null +++ b/vendor/lua/5.4/include/lua.h @@ -0,0 +1,517 @@ +/* +** $Id: lua.h $ +** Lua - A Scripting Language +** Lua.org, PUC-Rio, Brazil (http://www.lua.org) +** See Copyright Notice at the end of this file +*/ + + +#ifndef lua_h +#define lua_h + +#include +#include + + +#include "luaconf.h" + + +#define LUA_VERSION_MAJOR "5" +#define LUA_VERSION_MINOR "4" +#define LUA_VERSION_RELEASE "2" + +#define LUA_VERSION_NUM 504 +#define LUA_VERSION_RELEASE_NUM (LUA_VERSION_NUM * 100 + 0) + +#define LUA_VERSION "Lua " LUA_VERSION_MAJOR "." LUA_VERSION_MINOR +#define LUA_RELEASE LUA_VERSION "." LUA_VERSION_RELEASE +#define LUA_COPYRIGHT LUA_RELEASE " Copyright (C) 1994-2020 Lua.org, PUC-Rio" +#define LUA_AUTHORS "R. Ierusalimschy, L. H. de Figueiredo, W. Celes" + + +/* mark for precompiled code ('Lua') */ +#define LUA_SIGNATURE "\x1bLua" + +/* option for multiple returns in 'lua_pcall' and 'lua_call' */ +#define LUA_MULTRET (-1) + + +/* +** Pseudo-indices +** (-LUAI_MAXSTACK is the minimum valid index; we keep some free empty +** space after that to help overflow detection) +*/ +#define LUA_REGISTRYINDEX (-LUAI_MAXSTACK - 1000) +#define lua_upvalueindex(i) (LUA_REGISTRYINDEX - (i)) + + +/* thread status */ +#define LUA_OK 0 +#define LUA_YIELD 1 +#define LUA_ERRRUN 2 +#define LUA_ERRSYNTAX 3 +#define LUA_ERRMEM 4 +#define LUA_ERRERR 5 + + +typedef struct lua_State lua_State; + + +/* +** basic types +*/ +#define LUA_TNONE (-1) + +#define LUA_TNIL 0 +#define LUA_TBOOLEAN 1 +#define LUA_TLIGHTUSERDATA 2 +#define LUA_TNUMBER 3 +#define LUA_TSTRING 4 +#define LUA_TTABLE 5 +#define LUA_TFUNCTION 6 +#define LUA_TUSERDATA 7 +#define LUA_TTHREAD 8 + +#define LUA_NUMTYPES 9 + + + +/* minimum Lua stack available to a C function */ +#define LUA_MINSTACK 20 + + +/* predefined values in the registry */ +#define LUA_RIDX_MAINTHREAD 1 +#define LUA_RIDX_GLOBALS 2 +#define LUA_RIDX_LAST LUA_RIDX_GLOBALS + + +/* type of numbers in Lua */ +typedef LUA_NUMBER lua_Number; + + +/* type for integer functions */ +typedef LUA_INTEGER lua_Integer; + +/* unsigned integer type */ +typedef LUA_UNSIGNED lua_Unsigned; + +/* type for continuation-function contexts */ +typedef LUA_KCONTEXT lua_KContext; + + +/* +** Type for C functions registered with Lua +*/ +typedef int (*lua_CFunction) (lua_State *L); + +/* +** Type for continuation functions +*/ +typedef int (*lua_KFunction) (lua_State *L, int status, lua_KContext ctx); + + +/* +** Type for functions that read/write blocks when loading/dumping Lua chunks +*/ +typedef const char * (*lua_Reader) (lua_State *L, void *ud, size_t *sz); + +typedef int (*lua_Writer) (lua_State *L, const void *p, size_t sz, void *ud); + + +/* +** Type for memory-allocation functions +*/ +typedef void * (*lua_Alloc) (void *ud, void *ptr, size_t osize, size_t nsize); + + +/* +** Type for warning functions +*/ +typedef void (*lua_WarnFunction) (void *ud, const char *msg, int tocont); + + + + +/* +** generic extra include file +*/ +#if defined(LUA_USER_H) +#include LUA_USER_H +#endif + + +/* +** RCS ident string +*/ +extern const char lua_ident[]; + + +/* +** state manipulation +*/ +LUA_API lua_State *(lua_newstate) (lua_Alloc f, void *ud); +LUA_API void (lua_close) (lua_State *L); +LUA_API lua_State *(lua_newthread) (lua_State *L); +LUA_API int (lua_resetthread) (lua_State *L); + +LUA_API lua_CFunction (lua_atpanic) (lua_State *L, lua_CFunction panicf); + + +LUA_API lua_Number (lua_version) (lua_State *L); + + +/* +** basic stack manipulation +*/ +LUA_API int (lua_absindex) (lua_State *L, int idx); +LUA_API int (lua_gettop) (lua_State *L); +LUA_API void (lua_settop) (lua_State *L, int idx); +LUA_API void (lua_pushvalue) (lua_State *L, int idx); +LUA_API void (lua_rotate) (lua_State *L, int idx, int n); +LUA_API void (lua_copy) (lua_State *L, int fromidx, int toidx); +LUA_API int (lua_checkstack) (lua_State *L, int n); + +LUA_API void (lua_xmove) (lua_State *from, lua_State *to, int n); + + +/* +** access functions (stack -> C) +*/ + +LUA_API int (lua_isnumber) (lua_State *L, int idx); +LUA_API int (lua_isstring) (lua_State *L, int idx); +LUA_API int (lua_iscfunction) (lua_State *L, int idx); +LUA_API int (lua_isinteger) (lua_State *L, int idx); +LUA_API int (lua_isuserdata) (lua_State *L, int idx); +LUA_API int (lua_type) (lua_State *L, int idx); +LUA_API const char *(lua_typename) (lua_State *L, int tp); + +LUA_API lua_Number (lua_tonumberx) (lua_State *L, int idx, int *isnum); +LUA_API lua_Integer (lua_tointegerx) (lua_State *L, int idx, int *isnum); +LUA_API int (lua_toboolean) (lua_State *L, int idx); +LUA_API const char *(lua_tolstring) (lua_State *L, int idx, size_t *len); +LUA_API lua_Unsigned (lua_rawlen) (lua_State *L, int idx); +LUA_API lua_CFunction (lua_tocfunction) (lua_State *L, int idx); +LUA_API void *(lua_touserdata) (lua_State *L, int idx); +LUA_API lua_State *(lua_tothread) (lua_State *L, int idx); +LUA_API const void *(lua_topointer) (lua_State *L, int idx); + + +/* +** Comparison and arithmetic functions +*/ + +#define LUA_OPADD 0 /* ORDER TM, ORDER OP */ +#define LUA_OPSUB 1 +#define LUA_OPMUL 2 +#define LUA_OPMOD 3 +#define LUA_OPPOW 4 +#define LUA_OPDIV 5 +#define LUA_OPIDIV 6 +#define LUA_OPBAND 7 +#define LUA_OPBOR 8 +#define LUA_OPBXOR 9 +#define LUA_OPSHL 10 +#define LUA_OPSHR 11 +#define LUA_OPUNM 12 +#define LUA_OPBNOT 13 + +LUA_API void (lua_arith) (lua_State *L, int op); + +#define LUA_OPEQ 0 +#define LUA_OPLT 1 +#define LUA_OPLE 2 + +LUA_API int (lua_rawequal) (lua_State *L, int idx1, int idx2); +LUA_API int (lua_compare) (lua_State *L, int idx1, int idx2, int op); + + +/* +** push functions (C -> stack) +*/ +LUA_API void (lua_pushnil) (lua_State *L); +LUA_API void (lua_pushnumber) (lua_State *L, lua_Number n); +LUA_API void (lua_pushinteger) (lua_State *L, lua_Integer n); +LUA_API const char *(lua_pushlstring) (lua_State *L, const char *s, size_t len); +LUA_API const char *(lua_pushstring) (lua_State *L, const char *s); +LUA_API const char *(lua_pushvfstring) (lua_State *L, const char *fmt, + va_list argp); +LUA_API const char *(lua_pushfstring) (lua_State *L, const char *fmt, ...); +LUA_API void (lua_pushcclosure) (lua_State *L, lua_CFunction fn, int n); +LUA_API void (lua_pushboolean) (lua_State *L, int b); +LUA_API void (lua_pushlightuserdata) (lua_State *L, void *p); +LUA_API int (lua_pushthread) (lua_State *L); + + +/* +** get functions (Lua -> stack) +*/ +LUA_API int (lua_getglobal) (lua_State *L, const char *name); +LUA_API int (lua_gettable) (lua_State *L, int idx); +LUA_API int (lua_getfield) (lua_State *L, int idx, const char *k); +LUA_API int (lua_geti) (lua_State *L, int idx, lua_Integer n); +LUA_API int (lua_rawget) (lua_State *L, int idx); +LUA_API int (lua_rawgeti) (lua_State *L, int idx, lua_Integer n); +LUA_API int (lua_rawgetp) (lua_State *L, int idx, const void *p); + +LUA_API void (lua_createtable) (lua_State *L, int narr, int nrec); +LUA_API void *(lua_newuserdatauv) (lua_State *L, size_t sz, int nuvalue); +LUA_API int (lua_getmetatable) (lua_State *L, int objindex); +LUA_API int (lua_getiuservalue) (lua_State *L, int idx, int n); + + +/* +** set functions (stack -> Lua) +*/ +LUA_API void (lua_setglobal) (lua_State *L, const char *name); +LUA_API void (lua_settable) (lua_State *L, int idx); +LUA_API void (lua_setfield) (lua_State *L, int idx, const char *k); +LUA_API void (lua_seti) (lua_State *L, int idx, lua_Integer n); +LUA_API void (lua_rawset) (lua_State *L, int idx); +LUA_API void (lua_rawseti) (lua_State *L, int idx, lua_Integer n); +LUA_API void (lua_rawsetp) (lua_State *L, int idx, const void *p); +LUA_API int (lua_setmetatable) (lua_State *L, int objindex); +LUA_API int (lua_setiuservalue) (lua_State *L, int idx, int n); + + +/* +** 'load' and 'call' functions (load and run Lua code) +*/ +LUA_API void (lua_callk) (lua_State *L, int nargs, int nresults, + lua_KContext ctx, lua_KFunction k); +#define lua_call(L,n,r) lua_callk(L, (n), (r), 0, NULL) + +LUA_API int (lua_pcallk) (lua_State *L, int nargs, int nresults, int errfunc, + lua_KContext ctx, lua_KFunction k); +#define lua_pcall(L,n,r,f) lua_pcallk(L, (n), (r), (f), 0, NULL) + +LUA_API int (lua_load) (lua_State *L, lua_Reader reader, void *dt, + const char *chunkname, const char *mode); + +LUA_API int (lua_dump) (lua_State *L, lua_Writer writer, void *data, int strip); + + +/* +** coroutine functions +*/ +LUA_API int (lua_yieldk) (lua_State *L, int nresults, lua_KContext ctx, + lua_KFunction k); +LUA_API int (lua_resume) (lua_State *L, lua_State *from, int narg, + int *nres); +LUA_API int (lua_status) (lua_State *L); +LUA_API int (lua_isyieldable) (lua_State *L); + +#define lua_yield(L,n) lua_yieldk(L, (n), 0, NULL) + + +/* +** Warning-related functions +*/ +LUA_API void (lua_setwarnf) (lua_State *L, lua_WarnFunction f, void *ud); +LUA_API void (lua_warning) (lua_State *L, const char *msg, int tocont); + + +/* +** garbage-collection function and options +*/ + +#define LUA_GCSTOP 0 +#define LUA_GCRESTART 1 +#define LUA_GCCOLLECT 2 +#define LUA_GCCOUNT 3 +#define LUA_GCCOUNTB 4 +#define LUA_GCSTEP 5 +#define LUA_GCSETPAUSE 6 +#define LUA_GCSETSTEPMUL 7 +#define LUA_GCISRUNNING 9 +#define LUA_GCGEN 10 +#define LUA_GCINC 11 + +LUA_API int (lua_gc) (lua_State *L, int what, ...); + + +/* +** miscellaneous functions +*/ + +LUA_API int (lua_error) (lua_State *L); + +LUA_API int (lua_next) (lua_State *L, int idx); + +LUA_API void (lua_concat) (lua_State *L, int n); +LUA_API void (lua_len) (lua_State *L, int idx); + +LUA_API size_t (lua_stringtonumber) (lua_State *L, const char *s); + +LUA_API lua_Alloc (lua_getallocf) (lua_State *L, void **ud); +LUA_API void (lua_setallocf) (lua_State *L, lua_Alloc f, void *ud); + +LUA_API void (lua_toclose) (lua_State *L, int idx); + + +/* +** {============================================================== +** some useful macros +** =============================================================== +*/ + +#define lua_getextraspace(L) ((void *)((char *)(L) - LUA_EXTRASPACE)) + +#define lua_tonumber(L,i) lua_tonumberx(L,(i),NULL) +#define lua_tointeger(L,i) lua_tointegerx(L,(i),NULL) + +#define lua_pop(L,n) lua_settop(L, -(n)-1) + +#define lua_newtable(L) lua_createtable(L, 0, 0) + +#define lua_register(L,n,f) (lua_pushcfunction(L, (f)), lua_setglobal(L, (n))) + +#define lua_pushcfunction(L,f) lua_pushcclosure(L, (f), 0) + +#define lua_isfunction(L,n) (lua_type(L, (n)) == LUA_TFUNCTION) +#define lua_istable(L,n) (lua_type(L, (n)) == LUA_TTABLE) +#define lua_islightuserdata(L,n) (lua_type(L, (n)) == LUA_TLIGHTUSERDATA) +#define lua_isnil(L,n) (lua_type(L, (n)) == LUA_TNIL) +#define lua_isboolean(L,n) (lua_type(L, (n)) == LUA_TBOOLEAN) +#define lua_isthread(L,n) (lua_type(L, (n)) == LUA_TTHREAD) +#define lua_isnone(L,n) (lua_type(L, (n)) == LUA_TNONE) +#define lua_isnoneornil(L, n) (lua_type(L, (n)) <= 0) + +#define lua_pushliteral(L, s) lua_pushstring(L, "" s) + +#define lua_pushglobaltable(L) \ + ((void)lua_rawgeti(L, LUA_REGISTRYINDEX, LUA_RIDX_GLOBALS)) + +#define lua_tostring(L,i) lua_tolstring(L, (i), NULL) + + +#define lua_insert(L,idx) lua_rotate(L, (idx), 1) + +#define lua_remove(L,idx) (lua_rotate(L, (idx), -1), lua_pop(L, 1)) + +#define lua_replace(L,idx) (lua_copy(L, -1, (idx)), lua_pop(L, 1)) + +/* }============================================================== */ + + +/* +** {============================================================== +** compatibility macros +** =============================================================== +*/ +#if defined(LUA_COMPAT_APIINTCASTS) + +#define lua_pushunsigned(L,n) lua_pushinteger(L, (lua_Integer)(n)) +#define lua_tounsignedx(L,i,is) ((lua_Unsigned)lua_tointegerx(L,i,is)) +#define lua_tounsigned(L,i) lua_tounsignedx(L,(i),NULL) + +#endif + +#define lua_newuserdata(L,s) lua_newuserdatauv(L,s,1) +#define lua_getuservalue(L,idx) lua_getiuservalue(L,idx,1) +#define lua_setuservalue(L,idx) lua_setiuservalue(L,idx,1) + +#define LUA_NUMTAGS LUA_NUMTYPES + +/* }============================================================== */ + +/* +** {====================================================================== +** Debug API +** ======================================================================= +*/ + + +/* +** Event codes +*/ +#define LUA_HOOKCALL 0 +#define LUA_HOOKRET 1 +#define LUA_HOOKLINE 2 +#define LUA_HOOKCOUNT 3 +#define LUA_HOOKTAILCALL 4 + + +/* +** Event masks +*/ +#define LUA_MASKCALL (1 << LUA_HOOKCALL) +#define LUA_MASKRET (1 << LUA_HOOKRET) +#define LUA_MASKLINE (1 << LUA_HOOKLINE) +#define LUA_MASKCOUNT (1 << LUA_HOOKCOUNT) + +typedef struct lua_Debug lua_Debug; /* activation record */ + + +/* Functions to be called by the debugger in specific events */ +typedef void (*lua_Hook) (lua_State *L, lua_Debug *ar); + + +LUA_API int (lua_getstack) (lua_State *L, int level, lua_Debug *ar); +LUA_API int (lua_getinfo) (lua_State *L, const char *what, lua_Debug *ar); +LUA_API const char *(lua_getlocal) (lua_State *L, const lua_Debug *ar, int n); +LUA_API const char *(lua_setlocal) (lua_State *L, const lua_Debug *ar, int n); +LUA_API const char *(lua_getupvalue) (lua_State *L, int funcindex, int n); +LUA_API const char *(lua_setupvalue) (lua_State *L, int funcindex, int n); + +LUA_API void *(lua_upvalueid) (lua_State *L, int fidx, int n); +LUA_API void (lua_upvaluejoin) (lua_State *L, int fidx1, int n1, + int fidx2, int n2); + +LUA_API void (lua_sethook) (lua_State *L, lua_Hook func, int mask, int count); +LUA_API lua_Hook (lua_gethook) (lua_State *L); +LUA_API int (lua_gethookmask) (lua_State *L); +LUA_API int (lua_gethookcount) (lua_State *L); + +LUA_API int (lua_setcstacklimit) (lua_State *L, unsigned int limit); + +struct lua_Debug { + int event; + const char *name; /* (n) */ + const char *namewhat; /* (n) 'global', 'local', 'field', 'method' */ + const char *what; /* (S) 'Lua', 'C', 'main', 'tail' */ + const char *source; /* (S) */ + size_t srclen; /* (S) */ + int currentline; /* (l) */ + int linedefined; /* (S) */ + int lastlinedefined; /* (S) */ + unsigned char nups; /* (u) number of upvalues */ + unsigned char nparams;/* (u) number of parameters */ + char isvararg; /* (u) */ + char istailcall; /* (t) */ + unsigned short ftransfer; /* (r) index of first value transferred */ + unsigned short ntransfer; /* (r) number of transferred values */ + char short_src[LUA_IDSIZE]; /* (S) */ + /* private part */ + struct CallInfo *i_ci; /* active function */ +}; + +/* }====================================================================== */ + + +/****************************************************************************** +* Copyright (C) 1994-2020 Lua.org, PUC-Rio. +* +* Permission is hereby granted, free of charge, to any person obtaining +* a copy of this software and associated documentation files (the +* "Software"), to deal in the Software without restriction, including +* without limitation the rights to use, copy, modify, merge, publish, +* distribute, sublicense, and/or sell copies of the Software, and to +* permit persons to whom the Software is furnished to do so, subject to +* the following conditions: +* +* The above copyright notice and this permission notice shall be +* included in all copies or substantial portions of the Software. +* +* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +******************************************************************************/ + + +#endif diff --git a/vendor/lua/5.4/include/lua.hpp b/vendor/lua/5.4/include/lua.hpp new file mode 100644 index 000000000..ec417f594 --- /dev/null +++ b/vendor/lua/5.4/include/lua.hpp @@ -0,0 +1,9 @@ +// lua.hpp +// Lua header files for C++ +// <> not supplied automatically because Lua also compiles as C++ + +extern "C" { +#include "lua.h" +#include "lualib.h" +#include "lauxlib.h" +} diff --git a/vendor/lua/5.4/include/luaconf.h b/vendor/lua/5.4/include/luaconf.h new file mode 100644 index 000000000..3ad294e4f --- /dev/null +++ b/vendor/lua/5.4/include/luaconf.h @@ -0,0 +1,763 @@ +/* +** $Id: luaconf.h $ +** Configuration file for Lua +** See Copyright Notice in lua.h +*/ + + +#ifndef luaconf_h +#define luaconf_h + +#include +#include + + +/* +** =================================================================== +** General Configuration File for Lua +** +** Some definitions here can be changed externally, through the +** compiler (e.g., with '-D' options). Those are protected by +** '#if !defined' guards. However, several other definitions should +** be changed directly here, either because they affect the Lua +** ABI (by making the changes here, you ensure that all software +** connected to Lua, such as C libraries, will be compiled with the +** same configuration); or because they are seldom changed. +** +** Search for "@@" to find all configurable definitions. +** =================================================================== +*/ + + +/* +** {==================================================================== +** System Configuration: macros to adapt (if needed) Lua to some +** particular platform, for instance restricting it to C89. +** ===================================================================== +*/ + +/* +@@ LUA_USE_C89 controls the use of non-ISO-C89 features. +** Define it if you want Lua to avoid the use of a few C99 features +** or Windows-specific features on Windows. +*/ +/* #define LUA_USE_C89 */ + + +/* +** By default, Lua on Windows use (some) specific Windows features +*/ +#if !defined(LUA_USE_C89) && defined(_WIN32) && !defined(_WIN32_WCE) +#define LUA_USE_WINDOWS /* enable goodies for regular Windows */ +#endif + + +#if defined(LUA_USE_WINDOWS) +#define LUA_DL_DLL /* enable support for DLL */ +#define LUA_USE_C89 /* broadly, Windows is C89 */ +#endif + + +#if defined(LUA_USE_LINUX) +#define LUA_USE_POSIX +#define LUA_USE_DLOPEN /* needs an extra library: -ldl */ +#endif + + +#if defined(LUA_USE_MACOSX) +#define LUA_USE_POSIX +#define LUA_USE_DLOPEN /* MacOS does not need -ldl */ +#endif + + +/* +@@ LUAI_IS32INT is true iff 'int' has (at least) 32 bits. +*/ +#define LUAI_IS32INT ((UINT_MAX >> 30) >= 3) + +/* }================================================================== */ + + + +/* +** {================================================================== +** Configuration for Number types. +** =================================================================== +*/ + +/* +@@ LUA_32BITS enables Lua with 32-bit integers and 32-bit floats. +*/ +/* #define LUA_32BITS */ + + +/* +@@ LUA_C89_NUMBERS ensures that Lua uses the largest types available for +** C89 ('long' and 'double'); Windows always has '__int64', so it does +** not need to use this case. +*/ +#if defined(LUA_USE_C89) && !defined(LUA_USE_WINDOWS) +#define LUA_C89_NUMBERS +#endif + + +/* +@@ LUA_INT_TYPE defines the type for Lua integers. +@@ LUA_FLOAT_TYPE defines the type for Lua floats. +** Lua should work fine with any mix of these options supported +** by your C compiler. The usual configurations are 64-bit integers +** and 'double' (the default), 32-bit integers and 'float' (for +** restricted platforms), and 'long'/'double' (for C compilers not +** compliant with C99, which may not have support for 'long long'). +*/ + +/* predefined options for LUA_INT_TYPE */ +#define LUA_INT_INT 1 +#define LUA_INT_LONG 2 +#define LUA_INT_LONGLONG 3 + +/* predefined options for LUA_FLOAT_TYPE */ +#define LUA_FLOAT_FLOAT 1 +#define LUA_FLOAT_DOUBLE 2 +#define LUA_FLOAT_LONGDOUBLE 3 + +#if defined(LUA_32BITS) /* { */ +/* +** 32-bit integers and 'float' +*/ +#if LUAI_IS32INT /* use 'int' if big enough */ +#define LUA_INT_TYPE LUA_INT_INT +#else /* otherwise use 'long' */ +#define LUA_INT_TYPE LUA_INT_LONG +#endif +#define LUA_FLOAT_TYPE LUA_FLOAT_FLOAT + +#elif defined(LUA_C89_NUMBERS) /* }{ */ +/* +** largest types available for C89 ('long' and 'double') +*/ +#define LUA_INT_TYPE LUA_INT_LONG +#define LUA_FLOAT_TYPE LUA_FLOAT_DOUBLE + +#endif /* } */ + + +/* +** default configuration for 64-bit Lua ('long long' and 'double') +*/ +#if !defined(LUA_INT_TYPE) +#define LUA_INT_TYPE LUA_INT_LONGLONG +#endif + +#if !defined(LUA_FLOAT_TYPE) +#define LUA_FLOAT_TYPE LUA_FLOAT_DOUBLE +#endif + +/* }================================================================== */ + + + +/* +** {================================================================== +** Configuration for Paths. +** =================================================================== +*/ + +/* +** LUA_PATH_SEP is the character that separates templates in a path. +** LUA_PATH_MARK is the string that marks the substitution points in a +** template. +** LUA_EXEC_DIR in a Windows path is replaced by the executable's +** directory. +*/ +#define LUA_PATH_SEP ";" +#define LUA_PATH_MARK "?" +#define LUA_EXEC_DIR "!" + + +/* +@@ LUA_PATH_DEFAULT is the default path that Lua uses to look for +** Lua libraries. +@@ LUA_CPATH_DEFAULT is the default path that Lua uses to look for +** C libraries. +** CHANGE them if your machine has a non-conventional directory +** hierarchy or if you want to install your libraries in +** non-conventional directories. +*/ + +#define LUA_VDIR LUA_VERSION_MAJOR "." LUA_VERSION_MINOR +#if defined(_WIN32) /* { */ +/* +** In Windows, any exclamation mark ('!') in the path is replaced by the +** path of the directory of the executable file of the current process. +*/ +#define LUA_LDIR "!\\lua\\" +#define LUA_CDIR "!\\" +#define LUA_SHRDIR "!\\..\\share\\lua\\" LUA_VDIR "\\" + +#if !defined(LUA_PATH_DEFAULT) +#define LUA_PATH_DEFAULT \ + LUA_LDIR"?.lua;" LUA_LDIR"?\\init.lua;" \ + LUA_CDIR"?.lua;" LUA_CDIR"?\\init.lua;" \ + LUA_SHRDIR"?.lua;" LUA_SHRDIR"?\\init.lua;" \ + ".\\?.lua;" ".\\?\\init.lua" +#endif + +#if !defined(LUA_CPATH_DEFAULT) +#define LUA_CPATH_DEFAULT \ + LUA_CDIR"?.dll;" \ + LUA_CDIR"..\\lib\\lua\\" LUA_VDIR "\\?.dll;" \ + LUA_CDIR"loadall.dll;" ".\\?.dll;" \ + LUA_CDIR"?54.dll;" ".\\?54.dll" +#endif + +#else /* }{ */ + +#define LUA_ROOT "/usr/local/" +#define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR "/" +#define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR "/" + +#if !defined(LUA_PATH_DEFAULT) +#define LUA_PATH_DEFAULT \ + LUA_LDIR"?.lua;" LUA_LDIR"?/init.lua;" \ + LUA_CDIR"?.lua;" LUA_CDIR"?/init.lua;" \ + "./?.lua;" "./?/init.lua" +#endif + +#if !defined(LUA_CPATH_DEFAULT) +#define LUA_CPATH_DEFAULT \ + LUA_CDIR"?.so;" LUA_CDIR"loadall.so;" "./?.so;" \ + LUA_CDIR"lib?54.so;" "./lib?54.so" +#endif + +#endif /* } */ + + +/* +@@ LUA_DIRSEP is the directory separator (for submodules). +** CHANGE it if your machine does not use "/" as the directory separator +** and is not Windows. (On Windows Lua automatically uses "\".) +*/ +#if !defined(LUA_DIRSEP) + +#if defined(_WIN32) +#define LUA_DIRSEP "\\" +#else +#define LUA_DIRSEP "/" +#endif + +#endif + +/* }================================================================== */ + + +/* +** {================================================================== +** Marks for exported symbols in the C code +** =================================================================== +*/ + +/* +@@ LUA_API is a mark for all core API functions. +@@ LUALIB_API is a mark for all auxiliary library functions. +@@ LUAMOD_API is a mark for all standard library opening functions. +** CHANGE them if you need to define those functions in some special way. +** For instance, if you want to create one Windows DLL with the core and +** the libraries, you may want to use the following definition (define +** LUA_BUILD_AS_DLL to get it). +*/ +#if defined(LUA_BUILD_AS_DLL) /* { */ + +#if defined(LUA_CORE) || defined(LUA_LIB) /* { */ +#define LUA_API __declspec(dllexport) +#else /* }{ */ +#define LUA_API __declspec(dllimport) +#endif /* } */ + +#else /* }{ */ + +#define LUA_API extern + +#endif /* } */ + + +/* +** More often than not the libs go together with the core. +*/ +#define LUALIB_API LUA_API +#define LUAMOD_API LUA_API + + +/* +@@ LUAI_FUNC is a mark for all extern functions that are not to be +** exported to outside modules. +@@ LUAI_DDEF and LUAI_DDEC are marks for all extern (const) variables, +** none of which to be exported to outside modules (LUAI_DDEF for +** definitions and LUAI_DDEC for declarations). +** CHANGE them if you need to mark them in some special way. Elf/gcc +** (versions 3.2 and later) mark them as "hidden" to optimize access +** when Lua is compiled as a shared library. Not all elf targets support +** this attribute. Unfortunately, gcc does not offer a way to check +** whether the target offers that support, and those without support +** give a warning about it. To avoid these warnings, change to the +** default definition. +*/ +#if defined(__GNUC__) && ((__GNUC__*100 + __GNUC_MINOR__) >= 302) && \ + defined(__ELF__) /* { */ +#define LUAI_FUNC __attribute__((visibility("internal"))) extern +#else /* }{ */ +#define LUAI_FUNC extern +#endif /* } */ + +#define LUAI_DDEC(dec) LUAI_FUNC dec +#define LUAI_DDEF /* empty */ + +/* }================================================================== */ + + +/* +** {================================================================== +** Compatibility with previous versions +** =================================================================== +*/ + +/* +@@ LUA_COMPAT_5_3 controls other macros for compatibility with Lua 5.3. +** You can define it to get all options, or change specific options +** to fit your specific needs. +*/ +#if defined(LUA_COMPAT_5_3) /* { */ + +/* +@@ LUA_COMPAT_MATHLIB controls the presence of several deprecated +** functions in the mathematical library. +** (These functions were already officially removed in 5.3; +** nevertheless they are still available here.) +*/ +#define LUA_COMPAT_MATHLIB + +/* +@@ LUA_COMPAT_APIINTCASTS controls the presence of macros for +** manipulating other integer types (lua_pushunsigned, lua_tounsigned, +** luaL_checkint, luaL_checklong, etc.) +** (These macros were also officially removed in 5.3, but they are still +** available here.) +*/ +#define LUA_COMPAT_APIINTCASTS + + +/* +@@ LUA_COMPAT_LT_LE controls the emulation of the '__le' metamethod +** using '__lt'. +*/ +#define LUA_COMPAT_LT_LE + + +/* +@@ The following macros supply trivial compatibility for some +** changes in the API. The macros themselves document how to +** change your code to avoid using them. +** (Once more, these macros were officially removed in 5.3, but they are +** still available here.) +*/ +#define lua_strlen(L,i) lua_rawlen(L, (i)) + +#define lua_objlen(L,i) lua_rawlen(L, (i)) + +#define lua_equal(L,idx1,idx2) lua_compare(L,(idx1),(idx2),LUA_OPEQ) +#define lua_lessthan(L,idx1,idx2) lua_compare(L,(idx1),(idx2),LUA_OPLT) + +#endif /* } */ + +/* }================================================================== */ + + + +/* +** {================================================================== +** Configuration for Numbers. +** Change these definitions if no predefined LUA_FLOAT_* / LUA_INT_* +** satisfy your needs. +** =================================================================== +*/ + +/* +@@ LUA_NUMBER is the floating-point type used by Lua. +@@ LUAI_UACNUMBER is the result of a 'default argument promotion' +@@ over a floating number. +@@ l_floatatt(x) corrects float attribute 'x' to the proper float type +** by prefixing it with one of FLT/DBL/LDBL. +@@ LUA_NUMBER_FRMLEN is the length modifier for writing floats. +@@ LUA_NUMBER_FMT is the format for writing floats. +@@ lua_number2str converts a float to a string. +@@ l_mathop allows the addition of an 'l' or 'f' to all math operations. +@@ l_floor takes the floor of a float. +@@ lua_str2number converts a decimal numeral to a number. +*/ + + +/* The following definitions are good for most cases here */ + +#define l_floor(x) (l_mathop(floor)(x)) + +#define lua_number2str(s,sz,n) \ + l_sprintf((s), sz, LUA_NUMBER_FMT, (LUAI_UACNUMBER)(n)) + +/* +@@ lua_numbertointeger converts a float number with an integral value +** to an integer, or returns 0 if float is not within the range of +** a lua_Integer. (The range comparisons are tricky because of +** rounding. The tests here assume a two-complement representation, +** where MININTEGER always has an exact representation as a float; +** MAXINTEGER may not have one, and therefore its conversion to float +** may have an ill-defined value.) +*/ +#define lua_numbertointeger(n,p) \ + ((n) >= (LUA_NUMBER)(LUA_MININTEGER) && \ + (n) < -(LUA_NUMBER)(LUA_MININTEGER) && \ + (*(p) = (LUA_INTEGER)(n), 1)) + + +/* now the variable definitions */ + +#if LUA_FLOAT_TYPE == LUA_FLOAT_FLOAT /* { single float */ + +#define LUA_NUMBER float + +#define l_floatatt(n) (FLT_##n) + +#define LUAI_UACNUMBER double + +#define LUA_NUMBER_FRMLEN "" +#define LUA_NUMBER_FMT "%.7g" + +#define l_mathop(op) op##f + +#define lua_str2number(s,p) strtof((s), (p)) + + +#elif LUA_FLOAT_TYPE == LUA_FLOAT_LONGDOUBLE /* }{ long double */ + +#define LUA_NUMBER long double + +#define l_floatatt(n) (LDBL_##n) + +#define LUAI_UACNUMBER long double + +#define LUA_NUMBER_FRMLEN "L" +#define LUA_NUMBER_FMT "%.19Lg" + +#define l_mathop(op) op##l + +#define lua_str2number(s,p) strtold((s), (p)) + +#elif LUA_FLOAT_TYPE == LUA_FLOAT_DOUBLE /* }{ double */ + +#define LUA_NUMBER double + +#define l_floatatt(n) (DBL_##n) + +#define LUAI_UACNUMBER double + +#define LUA_NUMBER_FRMLEN "" +#define LUA_NUMBER_FMT "%.14g" + +#define l_mathop(op) op + +#define lua_str2number(s,p) strtod((s), (p)) + +#else /* }{ */ + +#error "numeric float type not defined" + +#endif /* } */ + + + +/* +@@ LUA_INTEGER is the integer type used by Lua. +** +@@ LUA_UNSIGNED is the unsigned version of LUA_INTEGER. +** +@@ LUAI_UACINT is the result of a 'default argument promotion' +@@ over a LUA_INTEGER. +@@ LUA_INTEGER_FRMLEN is the length modifier for reading/writing integers. +@@ LUA_INTEGER_FMT is the format for writing integers. +@@ LUA_MAXINTEGER is the maximum value for a LUA_INTEGER. +@@ LUA_MININTEGER is the minimum value for a LUA_INTEGER. +@@ LUA_MAXUNSIGNED is the maximum value for a LUA_UNSIGNED. +@@ LUA_UNSIGNEDBITS is the number of bits in a LUA_UNSIGNED. +@@ lua_integer2str converts an integer to a string. +*/ + + +/* The following definitions are good for most cases here */ + +#define LUA_INTEGER_FMT "%" LUA_INTEGER_FRMLEN "d" + +#define LUAI_UACINT LUA_INTEGER + +#define lua_integer2str(s,sz,n) \ + l_sprintf((s), sz, LUA_INTEGER_FMT, (LUAI_UACINT)(n)) + +/* +** use LUAI_UACINT here to avoid problems with promotions (which +** can turn a comparison between unsigneds into a signed comparison) +*/ +#define LUA_UNSIGNED unsigned LUAI_UACINT + + +#define LUA_UNSIGNEDBITS (sizeof(LUA_UNSIGNED) * CHAR_BIT) + + +/* now the variable definitions */ + +#if LUA_INT_TYPE == LUA_INT_INT /* { int */ + +#define LUA_INTEGER int +#define LUA_INTEGER_FRMLEN "" + +#define LUA_MAXINTEGER INT_MAX +#define LUA_MININTEGER INT_MIN + +#define LUA_MAXUNSIGNED UINT_MAX + +#elif LUA_INT_TYPE == LUA_INT_LONG /* }{ long */ + +#define LUA_INTEGER long +#define LUA_INTEGER_FRMLEN "l" + +#define LUA_MAXINTEGER LONG_MAX +#define LUA_MININTEGER LONG_MIN + +#define LUA_MAXUNSIGNED ULONG_MAX + +#elif LUA_INT_TYPE == LUA_INT_LONGLONG /* }{ long long */ + +/* use presence of macro LLONG_MAX as proxy for C99 compliance */ +#if defined(LLONG_MAX) /* { */ +/* use ISO C99 stuff */ + +#define LUA_INTEGER long long +#define LUA_INTEGER_FRMLEN "ll" + +#define LUA_MAXINTEGER LLONG_MAX +#define LUA_MININTEGER LLONG_MIN + +#define LUA_MAXUNSIGNED ULLONG_MAX + +#elif defined(LUA_USE_WINDOWS) /* }{ */ +/* in Windows, can use specific Windows types */ + +#define LUA_INTEGER __int64 +#define LUA_INTEGER_FRMLEN "I64" + +#define LUA_MAXINTEGER _I64_MAX +#define LUA_MININTEGER _I64_MIN + +#define LUA_MAXUNSIGNED _UI64_MAX + +#else /* }{ */ + +#error "Compiler does not support 'long long'. Use option '-DLUA_32BITS' \ + or '-DLUA_C89_NUMBERS' (see file 'luaconf.h' for details)" + +#endif /* } */ + +#else /* }{ */ + +#error "numeric integer type not defined" + +#endif /* } */ + +/* }================================================================== */ + + +/* +** {================================================================== +** Dependencies with C99 and other C details +** =================================================================== +*/ + +/* +@@ l_sprintf is equivalent to 'snprintf' or 'sprintf' in C89. +** (All uses in Lua have only one format item.) +*/ +#if !defined(LUA_USE_C89) +#define l_sprintf(s,sz,f,i) snprintf(s,sz,f,i) +#else +#define l_sprintf(s,sz,f,i) ((void)(sz), sprintf(s,f,i)) +#endif + + +/* +@@ lua_strx2number converts a hexadecimal numeral to a number. +** In C99, 'strtod' does that conversion. Otherwise, you can +** leave 'lua_strx2number' undefined and Lua will provide its own +** implementation. +*/ +#if !defined(LUA_USE_C89) +#define lua_strx2number(s,p) lua_str2number(s,p) +#endif + + +/* +@@ lua_pointer2str converts a pointer to a readable string in a +** non-specified way. +*/ +#define lua_pointer2str(buff,sz,p) l_sprintf(buff,sz,"%p",p) + + +/* +@@ lua_number2strx converts a float to a hexadecimal numeral. +** In C99, 'sprintf' (with format specifiers '%a'/'%A') does that. +** Otherwise, you can leave 'lua_number2strx' undefined and Lua will +** provide its own implementation. +*/ +#if !defined(LUA_USE_C89) +#define lua_number2strx(L,b,sz,f,n) \ + ((void)L, l_sprintf(b,sz,f,(LUAI_UACNUMBER)(n))) +#endif + + +/* +** 'strtof' and 'opf' variants for math functions are not valid in +** C89. Otherwise, the macro 'HUGE_VALF' is a good proxy for testing the +** availability of these variants. ('math.h' is already included in +** all files that use these macros.) +*/ +#if defined(LUA_USE_C89) || (defined(HUGE_VAL) && !defined(HUGE_VALF)) +#undef l_mathop /* variants not available */ +#undef lua_str2number +#define l_mathop(op) (lua_Number)op /* no variant */ +#define lua_str2number(s,p) ((lua_Number)strtod((s), (p))) +#endif + + +/* +@@ LUA_KCONTEXT is the type of the context ('ctx') for continuation +** functions. It must be a numerical type; Lua will use 'intptr_t' if +** available, otherwise it will use 'ptrdiff_t' (the nearest thing to +** 'intptr_t' in C89) +*/ +#define LUA_KCONTEXT ptrdiff_t + +#if !defined(LUA_USE_C89) && defined(__STDC_VERSION__) && \ + __STDC_VERSION__ >= 199901L +#include +#if defined(INTPTR_MAX) /* even in C99 this type is optional */ +#undef LUA_KCONTEXT +#define LUA_KCONTEXT intptr_t +#endif +#endif + + +/* +@@ lua_getlocaledecpoint gets the locale "radix character" (decimal point). +** Change that if you do not want to use C locales. (Code using this +** macro must include the header 'locale.h'.) +*/ +#if !defined(lua_getlocaledecpoint) +#define lua_getlocaledecpoint() (localeconv()->decimal_point[0]) +#endif + +/* }================================================================== */ + + +/* +** {================================================================== +** Language Variations +** ===================================================================== +*/ + +/* +@@ LUA_NOCVTN2S/LUA_NOCVTS2N control how Lua performs some +** coercions. Define LUA_NOCVTN2S to turn off automatic coercion from +** numbers to strings. Define LUA_NOCVTS2N to turn off automatic +** coercion from strings to numbers. +*/ +/* #define LUA_NOCVTN2S */ +/* #define LUA_NOCVTS2N */ + + +/* +@@ LUA_USE_APICHECK turns on several consistency checks on the C API. +** Define it as a help when debugging C code. +*/ +#if defined(LUA_USE_APICHECK) +#include +#define luai_apicheck(l,e) assert(e) +#endif + +/* }================================================================== */ + + +/* +** {================================================================== +** Macros that affect the API and must be stable (that is, must be the +** same when you compile Lua and when you compile code that links to +** Lua). +** ===================================================================== +*/ + +/* +@@ LUAI_MAXSTACK limits the size of the Lua stack. +** CHANGE it if you need a different limit. This limit is arbitrary; +** its only purpose is to stop Lua from consuming unlimited stack +** space (and to reserve some numbers for pseudo-indices). +** (It must fit into max(size_t)/32.) +*/ +#if LUAI_IS32INT +#define LUAI_MAXSTACK 1000000 +#else +#define LUAI_MAXSTACK 15000 +#endif + + +/* +@@ LUA_EXTRASPACE defines the size of a raw memory area associated with +** a Lua state with very fast access. +** CHANGE it if you need a different size. +*/ +#define LUA_EXTRASPACE (sizeof(void *)) + + +/* +@@ LUA_IDSIZE gives the maximum size for the description of the source +@@ of a function in debug information. +** CHANGE it if you want a different size. +*/ +#define LUA_IDSIZE 60 + + +/* +@@ LUAL_BUFFERSIZE is the buffer size used by the lauxlib buffer system. +*/ +#define LUAL_BUFFERSIZE ((int)(16 * sizeof(void*) * sizeof(lua_Number))) + + +/* +@@ LUAI_MAXALIGN defines fields that, when used in a union, ensure +** maximum alignment for the other items in that union. +*/ +#define LUAI_MAXALIGN lua_Number n; double u; void *s; lua_Integer i; long l + +/* }================================================================== */ + + + + + +/* =================================================================== */ + +/* +** Local configuration. You can use this space to add your redefinitions +** without modifying the main part of the file. +*/ + + + + + +#endif + diff --git a/vendor/lua/5.4/include/lualib.h b/vendor/lua/5.4/include/lualib.h new file mode 100644 index 000000000..eb08b530a --- /dev/null +++ b/vendor/lua/5.4/include/lualib.h @@ -0,0 +1,58 @@ +/* +** $Id: lualib.h $ +** Lua standard libraries +** See Copyright Notice in lua.h +*/ + + +#ifndef lualib_h +#define lualib_h + +#include "lua.h" + + +/* version suffix for environment variable names */ +#define LUA_VERSUFFIX "_" LUA_VERSION_MAJOR "_" LUA_VERSION_MINOR + + +LUAMOD_API int (luaopen_base) (lua_State *L); + +#define LUA_COLIBNAME "coroutine" +LUAMOD_API int (luaopen_coroutine) (lua_State *L); + +#define LUA_TABLIBNAME "table" +LUAMOD_API int (luaopen_table) (lua_State *L); + +#define LUA_IOLIBNAME "io" +LUAMOD_API int (luaopen_io) (lua_State *L); + +#define LUA_OSLIBNAME "os" +LUAMOD_API int (luaopen_os) (lua_State *L); + +#define LUA_STRLIBNAME "string" +LUAMOD_API int (luaopen_string) (lua_State *L); + +#define LUA_UTF8LIBNAME "utf8" +LUAMOD_API int (luaopen_utf8) (lua_State *L); + +#define LUA_MATHLIBNAME "math" +LUAMOD_API int (luaopen_math) (lua_State *L); + +#define LUA_DBLIBNAME "debug" +LUAMOD_API int (luaopen_debug) (lua_State *L); + +#define LUA_LOADLIBNAME "package" +LUAMOD_API int (luaopen_package) (lua_State *L); + + +/* open all previous libraries */ +LUALIB_API void (luaL_openlibs) (lua_State *L); + + + +#if !defined(lua_assert) +#define lua_assert(x) ((void)0) +#endif + + +#endif diff --git a/vendor/lua/5.4/lua.odin b/vendor/lua/5.4/lua.odin new file mode 100644 index 000000000..ce15e185f --- /dev/null +++ b/vendor/lua/5.4/lua.odin @@ -0,0 +1,822 @@ +package lua_5_4 + +import "core:intrinsics" +import "core:builtin" + +import c "core:c/libc" + +#assert(size_of(c.int) == size_of(b32)) + +when ODIN_OS == .Windows { + foreign import lib "windows/lua54dll.lib" +} + +VERSION_MAJOR :: "5" +VERSION_MINOR :: "4" +VERSION_RELEASE :: "2" + +VERSION_NUM :: 504 +VERSION_RELEASE_NUM :: VERSION_NUM * 100 + 0 + +VERSION :: "Lua " + VERSION_MAJOR + "." + VERSION_MINOR +RELEASE :: VERSION + "." + VERSION_RELEASE +COPYRIGHT :: RELEASE + " Copyright (C) 1994-2020 Lua.org, PUC-Rio" +AUTHORS :: "R. Ierusalimschy, L. H. de Figueiredo, W. Celes" + + +/* mark for precompiled code ('Lua') */ +SIGNATURE :: "\x1bLua" + +/* option for multiple returns in 'lua_pcall' and 'lua_call' */ +MULTRET :: -1 + +REGISTRYINDEX :: -MAXSTACK - 1000 + + +/* +@@ LUAI_MAXSTACK limits the size of the Lua stack. +** CHANGE it if you need a different limit. This limit is arbitrary; +** its only purpose is to stop Lua from consuming unlimited stack +** space (and to reserve some numbers for pseudo-indices). +** (It must fit into max(size_t)/32.) +*/ +MAXSTACK :: 1000000 when size_of(rawptr) == 4 else 15000 + + +/* +@@ LUA_EXTRASPACE defines the size of a raw memory area associated with +** a Lua state with very fast access. +** CHANGE it if you need a different size. +*/ +EXTRASPACE :: size_of(rawptr) + + + +/* +@@ LUA_IDSIZE gives the maximum size for the description of the source +@@ of a function in debug information. +** CHANGE it if you want a different size. +*/ +IDSIZE :: 60 + + +/* +@@ LUAL_BUFFERSIZE is the buffer size used by the lauxlib buffer system. +*/ +L_BUFFERSIZE :: c.int(16 * size_of(rawptr) * size_of(Number)) + + +MAXALIGNVAL :: max(align_of(Number), align_of(f64), align_of(rawptr), align_of(Integer), align_of(c.long)) + + +Status :: enum c.int { + OK = 0, + YIELD = 1, + ERRRUN = 2, + ERRSYNTAX = 3, + ERRMEM = 4, + ERRERR = 5, + ERRFILE = 6, +} + +/* thread status */ +OK :: Status.OK +YIELD :: Status.YIELD +ERRRUN :: Status.ERRRUN +ERRSYNTAX :: Status.ERRSYNTAX +ERRMEM :: Status.ERRMEM +ERRERR :: Status.ERRERR +ERRFILE :: Status.ERRFILE + +/* +** basic types +*/ + + +Type :: enum c.int { + NONE = -1, + + NIL = 0, + BOOLEAN = 1, + LIGHTUSERDATA = 2, + NUMBER = 3, + STRING = 4, + TABLE = 5, + FUNCTION = 6, + USERDATA = 7, + THREAD = 8, +} + +TNONE :: Type.NONE +TNIL :: Type.NIL +TBOOLEAN :: Type.BOOLEAN +TLIGHTUSERDATA :: Type.LIGHTUSERDATA +TNUMBER :: Type.NUMBER +TSTRING :: Type.STRING +TTABLE :: Type.TABLE +TFUNCTION :: Type.FUNCTION +TUSERDATA :: Type.USERDATA +TTHREAD :: Type.THREAD +NUMTYPES :: 9 + + + +ArithOp :: enum c.int { + ADD = 0, /* ORDER TM, ORDER OP */ + SUB = 1, + MUL = 2, + MOD = 3, + POW = 4, + DIV = 5, + IDIV = 6, + BAND = 7, + BOR = 8, + BXOR = 9, + SHL = 10, + SHR = 11, + UNM = 12, + BNOT = 13, +} + +CompareOp :: enum c.int { + EQ = 0, + LT = 1, + LE = 2, +} + +OPADD :: ArithOp.ADD +OPSUB :: ArithOp.SUB +OPMUL :: ArithOp.MUL +OPMOD :: ArithOp.MOD +OPPOW :: ArithOp.POW +OPDIV :: ArithOp.DIV +OPIDIV :: ArithOp.IDIV +OPBAND :: ArithOp.BAND +OPBOR :: ArithOp.BOR +OPBXOR :: ArithOp.BXOR +OPSHL :: ArithOp.SHL +OPSHR :: ArithOp.SHR +OPUNM :: ArithOp.UNM +OPBNOT :: ArithOp.BNOT + +OPEQ :: CompareOp.EQ +OPLT :: CompareOp.LT +OPLE :: CompareOp.LE + + +/* minimum Lua stack available to a C function */ +MINSTACK :: 20 + + +/* predefined values in the registry */ +RIDX_MAINTHREAD :: 1 +RIDX_GLOBALS :: 2 +RIDX_LAST :: RIDX_GLOBALS + + +/* type of numbers in Lua */ +Number :: distinct (f32 when size_of(uintptr) == 4 else f64) + + +/* type for integer functions */ +Integer :: distinct (i32 when size_of(uintptr) == 4 else i64) + +/* unsigned integer type */ +Unsigned :: distinct (u32 when size_of(uintptr) == 4 else u64) + +/* type for continuation-function contexts */ +KContext :: distinct int + + +/* +** Type for C functions registered with Lua +*/ +CFunction :: #type proc "c" (L: ^State) -> c.int + +/* +** Type for continuation functions +*/ +KFunction :: #type proc "c" (L: ^State, status: c.int, ctx: KContext) -> c.int + + +/* +** Type for functions that read/write blocks when loading/dumping Lua chunks +*/ +Reader :: #type proc "c" (L: ^State, ud: rawptr, sz: ^c.size_t) -> cstring +Writer :: #type proc "c" (L: ^State, p: rawptr, sz: ^c.size_t, ud: rawptr) -> c.int + + +/* +** Type for memory-allocation functions +*/ +Alloc :: #type proc "c" (ud: rawptr, ptr: rawptr, osize, nsize: c.size_t) -> rawptr + + +/* +** Type for warning functions +*/ +WarnFunction :: #type proc "c" (ud: rawptr, msg: rawptr, tocont: c.int) + +GCWhat :: enum c.int { + STOP = 0, + RESTART = 1, + COLLECT = 2, + COUNT = 3, + COUNTB = 4, + STEP = 5, + SETPAUSE = 6, + SETSTEPMUL = 7, + ISRUNNING = 9, + GEN = 10, + INC = 11, +} +GCSTOP :: GCWhat.STOP +GCRESTART :: GCWhat.RESTART +GCCOLLECT :: GCWhat.COLLECT +GCCOUNT :: GCWhat.COUNT +GCCOUNTB :: GCWhat.COUNTB +GCSTEP :: GCWhat.STEP +GCSETPAUSE :: GCWhat.SETPAUSE +GCSETSTEPMUL :: GCWhat.SETSTEPMUL +GCISRUNNING :: GCWhat.ISRUNNING +GCGEN :: GCWhat.GEN +GCINC :: GCWhat.INC + + + +/* +** Event codes +*/ + +HookEvent :: enum c.int { + CALL = 0, + RET = 1, + LINE = 2, + COUNT = 3, + TAILCALL = 4, +} +HOOKCALL :: HookEvent.CALL +HOOKRET :: HookEvent.RET +HOOKLINE :: HookEvent.LINE +HOOKCOUNT :: HookEvent.COUNT +HOOKTAILCALL :: HookEvent.TAILCALL + + +/* +** Event masks +*/ +HookMask :: distinct bit_set[HookEvent; c.int] +MASKCALL :: HookMask{.CALL} +MASKRET :: HookMask{.RET} +MASKLINE :: HookMask{.LINE} +MASKCOUNT :: HookMask{.COUNT} + +/* activation record */ +Debug :: struct { + event: HookEvent, + name: cstring, /* (n) */ + namewhat: cstring, /* (n) 'global', 'local', 'field', 'method' */ + what: cstring, /* (S) 'Lua', 'C', 'main', 'tail' */ + source: cstring, /* (S) */ + srclen: c.size_t, /* (S) */ + currentline: c.int, /* (l) */ + linedefined: c.int, /* (S) */ + lastlinedefined: c.int, /* (S) */ + nups: u8, /* (u) number of upvalues */ + nparams: u8, /* (u) number of parameters */ + isvararg: bool, /* (u) */ + istailcall: bool, /* (t) */ + ftransfer: u16, /* (r) index of first value transferred */ + ntransfer: u16, /* (r) number of transferred values */ + short_src: [IDSIZE]u8 `fmt:"s"`, /* (S) */ + /* private part */ + i_ci: rawptr, /* active function */ +} + + +/* Functions to be called by the debugger in specific events */ +Hook :: #type proc "c" (L: ^State, ar: ^Debug) + + +State :: struct {} // opaque data type + + +@(link_prefix="lua_") +@(default_calling_convention="c") +foreign lib { + /* + ** RCS ident string + */ + + ident: [^]u8 // TODO(bill): is this correct? + + + /* + ** state manipulation + */ + + newstate :: proc(f: Alloc, ud: rawptr) -> ^State --- + close :: proc(L: ^State) --- + newthread :: proc(L: ^State) -> ^State --- + resetthread :: proc(L: ^State) -> Status --- + + atpanic :: proc(L: ^State, panicf: CFunction) -> CFunction --- + + version :: proc(L: ^State) -> Number --- + + + /* + ** basic stack manipulation + */ + + absindex :: proc (L: ^State, idx: c.int) -> c.int --- + gettop :: proc (L: ^State) -> c.int --- + settop :: proc (L: ^State, idx: c.int) --- + pushvalue :: proc (L: ^State, idx: c.int) --- + rotate :: proc (L: ^State, idx: c.int, n: c.int) --- + copy :: proc (L: ^State, fromidx, toidx: c.int) --- + checkstack :: proc (L: ^State, n: c.int) -> c.int --- + + xmove :: proc(from, to: ^State, n: c.int) --- + + + /* + ** access functions (stack -> C) + */ + + isnumber :: proc(L: ^State, idx: c.int) -> b32 --- + isstring :: proc(L: ^State, idx: c.int) -> b32 --- + iscfunction :: proc(L: ^State, idx: c.int) -> b32 --- + isinteger :: proc(L: ^State, idx: c.int) -> b32 --- + isuserdata :: proc(L: ^State, idx: c.int) -> b32 --- + type :: proc(L: ^State, idx: c.int) -> Type --- + typename :: proc(L: ^State, tp: Type) -> cstring --- + + @(link_name="lua_tonumberx") + tonumber :: proc(L: ^State, idx: c.int, isnum: ^c.int = nil) -> Number --- + @(link_name="lua_tointegerx") + tointeger :: proc(L: ^State, idx: c.int, isnum: ^c.int = nil) -> Integer --- + toboolean :: proc(L: ^State, idx: c.int) -> b32 --- + tolstring :: proc(L: ^State, idx: c.int, len: ^c.size_t) -> cstring --- + rawlen :: proc(L: ^State, idx: c.int) -> Unsigned --- + tocfunction :: proc(L: ^State, idx: c.int) -> CFunction --- + touserdata :: proc(L: ^State, idx: c.int) -> rawptr --- + tothread :: proc(L: ^State, idx: c.int) -> ^State --- + topointer :: proc(L: ^State, idx: c.int) -> rawptr --- + + /* + ** Comparison and arithmetic functions + */ + + arith :: proc(L: ^State, op: ArithOp) --- + rawequal :: proc(L: ^State, idx1, idx2: c.int) -> b32 --- + compare :: proc(L: ^State, idx1, idx2: c.int, op: CompareOp) -> b32 --- + + /* + ** push functions (C -> stack) + */ + + pushnil :: proc(L: ^State) --- + pushnumber :: proc(L: ^State, n: Number) --- + pushinteger :: proc(L: ^State, n: Integer) --- + pushlstring :: proc(L: ^State, s: cstring, len: cstring) -> cstring --- + pushstring :: proc(L: ^State, s: cstring) -> cstring --- + pushvfstring :: proc(L: ^State, fmt: cstring, argp: c.va_list) -> cstring --- + pushfstring :: proc(L: ^State, fmt: cstring, #c_vararg args: ..any) -> cstring --- + pushcclosure :: proc(L: ^State, fn: CFunction, n: c.int) --- + pushboolean :: proc(L: ^State, b: b32) --- + pushlightuserdata :: proc(L: ^State, p: rawptr) --- + pushthread :: proc(L: ^State) -> Status --- + + /* + ** get functions (Lua -> stack) + */ + + getglobal :: proc(L: ^State, name: cstring) -> c.int --- + gettable :: proc(L: ^State, idx: c.int) -> c.int --- + getfield :: proc(L: ^State, idx: c.int, k: cstring) -> c.int --- + geti :: proc(L: ^State, idx: c.int, n: Integer) -> c.int --- + rawget :: proc(L: ^State, idx: c.int) -> c.int --- + rawgeti :: proc(L: ^State, idx: c.int, n: Integer) -> c.int --- + rawgetp :: proc(L: ^State, idx: c.int, p: rawptr) -> c.int --- + + createtable :: proc(L: ^State, narr, nrec: c.int) --- + newuserdatauv :: proc(L: ^State, sz: c.size_t, nuvalue: c.int) -> rawptr --- + getmetatable :: proc(L: ^State, objindex: c.int) -> c.int --- + getiuservalue :: proc(L: ^State, idx: c.int, n: c.int) -> c.int --- + + + /* + ** set functions (stack -> Lua) + */ + + setglobal :: proc(L: ^State, name: cstring) --- + settable :: proc(L: ^State, idx: c.int) --- + setfield :: proc(L: ^State, idx: c.int, k: cstring) --- + seti :: proc(L: ^State, idx: c.int, n: Integer) --- + rawset :: proc(L: ^State, idx: c.int) --- + rawseti :: proc(L: ^State, idx: c.int, n: Integer) --- + rawsetp :: proc(L: ^State, idx: c.int, p: rawptr) --- + setmetatable :: proc(L: ^State, objindex: c.int) -> c.int --- + setiuservalue :: proc(L: ^State, idx: c.int, n: c.int) -> c.int --- + + + /* + ** 'load' and 'call' functions (load and run Lua code) + */ + + @(link_name="lua_callk") + call :: proc(L: ^State, nargs, nresults: c.int, + ctx: KContext = 0, k: KFunction = nil) --- + + @(link_name="lua_pcallk") + pcall :: proc(L: ^State, nargs, nresults: c.int, errfunc: c.int, + ctx: KContext = 0, k: KFunction = nil) -> c.int --- + + load :: proc(L: ^State, reader: Reader, dt: rawptr, + chunkname, mode: cstring) -> Status --- + + dump :: proc(L: ^State, writer: Writer, data: rawptr, strip: b32) -> Status --- + + + /* + ** coroutine functions + */ + + @(link_name="lua_yieldk") + yield :: proc(L: ^State, nresults: c.int, ctx: KContext = 0, k: KFunction = nil) -> Status --- + resume :: proc(L: ^State, from: ^State, narg: c.int, nres: ^c.int) -> Status --- + status :: proc(L: ^State) -> Status --- + isyieldable :: proc(L: ^State) -> b32 --- + + + /* + ** Warning-related functions + */ + + setwarnf :: proc(L: ^State, f: WarnFunction, ud: rawptr) --- + warning :: proc(L: ^State, msg: string, tocont: b32) --- + + + /* + ** garbage-collection function and options + */ + + + + gc :: proc(L: ^State, what: GCWhat, #c_vararg args: ..any) -> c.int --- + + + /* + ** miscellaneous functions + */ + + error :: proc(L: ^State) -> Status --- + + next :: proc(L: ^State, idx: c.int) -> c.int --- + + concat :: proc(L: ^State, n: c.int) --- + len :: proc(L: ^State, idx: c.int) --- + + stringtonumber :: proc(L: ^State, s: cstring) -> c.size_t --- + + getallocf :: proc(L: State, ud: ^rawptr) -> Alloc --- + setallocf :: proc(L: ^State, f: Alloc, ud: rawptr) --- + + toclose :: proc(L: ^State, idx: c.int) --- + + /* + ** {====================================================================== + ** Debug API + ** ======================================================================= + */ + + getstack :: proc(L: ^State, level: c.int, ar: ^Debug) -> c.int --- + getinfo :: proc(L: ^State, what: cstring, ar: ^Debug) -> c.int --- + getlocal :: proc(L: ^State, ar: ^Debug, n: c.int) -> cstring --- + setlocal :: proc(L: ^State, ar: ^Debug, n: c.int) -> cstring --- + getupvalue :: proc(L: ^State, funcindex: c.int, n: c.int) -> cstring --- + setupvalue :: proc(L: ^State, funcindex: c.int, n: c.int) -> cstring --- + + upvalueid :: proc(L: ^State, fidx, n: c.int) -> rawptr --- + upvaluejoin :: proc(L: ^State, fidx1, n1, fidx2, n2: c.int) --- + + sethook :: proc(L: ^State, func: Hook, mask: HookMask, count: c.int) --- + gethook :: proc(L: ^State) -> Hook --- + gethookmask :: proc(L: ^State) -> HookMask --- + gethookcount :: proc(L: ^State) -> c.int --- + + setcstacklimit :: proc(L: ^State, limit: c.uint) -> c.int --- + + /* }============================================================== */ +} + + + +/* version suffix for environment variable names */ +VERSUFFIX :: "_" + VERSION_MAJOR + "_" + VERSION_MINOR + +COLIBNAME :: "coroutine" +TABLIBNAME :: "table" +IOLIBNAME :: "io" +OSLIBNAME :: "os" +STRLIBNAME :: "string" +UTF8LIBNAME :: "utf8" +MATHLIBNAME :: "math" +DBLIBNAME :: "debug" +LOADLIBNAME :: "package" + +@(link_prefix="lua") +@(default_calling_convention="c") +foreign lib { + open_base :: proc(L: ^State) -> c.int --- + open_coroutine :: proc(L: ^State) -> c.int --- + open_table :: proc(L: ^State) -> c.int --- + open_io :: proc(L: ^State) -> c.int --- + open_os :: proc(L: ^State) -> c.int --- + open_string :: proc(L: ^State) -> c.int --- + open_utf8 :: proc(L: ^State) -> c.int --- + open_math :: proc(L: ^State) -> c.int --- + open_debug :: proc(L: ^State) -> c.int --- + open_package :: proc(L: ^State) -> c.int --- + + /* open all previous libraries */ + + openlibs :: proc(L: ^State) --- +} + + + +GNAME :: "_G" + +/* key, in the registry, for table of loaded modules */ +LOADED_TABLE :: "_LOADED" + + +/* key, in the registry, for table of preloaded loaders */ +PRELOAD_TABLE :: "_PRELOAD" + +L_Reg :: struct { + name: cstring, + func: CFunction, +} + +L_NUMSIZES :: size_of(Integer)*16 + size_of(Number) + + +/* predefined references */ +NOREF :: -2 +REFNIL :: -1 + + +@(link_prefix="lua") +@(default_calling_convention="c") +foreign lib { + @(link_name="luaL_checkversion_") + L_checkversion :: proc(L: ^State, ver: Number = VERSION_NUM, sz: c.size_t = L_NUMSIZES) --- + + + L_getmetafield :: proc(L: ^State, obj: c.int, e: cstring) -> c.int --- + L_callmeta :: proc(L: ^State, obj: c.int, e: cstring) -> c.int --- + @(link_name="luaL_tolstring") + L_tostring :: proc(L: ^State, idx: c.int, len: ^c.size_t = nil) -> cstring --- + L_argerror :: proc(L: ^State, arg: c.int, extramsg: cstring) -> c.int --- + L_typeerror :: proc(L: ^State, arg: c.int, tname: cstring) -> c.int --- + @(link_name="luaL_checklstring") + L_checkstring :: proc(L: ^State, arg: c.int, l: ^c.size_t = nil) -> cstring --- + @(link_name="luaL_optlstring") + L_optstring :: proc(L: ^State, arg: c.int, def: cstring, l: ^c.size_t = nil) -> cstring --- + L_checknumber :: proc(L: ^State, arg: c.int) -> Number --- + L_optnumber :: proc(L: ^State, arg: c.int, def: Number) -> Number --- + + L_checkinteger :: proc(L: ^State, arg: c.int) -> Integer --- + L_optinteger :: proc(L: ^State, arg: c.int, def: Integer) -> Integer --- + + L_checkstack :: proc(L: ^State, sz: c.int, msg: cstring) --- + L_checktype :: proc(L: ^State, arg: c.int, t: c.int) --- + L_checkany :: proc(L: ^State, arg: c.int) --- + + L_newmetatable :: proc(L: ^State, tname: cstring) -> c.int --- + L_setmetatable :: proc(L: ^State, tname: cstring) --- + L_testudata :: proc(L: ^State, ud: c.int, tname: cstring) -> rawptr --- + L_checkudata :: proc(L: ^State, ud: c.int, tname: cstring) -> rawptr --- + + L_where :: proc(L: ^State, lvl: c.int) --- + L_error :: proc(L: ^State, fmt: cstring, #c_vararg args: ..any) -> Status --- + + L_checkoption :: proc(L: ^State, arg: c.int, def: cstring, lst: [^]cstring) -> c.int --- + + L_fileresult :: proc(L: ^State, stat: c.int, fname: cstring) -> c.int --- + L_execresult :: proc(L: ^State, stat: c.int) -> c.int --- + + + L_ref :: proc(L: ^State, t: c.int) -> c.int --- + L_unref :: proc(L: ^State, t: c.int, ref: c.int) --- + + @(link_name="luaL_loadfilex") + L_loadfile :: proc (L: ^State, filename: cstring, mode: cstring = nil) -> Status --- + + @(link_name="luaL_loadbufferx") + L_loadbuffer :: proc(L: ^State, buff: cstring, sz: c.size_t, name: cstring, mode: cstring = nil) -> Status --- + L_loadstring :: proc(L: ^State, s: cstring) -> Status --- + + L_newstate :: proc() -> ^State --- + + L_len :: proc(L: ^State, idx: c.int) -> Integer --- + + L_addgsub :: proc(b: ^L_Buffer, s, p, r: cstring) --- + L_gsub :: proc(L: ^State, s, p, r: cstring) -> cstring --- + + L_setfuncs :: proc(L: ^State, l: [^]L_Reg, nup: c.int) --- + + L_getsubtable :: proc(L: ^State, idx: c.int, fname: cstring) -> c.int --- + + L_traceback :: proc(L: ^State, L1: ^State, msg: cstring, level: c.int) --- + + L_requiref :: proc(L: ^State, modname: cstring, openf: CFunction, glb: c.int) --- + +} +/* +** {====================================================== +** Generic Buffer manipulation +** ======================================================= +*/ + + +L_Buffer :: struct { + b: [^]byte, /* buffer address */ + size: c.size_t, /* buffer size */ + n: c.size_t, /* number of characters in buffer */ + L: ^State, + init: struct #raw_union { + n: Number, u: f64, s: rawptr, i: Integer, l: c.long, + b: [L_BUFFERSIZE]byte, /* initial buffer */ + }, +} +L_bufflen :: #force_inline proc "c" (bf: ^L_Buffer) -> c.size_t { + return bf.n +} +L_buffaddr :: #force_inline proc "c" (bf: ^L_Buffer) -> [^]byte { + return bf.b +} + +L_addchar :: #force_inline proc "c" (B: ^L_Buffer, c: byte) { + if B.n < B.size { + L_prepbuffsize(B, 1) + } + B.b[B.n] = c + B.n += 1 +} + +L_addsize :: #force_inline proc "c" (B: ^L_Buffer, s: c.size_t) -> c.size_t { + B.n += s + return B.n +} + +L_buffsub :: #force_inline proc "c" (B: ^L_Buffer, s: c.size_t) -> c.size_t { + B.n -= s + return B.n +} + +L_prepbuffer :: #force_inline proc "c" (B: ^L_Buffer) -> [^]byte { + return L_prepbuffsize(B, c.size_t(L_BUFFERSIZE)) +} + + +@(link_prefix="lua") +@(default_calling_convention="c") +foreign lib { + L_buffinit :: proc(L: ^State, B: ^L_Buffer) --- + L_prepbuffsize :: proc(B: ^L_Buffer, sz: c.size_t) -> [^]byte --- + L_addlstring :: proc(B: ^L_Buffer, s: cstring, l: c.size_t) --- + L_addstring :: proc(B: ^L_Buffer, s: cstring) --- + L_addvalue :: proc(B: ^L_Buffer) --- + L_pushresult :: proc(B: ^L_Buffer) --- + L_pushresultsize :: proc(B: ^L_Buffer, sz: c.size_t) --- + L_buffinitsize :: proc(L: ^State, B: ^L_Buffer, sz: c.size_t) -> [^]byte --- +} + + +/* }====================================================== */ + + + + +/* +** {============================================================== +** some useful macros +** =============================================================== +*/ + +getextraspace :: #force_inline proc "c" (L: ^State) -> rawptr { + return rawptr(([^]byte)(L)[-EXTRASPACE:]) +} +pop :: #force_inline proc "c" (L: ^State, n: c.int) { + settop(L, -n-1) +} +newtable :: #force_inline proc "c" (L: ^State) { + createtable(L, 0, 0) +} +register :: #force_inline proc "c" (L: ^State, n: cstring, f: CFunction) { + pushcfunction(L, f) + setglobal(L, n) +} + +pushcfunction :: #force_inline proc "c" (L: ^State, f: CFunction) { + pushcclosure(L, f, 0) +} + + +isfunction :: #force_inline proc "c" (L: ^State, n: c.int) -> bool { return type(L, n) == .FUNCTION } +istable :: #force_inline proc "c" (L: ^State, n: c.int) -> bool { return type(L, n) == .TABLE } +islightuserdata :: #force_inline proc "c" (L: ^State, n: c.int) -> bool { return type(L, n) == .LIGHTUSERDATA } +isnil :: #force_inline proc "c" (L: ^State, n: c.int) -> bool { return type(L, n) == .NIL } +isboolean :: #force_inline proc "c" (L: ^State, n: c.int) -> bool { return type(L, n) == .BOOLEAN } +isthread :: #force_inline proc "c" (L: ^State, n: c.int) -> bool { return type(L, n) == .THREAD } +isnone :: #force_inline proc "c" (L: ^State, n: c.int) -> bool { return type(L, n) == .NONE } +isnoneornil :: #force_inline proc "c" (L: ^State, n: c.int) -> bool { return type(L, n) <= .NIL } + + +pushliteral :: pushstring +pushglobaltable :: #force_inline proc "c" (L: ^State) { + rawgeti(L, REGISTRYINDEX, RIDX_GLOBALS) +} +tostring :: #force_inline proc "c" (L: ^State, i: c.int) -> cstring { + return tolstring(L, i, nil) +} +insert :: #force_inline proc "c" (L: ^State, idx: c.int) { + rotate(L, idx, 1) +} +remove :: #force_inline proc "c" (L: ^State, idx: c.int) { + rotate(L, idx, -1) + pop(L, 1) +} +replace :: #force_inline proc "c" (L: ^State, idx: c.int) { + copy(L, -1, idx) + pop(L, 1) +} + +L_newlibtable :: #force_inline proc "c" (L: ^State, l: []L_Reg) { + createtable(L, 0, c.int(builtin.len(l) - 1)) +} + +L_newlib :: proc(L: ^State, l: []L_Reg) { + L_checkversion(L) + L_newlibtable(L, l) + L_setfuncs(L, raw_data(l), 0) +} + +L_argcheck :: #force_inline proc "c" (L: ^State, cond: bool, arg: c.int, extramsg: cstring) { + if cond { + L_argerror(L, arg, extramsg) + } +} + +L_argexpected :: #force_inline proc "c" (L: ^State, cond: bool, arg: c.int, tname: cstring) { + if cond { + L_typeerror(L, arg, tname) + } +} + +L_typename :: #force_inline proc "c" (L: ^State, i: c.int) -> cstring { + return typename(L, type(L, i)) +} +L_dofile :: #force_inline proc "c" (L: ^State, s: cstring) -> c.int { + err := L_loadfile(L, s) + return pcall(L, 0, MULTRET, 0) if err == nil else c.int(err) +} +L_dostring :: #force_inline proc "c" (L: ^State, s: cstring) -> c.int { + err := L_loadstring(L, s) + return pcall(L, 0, MULTRET, 0) if err == nil else c.int(err) +} +L_getmetatable :: #force_inline proc "c" (L: ^State, n: cstring) -> c.int { + return getfield(L, REGISTRYINDEX, n) +} +L_opt :: #force_inline proc "c" (L: ^State, f: $F, n: c.int, d: $T) -> T where intrinsics.type_is_proc(F) { + return d if isnoneornil(L, n) else f(L, n) +} + + + +/* push the value used to represent failure/error */ +pushfail :: pushnil + + +/* }============================================================== */ + + +/* +** {============================================================== +** compatibility macros +** =============================================================== +*/ + +newuserdata :: #force_inline proc "c" (L: ^State, s: c.size_t) -> rawptr { + return newuserdatauv(L, s, 1) +} +getuservalue :: #force_inline proc "c" (L: ^State, idx: c.int) -> c.int { + return getiuservalue(L, idx, 1) +} +setuservalue :: #force_inline proc "c" (L: ^State, idx: c.int) -> c.int { + return setiuservalue(L, idx, 1) +} diff --git a/vendor/lua/5.4/windows/lua54.dll b/vendor/lua/5.4/windows/lua54.dll new file mode 100644 index 0000000000000000000000000000000000000000..44130fad2ce7e082a4e985b06594608bb91523ec GIT binary patch literal 354816 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 z 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�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%0AZL_?tlstU!r>N;~ut-YcL@)u60G8=@MR0 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 literal 0 HcmV?d00001 diff --git a/vendor/lua/5.4/windows/lua54dll.lib b/vendor/lua/5.4/windows/lua54dll.lib new file mode 100644 index 0000000000000000000000000000000000000000..21bdd6ebd886d0865de23af61de37d70d53dc049 GIT binary patch literal 30090 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 Date: Wed, 5 Apr 2023 15:56:56 +0100 Subject: [PATCH 35/50] Add README.md --- vendor/lua/README.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 vendor/lua/README.md diff --git a/vendor/lua/README.md b/vendor/lua/README.md new file mode 100644 index 000000000..6484ab2d1 --- /dev/null +++ b/vendor/lua/README.md @@ -0,0 +1,5 @@ +# Lua in Odin + +```odin +import lua "vendor:lua/5.4" // or whatever version you want +``` \ No newline at end of file From cbd2d896376f09d81fcb974fee3a61af46b228fc Mon Sep 17 00:00:00 2001 From: gingerBill Date: Wed, 5 Apr 2023 15:58:06 +0100 Subject: [PATCH 36/50] Add LICENSE --- vendor/lua/LICENSE | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 vendor/lua/LICENSE diff --git a/vendor/lua/LICENSE b/vendor/lua/LICENSE new file mode 100644 index 000000000..4a17a5230 --- /dev/null +++ b/vendor/lua/LICENSE @@ -0,0 +1,6 @@ +Copyright © 1994–2023 Lua.org, PUC-Rio. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file From 31bc982a5387a130dac0db627eed459c11381a60 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Wed, 5 Apr 2023 16:00:58 +0100 Subject: [PATCH 37/50] Fix typo --- vendor/lua/5.4/lua.odin | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vendor/lua/5.4/lua.odin b/vendor/lua/5.4/lua.odin index ce15e185f..c1c18485f 100644 --- a/vendor/lua/5.4/lua.odin +++ b/vendor/lua/5.4/lua.odin @@ -542,7 +542,7 @@ foreign lib { /* open all previous libraries */ - openlibs :: proc(L: ^State) --- + L_openlibs :: proc(L: ^State) --- } From 8c327567c04caf82342024f7035760e54e73fc78 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Wed, 5 Apr 2023 16:05:39 +0100 Subject: [PATCH 38/50] Minor change to `L_loadbuffer`'s signature --- vendor/lua/5.4/lua.odin | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vendor/lua/5.4/lua.odin b/vendor/lua/5.4/lua.odin index c1c18485f..6b3179670 100644 --- a/vendor/lua/5.4/lua.odin +++ b/vendor/lua/5.4/lua.odin @@ -617,7 +617,7 @@ foreign lib { L_loadfile :: proc (L: ^State, filename: cstring, mode: cstring = nil) -> Status --- @(link_name="luaL_loadbufferx") - L_loadbuffer :: proc(L: ^State, buff: cstring, sz: c.size_t, name: cstring, mode: cstring = nil) -> Status --- + L_loadbuffer :: proc(L: ^State, buff: [^]byte, sz: c.size_t, name: cstring, mode: cstring = nil) -> Status --- L_loadstring :: proc(L: ^State, s: cstring) -> Status --- L_newstate :: proc() -> ^State --- From 3fa684d6ba295bd6ef38a0cf6c992d13dcb9d372 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Wed, 5 Apr 2023 16:08:57 +0100 Subject: [PATCH 39/50] Update examples/all/all_vendor.odin --- examples/all/all_vendor.odin | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/examples/all/all_vendor.odin b/examples/all/all_vendor.odin index bd5921e6a..8ba141e8f 100644 --- a/examples/all/all_vendor.odin +++ b/examples/all/all_vendor.odin @@ -1,7 +1,10 @@ package all import botan "vendor:botan" +import cgltf "vendor:cgltf" +import commonmark "vendor:commonmark" import ENet "vendor:ENet" +import exr "vendor:OpenEXRCore" import ggpo "vendor:ggpo" import gl "vendor:OpenGL" import glfw "vendor:glfw" @@ -9,8 +12,7 @@ import microui "vendor:microui" import miniaudio "vendor:miniaudio" import PM "vendor:portmidi" import rl "vendor:raylib" -import exr "vendor:OpenEXRCore" -import cgltf "vendor:cgltf" +import zlib "vendor:zlib" import SDL "vendor:sdl2" import SDLNet "vendor:sdl2/net" @@ -24,8 +26,13 @@ import NS "vendor:darwin/Foundation" import MTL "vendor:darwin/Metal" import CA "vendor:darwin/QuartzCore" +import lua_5_4 "vendor:lua/5.4" + _ :: botan +_ :: cgltf +_ :: commonmark _ :: ENet +_ :: exr _ :: ggpo _ :: gl _ :: glfw @@ -33,8 +40,7 @@ _ :: microui _ :: miniaudio _ :: PM _ :: rl -_ :: exr -_ :: cgltf +_ :: zlib _ :: SDL _ :: SDLNet @@ -46,4 +52,6 @@ _ :: vk _ :: NS _ :: MTL -_ :: CA \ No newline at end of file +_ :: CA + +_ :: lua_5_4 \ No newline at end of file From 012f386057964c9afde4e948bc18d9b8b0b7b8e5 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Wed, 5 Apr 2023 16:16:48 +0100 Subject: [PATCH 40/50] Add linux binaries --- vendor/lua/5.4/linux/liblua54.a | Bin 0 -> 510970 bytes vendor/lua/5.4/linux/liblua54.so | Bin 0 -> 309576 bytes vendor/lua/5.4/lua.odin | 4 ++++ 3 files changed, 4 insertions(+) create mode 100644 vendor/lua/5.4/linux/liblua54.a create mode 100644 vendor/lua/5.4/linux/liblua54.so diff --git a/vendor/lua/5.4/linux/liblua54.a b/vendor/lua/5.4/linux/liblua54.a new file mode 100644 index 0000000000000000000000000000000000000000..479aa3322e9a1af0b6bc6a0991bc9676fa8370d1 GIT binary patch literal 510970 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 aMxse9?NKgw>9xv7V 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ÐD;I@U?~%<2uwtQ(h|BM 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

|2i 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 literal 0 HcmV?d00001 diff --git a/vendor/lua/5.4/linux/liblua54.so b/vendor/lua/5.4/linux/liblua54.so new file mode 100644 index 0000000000000000000000000000000000000000..d7a0cf0753546b20f56eba8704ffb503fc938247 GIT binary patch literal 309576 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 z zL3Q&F=5kx`FwYBLP&Nf`g{!vk=rv^rEwb+xFg)<0MFmuR90ZvF+T+%1Dg<`jiyRdO zhS$qMhb`QH0lM7Kqx0bFTWIe23TnWBcGq$EfR2gk^2&}k zeSlJ=XY&z859qmf;8fZC!xpr!{{BAD<#I1T)4m?vXvUWwd-3uy<<;hUOn!ovsZ0Qw}!&;N_okh~r`ji{*_{nQm8> z<^znKt}LK?vFl5MAz22}fAi?BMKe?v-I1;gulK^+M=w@CVqkbZ4Z)uc;@<|x^5z$y zUFGjzfbJQCjR%0TJ$OSBsN>UZ-u&->smLxB(0DEA)YkVe?tqJJ2L|wYs+f)eEhhwB zJ_qw5XiV+^D4)Mj2HE>zLTI{%p<6x$ zG>HyspMwU$Bn%I9-g_|>)Z|AGTK*O@(5M_*(spHN{%yeDq63oZm0kQCRAQ>8{svLH z^PYp3euDC0C%AmC{RgwUq`OKr+ z;)T8hxPQstvLDoLsZrrz1}$cD+@ZwC!0?G*fJLQ*JI#Z??ttSC(26L}PBu`h7kQE0 zY*2C6d_=*e6M7(pV;pGdt_uUh3*!e2AXkIJs`UyeclDaqJ_E;(N3U$bGe(9NiGM(0 z13id!BY5}?lpo)}-~hW4J#mO*2FXj%)|(e6?=vvG{B<9ik2ZL_KS#H@OLscUi%UO2tthlm<8J}&hei!K z1INx%hUR}<{4JiK`$hlp^0$DG0|NKUoB#2aXxBwH|BEe60_}AA1L`PQzTgMnXy@1s z(#TtS9}#3eo$n#LfPz7X>36<=@f)AMUJoyT53fwqT0HiF!JXE3LOnR6vgP=nc_j@acRHIZD#NL-V2s<2%s7*)RTr+H1^^Vi-IM@*)&$ zD=Z*exBmmRo8Q0q_w)aMkPBXJ{rCU>3xm5146o;SwBGjUWu5Vuk-@XO*21G#^c*i_ zyQ@d9>AEM33@)7y4G+9Xkzrui1wL51^F651R06(u+<^fye+P;4y^J0V48b0~vWuU9 zwivz9aOqYDU8;m$o_Tb;d%!{+v{#?8`A2=ZSmz;+WRb}pjJH7Bci{DxN3ZP4Z;ar= zm6@?r@8up&P}vH)-vm)pfzGG}o8#J<3Q@_--}0FQ)Es>8()sK~1Ze&bz3?pE`@-N3 z1A}Adk=KVoiA0Zqf#HQ7HkJG>$2mbc3}GSvHgL=||Ip)a;pPNi;^)yT$_RBQ6BB5B z$wUPd&9c8ht80%S(gS)4b&?CTqV|Xe=rj>%*W584X@7txy1V&XD$!g6@;=Dt;2?Op z0bEdl(#Z>fAOHWmcBe8xB&LJ#`Q)soos73oqKSTk!$Yisr)*D}FPV zh(anjkg27c;Pnsm>c;+1PS7sHP!Esf+n^b5Cl1h*N~aUY>j+RZKKl;NKL;PMbRK?j z^ZWn*y(Y}yEZLmF!2~Xsu*B0sR*Y2R*&XTu&ePpa93IUt7(uzY(~0B7wl9!;2@2@e zm5|H|O1bmCU@0Z|TduQXm<%!%1fabx#4$J|qv;$QI$t<9V zLaRnfcf3fx0WN3v?c-)(V0fAP@BjaOpqo}-CPPAVUnwYU`hmvXFw>?wW=w&?v-w9g ze`^#Z9Cm~DG{3k9I^Zq&#cMBk`avzQK`lZ@a9a?RdIk7f&N4GFG#_U4X#D&C|9^J= z_S0+(3@IU_1&cjzLLmGid!Sy3f_3!`x`#?9_ zzw8FFK>J%?g3QK}{FrcgN|(R2>^IhQm5-(cUa~a*i7t%-cur8HOx?$P{< zk-x2tm4N|thxGdwzrbavs|Tp$fvJI%K%$_k7b(8s#`n6YFgE|-E9dgyUwo9m=`FU( zw)E(WhHH@W`ZUNT%pjM54pM9X2ug~eZPyEa{r?Z{3wZRJUbw>uPJ?GYfR27}0M%`% z{Sy8bL6ANq=fF#KTmIJ2U;qDm_Le$;Y_fb0Y6tF+VPs%%;dg!T(h?+x9#i}+o4|vp zSSkrC{#G`S7N~Krz-M^v0F4EJjeCX7xBM-Ku^Z>vo9od0!WX4 z-T4mW(te21vM`tSV>dbiyU`$HTVp_4pe}WQ7$*rc&H*Hc>2Xc$#=%`033jO+e=7sR zrBC02!&DAt^iyojA^w(m;PGTEVXDvHx(TEO>e6WtiR zweMb7L-_unIZe=V6lxjgOP|ZW2BfgR^ zdGzWCd-TSL2zoFcp1{Aa6qJrZBUdjbfX?!>d|mqbQXr%<%PsFRVd)yKnIHp$*~(Lzc*a`i0UU{uhLL?n~hC{R*1Hk#}Ht z@%tjU5PI1K7GQYs`XU3v%XGxL%iAFST7-G0L443&T1fc3*bU-?Mk%2D)ll=MfL2?| zGrX7$lGlT$U&rQJ2ECFH$35bp6(;+>!rblAZKC1bM7V>)FeOumAr$?vVl+R0^udz=ek69?%t6FG5~H0yyUD|NpNif?N8a zA&YSW+aBOiEYS2sC}>3rXr#xZv(CZ=G!Gu;02vGJ^h-GI20oDCxSIkf zd3qd&uG8prWAW%U-EfwX;YEEksF9NG0UFf=-;3_i>73yKx{9N_l;Oq1OQ0c7&?%PA zpzeqOXxRs(4~5kJ295uAyR$UbgDnA#W_P-Clt_N&&v#ddKJE?{Xe9GJJAZg|UT^-#Tkh)7D;js3k)iXOM>5MM z55^02{~x4H@c4eyqx0NL(`le?4|v?>hsXCDpg|1C_z`Gx`}Ye7K6s}aNL?=rKj>Tl zki6yzggl7Pzy2V6{u8{u_LNWO@s~zZLH7e7_?M*<{P&FT5^yobG&4rJVqx40~rBW48UkWkDSt@=|Ku#SHlCZufJf^ zgyoy&e>~;V9=)PEw@^bGHolm~|Na0d+|u~NSqttkGQi^X6MqCK&=@}P$3W>wF#Xbd z3Mgh6()jgwCGIdXRMnN%eBzG;nE|dZKJmwa)q&_w`~tE(cNjrKSE^rbgGS;sE~N2m zoJivjxtzwY_o%GxlLx=ffi(X2mp<_esNMuC3BCErgI^1z?$sy$Loe9U_%)8E@rNAw z#2*6^Je0;Cb{NUOFRj&4hLpf#MOQ&t2(%axa(+RY2Y=pipI%nc+l-JCsy&V$1P#gW z1D#0b(fJ;n{a##B0q5m!x4?s9pz}5xH2?o^s9|MbC=mqZ6PL~hpe1(Dax7U5G~;jp z+|u*x7VwzCzm3Z?`HExn5vC3wQHEnKtPBQ7x?tfA67uZ)>C?;FbPF^c;sHI1EEeJz zh{GIXUb?72>Nl`|{(_1HpYC)4572V2Q!l26gL3kF&rZP=QWHK=O}c$PUnCu}^Qh03_)q`}25o{?L6|F%*N zkM3FqpUy`w*8ltepV65IY5+KXJ$lPIJi6^cvY`9Rjyr?uPlnegVg3UxHTCJu7XXc0 zgYGo@3eFrLOB#QHEH3v0+pl@T@=(39C*xVrV)s-wBv~J}~#Z^6C8c;v8sTv)kII^PxxQE2vtZ&Tk+OfQ)@D9`;>vd<} z3A(e-rPrU6U!I}!)5VvrohOz}R`p!}41BJ@DxX-!Hmo z9$-A_F@y7*Lx%}F=;~icx&W1*&F>iv4>bMU+ea6kmhL082!Uk9zk z60u@LJzoT*AASN4y+#B`>)H7*c z1e$Xd=5GPfu7)RVnE6{kE`hoORE8jr7@L9`Bh8@km=lmt0u`Mu;LdSrv<)+V>tfK5 zGHA}mMTNt$p_YT0zXh}k05oAyq9OolHfpvrfEsqtJ&-;s0^q&%ph$iGg7+6_K9z&n z5qxH~M@u9af*l|Ni7BPkt?5 z28dw>zrltHLk#=GFUSnumJKd9A@1RLF{cgenASk>U1ld=@<99NpmGjWu&}?L2v!fa z)1zD5hPgxsWTh~FE9mYqn6g8lb0&QmUblI6`!ayeVh{k2ZKq8D@n0%{ZZBD+{Qp0s z{&o!W?K}pLG*GJl8{GN%1?blI)&nKHkZ^U31J8rH^g6TobbgHX>3rn_p22|*g1vm4 z4K7zf@!uQH*z13x`Md(?7NlO&nU5G5dfiukV-aKGcRh%DAOZtOJ!DK0QBrs`z5%WC zM@lX&D&ROfz`u>%qu18s5hKGl7j{Mt{uWtKhokcaV!V!jn+GFkvl_VO;b-J1eb?|y zm%rsHBWUy7frek&{8J8ruJmTSz`sqP;g zxbScD;b&}qXJB~J@!LTr{uXcW-Y5o-UXf0ZRj{| zUGTBIS$5gS@?t43=x}byOU;KkEU(oa^yoE>yb3O;U#wCG-xJ2)@({Gva~nhR3DAc7 z2R3>9EueE?eR^|LIKbOE-uraEd*K5*j}f$!*cg=XHD7$<7jRMGIOfbD3{FqSLF*Sl z`&vQa(ERXz!_Nr*R?ucxk6sTZ{%sCSASbee&nNCY;rQ*K0DnstBLjmWy!_+e_X%`> zluNH4$kV>bC!M~r@H3TiHlI@9-}kBcT{z6sj34>88GuYPXY}a&1Tw1hu&d!E$L5C| zB{InIQ2>pPPv2b3LGjUYiN6(mxG0G6?b(n(fQ)#cX0OubWap$+!!=Z z_E`Z`|A9~82OW<5LRjJde-B%55$_E?{MQ3Kv;59e^PNxU|D7j6!%^#%|NnoXB@em- z@R1KFPyhGmX5in(;MCz_BJg4(Xca^2ff61c%^xpQz{9%W{ZZzS$zw?UkLG{%Wo$1QfBpYI!J(s^9bErI z%RO*@05vK$Tz*c%&43d}i{67ytZ06*DvF za179i7|tA^;?^R?!x*wGt(4QF`G^B3*bl!*mIqbv(ERJ!`5jbog0gV0?$!&848b0q zmpvNafVwK+n_xkwJS+J0ZUJAMisY0Q@X|!k2^lpi3ZO$sLDQ(9bItaFb|w3C{(s>u z4~nOw;QeU#nLuNluY5ZHfle#b{Pn``2WVx@zEH-7U#k2qpnVX%PTOs?_}g8WL91&I zcqF^DGI%h)u>1d@o4NUiK7acgMh4J@nFlyLn1cm6nSHvgd|UtXx4Z=nmUsSt!7B$! zkB1;Oym$}lcFTj?4Zgj#OfSiOF>85tNHI<}~=!|(V2 z4Yc}zE(>}7f(Nv*Q66Ck==|u;L(Q=8@koYS4Vv5*0NKy{q8w!NE6^Ql5Su}LT_jE2 z5ItaT`gA@A9UlE+2}lcQS_>LVe;82W!K0fAvc4Cr$)nfQ;{vEB`}{=?NFQV`1vnl& zx`R19dO>$mI&-{?16Pii;vL`&h9M4(>{j7_|Nn!xeE9U*-aOC9@RApy-ly~XixuCX zqbVNA7d$kty}SsPhU8Zi`)7hBFzk8hg+u%?4spn71YmPONxnlGGE3go#{P@E zw*UWMWJ-fOXOQp!l{X%ZZ@?=^J3&tC^ii<@ojmE_)9It)(Q=@~oL|#LC4gVkM5swR(ZF|cYV|_Xwfrjg19AjTH%KiU80Ww$8 z`ToUXssH~SkGXOvdF+fXE-A{)OIPsh^kwku_2u+z{-aaQ2`<4xLFRNG0^KtPx~tgr z(Jo!k68h#px<35wj~tu-aPT*Qj*0dFT^Zb4$>Gub{D)_!E2m561CQ-%o&F&|ly)e}0$( zzhJn6M>ps!6?X&v?QRxno$eO=+uW>G|I#``82`PL0jUACcOd;RkIwTivSh%! z9d{_jGBALA%LMW~iweZ}3Ei%ssbElec89S3=?r1~^YR90q7~MD0G&4tIh&^&bcy+A zpKdje&N=~)PB#wF5!X5%o#h6{-M}Z2rgi$c9CLGH=ycQY=ys2Q4QO=-aCCcU9CrhC z&f&X~I>RhLtN%LvY+(D9JUc^F3LL+=sBkKj8iCx&!_@5{VR)(2m*beL5JRUckKuu| zPFDfL10A8l;Pa$Av%$AyLDqYKcfX$ittRy8eD=ca45%n@7U17j?BvlM5CK{$((R=I zG1j4@RG>RZqSKe7GnB{hQd(!IAZVAYcteFSXjv@-|I|ZZE1;s9vm;-7YA*`DKT3Q9ZXR!0HNAnv6pYD7E^nw7?XJbtS z)zj}^@PaQzdH-T6sAdLbP0#_epi+Rt19UC>|NsC0A7@bk)psu*rGPx)0xlJx%^5C_ z<|7J_gz;js7|0Lc{igq+Z5hxyRSA#ocmw`z)lQv1JAb`ao#4^!Ea21a5z*~z!Fa)A zhEFexgJ(CRS1-$fh6+w*{#MX^M9r@ln}7W;z2a*41aw*zXd#hPFN+%g_F#uj7Zn~z zzUy`t0Ns$*tqmIM>F{>q-+#$*=l^;J2FD%XvaP!SWQR+4sS4u{(0Nuo4xn8|ptE9o zbxwHnvND}wWB{G@&4?3=GuA8aR+GYAGjFz==|;&66(@<7801?c4+e(0hjJ14v%i*0GG~3FFN-y zFnA_k@#qx^0xwu)x!~CiI?vt0rL%yCe_N2#F$Y10jsStq3=Z(|UC;TGM_9K8XIofjOn zT~sW<-Ie+XPznNF6xwa<(d*6Q(aZYmI3t7OPS5}jBxHO#uLr!Cv>TKvm_0fVfz0q= z?DXdFNIn5J2XxevN3Y1KV@{k59-UbNQIVj=!eP&D8x_yq5*2}6pl*>zFK^#*Murz$ zpd1Td@8cNm*m)hkC=zsKDd?>H<~JIkoC|h%=ld7texT{=5>Uh7qig36&}qSrod-R8 zYg7zgXoGryGdy}l96(3fdGzvJXnkA44LSpjf186qhob=KxDd!>^(^BJ4@-;E ztNhy>1bw?*R3cou135gqYg7yzIS+b*+E9!)__qZJSOg02w}WPny9+p6Ixm45GZLUn z$@Ud_g1PE-Dfp-99QDF5NyVB97ew61_$LE#K8yHNRr=?5+^deC5e_&7+q^ z-n&<%%%ivFx&(Cm>N9`7gM>$SfCi|s#xLmb!lN_bhll0y(r1pH1rlH{^n;e^!qS&( z>&a4SkLDv9kUh`P1{|WmbmZR_>hxL*o?kq>T?IV43nCo5UBLyEM=zw{=w&$pDxgZu zp@q|R@FC)^h9_MO4;Y@@X9nutZtw%0$#4YqnrCox(E)V%ELZa(M#QnvE)K^dq@Enxv z?|Y%N#X$3a@S?XnU&5pFH)zn9e_N=)YYk}lbvs*tuD^`{6~1VG<8Pe~T7L*Be6PD2 zzI8SH)=(?Nz~4F()Vu2rWdI!iq85 zd7$%66zj1mr)?q~&<&Iq1fr~fXN$7&9B1UtEOWV>{`a)9n!jp%gJ=yv7t z1>Hbn!pOkT9VlUWh`(vKp0 zmOdQ$w+XyfLZkKFs)f0l0nx-D})@fbsP~XuP@b zZ!6$(?fmN4e2met`6weeVp>2KAA{2m-S3@<9|K_gP21PV?iGk=4pI$Nwj zD}%a28D6@8yHSw-hozGQe_s)(_D{Y6Hp!#cRCqTdgGcsl2@mEd0f@of+Aoyt85lrE zv-*2<3wMJ`NmIcipgs*mQ}ZE-7lxo&chDxk=P%qmz+D^{(4ZkChq!cp0%sD?dfEvDk-f5*-*mi{ay z;hopOH%t4R1vP0w<1e7&cr}O2Dez3{l^_(r2 zLCqEDIm4heq%WBsgT`}Tc!Q?O(-7rzh~_nLsr(gGOLQ~#2E1$j#aI^6dZ5(Ck$+o> zic9O;dLhPljvXZ`E}+RB&=e799^n;eqh6dRxJ2LpjdeW-ZCtnY23ZT5*XTU=VnGmS z^aWx@-5$ufPo1AYJ3|>fI?pv9V&wO@@Zz;MXs=8CPKae_7D4V?0r$PWgo2t|93G&3 z4%+NU%CnM9{*Mb28cw2M{lT%N2jX;Wb66!p(w}B*gfF%t;mjrn9f^La$wLs{cy@i2+f4{c_?AZTK zR}YWgP!)*o7qweJGvK8G9=)Lg;BAPm8T{M4ouRVvAlXjW0FQ2G4$n?k22j-~0lvbv zULF*8kQ@olkD%<vm+n-72GDts z&EQ!RcL7kM0WC%M==BwF+zFb8fjGsZyTZbwmsRl`BSXLoi_HuS-M*j`cmqI<%`>$| z%`X`}lfSrVJ_I*3efXda&4(-=jE6iJ4}#iz$nDHir62gW1v`Vb4jp{N(&6pw!FU1W z(!(CT=n82S_+Y0Kuda>UrB&(D+i5E^x7Es zSSJaTK5wYvWcE1jDgf$I@V9JbU|=}z$^g0@sPkA_rz=-?um$5G@O+0z5NIF!1+I=z zj^>|?pf%^98pcZ?&GJMs?*xx-A^vSn0%?{X%D)_Q5@bB)?8XT8Dzu#RIPL_t0unsO zoj{9vAO~hZ>K~78W>A9g=ynKbJz3&tctn4@`XL(T*5j@W zpjC&Rp`e2&4o^7l$^cq$*;&i+x&xdpx~n-rw={xgbHMYZ-L4GHFF3&q^+02bp!{^> z@BjbJwG5md-QFA}w&0tdlS4VcM;35G&Y}wp;NKR+)e*qu(QWM02|5r?p@ak6xs@oj z1x0Q1D@O2DpT`_H82PtBH3tfKbQeYNZx7{S4g|F%KzEdb8s)tr7x}jZadrf7y z$BV+S|NmbvePP9cd>@%(xNq_gP<#0w$mNcmU-mJ9j-iJ%nk_($=FSk%d{2!E4~kbb z3=h0m@Bvg;JTg29TCmm2dh!4xgHyN3ju#rP|NnO$2F(aMb-1V~K$?IK5#0eA-3}6+ zE-Esh)^ulxiUg?hAEKfNK0m939n}BlpLz(?TNVI~q6vUX`R|^ct`Z#~D#|ZDfi9T^ zFV^yK1-00|znGv38h(HOBH|l}|NcdS6R275%ixiG*`wRj!K0UFVs9{`<^|jT{}~zh z`!_N$FmwwZe8AuM2-L6TywJ(m?V`fddZ0ARqnDNW03(CpNf%I`{XN(hNiHDMLK!@g zPiWro=nevz*9A7JJ_~FN=tz5?&i4q@Ufhp|bm=t^GZg+F%||RCQ3pPh$*1$ZtKmt< z&KF?2_JM9JeR0D1|9_}qFXqJm|Nk-bI86(3Bg){&Ezo=$IX``af zRW`rL0PU3l4a1%s+VkDD7M{JK;7dH$RoCS5fyK41gEGDc9{R0lGy^Zko7 zB~V}cy-VlAU7+l}4|Kiyi;tjz{O($Vmm;8ZOS*Fn9Cv{>)Z@svX)c{1DvGGN7c^{# znQc8f--9wNDC55Pdjm2q)(SdJwDTA&8YI~m7;L#g^UEz#pn&_K!`~tZ+LX|1s=Nc# z#(e+6_#{{-Xu4V8#kL!u91h;XKl|7J|6pVENafclr+wFaP_5-Ks!pkoL1|2yBm zaK7>Xe`Box=%f<9c#ni@}C0~b-~~|raRceh4GL_w;i;G_UIM4-r>dBU82I`(p$#Z3<{6E zpq&(;mDjuc^ z?29+oAko^LYtS9b@*)?MZ@YaXJUfqhbh{dK2iSBwYFJ+2?^6P8i+aK6(OszEk$g(? zf=927rw8K+pI()JpgyNZugfus*ZiRKoR3KOSU%uy`N+Y*;A?H7Qu-Fu+))vDtp#p} zKq?=c;}86;v)LFJpq0k3QBc2O~Cejx;EueJRF z71^M<@%N6+e;D~&?z1y6y!h<`N~@2+iTC{rTN_YQPQaSKwHvg#qx1cX(^vlge_01U zDmK>uG_>Aj1@6_=IyvqH7f+qX96D-{S``Hv-5wHYpaC&O!vmh(p%R@XDiWPODl(vp zd)OPQgc0Ad-Wfv!_^^ymyx5$G&YvFP+su>qM6y2KS+ zf>~byC)gK{*&&f20G=^>zYo;Wd$A65EG6hXGbwOO#If`Ei_>pGiyT!P8TecMSU_4n zxqyS<#U)E{ns~A5Ei^gI1??#9&IMmYef2U#a;_!VHjqJ|BpDbScSF4lE0jT(F@WY) zp^d3Dm(Ca!$4(a&8)%ct0<$dz@g}%g2Pv7I!Tx&u3~bX2ZyB)DUwpO%#mg_B&i9?i zUZ{aN4|j<|Jqt>7FAlzkxbY=;%H+LE=eHMfAm@Urkc&T{{cz|w%gbLs{{L_M1=3fi zWO%ai7ift!{}j;i=HMpQyBERWoL_73613L>qykhi@y|c_`i@U`t-&r(r@*7vlyeif zV0Gl*7Vq-H;V{_Appm-Lm;e96)I8k?R`Ws;AsvP!eGDqigpf9W3GxZJywrL5|3CP6 z22h?l{}gP&i|Y~$43PDso$p`lf(jmzU|?vj70}^t`N{%5*}dGwr}IB}eZY%vR{#Hl z&&L5xm#+kIm_Z#@(0P~7{{MG1JOFN_yL3K+?3!-}m)8$>fmT3(>tc}QN$)_8djFye zT7ti<1s#9e9SaYOzZ<~*bm8At?efCp5ZI}pu*iIY2#cE#H7`UF(q2f?yP(qF4#IV7 zBT3JON?%7v^Sl7L3LI37FTia1;>laCZKE_qQU`M{FeLU|Nmo7oXnsK9OMW$&|#I%PK+-LVfg|)-Uu3Oe7Oj; zQDd6}my6{E{+?4mLCFI)q<0BCqz5YWwwnL{|8gzpwq^cp0bHQNfnO$pii^(oFTBh^ z8TB7%*1z+}i#evCBc(!A9Eh#&et;VNkcR4Iq}m!Z;106b#vBw*?_WGI1=#|cy#$p- zW~TrDgU{6lt@JPer+H8$A9qm!w@O}^2{ACdJPAG~D*!Ys|MD9s?RLI@@%J3am=YD1 zmv=#{(LkGrT~s(;JUa(Ye=qVL{r|tu4w6-TdJ808_&)moe<$cpUZ2iyKArzRF9Syu z|MUYg44_*+CNMHEAf(@aUIvqC6@`wUgJzq%oh?9-+06wR5clY1Ie5&0lL^#9;co@q zXz#+mE!nBtRltQgMTO;M8^mQV0?&ae%~Vi%?8v_@M#bsH`G;Ux0i1gTxNozyJRo_pw64{Y50y)Q6yR@*s^@ zu_utM?%3|DcWqr1mQ@`~SbWM#Vs=lnvAvC{c$rpFjMJ9AJH9u%*KH=KQ^l~vM+4Y*ruZ0-E zZwShx;B^AeSA*7XeKI`o;ufS&3yReD1}J@L(D)N*eL*nz9w*RHW4Eh7ZwIUi#OKj@ z%j5E+?}xxGAVFI}P#aAglpe}I{Qv*@GH6IMIu^R_5ybK6d>a;XUjA4%V{#NYCf5!4*|2Qps`bR;YPwlXJ& zj$*FY_Mq|C&i5}aoB|aVU-82GA6YPv`fJU@p&Ywqp+5j4vh{fg6Tp zPM{{RiShsc`!t~`njK>O3w_X%z)%)Y|J%T&^ChgR?F=y31?tzmcn@j=b-NlEUfSmm znx^f};BW-p(%kvJ*W>?-M3DK%SyTi;Qk{^Z&_#s&p{j) zl?tSeK0m1W)OZ9GyGVU~aK8ky3$53*cqJsMrtAV|ZBVKNomUC2TtOlA=PoFAkwd?= z=^y0K_4hCC--U(%C>URU1+6azrwLHf_3SS9@ag>S+3T<1(aS2o6EXwO$N(An4|pLw zhk?Pd+h4)6)7>M=@@AY*cZdoHf8SEj*y>A0kL1sqH$8eqK6vzkM$3CyPC)x9i1ip8 z9+nqMKR_=AXYlB}1zx23{e{Y2q z6D12yfQ@H?=7^vxhAlwDS)CzR1|aRFL4I&i5orEV$KS#TS_$6|%Dc@!l=)j8fhxKm zy8NxO;EQtJ`gA^b1=Y_lGEe;fzYDa@#-sBdXnLd*e5gQ;ih)b#N6^8Qo$p?>Ie~WW z!VKQQ%)n4@*8C%mzyB@hWS1W*{C%MH-pwymn}1mHx4&UvVDRV_y$g!UWR@n#);nl; z>4F;Y%|GP$+d*gddGw0TUj-gygQ@~orH*?=KuN6EbpC2a2I~+N9{#@hAc4;3j@>yb zEH8E(2bF_0Dh5#3bvT3a$qSEOAJB%8=b-+s8>0uP#l@rY0(8DTXadl{vGWC}!0P5v zaqK+q()sR1pv(XNj?Mo?OYB`bf4Fx3b>!bB;s&y=e(Gx@(Csx0j(decyLUm;m$30S za5{AajYTjt|ES?_0i9dxxK|XkNU+;Q1$l%EG3d$PIt^4CHy^QZLAmvE7pPI}xEGY4 zUh@5iHd-C`GJ))bEID;xfN*X37#SG&TRi{$|F6pijz>BEcF;a@k6zJRD8cNw7i8#5 zdGHi0=)8OIiGDBnK}%}+7#J8F_ksp(zzssE^&rug{UCWzAH#7ks2T*Hj=l>tF9Eq_ z;$=Qa9@GwT+zVQ)^)epBho}eJ=MUn8WE}T`L|@t?_#jhWf=V8!eF7lwf!qh>^Mm+c z_km1u+$#j)|Nr~{KU5xkI>UPqA2gfexEGXCU)~4tK{h$=1-a_wc@Q6DldIv|mxn;3 zJdm{fmyLnpr4xvM+!sDN5C5Hliw z{{R2-AE>&An*rMP1~udLUJtl1DCS_o%fN}wqno{dzdmjD03=X8Mb4YWY;0PS%83*NI2 zUPA>xFYblj5m4(4G&^p1=|v!Du%#O`n)vL6DX1gd47wEk{k~WR1_sdFbmR5^|Doj> z_)K-rPRLd!kLEWSpjCY6BlOUvi7x!xie30yx?v z&L=MvuY-yOR|cQXUp}C%PxnFH9f!~S`3(G;EGizL1w@^ob@`Px|Nk3af(|gv0gbGH z=8c|#X433H{rrw%7f=lu0k619%{`h?MyL7Z8D1Q|_WwU&j7KR5v zsdKFssICJY_S$*$#RUy;b?2hu0-B13ClpZ92G^IMg>fK9F@PpRp(j*(bjGMiyb#m= z|9@XKsF?0VnH+k3}5p~CE=qS5K2qS77A0qQ|1xPa!;p1+85g)~wSTWI*f*9~|yAMrqG zp)i12hzg(I82yhO8P+M{UbX7#`?$7ij)bU7~IaI&6u*o-1%ys3nYYI zWPo<`L9+`aA#^%(9A^eqJTG*d|NrlGWd!Ya2A2Y$JqnQ3$dGdtK`W9$VFF!P#qdIV zKRDVoOMRhv!KL%%E>OP#-uj+-`~Ux!p#7$x{uJo?ZRm<;_^dQ&@Rj4mqkaGXBleqm zc7jS(&?HS1sL{@%0vSXuUkFV--$1EBU*rG(*Ztu3vj?a_{`|#SJ?QTH{T zM8o1Iiobs{EZ4z{Oa4~SR3}P6A<}>I4~>%I<{x^cr#&EJf2%J-%7GtNrAt8B==NT4 z!~aF{MNrl93Q`5Zg9;XO;M;62n1I@SpP&X!`uqPs_(D%`c!1IpHzX~!f{J2@IWKy3 zk+sBwv?!yjmxZcxH3HcV9(LdYk266X^1{aK|NobugL|Rv*%#V-A(;StSf?Lo%MWN! z=OZEsyqF1^bnLD*09`d8tN#E0OVBRy7l)sN>)pL`7#UuKuZ5>;aDEAKL{yEa8AZeJ zK(`x5Z@~BFUu^vC$3V@>?r;N-&d)x*c^u6@xFF{?Hviz}Z}|kyL7e<8J3$QaK&?7x z!US~oE_mAd*^Bq*LB0eR$Dk8hIuE&kW{yDn+dyM6KA@4rXD_0l&WB7A@^5o@InJU2 zsv+Q!()@xE93Koupt8Y51-a#`4{~Dj5d)+=1IfSLLLSL(0?_fEfQAY#21sMtqnqJ% zAR@hZbUQ)Ter|UYVs^4XA46i`ZvpL#0afm=r6Kt%JOXTRHy31HjO8Fm61=(RJ7^RX zymBu9wAyvz9Po0$Tc^MY4%E|p58g8gabM^A7XiCLW4I+M9N<9#8I>37|A2=9IGSJZ zfX;w61}y^w9f*INmw~~tH$;WerxP5Q=3tB9^W87^f?MNYbA7r?4Gh0I@^7ni>HPUx zXhQQZPX3nV;5;M^Ivq0}wD>#VOY<-0^0%NKX!8%=(%a3yxJvKyZ*vy1c2N;1y?Wf4 z1Jq~+*YO?RLa&d2>IZPc>)VSQ&?ysOHh4-m*WmyEmlT3SYF_71=VCo@Ll!)|BDq*Kt&hCy`hGez$ZL3zrk2KIICQHS=!Pnd=-9(A9H0FAKY_6MRiHVoZitb7nvfI@G7eHJl){bs z^!VTZv3)&$Ab+&^C`W6{bQ?55hMd8JV9iXBE+z`G0Lioe~|NDeM10=dAQ{Xbt4YchR)W1b4 zaO0k7UZ?%DI=S%P+5a$Tj&JW-b-z?CYU1x#jAJ!#Nw%`dk zXr2^2U z05@RgAVKFd;pZKJ%ySI)1nn_#?K}tC;`0@p-@y&Ov*0|?_y#n%2->E>fz+jGQ2`AZ z86J31l@CrOpre+->-`muIdHhWSP}*neW4=`irZk&Vay(#E#OOzJUW? zEdKu=yp~bH2Q-W2*$L_ycOC+@stiiFK)0Fmw}SR{`g9)i=!DKzsS1LOEm1K5pC#ha z=~VE|jZ?v++pnO6>zgC!5^ZNj&2S5O_u;L*88 z1+;P1qZfKNPv<+I&OP8Oie5Bq0o5NNpg}2cE^;^yi6aB>JQH{f7reW}r}I5{0QZ6n zD1E(u!EpsT(c#fuqGFKN8NhMOfs4VTdkXlh1&>YvkXu3bN^we*rh`)Ia*#!x?_c=8 z`2W9g4|vxuD24O4P6robngM1@}he3|NpPM;OPm{(|(aU8RWGP6$5Y-yqt)XFHV698CS5p3n;uj z3SKS&ohAx$A;|Go$N&F-vGpFP$OoO@4_YGr+oSXQz6(qY3@>ckK?}8<4Lo`SI6Qhg zZZI)0K+^3oCI-kJxKpKHJbEWIfSMVd&JiA+!5W}k@4*@XDoT$#XMnn=9><*vpmYU@ zKHfY9L@_Wi9BTmGpTOYJ>73xv3)T)g>{|hJR{*5`0jKX!kIsMK1pODZ242IXJ6-}Q zC4+ZAdv-p30oo7?@==8d1H&<96Ht`qpL5Ur-A4>$H2GnnXsbK-DaeYw@RdX4%cB}LKi`$T;Y%i4OfDW(8WIW~^ z!QcVv1tVgW+oSo22BZOY_=WdflpY|+f1pL+-R=?|%wx&d;5gd{+I0J(rxld3K>HD$Bs@9;1U!yAfb-08 z2XIzOYj);gL_V(#q#w4kz+J(kJ3<1c1JoK)_vri!iEmINzdKrD7swJ&7`HStFr+o- z@-TX|-Y$Ivnq2~4$j0E&>mC6bQSs<>S9mcWwC|+5)WD-VRKuh5eXNJ(Cy#@_Seg&9 zg4UTGe8lq77Gw;fwV5^{bl1QC|Nn!_t>!lz9^K^zpc|}Se9eIrM{mLD*cnuDdL#$f zcyt#ScpQAh{Nig9=-BCM1BMa~P;v*2PkD6La)7sqgNDI+i+>oNjNTQ%#=sE!{{hmF z5Xk?Ip*ukmyFdjBXq)>V(1K~hZ^58uXY(5il%%F%c);=h6>xL56P)G`A8P3FjTlJsWbNHt0zabUTebC;Z1Et!a z@&wVTE7bt4;r4+|WkAMxTn*p8z5yOjfA4De_Qlpe|Np-}@#5YMl)?sjJ`QA03pBU4 z-Y#+W=q{E3-J00?tyJW-DY*X*5&~aY)B3GM*|YPGM|T`N^Lv8EFu|GsMQuF;1E>Um zY)65b51Q`d-`);No!}j~B|Nsb85kJKg+ax{VUJ$Z!inIXpM&%N|KM5w7h;~U{WhTd z*bUa&e1NeN%t*66&QQ({E$?2>L(05R`(RZ=cf5p0bF~CR9qWs)6F}v~dvKQC2g(I6 ziW@+kr{END<^L9@3)0@E2{0MaMdq;qvM|W_6MGi03tz(J12k?c7yLu z^XTpcT_5Su8KKZQ0i>XF!X8j6?Vb#&_Y(pi02c!u#~VN) z3o_WFvjgNHkM5u!9-RU&9KcJ0z%2*V_FBb#(Pc>WaR{iC$1JEj-4%9#s?1|<91I?vI}?bAS$ zEEegY0qB3F#va|y;I`KjkLClQdS1YT6?79uM=%$-0nmJe12lH&7=v{Fqhse0kS>qT z`!1c&KrM?GT5h1Gjq~M-ld97Bb*XzGe@-fYi zUcD^GeHagV^!l9VfX%<6lvgK8KeT?U3+r|J@7ej&rPt}dPjAR^4siM5+0E#A95mO) z09ur<32(1@bRKd6tq5`uQ1;^S=;b-@(QW9_StQ`m2|9G6^nqvdK@MNbQ>FVsH=nvN zfa7Ba$Q%#L?AYb00d#$%0%+gn!OlY-&F>fwzG6D~kd^Tw|27eG#*2n0JX*h%K8Bue+fdKN z;L`2RQ)&&e&(ZJ#XyvXtq#fkac>v`8=2wgdUosthz{+@nf18iE1mg)u!vh|zmrC!u zbh`5#bLV0N9T^ELpTc~Szj=242F*74c7E|Z_>4Iebj6s2Pja@6Pq(vyPv=|DgHM@V zET7i9`*eQv0nLXUdl6U#YI`3Cg&(g+XSIP#XR?ip<YdFDINQ3$cFYVy% zez3St=W)pS0o}z0Fmvy}_zAi}y7fSbh)1V0*icX!0BHx$GjvxQbiQ)weD-=3I37Xk zA3Qr@H#%JfwZB0}en@~%EpzG4PH;553JM|4jeuo9Qn7Ih%tU} zG&~9ppKfOxkM3Xt&_c}S7mO~7FF=Qc*c|fhR`+dvQY!S?4-(G4-6<*pzO7G6?7+AF zaC=z3D1GhOTcRQX-evavh4B?oT$f(w-{zbGT5+Jl+5ADGt_V7lpuWVWu||dE|NsB?b&{av zN+6FSd-7#D=peBY6&A2#7{9%^2b#xnwgCmk>vLd1aQpv7Ss!Tp33RVkeF} z9N?1J@?hzCX#EPxFQJB)_A!7i69CN^fm`A65-*G^85nkfyb8M6%Gto9^Z1Jkp#1~R zHXy-WphXm*_HwW3`A$ZL7e_%;{-6a{;3gtyZ1-_1sMwwic1v$F#J$}}?(Gx+I|Y2& z!->)lpd1_>3+eBKdh~`#f)?NG1FcH|=lE`SiSCSq7yDZO|L@G;fyA4H1cOIsgaA}0 zbbbKjACGQ-iEc+5kM2N&<`<00Zam;o>_Z;iOdggWK(}*($Bzzy$Ehtplzsu#{2twI z0v?@A&6yUA$W;WmJ^|%p$mID~kLF(*W!4@$?t!Kb|NpP|usl?5engP_J3n-ObPV&zJh1t^ zqAA33$P$2qFBF13IuCVz(7bT*1>*(Ko!dU0&kw#}%|2kNc@T6A*1-oX9=&szK*8

9LTMpkv5OcLoYzLoOpn4 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 literal 0 HcmV?d00001 diff --git a/vendor/lua/5.4/lua.odin b/vendor/lua/5.4/lua.odin index 6b3179670..edfc2db5f 100644 --- a/vendor/lua/5.4/lua.odin +++ b/vendor/lua/5.4/lua.odin @@ -9,6 +9,10 @@ import c "core:c/libc" when ODIN_OS == .Windows { foreign import lib "windows/lua54dll.lib" +} else when ODIN_OS == .Linux { + foreign import lib "linux/liblua54.a" +} else { + #panic(`Unsupported platform of "vendor:lua/5.4"`) } VERSION_MAJOR :: "5" From 4dcf253330f47d7bb5b52364a113945842ca490a Mon Sep 17 00:00:00 2001 From: gingerBill Date: Wed, 5 Apr 2023 16:30:08 +0100 Subject: [PATCH 41/50] Add `vendor:lua/5.3` --- vendor/lua/5.3/include/lauxlib.h | 264 ++++++++++ vendor/lua/5.3/include/lua.h | 485 +++++++++++++++++ vendor/lua/5.3/include/lua.hpp | 9 + vendor/lua/5.3/include/luaconf.h | 792 ++++++++++++++++++++++++++++ vendor/lua/5.3/include/lualib.h | 61 +++ vendor/lua/5.3/linux/liblua53.a | Bin 0 -> 463532 bytes vendor/lua/5.3/linux/liblua53.so | Bin 0 -> 273536 bytes vendor/lua/5.3/lua.odin | 759 ++++++++++++++++++++++++++ vendor/lua/5.3/windows/lua53.dll | Bin 0 -> 302592 bytes vendor/lua/5.3/windows/lua53dll.lib | Bin 0 -> 28930 bytes 10 files changed, 2370 insertions(+) create mode 100644 vendor/lua/5.3/include/lauxlib.h create mode 100644 vendor/lua/5.3/include/lua.h create mode 100644 vendor/lua/5.3/include/lua.hpp create mode 100644 vendor/lua/5.3/include/luaconf.h create mode 100644 vendor/lua/5.3/include/lualib.h create mode 100644 vendor/lua/5.3/linux/liblua53.a create mode 100644 vendor/lua/5.3/linux/liblua53.so create mode 100644 vendor/lua/5.3/lua.odin create mode 100644 vendor/lua/5.3/windows/lua53.dll create mode 100644 vendor/lua/5.3/windows/lua53dll.lib diff --git a/vendor/lua/5.3/include/lauxlib.h b/vendor/lua/5.3/include/lauxlib.h new file mode 100644 index 000000000..9857d3a83 --- /dev/null +++ b/vendor/lua/5.3/include/lauxlib.h @@ -0,0 +1,264 @@ +/* +** $Id: lauxlib.h,v 1.131.1.1 2017/04/19 17:20:42 roberto Exp $ +** Auxiliary functions for building Lua libraries +** See Copyright Notice in lua.h +*/ + + +#ifndef lauxlib_h +#define lauxlib_h + + +#include +#include + +#include "lua.h" + + + +/* extra error code for 'luaL_loadfilex' */ +#define LUA_ERRFILE (LUA_ERRERR+1) + + +/* key, in the registry, for table of loaded modules */ +#define LUA_LOADED_TABLE "_LOADED" + + +/* key, in the registry, for table of preloaded loaders */ +#define LUA_PRELOAD_TABLE "_PRELOAD" + + +typedef struct luaL_Reg { + const char *name; + lua_CFunction func; +} luaL_Reg; + + +#define LUAL_NUMSIZES (sizeof(lua_Integer)*16 + sizeof(lua_Number)) + +LUALIB_API void (luaL_checkversion_) (lua_State *L, lua_Number ver, size_t sz); +#define luaL_checkversion(L) \ + luaL_checkversion_(L, LUA_VERSION_NUM, LUAL_NUMSIZES) + +LUALIB_API int (luaL_getmetafield) (lua_State *L, int obj, const char *e); +LUALIB_API int (luaL_callmeta) (lua_State *L, int obj, const char *e); +LUALIB_API const char *(luaL_tolstring) (lua_State *L, int idx, size_t *len); +LUALIB_API int (luaL_argerror) (lua_State *L, int arg, const char *extramsg); +LUALIB_API const char *(luaL_checklstring) (lua_State *L, int arg, + size_t *l); +LUALIB_API const char *(luaL_optlstring) (lua_State *L, int arg, + const char *def, size_t *l); +LUALIB_API lua_Number (luaL_checknumber) (lua_State *L, int arg); +LUALIB_API lua_Number (luaL_optnumber) (lua_State *L, int arg, lua_Number def); + +LUALIB_API lua_Integer (luaL_checkinteger) (lua_State *L, int arg); +LUALIB_API lua_Integer (luaL_optinteger) (lua_State *L, int arg, + lua_Integer def); + +LUALIB_API void (luaL_checkstack) (lua_State *L, int sz, const char *msg); +LUALIB_API void (luaL_checktype) (lua_State *L, int arg, int t); +LUALIB_API void (luaL_checkany) (lua_State *L, int arg); + +LUALIB_API int (luaL_newmetatable) (lua_State *L, const char *tname); +LUALIB_API void (luaL_setmetatable) (lua_State *L, const char *tname); +LUALIB_API void *(luaL_testudata) (lua_State *L, int ud, const char *tname); +LUALIB_API void *(luaL_checkudata) (lua_State *L, int ud, const char *tname); + +LUALIB_API void (luaL_where) (lua_State *L, int lvl); +LUALIB_API int (luaL_error) (lua_State *L, const char *fmt, ...); + +LUALIB_API int (luaL_checkoption) (lua_State *L, int arg, const char *def, + const char *const lst[]); + +LUALIB_API int (luaL_fileresult) (lua_State *L, int stat, const char *fname); +LUALIB_API int (luaL_execresult) (lua_State *L, int stat); + +/* predefined references */ +#define LUA_NOREF (-2) +#define LUA_REFNIL (-1) + +LUALIB_API int (luaL_ref) (lua_State *L, int t); +LUALIB_API void (luaL_unref) (lua_State *L, int t, int ref); + +LUALIB_API int (luaL_loadfilex) (lua_State *L, const char *filename, + const char *mode); + +#define luaL_loadfile(L,f) luaL_loadfilex(L,f,NULL) + +LUALIB_API int (luaL_loadbufferx) (lua_State *L, const char *buff, size_t sz, + const char *name, const char *mode); +LUALIB_API int (luaL_loadstring) (lua_State *L, const char *s); + +LUALIB_API lua_State *(luaL_newstate) (void); + +LUALIB_API lua_Integer (luaL_len) (lua_State *L, int idx); + +LUALIB_API const char *(luaL_gsub) (lua_State *L, const char *s, const char *p, + const char *r); + +LUALIB_API void (luaL_setfuncs) (lua_State *L, const luaL_Reg *l, int nup); + +LUALIB_API int (luaL_getsubtable) (lua_State *L, int idx, const char *fname); + +LUALIB_API void (luaL_traceback) (lua_State *L, lua_State *L1, + const char *msg, int level); + +LUALIB_API void (luaL_requiref) (lua_State *L, const char *modname, + lua_CFunction openf, int glb); + +/* +** =============================================================== +** some useful macros +** =============================================================== +*/ + + +#define luaL_newlibtable(L,l) \ + lua_createtable(L, 0, sizeof(l)/sizeof((l)[0]) - 1) + +#define luaL_newlib(L,l) \ + (luaL_checkversion(L), luaL_newlibtable(L,l), luaL_setfuncs(L,l,0)) + +#define luaL_argcheck(L, cond,arg,extramsg) \ + ((void)((cond) || luaL_argerror(L, (arg), (extramsg)))) +#define luaL_checkstring(L,n) (luaL_checklstring(L, (n), NULL)) +#define luaL_optstring(L,n,d) (luaL_optlstring(L, (n), (d), NULL)) + +#define luaL_typename(L,i) lua_typename(L, lua_type(L,(i))) + +#define luaL_dofile(L, fn) \ + (luaL_loadfile(L, fn) || lua_pcall(L, 0, LUA_MULTRET, 0)) + +#define luaL_dostring(L, s) \ + (luaL_loadstring(L, s) || lua_pcall(L, 0, LUA_MULTRET, 0)) + +#define luaL_getmetatable(L,n) (lua_getfield(L, LUA_REGISTRYINDEX, (n))) + +#define luaL_opt(L,f,n,d) (lua_isnoneornil(L,(n)) ? (d) : f(L,(n))) + +#define luaL_loadbuffer(L,s,sz,n) luaL_loadbufferx(L,s,sz,n,NULL) + + +/* +** {====================================================== +** Generic Buffer manipulation +** ======================================================= +*/ + +typedef struct luaL_Buffer { + char *b; /* buffer address */ + size_t size; /* buffer size */ + size_t n; /* number of characters in buffer */ + lua_State *L; + char initb[LUAL_BUFFERSIZE]; /* initial buffer */ +} luaL_Buffer; + + +#define luaL_addchar(B,c) \ + ((void)((B)->n < (B)->size || luaL_prepbuffsize((B), 1)), \ + ((B)->b[(B)->n++] = (c))) + +#define luaL_addsize(B,s) ((B)->n += (s)) + +LUALIB_API void (luaL_buffinit) (lua_State *L, luaL_Buffer *B); +LUALIB_API char *(luaL_prepbuffsize) (luaL_Buffer *B, size_t sz); +LUALIB_API void (luaL_addlstring) (luaL_Buffer *B, const char *s, size_t l); +LUALIB_API void (luaL_addstring) (luaL_Buffer *B, const char *s); +LUALIB_API void (luaL_addvalue) (luaL_Buffer *B); +LUALIB_API void (luaL_pushresult) (luaL_Buffer *B); +LUALIB_API void (luaL_pushresultsize) (luaL_Buffer *B, size_t sz); +LUALIB_API char *(luaL_buffinitsize) (lua_State *L, luaL_Buffer *B, size_t sz); + +#define luaL_prepbuffer(B) luaL_prepbuffsize(B, LUAL_BUFFERSIZE) + +/* }====================================================== */ + + + +/* +** {====================================================== +** File handles for IO library +** ======================================================= +*/ + +/* +** A file handle is a userdata with metatable 'LUA_FILEHANDLE' and +** initial structure 'luaL_Stream' (it may contain other fields +** after that initial structure). +*/ + +#define LUA_FILEHANDLE "FILE*" + + +typedef struct luaL_Stream { + FILE *f; /* stream (NULL for incompletely created streams) */ + lua_CFunction closef; /* to close stream (NULL for closed streams) */ +} luaL_Stream; + +/* }====================================================== */ + + + +/* compatibility with old module system */ +#if defined(LUA_COMPAT_MODULE) + +LUALIB_API void (luaL_pushmodule) (lua_State *L, const char *modname, + int sizehint); +LUALIB_API void (luaL_openlib) (lua_State *L, const char *libname, + const luaL_Reg *l, int nup); + +#define luaL_register(L,n,l) (luaL_openlib(L,(n),(l),0)) + +#endif + + +/* +** {================================================================== +** "Abstraction Layer" for basic report of messages and errors +** =================================================================== +*/ + +/* print a string */ +#if !defined(lua_writestring) +#define lua_writestring(s,l) fwrite((s), sizeof(char), (l), stdout) +#endif + +/* print a newline and flush the output */ +#if !defined(lua_writeline) +#define lua_writeline() (lua_writestring("\n", 1), fflush(stdout)) +#endif + +/* print an error message */ +#if !defined(lua_writestringerror) +#define lua_writestringerror(s,p) \ + (fprintf(stderr, (s), (p)), fflush(stderr)) +#endif + +/* }================================================================== */ + + +/* +** {============================================================ +** Compatibility with deprecated conversions +** ============================================================= +*/ +#if defined(LUA_COMPAT_APIINTCASTS) + +#define luaL_checkunsigned(L,a) ((lua_Unsigned)luaL_checkinteger(L,a)) +#define luaL_optunsigned(L,a,d) \ + ((lua_Unsigned)luaL_optinteger(L,a,(lua_Integer)(d))) + +#define luaL_checkint(L,n) ((int)luaL_checkinteger(L, (n))) +#define luaL_optint(L,n,d) ((int)luaL_optinteger(L, (n), (d))) + +#define luaL_checklong(L,n) ((long)luaL_checkinteger(L, (n))) +#define luaL_optlong(L,n,d) ((long)luaL_optinteger(L, (n), (d))) + +#endif +/* }============================================================ */ + + + +#endif + + diff --git a/vendor/lua/5.3/include/lua.h b/vendor/lua/5.3/include/lua.h new file mode 100644 index 000000000..9394c5ef8 --- /dev/null +++ b/vendor/lua/5.3/include/lua.h @@ -0,0 +1,485 @@ +/* +** Lua - A Scripting Language +** Lua.org, PUC-Rio, Brazil (http://www.lua.org) +** See Copyright Notice at the end of this file +*/ + + +#ifndef lua_h +#define lua_h + +#include +#include + + +#include "luaconf.h" + + +#define LUA_VERSION_MAJOR "5" +#define LUA_VERSION_MINOR "3" +#define LUA_VERSION_NUM 503 +#define LUA_VERSION_RELEASE "6" + +#define LUA_VERSION "Lua " LUA_VERSION_MAJOR "." LUA_VERSION_MINOR +#define LUA_RELEASE LUA_VERSION "." LUA_VERSION_RELEASE +#define LUA_COPYRIGHT LUA_RELEASE " Copyright (C) 1994-2020 Lua.org, PUC-Rio" +#define LUA_AUTHORS "R. Ierusalimschy, L. H. de Figueiredo, W. Celes" + + +/* mark for precompiled code ('Lua') */ +#define LUA_SIGNATURE "\x1bLua" + +/* option for multiple returns in 'lua_pcall' and 'lua_call' */ +#define LUA_MULTRET (-1) + + +/* +** Pseudo-indices +** (-LUAI_MAXSTACK is the minimum valid index; we keep some free empty +** space after that to help overflow detection) +*/ +#define LUA_REGISTRYINDEX (-LUAI_MAXSTACK - 1000) +#define lua_upvalueindex(i) (LUA_REGISTRYINDEX - (i)) + + +/* thread status */ +#define LUA_OK 0 +#define LUA_YIELD 1 +#define LUA_ERRRUN 2 +#define LUA_ERRSYNTAX 3 +#define LUA_ERRMEM 4 +#define LUA_ERRGCMM 5 +#define LUA_ERRERR 6 + + +typedef struct lua_State lua_State; + + +/* +** basic types +*/ +#define LUA_TNONE (-1) + +#define LUA_TNIL 0 +#define LUA_TBOOLEAN 1 +#define LUA_TLIGHTUSERDATA 2 +#define LUA_TNUMBER 3 +#define LUA_TSTRING 4 +#define LUA_TTABLE 5 +#define LUA_TFUNCTION 6 +#define LUA_TUSERDATA 7 +#define LUA_TTHREAD 8 + +#define LUA_NUMTAGS 9 + + + +/* minimum Lua stack available to a C function */ +#define LUA_MINSTACK 20 + + +/* predefined values in the registry */ +#define LUA_RIDX_MAINTHREAD 1 +#define LUA_RIDX_GLOBALS 2 +#define LUA_RIDX_LAST LUA_RIDX_GLOBALS + + +/* type of numbers in Lua */ +typedef LUA_NUMBER lua_Number; + + +/* type for integer functions */ +typedef LUA_INTEGER lua_Integer; + +/* unsigned integer type */ +typedef LUA_UNSIGNED lua_Unsigned; + +/* type for continuation-function contexts */ +typedef LUA_KCONTEXT lua_KContext; + + +/* +** Type for C functions registered with Lua +*/ +typedef int (*lua_CFunction) (lua_State *L); + +/* +** Type for continuation functions +*/ +typedef int (*lua_KFunction) (lua_State *L, int status, lua_KContext ctx); + + +/* +** Type for functions that read/write blocks when loading/dumping Lua chunks +*/ +typedef const char * (*lua_Reader) (lua_State *L, void *ud, size_t *sz); + +typedef int (*lua_Writer) (lua_State *L, const void *p, size_t sz, void *ud); + + +/* +** Type for memory-allocation functions +*/ +typedef void * (*lua_Alloc) (void *ud, void *ptr, size_t osize, size_t nsize); + + + +/* +** generic extra include file +*/ +#if defined(LUA_USER_H) +#include LUA_USER_H +#endif + + +/* +** RCS ident string +*/ +extern const char lua_ident[]; + + +/* +** state manipulation +*/ +LUA_API lua_State *(lua_newstate) (lua_Alloc f, void *ud); +LUA_API void (lua_close) (lua_State *L); +LUA_API lua_State *(lua_newthread) (lua_State *L); + +LUA_API lua_CFunction (lua_atpanic) (lua_State *L, lua_CFunction panicf); + + +LUA_API const lua_Number *(lua_version) (lua_State *L); + + +/* +** basic stack manipulation +*/ +LUA_API int (lua_absindex) (lua_State *L, int idx); +LUA_API int (lua_gettop) (lua_State *L); +LUA_API void (lua_settop) (lua_State *L, int idx); +LUA_API void (lua_pushvalue) (lua_State *L, int idx); +LUA_API void (lua_rotate) (lua_State *L, int idx, int n); +LUA_API void (lua_copy) (lua_State *L, int fromidx, int toidx); +LUA_API int (lua_checkstack) (lua_State *L, int n); + +LUA_API void (lua_xmove) (lua_State *from, lua_State *to, int n); + + +/* +** access functions (stack -> C) +*/ + +LUA_API int (lua_isnumber) (lua_State *L, int idx); +LUA_API int (lua_isstring) (lua_State *L, int idx); +LUA_API int (lua_iscfunction) (lua_State *L, int idx); +LUA_API int (lua_isinteger) (lua_State *L, int idx); +LUA_API int (lua_isuserdata) (lua_State *L, int idx); +LUA_API int (lua_type) (lua_State *L, int idx); +LUA_API const char *(lua_typename) (lua_State *L, int tp); + +LUA_API lua_Number (lua_tonumberx) (lua_State *L, int idx, int *isnum); +LUA_API lua_Integer (lua_tointegerx) (lua_State *L, int idx, int *isnum); +LUA_API int (lua_toboolean) (lua_State *L, int idx); +LUA_API const char *(lua_tolstring) (lua_State *L, int idx, size_t *len); +LUA_API size_t (lua_rawlen) (lua_State *L, int idx); +LUA_API lua_CFunction (lua_tocfunction) (lua_State *L, int idx); +LUA_API void *(lua_touserdata) (lua_State *L, int idx); +LUA_API lua_State *(lua_tothread) (lua_State *L, int idx); +LUA_API const void *(lua_topointer) (lua_State *L, int idx); + + +/* +** Comparison and arithmetic functions +*/ + +#define LUA_OPADD 0 /* ORDER TM, ORDER OP */ +#define LUA_OPSUB 1 +#define LUA_OPMUL 2 +#define LUA_OPMOD 3 +#define LUA_OPPOW 4 +#define LUA_OPDIV 5 +#define LUA_OPIDIV 6 +#define LUA_OPBAND 7 +#define LUA_OPBOR 8 +#define LUA_OPBXOR 9 +#define LUA_OPSHL 10 +#define LUA_OPSHR 11 +#define LUA_OPUNM 12 +#define LUA_OPBNOT 13 + +LUA_API void (lua_arith) (lua_State *L, int op); + +#define LUA_OPEQ 0 +#define LUA_OPLT 1 +#define LUA_OPLE 2 + +LUA_API int (lua_rawequal) (lua_State *L, int idx1, int idx2); +LUA_API int (lua_compare) (lua_State *L, int idx1, int idx2, int op); + + +/* +** push functions (C -> stack) +*/ +LUA_API void (lua_pushnil) (lua_State *L); +LUA_API void (lua_pushnumber) (lua_State *L, lua_Number n); +LUA_API void (lua_pushinteger) (lua_State *L, lua_Integer n); +LUA_API const char *(lua_pushlstring) (lua_State *L, const char *s, size_t len); +LUA_API const char *(lua_pushstring) (lua_State *L, const char *s); +LUA_API const char *(lua_pushvfstring) (lua_State *L, const char *fmt, + va_list argp); +LUA_API const char *(lua_pushfstring) (lua_State *L, const char *fmt, ...); +LUA_API void (lua_pushcclosure) (lua_State *L, lua_CFunction fn, int n); +LUA_API void (lua_pushboolean) (lua_State *L, int b); +LUA_API void (lua_pushlightuserdata) (lua_State *L, void *p); +LUA_API int (lua_pushthread) (lua_State *L); + + +/* +** get functions (Lua -> stack) +*/ +LUA_API int (lua_getglobal) (lua_State *L, const char *name); +LUA_API int (lua_gettable) (lua_State *L, int idx); +LUA_API int (lua_getfield) (lua_State *L, int idx, const char *k); +LUA_API int (lua_geti) (lua_State *L, int idx, lua_Integer n); +LUA_API int (lua_rawget) (lua_State *L, int idx); +LUA_API int (lua_rawgeti) (lua_State *L, int idx, lua_Integer n); +LUA_API int (lua_rawgetp) (lua_State *L, int idx, const void *p); + +LUA_API void (lua_createtable) (lua_State *L, int narr, int nrec); +LUA_API void *(lua_newuserdata) (lua_State *L, size_t sz); +LUA_API int (lua_getmetatable) (lua_State *L, int objindex); +LUA_API int (lua_getuservalue) (lua_State *L, int idx); + + +/* +** set functions (stack -> Lua) +*/ +LUA_API void (lua_setglobal) (lua_State *L, const char *name); +LUA_API void (lua_settable) (lua_State *L, int idx); +LUA_API void (lua_setfield) (lua_State *L, int idx, const char *k); +LUA_API void (lua_seti) (lua_State *L, int idx, lua_Integer n); +LUA_API void (lua_rawset) (lua_State *L, int idx); +LUA_API void (lua_rawseti) (lua_State *L, int idx, lua_Integer n); +LUA_API void (lua_rawsetp) (lua_State *L, int idx, const void *p); +LUA_API int (lua_setmetatable) (lua_State *L, int objindex); +LUA_API void (lua_setuservalue) (lua_State *L, int idx); + + +/* +** 'load' and 'call' functions (load and run Lua code) +*/ +LUA_API void (lua_callk) (lua_State *L, int nargs, int nresults, + lua_KContext ctx, lua_KFunction k); +#define lua_call(L,n,r) lua_callk(L, (n), (r), 0, NULL) + +LUA_API int (lua_pcallk) (lua_State *L, int nargs, int nresults, int errfunc, + lua_KContext ctx, lua_KFunction k); +#define lua_pcall(L,n,r,f) lua_pcallk(L, (n), (r), (f), 0, NULL) + +LUA_API int (lua_load) (lua_State *L, lua_Reader reader, void *dt, + const char *chunkname, const char *mode); + +LUA_API int (lua_dump) (lua_State *L, lua_Writer writer, void *data, int strip); + + +/* +** coroutine functions +*/ +LUA_API int (lua_yieldk) (lua_State *L, int nresults, lua_KContext ctx, + lua_KFunction k); +LUA_API int (lua_resume) (lua_State *L, lua_State *from, int narg); +LUA_API int (lua_status) (lua_State *L); +LUA_API int (lua_isyieldable) (lua_State *L); + +#define lua_yield(L,n) lua_yieldk(L, (n), 0, NULL) + + +/* +** garbage-collection function and options +*/ + +#define LUA_GCSTOP 0 +#define LUA_GCRESTART 1 +#define LUA_GCCOLLECT 2 +#define LUA_GCCOUNT 3 +#define LUA_GCCOUNTB 4 +#define LUA_GCSTEP 5 +#define LUA_GCSETPAUSE 6 +#define LUA_GCSETSTEPMUL 7 +#define LUA_GCISRUNNING 9 + +LUA_API int (lua_gc) (lua_State *L, int what, int data); + + +/* +** miscellaneous functions +*/ + +LUA_API int (lua_error) (lua_State *L); + +LUA_API int (lua_next) (lua_State *L, int idx); + +LUA_API void (lua_concat) (lua_State *L, int n); +LUA_API void (lua_len) (lua_State *L, int idx); + +LUA_API size_t (lua_stringtonumber) (lua_State *L, const char *s); + +LUA_API lua_Alloc (lua_getallocf) (lua_State *L, void **ud); +LUA_API void (lua_setallocf) (lua_State *L, lua_Alloc f, void *ud); + + + +/* +** {============================================================== +** some useful macros +** =============================================================== +*/ + +#define lua_getextraspace(L) ((void *)((char *)(L) - LUA_EXTRASPACE)) + +#define lua_tonumber(L,i) lua_tonumberx(L,(i),NULL) +#define lua_tointeger(L,i) lua_tointegerx(L,(i),NULL) + +#define lua_pop(L,n) lua_settop(L, -(n)-1) + +#define lua_newtable(L) lua_createtable(L, 0, 0) + +#define lua_register(L,n,f) (lua_pushcfunction(L, (f)), lua_setglobal(L, (n))) + +#define lua_pushcfunction(L,f) lua_pushcclosure(L, (f), 0) + +#define lua_isfunction(L,n) (lua_type(L, (n)) == LUA_TFUNCTION) +#define lua_istable(L,n) (lua_type(L, (n)) == LUA_TTABLE) +#define lua_islightuserdata(L,n) (lua_type(L, (n)) == LUA_TLIGHTUSERDATA) +#define lua_isnil(L,n) (lua_type(L, (n)) == LUA_TNIL) +#define lua_isboolean(L,n) (lua_type(L, (n)) == LUA_TBOOLEAN) +#define lua_isthread(L,n) (lua_type(L, (n)) == LUA_TTHREAD) +#define lua_isnone(L,n) (lua_type(L, (n)) == LUA_TNONE) +#define lua_isnoneornil(L, n) (lua_type(L, (n)) <= 0) + +#define lua_pushliteral(L, s) lua_pushstring(L, "" s) + +#define lua_pushglobaltable(L) \ + ((void)lua_rawgeti(L, LUA_REGISTRYINDEX, LUA_RIDX_GLOBALS)) + +#define lua_tostring(L,i) lua_tolstring(L, (i), NULL) + + +#define lua_insert(L,idx) lua_rotate(L, (idx), 1) + +#define lua_remove(L,idx) (lua_rotate(L, (idx), -1), lua_pop(L, 1)) + +#define lua_replace(L,idx) (lua_copy(L, -1, (idx)), lua_pop(L, 1)) + +/* }============================================================== */ + + +/* +** {============================================================== +** compatibility macros for unsigned conversions +** =============================================================== +*/ +#if defined(LUA_COMPAT_APIINTCASTS) + +#define lua_pushunsigned(L,n) lua_pushinteger(L, (lua_Integer)(n)) +#define lua_tounsignedx(L,i,is) ((lua_Unsigned)lua_tointegerx(L,i,is)) +#define lua_tounsigned(L,i) lua_tounsignedx(L,(i),NULL) + +#endif +/* }============================================================== */ + +/* +** {====================================================================== +** Debug API +** ======================================================================= +*/ + + +/* +** Event codes +*/ +#define LUA_HOOKCALL 0 +#define LUA_HOOKRET 1 +#define LUA_HOOKLINE 2 +#define LUA_HOOKCOUNT 3 +#define LUA_HOOKTAILCALL 4 + + +/* +** Event masks +*/ +#define LUA_MASKCALL (1 << LUA_HOOKCALL) +#define LUA_MASKRET (1 << LUA_HOOKRET) +#define LUA_MASKLINE (1 << LUA_HOOKLINE) +#define LUA_MASKCOUNT (1 << LUA_HOOKCOUNT) + +typedef struct lua_Debug lua_Debug; /* activation record */ + + +/* Functions to be called by the debugger in specific events */ +typedef void (*lua_Hook) (lua_State *L, lua_Debug *ar); + + +LUA_API int (lua_getstack) (lua_State *L, int level, lua_Debug *ar); +LUA_API int (lua_getinfo) (lua_State *L, const char *what, lua_Debug *ar); +LUA_API const char *(lua_getlocal) (lua_State *L, const lua_Debug *ar, int n); +LUA_API const char *(lua_setlocal) (lua_State *L, const lua_Debug *ar, int n); +LUA_API const char *(lua_getupvalue) (lua_State *L, int funcindex, int n); +LUA_API const char *(lua_setupvalue) (lua_State *L, int funcindex, int n); + +LUA_API void *(lua_upvalueid) (lua_State *L, int fidx, int n); +LUA_API void (lua_upvaluejoin) (lua_State *L, int fidx1, int n1, + int fidx2, int n2); + +LUA_API void (lua_sethook) (lua_State *L, lua_Hook func, int mask, int count); +LUA_API lua_Hook (lua_gethook) (lua_State *L); +LUA_API int (lua_gethookmask) (lua_State *L); +LUA_API int (lua_gethookcount) (lua_State *L); + + +struct lua_Debug { + int event; + const char *name; /* (n) */ + const char *namewhat; /* (n) 'global', 'local', 'field', 'method' */ + const char *what; /* (S) 'Lua', 'C', 'main', 'tail' */ + const char *source; /* (S) */ + int currentline; /* (l) */ + int linedefined; /* (S) */ + int lastlinedefined; /* (S) */ + unsigned char nups; /* (u) number of upvalues */ + unsigned char nparams;/* (u) number of parameters */ + char isvararg; /* (u) */ + char istailcall; /* (t) */ + char short_src[LUA_IDSIZE]; /* (S) */ + /* private part */ + struct CallInfo *i_ci; /* active function */ +}; + +/* }====================================================================== */ + + +/****************************************************************************** +* Copyright (C) 1994-2020 Lua.org, PUC-Rio. +* +* Permission is hereby granted, free of charge, to any person obtaining +* a copy of this software and associated documentation files (the +* "Software"), to deal in the Software without restriction, including +* without limitation the rights to use, copy, modify, merge, publish, +* distribute, sublicense, and/or sell copies of the Software, and to +* permit persons to whom the Software is furnished to do so, subject to +* the following conditions: +* +* The above copyright notice and this permission notice shall be +* included in all copies or substantial portions of the Software. +* +* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +******************************************************************************/ + + +#endif diff --git a/vendor/lua/5.3/include/lua.hpp b/vendor/lua/5.3/include/lua.hpp new file mode 100644 index 000000000..ec417f594 --- /dev/null +++ b/vendor/lua/5.3/include/lua.hpp @@ -0,0 +1,9 @@ +// lua.hpp +// Lua header files for C++ +// <> not supplied automatically because Lua also compiles as C++ + +extern "C" { +#include "lua.h" +#include "lualib.h" +#include "lauxlib.h" +} diff --git a/vendor/lua/5.3/include/luaconf.h b/vendor/lua/5.3/include/luaconf.h new file mode 100644 index 000000000..f95555689 --- /dev/null +++ b/vendor/lua/5.3/include/luaconf.h @@ -0,0 +1,792 @@ +/* +** $Id: luaconf.h,v 1.259.1.1 2017/04/19 17:29:57 roberto Exp $ +** Configuration file for Lua +** See Copyright Notice in lua.h +*/ + + +#ifndef luaconf_h +#define luaconf_h + +#include +#include + + +/* +** =================================================================== +** Search for "@@" to find all configurable definitions. +** =================================================================== +*/ + + +/* +** {==================================================================== +** System Configuration: macros to adapt (if needed) Lua to some +** particular platform, for instance compiling it with 32-bit numbers or +** restricting it to C89. +** ===================================================================== +*/ + +/* +@@ LUA_32BITS enables Lua with 32-bit integers and 32-bit floats. You +** can also define LUA_32BITS in the make file, but changing here you +** ensure that all software connected to Lua will be compiled with the +** same configuration. +*/ +/* #define LUA_32BITS */ + + +/* +@@ LUA_USE_C89 controls the use of non-ISO-C89 features. +** Define it if you want Lua to avoid the use of a few C99 features +** or Windows-specific features on Windows. +*/ +/* #define LUA_USE_C89 */ + + +/* +** By default, Lua on Windows use (some) specific Windows features +*/ +#if !defined(LUA_USE_C89) && defined(_WIN32) && !defined(_WIN32_WCE) +#define LUA_USE_WINDOWS /* enable goodies for regular Windows */ +#endif + + +#if defined(LUA_USE_WINDOWS) +#define LUA_DL_DLL /* enable support for DLL */ +#define LUA_USE_C89 /* broadly, Windows is C89 */ +#endif + + +#if defined(LUA_USE_LINUX) +#define LUA_USE_POSIX +#define LUA_USE_DLOPEN /* needs an extra library: -ldl */ +#define LUA_USE_READLINE /* needs some extra libraries */ +#endif + + +#if defined(LUA_USE_MACOSX) +#define LUA_USE_POSIX +#define LUA_USE_DLOPEN /* MacOS does not need -ldl */ +#define LUA_USE_READLINE /* needs an extra library: -lreadline */ +#endif + + +/* +@@ LUA_C89_NUMBERS ensures that Lua uses the largest types available for +** C89 ('long' and 'double'); Windows always has '__int64', so it does +** not need to use this case. +*/ +#if defined(LUA_USE_C89) && !defined(LUA_USE_WINDOWS) +#define LUA_C89_NUMBERS +#endif + + + +/* +@@ LUAI_BITSINT defines the (minimum) number of bits in an 'int'. +*/ +/* avoid undefined shifts */ +#if ((INT_MAX >> 15) >> 15) >= 1 +#define LUAI_BITSINT 32 +#else +/* 'int' always must have at least 16 bits */ +#define LUAI_BITSINT 16 +#endif + + +/* +@@ LUA_INT_TYPE defines the type for Lua integers. +@@ LUA_FLOAT_TYPE defines the type for Lua floats. +** Lua should work fine with any mix of these options (if supported +** by your C compiler). The usual configurations are 64-bit integers +** and 'double' (the default), 32-bit integers and 'float' (for +** restricted platforms), and 'long'/'double' (for C compilers not +** compliant with C99, which may not have support for 'long long'). +*/ + +/* predefined options for LUA_INT_TYPE */ +#define LUA_INT_INT 1 +#define LUA_INT_LONG 2 +#define LUA_INT_LONGLONG 3 + +/* predefined options for LUA_FLOAT_TYPE */ +#define LUA_FLOAT_FLOAT 1 +#define LUA_FLOAT_DOUBLE 2 +#define LUA_FLOAT_LONGDOUBLE 3 + +#if defined(LUA_32BITS) /* { */ +/* +** 32-bit integers and 'float' +*/ +#if LUAI_BITSINT >= 32 /* use 'int' if big enough */ +#define LUA_INT_TYPE LUA_INT_INT +#else /* otherwise use 'long' */ +#define LUA_INT_TYPE LUA_INT_LONG +#endif +#define LUA_FLOAT_TYPE LUA_FLOAT_FLOAT + +#elif defined(LUA_C89_NUMBERS) /* }{ */ +/* +** largest types available for C89 ('long' and 'double') +*/ +#define LUA_INT_TYPE LUA_INT_LONG +#define LUA_FLOAT_TYPE LUA_FLOAT_DOUBLE + +#endif /* } */ + + +/* +** default configuration for 64-bit Lua ('long long' and 'double') +*/ +#if !defined(LUA_INT_TYPE) +#define LUA_INT_TYPE LUA_INT_LONGLONG +#endif + +#if !defined(LUA_FLOAT_TYPE) +#define LUA_FLOAT_TYPE LUA_FLOAT_DOUBLE +#endif + +/* }================================================================== */ + + + + +/* +** {================================================================== +** Configuration for Paths. +** =================================================================== +*/ + +/* +** LUA_PATH_SEP is the character that separates templates in a path. +** LUA_PATH_MARK is the string that marks the substitution points in a +** template. +** LUA_EXEC_DIR in a Windows path is replaced by the executable's +** directory. +*/ +#define LUA_PATH_SEP ";" +#define LUA_PATH_MARK "?" +#define LUA_EXEC_DIR "!" + + +/* +@@ LUA_PATH_DEFAULT is the default path that Lua uses to look for +** Lua libraries. +@@ LUA_CPATH_DEFAULT is the default path that Lua uses to look for +** C libraries. +** CHANGE them if your machine has a non-conventional directory +** hierarchy or if you want to install your libraries in +** non-conventional directories. +*/ +#define LUA_VDIR LUA_VERSION_MAJOR "." LUA_VERSION_MINOR +#if defined(_WIN32) /* { */ +/* +** In Windows, any exclamation mark ('!') in the path is replaced by the +** path of the directory of the executable file of the current process. +*/ +#define LUA_LDIR "!\\lua\\" +#define LUA_CDIR "!\\" +#define LUA_SHRDIR "!\\..\\share\\lua\\" LUA_VDIR "\\" +#define LUA_PATH_DEFAULT \ + LUA_LDIR"?.lua;" LUA_LDIR"?\\init.lua;" \ + LUA_CDIR"?.lua;" LUA_CDIR"?\\init.lua;" \ + LUA_SHRDIR"?.lua;" LUA_SHRDIR"?\\init.lua;" \ + ".\\?.lua;" ".\\?\\init.lua" +#define LUA_CPATH_DEFAULT \ + LUA_CDIR"?.dll;" \ + LUA_CDIR"..\\lib\\lua\\" LUA_VDIR "\\?.dll;" \ + LUA_CDIR"loadall.dll;" ".\\?.dll;" \ + LUA_CDIR"?53.dll;" ".\\?53.dll" + +#else /* }{ */ + +#define LUA_ROOT "/usr/local/" +#define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR "/" +#define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR "/" +#define LUA_PATH_DEFAULT \ + LUA_LDIR"?.lua;" LUA_LDIR"?/init.lua;" \ + LUA_CDIR"?.lua;" LUA_CDIR"?/init.lua;" \ + "./?.lua;" "./?/init.lua" +#define LUA_CPATH_DEFAULT \ + LUA_CDIR"?.so;" LUA_CDIR"loadall.so;" "./?.so;" \ + LUA_CDIR"lib?53.so;" "./lib?53.so" +#endif /* } */ + + +/* +@@ LUA_DIRSEP is the directory separator (for submodules). +** CHANGE it if your machine does not use "/" as the directory separator +** and is not Windows. (On Windows Lua automatically uses "\".) +*/ +#if defined(_WIN32) +#define LUA_DIRSEP "\\" +#else +#define LUA_DIRSEP "/" +#endif + +/* }================================================================== */ + + +/* +** {================================================================== +** Marks for exported symbols in the C code +** =================================================================== +*/ + +/* +@@ LUA_API is a mark for all core API functions. +@@ LUALIB_API is a mark for all auxiliary library functions. +@@ LUAMOD_API is a mark for all standard library opening functions. +** CHANGE them if you need to define those functions in some special way. +** For instance, if you want to create one Windows DLL with the core and +** the libraries, you may want to use the following definition (define +** LUA_BUILD_AS_DLL to get it). +*/ +#if defined(LUA_BUILD_AS_DLL) /* { */ + +#if defined(LUA_CORE) || defined(LUA_LIB) /* { */ +#define LUA_API __declspec(dllexport) +#else /* }{ */ +#define LUA_API __declspec(dllimport) +#endif /* } */ + +#else /* }{ */ + +#define LUA_API extern + +#endif /* } */ + + +/* more often than not the libs go together with the core */ +#define LUALIB_API LUA_API +#define LUAMOD_API LUALIB_API + + +/* +@@ LUAI_FUNC is a mark for all extern functions that are not to be +** exported to outside modules. +@@ LUAI_DDEF and LUAI_DDEC are marks for all extern (const) variables +** that are not to be exported to outside modules (LUAI_DDEF for +** definitions and LUAI_DDEC for declarations). +** CHANGE them if you need to mark them in some special way. Elf/gcc +** (versions 3.2 and later) mark them as "hidden" to optimize access +** when Lua is compiled as a shared library. Not all elf targets support +** this attribute. Unfortunately, gcc does not offer a way to check +** whether the target offers that support, and those without support +** give a warning about it. To avoid these warnings, change to the +** default definition. +*/ +#if defined(__GNUC__) && ((__GNUC__*100 + __GNUC_MINOR__) >= 302) && \ + defined(__ELF__) /* { */ +#define LUAI_FUNC __attribute__((visibility("hidden"))) extern +#else /* }{ */ +#define LUAI_FUNC extern +#endif /* } */ + +#define LUAI_DDEC LUAI_FUNC +#define LUAI_DDEF /* empty */ + +/* }================================================================== */ + + +/* +** {================================================================== +** Compatibility with previous versions +** =================================================================== +*/ + +/* +@@ LUA_COMPAT_5_2 controls other macros for compatibility with Lua 5.2. +@@ LUA_COMPAT_5_1 controls other macros for compatibility with Lua 5.1. +** You can define it to get all options, or change specific options +** to fit your specific needs. +*/ +#if defined(LUA_COMPAT_5_2) /* { */ + +/* +@@ LUA_COMPAT_MATHLIB controls the presence of several deprecated +** functions in the mathematical library. +*/ +#define LUA_COMPAT_MATHLIB + +/* +@@ LUA_COMPAT_BITLIB controls the presence of library 'bit32'. +*/ +#define LUA_COMPAT_BITLIB + +/* +@@ LUA_COMPAT_IPAIRS controls the effectiveness of the __ipairs metamethod. +*/ +#define LUA_COMPAT_IPAIRS + +/* +@@ LUA_COMPAT_APIINTCASTS controls the presence of macros for +** manipulating other integer types (lua_pushunsigned, lua_tounsigned, +** luaL_checkint, luaL_checklong, etc.) +*/ +#define LUA_COMPAT_APIINTCASTS + +#endif /* } */ + + +#if defined(LUA_COMPAT_5_1) /* { */ + +/* Incompatibilities from 5.2 -> 5.3 */ +#define LUA_COMPAT_MATHLIB +#define LUA_COMPAT_APIINTCASTS + +/* +@@ LUA_COMPAT_UNPACK controls the presence of global 'unpack'. +** You can replace it with 'table.unpack'. +*/ +#define LUA_COMPAT_UNPACK + +/* +@@ LUA_COMPAT_LOADERS controls the presence of table 'package.loaders'. +** You can replace it with 'package.searchers'. +*/ +#define LUA_COMPAT_LOADERS + +/* +@@ macro 'lua_cpcall' emulates deprecated function lua_cpcall. +** You can call your C function directly (with light C functions). +*/ +#define lua_cpcall(L,f,u) \ + (lua_pushcfunction(L, (f)), \ + lua_pushlightuserdata(L,(u)), \ + lua_pcall(L,1,0,0)) + + +/* +@@ LUA_COMPAT_LOG10 defines the function 'log10' in the math library. +** You can rewrite 'log10(x)' as 'log(x, 10)'. +*/ +#define LUA_COMPAT_LOG10 + +/* +@@ LUA_COMPAT_LOADSTRING defines the function 'loadstring' in the base +** library. You can rewrite 'loadstring(s)' as 'load(s)'. +*/ +#define LUA_COMPAT_LOADSTRING + +/* +@@ LUA_COMPAT_MAXN defines the function 'maxn' in the table library. +*/ +#define LUA_COMPAT_MAXN + +/* +@@ The following macros supply trivial compatibility for some +** changes in the API. The macros themselves document how to +** change your code to avoid using them. +*/ +#define lua_strlen(L,i) lua_rawlen(L, (i)) + +#define lua_objlen(L,i) lua_rawlen(L, (i)) + +#define lua_equal(L,idx1,idx2) lua_compare(L,(idx1),(idx2),LUA_OPEQ) +#define lua_lessthan(L,idx1,idx2) lua_compare(L,(idx1),(idx2),LUA_OPLT) + +/* +@@ LUA_COMPAT_MODULE controls compatibility with previous +** module functions 'module' (Lua) and 'luaL_register' (C). +*/ +#define LUA_COMPAT_MODULE + +#endif /* } */ + + +/* +@@ LUA_COMPAT_FLOATSTRING makes Lua format integral floats without a +@@ a float mark ('.0'). +** This macro is not on by default even in compatibility mode, +** because this is not really an incompatibility. +*/ +/* #define LUA_COMPAT_FLOATSTRING */ + +/* }================================================================== */ + + + +/* +** {================================================================== +** Configuration for Numbers. +** Change these definitions if no predefined LUA_FLOAT_* / LUA_INT_* +** satisfy your needs. +** =================================================================== +*/ + +/* +@@ LUA_NUMBER is the floating-point type used by Lua. +@@ LUAI_UACNUMBER is the result of a 'default argument promotion' +@@ over a floating number. +@@ l_mathlim(x) corrects limit name 'x' to the proper float type +** by prefixing it with one of FLT/DBL/LDBL. +@@ LUA_NUMBER_FRMLEN is the length modifier for writing floats. +@@ LUA_NUMBER_FMT is the format for writing floats. +@@ lua_number2str converts a float to a string. +@@ l_mathop allows the addition of an 'l' or 'f' to all math operations. +@@ l_floor takes the floor of a float. +@@ lua_str2number converts a decimal numeric string to a number. +*/ + + +/* The following definitions are good for most cases here */ + +#define l_floor(x) (l_mathop(floor)(x)) + +#define lua_number2str(s,sz,n) \ + l_sprintf((s), sz, LUA_NUMBER_FMT, (LUAI_UACNUMBER)(n)) + +/* +@@ lua_numbertointeger converts a float number to an integer, or +** returns 0 if float is not within the range of a lua_Integer. +** (The range comparisons are tricky because of rounding. The tests +** here assume a two-complement representation, where MININTEGER always +** has an exact representation as a float; MAXINTEGER may not have one, +** and therefore its conversion to float may have an ill-defined value.) +*/ +#define lua_numbertointeger(n,p) \ + ((n) >= (LUA_NUMBER)(LUA_MININTEGER) && \ + (n) < -(LUA_NUMBER)(LUA_MININTEGER) && \ + (*(p) = (LUA_INTEGER)(n), 1)) + + +/* now the variable definitions */ + +#if LUA_FLOAT_TYPE == LUA_FLOAT_FLOAT /* { single float */ + +#define LUA_NUMBER float + +#define l_mathlim(n) (FLT_##n) + +#define LUAI_UACNUMBER double + +#define LUA_NUMBER_FRMLEN "" +#define LUA_NUMBER_FMT "%.7g" + +#define l_mathop(op) op##f + +#define lua_str2number(s,p) strtof((s), (p)) + + +#elif LUA_FLOAT_TYPE == LUA_FLOAT_LONGDOUBLE /* }{ long double */ + +#define LUA_NUMBER long double + +#define l_mathlim(n) (LDBL_##n) + +#define LUAI_UACNUMBER long double + +#define LUA_NUMBER_FRMLEN "L" +#define LUA_NUMBER_FMT "%.19Lg" + +#define l_mathop(op) op##l + +#define lua_str2number(s,p) strtold((s), (p)) + +#elif LUA_FLOAT_TYPE == LUA_FLOAT_DOUBLE /* }{ double */ + +#define LUA_NUMBER double + +#define l_mathlim(n) (DBL_##n) + +#define LUAI_UACNUMBER double + +#define LUA_NUMBER_FRMLEN "" +#define LUA_NUMBER_FMT "%.14g" + +#define l_mathop(op) op + +#define lua_str2number(s,p) strtod((s), (p)) + +#else /* }{ */ + +#error "numeric float type not defined" + +#endif /* } */ + + + +/* +@@ LUA_INTEGER is the integer type used by Lua. +** +@@ LUA_UNSIGNED is the unsigned version of LUA_INTEGER. +** +@@ LUAI_UACINT is the result of a 'default argument promotion' +@@ over a lUA_INTEGER. +@@ LUA_INTEGER_FRMLEN is the length modifier for reading/writing integers. +@@ LUA_INTEGER_FMT is the format for writing integers. +@@ LUA_MAXINTEGER is the maximum value for a LUA_INTEGER. +@@ LUA_MININTEGER is the minimum value for a LUA_INTEGER. +@@ lua_integer2str converts an integer to a string. +*/ + + +/* The following definitions are good for most cases here */ + +#define LUA_INTEGER_FMT "%" LUA_INTEGER_FRMLEN "d" + +#define LUAI_UACINT LUA_INTEGER + +#define lua_integer2str(s,sz,n) \ + l_sprintf((s), sz, LUA_INTEGER_FMT, (LUAI_UACINT)(n)) + +/* +** use LUAI_UACINT here to avoid problems with promotions (which +** can turn a comparison between unsigneds into a signed comparison) +*/ +#define LUA_UNSIGNED unsigned LUAI_UACINT + + +/* now the variable definitions */ + +#if LUA_INT_TYPE == LUA_INT_INT /* { int */ + +#define LUA_INTEGER int +#define LUA_INTEGER_FRMLEN "" + +#define LUA_MAXINTEGER INT_MAX +#define LUA_MININTEGER INT_MIN + +#elif LUA_INT_TYPE == LUA_INT_LONG /* }{ long */ + +#define LUA_INTEGER long +#define LUA_INTEGER_FRMLEN "l" + +#define LUA_MAXINTEGER LONG_MAX +#define LUA_MININTEGER LONG_MIN + +#elif LUA_INT_TYPE == LUA_INT_LONGLONG /* }{ long long */ + +/* use presence of macro LLONG_MAX as proxy for C99 compliance */ +#if defined(LLONG_MAX) /* { */ +/* use ISO C99 stuff */ + +#define LUA_INTEGER long long +#define LUA_INTEGER_FRMLEN "ll" + +#define LUA_MAXINTEGER LLONG_MAX +#define LUA_MININTEGER LLONG_MIN + +#elif defined(LUA_USE_WINDOWS) /* }{ */ +/* in Windows, can use specific Windows types */ + +#define LUA_INTEGER __int64 +#define LUA_INTEGER_FRMLEN "I64" + +#define LUA_MAXINTEGER _I64_MAX +#define LUA_MININTEGER _I64_MIN + +#else /* }{ */ + +#error "Compiler does not support 'long long'. Use option '-DLUA_32BITS' \ + or '-DLUA_C89_NUMBERS' (see file 'luaconf.h' for details)" + +#endif /* } */ + +#else /* }{ */ + +#error "numeric integer type not defined" + +#endif /* } */ + +/* }================================================================== */ + + +/* +** {================================================================== +** Dependencies with C99 and other C details +** =================================================================== +*/ + +/* +@@ l_sprintf is equivalent to 'snprintf' or 'sprintf' in C89. +** (All uses in Lua have only one format item.) +*/ +#if !defined(LUA_USE_C89) +#define l_sprintf(s,sz,f,i) snprintf(s,sz,f,i) +#else +#define l_sprintf(s,sz,f,i) ((void)(sz), sprintf(s,f,i)) +#endif + + +/* +@@ lua_strx2number converts an hexadecimal numeric string to a number. +** In C99, 'strtod' does that conversion. Otherwise, you can +** leave 'lua_strx2number' undefined and Lua will provide its own +** implementation. +*/ +#if !defined(LUA_USE_C89) +#define lua_strx2number(s,p) lua_str2number(s,p) +#endif + + +/* +@@ lua_pointer2str converts a pointer to a readable string in a +** non-specified way. +*/ +#define lua_pointer2str(buff,sz,p) l_sprintf(buff,sz,"%p",p) + + +/* +@@ lua_number2strx converts a float to an hexadecimal numeric string. +** In C99, 'sprintf' (with format specifiers '%a'/'%A') does that. +** Otherwise, you can leave 'lua_number2strx' undefined and Lua will +** provide its own implementation. +*/ +#if !defined(LUA_USE_C89) +#define lua_number2strx(L,b,sz,f,n) \ + ((void)L, l_sprintf(b,sz,f,(LUAI_UACNUMBER)(n))) +#endif + + +/* +** 'strtof' and 'opf' variants for math functions are not valid in +** C89. Otherwise, the macro 'HUGE_VALF' is a good proxy for testing the +** availability of these variants. ('math.h' is already included in +** all files that use these macros.) +*/ +#if defined(LUA_USE_C89) || (defined(HUGE_VAL) && !defined(HUGE_VALF)) +#undef l_mathop /* variants not available */ +#undef lua_str2number +#define l_mathop(op) (lua_Number)op /* no variant */ +#define lua_str2number(s,p) ((lua_Number)strtod((s), (p))) +#endif + + +/* +@@ LUA_KCONTEXT is the type of the context ('ctx') for continuation +** functions. It must be a numerical type; Lua will use 'intptr_t' if +** available, otherwise it will use 'ptrdiff_t' (the nearest thing to +** 'intptr_t' in C89) +*/ +#define LUA_KCONTEXT ptrdiff_t + +#if !defined(LUA_USE_C89) && defined(__STDC_VERSION__) && \ + __STDC_VERSION__ >= 199901L +#include +#if defined(INTPTR_MAX) /* even in C99 this type is optional */ +#undef LUA_KCONTEXT +#define LUA_KCONTEXT intptr_t +#endif +#endif + + +/* +@@ lua_getlocaledecpoint gets the locale "radix character" (decimal point). +** Change that if you do not want to use C locales. (Code using this +** macro must include header 'locale.h'.) +*/ +#if !defined(lua_getlocaledecpoint) +#define lua_getlocaledecpoint() (localeconv()->decimal_point[0]) +#endif + +/* }================================================================== */ + + +/* +** {================================================================== +** Language Variations +** ===================================================================== +*/ + +/* +@@ LUA_NOCVTN2S/LUA_NOCVTS2N control how Lua performs some +** coercions. Define LUA_NOCVTN2S to turn off automatic coercion from +** numbers to strings. Define LUA_NOCVTS2N to turn off automatic +** coercion from strings to numbers. +*/ +/* #define LUA_NOCVTN2S */ +/* #define LUA_NOCVTS2N */ + + +/* +@@ LUA_USE_APICHECK turns on several consistency checks on the C API. +** Define it as a help when debugging C code. +*/ +#if defined(LUA_USE_APICHECK) +#include +#define luai_apicheck(l,e) assert(e) +#endif + +/* }================================================================== */ + + +/* +** {================================================================== +** Macros that affect the API and must be stable (that is, must be the +** same when you compile Lua and when you compile code that links to +** Lua). You probably do not want/need to change them. +** ===================================================================== +*/ + +/* +@@ LUAI_MAXSTACK limits the size of the Lua stack. +** CHANGE it if you need a different limit. This limit is arbitrary; +** its only purpose is to stop Lua from consuming unlimited stack +** space (and to reserve some numbers for pseudo-indices). +*/ +#if LUAI_BITSINT >= 32 +#define LUAI_MAXSTACK 1000000 +#else +#define LUAI_MAXSTACK 15000 +#endif + + +/* +@@ LUA_EXTRASPACE defines the size of a raw memory area associated with +** a Lua state with very fast access. +** CHANGE it if you need a different size. +*/ +#define LUA_EXTRASPACE (sizeof(void *)) + + +/* +@@ LUA_IDSIZE gives the maximum size for the description of the source +@@ of a function in debug information. +** CHANGE it if you want a different size. +*/ +#define LUA_IDSIZE 60 + + +/* +@@ LUAL_BUFFERSIZE is the buffer size used by the lauxlib buffer system. +** CHANGE it if it uses too much C-stack space. (For long double, +** 'string.format("%.99f", -1e4932)' needs 5034 bytes, so a +** smaller buffer would force a memory allocation for each call to +** 'string.format'.) +*/ +#if LUA_FLOAT_TYPE == LUA_FLOAT_LONGDOUBLE +#define LUAL_BUFFERSIZE 8192 +#else +#define LUAL_BUFFERSIZE ((int)(0x80 * sizeof(void*) * sizeof(lua_Integer))) +#endif + +/* }================================================================== */ + + +/* +@@ LUA_QL describes how error messages quote program elements. +** Lua does not use these macros anymore; they are here for +** compatibility only. +*/ +#define LUA_QL(x) "'" x "'" +#define LUA_QS LUA_QL("%s") + + + + +/* =================================================================== */ + +/* +** Local configuration. You can use this space to add your redefinitions +** without modifying the main part of the file. +*/ + + + + + +#endif + diff --git a/vendor/lua/5.3/include/lualib.h b/vendor/lua/5.3/include/lualib.h new file mode 100644 index 000000000..f5304aa0d --- /dev/null +++ b/vendor/lua/5.3/include/lualib.h @@ -0,0 +1,61 @@ +/* +** $Id: lualib.h,v 1.45.1.1 2017/04/19 17:20:42 roberto Exp $ +** Lua standard libraries +** See Copyright Notice in lua.h +*/ + + +#ifndef lualib_h +#define lualib_h + +#include "lua.h" + + +/* version suffix for environment variable names */ +#define LUA_VERSUFFIX "_" LUA_VERSION_MAJOR "_" LUA_VERSION_MINOR + + +LUAMOD_API int (luaopen_base) (lua_State *L); + +#define LUA_COLIBNAME "coroutine" +LUAMOD_API int (luaopen_coroutine) (lua_State *L); + +#define LUA_TABLIBNAME "table" +LUAMOD_API int (luaopen_table) (lua_State *L); + +#define LUA_IOLIBNAME "io" +LUAMOD_API int (luaopen_io) (lua_State *L); + +#define LUA_OSLIBNAME "os" +LUAMOD_API int (luaopen_os) (lua_State *L); + +#define LUA_STRLIBNAME "string" +LUAMOD_API int (luaopen_string) (lua_State *L); + +#define LUA_UTF8LIBNAME "utf8" +LUAMOD_API int (luaopen_utf8) (lua_State *L); + +#define LUA_BITLIBNAME "bit32" +LUAMOD_API int (luaopen_bit32) (lua_State *L); + +#define LUA_MATHLIBNAME "math" +LUAMOD_API int (luaopen_math) (lua_State *L); + +#define LUA_DBLIBNAME "debug" +LUAMOD_API int (luaopen_debug) (lua_State *L); + +#define LUA_LOADLIBNAME "package" +LUAMOD_API int (luaopen_package) (lua_State *L); + + +/* open all previous libraries */ +LUALIB_API void (luaL_openlibs) (lua_State *L); + + + +#if !defined(lua_assert) +#define lua_assert(x) ((void)0) +#endif + + +#endif diff --git a/vendor/lua/5.3/linux/liblua53.a b/vendor/lua/5.3/linux/liblua53.a new file mode 100644 index 0000000000000000000000000000000000000000..67b462b1baaba9e2f509c36c1961cd11c65202ca GIT binary patch literal 463532 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 z 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 literal 0 HcmV?d00001 diff --git a/vendor/lua/5.3/linux/liblua53.so b/vendor/lua/5.3/linux/liblua53.so new file mode 100644 index 0000000000000000000000000000000000000000..83c5fbd68d24a020332b12555b84b20909b1d9e4 GIT binary patch literal 273536 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≪6r3@%cz=a7sPoRu0JWhQK#BM@xcm|D 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 Tl_5C=cCH*m6cW}jHi!lQ#H>bB literal 0 HcmV?d00001 diff --git a/vendor/lua/5.3/lua.odin b/vendor/lua/5.3/lua.odin new file mode 100644 index 000000000..d7884e852 --- /dev/null +++ b/vendor/lua/5.3/lua.odin @@ -0,0 +1,759 @@ +package lua_5_3 + +import "core:intrinsics" +import "core:builtin" + +import c "core:c/libc" + +#assert(size_of(c.int) == size_of(b32)) + +when ODIN_OS == .Windows { + foreign import lib "windows/lua53dll.lib" +} else when ODIN_OS == .Linux { + foreign import lib "linux/liblua53.a" +} else { + #panic(`Unsupported platform of "vendor:lua/5.3"`) +} + +VERSION_MAJOR :: "5" +VERSION_MINOR :: "3" +VERSION_NUM :: 503 +VERSION_RELEASE :: "6" + +VERSION :: "Lua " + VERSION_MAJOR + "." + VERSION_MINOR +RELEASE :: VERSION + "." + VERSION_RELEASE +COPYRIGHT :: RELEASE + " Copyright (C) 1994-2020 Lua.org, PUC-Rio" +AUTHORS :: "R. Ierusalimschy, L. H. de Figueiredo, W. Celes" + + +/* mark for precompiled code ('Lua') */ +SIGNATURE :: "\x1bLua" + +/* option for multiple returns in 'lua_pcall' and 'lua_call' */ +MULTRET :: -1 + +REGISTRYINDEX :: -MAXSTACK - 1000 + + +/* +@@ LUAI_MAXSTACK limits the size of the Lua stack. +** CHANGE it if you need a different limit. This limit is arbitrary; +** its only purpose is to stop Lua from consuming unlimited stack +** space (and to reserve some numbers for pseudo-indices). +** (It must fit into max(size_t)/32.) +*/ +MAXSTACK :: 1000000 when size_of(rawptr) == 4 else 15000 + + +/* +@@ LUA_EXTRASPACE defines the size of a raw memory area associated with +** a Lua state with very fast access. +** CHANGE it if you need a different size. +*/ +EXTRASPACE :: size_of(rawptr) + + + +/* +@@ LUA_IDSIZE gives the maximum size for the description of the source +@@ of a function in debug information. +** CHANGE it if you want a different size. +*/ +IDSIZE :: 60 + + +/* +@@ LUAL_BUFFERSIZE is the buffer size used by the lauxlib buffer system. +*/ +L_BUFFERSIZE :: c.int(16 * size_of(rawptr) * size_of(Number)) + + +MAXALIGNVAL :: max(align_of(Number), align_of(f64), align_of(rawptr), align_of(Integer), align_of(c.long)) + + +Status :: enum c.int { + OK = 0, + YIELD = 1, + ERRRUN = 2, + ERRSYNTAX = 3, + ERRMEM = 4, + ERRERR = 5, + ERRGCMM = 6, + ERRFILE = 7, +} + +/* thread status */ +OK :: Status.OK +YIELD :: Status.YIELD +ERRRUN :: Status.ERRRUN +ERRSYNTAX :: Status.ERRSYNTAX +ERRMEM :: Status.ERRMEM +ERRERR :: Status.ERRERR +ERRFILE :: Status.ERRFILE + +/* +** basic types +*/ + + +Type :: enum c.int { + NONE = -1, + + NIL = 0, + BOOLEAN = 1, + LIGHTUSERDATA = 2, + NUMBER = 3, + STRING = 4, + TABLE = 5, + FUNCTION = 6, + USERDATA = 7, + THREAD = 8, +} + +TNONE :: Type.NONE +TNIL :: Type.NIL +TBOOLEAN :: Type.BOOLEAN +TLIGHTUSERDATA :: Type.LIGHTUSERDATA +TNUMBER :: Type.NUMBER +TSTRING :: Type.STRING +TTABLE :: Type.TABLE +TFUNCTION :: Type.FUNCTION +TUSERDATA :: Type.USERDATA +TTHREAD :: Type.THREAD +NUMTYPES :: 9 + + + +ArithOp :: enum c.int { + ADD = 0, /* ORDER TM, ORDER OP */ + SUB = 1, + MUL = 2, + MOD = 3, + POW = 4, + DIV = 5, + IDIV = 6, + BAND = 7, + BOR = 8, + BXOR = 9, + SHL = 10, + SHR = 11, + UNM = 12, + BNOT = 13, +} + +CompareOp :: enum c.int { + EQ = 0, + LT = 1, + LE = 2, +} + +OPADD :: ArithOp.ADD +OPSUB :: ArithOp.SUB +OPMUL :: ArithOp.MUL +OPMOD :: ArithOp.MOD +OPPOW :: ArithOp.POW +OPDIV :: ArithOp.DIV +OPIDIV :: ArithOp.IDIV +OPBAND :: ArithOp.BAND +OPBOR :: ArithOp.BOR +OPBXOR :: ArithOp.BXOR +OPSHL :: ArithOp.SHL +OPSHR :: ArithOp.SHR +OPUNM :: ArithOp.UNM +OPBNOT :: ArithOp.BNOT + +OPEQ :: CompareOp.EQ +OPLT :: CompareOp.LT +OPLE :: CompareOp.LE + + +/* minimum Lua stack available to a C function */ +MINSTACK :: 20 + + +/* predefined values in the registry */ +RIDX_MAINTHREAD :: 1 +RIDX_GLOBALS :: 2 +RIDX_LAST :: RIDX_GLOBALS + + +/* type of numbers in Lua */ +Number :: distinct (f32 when size_of(uintptr) == 4 else f64) + + +/* type for integer functions */ +Integer :: distinct (i32 when size_of(uintptr) == 4 else i64) + +/* unsigned integer type */ +Unsigned :: distinct (u32 when size_of(uintptr) == 4 else u64) + +/* type for continuation-function contexts */ +KContext :: distinct int + + +/* +** Type for C functions registered with Lua +*/ +CFunction :: #type proc "c" (L: ^State) -> c.int + +/* +** Type for continuation functions +*/ +KFunction :: #type proc "c" (L: ^State, status: c.int, ctx: KContext) -> c.int + + +/* +** Type for functions that read/write blocks when loading/dumping Lua chunks +*/ +Reader :: #type proc "c" (L: ^State, ud: rawptr, sz: ^c.size_t) -> cstring +Writer :: #type proc "c" (L: ^State, p: rawptr, sz: ^c.size_t, ud: rawptr) -> c.int + + +/* +** Type for memory-allocation functions +*/ +Alloc :: #type proc "c" (ud: rawptr, ptr: rawptr, osize, nsize: c.size_t) -> rawptr + + +GCWhat :: enum c.int { + STOP = 0, + RESTART = 1, + COLLECT = 2, + COUNT = 3, + COUNTB = 4, + STEP = 5, + SETPAUSE = 6, + SETSTEPMUL = 7, + ISRUNNING = 9, +} +GCSTOP :: GCWhat.STOP +GCRESTART :: GCWhat.RESTART +GCCOLLECT :: GCWhat.COLLECT +GCCOUNT :: GCWhat.COUNT +GCCOUNTB :: GCWhat.COUNTB +GCSTEP :: GCWhat.STEP +GCSETPAUSE :: GCWhat.SETPAUSE +GCSETSTEPMUL :: GCWhat.SETSTEPMUL +GCISRUNNING :: GCWhat.ISRUNNING + + + +/* +** Event codes +*/ + +HookEvent :: enum c.int { + CALL = 0, + RET = 1, + LINE = 2, + COUNT = 3, + TAILCALL = 4, +} +HOOKCALL :: HookEvent.CALL +HOOKRET :: HookEvent.RET +HOOKLINE :: HookEvent.LINE +HOOKCOUNT :: HookEvent.COUNT +HOOKTAILCALL :: HookEvent.TAILCALL + + +/* +** Event masks +*/ +HookMask :: distinct bit_set[HookEvent; c.int] +MASKCALL :: HookMask{.CALL} +MASKRET :: HookMask{.RET} +MASKLINE :: HookMask{.LINE} +MASKCOUNT :: HookMask{.COUNT} + +/* activation record */ +Debug :: struct { + event: HookEvent, + name: cstring, /* (n) */ + namewhat: cstring, /* (n) 'global', 'local', 'field', 'method' */ + what: cstring, /* (S) 'Lua', 'C', 'main', 'tail' */ + source: cstring, /* (S) */ + currentline: c.int, /* (l) */ + linedefined: c.int, /* (S) */ + lastlinedefined: c.int, /* (S) */ + nups: u8, /* (u) number of upvalues */ + nparams: u8, /* (u) number of parameters */ + isvararg: bool, /* (u) */ + istailcall: bool, /* (t) */ + short_src: [IDSIZE]u8 `fmt:"s"`, /* (S) */ + /* private part */ + i_ci: rawptr, /* active function */ +} + + +/* Functions to be called by the debugger in specific events */ +Hook :: #type proc "c" (L: ^State, ar: ^Debug) + + +State :: struct {} // opaque data type + + +@(link_prefix="lua_") +@(default_calling_convention="c") +foreign lib { + /* + ** RCS ident string + */ + + ident: [^]u8 // TODO(bill): is this correct? + + + /* + ** state manipulation + */ + + newstate :: proc(f: Alloc, ud: rawptr) -> ^State --- + close :: proc(L: ^State) --- + newthread :: proc(L: ^State) -> ^State --- + + atpanic :: proc(L: ^State, panicf: CFunction) -> CFunction --- + + version :: proc(L: ^State) -> ^Number --- + + + /* + ** basic stack manipulation + */ + + absindex :: proc (L: ^State, idx: c.int) -> c.int --- + gettop :: proc (L: ^State) -> c.int --- + settop :: proc (L: ^State, idx: c.int) --- + pushvalue :: proc (L: ^State, idx: c.int) --- + rotate :: proc (L: ^State, idx: c.int, n: c.int) --- + copy :: proc (L: ^State, fromidx, toidx: c.int) --- + checkstack :: proc (L: ^State, n: c.int) -> c.int --- + + xmove :: proc(from, to: ^State, n: c.int) --- + + + /* + ** access functions (stack -> C) + */ + + isnumber :: proc(L: ^State, idx: c.int) -> b32 --- + isstring :: proc(L: ^State, idx: c.int) -> b32 --- + iscfunction :: proc(L: ^State, idx: c.int) -> b32 --- + isinteger :: proc(L: ^State, idx: c.int) -> b32 --- + isuserdata :: proc(L: ^State, idx: c.int) -> b32 --- + type :: proc(L: ^State, idx: c.int) -> Type --- + typename :: proc(L: ^State, tp: Type) -> cstring --- + + @(link_name="lua_tonumberx") + tonumber :: proc(L: ^State, idx: c.int, isnum: ^c.int = nil) -> Number --- + @(link_name="lua_tointegerx") + tointeger :: proc(L: ^State, idx: c.int, isnum: ^c.int = nil) -> Integer --- + toboolean :: proc(L: ^State, idx: c.int) -> b32 --- + tolstring :: proc(L: ^State, idx: c.int, len: ^c.size_t) -> cstring --- + rawlen :: proc(L: ^State, idx: c.int) -> c.size_t --- + tocfunction :: proc(L: ^State, idx: c.int) -> CFunction --- + touserdata :: proc(L: ^State, idx: c.int) -> rawptr --- + tothread :: proc(L: ^State, idx: c.int) -> ^State --- + topointer :: proc(L: ^State, idx: c.int) -> rawptr --- + + /* + ** Comparison and arithmetic functions + */ + + arith :: proc(L: ^State, op: ArithOp) --- + rawequal :: proc(L: ^State, idx1, idx2: c.int) -> b32 --- + compare :: proc(L: ^State, idx1, idx2: c.int, op: CompareOp) -> b32 --- + + /* + ** push functions (C -> stack) + */ + + pushnil :: proc(L: ^State) --- + pushnumber :: proc(L: ^State, n: Number) --- + pushinteger :: proc(L: ^State, n: Integer) --- + pushlstring :: proc(L: ^State, s: cstring, len: cstring) -> cstring --- + pushstring :: proc(L: ^State, s: cstring) -> cstring --- + pushvfstring :: proc(L: ^State, fmt: cstring, argp: c.va_list) -> cstring --- + pushfstring :: proc(L: ^State, fmt: cstring, #c_vararg args: ..any) -> cstring --- + pushcclosure :: proc(L: ^State, fn: CFunction, n: c.int) --- + pushboolean :: proc(L: ^State, b: b32) --- + pushlightuserdata :: proc(L: ^State, p: rawptr) --- + pushthread :: proc(L: ^State) -> Status --- + + /* + ** get functions (Lua -> stack) + */ + + getglobal :: proc(L: ^State, name: cstring) -> c.int --- + gettable :: proc(L: ^State, idx: c.int) -> c.int --- + getfield :: proc(L: ^State, idx: c.int, k: cstring) -> c.int --- + geti :: proc(L: ^State, idx: c.int, n: Integer) -> c.int --- + rawget :: proc(L: ^State, idx: c.int) -> c.int --- + rawgeti :: proc(L: ^State, idx: c.int, n: Integer) -> c.int --- + rawgetp :: proc(L: ^State, idx: c.int, p: rawptr) -> c.int --- + + createtable :: proc(L: ^State, narr, nrec: c.int) --- + newuserdata :: proc(L: ^State, sz: c.size_t) -> rawptr --- + getmetatable :: proc(L: ^State, objindex: c.int) -> c.int --- + getuservalue :: proc(L: ^State, idx: c.int) -> c.int --- + + + /* + ** set functions (stack -> Lua) + */ + + setglobal :: proc(L: ^State, name: cstring) --- + settable :: proc(L: ^State, idx: c.int) --- + setfield :: proc(L: ^State, idx: c.int, k: cstring) --- + seti :: proc(L: ^State, idx: c.int, n: Integer) --- + rawset :: proc(L: ^State, idx: c.int) --- + rawseti :: proc(L: ^State, idx: c.int, n: Integer) --- + rawsetp :: proc(L: ^State, idx: c.int, p: rawptr) --- + setmetatable :: proc(L: ^State, objindex: c.int) -> c.int --- + setuservalue :: proc(L: ^State, idx: c.int) -> c.int --- + + + /* + ** 'load' and 'call' functions (load and run Lua code) + */ + + @(link_name="lua_callk") + call :: proc(L: ^State, nargs, nresults: c.int, + ctx: KContext = 0, k: KFunction = nil) --- + + @(link_name="lua_pcallk") + pcall :: proc(L: ^State, nargs, nresults: c.int, errfunc: c.int, + ctx: KContext = 0, k: KFunction = nil) -> c.int --- + + load :: proc(L: ^State, reader: Reader, dt: rawptr, + chunkname, mode: cstring) -> Status --- + + dump :: proc(L: ^State, writer: Writer, data: rawptr, strip: b32) -> Status --- + + + /* + ** coroutine functions + */ + + @(link_name="lua_yieldk") + yield :: proc(L: ^State, nresults: c.int, ctx: KContext = 0, k: KFunction = nil) -> Status --- + resume :: proc(L: ^State, from: ^State, narg: c.int) -> Status --- + status :: proc(L: ^State) -> Status --- + isyieldable :: proc(L: ^State) -> b32 --- + + + /* + ** garbage-collection function and options + */ + + + + gc :: proc(L: ^State, what: GCWhat, data: c.int) -> c.int --- + + + /* + ** miscellaneous functions + */ + + error :: proc(L: ^State) -> Status --- + + next :: proc(L: ^State, idx: c.int) -> c.int --- + + concat :: proc(L: ^State, n: c.int) --- + len :: proc(L: ^State, idx: c.int) --- + + stringtonumber :: proc(L: ^State, s: cstring) -> c.size_t --- + + getallocf :: proc(L: State, ud: ^rawptr) -> Alloc --- + setallocf :: proc(L: ^State, f: Alloc, ud: rawptr) --- + + /* + ** {====================================================================== + ** Debug API + ** ======================================================================= + */ + + getstack :: proc(L: ^State, level: c.int, ar: ^Debug) -> c.int --- + getinfo :: proc(L: ^State, what: cstring, ar: ^Debug) -> c.int --- + getlocal :: proc(L: ^State, ar: ^Debug, n: c.int) -> cstring --- + setlocal :: proc(L: ^State, ar: ^Debug, n: c.int) -> cstring --- + getupvalue :: proc(L: ^State, funcindex: c.int, n: c.int) -> cstring --- + setupvalue :: proc(L: ^State, funcindex: c.int, n: c.int) -> cstring --- + + upvalueid :: proc(L: ^State, fidx, n: c.int) -> rawptr --- + upvaluejoin :: proc(L: ^State, fidx1, n1, fidx2, n2: c.int) --- + + sethook :: proc(L: ^State, func: Hook, mask: HookMask, count: c.int) --- + gethook :: proc(L: ^State) -> Hook --- + gethookmask :: proc(L: ^State) -> HookMask --- + gethookcount :: proc(L: ^State) -> c.int --- + + /* }============================================================== */ +} + + + +/* version suffix for environment variable names */ +VERSUFFIX :: "_" + VERSION_MAJOR + "_" + VERSION_MINOR + +COLIBNAME :: "coroutine" +TABLIBNAME :: "table" +IOLIBNAME :: "io" +OSLIBNAME :: "os" +STRLIBNAME :: "string" +UTF8LIBNAME :: "utf8" +BITLIBNAME :: "bit32" +MATHLIBNAME :: "math" +DBLIBNAME :: "debug" +LOADLIBNAME :: "package" + +@(link_prefix="lua") +@(default_calling_convention="c") +foreign lib { + open_base :: proc(L: ^State) -> c.int --- + open_coroutine :: proc(L: ^State) -> c.int --- + open_table :: proc(L: ^State) -> c.int --- + open_io :: proc(L: ^State) -> c.int --- + open_os :: proc(L: ^State) -> c.int --- + open_string :: proc(L: ^State) -> c.int --- + open_utf8 :: proc(L: ^State) -> c.int --- + open_bit32 :: proc(L: ^State) -> c.int --- + open_math :: proc(L: ^State) -> c.int --- + open_debug :: proc(L: ^State) -> c.int --- + open_package :: proc(L: ^State) -> c.int --- + + /* open all previous libraries */ + + L_openlibs :: proc(L: ^State) --- +} + + + +GNAME :: "_G" + +/* key, in the registry, for table of loaded modules */ +LOADED_TABLE :: "_LOADED" + + +/* key, in the registry, for table of preloaded loaders */ +PRELOAD_TABLE :: "_PRELOAD" + +L_Reg :: struct { + name: cstring, + func: CFunction, +} + +L_NUMSIZES :: size_of(Integer)*16 + size_of(Number) + + +/* predefined references */ +NOREF :: -2 +REFNIL :: -1 + + +@(link_prefix="lua") +@(default_calling_convention="c") +foreign lib { + @(link_name="luaL_checkversion_") + L_checkversion :: proc(L: ^State, ver: Number = VERSION_NUM, sz: c.size_t = L_NUMSIZES) --- + + + L_getmetafield :: proc(L: ^State, obj: c.int, e: cstring) -> c.int --- + L_callmeta :: proc(L: ^State, obj: c.int, e: cstring) -> c.int --- + @(link_name="luaL_tolstring") + L_tostring :: proc(L: ^State, idx: c.int, len: ^c.size_t = nil) -> cstring --- + L_argerror :: proc(L: ^State, arg: c.int, extramsg: cstring) -> c.int --- + @(link_name="luaL_checklstring") + L_checkstring :: proc(L: ^State, arg: c.int, l: ^c.size_t = nil) -> cstring --- + @(link_name="luaL_optlstring") + L_optstring :: proc(L: ^State, arg: c.int, def: cstring, l: ^c.size_t = nil) -> cstring --- + L_checknumber :: proc(L: ^State, arg: c.int) -> Number --- + L_optnumber :: proc(L: ^State, arg: c.int, def: Number) -> Number --- + + L_checkinteger :: proc(L: ^State, arg: c.int) -> Integer --- + L_optinteger :: proc(L: ^State, arg: c.int, def: Integer) -> Integer --- + + L_checkstack :: proc(L: ^State, sz: c.int, msg: cstring) --- + L_checktype :: proc(L: ^State, arg: c.int, t: c.int) --- + L_checkany :: proc(L: ^State, arg: c.int) --- + + L_newmetatable :: proc(L: ^State, tname: cstring) -> c.int --- + L_setmetatable :: proc(L: ^State, tname: cstring) --- + L_testudata :: proc(L: ^State, ud: c.int, tname: cstring) -> rawptr --- + L_checkudata :: proc(L: ^State, ud: c.int, tname: cstring) -> rawptr --- + + L_where :: proc(L: ^State, lvl: c.int) --- + L_error :: proc(L: ^State, fmt: cstring, #c_vararg args: ..any) -> Status --- + + L_checkoption :: proc(L: ^State, arg: c.int, def: cstring, lst: [^]cstring) -> c.int --- + + L_fileresult :: proc(L: ^State, stat: c.int, fname: cstring) -> c.int --- + L_execresult :: proc(L: ^State, stat: c.int) -> c.int --- + + + L_ref :: proc(L: ^State, t: c.int) -> c.int --- + L_unref :: proc(L: ^State, t: c.int, ref: c.int) --- + + @(link_name="luaL_loadfilex") + L_loadfile :: proc (L: ^State, filename: cstring, mode: cstring = nil) -> Status --- + + @(link_name="luaL_loadbufferx") + L_loadbuffer :: proc(L: ^State, buff: [^]byte, sz: c.size_t, name: cstring, mode: cstring = nil) -> Status --- + L_loadstring :: proc(L: ^State, s: cstring) -> Status --- + + L_newstate :: proc() -> ^State --- + + L_len :: proc(L: ^State, idx: c.int) -> Integer --- + + L_gsub :: proc(L: ^State, s, p, r: cstring) -> cstring --- + + L_setfuncs :: proc(L: ^State, l: [^]L_Reg, nup: c.int) --- + + L_getsubtable :: proc(L: ^State, idx: c.int, fname: cstring) -> c.int --- + + L_traceback :: proc(L: ^State, L1: ^State, msg: cstring, level: c.int) --- + + L_requiref :: proc(L: ^State, modname: cstring, openf: CFunction, glb: c.int) --- + +} +/* +** {====================================================== +** Generic Buffer manipulation +** ======================================================= +*/ + + +L_Buffer :: struct { + b: [^]byte, /* buffer address */ + size: c.size_t, /* buffer size */ + n: c.size_t, /* number of characters in buffer */ + L: ^State, + initb: [L_BUFFERSIZE]byte, /* initial buffer */ +} + +L_addchar :: #force_inline proc "c" (B: ^L_Buffer, c: byte) { + if B.n < B.size { + L_prepbuffsize(B, 1) + } + B.b[B.n] = c + B.n += 1 +} + +L_addsize :: #force_inline proc "c" (B: ^L_Buffer, s: c.size_t) -> c.size_t { + B.n += s + return B.n +} + +L_prepbuffer :: #force_inline proc "c" (B: ^L_Buffer) -> [^]byte { + return L_prepbuffsize(B, c.size_t(L_BUFFERSIZE)) +} + + +@(link_prefix="lua") +@(default_calling_convention="c") +foreign lib { + L_buffinit :: proc(L: ^State, B: ^L_Buffer) --- + L_prepbuffsize :: proc(B: ^L_Buffer, sz: c.size_t) -> [^]byte --- + L_addlstring :: proc(B: ^L_Buffer, s: cstring, l: c.size_t) --- + L_addstring :: proc(B: ^L_Buffer, s: cstring) --- + L_addvalue :: proc(B: ^L_Buffer) --- + L_pushresult :: proc(B: ^L_Buffer) --- + L_pushresultsize :: proc(B: ^L_Buffer, sz: c.size_t) --- + L_buffinitsize :: proc(L: ^State, B: ^L_Buffer, sz: c.size_t) -> [^]byte --- +} + + +/* }====================================================== */ + + + + +/* +** {============================================================== +** some useful macros +** =============================================================== +*/ + +getextraspace :: #force_inline proc "c" (L: ^State) -> rawptr { + return rawptr(([^]byte)(L)[-EXTRASPACE:]) +} +pop :: #force_inline proc "c" (L: ^State, n: c.int) { + settop(L, -n-1) +} +newtable :: #force_inline proc "c" (L: ^State) { + createtable(L, 0, 0) +} +register :: #force_inline proc "c" (L: ^State, n: cstring, f: CFunction) { + pushcfunction(L, f) + setglobal(L, n) +} + +pushcfunction :: #force_inline proc "c" (L: ^State, f: CFunction) { + pushcclosure(L, f, 0) +} + + +isfunction :: #force_inline proc "c" (L: ^State, n: c.int) -> bool { return type(L, n) == .FUNCTION } +istable :: #force_inline proc "c" (L: ^State, n: c.int) -> bool { return type(L, n) == .TABLE } +islightuserdata :: #force_inline proc "c" (L: ^State, n: c.int) -> bool { return type(L, n) == .LIGHTUSERDATA } +isnil :: #force_inline proc "c" (L: ^State, n: c.int) -> bool { return type(L, n) == .NIL } +isboolean :: #force_inline proc "c" (L: ^State, n: c.int) -> bool { return type(L, n) == .BOOLEAN } +isthread :: #force_inline proc "c" (L: ^State, n: c.int) -> bool { return type(L, n) == .THREAD } +isnone :: #force_inline proc "c" (L: ^State, n: c.int) -> bool { return type(L, n) == .NONE } +isnoneornil :: #force_inline proc "c" (L: ^State, n: c.int) -> bool { return type(L, n) <= .NIL } + + +pushliteral :: pushstring +pushglobaltable :: #force_inline proc "c" (L: ^State) { + rawgeti(L, REGISTRYINDEX, RIDX_GLOBALS) +} +tostring :: #force_inline proc "c" (L: ^State, i: c.int) -> cstring { + return tolstring(L, i, nil) +} +insert :: #force_inline proc "c" (L: ^State, idx: c.int) { + rotate(L, idx, 1) +} +remove :: #force_inline proc "c" (L: ^State, idx: c.int) { + rotate(L, idx, -1) + pop(L, 1) +} +replace :: #force_inline proc "c" (L: ^State, idx: c.int) { + copy(L, -1, idx) + pop(L, 1) +} + +L_newlibtable :: #force_inline proc "c" (L: ^State, l: []L_Reg) { + createtable(L, 0, c.int(builtin.len(l) - 1)) +} + +L_newlib :: proc(L: ^State, l: []L_Reg) { + L_checkversion(L) + L_newlibtable(L, l) + L_setfuncs(L, raw_data(l), 0) +} + +L_argcheck :: #force_inline proc "c" (L: ^State, cond: bool, arg: c.int, extramsg: cstring) { + if cond { + L_argerror(L, arg, extramsg) + } +} + +L_typename :: #force_inline proc "c" (L: ^State, i: c.int) -> cstring { + return typename(L, type(L, i)) +} +L_dofile :: #force_inline proc "c" (L: ^State, s: cstring) -> c.int { + err := L_loadfile(L, s) + return pcall(L, 0, MULTRET, 0) if err == nil else c.int(err) +} +L_dostring :: #force_inline proc "c" (L: ^State, s: cstring) -> c.int { + err := L_loadstring(L, s) + return pcall(L, 0, MULTRET, 0) if err == nil else c.int(err) +} +L_getmetatable :: #force_inline proc "c" (L: ^State, n: cstring) -> c.int { + return getfield(L, REGISTRYINDEX, n) +} +L_opt :: #force_inline proc "c" (L: ^State, f: $F, n: c.int, d: $T) -> T where intrinsics.type_is_proc(F) { + return d if isnoneornil(L, n) else f(L, n) +} + + + +/* }============================================================== */ diff --git a/vendor/lua/5.3/windows/lua53.dll b/vendor/lua/5.3/windows/lua53.dll new file mode 100644 index 0000000000000000000000000000000000000000..fca1529ee1a44e09b40cb069a9a1d793c261f40f GIT binary patch literal 302592 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

)YPWQshGiSjz`%deBPyUc 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

OknbU~fLHz9)k1KtuT`5n|50I9V^?V^Jwjip=v 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

^S_2xg9BAF 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 Date: Wed, 5 Apr 2023 16:31:25 +0100 Subject: [PATCH 42/50] Alignment fix --- vendor/lua/5.4/lua.odin | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/vendor/lua/5.4/lua.odin b/vendor/lua/5.4/lua.odin index edfc2db5f..df02076ba 100644 --- a/vendor/lua/5.4/lua.odin +++ b/vendor/lua/5.4/lua.odin @@ -319,9 +319,9 @@ foreign lib { ** state manipulation */ - newstate :: proc(f: Alloc, ud: rawptr) -> ^State --- - close :: proc(L: ^State) --- - newthread :: proc(L: ^State) -> ^State --- + newstate :: proc(f: Alloc, ud: rawptr) -> ^State --- + close :: proc(L: ^State) --- + newthread :: proc(L: ^State) -> ^State --- resetthread :: proc(L: ^State) -> Status --- atpanic :: proc(L: ^State, panicf: CFunction) -> CFunction --- From 8ff713f3bb60172ae880dfebcef039cf4c331653 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Wed, 5 Apr 2023 16:52:17 +0100 Subject: [PATCH 43/50] Add `vendor:lua/5.2` --- vendor/lua/5.2/include/lauxlib.h | 212 ++++++++ vendor/lua/5.2/include/lua.h | 444 +++++++++++++++++ vendor/lua/5.2/include/lua.hpp | 9 + vendor/lua/5.2/include/luaconf.h | 553 +++++++++++++++++++++ vendor/lua/5.2/include/lualib.h | 55 +++ vendor/lua/5.2/linux/liblua52.a | Bin 0 -> 396236 bytes vendor/lua/5.2/linux/liblua52.so | Bin 0 -> 235709 bytes vendor/lua/5.2/lua.odin | 728 ++++++++++++++++++++++++++++ vendor/lua/5.2/windows/lua52.dll | Bin 0 -> 300544 bytes vendor/lua/5.2/windows/lua52dll.lib | Bin 0 -> 29546 bytes 10 files changed, 2001 insertions(+) create mode 100644 vendor/lua/5.2/include/lauxlib.h create mode 100644 vendor/lua/5.2/include/lua.h create mode 100644 vendor/lua/5.2/include/lua.hpp create mode 100644 vendor/lua/5.2/include/luaconf.h create mode 100644 vendor/lua/5.2/include/lualib.h create mode 100644 vendor/lua/5.2/linux/liblua52.a create mode 100644 vendor/lua/5.2/linux/liblua52.so create mode 100644 vendor/lua/5.2/lua.odin create mode 100644 vendor/lua/5.2/windows/lua52.dll create mode 100644 vendor/lua/5.2/windows/lua52dll.lib diff --git a/vendor/lua/5.2/include/lauxlib.h b/vendor/lua/5.2/include/lauxlib.h new file mode 100644 index 000000000..0fb023b8e --- /dev/null +++ b/vendor/lua/5.2/include/lauxlib.h @@ -0,0 +1,212 @@ +/* +** $Id: lauxlib.h,v 1.120.1.1 2013/04/12 18:48:47 roberto Exp $ +** Auxiliary functions for building Lua libraries +** See Copyright Notice in lua.h +*/ + + +#ifndef lauxlib_h +#define lauxlib_h + + +#include +#include + +#include "lua.h" + + + +/* extra error code for `luaL_load' */ +#define LUA_ERRFILE (LUA_ERRERR+1) + + +typedef struct luaL_Reg { + const char *name; + lua_CFunction func; +} luaL_Reg; + + +LUALIB_API void (luaL_checkversion_) (lua_State *L, lua_Number ver); +#define luaL_checkversion(L) luaL_checkversion_(L, LUA_VERSION_NUM) + +LUALIB_API int (luaL_getmetafield) (lua_State *L, int obj, const char *e); +LUALIB_API int (luaL_callmeta) (lua_State *L, int obj, const char *e); +LUALIB_API const char *(luaL_tolstring) (lua_State *L, int idx, size_t *len); +LUALIB_API int (luaL_argerror) (lua_State *L, int numarg, const char *extramsg); +LUALIB_API const char *(luaL_checklstring) (lua_State *L, int numArg, + size_t *l); +LUALIB_API const char *(luaL_optlstring) (lua_State *L, int numArg, + const char *def, size_t *l); +LUALIB_API lua_Number (luaL_checknumber) (lua_State *L, int numArg); +LUALIB_API lua_Number (luaL_optnumber) (lua_State *L, int nArg, lua_Number def); + +LUALIB_API lua_Integer (luaL_checkinteger) (lua_State *L, int numArg); +LUALIB_API lua_Integer (luaL_optinteger) (lua_State *L, int nArg, + lua_Integer def); +LUALIB_API lua_Unsigned (luaL_checkunsigned) (lua_State *L, int numArg); +LUALIB_API lua_Unsigned (luaL_optunsigned) (lua_State *L, int numArg, + lua_Unsigned def); + +LUALIB_API void (luaL_checkstack) (lua_State *L, int sz, const char *msg); +LUALIB_API void (luaL_checktype) (lua_State *L, int narg, int t); +LUALIB_API void (luaL_checkany) (lua_State *L, int narg); + +LUALIB_API int (luaL_newmetatable) (lua_State *L, const char *tname); +LUALIB_API void (luaL_setmetatable) (lua_State *L, const char *tname); +LUALIB_API void *(luaL_testudata) (lua_State *L, int ud, const char *tname); +LUALIB_API void *(luaL_checkudata) (lua_State *L, int ud, const char *tname); + +LUALIB_API void (luaL_where) (lua_State *L, int lvl); +LUALIB_API int (luaL_error) (lua_State *L, const char *fmt, ...); + +LUALIB_API int (luaL_checkoption) (lua_State *L, int narg, const char *def, + const char *const lst[]); + +LUALIB_API int (luaL_fileresult) (lua_State *L, int stat, const char *fname); +LUALIB_API int (luaL_execresult) (lua_State *L, int stat); + +/* pre-defined references */ +#define LUA_NOREF (-2) +#define LUA_REFNIL (-1) + +LUALIB_API int (luaL_ref) (lua_State *L, int t); +LUALIB_API void (luaL_unref) (lua_State *L, int t, int ref); + +LUALIB_API int (luaL_loadfilex) (lua_State *L, const char *filename, + const char *mode); + +#define luaL_loadfile(L,f) luaL_loadfilex(L,f,NULL) + +LUALIB_API int (luaL_loadbufferx) (lua_State *L, const char *buff, size_t sz, + const char *name, const char *mode); +LUALIB_API int (luaL_loadstring) (lua_State *L, const char *s); + +LUALIB_API lua_State *(luaL_newstate) (void); + +LUALIB_API int (luaL_len) (lua_State *L, int idx); + +LUALIB_API const char *(luaL_gsub) (lua_State *L, const char *s, const char *p, + const char *r); + +LUALIB_API void (luaL_setfuncs) (lua_State *L, const luaL_Reg *l, int nup); + +LUALIB_API int (luaL_getsubtable) (lua_State *L, int idx, const char *fname); + +LUALIB_API void (luaL_traceback) (lua_State *L, lua_State *L1, + const char *msg, int level); + +LUALIB_API void (luaL_requiref) (lua_State *L, const char *modname, + lua_CFunction openf, int glb); + +/* +** =============================================================== +** some useful macros +** =============================================================== +*/ + + +#define luaL_newlibtable(L,l) \ + lua_createtable(L, 0, sizeof(l)/sizeof((l)[0]) - 1) + +#define luaL_newlib(L,l) (luaL_newlibtable(L,l), luaL_setfuncs(L,l,0)) + +#define luaL_argcheck(L, cond,numarg,extramsg) \ + ((void)((cond) || luaL_argerror(L, (numarg), (extramsg)))) +#define luaL_checkstring(L,n) (luaL_checklstring(L, (n), NULL)) +#define luaL_optstring(L,n,d) (luaL_optlstring(L, (n), (d), NULL)) +#define luaL_checkint(L,n) ((int)luaL_checkinteger(L, (n))) +#define luaL_optint(L,n,d) ((int)luaL_optinteger(L, (n), (d))) +#define luaL_checklong(L,n) ((long)luaL_checkinteger(L, (n))) +#define luaL_optlong(L,n,d) ((long)luaL_optinteger(L, (n), (d))) + +#define luaL_typename(L,i) lua_typename(L, lua_type(L,(i))) + +#define luaL_dofile(L, fn) \ + (luaL_loadfile(L, fn) || lua_pcall(L, 0, LUA_MULTRET, 0)) + +#define luaL_dostring(L, s) \ + (luaL_loadstring(L, s) || lua_pcall(L, 0, LUA_MULTRET, 0)) + +#define luaL_getmetatable(L,n) (lua_getfield(L, LUA_REGISTRYINDEX, (n))) + +#define luaL_opt(L,f,n,d) (lua_isnoneornil(L,(n)) ? (d) : f(L,(n))) + +#define luaL_loadbuffer(L,s,sz,n) luaL_loadbufferx(L,s,sz,n,NULL) + + +/* +** {====================================================== +** Generic Buffer manipulation +** ======================================================= +*/ + +typedef struct luaL_Buffer { + char *b; /* buffer address */ + size_t size; /* buffer size */ + size_t n; /* number of characters in buffer */ + lua_State *L; + char initb[LUAL_BUFFERSIZE]; /* initial buffer */ +} luaL_Buffer; + + +#define luaL_addchar(B,c) \ + ((void)((B)->n < (B)->size || luaL_prepbuffsize((B), 1)), \ + ((B)->b[(B)->n++] = (c))) + +#define luaL_addsize(B,s) ((B)->n += (s)) + +LUALIB_API void (luaL_buffinit) (lua_State *L, luaL_Buffer *B); +LUALIB_API char *(luaL_prepbuffsize) (luaL_Buffer *B, size_t sz); +LUALIB_API void (luaL_addlstring) (luaL_Buffer *B, const char *s, size_t l); +LUALIB_API void (luaL_addstring) (luaL_Buffer *B, const char *s); +LUALIB_API void (luaL_addvalue) (luaL_Buffer *B); +LUALIB_API void (luaL_pushresult) (luaL_Buffer *B); +LUALIB_API void (luaL_pushresultsize) (luaL_Buffer *B, size_t sz); +LUALIB_API char *(luaL_buffinitsize) (lua_State *L, luaL_Buffer *B, size_t sz); + +#define luaL_prepbuffer(B) luaL_prepbuffsize(B, LUAL_BUFFERSIZE) + +/* }====================================================== */ + + + +/* +** {====================================================== +** File handles for IO library +** ======================================================= +*/ + +/* +** A file handle is a userdata with metatable 'LUA_FILEHANDLE' and +** initial structure 'luaL_Stream' (it may contain other fields +** after that initial structure). +*/ + +#define LUA_FILEHANDLE "FILE*" + + +typedef struct luaL_Stream { + FILE *f; /* stream (NULL for incompletely created streams) */ + lua_CFunction closef; /* to close stream (NULL for closed streams) */ +} luaL_Stream; + +/* }====================================================== */ + + + +/* compatibility with old module system */ +#if defined(LUA_COMPAT_MODULE) + +LUALIB_API void (luaL_pushmodule) (lua_State *L, const char *modname, + int sizehint); +LUALIB_API void (luaL_openlib) (lua_State *L, const char *libname, + const luaL_Reg *l, int nup); + +#define luaL_register(L,n,l) (luaL_openlib(L,(n),(l),0)) + +#endif + + +#endif + + diff --git a/vendor/lua/5.2/include/lua.h b/vendor/lua/5.2/include/lua.h new file mode 100644 index 000000000..ff4a10861 --- /dev/null +++ b/vendor/lua/5.2/include/lua.h @@ -0,0 +1,444 @@ +/* +** $Id: lua.h,v 1.285.1.4 2015/02/21 14:04:50 roberto Exp $ +** Lua - A Scripting Language +** Lua.org, PUC-Rio, Brazil (http://www.lua.org) +** See Copyright Notice at the end of this file +*/ + + +#ifndef lua_h +#define lua_h + +#include +#include + + +#include "luaconf.h" + + +#define LUA_VERSION_MAJOR "5" +#define LUA_VERSION_MINOR "2" +#define LUA_VERSION_NUM 502 +#define LUA_VERSION_RELEASE "4" + +#define LUA_VERSION "Lua " LUA_VERSION_MAJOR "." LUA_VERSION_MINOR +#define LUA_RELEASE LUA_VERSION "." LUA_VERSION_RELEASE +#define LUA_COPYRIGHT LUA_RELEASE " Copyright (C) 1994-2015 Lua.org, PUC-Rio" +#define LUA_AUTHORS "R. Ierusalimschy, L. H. de Figueiredo, W. Celes" + + +/* mark for precompiled code ('Lua') */ +#define LUA_SIGNATURE "\033Lua" + +/* option for multiple returns in 'lua_pcall' and 'lua_call' */ +#define LUA_MULTRET (-1) + + +/* +** pseudo-indices +*/ +#define LUA_REGISTRYINDEX LUAI_FIRSTPSEUDOIDX +#define lua_upvalueindex(i) (LUA_REGISTRYINDEX - (i)) + + +/* thread status */ +#define LUA_OK 0 +#define LUA_YIELD 1 +#define LUA_ERRRUN 2 +#define LUA_ERRSYNTAX 3 +#define LUA_ERRMEM 4 +#define LUA_ERRGCMM 5 +#define LUA_ERRERR 6 + + +typedef struct lua_State lua_State; + +typedef int (*lua_CFunction) (lua_State *L); + + +/* +** functions that read/write blocks when loading/dumping Lua chunks +*/ +typedef const char * (*lua_Reader) (lua_State *L, void *ud, size_t *sz); + +typedef int (*lua_Writer) (lua_State *L, const void* p, size_t sz, void* ud); + + +/* +** prototype for memory-allocation functions +*/ +typedef void * (*lua_Alloc) (void *ud, void *ptr, size_t osize, size_t nsize); + + +/* +** basic types +*/ +#define LUA_TNONE (-1) + +#define LUA_TNIL 0 +#define LUA_TBOOLEAN 1 +#define LUA_TLIGHTUSERDATA 2 +#define LUA_TNUMBER 3 +#define LUA_TSTRING 4 +#define LUA_TTABLE 5 +#define LUA_TFUNCTION 6 +#define LUA_TUSERDATA 7 +#define LUA_TTHREAD 8 + +#define LUA_NUMTAGS 9 + + + +/* minimum Lua stack available to a C function */ +#define LUA_MINSTACK 20 + + +/* predefined values in the registry */ +#define LUA_RIDX_MAINTHREAD 1 +#define LUA_RIDX_GLOBALS 2 +#define LUA_RIDX_LAST LUA_RIDX_GLOBALS + + +/* type of numbers in Lua */ +typedef LUA_NUMBER lua_Number; + + +/* type for integer functions */ +typedef LUA_INTEGER lua_Integer; + +/* unsigned integer type */ +typedef LUA_UNSIGNED lua_Unsigned; + + + +/* +** generic extra include file +*/ +#if defined(LUA_USER_H) +#include LUA_USER_H +#endif + + +/* +** RCS ident string +*/ +extern const char lua_ident[]; + + +/* +** state manipulation +*/ +LUA_API lua_State *(lua_newstate) (lua_Alloc f, void *ud); +LUA_API void (lua_close) (lua_State *L); +LUA_API lua_State *(lua_newthread) (lua_State *L); + +LUA_API lua_CFunction (lua_atpanic) (lua_State *L, lua_CFunction panicf); + + +LUA_API const lua_Number *(lua_version) (lua_State *L); + + +/* +** basic stack manipulation +*/ +LUA_API int (lua_absindex) (lua_State *L, int idx); +LUA_API int (lua_gettop) (lua_State *L); +LUA_API void (lua_settop) (lua_State *L, int idx); +LUA_API void (lua_pushvalue) (lua_State *L, int idx); +LUA_API void (lua_remove) (lua_State *L, int idx); +LUA_API void (lua_insert) (lua_State *L, int idx); +LUA_API void (lua_replace) (lua_State *L, int idx); +LUA_API void (lua_copy) (lua_State *L, int fromidx, int toidx); +LUA_API int (lua_checkstack) (lua_State *L, int sz); + +LUA_API void (lua_xmove) (lua_State *from, lua_State *to, int n); + + +/* +** access functions (stack -> C) +*/ + +LUA_API int (lua_isnumber) (lua_State *L, int idx); +LUA_API int (lua_isstring) (lua_State *L, int idx); +LUA_API int (lua_iscfunction) (lua_State *L, int idx); +LUA_API int (lua_isuserdata) (lua_State *L, int idx); +LUA_API int (lua_type) (lua_State *L, int idx); +LUA_API const char *(lua_typename) (lua_State *L, int tp); + +LUA_API lua_Number (lua_tonumberx) (lua_State *L, int idx, int *isnum); +LUA_API lua_Integer (lua_tointegerx) (lua_State *L, int idx, int *isnum); +LUA_API lua_Unsigned (lua_tounsignedx) (lua_State *L, int idx, int *isnum); +LUA_API int (lua_toboolean) (lua_State *L, int idx); +LUA_API const char *(lua_tolstring) (lua_State *L, int idx, size_t *len); +LUA_API size_t (lua_rawlen) (lua_State *L, int idx); +LUA_API lua_CFunction (lua_tocfunction) (lua_State *L, int idx); +LUA_API void *(lua_touserdata) (lua_State *L, int idx); +LUA_API lua_State *(lua_tothread) (lua_State *L, int idx); +LUA_API const void *(lua_topointer) (lua_State *L, int idx); + + +/* +** Comparison and arithmetic functions +*/ + +#define LUA_OPADD 0 /* ORDER TM */ +#define LUA_OPSUB 1 +#define LUA_OPMUL 2 +#define LUA_OPDIV 3 +#define LUA_OPMOD 4 +#define LUA_OPPOW 5 +#define LUA_OPUNM 6 + +LUA_API void (lua_arith) (lua_State *L, int op); + +#define LUA_OPEQ 0 +#define LUA_OPLT 1 +#define LUA_OPLE 2 + +LUA_API int (lua_rawequal) (lua_State *L, int idx1, int idx2); +LUA_API int (lua_compare) (lua_State *L, int idx1, int idx2, int op); + + +/* +** push functions (C -> stack) +*/ +LUA_API void (lua_pushnil) (lua_State *L); +LUA_API void (lua_pushnumber) (lua_State *L, lua_Number n); +LUA_API void (lua_pushinteger) (lua_State *L, lua_Integer n); +LUA_API void (lua_pushunsigned) (lua_State *L, lua_Unsigned n); +LUA_API const char *(lua_pushlstring) (lua_State *L, const char *s, size_t l); +LUA_API const char *(lua_pushstring) (lua_State *L, const char *s); +LUA_API const char *(lua_pushvfstring) (lua_State *L, const char *fmt, + va_list argp); +LUA_API const char *(lua_pushfstring) (lua_State *L, const char *fmt, ...); +LUA_API void (lua_pushcclosure) (lua_State *L, lua_CFunction fn, int n); +LUA_API void (lua_pushboolean) (lua_State *L, int b); +LUA_API void (lua_pushlightuserdata) (lua_State *L, void *p); +LUA_API int (lua_pushthread) (lua_State *L); + + +/* +** get functions (Lua -> stack) +*/ +LUA_API void (lua_getglobal) (lua_State *L, const char *var); +LUA_API void (lua_gettable) (lua_State *L, int idx); +LUA_API void (lua_getfield) (lua_State *L, int idx, const char *k); +LUA_API void (lua_rawget) (lua_State *L, int idx); +LUA_API void (lua_rawgeti) (lua_State *L, int idx, int n); +LUA_API void (lua_rawgetp) (lua_State *L, int idx, const void *p); +LUA_API void (lua_createtable) (lua_State *L, int narr, int nrec); +LUA_API void *(lua_newuserdata) (lua_State *L, size_t sz); +LUA_API int (lua_getmetatable) (lua_State *L, int objindex); +LUA_API void (lua_getuservalue) (lua_State *L, int idx); + + +/* +** set functions (stack -> Lua) +*/ +LUA_API void (lua_setglobal) (lua_State *L, const char *var); +LUA_API void (lua_settable) (lua_State *L, int idx); +LUA_API void (lua_setfield) (lua_State *L, int idx, const char *k); +LUA_API void (lua_rawset) (lua_State *L, int idx); +LUA_API void (lua_rawseti) (lua_State *L, int idx, int n); +LUA_API void (lua_rawsetp) (lua_State *L, int idx, const void *p); +LUA_API int (lua_setmetatable) (lua_State *L, int objindex); +LUA_API void (lua_setuservalue) (lua_State *L, int idx); + + +/* +** 'load' and 'call' functions (load and run Lua code) +*/ +LUA_API void (lua_callk) (lua_State *L, int nargs, int nresults, int ctx, + lua_CFunction k); +#define lua_call(L,n,r) lua_callk(L, (n), (r), 0, NULL) + +LUA_API int (lua_getctx) (lua_State *L, int *ctx); + +LUA_API int (lua_pcallk) (lua_State *L, int nargs, int nresults, int errfunc, + int ctx, lua_CFunction k); +#define lua_pcall(L,n,r,f) lua_pcallk(L, (n), (r), (f), 0, NULL) + +LUA_API int (lua_load) (lua_State *L, lua_Reader reader, void *dt, + const char *chunkname, + const char *mode); + +LUA_API int (lua_dump) (lua_State *L, lua_Writer writer, void *data); + + +/* +** coroutine functions +*/ +LUA_API int (lua_yieldk) (lua_State *L, int nresults, int ctx, + lua_CFunction k); +#define lua_yield(L,n) lua_yieldk(L, (n), 0, NULL) +LUA_API int (lua_resume) (lua_State *L, lua_State *from, int narg); +LUA_API int (lua_status) (lua_State *L); + +/* +** garbage-collection function and options +*/ + +#define LUA_GCSTOP 0 +#define LUA_GCRESTART 1 +#define LUA_GCCOLLECT 2 +#define LUA_GCCOUNT 3 +#define LUA_GCCOUNTB 4 +#define LUA_GCSTEP 5 +#define LUA_GCSETPAUSE 6 +#define LUA_GCSETSTEPMUL 7 +#define LUA_GCSETMAJORINC 8 +#define LUA_GCISRUNNING 9 +#define LUA_GCGEN 10 +#define LUA_GCINC 11 + +LUA_API int (lua_gc) (lua_State *L, int what, int data); + + +/* +** miscellaneous functions +*/ + +LUA_API int (lua_error) (lua_State *L); + +LUA_API int (lua_next) (lua_State *L, int idx); + +LUA_API void (lua_concat) (lua_State *L, int n); +LUA_API void (lua_len) (lua_State *L, int idx); + +LUA_API lua_Alloc (lua_getallocf) (lua_State *L, void **ud); +LUA_API void (lua_setallocf) (lua_State *L, lua_Alloc f, void *ud); + + + +/* +** =============================================================== +** some useful macros +** =============================================================== +*/ + +#define lua_tonumber(L,i) lua_tonumberx(L,i,NULL) +#define lua_tointeger(L,i) lua_tointegerx(L,i,NULL) +#define lua_tounsigned(L,i) lua_tounsignedx(L,i,NULL) + +#define lua_pop(L,n) lua_settop(L, -(n)-1) + +#define lua_newtable(L) lua_createtable(L, 0, 0) + +#define lua_register(L,n,f) (lua_pushcfunction(L, (f)), lua_setglobal(L, (n))) + +#define lua_pushcfunction(L,f) lua_pushcclosure(L, (f), 0) + +#define lua_isfunction(L,n) (lua_type(L, (n)) == LUA_TFUNCTION) +#define lua_istable(L,n) (lua_type(L, (n)) == LUA_TTABLE) +#define lua_islightuserdata(L,n) (lua_type(L, (n)) == LUA_TLIGHTUSERDATA) +#define lua_isnil(L,n) (lua_type(L, (n)) == LUA_TNIL) +#define lua_isboolean(L,n) (lua_type(L, (n)) == LUA_TBOOLEAN) +#define lua_isthread(L,n) (lua_type(L, (n)) == LUA_TTHREAD) +#define lua_isnone(L,n) (lua_type(L, (n)) == LUA_TNONE) +#define lua_isnoneornil(L, n) (lua_type(L, (n)) <= 0) + +#define lua_pushliteral(L, s) \ + lua_pushlstring(L, "" s, (sizeof(s)/sizeof(char))-1) + +#define lua_pushglobaltable(L) \ + lua_rawgeti(L, LUA_REGISTRYINDEX, LUA_RIDX_GLOBALS) + +#define lua_tostring(L,i) lua_tolstring(L, (i), NULL) + + + +/* +** {====================================================================== +** Debug API +** ======================================================================= +*/ + + +/* +** Event codes +*/ +#define LUA_HOOKCALL 0 +#define LUA_HOOKRET 1 +#define LUA_HOOKLINE 2 +#define LUA_HOOKCOUNT 3 +#define LUA_HOOKTAILCALL 4 + + +/* +** Event masks +*/ +#define LUA_MASKCALL (1 << LUA_HOOKCALL) +#define LUA_MASKRET (1 << LUA_HOOKRET) +#define LUA_MASKLINE (1 << LUA_HOOKLINE) +#define LUA_MASKCOUNT (1 << LUA_HOOKCOUNT) + +typedef struct lua_Debug lua_Debug; /* activation record */ + + +/* Functions to be called by the debugger in specific events */ +typedef void (*lua_Hook) (lua_State *L, lua_Debug *ar); + + +LUA_API int (lua_getstack) (lua_State *L, int level, lua_Debug *ar); +LUA_API int (lua_getinfo) (lua_State *L, const char *what, lua_Debug *ar); +LUA_API const char *(lua_getlocal) (lua_State *L, const lua_Debug *ar, int n); +LUA_API const char *(lua_setlocal) (lua_State *L, const lua_Debug *ar, int n); +LUA_API const char *(lua_getupvalue) (lua_State *L, int funcindex, int n); +LUA_API const char *(lua_setupvalue) (lua_State *L, int funcindex, int n); + +LUA_API void *(lua_upvalueid) (lua_State *L, int fidx, int n); +LUA_API void (lua_upvaluejoin) (lua_State *L, int fidx1, int n1, + int fidx2, int n2); + +LUA_API int (lua_sethook) (lua_State *L, lua_Hook func, int mask, int count); +LUA_API lua_Hook (lua_gethook) (lua_State *L); +LUA_API int (lua_gethookmask) (lua_State *L); +LUA_API int (lua_gethookcount) (lua_State *L); + + +struct lua_Debug { + int event; + const char *name; /* (n) */ + const char *namewhat; /* (n) 'global', 'local', 'field', 'method' */ + const char *what; /* (S) 'Lua', 'C', 'main', 'tail' */ + const char *source; /* (S) */ + int currentline; /* (l) */ + int linedefined; /* (S) */ + int lastlinedefined; /* (S) */ + unsigned char nups; /* (u) number of upvalues */ + unsigned char nparams;/* (u) number of parameters */ + char isvararg; /* (u) */ + char istailcall; /* (t) */ + char short_src[LUA_IDSIZE]; /* (S) */ + /* private part */ + struct CallInfo *i_ci; /* active function */ +}; + +/* }====================================================================== */ + + +/****************************************************************************** +* Copyright (C) 1994-2015 Lua.org, PUC-Rio. +* +* Permission is hereby granted, free of charge, to any person obtaining +* a copy of this software and associated documentation files (the +* "Software"), to deal in the Software without restriction, including +* without limitation the rights to use, copy, modify, merge, publish, +* distribute, sublicense, and/or sell copies of the Software, and to +* permit persons to whom the Software is furnished to do so, subject to +* the following conditions: +* +* The above copyright notice and this permission notice shall be +* included in all copies or substantial portions of the Software. +* +* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +******************************************************************************/ + + +#endif diff --git a/vendor/lua/5.2/include/lua.hpp b/vendor/lua/5.2/include/lua.hpp new file mode 100644 index 000000000..ec417f594 --- /dev/null +++ b/vendor/lua/5.2/include/lua.hpp @@ -0,0 +1,9 @@ +// lua.hpp +// Lua header files for C++ +// <> not supplied automatically because Lua also compiles as C++ + +extern "C" { +#include "lua.h" +#include "lualib.h" +#include "lauxlib.h" +} diff --git a/vendor/lua/5.2/include/luaconf.h b/vendor/lua/5.2/include/luaconf.h new file mode 100644 index 000000000..03db8542d --- /dev/null +++ b/vendor/lua/5.2/include/luaconf.h @@ -0,0 +1,553 @@ +/* +** $Id: luaconf.h,v 1.176.1.2 2013/11/21 17:26:16 roberto Exp $ +** Configuration file for Lua +** See Copyright Notice in lua.h +*/ + + +#ifndef lconfig_h +#define lconfig_h + +#include +#include + + +/* +** ================================================================== +** Search for "@@" to find all configurable definitions. +** =================================================================== +*/ + + +/* +@@ LUA_ANSI controls the use of non-ansi features. +** CHANGE it (define it) if you want Lua to avoid the use of any +** non-ansi feature or library. +*/ +#if !defined(LUA_ANSI) && defined(__STRICT_ANSI__) +#define LUA_ANSI +#endif + + +#if !defined(LUA_ANSI) && defined(_WIN32) && !defined(_WIN32_WCE) +#define LUA_WIN /* enable goodies for regular Windows platforms */ +#endif + +#if defined(LUA_WIN) +#define LUA_DL_DLL +#define LUA_USE_AFORMAT /* assume 'printf' handles 'aA' specifiers */ +#endif + + + +#if defined(LUA_USE_LINUX) +#define LUA_USE_POSIX +#define LUA_USE_DLOPEN /* needs an extra library: -ldl */ +#define LUA_USE_READLINE /* needs some extra libraries */ +#define LUA_USE_STRTODHEX /* assume 'strtod' handles hex formats */ +#define LUA_USE_AFORMAT /* assume 'printf' handles 'aA' specifiers */ +#define LUA_USE_LONGLONG /* assume support for long long */ +#endif + +#if defined(LUA_USE_MACOSX) +#define LUA_USE_POSIX +#define LUA_USE_DLOPEN /* does not need -ldl */ +#define LUA_USE_READLINE /* needs an extra library: -lreadline */ +#define LUA_USE_STRTODHEX /* assume 'strtod' handles hex formats */ +#define LUA_USE_AFORMAT /* assume 'printf' handles 'aA' specifiers */ +#define LUA_USE_LONGLONG /* assume support for long long */ +#endif + + + +/* +@@ LUA_USE_POSIX includes all functionality listed as X/Open System +@* Interfaces Extension (XSI). +** CHANGE it (define it) if your system is XSI compatible. +*/ +#if defined(LUA_USE_POSIX) +#define LUA_USE_MKSTEMP +#define LUA_USE_ISATTY +#define LUA_USE_POPEN +#define LUA_USE_ULONGJMP +#define LUA_USE_GMTIME_R +#endif + + + +/* +@@ LUA_PATH_DEFAULT is the default path that Lua uses to look for +@* Lua libraries. +@@ LUA_CPATH_DEFAULT is the default path that Lua uses to look for +@* C libraries. +** CHANGE them if your machine has a non-conventional directory +** hierarchy or if you want to install your libraries in +** non-conventional directories. +*/ +#if defined(_WIN32) /* { */ +/* +** In Windows, any exclamation mark ('!') in the path is replaced by the +** path of the directory of the executable file of the current process. +*/ +#define LUA_LDIR "!\\lua\\" +#define LUA_CDIR "!\\" +#define LUA_PATH_DEFAULT \ + LUA_LDIR"?.lua;" LUA_LDIR"?\\init.lua;" \ + LUA_CDIR"?.lua;" LUA_CDIR"?\\init.lua;" ".\\?.lua" +#define LUA_CPATH_DEFAULT \ + LUA_CDIR"?.dll;" LUA_CDIR"loadall.dll;" ".\\?.dll;" \ + LUA_CDIR"?52.dll;" ".\\?52.dll" + +#else /* }{ */ + +#define LUA_VDIR LUA_VERSION_MAJOR "." LUA_VERSION_MINOR "/" +#define LUA_ROOT "/usr/local/" +#define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR +#define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR +#define LUA_PATH_DEFAULT \ + LUA_LDIR"?.lua;" LUA_LDIR"?/init.lua;" \ + LUA_CDIR"?.lua;" LUA_CDIR"?/init.lua;" "./?.lua" +#define LUA_CPATH_DEFAULT \ + LUA_CDIR"?.so;" LUA_CDIR"loadall.so;" "./?.so;" \ + LUA_CDIR"lib?52.so;" "./lib?52.so" +#endif /* } */ + + +/* +@@ LUA_DIRSEP is the directory separator (for submodules). +** CHANGE it if your machine does not use "/" as the directory separator +** and is not Windows. (On Windows Lua automatically uses "\".) +*/ +#if defined(_WIN32) +#define LUA_DIRSEP "\\" +#else +#define LUA_DIRSEP "/" +#endif + + +/* +@@ LUA_ENV is the name of the variable that holds the current +@@ environment, used to access global names. +** CHANGE it if you do not like this name. +*/ +#define LUA_ENV "_ENV" + + +/* +@@ LUA_API is a mark for all core API functions. +@@ LUALIB_API is a mark for all auxiliary library functions. +@@ LUAMOD_API is a mark for all standard library opening functions. +** CHANGE them if you need to define those functions in some special way. +** For instance, if you want to create one Windows DLL with the core and +** the libraries, you may want to use the following definition (define +** LUA_BUILD_AS_DLL to get it). +*/ +#if defined(LUA_BUILD_AS_DLL) /* { */ + +#if defined(LUA_CORE) || defined(LUA_LIB) /* { */ +#define LUA_API __declspec(dllexport) +#else /* }{ */ +#define LUA_API __declspec(dllimport) +#endif /* } */ + +#else /* }{ */ + +#define LUA_API extern + +#endif /* } */ + + +/* more often than not the libs go together with the core */ +#define LUALIB_API LUA_API +#define LUAMOD_API LUALIB_API + + +/* +@@ LUAI_FUNC is a mark for all extern functions that are not to be +@* exported to outside modules. +@@ LUAI_DDEF and LUAI_DDEC are marks for all extern (const) variables +@* that are not to be exported to outside modules (LUAI_DDEF for +@* definitions and LUAI_DDEC for declarations). +** CHANGE them if you need to mark them in some special way. Elf/gcc +** (versions 3.2 and later) mark them as "hidden" to optimize access +** when Lua is compiled as a shared library. Not all elf targets support +** this attribute. Unfortunately, gcc does not offer a way to check +** whether the target offers that support, and those without support +** give a warning about it. To avoid these warnings, change to the +** default definition. +*/ +#if defined(__GNUC__) && ((__GNUC__*100 + __GNUC_MINOR__) >= 302) && \ + defined(__ELF__) /* { */ +#define LUAI_FUNC __attribute__((visibility("hidden"))) extern +#define LUAI_DDEC LUAI_FUNC +#define LUAI_DDEF /* empty */ + +#else /* }{ */ +#define LUAI_FUNC extern +#define LUAI_DDEC extern +#define LUAI_DDEF /* empty */ +#endif /* } */ + + + +/* +@@ LUA_QL describes how error messages quote program elements. +** CHANGE it if you want a different appearance. +*/ +#define LUA_QL(x) "'" x "'" +#define LUA_QS LUA_QL("%s") + + +/* +@@ LUA_IDSIZE gives the maximum size for the description of the source +@* of a function in debug information. +** CHANGE it if you want a different size. +*/ +#define LUA_IDSIZE 60 + + +/* +@@ luai_writestring/luai_writeline define how 'print' prints its results. +** They are only used in libraries and the stand-alone program. (The #if +** avoids including 'stdio.h' everywhere.) +*/ +#if defined(LUA_LIB) || defined(lua_c) +#include +#define luai_writestring(s,l) fwrite((s), sizeof(char), (l), stdout) +#define luai_writeline() (luai_writestring("\n", 1), fflush(stdout)) +#endif + +/* +@@ luai_writestringerror defines how to print error messages. +** (A format string with one argument is enough for Lua...) +*/ +#define luai_writestringerror(s,p) \ + (fprintf(stderr, (s), (p)), fflush(stderr)) + + +/* +@@ LUAI_MAXSHORTLEN is the maximum length for short strings, that is, +** strings that are internalized. (Cannot be smaller than reserved words +** or tags for metamethods, as these strings must be internalized; +** #("function") = 8, #("__newindex") = 10.) +*/ +#define LUAI_MAXSHORTLEN 40 + + + +/* +** {================================================================== +** Compatibility with previous versions +** =================================================================== +*/ + +/* +@@ LUA_COMPAT_ALL controls all compatibility options. +** You can define it to get all options, or change specific options +** to fit your specific needs. +*/ +#if defined(LUA_COMPAT_ALL) /* { */ + +/* +@@ LUA_COMPAT_UNPACK controls the presence of global 'unpack'. +** You can replace it with 'table.unpack'. +*/ +#define LUA_COMPAT_UNPACK + +/* +@@ LUA_COMPAT_LOADERS controls the presence of table 'package.loaders'. +** You can replace it with 'package.searchers'. +*/ +#define LUA_COMPAT_LOADERS + +/* +@@ macro 'lua_cpcall' emulates deprecated function lua_cpcall. +** You can call your C function directly (with light C functions). +*/ +#define lua_cpcall(L,f,u) \ + (lua_pushcfunction(L, (f)), \ + lua_pushlightuserdata(L,(u)), \ + lua_pcall(L,1,0,0)) + + +/* +@@ LUA_COMPAT_LOG10 defines the function 'log10' in the math library. +** You can rewrite 'log10(x)' as 'log(x, 10)'. +*/ +#define LUA_COMPAT_LOG10 + +/* +@@ LUA_COMPAT_LOADSTRING defines the function 'loadstring' in the base +** library. You can rewrite 'loadstring(s)' as 'load(s)'. +*/ +#define LUA_COMPAT_LOADSTRING + +/* +@@ LUA_COMPAT_MAXN defines the function 'maxn' in the table library. +*/ +#define LUA_COMPAT_MAXN + +/* +@@ The following macros supply trivial compatibility for some +** changes in the API. The macros themselves document how to +** change your code to avoid using them. +*/ +#define lua_strlen(L,i) lua_rawlen(L, (i)) + +#define lua_objlen(L,i) lua_rawlen(L, (i)) + +#define lua_equal(L,idx1,idx2) lua_compare(L,(idx1),(idx2),LUA_OPEQ) +#define lua_lessthan(L,idx1,idx2) lua_compare(L,(idx1),(idx2),LUA_OPLT) + +/* +@@ LUA_COMPAT_MODULE controls compatibility with previous +** module functions 'module' (Lua) and 'luaL_register' (C). +*/ +#define LUA_COMPAT_MODULE + +#endif /* } */ + +/* }================================================================== */ + + + +/* +@@ LUAI_BITSINT defines the number of bits in an int. +** CHANGE here if Lua cannot automatically detect the number of bits of +** your machine. Probably you do not need to change this. +*/ +/* avoid overflows in comparison */ +#if INT_MAX-20 < 32760 /* { */ +#define LUAI_BITSINT 16 +#elif INT_MAX > 2147483640L /* }{ */ +/* int has at least 32 bits */ +#define LUAI_BITSINT 32 +#else /* }{ */ +#error "you must define LUA_BITSINT with number of bits in an integer" +#endif /* } */ + + +/* +@@ LUA_INT32 is a signed integer with exactly 32 bits. +@@ LUAI_UMEM is an unsigned integer big enough to count the total +@* memory used by Lua. +@@ LUAI_MEM is a signed integer big enough to count the total memory +@* used by Lua. +** CHANGE here if for some weird reason the default definitions are not +** good enough for your machine. Probably you do not need to change +** this. +*/ +#if LUAI_BITSINT >= 32 /* { */ +#define LUA_INT32 int +#define LUAI_UMEM size_t +#define LUAI_MEM ptrdiff_t +#else /* }{ */ +/* 16-bit ints */ +#define LUA_INT32 long +#define LUAI_UMEM unsigned long +#define LUAI_MEM long +#endif /* } */ + + +/* +@@ LUAI_MAXSTACK limits the size of the Lua stack. +** CHANGE it if you need a different limit. This limit is arbitrary; +** its only purpose is to stop Lua from consuming unlimited stack +** space (and to reserve some numbers for pseudo-indices). +*/ +#if LUAI_BITSINT >= 32 +#define LUAI_MAXSTACK 1000000 +#else +#define LUAI_MAXSTACK 15000 +#endif + +/* reserve some space for error handling */ +#define LUAI_FIRSTPSEUDOIDX (-LUAI_MAXSTACK - 1000) + + + + +/* +@@ LUAL_BUFFERSIZE is the buffer size used by the lauxlib buffer system. +** CHANGE it if it uses too much C-stack space. +*/ +#define LUAL_BUFFERSIZE BUFSIZ + + + + +/* +** {================================================================== +@@ LUA_NUMBER is the type of numbers in Lua. +** CHANGE the following definitions only if you want to build Lua +** with a number type different from double. You may also need to +** change lua_number2int & lua_number2integer. +** =================================================================== +*/ + +#define LUA_NUMBER_DOUBLE +#define LUA_NUMBER double + +/* +@@ LUAI_UACNUMBER is the result of an 'usual argument conversion' +@* over a number. +*/ +#define LUAI_UACNUMBER double + + +/* +@@ LUA_NUMBER_SCAN is the format for reading numbers. +@@ LUA_NUMBER_FMT is the format for writing numbers. +@@ lua_number2str converts a number to a string. +@@ LUAI_MAXNUMBER2STR is maximum size of previous conversion. +*/ +#define LUA_NUMBER_SCAN "%lf" +#define LUA_NUMBER_FMT "%.14g" +#define lua_number2str(s,n) sprintf((s), LUA_NUMBER_FMT, (n)) +#define LUAI_MAXNUMBER2STR 32 /* 16 digits, sign, point, and \0 */ + + +/* +@@ l_mathop allows the addition of an 'l' or 'f' to all math operations +*/ +#define l_mathop(x) (x) + + +/* +@@ lua_str2number converts a decimal numeric string to a number. +@@ lua_strx2number converts an hexadecimal numeric string to a number. +** In C99, 'strtod' does both conversions. C89, however, has no function +** to convert floating hexadecimal strings to numbers. For these +** systems, you can leave 'lua_strx2number' undefined and Lua will +** provide its own implementation. +*/ +#define lua_str2number(s,p) strtod((s), (p)) + +#if defined(LUA_USE_STRTODHEX) +#define lua_strx2number(s,p) strtod((s), (p)) +#endif + + +/* +@@ The luai_num* macros define the primitive operations over numbers. +*/ + +/* the following operations need the math library */ +#if defined(lobject_c) || defined(lvm_c) +#include +#define luai_nummod(L,a,b) ((a) - l_mathop(floor)((a)/(b))*(b)) +#define luai_numpow(L,a,b) (l_mathop(pow)(a,b)) +#endif + +/* these are quite standard operations */ +#if defined(LUA_CORE) +#define luai_numadd(L,a,b) ((a)+(b)) +#define luai_numsub(L,a,b) ((a)-(b)) +#define luai_nummul(L,a,b) ((a)*(b)) +#define luai_numdiv(L,a,b) ((a)/(b)) +#define luai_numunm(L,a) (-(a)) +#define luai_numeq(a,b) ((a)==(b)) +#define luai_numlt(L,a,b) ((a)<(b)) +#define luai_numle(L,a,b) ((a)<=(b)) +#define luai_numisnan(L,a) (!luai_numeq((a), (a))) +#endif + + + +/* +@@ LUA_INTEGER is the integral type used by lua_pushinteger/lua_tointeger. +** CHANGE that if ptrdiff_t is not adequate on your machine. (On most +** machines, ptrdiff_t gives a good choice between int or long.) +*/ +#define LUA_INTEGER ptrdiff_t + +/* +@@ LUA_UNSIGNED is the integral type used by lua_pushunsigned/lua_tounsigned. +** It must have at least 32 bits. +*/ +#define LUA_UNSIGNED unsigned LUA_INT32 + + + +/* +** Some tricks with doubles +*/ + +#if defined(LUA_NUMBER_DOUBLE) && !defined(LUA_ANSI) /* { */ +/* +** The next definitions activate some tricks to speed up the +** conversion from doubles to integer types, mainly to LUA_UNSIGNED. +** +@@ LUA_MSASMTRICK uses Microsoft assembler to avoid clashes with a +** DirectX idiosyncrasy. +** +@@ LUA_IEEE754TRICK uses a trick that should work on any machine +** using IEEE754 with a 32-bit integer type. +** +@@ LUA_IEEELL extends the trick to LUA_INTEGER; should only be +** defined when LUA_INTEGER is a 32-bit integer. +** +@@ LUA_IEEEENDIAN is the endianness of doubles in your machine +** (0 for little endian, 1 for big endian); if not defined, Lua will +** check it dynamically for LUA_IEEE754TRICK (but not for LUA_NANTRICK). +** +@@ LUA_NANTRICK controls the use of a trick to pack all types into +** a single double value, using NaN values to represent non-number +** values. The trick only works on 32-bit machines (ints and pointers +** are 32-bit values) with numbers represented as IEEE 754-2008 doubles +** with conventional endianess (12345678 or 87654321), in CPUs that do +** not produce signaling NaN values (all NaNs are quiet). +*/ + +/* Microsoft compiler on a Pentium (32 bit) ? */ +#if defined(LUA_WIN) && defined(_MSC_VER) && defined(_M_IX86) /* { */ + +#define LUA_MSASMTRICK +#define LUA_IEEEENDIAN 0 +#define LUA_NANTRICK + + +/* pentium 32 bits? */ +#elif defined(__i386__) || defined(__i386) || defined(__X86__) /* }{ */ + +#define LUA_IEEE754TRICK +#define LUA_IEEELL +#define LUA_IEEEENDIAN 0 +#define LUA_NANTRICK + +/* pentium 64 bits? */ +#elif defined(__x86_64) /* }{ */ + +#define LUA_IEEE754TRICK +#define LUA_IEEEENDIAN 0 + +#elif defined(__POWERPC__) || defined(__ppc__) /* }{ */ + +#define LUA_IEEE754TRICK +#define LUA_IEEEENDIAN 1 + +#else /* }{ */ + +/* assume IEEE754 and a 32-bit integer type */ +#define LUA_IEEE754TRICK + +#endif /* } */ + +#endif /* } */ + +/* }================================================================== */ + + + + +/* =================================================================== */ + +/* +** Local configuration. You can use this space to add your redefinitions +** without modifying the main part of the file. +*/ + + + +#endif + diff --git a/vendor/lua/5.2/include/lualib.h b/vendor/lua/5.2/include/lualib.h new file mode 100644 index 000000000..da82005c9 --- /dev/null +++ b/vendor/lua/5.2/include/lualib.h @@ -0,0 +1,55 @@ +/* +** $Id: lualib.h,v 1.43.1.1 2013/04/12 18:48:47 roberto Exp $ +** Lua standard libraries +** See Copyright Notice in lua.h +*/ + + +#ifndef lualib_h +#define lualib_h + +#include "lua.h" + + + +LUAMOD_API int (luaopen_base) (lua_State *L); + +#define LUA_COLIBNAME "coroutine" +LUAMOD_API int (luaopen_coroutine) (lua_State *L); + +#define LUA_TABLIBNAME "table" +LUAMOD_API int (luaopen_table) (lua_State *L); + +#define LUA_IOLIBNAME "io" +LUAMOD_API int (luaopen_io) (lua_State *L); + +#define LUA_OSLIBNAME "os" +LUAMOD_API int (luaopen_os) (lua_State *L); + +#define LUA_STRLIBNAME "string" +LUAMOD_API int (luaopen_string) (lua_State *L); + +#define LUA_BITLIBNAME "bit32" +LUAMOD_API int (luaopen_bit32) (lua_State *L); + +#define LUA_MATHLIBNAME "math" +LUAMOD_API int (luaopen_math) (lua_State *L); + +#define LUA_DBLIBNAME "debug" +LUAMOD_API int (luaopen_debug) (lua_State *L); + +#define LUA_LOADLIBNAME "package" +LUAMOD_API int (luaopen_package) (lua_State *L); + + +/* open all previous libraries */ +LUALIB_API void (luaL_openlibs) (lua_State *L); + + + +#if !defined(lua_assert) +#define lua_assert(x) ((void)0) +#endif + + +#endif diff --git a/vendor/lua/5.2/linux/liblua52.a b/vendor/lua/5.2/linux/liblua52.a new file mode 100644 index 0000000000000000000000000000000000000000..828b775c8511e9ac3584408901a4a029d68e81f6 GIT binary patch literal 396236 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 Xh4q&p=fgqDTabEK_@l2ogtglMI)UL~ literal 0 HcmV?d00001 diff --git a/vendor/lua/5.2/linux/liblua52.so b/vendor/lua/5.2/linux/liblua52.so new file mode 100644 index 0000000000000000000000000000000000000000..e2c4741927e36f6fd550eef7d53dfde2554fdf16 GIT binary patch literal 235709 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 z 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') */ +SIGNATURE :: "\x1bLua" + +/* option for multiple returns in 'lua_pcall' and 'lua_call' */ +MULTRET :: -1 + +FIRSTPSEUDOIDX :: -MAXSTACK - 1000 + +REGISTRYINDEX :: -FIRSTPSEUDOIDX + + +/* +@@ LUAI_MAXSTACK limits the size of the Lua stack. +** CHANGE it if you need a different limit. This limit is arbitrary; +** its only purpose is to stop Lua from consuming unlimited stack +** space (and to reserve some numbers for pseudo-indices). +** (It must fit into max(size_t)/32.) +*/ +MAXSTACK :: 1000000 when size_of(rawptr) == 4 else 15000 + + +/* +@@ LUA_EXTRASPACE defines the size of a raw memory area associated with +** a Lua state with very fast access. +** CHANGE it if you need a different size. +*/ +EXTRASPACE :: size_of(rawptr) + + + +/* +@@ LUA_IDSIZE gives the maximum size for the description of the source +@@ of a function in debug information. +** CHANGE it if you want a different size. +*/ +IDSIZE :: 60 + + +/* +@@ LUAL_BUFFERSIZE is the buffer size used by the lauxlib buffer system. +*/ +L_BUFFERSIZE :: c.int(16 * size_of(rawptr) * size_of(Number)) + + +MAXALIGNVAL :: max(align_of(Number), align_of(f64), align_of(rawptr), align_of(Integer), align_of(c.long)) + + +Status :: enum c.int { + OK = 0, + YIELD = 1, + ERRRUN = 2, + ERRSYNTAX = 3, + ERRMEM = 4, + ERRERR = 5, + ERRGCMM = 6, + ERRFILE = 7, +} + +/* thread status */ +OK :: Status.OK +YIELD :: Status.YIELD +ERRRUN :: Status.ERRRUN +ERRSYNTAX :: Status.ERRSYNTAX +ERRMEM :: Status.ERRMEM +ERRERR :: Status.ERRERR +ERRFILE :: Status.ERRFILE + +/* +** basic types +*/ + + +Type :: enum c.int { + NONE = -1, + + NIL = 0, + BOOLEAN = 1, + LIGHTUSERDATA = 2, + NUMBER = 3, + STRING = 4, + TABLE = 5, + FUNCTION = 6, + USERDATA = 7, + THREAD = 8, +} + +TNONE :: Type.NONE +TNIL :: Type.NIL +TBOOLEAN :: Type.BOOLEAN +TLIGHTUSERDATA :: Type.LIGHTUSERDATA +TNUMBER :: Type.NUMBER +TSTRING :: Type.STRING +TTABLE :: Type.TABLE +TFUNCTION :: Type.FUNCTION +TUSERDATA :: Type.USERDATA +TTHREAD :: Type.THREAD +NUMTYPES :: 9 + + + +ArithOp :: enum c.int { + ADD = 0, /* ORDER TM, ORDER OP */ + SUB = 1, + MUL = 2, + DIV = 3, + MOD = 4, + POW = 5, + UNM = 6, +} + +CompareOp :: enum c.int { + EQ = 0, + LT = 1, + LE = 2, +} + +OPADD :: ArithOp.ADD +OPSUB :: ArithOp.SUB +OPMUL :: ArithOp.MUL +OPDIV :: ArithOp.DIV +OPMOD :: ArithOp.MOD +OPPOW :: ArithOp.POW +OPUNM :: ArithOp.UNM + +OPEQ :: CompareOp.EQ +OPLT :: CompareOp.LT +OPLE :: CompareOp.LE + + +/* minimum Lua stack available to a C function */ +MINSTACK :: 20 + + +/* predefined values in the registry */ +RIDX_MAINTHREAD :: 1 +RIDX_GLOBALS :: 2 +RIDX_LAST :: RIDX_GLOBALS + + +/* type of numbers in Lua */ +Number :: distinct (f32 when size_of(uintptr) == 4 else f64) + + +/* type for integer functions */ +Integer :: distinct (i32 when size_of(uintptr) == 4 else i64) + +/* unsigned integer type */ +Unsigned :: distinct (u32 when size_of(uintptr) == 4 else u64) + + +/* +** Type for C functions registered with Lua +*/ +CFunction :: #type proc "c" (L: ^State) -> c.int + + + +/* +** Type for functions that read/write blocks when loading/dumping Lua chunks +*/ +Reader :: #type proc "c" (L: ^State, ud: rawptr, sz: ^c.size_t) -> cstring +Writer :: #type proc "c" (L: ^State, p: rawptr, sz: ^c.size_t, ud: rawptr) -> c.int + + +/* +** Type for memory-allocation functions +*/ +Alloc :: #type proc "c" (ud: rawptr, ptr: rawptr, osize, nsize: c.size_t) -> rawptr + + +GCWhat :: enum c.int { + STOP = 0, + RESTART = 1, + COLLECT = 2, + COUNT = 3, + COUNTB = 4, + STEP = 5, + SETPAUSE = 6, + SETSTEPMUL = 7, + SETMAJORINC = 8, + ISRUNNING = 9, + GEN = 10, + INC = 11, +} +GCSTOP :: GCWhat.STOP +GCRESTART :: GCWhat.RESTART +GCCOLLECT :: GCWhat.COLLECT +GCCOUNT :: GCWhat.COUNT +GCCOUNTB :: GCWhat.COUNTB +GCSTEP :: GCWhat.STEP +GCSETPAUSE :: GCWhat.SETPAUSE +GCSETSTEPMUL :: GCWhat.SETSTEPMUL +GCSETMAJORINC :: GCWhat.SETMAJORINC +GCISRUNNING :: GCWhat.ISRUNNING +GCGEN :: GCWhat.GEN +GCINC :: GCWhat.INC + + + +/* +** Event codes +*/ + +HookEvent :: enum c.int { + CALL = 0, + RET = 1, + LINE = 2, + COUNT = 3, + TAILCALL = 4, +} +HOOKCALL :: HookEvent.CALL +HOOKRET :: HookEvent.RET +HOOKLINE :: HookEvent.LINE +HOOKCOUNT :: HookEvent.COUNT +HOOKTAILCALL :: HookEvent.TAILCALL + + +/* +** Event masks +*/ +HookMask :: distinct bit_set[HookEvent; c.int] +MASKCALL :: HookMask{.CALL} +MASKRET :: HookMask{.RET} +MASKLINE :: HookMask{.LINE} +MASKCOUNT :: HookMask{.COUNT} + +/* activation record */ +Debug :: struct { + event: HookEvent, + name: cstring, /* (n) */ + namewhat: cstring, /* (n) 'global', 'local', 'field', 'method' */ + what: cstring, /* (S) 'Lua', 'C', 'main', 'tail' */ + source: cstring, /* (S) */ + currentline: c.int, /* (l) */ + linedefined: c.int, /* (S) */ + lastlinedefined: c.int, /* (S) */ + nups: u8, /* (u) number of upvalues */ + nparams: u8, /* (u) number of parameters */ + isvararg: bool, /* (u) */ + istailcall: bool, /* (t) */ + short_src: [IDSIZE]u8 `fmt:"s"`, /* (S) */ + /* private part */ + i_ci: rawptr, /* active function */ +} + + +/* Functions to be called by the debugger in specific events */ +Hook :: #type proc "c" (L: ^State, ar: ^Debug) + + +State :: struct {} // opaque data type + + +@(link_prefix="lua_") +@(default_calling_convention="c") +foreign lib { + /* + ** RCS ident string + */ + + ident: [^]u8 // TODO(bill): is this correct? + + + /* + ** state manipulation + */ + + newstate :: proc(f: Alloc, ud: rawptr) -> ^State --- + close :: proc(L: ^State) --- + newthread :: proc(L: ^State) -> ^State --- + + atpanic :: proc(L: ^State, panicf: CFunction) -> CFunction --- + + version :: proc(L: ^State) -> ^Number --- + + + /* + ** basic stack manipulation + */ + + absindex :: proc (L: ^State, idx: c.int) -> c.int --- + gettop :: proc (L: ^State) -> c.int --- + settop :: proc (L: ^State, idx: c.int) --- + pushvalue :: proc (L: ^State, idx: c.int) --- + remove :: proc (L: ^State, idx: c.int) --- + insert :: proc (L: ^State, idx: c.int) --- + replace :: proc (L: ^State, idx: c.int) --- + copy :: proc (L: ^State, fromidx, toidx: c.int) --- + checkstack :: proc (L: ^State, sz: c.int) -> c.int --- + + xmove :: proc(from, to: ^State, n: c.int) --- + + + /* + ** access functions (stack -> C) + */ + + isnumber :: proc(L: ^State, idx: c.int) -> b32 --- + isstring :: proc(L: ^State, idx: c.int) -> b32 --- + iscfunction :: proc(L: ^State, idx: c.int) -> b32 --- + isinteger :: proc(L: ^State, idx: c.int) -> b32 --- + isuserdata :: proc(L: ^State, idx: c.int) -> b32 --- + type :: proc(L: ^State, idx: c.int) -> Type --- + typename :: proc(L: ^State, tp: Type) -> cstring --- + + @(link_name="lua_tonumberx") + tonumber :: proc(L: ^State, idx: c.int, isnum: ^b32 = nil) -> Number --- + @(link_name="lua_tointegerx") + tointeger :: proc(L: ^State, idx: c.int, isnum: ^b32 = nil) -> Integer --- + @(link_name="lua_tounsignedx") + tounsigned :: proc(L: ^State, idx: c.int, isnum: ^b32 = nil) -> Unsigned --- + toboolean :: proc(L: ^State, idx: c.int) -> b32 --- + tolstring :: proc(L: ^State, idx: c.int, len: ^c.size_t) -> cstring --- + rawlen :: proc(L: ^State, idx: c.int) -> c.size_t --- + tocfunction :: proc(L: ^State, idx: c.int) -> CFunction --- + touserdata :: proc(L: ^State, idx: c.int) -> rawptr --- + tothread :: proc(L: ^State, idx: c.int) -> ^State --- + topointer :: proc(L: ^State, idx: c.int) -> rawptr --- + + /* + ** Comparison and arithmetic functions + */ + + arith :: proc(L: ^State, op: ArithOp) --- + rawequal :: proc(L: ^State, idx1, idx2: c.int) -> b32 --- + compare :: proc(L: ^State, idx1, idx2: c.int, op: CompareOp) -> b32 --- + + /* + ** push functions (C -> stack) + */ + + pushnil :: proc(L: ^State) --- + pushnumber :: proc(L: ^State, n: Number) --- + pushinteger :: proc(L: ^State, n: Integer) --- + pushunsigned :: proc(L: ^State, n: Unsigned) --- + pushlstring :: proc(L: ^State, s: cstring, l: c.size_t) -> cstring --- + pushstring :: proc(L: ^State, s: cstring) -> cstring --- + pushvfstring :: proc(L: ^State, fmt: cstring, argp: c.va_list) -> cstring --- + pushfstring :: proc(L: ^State, fmt: cstring, #c_vararg args: ..any) -> cstring --- + pushcclosure :: proc(L: ^State, fn: CFunction, n: c.int) --- + pushboolean :: proc(L: ^State, b: b32) --- + pushlightuserdata :: proc(L: ^State, p: rawptr) --- + pushthread :: proc(L: ^State) -> Status --- + + /* + ** get functions (Lua -> stack) + */ + + getglobal :: proc(L: ^State, name: cstring) --- + gettable :: proc(L: ^State, idx: c.int) --- + getfield :: proc(L: ^State, idx: c.int, k: cstring) --- + geti :: proc(L: ^State, idx: c.int, n: Integer) --- + rawget :: proc(L: ^State, idx: c.int) --- + rawgeti :: proc(L: ^State, idx: c.int, n: Integer) --- + rawgetp :: proc(L: ^State, idx: c.int, p: rawptr) --- + + createtable :: proc(L: ^State, narr, nrec: c.int) --- + newuserdata :: proc(L: ^State, sz: c.size_t) -> rawptr --- + getmetatable :: proc(L: ^State, objindex: c.int) -> c.int --- + getuservalue :: proc(L: ^State, idx: c.int) --- + + + /* + ** set functions (stack -> Lua) + */ + + setglobal :: proc(L: ^State, var: cstring) --- + settable :: proc(L: ^State, idx: c.int) --- + setfield :: proc(L: ^State, idx: c.int, k: cstring) --- + rawset :: proc(L: ^State, idx: c.int) --- + rawseti :: proc(L: ^State, idx: c.int, n: c.int) --- + rawsetp :: proc(L: ^State, idx: c.int, p: rawptr) --- + setmetatable :: proc(L: ^State, objindex: c.int) -> c.int --- + setuservalue :: proc(L: ^State, idx: c.int) -> c.int --- + + + /* + ** 'load' and 'call' functions (load and run Lua code) + */ + + @(link_name="lua_callk") + call :: proc(L: ^State, nargs, nresults: c.int, + k: CFunction = nil) --- + + getctx :: proc(L: ^State, ctx: ^c.int) -> c.int --- + + @(link_name="lua_pcallk") + pcall :: proc(L: ^State, nargs, nresults: c.int, errfunc: c.int, + k: CFunction = nil) -> c.int --- + + load :: proc(L: ^State, reader: Reader, dt: rawptr, + chunkname, mode: cstring) -> Status --- + + dump :: proc(L: ^State, writer: Writer, data: rawptr) -> Status --- + + + /* + ** coroutine functions + */ + + @(link_name="lua_yieldk") + yield :: proc(L: ^State, nresults: c.int, ctx: c.int = 0, k: CFunction = nil) -> Status --- + resume :: proc(L: ^State, from: ^State, narg: c.int) -> Status --- + status :: proc(L: ^State) -> Status --- + + + /* + ** garbage-collection function and options + */ + + + + gc :: proc(L: ^State, what: GCWhat, data: c.int) -> c.int --- + + + /* + ** miscellaneous functions + */ + + error :: proc(L: ^State) -> Status --- + + next :: proc(L: ^State, idx: c.int) -> c.int --- + + concat :: proc(L: ^State, n: c.int) --- + len :: proc(L: ^State, idx: c.int) --- + + getallocf :: proc(L: State, ud: ^rawptr) -> Alloc --- + setallocf :: proc(L: ^State, f: Alloc, ud: rawptr) --- + + /* + ** {====================================================================== + ** Debug API + ** ======================================================================= + */ + + getstack :: proc(L: ^State, level: c.int, ar: ^Debug) -> c.int --- + getinfo :: proc(L: ^State, what: cstring, ar: ^Debug) -> c.int --- + getlocal :: proc(L: ^State, ar: ^Debug, n: c.int) -> cstring --- + setlocal :: proc(L: ^State, ar: ^Debug, n: c.int) -> cstring --- + getupvalue :: proc(L: ^State, funcindex: c.int, n: c.int) -> cstring --- + setupvalue :: proc(L: ^State, funcindex: c.int, n: c.int) -> cstring --- + + upvalueid :: proc(L: ^State, fidx, n: c.int) -> rawptr --- + upvaluejoin :: proc(L: ^State, fidx1, n1, fidx2, n2: c.int) --- + + sethook :: proc(L: ^State, func: Hook, mask: HookMask, count: c.int) -> c.int --- + gethook :: proc(L: ^State) -> Hook --- + gethookmask :: proc(L: ^State) -> HookMask --- + gethookcount :: proc(L: ^State) -> c.int --- + + /* }============================================================== */ +} + + + +/* version suffix for environment variable names */ +VERSUFFIX :: "_" + VERSION_MAJOR + "_" + VERSION_MINOR + +COLIBNAME :: "coroutine" +TABLIBNAME :: "table" +IOLIBNAME :: "io" +OSLIBNAME :: "os" +STRLIBNAME :: "string" +UTF8LIBNAME :: "utf8" +BITLIBNAME :: "bit32" +MATHLIBNAME :: "math" +DBLIBNAME :: "debug" +LOADLIBNAME :: "package" + +@(link_prefix="lua") +@(default_calling_convention="c") +foreign lib { + open_base :: proc(L: ^State) -> c.int --- + open_coroutine :: proc(L: ^State) -> c.int --- + open_table :: proc(L: ^State) -> c.int --- + open_io :: proc(L: ^State) -> c.int --- + open_os :: proc(L: ^State) -> c.int --- + open_string :: proc(L: ^State) -> c.int --- + open_utf8 :: proc(L: ^State) -> c.int --- + open_bit32 :: proc(L: ^State) -> c.int --- + open_math :: proc(L: ^State) -> c.int --- + open_debug :: proc(L: ^State) -> c.int --- + open_package :: proc(L: ^State) -> c.int --- + + /* open all previous libraries */ + + L_openlibs :: proc(L: ^State) --- +} + + + +GNAME :: "_G" + +L_Reg :: struct { + name: cstring, + func: CFunction, +} + + +/* predefined references */ +NOREF :: -2 +REFNIL :: -1 + + +@(link_prefix="lua") +@(default_calling_convention="c") +foreign lib { + @(link_name="luaL_checkversion_") + L_checkversion :: proc(L: ^State, ver: Number = VERSION_NUM) --- + + + L_getmetafield :: proc(L: ^State, obj: c.int, e: cstring) -> c.int --- + L_callmeta :: proc(L: ^State, obj: c.int, e: cstring) -> c.int --- + @(link_name="luaL_tolstring") + L_tostring :: proc(L: ^State, idx: c.int, len: ^c.size_t = nil) -> cstring --- + L_argerror :: proc(L: ^State, numarg: c.int, extramsg: cstring) -> c.int --- + @(link_name="luaL_checklstring") + L_checkstring :: proc(L: ^State, numArg: c.int, l: ^c.size_t = nil) -> cstring --- + @(link_name="luaL_optlstring") + L_optstring :: proc(L: ^State, numArg: c.int, def: cstring, l: ^c.size_t = nil) -> cstring --- + L_checknumber :: proc(L: ^State, numArg: c.int) -> Number --- + L_optnumber :: proc(L: ^State, nArg: c.int, def: Number) -> Number --- + + L_checkinteger :: proc(L: ^State, numArg: c.int) -> Integer --- + L_optinteger :: proc(L: ^State, nArg: c.int, def: Integer) -> Integer --- + L_checkunsigned :: proc(L: ^State, numArg: c.int) -> Unsigned --- + L_optunsigned :: proc(L: ^State, nArg: c.int, def: Unsigned) -> Unsigned --- + + + L_checkstack :: proc(L: ^State, sz: c.int, msg: cstring) --- + L_checktype :: proc(L: ^State, narg: c.int, t: c.int) --- + L_checkany :: proc(L: ^State, narg: c.int) --- + + L_newmetatable :: proc(L: ^State, tname: cstring) -> c.int --- + L_setmetatable :: proc(L: ^State, tname: cstring) --- + L_testudata :: proc(L: ^State, ud: c.int, tname: cstring) -> rawptr --- + L_checkudata :: proc(L: ^State, ud: c.int, tname: cstring) -> rawptr --- + + L_where :: proc(L: ^State, lvl: c.int) --- + L_error :: proc(L: ^State, fmt: cstring, #c_vararg args: ..any) -> Status --- + + L_checkoption :: proc(L: ^State, narg: c.int, def: cstring, lst: [^]cstring) -> c.int --- + + L_fileresult :: proc(L: ^State, stat: c.int, fname: cstring) -> c.int --- + L_execresult :: proc(L: ^State, stat: c.int) -> c.int --- + + + L_ref :: proc(L: ^State, t: c.int) -> c.int --- + L_unref :: proc(L: ^State, t: c.int, ref: c.int) --- + + @(link_name="luaL_loadfilex") + L_loadfile :: proc (L: ^State, filename: cstring, mode: cstring = nil) -> Status --- + + @(link_name="luaL_loadbufferx") + L_loadbuffer :: proc(L: ^State, buff: [^]byte, sz: c.size_t, name: cstring, mode: cstring = nil) -> Status --- + L_loadstring :: proc(L: ^State, s: cstring) -> Status --- + + L_newstate :: proc() -> ^State --- + + L_len :: proc(L: ^State, idx: c.int) -> c.int --- + + L_gsub :: proc(L: ^State, s, p, r: cstring) -> cstring --- + + L_setfuncs :: proc(L: ^State, l: [^]L_Reg, nup: c.int) --- + + L_getsubtable :: proc(L: ^State, idx: c.int, fname: cstring) -> c.int --- + + L_traceback :: proc(L: ^State, L1: ^State, msg: cstring, level: c.int) --- + + L_requiref :: proc(L: ^State, modname: cstring, openf: CFunction, glb: c.int) --- + +} +/* +** {====================================================== +** Generic Buffer manipulation +** ======================================================= +*/ + + +L_Buffer :: struct { + b: [^]byte, /* buffer address */ + size: c.size_t, /* buffer size */ + n: c.size_t, /* number of characters in buffer */ + L: ^State, + initb: [L_BUFFERSIZE]byte, /* initial buffer */ +} + +L_addchar :: #force_inline proc "c" (B: ^L_Buffer, c: byte) { + if B.n < B.size { + L_prepbuffsize(B, 1) + } + B.b[B.n] = c + B.n += 1 +} + +L_addsize :: #force_inline proc "c" (B: ^L_Buffer, s: c.size_t) -> c.size_t { + B.n += s + return B.n +} + +L_prepbuffer :: #force_inline proc "c" (B: ^L_Buffer) -> [^]byte { + return L_prepbuffsize(B, c.size_t(L_BUFFERSIZE)) +} + + +@(link_prefix="lua") +@(default_calling_convention="c") +foreign lib { + L_buffinit :: proc(L: ^State, B: ^L_Buffer) --- + L_prepbuffsize :: proc(B: ^L_Buffer, sz: c.size_t) -> [^]byte --- + L_addlstring :: proc(B: ^L_Buffer, s: cstring, l: c.size_t) --- + L_addstring :: proc(B: ^L_Buffer, s: cstring) --- + L_addvalue :: proc(B: ^L_Buffer) --- + L_pushresult :: proc(B: ^L_Buffer) --- + L_pushresultsize :: proc(B: ^L_Buffer, sz: c.size_t) --- + L_buffinitsize :: proc(L: ^State, B: ^L_Buffer, sz: c.size_t) -> [^]byte --- +} + + +/* }====================================================== */ + + + + +/* +** {============================================================== +** some useful macros +** =============================================================== +*/ + +pop :: #force_inline proc "c" (L: ^State, n: c.int) { + settop(L, -n-1) +} +newtable :: #force_inline proc "c" (L: ^State) { + createtable(L, 0, 0) +} +register :: #force_inline proc "c" (L: ^State, n: cstring, f: CFunction) { + pushcfunction(L, f) + setglobal(L, n) +} + +pushcfunction :: #force_inline proc "c" (L: ^State, f: CFunction) { + pushcclosure(L, f, 0) +} + + +isfunction :: #force_inline proc "c" (L: ^State, n: c.int) -> bool { return type(L, n) == .FUNCTION } +istable :: #force_inline proc "c" (L: ^State, n: c.int) -> bool { return type(L, n) == .TABLE } +islightuserdata :: #force_inline proc "c" (L: ^State, n: c.int) -> bool { return type(L, n) == .LIGHTUSERDATA } +isnil :: #force_inline proc "c" (L: ^State, n: c.int) -> bool { return type(L, n) == .NIL } +isboolean :: #force_inline proc "c" (L: ^State, n: c.int) -> bool { return type(L, n) == .BOOLEAN } +isthread :: #force_inline proc "c" (L: ^State, n: c.int) -> bool { return type(L, n) == .THREAD } +isnone :: #force_inline proc "c" (L: ^State, n: c.int) -> bool { return type(L, n) == .NONE } +isnoneornil :: #force_inline proc "c" (L: ^State, n: c.int) -> bool { return type(L, n) <= .NIL } + + +pushliteral :: pushstring +pushglobaltable :: #force_inline proc "c" (L: ^State) { + rawgeti(L, REGISTRYINDEX, RIDX_GLOBALS) +} +tostring :: #force_inline proc "c" (L: ^State, i: c.int) -> cstring { + return tolstring(L, i, nil) +} + +L_newlibtable :: #force_inline proc "c" (L: ^State, l: []L_Reg) { + createtable(L, 0, c.int(builtin.len(l) - 1)) +} + +L_newlib :: proc(L: ^State, l: []L_Reg) { + L_newlibtable(L, l) + L_setfuncs(L, raw_data(l), 0) +} + +L_argcheck :: #force_inline proc "c" (L: ^State, cond: bool, numarg: c.int, extramsg: cstring) { + if cond { + L_argerror(L, numarg, extramsg) + } +} + +L_typename :: #force_inline proc "c" (L: ^State, i: c.int) -> cstring { + return typename(L, type(L, i)) +} +L_dofile :: #force_inline proc "c" (L: ^State, s: cstring) -> c.int { + err := L_loadfile(L, s) + return pcall(L, 0, MULTRET, 0) if err == nil else c.int(err) +} +L_dostring :: #force_inline proc "c" (L: ^State, s: cstring) -> c.int { + err := L_loadstring(L, s) + return pcall(L, 0, MULTRET, 0) if err == nil else c.int(err) +} +L_getmetatable :: #force_inline proc "c" (L: ^State, n: cstring) { + getfield(L, REGISTRYINDEX, n) +} +L_opt :: #force_inline proc "c" (L: ^State, f: $F, n: c.int, d: $T) -> T where intrinsics.type_is_proc(F) { + return d if isnoneornil(L, n) else f(L, n) +} + + + +/* }============================================================== */ diff --git a/vendor/lua/5.2/windows/lua52.dll b/vendor/lua/5.2/windows/lua52.dll new file mode 100644 index 0000000000000000000000000000000000000000..b7e15d585a02969328c99aa499b6a526ccb2e3ab GIT binary patch literal 300544 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�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 literal 0 HcmV?d00001 diff --git a/vendor/lua/5.2/windows/lua52dll.lib b/vendor/lua/5.2/windows/lua52dll.lib new file mode 100644 index 0000000000000000000000000000000000000000..0d6ffb7517dd68371568c79d4171a770b8260326 GIT binary patch literal 29546 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 Date: Wed, 5 Apr 2023 16:52:27 +0100 Subject: [PATCH 44/50] Minor fixes --- vendor/lua/5.3/lua.odin | 6 +++--- vendor/lua/5.4/lua.odin | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/vendor/lua/5.3/lua.odin b/vendor/lua/5.3/lua.odin index d7884e852..8f519c7ab 100644 --- a/vendor/lua/5.3/lua.odin +++ b/vendor/lua/5.3/lua.odin @@ -343,9 +343,9 @@ foreign lib { typename :: proc(L: ^State, tp: Type) -> cstring --- @(link_name="lua_tonumberx") - tonumber :: proc(L: ^State, idx: c.int, isnum: ^c.int = nil) -> Number --- + tonumber :: proc(L: ^State, idx: c.int, isnum: ^b32 = nil) -> Number --- @(link_name="lua_tointegerx") - tointeger :: proc(L: ^State, idx: c.int, isnum: ^c.int = nil) -> Integer --- + tointeger :: proc(L: ^State, idx: c.int, isnum: ^b32 = nil) -> Integer --- toboolean :: proc(L: ^State, idx: c.int) -> b32 --- tolstring :: proc(L: ^State, idx: c.int, len: ^c.size_t) -> cstring --- rawlen :: proc(L: ^State, idx: c.int) -> c.size_t --- @@ -369,7 +369,7 @@ foreign lib { pushnil :: proc(L: ^State) --- pushnumber :: proc(L: ^State, n: Number) --- pushinteger :: proc(L: ^State, n: Integer) --- - pushlstring :: proc(L: ^State, s: cstring, len: cstring) -> cstring --- + pushlstring :: proc(L: ^State, s: cstring, len: c.size_t) -> cstring --- pushstring :: proc(L: ^State, s: cstring) -> cstring --- pushvfstring :: proc(L: ^State, fmt: cstring, argp: c.va_list) -> cstring --- pushfstring :: proc(L: ^State, fmt: cstring, #c_vararg args: ..any) -> cstring --- diff --git a/vendor/lua/5.4/lua.odin b/vendor/lua/5.4/lua.odin index df02076ba..afadb3857 100644 --- a/vendor/lua/5.4/lua.odin +++ b/vendor/lua/5.4/lua.odin @@ -357,9 +357,9 @@ foreign lib { typename :: proc(L: ^State, tp: Type) -> cstring --- @(link_name="lua_tonumberx") - tonumber :: proc(L: ^State, idx: c.int, isnum: ^c.int = nil) -> Number --- + tonumber :: proc(L: ^State, idx: c.int, isnum: ^b32 = nil) -> Number --- @(link_name="lua_tointegerx") - tointeger :: proc(L: ^State, idx: c.int, isnum: ^c.int = nil) -> Integer --- + tointeger :: proc(L: ^State, idx: c.int, isnum: ^b32 = nil) -> Integer --- toboolean :: proc(L: ^State, idx: c.int) -> b32 --- tolstring :: proc(L: ^State, idx: c.int, len: ^c.size_t) -> cstring --- rawlen :: proc(L: ^State, idx: c.int) -> Unsigned --- @@ -383,7 +383,7 @@ foreign lib { pushnil :: proc(L: ^State) --- pushnumber :: proc(L: ^State, n: Number) --- pushinteger :: proc(L: ^State, n: Integer) --- - pushlstring :: proc(L: ^State, s: cstring, len: cstring) -> cstring --- + pushlstring :: proc(L: ^State, s: cstring, len: c.size_t) -> cstring --- pushstring :: proc(L: ^State, s: cstring) -> cstring --- pushvfstring :: proc(L: ^State, fmt: cstring, argp: c.va_list) -> cstring --- pushfstring :: proc(L: ^State, fmt: cstring, #c_vararg args: ..any) -> cstring --- From c5af69ffa6085ee307ab7140f674c9e147185688 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Wed, 5 Apr 2023 17:25:30 +0100 Subject: [PATCH 45/50] Add `vendor:lua/5.1` --- examples/all/all_vendor.odin | 1 + vendor/lua/5.1/include/lauxlib.h | 174 ++++++ vendor/lua/5.1/include/lua.h | 388 +++++++++++++ vendor/lua/5.1/include/lua.hpp | 9 + vendor/lua/5.1/include/luaconf.h | 766 ++++++++++++++++++++++++++ vendor/lua/5.1/include/lualib.h | 53 ++ vendor/lua/5.1/linux/liblua5.1.a | Bin 0 -> 347548 bytes vendor/lua/5.1/linux/liblua5.1.so | Bin 0 -> 212314 bytes vendor/lua/5.1/lua.odin | 659 ++++++++++++++++++++++ vendor/lua/5.1/windows/lua5.1.dll | Bin 0 -> 247296 bytes vendor/lua/5.1/windows/lua5.1.dll.lib | Bin 0 -> 25478 bytes vendor/lua/5.2/lua.odin | 4 +- 12 files changed, 2052 insertions(+), 2 deletions(-) create mode 100644 vendor/lua/5.1/include/lauxlib.h create mode 100644 vendor/lua/5.1/include/lua.h create mode 100644 vendor/lua/5.1/include/lua.hpp create mode 100644 vendor/lua/5.1/include/luaconf.h create mode 100644 vendor/lua/5.1/include/lualib.h create mode 100644 vendor/lua/5.1/linux/liblua5.1.a create mode 100644 vendor/lua/5.1/linux/liblua5.1.so create mode 100644 vendor/lua/5.1/lua.odin create mode 100644 vendor/lua/5.1/windows/lua5.1.dll create mode 100644 vendor/lua/5.1/windows/lua5.1.dll.lib diff --git a/examples/all/all_vendor.odin b/examples/all/all_vendor.odin index 8ba141e8f..e550e600c 100644 --- a/examples/all/all_vendor.odin +++ b/examples/all/all_vendor.odin @@ -26,6 +26,7 @@ import NS "vendor:darwin/Foundation" import MTL "vendor:darwin/Metal" import CA "vendor:darwin/QuartzCore" +// NOTE(bill): only one can be checked at a time import lua_5_4 "vendor:lua/5.4" _ :: botan diff --git a/vendor/lua/5.1/include/lauxlib.h b/vendor/lua/5.1/include/lauxlib.h new file mode 100644 index 000000000..34258235d --- /dev/null +++ b/vendor/lua/5.1/include/lauxlib.h @@ -0,0 +1,174 @@ +/* +** $Id: lauxlib.h,v 1.88.1.1 2007/12/27 13:02:25 roberto Exp $ +** Auxiliary functions for building Lua libraries +** See Copyright Notice in lua.h +*/ + + +#ifndef lauxlib_h +#define lauxlib_h + + +#include +#include + +#include "lua.h" + + +#if defined(LUA_COMPAT_GETN) +LUALIB_API int (luaL_getn) (lua_State *L, int t); +LUALIB_API void (luaL_setn) (lua_State *L, int t, int n); +#else +#define luaL_getn(L,i) ((int)lua_objlen(L, i)) +#define luaL_setn(L,i,j) ((void)0) /* no op! */ +#endif + +#if defined(LUA_COMPAT_OPENLIB) +#define luaI_openlib luaL_openlib +#endif + + +/* extra error code for `luaL_load' */ +#define LUA_ERRFILE (LUA_ERRERR+1) + + +typedef struct luaL_Reg { + const char *name; + lua_CFunction func; +} luaL_Reg; + + + +LUALIB_API void (luaI_openlib) (lua_State *L, const char *libname, + const luaL_Reg *l, int nup); +LUALIB_API void (luaL_register) (lua_State *L, const char *libname, + const luaL_Reg *l); +LUALIB_API int (luaL_getmetafield) (lua_State *L, int obj, const char *e); +LUALIB_API int (luaL_callmeta) (lua_State *L, int obj, const char *e); +LUALIB_API int (luaL_typerror) (lua_State *L, int narg, const char *tname); +LUALIB_API int (luaL_argerror) (lua_State *L, int numarg, const char *extramsg); +LUALIB_API const char *(luaL_checklstring) (lua_State *L, int numArg, + size_t *l); +LUALIB_API const char *(luaL_optlstring) (lua_State *L, int numArg, + const char *def, size_t *l); +LUALIB_API lua_Number (luaL_checknumber) (lua_State *L, int numArg); +LUALIB_API lua_Number (luaL_optnumber) (lua_State *L, int nArg, lua_Number def); + +LUALIB_API lua_Integer (luaL_checkinteger) (lua_State *L, int numArg); +LUALIB_API lua_Integer (luaL_optinteger) (lua_State *L, int nArg, + lua_Integer def); + +LUALIB_API void (luaL_checkstack) (lua_State *L, int sz, const char *msg); +LUALIB_API void (luaL_checktype) (lua_State *L, int narg, int t); +LUALIB_API void (luaL_checkany) (lua_State *L, int narg); + +LUALIB_API int (luaL_newmetatable) (lua_State *L, const char *tname); +LUALIB_API void *(luaL_checkudata) (lua_State *L, int ud, const char *tname); + +LUALIB_API void (luaL_where) (lua_State *L, int lvl); +LUALIB_API int (luaL_error) (lua_State *L, const char *fmt, ...); + +LUALIB_API int (luaL_checkoption) (lua_State *L, int narg, const char *def, + const char *const lst[]); + +LUALIB_API int (luaL_ref) (lua_State *L, int t); +LUALIB_API void (luaL_unref) (lua_State *L, int t, int ref); + +LUALIB_API int (luaL_loadfile) (lua_State *L, const char *filename); +LUALIB_API int (luaL_loadbuffer) (lua_State *L, const char *buff, size_t sz, + const char *name); +LUALIB_API int (luaL_loadstring) (lua_State *L, const char *s); + +LUALIB_API lua_State *(luaL_newstate) (void); + + +LUALIB_API const char *(luaL_gsub) (lua_State *L, const char *s, const char *p, + const char *r); + +LUALIB_API const char *(luaL_findtable) (lua_State *L, int idx, + const char *fname, int szhint); + + + + +/* +** =============================================================== +** some useful macros +** =============================================================== +*/ + +#define luaL_argcheck(L, cond,numarg,extramsg) \ + ((void)((cond) || luaL_argerror(L, (numarg), (extramsg)))) +#define luaL_checkstring(L,n) (luaL_checklstring(L, (n), NULL)) +#define luaL_optstring(L,n,d) (luaL_optlstring(L, (n), (d), NULL)) +#define luaL_checkint(L,n) ((int)luaL_checkinteger(L, (n))) +#define luaL_optint(L,n,d) ((int)luaL_optinteger(L, (n), (d))) +#define luaL_checklong(L,n) ((long)luaL_checkinteger(L, (n))) +#define luaL_optlong(L,n,d) ((long)luaL_optinteger(L, (n), (d))) + +#define luaL_typename(L,i) lua_typename(L, lua_type(L,(i))) + +#define luaL_dofile(L, fn) \ + (luaL_loadfile(L, fn) || lua_pcall(L, 0, LUA_MULTRET, 0)) + +#define luaL_dostring(L, s) \ + (luaL_loadstring(L, s) || lua_pcall(L, 0, LUA_MULTRET, 0)) + +#define luaL_getmetatable(L,n) (lua_getfield(L, LUA_REGISTRYINDEX, (n))) + +#define luaL_opt(L,f,n,d) (lua_isnoneornil(L,(n)) ? (d) : f(L,(n))) + +/* +** {====================================================== +** Generic Buffer manipulation +** ======================================================= +*/ + + + +typedef struct luaL_Buffer { + char *p; /* current position in buffer */ + int lvl; /* number of strings in the stack (level) */ + lua_State *L; + char buffer[LUAL_BUFFERSIZE]; +} luaL_Buffer; + +#define luaL_addchar(B,c) \ + ((void)((B)->p < ((B)->buffer+LUAL_BUFFERSIZE) || luaL_prepbuffer(B)), \ + (*(B)->p++ = (char)(c))) + +/* compatibility only */ +#define luaL_putchar(B,c) luaL_addchar(B,c) + +#define luaL_addsize(B,n) ((B)->p += (n)) + +LUALIB_API void (luaL_buffinit) (lua_State *L, luaL_Buffer *B); +LUALIB_API char *(luaL_prepbuffer) (luaL_Buffer *B); +LUALIB_API void (luaL_addlstring) (luaL_Buffer *B, const char *s, size_t l); +LUALIB_API void (luaL_addstring) (luaL_Buffer *B, const char *s); +LUALIB_API void (luaL_addvalue) (luaL_Buffer *B); +LUALIB_API void (luaL_pushresult) (luaL_Buffer *B); + + +/* }====================================================== */ + + +/* compatibility with ref system */ + +/* pre-defined references */ +#define LUA_NOREF (-2) +#define LUA_REFNIL (-1) + +#define lua_ref(L,lock) ((lock) ? luaL_ref(L, LUA_REGISTRYINDEX) : \ + (lua_pushstring(L, "unlocked references are obsolete"), lua_error(L), 0)) + +#define lua_unref(L,ref) luaL_unref(L, LUA_REGISTRYINDEX, (ref)) + +#define lua_getref(L,ref) lua_rawgeti(L, LUA_REGISTRYINDEX, (ref)) + + +#define luaL_reg luaL_Reg + +#endif + + diff --git a/vendor/lua/5.1/include/lua.h b/vendor/lua/5.1/include/lua.h new file mode 100644 index 000000000..a4b73e743 --- /dev/null +++ b/vendor/lua/5.1/include/lua.h @@ -0,0 +1,388 @@ +/* +** $Id: lua.h,v 1.218.1.7 2012/01/13 20:36:20 roberto Exp $ +** Lua - An Extensible Extension Language +** Lua.org, PUC-Rio, Brazil (http://www.lua.org) +** See Copyright Notice at the end of this file +*/ + + +#ifndef lua_h +#define lua_h + +#include +#include + + +#include "luaconf.h" + + +#define LUA_VERSION "Lua 5.1" +#define LUA_RELEASE "Lua 5.1.5" +#define LUA_VERSION_NUM 501 +#define LUA_COPYRIGHT "Copyright (C) 1994-2012 Lua.org, PUC-Rio" +#define LUA_AUTHORS "R. Ierusalimschy, L. H. de Figueiredo & W. Celes" + + +/* mark for precompiled code (`Lua') */ +#define LUA_SIGNATURE "\033Lua" + +/* option for multiple returns in `lua_pcall' and `lua_call' */ +#define LUA_MULTRET (-1) + + +/* +** pseudo-indices +*/ +#define LUA_REGISTRYINDEX (-10000) +#define LUA_ENVIRONINDEX (-10001) +#define LUA_GLOBALSINDEX (-10002) +#define lua_upvalueindex(i) (LUA_GLOBALSINDEX-(i)) + + +/* thread status; 0 is OK */ +#define LUA_YIELD 1 +#define LUA_ERRRUN 2 +#define LUA_ERRSYNTAX 3 +#define LUA_ERRMEM 4 +#define LUA_ERRERR 5 + + +typedef struct lua_State lua_State; + +typedef int (*lua_CFunction) (lua_State *L); + + +/* +** functions that read/write blocks when loading/dumping Lua chunks +*/ +typedef const char * (*lua_Reader) (lua_State *L, void *ud, size_t *sz); + +typedef int (*lua_Writer) (lua_State *L, const void* p, size_t sz, void* ud); + + +/* +** prototype for memory-allocation functions +*/ +typedef void * (*lua_Alloc) (void *ud, void *ptr, size_t osize, size_t nsize); + + +/* +** basic types +*/ +#define LUA_TNONE (-1) + +#define LUA_TNIL 0 +#define LUA_TBOOLEAN 1 +#define LUA_TLIGHTUSERDATA 2 +#define LUA_TNUMBER 3 +#define LUA_TSTRING 4 +#define LUA_TTABLE 5 +#define LUA_TFUNCTION 6 +#define LUA_TUSERDATA 7 +#define LUA_TTHREAD 8 + + + +/* minimum Lua stack available to a C function */ +#define LUA_MINSTACK 20 + + +/* +** generic extra include file +*/ +#if defined(LUA_USER_H) +#include LUA_USER_H +#endif + + +/* type of numbers in Lua */ +typedef LUA_NUMBER lua_Number; + + +/* type for integer functions */ +typedef LUA_INTEGER lua_Integer; + + + +/* +** state manipulation +*/ +LUA_API lua_State *(lua_newstate) (lua_Alloc f, void *ud); +LUA_API void (lua_close) (lua_State *L); +LUA_API lua_State *(lua_newthread) (lua_State *L); + +LUA_API lua_CFunction (lua_atpanic) (lua_State *L, lua_CFunction panicf); + + +/* +** basic stack manipulation +*/ +LUA_API int (lua_gettop) (lua_State *L); +LUA_API void (lua_settop) (lua_State *L, int idx); +LUA_API void (lua_pushvalue) (lua_State *L, int idx); +LUA_API void (lua_remove) (lua_State *L, int idx); +LUA_API void (lua_insert) (lua_State *L, int idx); +LUA_API void (lua_replace) (lua_State *L, int idx); +LUA_API int (lua_checkstack) (lua_State *L, int sz); + +LUA_API void (lua_xmove) (lua_State *from, lua_State *to, int n); + + +/* +** access functions (stack -> C) +*/ + +LUA_API int (lua_isnumber) (lua_State *L, int idx); +LUA_API int (lua_isstring) (lua_State *L, int idx); +LUA_API int (lua_iscfunction) (lua_State *L, int idx); +LUA_API int (lua_isuserdata) (lua_State *L, int idx); +LUA_API int (lua_type) (lua_State *L, int idx); +LUA_API const char *(lua_typename) (lua_State *L, int tp); + +LUA_API int (lua_equal) (lua_State *L, int idx1, int idx2); +LUA_API int (lua_rawequal) (lua_State *L, int idx1, int idx2); +LUA_API int (lua_lessthan) (lua_State *L, int idx1, int idx2); + +LUA_API lua_Number (lua_tonumber) (lua_State *L, int idx); +LUA_API lua_Integer (lua_tointeger) (lua_State *L, int idx); +LUA_API int (lua_toboolean) (lua_State *L, int idx); +LUA_API const char *(lua_tolstring) (lua_State *L, int idx, size_t *len); +LUA_API size_t (lua_objlen) (lua_State *L, int idx); +LUA_API lua_CFunction (lua_tocfunction) (lua_State *L, int idx); +LUA_API void *(lua_touserdata) (lua_State *L, int idx); +LUA_API lua_State *(lua_tothread) (lua_State *L, int idx); +LUA_API const void *(lua_topointer) (lua_State *L, int idx); + + +/* +** push functions (C -> stack) +*/ +LUA_API void (lua_pushnil) (lua_State *L); +LUA_API void (lua_pushnumber) (lua_State *L, lua_Number n); +LUA_API void (lua_pushinteger) (lua_State *L, lua_Integer n); +LUA_API void (lua_pushlstring) (lua_State *L, const char *s, size_t l); +LUA_API void (lua_pushstring) (lua_State *L, const char *s); +LUA_API const char *(lua_pushvfstring) (lua_State *L, const char *fmt, + va_list argp); +LUA_API const char *(lua_pushfstring) (lua_State *L, const char *fmt, ...); +LUA_API void (lua_pushcclosure) (lua_State *L, lua_CFunction fn, int n); +LUA_API void (lua_pushboolean) (lua_State *L, int b); +LUA_API void (lua_pushlightuserdata) (lua_State *L, void *p); +LUA_API int (lua_pushthread) (lua_State *L); + + +/* +** get functions (Lua -> stack) +*/ +LUA_API void (lua_gettable) (lua_State *L, int idx); +LUA_API void (lua_getfield) (lua_State *L, int idx, const char *k); +LUA_API void (lua_rawget) (lua_State *L, int idx); +LUA_API void (lua_rawgeti) (lua_State *L, int idx, int n); +LUA_API void (lua_createtable) (lua_State *L, int narr, int nrec); +LUA_API void *(lua_newuserdata) (lua_State *L, size_t sz); +LUA_API int (lua_getmetatable) (lua_State *L, int objindex); +LUA_API void (lua_getfenv) (lua_State *L, int idx); + + +/* +** set functions (stack -> Lua) +*/ +LUA_API void (lua_settable) (lua_State *L, int idx); +LUA_API void (lua_setfield) (lua_State *L, int idx, const char *k); +LUA_API void (lua_rawset) (lua_State *L, int idx); +LUA_API void (lua_rawseti) (lua_State *L, int idx, int n); +LUA_API int (lua_setmetatable) (lua_State *L, int objindex); +LUA_API int (lua_setfenv) (lua_State *L, int idx); + + +/* +** `load' and `call' functions (load and run Lua code) +*/ +LUA_API void (lua_call) (lua_State *L, int nargs, int nresults); +LUA_API int (lua_pcall) (lua_State *L, int nargs, int nresults, int errfunc); +LUA_API int (lua_cpcall) (lua_State *L, lua_CFunction func, void *ud); +LUA_API int (lua_load) (lua_State *L, lua_Reader reader, void *dt, + const char *chunkname); + +LUA_API int (lua_dump) (lua_State *L, lua_Writer writer, void *data); + + +/* +** coroutine functions +*/ +LUA_API int (lua_yield) (lua_State *L, int nresults); +LUA_API int (lua_resume) (lua_State *L, int narg); +LUA_API int (lua_status) (lua_State *L); + +/* +** garbage-collection function and options +*/ + +#define LUA_GCSTOP 0 +#define LUA_GCRESTART 1 +#define LUA_GCCOLLECT 2 +#define LUA_GCCOUNT 3 +#define LUA_GCCOUNTB 4 +#define LUA_GCSTEP 5 +#define LUA_GCSETPAUSE 6 +#define LUA_GCSETSTEPMUL 7 + +LUA_API int (lua_gc) (lua_State *L, int what, int data); + + +/* +** miscellaneous functions +*/ + +LUA_API int (lua_error) (lua_State *L); + +LUA_API int (lua_next) (lua_State *L, int idx); + +LUA_API void (lua_concat) (lua_State *L, int n); + +LUA_API lua_Alloc (lua_getallocf) (lua_State *L, void **ud); +LUA_API void lua_setallocf (lua_State *L, lua_Alloc f, void *ud); + + + +/* +** =============================================================== +** some useful macros +** =============================================================== +*/ + +#define lua_pop(L,n) lua_settop(L, -(n)-1) + +#define lua_newtable(L) lua_createtable(L, 0, 0) + +#define lua_register(L,n,f) (lua_pushcfunction(L, (f)), lua_setglobal(L, (n))) + +#define lua_pushcfunction(L,f) lua_pushcclosure(L, (f), 0) + +#define lua_strlen(L,i) lua_objlen(L, (i)) + +#define lua_isfunction(L,n) (lua_type(L, (n)) == LUA_TFUNCTION) +#define lua_istable(L,n) (lua_type(L, (n)) == LUA_TTABLE) +#define lua_islightuserdata(L,n) (lua_type(L, (n)) == LUA_TLIGHTUSERDATA) +#define lua_isnil(L,n) (lua_type(L, (n)) == LUA_TNIL) +#define lua_isboolean(L,n) (lua_type(L, (n)) == LUA_TBOOLEAN) +#define lua_isthread(L,n) (lua_type(L, (n)) == LUA_TTHREAD) +#define lua_isnone(L,n) (lua_type(L, (n)) == LUA_TNONE) +#define lua_isnoneornil(L, n) (lua_type(L, (n)) <= 0) + +#define lua_pushliteral(L, s) \ + lua_pushlstring(L, "" s, (sizeof(s)/sizeof(char))-1) + +#define lua_setglobal(L,s) lua_setfield(L, LUA_GLOBALSINDEX, (s)) +#define lua_getglobal(L,s) lua_getfield(L, LUA_GLOBALSINDEX, (s)) + +#define lua_tostring(L,i) lua_tolstring(L, (i), NULL) + + + +/* +** compatibility macros and functions +*/ + +#define lua_open() luaL_newstate() + +#define lua_getregistry(L) lua_pushvalue(L, LUA_REGISTRYINDEX) + +#define lua_getgccount(L) lua_gc(L, LUA_GCCOUNT, 0) + +#define lua_Chunkreader lua_Reader +#define lua_Chunkwriter lua_Writer + + +/* hack */ +LUA_API void lua_setlevel (lua_State *from, lua_State *to); + + +/* +** {====================================================================== +** Debug API +** ======================================================================= +*/ + + +/* +** Event codes +*/ +#define LUA_HOOKCALL 0 +#define LUA_HOOKRET 1 +#define LUA_HOOKLINE 2 +#define LUA_HOOKCOUNT 3 +#define LUA_HOOKTAILRET 4 + + +/* +** Event masks +*/ +#define LUA_MASKCALL (1 << LUA_HOOKCALL) +#define LUA_MASKRET (1 << LUA_HOOKRET) +#define LUA_MASKLINE (1 << LUA_HOOKLINE) +#define LUA_MASKCOUNT (1 << LUA_HOOKCOUNT) + +typedef struct lua_Debug lua_Debug; /* activation record */ + + +/* Functions to be called by the debuger in specific events */ +typedef void (*lua_Hook) (lua_State *L, lua_Debug *ar); + + +LUA_API int lua_getstack (lua_State *L, int level, lua_Debug *ar); +LUA_API int lua_getinfo (lua_State *L, const char *what, lua_Debug *ar); +LUA_API const char *lua_getlocal (lua_State *L, const lua_Debug *ar, int n); +LUA_API const char *lua_setlocal (lua_State *L, const lua_Debug *ar, int n); +LUA_API const char *lua_getupvalue (lua_State *L, int funcindex, int n); +LUA_API const char *lua_setupvalue (lua_State *L, int funcindex, int n); + +LUA_API int lua_sethook (lua_State *L, lua_Hook func, int mask, int count); +LUA_API lua_Hook lua_gethook (lua_State *L); +LUA_API int lua_gethookmask (lua_State *L); +LUA_API int lua_gethookcount (lua_State *L); + + +struct lua_Debug { + int event; + const char *name; /* (n) */ + const char *namewhat; /* (n) `global', `local', `field', `method' */ + const char *what; /* (S) `Lua', `C', `main', `tail' */ + const char *source; /* (S) */ + int currentline; /* (l) */ + int nups; /* (u) number of upvalues */ + int linedefined; /* (S) */ + int lastlinedefined; /* (S) */ + char short_src[LUA_IDSIZE]; /* (S) */ + /* private part */ + int i_ci; /* active function */ +}; + +/* }====================================================================== */ + + +/****************************************************************************** +* Copyright (C) 1994-2012 Lua.org, PUC-Rio. All rights reserved. +* +* Permission is hereby granted, free of charge, to any person obtaining +* a copy of this software and associated documentation files (the +* "Software"), to deal in the Software without restriction, including +* without limitation the rights to use, copy, modify, merge, publish, +* distribute, sublicense, and/or sell copies of the Software, and to +* permit persons to whom the Software is furnished to do so, subject to +* the following conditions: +* +* The above copyright notice and this permission notice shall be +* included in all copies or substantial portions of the Software. +* +* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +******************************************************************************/ + + +#endif diff --git a/vendor/lua/5.1/include/lua.hpp b/vendor/lua/5.1/include/lua.hpp new file mode 100644 index 000000000..ec417f594 --- /dev/null +++ b/vendor/lua/5.1/include/lua.hpp @@ -0,0 +1,9 @@ +// lua.hpp +// Lua header files for C++ +// <> not supplied automatically because Lua also compiles as C++ + +extern "C" { +#include "lua.h" +#include "lualib.h" +#include "lauxlib.h" +} diff --git a/vendor/lua/5.1/include/luaconf.h b/vendor/lua/5.1/include/luaconf.h new file mode 100644 index 000000000..05354175b --- /dev/null +++ b/vendor/lua/5.1/include/luaconf.h @@ -0,0 +1,766 @@ +/* +** $Id: luaconf.h,v 1.82.1.7 2008/02/11 16:25:08 roberto Exp $ +** Configuration file for Lua +** See Copyright Notice in lua.h +*/ + + +#ifndef lconfig_h +#define lconfig_h + +#include +#include + + +/* +** ================================================================== +** Search for "@@" to find all configurable definitions. +** =================================================================== +*/ + + +/* +@@ LUA_ANSI controls the use of non-ansi features. +** CHANGE it (define it) if you want Lua to avoid the use of any +** non-ansi feature or library. +*/ +#if defined(__STRICT_ANSI__) +#define LUA_ANSI +#endif + + +#if !defined(LUA_ANSI) && defined(_WIN32) +#define LUA_WIN +#endif + +#if defined(LUA_USE_LINUX) +#define LUA_USE_POSIX +#define LUA_USE_DLOPEN /* needs an extra library: -ldl */ +#define LUA_USE_READLINE /* needs some extra libraries */ +#endif + +#if defined(LUA_USE_MACOSX) +#define LUA_USE_POSIX +#define LUA_DL_DYLD /* does not need extra library */ +#endif + + + +/* +@@ LUA_USE_POSIX includes all functionallity listed as X/Open System +@* Interfaces Extension (XSI). +** CHANGE it (define it) if your system is XSI compatible. +*/ +#if defined(LUA_USE_POSIX) +#define LUA_USE_MKSTEMP +#define LUA_USE_ISATTY +#define LUA_USE_POPEN +#define LUA_USE_ULONGJMP +#endif + + +/* +@@ LUA_PATH and LUA_CPATH are the names of the environment variables that +@* Lua check to set its paths. +@@ LUA_INIT is the name of the environment variable that Lua +@* checks for initialization code. +** CHANGE them if you want different names. +*/ +#define LUA_PATH "LUA_PATH" +#define LUA_CPATH "LUA_CPATH" +#define LUA_INIT "LUA_INIT" + + +/* +@@ LUA_PATH_DEFAULT is the default path that Lua uses to look for +@* Lua libraries. +@@ LUA_CPATH_DEFAULT is the default path that Lua uses to look for +@* C libraries. +** CHANGE them if your machine has a non-conventional directory +** hierarchy or if you want to install your libraries in +** non-conventional directories. +*/ +#if defined(_WIN32) +/* +** In Windows, any exclamation mark ('!') in the path is replaced by the +** path of the directory of the executable file of the current process. +*/ +#define LUA_LDIR "!\\lua\\" +#define LUA_CDIR "!\\" +#define LUA_PATH_DEFAULT \ + ".\\?.lua;" LUA_LDIR"?.lua;" LUA_LDIR"?\\init.lua;" \ + LUA_CDIR"?.lua;" LUA_CDIR"?\\init.lua" +#define LUA_CPATH_DEFAULT \ + ".\\?.dll;" LUA_CDIR"?.dll;" LUA_CDIR"loadall.dll;" \ + LUA_CDIR"clibs\\?.dll;" LUA_CDIR"clibs\\loadall.dll;" \ + ".\\?51.dll;" LUA_CDIR"?51.dll;" LUA_CDIR"clibs\\?51.dll" + +#else +#define LUA_ROOT "/usr/local/" +#define LUA_LDIR LUA_ROOT "share/lua/5.1/" +#define LUA_CDIR LUA_ROOT "lib/lua/5.1/" +#define LUA_PATH_DEFAULT \ + "./?.lua;" LUA_LDIR"?.lua;" LUA_LDIR"?/init.lua;" \ + LUA_CDIR"?.lua;" LUA_CDIR"?/init.lua" +#define LUA_CPATH_DEFAULT \ + "./?.so;" LUA_CDIR"?.so;" LUA_CDIR"loadall.so;" \ + "./lib?51.so;" LUA_CDIR"lib?51.so" +#endif + + +/* +@@ LUA_DIRSEP is the directory separator (for submodules). +** CHANGE it if your machine does not use "/" as the directory separator +** and is not Windows. (On Windows Lua automatically uses "\".) +*/ +#if defined(_WIN32) +#define LUA_DIRSEP "\\" +#else +#define LUA_DIRSEP "/" +#endif + + +/* +@@ LUA_PATHSEP is the character that separates templates in a path. +@@ LUA_PATH_MARK is the string that marks the substitution points in a +@* template. +@@ LUA_EXECDIR in a Windows path is replaced by the executable's +@* directory. +@@ LUA_IGMARK is a mark to ignore all before it when bulding the +@* luaopen_ function name. +** CHANGE them if for some reason your system cannot use those +** characters. (E.g., if one of those characters is a common character +** in file/directory names.) Probably you do not need to change them. +*/ +#define LUA_PATHSEP ";" +#define LUA_PATH_MARK "?" +#define LUA_EXECDIR "!" +#define LUA_IGMARK "-" + + +/* +@@ LUA_INTEGER is the integral type used by lua_pushinteger/lua_tointeger. +** CHANGE that if ptrdiff_t is not adequate on your machine. (On most +** machines, ptrdiff_t gives a good choice between int or long.) +*/ +#define LUA_INTEGER ptrdiff_t + + +/* +@@ LUA_API is a mark for all core API functions. +@@ LUALIB_API is a mark for all standard library functions. +** CHANGE them if you need to define those functions in some special way. +** For instance, if you want to create one Windows DLL with the core and +** the libraries, you may want to use the following definition (define +** LUA_BUILD_AS_DLL to get it). +*/ +#if defined(LUA_BUILD_AS_DLL) + +#if defined(LUA_CORE) || defined(LUA_LIB) +#define LUA_API __declspec(dllexport) +#else +#define LUA_API __declspec(dllimport) +#endif + +#else + +#define LUA_API extern + +#endif + +/* more often than not the libs go together with the core */ +#define LUALIB_API LUA_API + + +/* +@@ LUAI_FUNC is a mark for all extern functions that are not to be +@* exported to outside modules. +@@ LUAI_DATA is a mark for all extern (const) variables that are not to +@* be exported to outside modules. +** CHANGE them if you need to mark them in some special way. Elf/gcc +** (versions 3.2 and later) mark them as "hidden" to optimize access +** when Lua is compiled as a shared library. +*/ +#if defined(luaall_c) +#define LUAI_FUNC static +#define LUAI_DATA /* empty */ + +#elif defined(__GNUC__) && ((__GNUC__*100 + __GNUC_MINOR__) >= 302) && \ + defined(__ELF__) +#define LUAI_FUNC __attribute__((visibility("hidden"))) extern +#define LUAI_DATA LUAI_FUNC + +#else +#define LUAI_FUNC extern +#define LUAI_DATA extern +#endif + + + +/* +@@ LUA_QL describes how error messages quote program elements. +** CHANGE it if you want a different appearance. +*/ +#define LUA_QL(x) "'" x "'" +#define LUA_QS LUA_QL("%s") + + +/* +@@ LUA_IDSIZE gives the maximum size for the description of the source +@* of a function in debug information. +** CHANGE it if you want a different size. +*/ +#define LUA_IDSIZE 60 + + +/* +** {================================================================== +** Stand-alone configuration +** =================================================================== +*/ + +#if defined(lua_c) || defined(luaall_c) + +/* +@@ lua_stdin_is_tty detects whether the standard input is a 'tty' (that +@* is, whether we're running lua interactively). +** CHANGE it if you have a better definition for non-POSIX/non-Windows +** systems. +*/ +#if defined(LUA_USE_ISATTY) +#include +#define lua_stdin_is_tty() isatty(0) +#elif defined(LUA_WIN) +#include +#include +#define lua_stdin_is_tty() _isatty(_fileno(stdin)) +#else +#define lua_stdin_is_tty() 1 /* assume stdin is a tty */ +#endif + + +/* +@@ LUA_PROMPT is the default prompt used by stand-alone Lua. +@@ LUA_PROMPT2 is the default continuation prompt used by stand-alone Lua. +** CHANGE them if you want different prompts. (You can also change the +** prompts dynamically, assigning to globals _PROMPT/_PROMPT2.) +*/ +#define LUA_PROMPT "> " +#define LUA_PROMPT2 ">> " + + +/* +@@ LUA_PROGNAME is the default name for the stand-alone Lua program. +** CHANGE it if your stand-alone interpreter has a different name and +** your system is not able to detect that name automatically. +*/ +#define LUA_PROGNAME "lua" + + +/* +@@ LUA_MAXINPUT is the maximum length for an input line in the +@* stand-alone interpreter. +** CHANGE it if you need longer lines. +*/ +#define LUA_MAXINPUT 512 + + +/* +@@ lua_readline defines how to show a prompt and then read a line from +@* the standard input. +@@ lua_saveline defines how to "save" a read line in a "history". +@@ lua_freeline defines how to free a line read by lua_readline. +** CHANGE them if you want to improve this functionality (e.g., by using +** GNU readline and history facilities). +*/ +#if defined(LUA_USE_READLINE) +#include +#include +#include +#define lua_readline(L,b,p) ((void)L, ((b)=readline(p)) != NULL) +#define lua_saveline(L,idx) \ + if (lua_strlen(L,idx) > 0) /* non-empty line? */ \ + add_history(lua_tostring(L, idx)); /* add it to history */ +#define lua_freeline(L,b) ((void)L, free(b)) +#else +#define lua_readline(L,b,p) \ + ((void)L, fputs(p, stdout), fflush(stdout), /* show prompt */ \ + fgets(b, LUA_MAXINPUT, stdin) != NULL) /* get line */ +#define lua_saveline(L,idx) { (void)L; (void)idx; } +#define lua_freeline(L,b) { (void)L; (void)b; } +#endif + +#endif + +/* }================================================================== */ + + +/* +@@ LUAI_GCPAUSE defines the default pause between garbage-collector cycles +@* as a percentage. +** CHANGE it if you want the GC to run faster or slower (higher values +** mean larger pauses which mean slower collection.) You can also change +** this value dynamically. +*/ +#define LUAI_GCPAUSE 200 /* 200% (wait memory to double before next GC) */ + + +/* +@@ LUAI_GCMUL defines the default speed of garbage collection relative to +@* memory allocation as a percentage. +** CHANGE it if you want to change the granularity of the garbage +** collection. (Higher values mean coarser collections. 0 represents +** infinity, where each step performs a full collection.) You can also +** change this value dynamically. +*/ +#define LUAI_GCMUL 200 /* GC runs 'twice the speed' of memory allocation */ + + + +/* +@@ LUA_COMPAT_GETN controls compatibility with old getn behavior. +** CHANGE it (define it) if you want exact compatibility with the +** behavior of setn/getn in Lua 5.0. +*/ +#undef LUA_COMPAT_GETN + +/* +@@ LUA_COMPAT_LOADLIB controls compatibility about global loadlib. +** CHANGE it to undefined as soon as you do not need a global 'loadlib' +** function (the function is still available as 'package.loadlib'). +*/ +#undef LUA_COMPAT_LOADLIB + +/* +@@ LUA_COMPAT_VARARG controls compatibility with old vararg feature. +** CHANGE it to undefined as soon as your programs use only '...' to +** access vararg parameters (instead of the old 'arg' table). +*/ +#define LUA_COMPAT_VARARG + +/* +@@ LUA_COMPAT_MOD controls compatibility with old math.mod function. +** CHANGE it to undefined as soon as your programs use 'math.fmod' or +** the new '%' operator instead of 'math.mod'. +*/ +#define LUA_COMPAT_MOD + +/* +@@ LUA_COMPAT_LSTR controls compatibility with old long string nesting +@* facility. +** CHANGE it to 2 if you want the old behaviour, or undefine it to turn +** off the advisory error when nesting [[...]]. +*/ +#define LUA_COMPAT_LSTR 1 + +/* +@@ LUA_COMPAT_GFIND controls compatibility with old 'string.gfind' name. +** CHANGE it to undefined as soon as you rename 'string.gfind' to +** 'string.gmatch'. +*/ +#define LUA_COMPAT_GFIND + +/* +@@ LUA_COMPAT_OPENLIB controls compatibility with old 'luaL_openlib' +@* behavior. +** CHANGE it to undefined as soon as you replace to 'luaL_register' +** your uses of 'luaL_openlib' +*/ +#define LUA_COMPAT_OPENLIB + + + +/* +@@ luai_apicheck is the assert macro used by the Lua-C API. +** CHANGE luai_apicheck if you want Lua to perform some checks in the +** parameters it gets from API calls. This may slow down the interpreter +** a bit, but may be quite useful when debugging C code that interfaces +** with Lua. A useful redefinition is to use assert.h. +*/ +#if defined(LUA_USE_APICHECK) +#include +#define luai_apicheck(L,o) { (void)L; assert(o); } +#else +#define luai_apicheck(L,o) { (void)L; } +#endif + + +/* +@@ LUAI_BITSINT defines the number of bits in an int. +** CHANGE here if Lua cannot automatically detect the number of bits of +** your machine. Probably you do not need to change this. +*/ +/* avoid overflows in comparison */ +#if INT_MAX-20 < 32760 +#define LUAI_BITSINT 16 +#elif INT_MAX > 2147483640L +/* int has at least 32 bits */ +#define LUAI_BITSINT 32 +#else +#error "you must define LUA_BITSINT with number of bits in an integer" +#endif + + +/* +@@ LUAI_UINT32 is an unsigned integer with at least 32 bits. +@@ LUAI_INT32 is an signed integer with at least 32 bits. +@@ LUAI_UMEM is an unsigned integer big enough to count the total +@* memory used by Lua. +@@ LUAI_MEM is a signed integer big enough to count the total memory +@* used by Lua. +** CHANGE here if for some weird reason the default definitions are not +** good enough for your machine. (The definitions in the 'else' +** part always works, but may waste space on machines with 64-bit +** longs.) Probably you do not need to change this. +*/ +#if LUAI_BITSINT >= 32 +#define LUAI_UINT32 unsigned int +#define LUAI_INT32 int +#define LUAI_MAXINT32 INT_MAX +#define LUAI_UMEM size_t +#define LUAI_MEM ptrdiff_t +#else +/* 16-bit ints */ +#define LUAI_UINT32 unsigned long +#define LUAI_INT32 long +#define LUAI_MAXINT32 LONG_MAX +#define LUAI_UMEM unsigned long +#define LUAI_MEM long +#endif + + +/* +@@ LUAI_MAXCALLS limits the number of nested calls. +** CHANGE it if you need really deep recursive calls. This limit is +** arbitrary; its only purpose is to stop infinite recursion before +** exhausting memory. +*/ +#define LUAI_MAXCALLS 20000 + + +/* +@@ LUAI_MAXCSTACK limits the number of Lua stack slots that a C function +@* can use. +** CHANGE it if you need lots of (Lua) stack space for your C +** functions. This limit is arbitrary; its only purpose is to stop C +** functions to consume unlimited stack space. (must be smaller than +** -LUA_REGISTRYINDEX) +*/ +#define LUAI_MAXCSTACK 8000 + + + +/* +** {================================================================== +** CHANGE (to smaller values) the following definitions if your system +** has a small C stack. (Or you may want to change them to larger +** values if your system has a large C stack and these limits are +** too rigid for you.) Some of these constants control the size of +** stack-allocated arrays used by the compiler or the interpreter, while +** others limit the maximum number of recursive calls that the compiler +** or the interpreter can perform. Values too large may cause a C stack +** overflow for some forms of deep constructs. +** =================================================================== +*/ + + +/* +@@ LUAI_MAXCCALLS is the maximum depth for nested C calls (short) and +@* syntactical nested non-terminals in a program. +*/ +#define LUAI_MAXCCALLS 200 + + +/* +@@ LUAI_MAXVARS is the maximum number of local variables per function +@* (must be smaller than 250). +*/ +#define LUAI_MAXVARS 200 + + +/* +@@ LUAI_MAXUPVALUES is the maximum number of upvalues per function +@* (must be smaller than 250). +*/ +#define LUAI_MAXUPVALUES 60 + + +/* +@@ LUAL_BUFFERSIZE is the buffer size used by the lauxlib buffer system. +*/ +#define LUAL_BUFFERSIZE BUFSIZ + +/* }================================================================== */ + + + + +/* +** {================================================================== +@@ LUA_NUMBER is the type of numbers in Lua. +** CHANGE the following definitions only if you want to build Lua +** with a number type different from double. You may also need to +** change lua_number2int & lua_number2integer. +** =================================================================== +*/ + +#define LUA_NUMBER_DOUBLE +#define LUA_NUMBER double + +/* +@@ LUAI_UACNUMBER is the result of an 'usual argument conversion' +@* over a number. +*/ +#define LUAI_UACNUMBER double + + +/* +@@ LUA_NUMBER_SCAN is the format for reading numbers. +@@ LUA_NUMBER_FMT is the format for writing numbers. +@@ lua_number2str converts a number to a string. +@@ LUAI_MAXNUMBER2STR is maximum size of previous conversion. +@@ lua_str2number converts a string to a number. +*/ +#define LUA_NUMBER_SCAN "%lf" +#define LUA_NUMBER_FMT "%.14g" +#define lua_number2str(s,n) sprintf((s), LUA_NUMBER_FMT, (n)) +#define LUAI_MAXNUMBER2STR 32 /* 16 digits, sign, point, and \0 */ +#define lua_str2number(s,p) strtod((s), (p)) + + +/* +@@ The luai_num* macros define the primitive operations over numbers. +*/ +#if defined(LUA_CORE) +#include +#define luai_numadd(a,b) ((a)+(b)) +#define luai_numsub(a,b) ((a)-(b)) +#define luai_nummul(a,b) ((a)*(b)) +#define luai_numdiv(a,b) ((a)/(b)) +#define luai_nummod(a,b) ((a) - floor((a)/(b))*(b)) +#define luai_numpow(a,b) (pow(a,b)) +#define luai_numunm(a) (-(a)) +#define luai_numeq(a,b) ((a)==(b)) +#define luai_numlt(a,b) ((a)<(b)) +#define luai_numle(a,b) ((a)<=(b)) +#define luai_numisnan(a) (!luai_numeq((a), (a))) +#endif + + +/* +@@ lua_number2int is a macro to convert lua_Number to int. +@@ lua_number2integer is a macro to convert lua_Number to lua_Integer. +** CHANGE them if you know a faster way to convert a lua_Number to +** int (with any rounding method and without throwing errors) in your +** system. In Pentium machines, a naive typecast from double to int +** in C is extremely slow, so any alternative is worth trying. +*/ + +/* On a Pentium, resort to a trick */ +#if defined(LUA_NUMBER_DOUBLE) && !defined(LUA_ANSI) && !defined(__SSE2__) && \ + (defined(__i386) || defined (_M_IX86) || defined(__i386__)) + +/* On a Microsoft compiler, use assembler */ +#if defined(_MSC_VER) + +#define lua_number2int(i,d) __asm fld d __asm fistp i +#define lua_number2integer(i,n) lua_number2int(i, n) + +/* the next trick should work on any Pentium, but sometimes clashes + with a DirectX idiosyncrasy */ +#else + +union luai_Cast { double l_d; long l_l; }; +#define lua_number2int(i,d) \ + { volatile union luai_Cast u; u.l_d = (d) + 6755399441055744.0; (i) = u.l_l; } +#define lua_number2integer(i,n) lua_number2int(i, n) + +#endif + + +/* this option always works, but may be slow */ +#else +#define lua_number2int(i,d) ((i)=(int)(d)) +#define lua_number2integer(i,d) ((i)=(lua_Integer)(d)) + +#endif + +/* }================================================================== */ + + +/* +@@ LUAI_USER_ALIGNMENT_T is a type that requires maximum alignment. +** CHANGE it if your system requires alignments larger than double. (For +** instance, if your system supports long doubles and they must be +** aligned in 16-byte boundaries, then you should add long double in the +** union.) Probably you do not need to change this. +*/ +#define LUAI_USER_ALIGNMENT_T union { double u; void *s; long l; } + + +/* +@@ LUAI_THROW/LUAI_TRY define how Lua does exception handling. +** CHANGE them if you prefer to use longjmp/setjmp even with C++ +** or if want/don't to use _longjmp/_setjmp instead of regular +** longjmp/setjmp. By default, Lua handles errors with exceptions when +** compiling as C++ code, with _longjmp/_setjmp when asked to use them, +** and with longjmp/setjmp otherwise. +*/ +#if defined(__cplusplus) +/* C++ exceptions */ +#define LUAI_THROW(L,c) throw(c) +#define LUAI_TRY(L,c,a) try { a } catch(...) \ + { if ((c)->status == 0) (c)->status = -1; } +#define luai_jmpbuf int /* dummy variable */ + +#elif defined(LUA_USE_ULONGJMP) +/* in Unix, try _longjmp/_setjmp (more efficient) */ +#define LUAI_THROW(L,c) _longjmp((c)->b, 1) +#define LUAI_TRY(L,c,a) if (_setjmp((c)->b) == 0) { a } +#define luai_jmpbuf jmp_buf + +#else +/* default handling with long jumps */ +#define LUAI_THROW(L,c) longjmp((c)->b, 1) +#define LUAI_TRY(L,c,a) if (setjmp((c)->b) == 0) { a } +#define luai_jmpbuf jmp_buf + +#endif + + +/* +@@ LUA_MAXCAPTURES is the maximum number of captures that a pattern +@* can do during pattern-matching. +** CHANGE it if you need more captures. This limit is arbitrary. +*/ +#define LUA_MAXCAPTURES 32 + + +/* +@@ lua_tmpnam is the function that the OS library uses to create a +@* temporary name. +@@ LUA_TMPNAMBUFSIZE is the maximum size of a name created by lua_tmpnam. +** CHANGE them if you have an alternative to tmpnam (which is considered +** insecure) or if you want the original tmpnam anyway. By default, Lua +** uses tmpnam except when POSIX is available, where it uses mkstemp. +*/ +#if defined(loslib_c) || defined(luaall_c) + +#if defined(LUA_USE_MKSTEMP) +#include +#define LUA_TMPNAMBUFSIZE 32 +#define lua_tmpnam(b,e) { \ + strcpy(b, "/tmp/lua_XXXXXX"); \ + e = mkstemp(b); \ + if (e != -1) close(e); \ + e = (e == -1); } + +#else +#define LUA_TMPNAMBUFSIZE L_tmpnam +#define lua_tmpnam(b,e) { e = (tmpnam(b) == NULL); } +#endif + +#endif + + +/* +@@ lua_popen spawns a new process connected to the current one through +@* the file streams. +** CHANGE it if you have a way to implement it in your system. +*/ +#if defined(LUA_USE_POPEN) + +#define lua_popen(L,c,m) ((void)L, fflush(NULL), popen(c,m)) +#define lua_pclose(L,file) ((void)L, (pclose(file) != -1)) + +#elif defined(LUA_WIN) + +#define lua_popen(L,c,m) ((void)L, _popen(c,m)) +#define lua_pclose(L,file) ((void)L, (_pclose(file) != -1)) + +#else + +#define lua_popen(L,c,m) ((void)((void)c, m), \ + luaL_error(L, LUA_QL("popen") " not supported"), (FILE*)0) +#define lua_pclose(L,file) ((void)((void)L, file), 0) + +#endif + +/* +@@ LUA_DL_* define which dynamic-library system Lua should use. +** CHANGE here if Lua has problems choosing the appropriate +** dynamic-library system for your platform (either Windows' DLL, Mac's +** dyld, or Unix's dlopen). If your system is some kind of Unix, there +** is a good chance that it has dlopen, so LUA_DL_DLOPEN will work for +** it. To use dlopen you also need to adapt the src/Makefile (probably +** adding -ldl to the linker options), so Lua does not select it +** automatically. (When you change the makefile to add -ldl, you must +** also add -DLUA_USE_DLOPEN.) +** If you do not want any kind of dynamic library, undefine all these +** options. +** By default, _WIN32 gets LUA_DL_DLL and MAC OS X gets LUA_DL_DYLD. +*/ +#if defined(LUA_USE_DLOPEN) +#define LUA_DL_DLOPEN +#endif + +#if defined(LUA_WIN) +#define LUA_DL_DLL +#endif + + +/* +@@ LUAI_EXTRASPACE allows you to add user-specific data in a lua_State +@* (the data goes just *before* the lua_State pointer). +** CHANGE (define) this if you really need that. This value must be +** a multiple of the maximum alignment required for your machine. +*/ +#define LUAI_EXTRASPACE 0 + + +/* +@@ luai_userstate* allow user-specific actions on threads. +** CHANGE them if you defined LUAI_EXTRASPACE and need to do something +** extra when a thread is created/deleted/resumed/yielded. +*/ +#define luai_userstateopen(L) ((void)L) +#define luai_userstateclose(L) ((void)L) +#define luai_userstatethread(L,L1) ((void)L) +#define luai_userstatefree(L) ((void)L) +#define luai_userstateresume(L,n) ((void)L) +#define luai_userstateyield(L,n) ((void)L) + + +/* +@@ LUA_INTFRMLEN is the length modifier for integer conversions +@* in 'string.format'. +@@ LUA_INTFRM_T is the integer type correspoding to the previous length +@* modifier. +** CHANGE them if your system supports long long or does not support long. +*/ + +#if defined(LUA_USELONGLONG) + +#define LUA_INTFRMLEN "ll" +#define LUA_INTFRM_T long long + +#else + +#define LUA_INTFRMLEN "l" +#define LUA_INTFRM_T long + +#endif + + + +/* =================================================================== */ + +/* +** Local configuration. You can use this space to add your redefinitions +** without modifying the main part of the file. +*/ + + + +#endif + diff --git a/vendor/lua/5.1/include/lualib.h b/vendor/lua/5.1/include/lualib.h new file mode 100644 index 000000000..469417f67 --- /dev/null +++ b/vendor/lua/5.1/include/lualib.h @@ -0,0 +1,53 @@ +/* +** $Id: lualib.h,v 1.36.1.1 2007/12/27 13:02:25 roberto Exp $ +** Lua standard libraries +** See Copyright Notice in lua.h +*/ + + +#ifndef lualib_h +#define lualib_h + +#include "lua.h" + + +/* Key to file-handle type */ +#define LUA_FILEHANDLE "FILE*" + + +#define LUA_COLIBNAME "coroutine" +LUALIB_API int (luaopen_base) (lua_State *L); + +#define LUA_TABLIBNAME "table" +LUALIB_API int (luaopen_table) (lua_State *L); + +#define LUA_IOLIBNAME "io" +LUALIB_API int (luaopen_io) (lua_State *L); + +#define LUA_OSLIBNAME "os" +LUALIB_API int (luaopen_os) (lua_State *L); + +#define LUA_STRLIBNAME "string" +LUALIB_API int (luaopen_string) (lua_State *L); + +#define LUA_MATHLIBNAME "math" +LUALIB_API int (luaopen_math) (lua_State *L); + +#define LUA_DBLIBNAME "debug" +LUALIB_API int (luaopen_debug) (lua_State *L); + +#define LUA_LOADLIBNAME "package" +LUALIB_API int (luaopen_package) (lua_State *L); + + +/* open all previous libraries */ +LUALIB_API void (luaL_openlibs) (lua_State *L); + + + +#ifndef lua_assert +#define lua_assert(x) ((void)0) +#endif + + +#endif diff --git a/vendor/lua/5.1/linux/liblua5.1.a b/vendor/lua/5.1/linux/liblua5.1.a new file mode 100644 index 0000000000000000000000000000000000000000..ce7e09844f809bb9a31cd7b410968b303bf1c52a GIT binary patch literal 347548 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

Vb8=$@bfniBz?3jz)#P|gA!22#4} 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

JIGfOf+y41m@F)(0J2fLS0Jyu2Tx*^)h-u_AoFo zyaUm(d=Aa5Z7iURF`2eOZp8$x7lz$uxfZ0xiBF&hbhTz1vm>8EGm97B1qY@HT;Kyy z9Kk2IIC6vbB*V@O1@C8ef!xgq@*C_vOYo9S@L4lHd_B7FAftOg>)M?_ zXT~_e&x~;eof+fKXVAvx2s$&yoo|CH^KM2QhsH24Fo4Ye0`&{%&OV4;A$%JgnCc)G zjyiIK`~;fl2H6R|e+!(>T=*o~m|Z~WEEtk*o%lFBxZ~k$H|~5SHfVo93}`rrfq~&8 z$RIyHgJ$M7@PRlU+%@21aiY2SIDEM)!2SfS>F$B52j39~4o6o|IJ$z);X#BWlRM-v zBKQG3?w~jVrPni1{h)LHK~{qD%LAxbK4{L^3lzt`J*<7qp?m@TOuZ~j8@c#6oVl6B zn7Q~kz;~H~&a4&zjr}k%F!X^80f#sEj2>4$g<6buneH9ViWanUK*=M_se3T`4AMO zpezmYJ`98M9*BJ#v=Ix$fMQS@fHJ`pXnzkVioqNt!T`EyBLY^#_19L@_WhM1mxd^n=_A;=+VsXBC06CP*BH*MQbDF)%QI*2=)dKs37lL3>xw z#X#yhK$jhW>L^g51Py;so`u;D3;#s$Sttw)=;5~j*71Nj6l5qgy+D~@3UuZ^Hv3N` zfu$K>dyPTy587UaZhr~Xe(3e45KW*nSwM{z1_lP0dYA-^52Hb6q=1|VDq~@4K=cZz ze$ak05Fds?YC&um4LZLa#s-PQ@MWle7#~KXs|DQ`1QJ7!zZ+2f9iZ|arWuQWKy@Fs z@S6cWV1EJBU{Lsh+CMOV!{QGljvjX)>k>dK#~2tGaNTzdQUk)++zt}I0NTjLz`*bW zTBw8K2Xy}py8WOy#b*Br&?P_&3=C;#o&(tjGM^9zsiWmtOQ384J{t(?5ODjAfq?FCIue>|A_so0)-u0n`Boi64N*AGn>&z`y`1Z$RR(bL+uv zVFm^U(C`;X9JZGW+!lu0i(Wc2fX@pAsXqV>d{Ei|DF?N2LE^BzU*PsJNCJHJ6Q~4$ za-bAwd>^E~0Gdw0?P3N7hAi;@GDZdksMWCW0p(Yade{}O;5I7*0|V&nCXjdlG=aeG zs{oCr1EAF)IA%Z;@~zY z0|NsnTtVs`pcNA+KY_dkx(^m4{s1ZtZa*@BRwptrfW$X|G7hXw$iTpG4Q4(lp))Wr zfZKiy3=E(?3rKwcG@@W_x(`tG3!viQb{zu)!#Ak70O+6!SlbQiZ;&|)pyJ@R7y|QHBaKFfg2iir+^F!CA}<(1Q=*A`A@Yahyf<6o>eC z9OAg{#g)Wy7L_IraZ4QHUO2>KaEOD-6=;!%_2D?gQ*nrw;1I9HA>M*R z9Mqn`=FWLI)Gxy!z7~f#=w3i<<{!bK{vrwwO##V3|lfQiR2 zu*K)+rNXBFz<9z0&$H&1o+Bh@GZ%Ph9JHPh%f^Y79heBL>L-?Nw6kEur5QeGWdPTpc|AS zW`H#rLDYlw8i7qU0_!yb>oo%FH3C~~1h&b@oPp4hexTR}ohuJMd=7rBU3`2p=#ahm zl6-Ld$LHiHLk^%TK)JWqCms~8c#gWmJjD-umLBpMd>|809D#auFxUnp^{}G{5iSHL zA+QT!Vo6{g*hi?x=^-B&2(mXhIVZokv0a5W<|&M36O*BPc-}_?6=z4)UGOAbxRbNp5OMB6z-*fdSsG1$Dzg zeHYjnH=uDVP#FmlN4|F!bcZWU95n6QHAKBh-Nai5h%MI&~35r2cE9@#yAki?PQBM9y1gWQQ6 zK88r*ps_%hdmNC&k;5kwNgO$RDv-pH%~^~jj_l42NaCPA7|hkA)NgO%ery_}i?vRCh8=87dAk2UL!wfGQ`@ybE;b z0b~wx_$x!jLFz$cy)b+ApyD9)$non86$hyY&2_-k`$EM*>XH4s6iFO8UUnjhBZu=- zByrH34$ORAUWi9P<|Ee&PDtX&=3DR~)W;&V6C9x8AoqjDz+vY5;Seu{ii7M$HfJJ| zII=r8Ac-TZKZQg51(GbJUT6ki?P8&qgG1TL~3MSMLIyKLDu*jRnKZPe&35&Go>ByrGGFwDRH&;fpsImlILMu#LuX*(XQ1LBb3jwlFmWT$ z!VhS?Bgbz9l6V?YIWq-G9Jw8}42Sqj9O6H5h^Ij3!$9st4z~&%;yp;>p!=F&{#uSC zjvSt^ki?P8u?WzCve0lqHm4Iw9CU6e%>36#;>h`>Tnz!pt z;>h*RNhER595l@R_mISq!}$f0cs7#z-$TVg;b4y>{s$@!3J2tJMhdhb5gHE2^`<3~ zcn*>|SxDl@{%S-LNA}k;9O4&|#F69uKax0d{iOq)M+dndIbGS|5Kl!C&qZ?oAtZ6+ z^m86bJP%2|3Uu5Y6rP}^O|W>;MiK{&DZ#{zq2eHSg61Y+;#N>`kU5S>=DS11LFx;U z#QmV+AoWg2;?YoXkb2N&4w(5_NaDpv>II2%+P+WiF`R0YNzP;qFt z11ttIX9-js+I)kH!|q;yE+>SGi$T>xt5dkR6jU5qY{SLnpyJT%1s7L>ii6TNvisGb z;-EBxEUpC=2lZi*#qU7HL47o2aU-ZWs7;G3ZUz+xwF!~Mt)SwdHVm>j4|Mzpl-H2O zouKML>xPlV-Js&2v0P+v3#d7uF$ZLEKd5?8TqBDoK-GiVoXFx~Q1zfX1z8-n?hVwp zLKa^GH3!spKo(Denggn9kj1A!#X)5qvUn!6p9U(Ek;S8+{cup3gDhSMRS(Lu$l^&* z^{}(TL1_?#)1cyzyV*c%bRakjDh}Sv2pzWssn3IogVsACn_mPKhn+1BQVYUmP;uB^ z3y>HHS3$)=d!Uicse_8c#^FI~LAVJj4q7*btiBB@4%*L)EZzkbhuwh*G6RJBpyEqF zijn*^2`Ua-rvg$7!qcGQYtYosf{MfThk(?A@I0va7Buz6(0Bo#yMkozGN}4JXzEu% z#bN7CKxTvRI;i*&H1(UH;;=h{L25yG8&v!Zn)+Q(@e63;`=H`i(8Lcx#c!aAAA^eD zK@&d(6^E@a1i1x-%|M+h=z24d7LXVSi$TS~8%B}B=Or}U(9ei}3l)d0;{llg!XKgH zUqFT`vI2>LF|+~!t(QYK=NWW-3buC$td@a+feWf$ z0nPkCsCw9a&oK2uQ1zg*jF8QL4t0+XnmJNX^|1X(FmvRf;;?=*O#Cy{9N4-jm^f_R zJm{`LWP2Y%`{9uFa*#3!q~|GA+y%`&FQMWdXyR|7;-GU$kpR2+5}I7lrBn?l9W?`*JyiqAkZ#}+C+2Tj}&Dh|7A4P-V5yF$g6psDwS zimyNu_l1hDK@$&zio@cM;8 z7#J8}?O2dFNIh)bG_1V}5(lXVtz!l`3DzzJiG$R`)+58(pCECN`rjbM3=9mgb|y$1 zq#m|j8`ho#iG$R`)^EbvjUaK5df0k)So;tp4pM&!YCfzT2oeXWhpjhLF?y0R>Rt3AaRg-ZV&^yUL7P4 z;)2w}*2}}%S0HhadO;9_fq?S61?VeKW5I7mI{s2PyCuyzqh9Hbt$p8(eW z0f~duOM@5;3=FV#4u}g<4{K+@+A|<=ka}ehgMono)@}iDLF!@Y9;Oc@4pOfUV!+OV z1+8a?=1GtnK^T_aKxTk2NDPG0+w(AUVc`i<3&Jpa(c6bG|Dv~lVEZS~+aa*{La*Op z=?cC6h3%6-uSa0}A<)YoSp0%Jj?gdwxgVBKb-)}%{RK;(pugFG8C4nd+tp`dcpqT!; zZvxmwU_r16&_jJZIuC*mFS-vsS?YBM{0uONM_}$l4_D%y*Lt8d8C^GuYoQ?xiiFl` z(79Wk_racpxU=&p{>NZjDDk4u+hmc6b6flwhWN zpg08@z$hwEIIRa@ZsTtOja7gH8%2dj=Ob{Oz$|DzP$C6)DAEDokTW9TGBEeUjNc0? z%^;?OPMd<629pNMI5z)btka(W4$0=DkTVcb6hPw*rrFW*P3iiq*(fN5FXkij412n&Z9^?uNiPi(qJ1s!RUGlr$f;tp& zN+4)i0t2XchhNI!(fJ-4jnIQ6n~!jSPicpoJ?$6@H4$`r>lLVZq2N2L z<>A55dH{TaF6iQNum|pe{0Kca5ZyjV((>ti2|BbLdKC-Qm!SLTppgg-3`oHMN={N9 zoyQ?^us{GE@dmjw4dQIjDVLz2^XYsHRtPf`!U1I?n4e$jfzHOB0CT=iuL?8x2)Xy5 zf)DC!-_|Gmtq!0gznhP67~Td4JJ?2ODgY@3*#i~S3f9wB}BKV<|tp`e6!N>H$oM3nWbkZ{isJS8l zYNJSiPt^sT#t%uSC_eJ+Jo0)qkY0kEOaLhCrJ zlrTK$0Xp&)w0RPoj^BaIhhB&RPsgZ%*?9~U427T*n8CTA#06U5z55M1JMkIVock{x zfKC8EP@>-agQwU1f_|SkOQ+lI**pfLS5ko5(1U&hd>^&0K2nP1{{i5tOu6|Al3I@$bS9* z|Mhhw_rRJ5*veyYX21W!6J#0axZtBD{7@lKx&@c6%||%Ewt~u1$l0q9d$xZ0{~x8G zg|)YWcY!(susb;*5en+Ag8TtBRTJD01f7Eli8Yj@2uTi|5E;-BkD!JH*cf=Y-3MnN zu$bWi=p|k7Gxf3h7gTs2MQOQ$(*rngZ~y-Pzw;>AldW$-S93tD2HOF1v_~(VHumFY81VsEJ`WM$h{R@xIub!P}z&b!hXF9Z+fcpxZWI-W> zBI48e5Ud5&IiO=;?}M^7xF-TmhY$tLM2~AKS!Pm$64dJ`UYNNEHu zpkejW{TG3tMtU!Jt^uYGA!!1Z1eXIIo%eTvR#rp(4E7=@WrB)-WU-x~auFl}Dyoqs zKw=2Ro%g{9X@g<}W^E_3b35;Y8`Ee8zz#7*R*LB6F))DlZYh9z)|q+f3c2|yr8%hz z>Z--+3TZ|8xe95SP_7jhrz&VIMoxZy0rV)$vdsL_Vg;NAfE>!epk9!eoSm4Sst2+n zwWwHKA-A-+L?J0vAyEOgzX_yLJr``Xxv1&InirHP1BOyTAg6s3ZU z#AO~AXI{Pnc)OJX%mq*#(IDS}mKTGpWzf^N*UKqQwAL>zF4E7*PfpCyFV09TO4ZLP zP1HBlGbAXjpP83gf^I}kW)f}#P$c2n!LDHdyQerG**Pf6^>E99LL)IJ2c$wzKPNNE z-qaApM)DZ4NeBfD@jm{JF0L*NAOlj1iWwLnQ2|K>py)`;FU?D_QY~i4OUzAGNY2ko z%gIbGQAo=#LQXIY@qUiJt_<(+f`&x@rQ$c$JA@(yAr52WE7J(L8LgRGEQtr;qRtg%SNu_xurTRXZd5J~& z3MP8ydPcfNrC>orO$eWX0Xl`kz*rT;z*r%`D9yvp0h<2;t=$1(P#A#Lurhcxv$Qe$ z^C|Q&F*);bFo4$Hz}Ck^g9<|M`G6jv^8vxph4gz%N<8T5^D}&}TVCzNNq3U}< z=V11L&aG@?0iPr1#kYYGbR3_CBlx&S$N`W}+@K~UZ0sI<9-kwhKpT?>=*&rXJ_V*S zJ_$GQ37Q~vu(5W~dPLBOkvmU~}%E+vFI)XHk0cN%Sy#qnt%~ z2kk6MS8k>xE zY!v7u#Wv<1CZ=7WGw?v;_+b4E3=FNP@{y3!KOuWcVe@#PwU`h;!os463lQX(0xQ8>*_!RYS?DOPA3Jq4K}_$7o-j;J!Ek4 zarkpHfb9X@Ckc`Ub-y9@WP_{$rAv>BSio3e261V5{80su>s< zC^`$!f@m0bO$fQiF`q?E>X{keT2%Ba%X5^@H{wf!qb!--D!`0j8fB znnqx9AiF?pkRA{X3MUX7T|aCO32ZF{NG%A1)FRWMHFO{`boVzv=U`xSfgn8~42mxh z4a1;y!suZFl6wGh80gF_kl~;s_o3%W!Q2lEe^8zUDM9llg8_8S2D;hk{Cw#AA8gJT zWH$(#K=nhD0Z0gpL3V){Fd8%`3uA-CVK^SDAI68#=xTeR_M^K$0jhrnngq=MF!MlT zzvzAf%YhacGcYi~)|!BlBWT$UOg}9AKuc@U;|`?%2Q=MJ2XT-vy8A(VG$(>pUx4nl z@Bmo~&3B-+-{|&(ItJM6mw=wxI2FxvAp5`;5FkM6XnE!y$a-vN=z;2H&{=07c@PHI z^&kfL%sTW^3UNjsY|bBC_k+?sI9-532cj7k44{3-AoF2oQG)A!=sD6LaoE~caJ|mJ zzyMm04HEwV?twEffa`Gv1_sc2X^=QQ9hAK;jKh zCxPo*1_tn1T_EuU=-yUvJRB0J zYfQjg1_lPm+D8f#D~Z!3Iu`U?!CK2d3E=K zU}J!-*#U`xFk~$y8v|%e0K|u3J*fGUVFFMZvSx#g0sYK6E2w((@)oi-l8vDhsvkzV zLDi%C7qSMDjRAI+2~2$uRQ*<%0F;K*?`#bFpnMn=2UQPSgA5agtZ8IpcmxxG(pgaT zu(e-MVFpP1oQ(mtRu?8-237waCIF=&YZTd_=>jUqz`)Q1RsR=EP5d*7X9Ei0ILl5JhqyKlaVs3+&N#$_afrv^5YNIPUWr2-bOsK#@ae~) zekl&|O*q64;SdMa>)7nQjYIt_9OB<`h%@6jYmOg>xHt}RbsXZj&Jy&%q23>dcq9(- z6ddANIK&Hah=a}u!WPc0IMh$YA&%>e!Ob|-@5CVv+WUshJ(qB(zllTqIS%n}IK2B`u` zK+TPJF3Qg@fpcICpVCB-V(18JPEI^X8)Qti1Uzh;o?Ma(Rb0$akR1;)vKXWV!qD?^ zHUOUt2qKI@gb9cMpX_G_Vu4TnGY7FOK!hQf4>@Ph5-b4G4%UkQNI^redMt+tf=z%P zCJ442ex#tDkFycjS|hMtW3WnNuoH|8LAD!%?KKALG6p-^80>0eu#1hsdX2$)O~86h zz`9JpCYXTrnwa1|xG)~&oIBWgfQaMwkPpEtPAw_Phn%OEo>~H)IRTB>$0H8Z1D#A) zl3!Y!S_HcO0wP&i068@ebOax=Y03F{$%!RkHARW#>8T}|U^Yk@bci2h8fcyeERJ&M z9!OD6W_m^mid85F=7E$X<>%+5Cgy?lgZO2z!vjGF?Locb6AwC`5;D&OvM@ch1Tq{4 z>B&nF&yOo_mFmX>Lapb-2(MaORXRN`-=RoElyR#fgJ!nh@ zW_~A2`UZ>2hjF?nD`^8 zILLhDa0B%tVBv-wkH3-BgT@G8<{+P4iF~G+7|24XJCVZyc6S)aUgU5vMN*F(4xUKj z$muo=NgO#H#zMtG6teq^K>|?sfW{zT?r%U62TiKO#3vw$Bl~L&4)Lu}aS#Q%HV9@8 zsJ{RTPmq6+!x^@R0wj){uR-m6n0n;18n~c?tswJ}^R*mQ9Apl1_~_sew?q<04rgy9 zapZIb+q(fWANh=t9H@Gbdq8t%F#lFU#X;(k{ksxL966k~BZ(u2Gx$DaXgLO2fCDrC zG?IE`|K30nNA?%;nV-o1`h}z(**#n!heOi|XlxEt^g)33>62N0~+Ipi7O(BBcFAt2^9yK z0~)J^sW*U%gUmrbqtX^C4pNWo9$zGJh8-5J?=l{)L@|3$hov9kLHeJ#zYdiX@I4o=nhr9gusF)e9ntBikzh6$jZ1nrnvn zR}Cr-G6&gTW=P`5;bsdJ2blw!YlfNQ3Ka*LgM3C-5Ry1(&I+bJ8!8Sm2h;|JiC06# zLFORGV+WErvU{c?i6ghumLQ3P*4Mzy--#rS9BwzE;vn~c&clJJe+Cr?xd%BPu|X$5 zLFz%PBVp=!k;IYDW>kfWgUmtpml2XU@>y8+NaD!(F$75*xg1VJ5=TBGD+4MHawqax zfAvstkb98RZ4Z(-XigpGugOqxkU7ZynuR2e91hE&;vn;p{ksK89J#(Yh$If0LxtIU z2}vCJ46Y|g;-IxVF!h4ac}DTiG$W`z|_w{5=Tx~E0M&J(=+U>9gusF)$fI>2e}`#jR+zkolmo7nnJb zNaD!lPXbgNWIpm)g1Jy}kU7ZdrvxevQV+5hW_~r2IA{qFOuQK?4l)O{)&V9y0ZAM= zJt7ii6Z6_tRl##evi#_oEAt)FYqOSql{hsYf=y6GLG~i|FXlqU(al+fB#xYZHbTWg=77>CD35{i#crrL$Q1Kus{nx(dYIyC89pn_%mVU~^d@agcf^5Q71-_7-LiNPPmd zyats~DB{rm3@A>K#bN87Ky4&sao9R3P#+mt9Ja0s6ecinkb7X`iJ*0UFmaH3K=Z^P zKJ4rfkh4MRVP{>z&d>vigVclCMj-W|F;5T;5(8ln8-!v00*QezOg)SSiGeW8Ui7o_ zVC&AVfDD6JeYUk(omOhyJf*f2Ll z07^PQ?FMln@#nz6&%na~*)H7+8vbVh?IHK*2DPvm;CoO(+xZ}Sp*^~dLA#op4-0_T zb3yl>!?qNAbQg1gwuPOC?#_d64S~$oWacyE7lY<;K$n5#f_9&zq$ZVu8l@ly4JJ&& z{tb|`aqZy%jZcF19Dvk-^DlU9KX^ZcH=hEND|o@ZBOeE4YwfWtuBYE}dXU!`KxG6d z+dzj9z+xZ*lExSqzo5it*IA)_BlZH4M;7h>IT^Z?UI4_JAlMN76+*X@nJNmT>)aF z+Yg%ygO%AJJs=DUZx9W`pm0X_6G*ND8h)_z`at0aiX)I;LGrLQ-Jt#}$bQiH6i6I~ zVRZv&ybmS@qCskrX;6I%69b9EFyua87!N_Cs|D2=ATgxk39K0AZjk@L0#E|xekd2b zMj4y`VSPlHKSBNnbu(f5VdA*fw8PHX1ND<&c7bS+TR}7ogZSuf2g`v1n}LA=R_=nD zETCoqy8WPNLXUfpeg~++lOPTf2HA(i#mNMzqve`*kh>Wfpq>P+{YG*LwzcjcX=Wt# zAU+J^ULy^PF_r`o-A9JE8j?KyE|EpmUG0sh^KSJ!tJZHua!;U$KcZKpG$5`!{nklZruW zBtVyFrsjcpIPdoauUSY+EJiG4fiJ26t&0GygMhB`0C8c9R=~QDRyu(BkQM@L9YiL0 zaS2!=AM6@16JZvZ3vNNcbfB~(pxFj|OdY6s2Nmo~LE#A#2Z@0&DBmG+1!`XcWG_e!2!r&3Xqb8s4dTPfB@iD} zHi5)I7*_6s#6jkR`~eaN&3l1pkT`T36^IL8n-3BPsR#K1BmwG|f@qL9EKERrSUC$4 z2dRgdh1^$xwRJ%1k^3qj_0TOq@cJHP4onQB9yG5BqCw&y^{}=PXnY4Ij&zJ1c&`Xd h9HbsJj{)Mt+5;eSpjYRBgu(3)5Cc>egD{8JfjWMqH=W(GS35br}CM8p9?F*F=!g0dJG92hJZ*clucWErHuYFXhjn2eTX z5PdM3fk6SR2xJEv0|SG?dWgKjdL^(pj5ZJla~Uk4G)x~zHAvruy&x6?!-c&NeQ+9N zFara_1t`q{F@}MKfdPz9K*iB%6{tEG4N?yh3V2$Q0%Gs5g4l;n*9d}CF)+YrkXn#P z;M0;6kUK$aVld2|K~Vc}h06m0h-oky>K(A(L>L$tm>C!t-2Flsj{K1|GB7ZtGcYiKjNxKnU~mv&xZuLjz`@b9K!QbJ5d#M^Cj&=QVxz)_ zL_c2#h5!x)1w9519)&tDzIhjv0%ACrT~#<5SEzb9E)!*#z$Bnz!Jxp%(8$Ed7|1BW zp~Aq*pqIeHq#)oiK|!ICS%HBes3DMpBaDlKO|V&`g+YPIm5ITFfzMN!hvC9DRuLDF zn?M-kCJ>#&z`#(zz`#(}d=P4AY@(5H*8=fng>C1H&8!28OvH0Vtlwz`!t{fq`KG0|UcisMrz)28N{! z3=GQ{7#LPCFfgoQU|?7Wl><@h85kHgFfcG|WME*}!oa|=je&t-2Ll7cP6h^s-3$y2 zdq9eycpn1;!+r(^hJy?Y42KvP7!ETqFdSiEU^vFWz;J?rf#Eb%-8lvZhD%WP6$S=| zYYYqwHyIchZZj}2++$#1xDSz2w>YT}tZ@EIn?tqWxb;*{%Kk!Yt7rk6PM>?y^%f`@YS| z_3E3wSLb_QjJWNau~oY3G`p0=Ez3g+CqMcYMNZmydFzd%TA@d-DLxjF7kYL1J>RLt z@s>M#Kk`l7)2QI-?0kFwgX>#Er!RhSZqf$Z8-)=v+%+|UTf-h{JMWK=XRqM5uc|fF z-2He`4U^cm{n=4(xp>yrfU)|@FQ+R>@ zy^v+u%VUi7zSp!js7Oejt*B4hyUZrr;&jYp^EW$B-kza;%k0^b!gNTDle9 z6{=R1ko4D0^slXdrr7ED-S9?+Y++=O)3GOI@=@7Nb`g6y>qZ3! zOT9AjdRQAqOHucwy5}r#ZH}h`TFU9-9Dx$yA#57sX zZ`Mlab066}l$rG4499lQrwiZ5zMSGDxXQ#cdHp4$+@*&f&pKiKa{4o?Y$va+ zmw8`wd!M^caIFHPC{}AjJcPcfdN|7!-T-}Hx}&XFye4eH9L0oO*q`y ziNoHTIP5LLVedH{>br5MzluY=35WYln6Ue+9*4b0ahP9$L;V>X>eXLp>7?_ov}-&tDwsRdJ+;8XV@#!6AMGhdZNjgu`qc=0xKV*T&(_Cphda z!(q+@9O0mgL%j_f_Vkv8L%lT)@md`22eqppEmd$fhZ8?=_{#`~IgL2%y?{eJ42QTN z4)J6h?&-myz66JQOC0WhjKiD>IK*$`5D&(Y-b`_*ug8(^TydBahQs}9ahP9;!+bd$ z>Sy3cpI>mOm%t$&izEC&?Q(4CZ95Kg{^Agyjzjzb4)?R+5NE{^o<2CtpN2zx84mOB z;s^&19QIn^sFwqA*js|boHiWlgBTbXAU#QVRtGaoaJVxDhdG8g(&qsj;o!)My zAkqv$;Bez+C;)Y|pnXV?loQk(Sf>!wmja3VL*3KR12Om{)cvcW=72j|(0&(4y&}}V z0_G6)xgbGMpAYI^1!%Z|`g0&DEvWedT@dvbK!PCk(D({yg@~&{D28yTI~`ge3THzo zaDNpXkD!h*0|NsmRQx{FoP-XD0m)GDGf;O1)I-DIIFnb#z=1+l&&w{G|&;}7OhfoY(pymreJL}M3Vkm{G zPk_d+K2-f0sQVr2Am%4P#rHtfGeF(L3l+ZuRnO1>Q6B&mpA54XG*H06z@Q2hPlmd` zp&6ncRQ`gbKz(OWI4gh#9~c-Id_aN>3=Hd`@pzygqFx&+&JWJ-+zblOA>xWq@e|+a5ES{(+{lN_zexW4bX7&2Pp=P6F}Xw0h%8ppyHrp39@%V z5kw#wLNS2G7C_3*K-CLC&GChbZ-J%HHi-M7#U;aS zsCy#N($xZReZlaOsVg?2VUZ^_{K=Us&`We1KH$wn4{U}4l7eV9K0h%vhZK`=t|0>i%!bciH zF)W7q%K$V;2r8GM<~Tyb)8G_Dp*DnK=!d400BC-M<@d=@^8;!i3PEFbAfv3I?g0;4 zGB7Y$fdoNgdQg7}K+A1*sJJyWJPn`&pRn{P0S%u6(C~q!H$A9&0W|gJq2dP6cma(K zgRF>wxd&Qro&gCmFfgz{%dvzz5ck9UwG1jQ0L{O!c-#hc&jrvxBm)BjEMB~z_69)R z1C1UAXQ+P{G(pUViSt3j(*Tt47#J9~Lfvx!8ov$Dbm9RO2RRRvegdHWf+kajM3}wM z_6E%SX;Akkh(pSsWf1Ebe#6X%DwKwr9}YF=0@VG`>X5+@nobI!gUhgTbsbdv0W|$c zLe0^J`j-LfUs(O<2UULoIyen0uT){;(Dv0Ns5z}ra{^i*4)2GGzk#JUXt@n5hgG5R zy8xPjf}!fCL(O>rH3!yixd09S3riv9XFwaPjVasyWGy@G`^G#+8;^E}j@3ebFE2r`3#fuR&C{sCGJgh9n? zq5k~9A1_lj~AOiz~3^W`*K+_?tT*`r_^8(PI zJ*b?7PVlHe#V?@c$6HYUHbC1a-ca)eq4pjC1uO%iUHu;FuM1HBg8DfiEz_au3!n)c zG_L>>H-Xyw0BSGPISdT(@#(qwdGW<1iA5#x@eJ{qd6^{)@oAZPnGErsA-?e`sYR*j znZ+fkMIpYRS>8T|p z`2}ERF@jl?3O6S+uQ;`+1gxMawIC-k8De}vX>mqbVooW9S5jGkVB{s{LO7Yl$!Vo| z$t9Wjd0_pS#d)Q4D=KQpf+H63bnNq$m(eoiV}VGfc_`AJzhsW1~zomY~N;)s%bq+lw^F92Hs zaXZNKd6^LBf!PRefw;(S0r8RT2l1iKDK063IRzwImIf6EMJq@Eou8bXlV4m~1PNP^ z0%Tu;_&J&B86_xw0Er^`0uc0 z`Ox&6Qkn}*y(NhyrI0+44oT>#MMe3L_{vMIfcPyrKQB2E!c0#sNzBQ~Pfmlm9f_Bh zT88T~91&GvMjLOYSNzE%^D9A5oNXyBG+E|=gl98Ve$&=}r?A*j+6uIR5(mc4c z5V<)$wInA$8JZ7385+(>Pc6yJOUq{{E-6aRC}M~Q6+Fq=@yQw4@o9;fISlc|sU=yt z1q|`=Ir(|%S-AxuDTdUFOo%N-sl}zxOj-#}1M%_6pgbI(6rYoy%mB7DH90@83}it` zehP#t%>h|dP?VWhk_I*pWP3p+ND>^ZAZ}s_gj-Mv4%fWY^5T-j5=fc_rQcMB+|=CU z+yXEK(VLu~lfzJ4l9E~k@<mk54Ts%F72iFcDm&6qgi1qBt!z zKMkY?k|ccM%QI3Txx@#g1rj4Z@rgz05al_gi9Ycl-@?*|Pkdf#IZ8_Oft0JIuo4N% zhsO+*4>APgO(-`p5A10u4=LCC#OD{3pzy)Pc76fOAD{pMI}0q1DA>Rnk-1=br1Ax< z0EM3p$yD&H?Gq2mG$7wWT$+}dmjchfAnmDnIhjciIaoym;T06679^FXr9nznpZLU- z6cj%srlcTBET4E#Sp!N}Ip8D)Ru0cHKJg%fGC_4B*qiCarAeT4Qd|Pgpg!?Mso;F* z6JMGKXM*y0T4qivLt1`8Y92$pr+<8UYDqFErojTGc@QonR?{GDFr*cff=n+cEdduJAUood5{pwA(#nf6OHvuq(o>OSQc{yj z(;1R;QWHU`kRd)kvp7H5(lS1+I5{ydjUg>9r?fbOp#WqGLvduW;3Lfq(VwMkka_fe1?+5ybOlo!lDv};!F^$C^0XEAvZrIjUgvL9fS=H7;;il zD+)j%0U~qrQy7x-i!&IKQ!{fI5=#>Ez=RP)VsU03Lt=71!auo*B^e;+Kyo-kQ7X8y zPERcX6}!ci#U-h^3@MpuX(gGtsSL?E`N`P~x!EAm0*2gdupn3`m{nX-1W}is3+CsP zCW5_yWE~`-!3vj>{L+Gg)FMz0WzRRA z$q-h2Dmcr>$0rpRgUZyR5{CHHyc7m^A5SOecq2U{JyST_&=Afv)-!>#4G~NP%N#Ck z3~EL)FflNL*9w7179=(+m<l3;5oqFRQ1Jvb@ocDg2Aa5|I>g=rH1Q&+`U*7h3aEGk zn)obZh&df-;`vbZ6VSvj%RC3uxj!Q1KgR;uE3b575M?L&aa9iR6nZ6JG`ump~I=2^CjB6W;_C*FY2B2^BX$6F&qMcR&+QQ-b){ z15G>|Djt9)UI-PBKohTmiYK6nH$lZS(8Rl;;st2pQ=#G&XyWsr;tgoxE1=>XXyO~8 z;uFxscR|Hxpot%biZ4JDKLHhAfhK+iD!u_t`~p;b2b%a5sQ3Xi@f%R_6KLXhpyC(M z#2-M#Z=i`kfr>vs6Mq2}e}N|c1}gpmP5d)d{0Ex&cc?hSM$~lv3o6cmCO#V~E`TQf z7b-4+Ce8#cR~692`Jmz&XyRN@aRW4QVW_wTnz%Al+yPBo3M%e_Cawe(4?q*whKfg^ zi5o-36VSvhq2d{6;*L=91~hS4x!Qpy-T^IdC!mQ>fQrvR6MwD&$=3_e#2KOM%2%L? z&((sc-+(3#t4DUAiNowYfF?c@>Yfv5;tQbS7tq9)LB$`SiLZf*zd#e;0u}#&CcYmk z{sT??2vnS56Kc9W4Hf4=6Tbiz7eEug1{Ie;6Tbr$S3nbg1Qpjn6Mq2}H$W4A2NkzK z6aNAgcR&;W1r_%|6K8<79|F+CS)t+)XyRN@@dPw+VW@Zmn)nrMNIL026E~Ou8OWc2 zChiMWKLbtt!UBl;1!&^8q3Tzli3>o@-+(6m7^;2;n)rtK5c3b9iNAuXKY=E`0c!pQ zH1YRP^*7MOKS1Z>7&fD(E13H^(8Rw&%@IHo{|^J!k!HK68apoup? z-BW-jt`AjTfhKMMRo{RnZVpx7fhKOS7~-A@XyPtV^)t}KCoF-eUw|fl%@X3@6=>oQ zpz1fEiTgs$-+?Bc0GRRReu6aykRcHJr~f#7eLkDKofreP0tU|#ABiAU!aLI z%z~Kz0Zlv^s{RL>_<@-a^$c53(|-1gJ}@=JD`boLe+bqi3?1Hs1HCBp9WPQfhK-oGDLj>ns_EO zzh|I{H!OsxFF+G#HG-tK3N-NvQ1ctm#517vcn6wzz$A$I6VSxxL)||EP22#Qe-EIE zFN3N-fhN8hDt-Y?{3p~sH_*g4L)AY(6W<9He}N{x4=VlvP5d}ioM9_!I+TX?A34y( z4OT(IK>$r0R?bMEi8DaeE1-!hLe1Ae6JM|uV!i>IxF%G+1)BH;&;m%%zBn{-L#TQW zH1P}TA?635iCaO{N1%xptbnLbKof_RlNo5@51{G`(8S%K=2xJJGeFfhpozosT?d-@ z1gQE6XySoT^Jk!m8*G8Ne*v0!BvkzhH1P-PAnG@uiNo^s4m5EAsCy2ei6=qLKY=Fx zU^&G63uxlGQ1v&^#2MB=)H7^DO`oFB_7w-3IBeWQ08RWQbo@aAO&pew6wt)Wq3&@& z6MqF2_dpYW09vTPz`ziICLU@4DSsl+#2t=6{FQ(v9t~BWfhPU{x&gKTU0fbweg&Gi z!%2ww4QS$)(DI}MOCf)`WzkntVD`y^{iI+j^*%xTyR#0<3pozoAu^D!t zrng5>^&Dv82Tnu6Qvgl;8C1Olnz#dW-Khea_-m+o4K#59sCol5@efe-7HHxJE??4j|fSP{* zO`IQU{s}a30jT;5XyT$!^*7MO4?quWcz`A@4ORaFO?(1W{RcF0MX358XyOS_^$a^v z)4wWIJqMb212lXD(8M*N>Lt*`1)%B`(8P72>NU{B1)%ORKokD}t-mbL#1DWL^n%)@ zXyQgt^F7eS6QJoQ08QKssy+fuT;UufJtUxs+d|c6poxDt15saqChh@MUx6lm0II$L zP5ccsy>+08Pk^eQfF|w>HGc-0cmP!W0yOa;sQMLX;tEjp8_>kRL*26jP5c8iJRhKm zZ-JWs0!@6wHAwh;Koj2uRsRD`yx}H9J;N^4^tm6Zo&!x>0cySgn)nH*dI>b~4_6`P zE1-#AfU4I(7l*1hKoh?TRd0bNz5uG;0Zsf4RJ{k9cmPy=0Gjw?sQL&raR#XR1T^ti zQ1uyT;tW?H{w+WgKMYl0fhI0+1ERhGP5cW~eFvKO18Dd!Kob{(_9IrHiT{C`vjI(< z1v;Lv15KO@Dt-V>To@{T0!oUzC+Y+KoggNs^5VoUcd}#7ac$oKLYK~ zoK~wqi$K-CKoei^9-{sOnz#W}{SP$p2B`ZP_MoQc zKhXM@15NzFD~S05XyT?&^Ci&43*JK1E1-#sLe*=ai6=naV}K@Z4OMS}CN2PVj{};x zJyg91nz+FWhRX+nwd;(~r9|Hr!0d#SGh&dg_Ze%gk zJsfD_47?Ea0%+o^pz0;i#20Wu)H|SwCqUH)pou3!#S_rPVe`TTXySIzc1r`A_zS4` z1T=Bjyz>Gy@e5G(8_>jIOraIDrkWh6rb1+$zPze(2&I=kkp@q zss&LQNaC@g!aI<} zLFamb#6WlflKZ(q0#LjHNt_2N2BJ0~i6fsEv;#@p45Sc>4E+C1=fCQlU z29h{zPc%sC0g`wsNC1i@4nV>mw7(FN0wEF#NaCOsmk?0~1`Q-}&|YYmxB-&*b(kOn z1A_&UIP45JkhBAmIDC&10|SExk~rv$G>}>l4nPtIotXv_1K|iHanQMEATbb5KoW=T zg#?LbAc;e_qJe}N3XsG>X%Q^Qz`#&}Bo5u;1(s?+5(kAHSP)b%BZ3GaN*uTj*9surLRbICKjoSX=-}9CWT7Sdf8%K>|q}bcP;GTmeZObiN-e#9@1Q zLE=A<#9@2YLE;RD5a}OuRvlQ3fq{VoNqh}V5Okg=k~r*436Qh|lDHyB0E!im#GzZb z!7>_1;-IrF!GfT9d?ay*%OElqNaCByreT93b%kB=K1w0Vs|@ z5?6zYfv5x|anRYGATbcmKoW;;odpRq6d;Mi_8@~KDv-pXTWUeV3=K%)usy;ci4G)j z*x3jm@d-%cS|9-^o`EC|J2M0%wE#&RcGd?-d`V-h_y#0#(7B!X% z5|2OEVdN!%5x7DPE9i6ftx?13Z>I)@mf7K8(k#N9vwP#l3I z4mz_KD$J08Bn~^90wkA#Bz^-V0L2AJ;;?g`K~fb+;_e^;C~iO!hn?L4lIlPbhn-0R z5}$x14m(>6Bt8R49Cp?gNPGd3xF<*eidP_s!_UwFwSSPrp+{YSb?iVAzX%qA5C@RN zVP{Z)WKJN7!_JfdiC;hxhn;x^62E~Y4m+C&B>n(N9CS`KNDPEuAc<#z1fci>k~rwR zYp5{84`Hgib(%{AU+gxAc^0Cih(ErByrdoRv>W+Bys3bBOqZ01tjr6un2_E zKoSR?2?!BoU@$-uhaN!%ma;$+hn=+ol5jv04*>~4u?Lbk?93dHQ~;9rQIG%>M<9uV z&R&5EGbA91!_Gnh$z>pkhl2#5xBy8Uc7_i~ssc$o5+ne{4M^hKp<*Da14;Z8NC1i_ zAc;po#X!^yByrdoH6ZZ?NaC=w=|JKuki=Jl1fX~Wk~r*aK#3us8#BoDJ0eK_2JfKoW@Lv_g2lxD5KKTFt|9{o0SS1GVsYEX?fcZrrK4>WGWCr309+1>%E-245P0`AQ%@Xh`s-0+=ra;)8~AUJ8KuLLfe92WA<^ve%_LH=(7@j+eTmk+@FDi9ykb$xjO%r64*L6yVH17Lm@h!5&|zT5!j zCxQ5&F6YYyV15*c59(^ZoB-wrf%u@Vf*h00Q0p#d{Ec!r2&|)1mc6bbT1Xad?^qg)RlWF0OkvU_@J)ZO9n8X z3&aO?xn6$w1M)u;h!5&gy?g-X|B6;($N+VvUS0t6KY{q5F4W5dVE!u*AJj#9xdF_7 z1mc6bC@&X)`L{rPP}k(;1Tg;+hz}Zqe%S!#p91kgU6hvvVE!QxAJjE@nE>YR0`Wmz zhL-_g{w5F~)Kz%t0Oqd(@j*@amj+<|A`lX%)=L90UkStqHKATAfca7&KB(#RQUJ^s0`WmjnwJbM-9gPJBU4}kfvKzvZs0OsEU@j*?EmlMGJOCUa|$?&oP%s&O#x@G=3+-v#1>ng%Ze z!2C@hKB$U+=>X=h0`Wmr`%42be-VfenzDGQ0OrpE@j+GgO93!{5{M6~VqY?V`CTAB zsH%MV;U~!dO&~s~%6s_$%&!9RK~>tz3t)Z`h!3i=ULFARvp{@MRrPWMn4bjVgQ}>P z3&8v+5Fa!p@^S*09|Yoqs;ZX_V7?cK51P7oSpeocf%u>b=w$+!Zw2Cmh7ex{fcZus zKB#H?(gDoZ0`Wmj*Ovxhz7mKJ8e)B^0Om`9_@J))O93!n2*d|<*VE!%;AJo-+835*Q z0`Wmj>6Z>*{wfe3G(`W>0L)(m;)8~;Un+q4vp{@Mm*u4Zm_G@`2X%E{GJyGAAU>!` z^zy@ZkpG)Ne9+L;%Lib76^IWS(s_9S%r64*K|{$e4}keuAUWEr309+1>%Fcpf3%;d?gScbj{F91u$O<#0O1fz7zoSg+P4J@vJWyz$+_woRk{|dwh9i#nn1DO8^#0Pa* zUoHUiZ-MxrF7L|;VE!c#AJmk6*#PFB0`WmZ`7aB={6ioq`bOzYD|% z4K=^~@D=3$CJ-NVrP9j>V15;dzmS1};pGJ|zX-$!bs1hB0Q0jz{KX*o4Pbr}h!5)8 zzFYw2M}hdDp~9CF!2BQ(A2jv&vH{HZ0`Wn|Bfl&F^PNC^(A4nD1TfzU#0PanUIu{q zMj$?Dit?ocn6CxmgQoCa8i4sqAU%E- zu3mol0`fl-h!2{IeE9&({}rypkO7(^d3gcM{{-TLhIC&Z0P|mg_@JTLmm9$RM<70E z3h(6tF#i^a59&I;oB-xu0`Wmp=r0?<{8J!4sEhZq0L(uG;)A;AFB8E0T_8SaD(Pha zn7;|c2Tg6fbO7^Lf%u@~HD4Nl`HMh&(3H_j1u%aWh!5%lyc7WQCxQ5&A%m9;V15^f z51K-J`QbCj|4kr1Xe$5Z12De|#0MRx`|<*qUj*WVrt)4M0Q0jze9(}~%MDKJ{q+!B@@{d)T9!H3zEkQ|$i-p#F+SFDoZRJrk1pgFl!(IuCgq zd}Z&!c)_Fdn8(F`rC|M{F<||dNFn&Iq1_F9;_cq&R*efwGl*oH@v%dF-_)0j` zqt`abUWvh@^XdN!u`k2_|Ns9o=>Px!X%j*{I==>cbpD2fgS&=@wR=EGmPfY(hetPq zM|XgPN9TRRZ!f;aF)(;^hcb9{-uLJXQ1Ivu7Vzj~^5}LJIPSy&>O6V$1_*d`1`Bv} zhjJWukO1|^JURmeJi3bo3@>@~x(RqRzZ3B2bQS;wZ*=U-Ct(cW{+&m6c*X14X>j*< zhjDmxo4q^=mUdxaX#G~F;*osJqgS+P10#b+^9x3ggAZ6dnB65jtlb4X_?-_O=9hP2 zU}*gJ@y7rEwF!;?-rxBDzoeq^-v!|C{8cZueQ^mJn9vDo&JOL%<$-TIj-T+?H~Zs(d}m8(d}~Khez`PiO+{Uy4?jly2U&? z1-ipHIs-U7nhywgbh?8)2llVwfyRFh@(c|1`5v7yDjz&Lb5wqKG{2GX==K-zNPY)O zIi06Gw8JGl4*p{CV0`7#_zSGusP$W&rboBCMdv4wbCWN5XrAz}yilj_(e13^aquaN z2jfc*OAmo!7LQI3fgPY_LLS{QDjXi&IVzwuA^{3<7Y2qGv%Nqm&s*U2F>pM4Sbi@F z@c}tH`4A{}JT(urUh?U57pSvy=?(ht(d{N+c*(Q*5Tob8M=Y;dCxDcCGG6d#J|y7L zdC<3;!xfaYn-2*1SYGnzbQAFDNcjcI+b_2N`TyUi+gkvXNqsC&6>E8P9)qT5pKd0P&Wj$J z2YotS3_rMZJ8^)5%E$7QOQ(zBkD>>j%`XLfI=w-z28Tb`ymYX6&H_G`2YfmYdG;23 zC{}@*=h1o5NAsXZw~e7kr&YI)AxEbdhez`(0T0UyMUOqZ1w1+h9J>QRDJ>eDe?k$( z4>aq>zTo)t|G!7Kw?N}xP)7CW4*UR0o`F9)12}5cn=5}X*C~Pozd3O-mxzPY6DUr* z4ZgW?vXrK!f!*oR{8GT9(;JkOIHF?_`NN~zJ;1}#U85vyAE==4=)C`8=5LU7&Y%p! z;n8gXD%3o>9X@z;x=Das0k&`h+`?rbTS^vyG#Y>+y4zde^&~|3<0?`HV`O27^bFHZmZ|KIRZa|H)m33KO#!yerX zhL;*DxET1S9_qYscmgQzzF7Y2|9_9p_y`P22dTyKlK3rwgVo` zM<^7fAb6G<{ymw(?BvD{M!zIf)tcLqksMX-yOiw{ELZy%7Nxz?EF&> zab7^kgG!ATpi<+5N9S*!&J>j&j-6M)j!^pb|G!J;GjNS^^o0n>Nxh2n%MF3QFHXo6AS=Pb80EuVA186Eh?oLC5C#L-%%N;wfyjb)T z+5Ra%LA3<0EZF|DB@P~)hYSyRSe`23==S2U^yMfK!(tD=JcCE)J5W;i`jmm8^#CO3 zUSH*xXD~eQ`W(1^=!{W8^}k2+8wrs8N+|Y=KC% z#m&plPe2tY13~{czma&c{m1|R%@rKXB_bZ606+d>+C6Yor}2j$C}H`;F8~^S1x2?5 z1ITqR+F|Mipz6~g>PrMcYCn1K>wr=LNCU{9U(%4m`-S%paC$I2*?OsjtN9mW3GYr& z;of-yl771xS`U=I1@pl53$FP2;?a5a#eYz`tKeWM@d8DB=lvJ&?t_B4RLZ0EZAq%f zanL9Z1IP(>@cPfA+gSl#7IT22=2s2_10ir9e`wR@AVVCu$A(9bPF|9aWRyzcyv1{ zd_FwkMfbP=(EMD&-TaHagwOB*xE$za0GHRGR$=o24S4(IMf5jldBai4>;Wp@FQC?M zsI7+1-<@AyXnX@FM~*TfjIf!|?ZM&ED=Idhk-;OGr^|!!6sTG30`d<7G)SQB18DgJ z&VCSIf}0PZ(m~_p|NpS~168ERbtb53gA$+J?gF3q1sRSzaDe6vJeu7F1P&vm=T9E| zTF0PLaWArc5+1GJJUah+bbc;T_vrlo zBK{>PZtsDM%@~kPps?zMlo!nJL4kr6h%akD{Qr;Ae*o229?fqAz&`25^v0S@WN$Pd z0eK_(rCJNDJO=A;d;^+FYdPT28KUCg(dnb&;nV4&65!M6qY_bK#jok2lEAO&qf)@H zIYkAOD)}|%sDRqZ{F+NtKuu|W%{3|;7#JA%HMgjMdVc(xdsIM+Z%{I~5V+<51+4_! zO}!y11|GdFDj&cBdjGhKiUerpL2a4fikI2{LDB8N07|-sms-Dps(*pw4jiDe7$yCJn$n#H#~nDpT{dX)M=o#N z1w1+}jypgau%O-!NR5Z(4sZlb0ksv7^9v~cU$}n)y8@IpJUWj>gWG?d7hek81~rTk z_2E@;d%&aljfO|(?-xQKO`Y#OJCD4W{tT3kK^3b<=b;xbcY=KAE#T4l$Olw?-S_BZ zQ916S0?sxscHaWc9XbmLfbxw5DBlQxN^wxRsBt)L0@yvp_i6_nN-$bJrRkqmDSBlVgv$_L?2 z5fyOh5Sqro&|RX!(Tyk@k`92&21wr#d)dG*&j9w{^$-95dnAJzVXP%)phDXal2ckP zfRZ+7Ttf%iV?XZ10WuKW@&lJPuyhY9*Fhb`)&r$i3=e?90;&H{{^38QPGB#QZ~nzm z;?(?$twa>mP(~?Qodu#n?M<*%-3}5^yP)F);2ujSNC~9e>=pp&_vrSj=$-^B13WrG zodRT4AW?|_zP|^>AE+mFA5>-bdVTO{ex>k&0UY(&0t#SHK->$8KUjMUHGORY83IXP z=1-8*SLb$6q~b_lpnk-Q={G@XEE`7}Ln%Lz?T55?!7VCNkmaC4zuUm0^S)>25s%)` z2QTW6fou*1cW**L-5XHQHCO#$t`qU-cKYzmfs?s}%d^`=1=Qy#mGNlK7Ek~sa}H30 z1(eDmtpi9q^ZttqsSFISZ-JbHlz%&8R33oZ-!Gu;?+-rEF1&_g=hYW;-+@9lTfn2+ zz@_sQ#Az=&z#Ug&ouvwL7C84o8Z97qN%(Z~|X!-+nvq5Rw^MgmH7q|ln?>ZWLbQ^$k9w<6X z_IY&P?{rb&c=0kBlnT5Bx?NN_P)!B7yZI%=s|dTG`NvxT)ZFU!{BXPplv6<2+N0B} z;&l%wfDz*h$=^Up653?_ehriwJFkL=37E?TK;>?fGXq2O-~XWe90O}JfEtXD{uQ{! z1C91s2M841g$(JTDg#-En%-df51#%tT2DH5e(Ahgn(5K)?%-;8z%%)bN3W^C8&EcU z1!AVR4l)4}Z3+BFH4N!!5SbGT+ z-SFu25_o+Hlpi|Jy*T*#|9{WU10LPZ4xX9^UUx&n4K{YA?eE~xX`bxnk#;=m9T+R!eP)z1E_mm`oW{yLBXT* zBG?h1JUWlPWb|ZUn83fyoeQ~s4F!({cy#^^_Go^?(fp6yqdQ)qT+^eMm2CBkx zcCPT~bS?mi86Jp^g^iQFC{6&Ckw-Ydf=KBBq#kUi$H5m|hbMsbgZZlenHd-kgZasq zJPtnM@~}KqZsE~+&_na0N9QSzPVa)(;uAbN-@mYkXJBZkR%9sA^5_mO0PC5RlRs+!jIV&v>+cE8&JX&OySXlMTuQjUj?c5m0+k z!J`w@pe+E2f$LvTc?eO5@DHTHS>lP>27YmNBPh{>YHFtAP8^_BR36O-G{7wlkLDww z_5rxLlNJk71~J0})b1(W?$I4w@p{h$aMK$+9U<_7;l=;|-31(=R$H%+3PGsy1RiHR1et>X*#t_Npp1-d{KWz^{<7#fvgr~oosT>^ zkG`mZ+F${WGEhsSyXXVB?CtgebsG%3i+*$#a=5oq@>*5)V49yShI}bWG*l;jZuy!*wKd^89Azdok&2;bupYH$vj10{` z{+Dip^w+`Z|8Uv_uyN;L#@Te#Np$;zj0>5;$k2JN`I&v^2ge2*28N2XZhkNyGyx%9 z!toiD#9bH|I!_#YA>R1wKLZ0piL&K|68VFV*cu<&ANc_hnoe zJd!Vi0;8K{0+K&V_IrJJSE)V!~-cGyM;V@%e_3BkK4RH0*YU7dPGm&9=)bVrZO^kbRKMe zXy0JN$55fs&D44D;0rcYP;!8zx8@&=k_Va}IB=fmWCA5Ni1{APuUKARLD(PalYHp= zrQlu}E>QjG(d{nLdF$XWd9PlbhRzFyH#9HUf-*{-kZ0#dk6zQwy^IW=-Ig!d5*Zk} zT^V{OgCq|=;#2((O4WxtLBoTn^`&FDW9N0pFvn2G&a;joKE3G@p`gmR^E0Sn)%@?j zOQ(wpPpR_j5@@`8bk{O;-g4>u>C^elrStQPnE(I(JAyKLutzsIX*=!%4eo;tOJrBy4?*r-Axebqxsi=kItVZ5iZ?qj?F**mxOzC+xv9;OTfklJ(CYOcC$1h zmntW3ggnG+xgA!rK&I{nsez^{07TElkhrym;0L2%yu?}vjvUkVZcy#{d-xg5J z_}TJu9e3mJp9~BP_2L~7#gH%t4?;kitKfWJFX7Q^%G=Gz@WKE*Y46JL`ZB_PB=fCw#&Rx9q&?IGcj?8f2K%hKrB&7k`Ke?0@|A;(SukRbRl(C%;>k6xZeP=y7q zrMekaLG>2rg-*toU;lxI$6Oc~Anq{)xrYVr9?%*D2MJK^+syBa#c9|xCr;RYVv4jP>$6aF0Tyx`FtE^+Xo_`wHk zjt3v`aem-D(H+F$!g-+c*h~LEkkMGA_FAtOqpRV8&QJTmE2KeX1vo$v^=Y!Zfwj9y z9Z&0lQf2;a?p~H3>WX`P#QsBcf#TvND1Kq--J_e|quW!$qt~bLPdB4u=K;s&2lkH5 zKbT8Tfj9?WusJq90F?wTmd9$gLxjX#dp#IkEYH<1?+p?A?`V0UR`TE@ad5zZBL`Hj z!}0<8dIp$(`3^o{1N)ToL+7!VX}|yfho^64{ZJPU7U+;jK*X;-DCK_Ja2P(W?=>0>o^7UlUcy4dLS9chXPj9-752PYJ z1)2~G=793{fOy^+NHi3k1w>O82<--yQSHlA?osSH^f%;Pw zV6Q>Ucj-*#IL-`7#3(bZpv=uL&#((LU<{rU%;6IBy#vSX!`Y0=Rvrdi+}(B zf0+aJJ80b6mBAx9m;;oxJbHO1xO6@^_<*fjP!-hPY z{byu2?hdZX3@_~iZFB&QdZhdX&G(k5@PJ3XK$Z53i$DMW?{)!It}!YSph^uo&H&1A zDCS=P#m5b3d^`ZPFJE|c{spx!KlpUkfE$?}py&bZhiJCu;%`xBWMJqn7I5j#7ICqB z$KL{4y$1?||DQosI)4l3;EiT$F2}u~`nH4{BxM4s)H{!MyBav|07Ze}Ntez?;E?v{ zeBbG6@?!Jv|Nk934|cm6xEdY+PqCsZaOw0>;ds#t4&`?qo$nnxkH3fqO*w-c0qQ-u zbe9^qcAjwQeCPt|mcDoC{N&PEYVtzr`~Uyl#R9IKKfqF-K(1l?4vMT~j^obYJuAnZ zML;fvr5n&tUw4cOcx*-k)EG4YHAXFbx@%P6;~o$@9QT9tyS zRhZy3aK~AJns43c<4(;#7>n*T);fTS_WG;M zKNw3&L7Ebpe=vb2#1uR_-}6s7aNI>j1C-i83qU%rf#=9pfBOHw)0yKqGpN98IKv3? zG}4e(w=;(=$V~qJ+W-ImW6Hzx`{nQd|G(Zg!K2%i17sm&Wx;#U3>|1E7^qut2~IBWUwD50|G(SVqc<2_E?Iy6|KGLqgG=X6!%NU| z&*KMD=?wC}2B>r}097a!pyciVO70$@eK)K$kyEg`ED+(K5=aR zBgEeVT9D}j&V?_y|AF%Lv6t?U^x)B4CGelWRp(F}i6TbkfMH3@K z8h`j9P(7Z;uXmvO)XP2pKozvcp%;73{Qv*@RT{q@FIN*ILv>mjzs8|Y{DM3xpZEns zR0KZp#~pmJ(oSX98t43yqL>8>QcNVoYPQ>lVS=QVKteeoN# z{;Kn#N9V15piOh2f(TS!g4ztxv4fCA}tGrv4T^ADbVpxV1c&S4uP$QbD_|NnP~+CZEL8fM%DvK^khV?a}R-q1D- zXqO;JPx@C-U_x6?FC#!zDlGkU7lU(!>xcjUU)qBkSl}ilsCoj2*KzPUg)ddWsTJ&B z#C+3NP<}xdq@g7t=<#HT%WdH>QD2GDUk%Dq4N|Vol!Ljor zv`9GzUb~v3as%W_NU7r6c?7i<_vkzeu17&rWktVW?sDur_9EpMsv|(vE5mz~YUty; z|NmWE-@1S*+fpIN=AYsvJT9Fd9JeyMcK&nhJPxj5KSDg`(s}O1L(p>c&igMczyJS# z+?4^erL@x(T**LMBOu>ktzMDWhcy4=E8|9957f(gwH7=vfM^&&a)(E<$Oh2#1>=SP z4-ow`kIr+T1sfbMlD~jv27OdGK;z=Qg#w^-vK}-91OAGA64^)whC>YvF!p#EvL5;Sk^t=wf(*QO-r5J= zK@95ufSNPN=?AgC<2NX0f%_}nY#yCo9Xqcy|KKk1g%w$)(Xa;F@z?+Vcl&aXi3O(J%l1L(&(d9}em!bc;;rya0|x;SvpS;}0~m%MHqu zu=XFQJY4k&oJ(Iff%Ur@9%#-tV03ML;>bVcz&_AE=7X=q4NtzT0hef??H7N+bq;9W z$p0gxzr|WE(ENj?$a@#4HTzluRBtx_;3{zj#Wc97@$KLL|DA_CdW%Is*`@+Cl?*QR zU)+8B|39=54Vr!ek6MH0U7CL|l^%G#ZUVHtz543^|L$Op*Ly&P6{5Y{{ErWmWjimI z$wLZwL|F$K`+IrrE2!EAtvmGSWtFS~=X+2#2j_9He?2%_qKp`Zb4HZ*elvFuYgN{wQoT671&ooV6T8{S5#Mk+dm-Zfk&p`tMWF1 zs__Y!;#yyj$J3gvS@~NPKuy@@YEUCb^#A|=ujeDu7dXgY=0d6{(D+R-$IEzdR6+W) zpzwnAm%;5tc>4S6+4-gU2RnZYXzyN`dGimBlBnh%oTWyf=EPKRo#Lay|Kvf#caGm*fF{0wAN<9l`KkHmf0y1Q zMt;|Wj*Wl*GcqvL*>=9#2ijf_a@@feHsJEmSpwWNzTX|d@nY7?|NonhGJ!ngwaEBbU+}?$O0W=??44x0+pL?L?K*?k9^qT_%|296u1D2<1E<@Ed zJo{%Y&Oi6S>)T)l!^?ZeaL>+P;Q54*P|%cqK(~89XNZal|F-br&Jq=wP8Ssi!vhV! zewC;4Z}TtW-&S7O8KNT5d8+vlBjYFQ5EY4f9}tJN;TKDZ6aTjG0?TmFGDnYk)9&yP z%McZZ5|-9Wr5d2Vc9?32$4!+${5{}&=&3_CJG(WO${v}r;3@XPwnvVn^ zO(ArLs5o?&sK_+GVr>1^8KUCC-^a+xz~I`=?b><9wezgw!MALV%}?wd8=r!DfsW08 zRLl3cSm&rn)NbtzQBm;hb@K7-4Jrl|vk%z}Z-drdYJl8l;M;k;!$-y6r!z#w0+bGV zc@I`IGPrg=bK>8oW7zqk`2n*HBY(>kW(EfS=00Wy2G`D0oi9O?#ReYTH7Xj82VaRh z9(>7n;3bP=<3mtNb?Lm+{E!*kUUTUTQ4#Rzlu>zM^A8mN;5Hb43+UiPWHS!DWOC^| z)%=k8g(yOqOE*Yww~PvZ3#k9-@a?EWi2%q;D%~L}3j8jYLH=@RdCT7+z{~*ZXsVW5 zdGzu!mohSVC9`YzH$Lao#TY&!;IE3 zDl+`No0%CHe3E~=ck}GV9khZVcS!K}oCB4m;PM=_5D6v5pyh>Q^HFB7;@Z2t&WujI zA_A6|`Frh{85kOCR8&B5#ouDU%)nq7q9Wti8zaTY?{nj25x5`)*GI0P<@<1V&U9>k z$>`Yp^FM!!G$<-sPnPhxGQM=N_EC}G@2~g|>R9KfsPOmb{{R2KGe$+B`7k56PcXrw z+eO8~#X2B@zc&z6s&_jm_$FWS>SnpXzpbF4*T&egM#X`@&lHqRzm=HxIx~9AaQw#7 zY|Y=Q2vVPX*t0jJnFE~VUJIs8=;rchKE%@e(3-!M5!5F>z-W1__Eqy?#^&RUaG$x} zf4Lmo0CQk)ZM{^-2lEGi@7aH#Hu*{Z)|P+&|MxmGTDpLe^!9)M|2H3IdRYY41ol7J z-M-0}K-P!QW#F5eJ=^0%=#dSb{Qfzbt6X z!5S1aeNX@W|NoK~Y=a9Z-TY+aZ~gZd#mx!YwoOXneQj#T1rz4!P3 z|COLQ5&qW8f5A5MfemnAaJ4+e-?JYg_6un|*RlC1BRJmqdmsLVMN8|nzyJTgO!@c! z{{&D%bZx!F-w*24^2;;4tOjdlaBV%w-?IMi|NqXtE}Bf%E-DiIy`b|_z~)(kJkYNK z@_-LmxdVd@Q%Q-d;YnA+OD}JMW-Vat`(9_LZ<0Y~fqc^pTBabz-*V{>*aM&*GQT`S z=L^@)Q?7<554>P;Jot(al-rs4Tl>K~zaS~bhrb7OAc^6Dmr`ImA@zIb3vi}?!Q$FG zk&)rwe^c>n#jllL;kcW~_K^jz-A9;ZGO&5Sh(mYyE@weFj z`Tzgm3-Q(i{4IMRp`-r?)Ov7XU_diR6t6kof5XjL_!}I`&woSB`F@N6)Ya)_ZEIp= zC=qLX_WvJft?)PSk|SpG<~j}*l=*s4z1n;Lw6zBk-X6W~2H@dtP{RSzONNedAJ+i2 zwJtz9%)Pd=3qad*-*|X}7W#R1o&}BMd34sOaCm~&HG=k|l?HiqGl18+d3to4sDMgw z4xi3P9^DZNFTQ^N|G&4CvGb5e=Y3H3T2vjpLCLezm4Uxif{}rt^OZ~IH&A>2^bb(e z8k|A6%QPVyNFcpQPzwZW{}@!Sc_xcY_hI}6nm7XI@6KZ$z10E--|;m*1JxZbuKWWn z7IX#e_uf{($nbgvv>fd`dhi9?!MEbzg$R}}`1?U6-0Kc_d(fjh*y7*|agWwZ{4F4Z zJ!W`xvm65Ltp&N=qnGtdBO?QN!!@K_IQW9kV+MGY2(z;QXwh}^0STx|!vaQzmmuRo z?nQT>3Br8>Aa$(ZqS^uE-dd0ikO@sNe@+7(5AZ}1D0WI*J*;Cj zO6om8Gy2-hp2=50TT(qNFMziGGt}^T^olOYXJl|~ed59Ie+bdy2ZcJ)7z-?lH~DmD zDEPL%Em`RSYK`^QYj||tdcpS%G*a`d^N>&H`xl0);5aVb{JIrUUwU-A3PAf_px|U^ zy;Le=cnLIyTVBxVpRohfH}3S$=?G7O%(sKqv)zCF5Gg*~3y{}K@^5obLFRY6XMncU zz}sJ-l~Mj0bp}4&?g6i5LF=U)Ihx-w!o0z(U8v&G{8FR!TOF^D<-zg?;N~58UwWyL zM|XJuXp`W%B2G{%5A0qK&5s^C&Ypn)kApv%J^0t3fVkSLKKA_6oEy9 zogIG*=;{fNWTz5P`8b6cbQS|FBy=u#cDr);bX)kg{^xJ00JRafxiYjI;BNt4KkC^V zdc(8x&2bkM9#C=tH8%x3dV>u>3<;0kU=0vM!Lv7v1H{mHEyFL*08$JZ5cX_7!sy7q zjYS1y80Zd}<`+ITn&l5XdPQGmGctfCMi5ibpn9Btn>)8-r<=~}qu}630{pG!;LHz6kG-s& z9gGZ~$K62PN(PYpOVGpttp4+DeGBgLlyHORAMU@{4Vtd#bklhG3Dm}!;Mh>l#ZVgP z3EKG6UEtu+d`!Z#vrGZR?+!@lc1UTx%A5K*xW*U<_hlcsU2!e(~sK%?7FJ70t|MWNBo~k2^qi zVRbuOcxYbmX#OEkmkru7zYlc87ie^|Gg#n78$@%7t#9l95_WJHmZX9Vf$f*+4z}>n zJmk^*OQ2p5K2)`V6Er9ZIwAvf27|Kzcrv>Ahy_xAYyw=LO%HRX8QJar4dNvPvf#Eo)u>jf& z3CcGhz1A5aHCI3m_vr-f5d+VibUO>Yv<9az(0G5ZsAd~D(idkkGJqo6qt|q9COAqp zK*M9OsP*g&6Y%T|1MTjt1F7tElR(6Fm;xk;-1BDur3KJwc?|HFu-piai4rr=l3Z8A z|Ddc2a^G<$aFTvm`0xLJSm?jtfhgv0Z3o5iE@Y{X8^GqkwDY%SgOp4MC38glcm4pk zSCz`xz$HC{#|#h9**1_i8~@@%#V-!N7dJf6`k#LacwcOHc>s9K@`dpSP)8H80~~4m zJruOS9I_O#eFG?IwH_#m@#xNX@L)XJT+6{$!Ub8p(!vIc`(go)ZnqB}oowB1KRVqw zz+=vxZXdc`IXc~bcz~1K2Mac;f zi90aB(~UPf#G==GA^8eN{nPlygOPy&w1pG0Mbo3RM+J0#iBD$>c&nyQXO9Z#G>j4l ze$5u>rp+Gcrp+nPO`CJTn>In4IzhX3K$|*2`!YeBIzh<{w5d~ok%1w_qnkw)biSfT zr;AF4;Q`S8%>Ym-2c6ylP1S)$_(Abz01ClQ7Zm}IUKf=DkOqktt2{v-%GLmFs_G8q zXs+U5EAa#siH)FIvfD)^BgMlQVgr9G=o~7K?m6IDZjbIYDh7-U3_jgUR4l;s8WjhS z#f?Wmeuvi2-Av#n>pI8+f){hZ<6og1hTj}JkAm&8_2@2h@aU~kfuvzj3Hd_I7gSq? zs3?FkLmDH4Z|4J-&X=I0bPl}8@?l_j30ejU34f^hyF9uJ6kcz6@nCtOyp9Vg50yJI=9u(k!jKlVt zHbNwXz+F@i&@rn>>&qNNJbGE%e=33oy01dhs(?o_Xa!uoh6gC@LA4_26cwLtl?xu- z>^_zUiiBTh!0Hdsie^vC17+bJmd8pzftFQk2TOQ>mg{?T{sT2k4*p_!u^lwC1!}Jx zEYbG?bq73pO@+b1^3Vgk{>JdYi(*j20=#hFF$O9Bc=VdKq%t!2fTmerK?2YdStWA& z1w7vfYQJcBcK(6v!tv<5{9@%?a68kZS2P%G(sK`fm%E^GaL{?HphgnL&LX7n>2~9Q zoP6QI@Ak=~S5z&Pk>TZWa3uz*UlG%4;Qb#gkn#DF@H*S(f2^g_9=)b+<#Y2trkZ=8&AT4m0Ux>@et2{WcRF*t zKJC$K`X_~vVHaqQ>&5vxWb?qsDN@H zC`LhfM*)y$)24l?sB|7vNS2hX<&U^8XTOL_`6^=J4oj0vX;7 zG0mg#2*^gz5=~HhDAcj@t7C{uZyFn9D!%y*hhy`f{~q1(4*Wf!o3}iY!y`cZzdG-M zm%bl-#PWjO36zCH1w6WYL1hZ4Neep1rqk8Ir870cgYlS$<}HuTQVWmfM;}1@qgzjU zbcPC)vcHxGttWBt=nfPBsesCM1`2p|b9%I%EPdqB?HT}Hd2IQiJl~_+*I@$q*ayv9 z5R*&!^84J*y6X0INSpBbbQ%c2>t|4UeE{l9L(W41ou<^8qw)f>T;acC=NF&u z{D7KFk7V~4kK}itHd(LFS_Y4U51GM@@q>?;U)*#6g%+q4>m1!<2WZk2{U z9*^$*plJ4J{a+%|xgEU!zWF!@xFUIRbvOUQ_mGfg@sOQ}WQV%NGLF0Ac4WY-IL3Ju5J>T~@-VAati1&X2$VK}>t%Mg< z8<6Lhg1gIOJUV|j{sWm+uh01HMb^Ln|DkTF6ZGgcJ(&nvX?oxAzzfiMn_x$QwlH-% zYeXN0)YUh@*&h;q-R=>VA8I)nkG*69&Ern!HDP%91LQ;KdKJjfzGvs3Q1HwI_+$mU z7iGIZT>?=3(Ct;=Vd+)D-wZmjuK9S z-gf*C9y;~x4pFJ_>^$nz`TWIkK?Vk&&I|>|hS~xK&(33@j-e7HK7Bf$Hy>tvp(+I4 z@S)+zzb&-DqxmR@<*oWBpph8?NW%`a5EW#i07wkhu&oyYM>fa?&@>!a9@NzJ1dXnP zw{t=F8X%R|KAq3On_64c85lq%{Yy|I5UD%`rGG5_&2D!M&(1F%-5MU9`2wJ$ET$}j zuC@S;2)%e#33fgMs09dW2EoqEfHc67n$Wr6IzLzd#o=6G*R*F zJmb@yFW{+pq%%ZC!&CEU^FJ2;7SIuupj|>(Q+TI~N(sngpi|OpL5&dpKF|@N9*qY< z9B^IcFL2B`6?CxJ|Er)atsdRM8lb%6$#~S0@rX}nmVi%ZvH+-%u7J09O4C4X9Z<6k z)YbuQ@dUMXKv~15dkwhJ=FxZr9W? z-go;l^8f$;FWi>G=AA*w9DJDIH}@1K{#MXApB~-*8Xnz&93H)nH$1v4Z+LV%Yjis* zcyxodNLNdM+6CSQCF!6OGdd5xR)(ZokLF|GNNj$|=+o`?!Kc&dgG;yD50_4-A0;*( zmj8|{~tcII#dWopn#1fJb) z8a|zmJ-h1+JhkH-JUS~R8tS+h_**YCfLhXZ3ZB|w0*?IK%8NTcfQ~zv;bD1*zi%06 zri_1^dlATVPsTef2l!hTF)}bX@^5o5^z8*5Q*-bEix1-qPfIre{`PS2h>4qqr?s00 zf6G14&`XY)f8Zv{Xe?iqEq$Y>%or07PAn$?l1w5#zT@E`kd#dxhhvu~xD?wxb%||rAqlPF>bYXz>>p%&h z_~-xsp!j@g4eHP$+8f>B7B8K_6&AR?3LXGjfZ&63G)TWOSU)t(!7DIchJYPgC*aZf z&qwo_$H9LryhF1WyD7kq_2O@S14%mN#h%@67M|K}0`Nm7Eidr*fwFRUi3+594Dy;pH3I{v4GU`X zaQf-tD3y(t4o8!-apFkBYoc=R3m#plMgn=7Wr$2OqM$<^Z|V z6O=Z3!9ytm9^E4B9-U&{A?zHTVI0R@*rDYf=y1yurB^+gYg9NGN~FQrpf>2=l}ng@4*vs;B@5Ce2fKL z-1&5V2jx1$Z!b3f04+_6-WjPFuat4@)tw-M*lz!f$uMj1e(+ zguu;G&>$p4{)O~UkT9rOSh5n_ndl4_cs(CJ{s=kF5#c_hL2U{C?d}Q92N=_Ak29oo zx+j$Jq}iTeD2Yw8eZWwj4;^2412(?I0@S=sYtBw!gr)joUeJOX#Jb|>;ol!P$S`m@Jt4V*E=V8^qPJP0}TvxhNy77-~%l;4pHHFJrUB9Ig5 zayrUv&>FyQ$RQt~1||52kJIq*M!1L{?4miK6>w+{_XBb9-spn(k$H*%J@8b zO+~ zw!ec_{|9q)I?I5vEL@WZ zXxDA$CvY}$=%`WQ2aW9Uzt{?D|AIOWFnLfTud_yl2PDn&Vj4_(0w_Je)0>7z>wnPU zd|seIq2{9!pwk`P1wdLjJUTx?7W#qm38-=P0(2fXxCR0(UF&@R!U<$1`ig1>sODP` z&9L#g7oh$bD1Aa^!a;2rP?H`s9uo#?T0(|m!0WyRJi6;0JS@NSw@hSWU~uVnl5lN3 zz~9=!1nObkdjZ-{*IkIQ;Mbf3IE>&;bez9-X&96TqPRgg{3wfK_~d zu@JmA=UZKsWAi&kSHmZs&Bqu$4?bggtp?ubz{20s&&a^g{DZNS$FaMX0c4LKXjZ)W zh=8xKiC++O zCdc)^|Nr}1ektAS(w!OscFpq_!eG}tsWWzLe#7Y3tMe38xw;xYfwtQ{x?L4Kx=S5A zI&XP(+bDQ8AK`cbx=+d1@=fXE?qZ47Z~QF^j0_B}hHnl3`*f#jfSe0juLJfw_=JVT zzyJStdrP#Qy48w0lc{fp^;L93MB*7-U%zlDUvQAW>$Pgy|Yd)=-E9-a3< zc7pd~dO-M2-8BjvFXF*n7q9}501wEEFTB8>dsBL}J6NLiQfZn?cd7^2p64(0!S+0< z)5h>4gGaZk1=Jp}-&CNcJO>rHutw2Taq#H0Q30iW1yETj zfYK+o0Bvn`0Ugc~qQU_>>Jc;o^dcE_wj*d%-lOvoc!$i3kKmm>;61SS!TX0mWuirj zhp`BF`k~uJMW&R^qxpzK^x+q!(?HD=(7yf;pd1YuApmtzI#X02GxWV48lXWt&(1%c zUp+go8h-OgK52OAg^ez#4fWik^RP$fv0b2Hl^2l`piwR^MxV}X36IVj4jtLtpsb2@ zi^>GYP>^AlK*v!23GMtE+#C1b@LMm>UGU5YsBB6;`QnBS0|VG-kIrL0ozKC|+83Y2 zLBmBZDjcnEk2!FGhJz#=Ix@IRq@eXf^5y2&pz~5Zj=Nj{&9*R@>q~FV1T-FdTE>;Bw^O2Cgz91ezZ)cLZ=kZYmJ) z?46n7m=+QBK}(H$n?0qUlJPEP`{JDn5^PwoPR z;!8Dc*!id+|95^3hMYn38?@e}85{_$2TJTbx(ft6EZ-HGf?KVVLE`+|JV4F~QBi1q z$lUyix#ePstOvMp^r8t|KfrXC9s)ZHG`UDR?gU-++xGu8ab4K`Ec%xHISmD2C(Cpo^S9qM!@GK&MuN4>Ln< zUl^VQoyXz<-Ym=EksKD_(Om`_B4B#4P!n{s33=(ZV!U5Xw(D^<( z*6`#mP{_WN)?{EnaxZxBWSbjzsaUVbQIO9KPkJO@dihlY)Fp9YU^w`I#qeZrfCfnL zfd;6;c8>u~<6C)j`x{sXa?}_)_E!A&=yeqEIQX2!gYo!lL2$bVbdFl{0RhW^ANBm! zfjqUW&F>gXggh*Nls+{)fHYnU+R25o-mep}e+O~i0RJ{OPM=;?X>ZWb_}|V${M(#4 znjih?2fx(8eBo-8ypi}oi1vzx=%7MX#we&f7DPO0%1!!ay zJd5+qos*fr^&%?+!#8&>4*r(wptb0R|3QmUl3#grzVOhz3Lc9%_>|=(s7V5DZ-C+u zWQMZ?=pb2^h6K((-PJyZZ(INK_y1#nm22I_9)>4D2MyOLLF3=q!lRpo1Fom}5Ti%) zK@RI+kDABb&Jl)hTMzK}e}e1xNOq0^8*rdb1(IGs2MZzT2PuG5HbM$qyi zOJ^VcJ`PX`-1!0=WX#S2;N*HAnp{h+y*>ldvj(*67^WwJzYnxu3e>mv=r(x)N*j;C z7TkS(87bX+fa9!K0wl%XdWjKq`XLtse@h3L#m&Iq63xQEVE7ia9-e=jGk5b*M$4o8 zy$3;S7m|;9!0xSKywO}Cz+89Nqq~3uWK_vzkb|WE{Qv*@B%=S^4b6L?D0X-7=!A0P z9U783e>d+24fZhC@p*I?SAfjmZ!HFme0CQHfJU{!3Cr@FXXl@CX^+kika!Ca@U*<* z!|(J6eDa^=iLy5y-PsNvmha1DJv-mN1|8K84)^yjK=&_tG#?f4u+A1JmI9x8_5pg3 z9&_nEm`u?#h*iY_KHb?4K9*0*!Q;8Ep!PTeNRg-Io8k|koqhX8;7K2SU-7f1MNzVSTxhsE*W6DCK?FSVS_|DyQ&>%o%F zF`y*m(aX{R8U_F*CD3_V9=$EcK#d7U=($?m#R`xBIm85tA8v*cOT)LXx%px7QETdv zeAJ`6qc~UPX{{poz8D1)amu0}?qoJCMp#(I}B608m3&if` z0~(HT9y7oegQ`4aG?NkPwRowy&yFl%ynBq^9LX$ zC98cp--G(RE}bkYFS@{olCY?N26tXhbZtFQY6)`h4$$Q75!NJ1c z%K960C62;A&_#`&%||3albjd2{{P=s#sF69)A`(if9lZ}d%D1j#$5Qf{pFu}sO1v> zwnL??4lQp>%sP)b_451$wOJ~y2qoN*|U?~(=twjzl8-X>&(&og2jfde2Yh~Xr2?&GG5T$cSwEJc@Go>d%ynw z|GE!U??L#r;S3Bft3jh5(D?D_4psm)F+r+5nh$Bb@Rny_08fI#!UZJrLiOAK|1X`v z^#hpin#{oP(ik*~*6j+{-<-k02p%nMJ|y{q8DtJ<$OXlmxu5_4fB736MUeai3T2

!KC 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 literal 0 HcmV?d00001 diff --git a/vendor/lua/5.1/lua.odin b/vendor/lua/5.1/lua.odin new file mode 100644 index 000000000..a92698082 --- /dev/null +++ b/vendor/lua/5.1/lua.odin @@ -0,0 +1,659 @@ +package lua_5_1 + +import "core:intrinsics" +import "core:builtin" + +import c "core:c/libc" + +#assert(size_of(c.int) == size_of(b32)) + +when ODIN_OS == .Windows { + foreign import lib "windows/lua5.1.dll.lib" +} else when ODIN_OS == .Linux { + foreign import lib "linux/liblua5.1.a" +} else { + #panic(`Unsupported platform of "vendor:lua/5.1"`) +} + +VERSION :: "Lua 5.1" +RELEASE :: "Lua 5.1.5" +VERSION_NUM :: 501 +COPYRIGHT :: "Copyright (C) 1994-2012 Lua.org, PUC-Rio" +AUTHORS :: "R. Ierusalimschy, L. H. de Figueiredo & W. Celes" + +/* mark for precompiled code ('Lua') */ +SIGNATURE :: "\x1bLua" + +/* option for multiple returns in 'lua_pcall' and 'lua_call' */ +MULTRET :: -1 + +REGISTRYINDEX :: -10000 +ENVIRONINDEX :: -10001 +GLOBALSINDEX :: -10002 + +/* +@@ LUAI_MAXSTACK limits the size of the Lua stack. +** CHANGE it if you need a different limit. This limit is arbitrary; +** its only purpose is to stop Lua from consuming unlimited stack +** space (and to reserve some numbers for pseudo-indices). +** (It must fit into max(size_t)/32.) +*/ +MAXSTACK :: 1000000 when size_of(rawptr) == 4 else 15000 + + +/* +@@ LUA_EXTRASPACE defines the size of a raw memory area associated with +** a Lua state with very fast access. +** CHANGE it if you need a different size. +*/ +EXTRASPACE :: size_of(rawptr) + + + +/* +@@ LUA_IDSIZE gives the maximum size for the description of the source +@@ of a function in debug information. +** CHANGE it if you want a different size. +*/ +IDSIZE :: 60 + + +/* +@@ LUAL_BUFFERSIZE is the buffer size used by the lauxlib buffer system. +*/ +L_BUFFERSIZE :: c.int(16 * size_of(rawptr) * size_of(Number)) + + +MAXALIGNVAL :: max(align_of(Number), align_of(f64), align_of(rawptr), align_of(Integer), align_of(c.long)) + + +Status :: enum c.int { + OK = 0, + YIELD = 1, + ERRRUN = 2, + ERRSYNTAX = 3, + ERRMEM = 4, + ERRERR = 5, + ERRFILE = 6, +} + +/* thread status */ +OK :: Status.OK +YIELD :: Status.YIELD +ERRRUN :: Status.ERRRUN +ERRSYNTAX :: Status.ERRSYNTAX +ERRMEM :: Status.ERRMEM +ERRERR :: Status.ERRERR +ERRFILE :: Status.ERRFILE + +/* +** basic types +*/ + + +Type :: enum c.int { + NONE = -1, + + NIL = 0, + BOOLEAN = 1, + LIGHTUSERDATA = 2, + NUMBER = 3, + STRING = 4, + TABLE = 5, + FUNCTION = 6, + USERDATA = 7, + THREAD = 8, +} + +TNONE :: Type.NONE +TNIL :: Type.NIL +TBOOLEAN :: Type.BOOLEAN +TLIGHTUSERDATA :: Type.LIGHTUSERDATA +TNUMBER :: Type.NUMBER +TSTRING :: Type.STRING +TTABLE :: Type.TABLE +TFUNCTION :: Type.FUNCTION +TUSERDATA :: Type.USERDATA +TTHREAD :: Type.THREAD +NUMTYPES :: 9 + + +CompareOp :: enum c.int { + EQ = 0, + LT = 1, + LE = 2, +} + +OPEQ :: CompareOp.EQ +OPLT :: CompareOp.LT +OPLE :: CompareOp.LE + + +/* minimum Lua stack available to a C function */ +MINSTACK :: 20 + + +/* type of numbers in Lua */ +Number :: distinct (f32 when size_of(uintptr) == 4 else f64) + + +/* type for integer functions */ +Integer :: distinct (i32 when size_of(uintptr) == 4 else i64) + + +/* +** Type for C functions registered with Lua +*/ +CFunction :: #type proc "c" (L: ^State) -> c.int + + + +/* +** Type for functions that read/write blocks when loading/dumping Lua chunks +*/ +Reader :: #type proc "c" (L: ^State, ud: rawptr, sz: ^c.size_t) -> cstring +Writer :: #type proc "c" (L: ^State, p: rawptr, sz: ^c.size_t, ud: rawptr) -> c.int + + +/* +** Type for memory-allocation functions +*/ +Alloc :: #type proc "c" (ud: rawptr, ptr: rawptr, osize, nsize: c.size_t) -> rawptr + + +GCWhat :: enum c.int { + STOP = 0, + RESTART = 1, + COLLECT = 2, + COUNT = 3, + COUNTB = 4, + STEP = 5, + SETPAUSE = 6, + SETSTEPMUL = 7, +} +GCSTOP :: GCWhat.STOP +GCRESTART :: GCWhat.RESTART +GCCOLLECT :: GCWhat.COLLECT +GCCOUNT :: GCWhat.COUNT +GCCOUNTB :: GCWhat.COUNTB +GCSTEP :: GCWhat.STEP +GCSETPAUSE :: GCWhat.SETPAUSE +GCSETSTEPMUL :: GCWhat.SETSTEPMUL + + +/* +** Event codes +*/ + +HookEvent :: enum c.int { + CALL = 0, + RET = 1, + LINE = 2, + COUNT = 3, + TAILRET = 4, +} +HOOKCALL :: HookEvent.CALL +HOOKRET :: HookEvent.RET +HOOKLINE :: HookEvent.LINE +HOOKCOUNT :: HookEvent.COUNT +HOOKTAILRET :: HookEvent.TAILRET + + +/* +** Event masks +*/ +HookMask :: distinct bit_set[HookEvent; c.int] +MASKCALL :: HookMask{.CALL} +MASKRET :: HookMask{.RET} +MASKLINE :: HookMask{.LINE} +MASKCOUNT :: HookMask{.COUNT} + +/* activation record */ +Debug :: struct { + event: HookEvent, + name: cstring, /* (n) */ + namewhat: cstring, /* (n) 'global', 'local', 'field', 'method' */ + what: cstring, /* (S) 'Lua', 'C', 'main', 'tail' */ + source: cstring, /* (S) */ + currentline: c.int, /* (l) */ + nups: c.int, /* (u) number of upvalues */ + linedefined: c.int, /* (S) */ + lastlinedefined: c.int, /* (S) */ + short_src: [IDSIZE]u8 `fmt:"s"`, /* (S) */ + /* private part */ + i_ci: c.int, /* active function */ +} + + +/* Functions to be called by the debugger in specific events */ +Hook :: #type proc "c" (L: ^State, ar: ^Debug) + + +State :: struct {} // opaque data type + + +@(link_prefix="lua_") +@(default_calling_convention="c") +foreign lib { + /* + ** RCS ident string + */ + + ident: [^]u8 // TODO(bill): is this correct? + + + /* + ** state manipulation + */ + + newstate :: proc(f: Alloc, ud: rawptr) -> ^State --- + close :: proc(L: ^State) --- + newthread :: proc(L: ^State) -> ^State --- + + atpanic :: proc(L: ^State, panicf: CFunction) -> CFunction --- + + + /* + ** basic stack manipulation + */ + + gettop :: proc (L: ^State) -> c.int --- + settop :: proc (L: ^State, idx: c.int) --- + pushvalue :: proc (L: ^State, idx: c.int) --- + remove :: proc (L: ^State, idx: c.int) --- + insert :: proc (L: ^State, idx: c.int) --- + replace :: proc (L: ^State, idx: c.int) --- + checkstack :: proc (L: ^State, sz: c.int) -> c.int --- + + xmove :: proc(from, to: ^State, n: c.int) --- + + + /* + ** access functions (stack -> C) + */ + + isnumber :: proc(L: ^State, idx: c.int) -> b32 --- + isstring :: proc(L: ^State, idx: c.int) -> b32 --- + iscfunction :: proc(L: ^State, idx: c.int) -> b32 --- + isinteger :: proc(L: ^State, idx: c.int) -> b32 --- + isuserdata :: proc(L: ^State, idx: c.int) -> b32 --- + type :: proc(L: ^State, idx: c.int) -> Type --- + typename :: proc(L: ^State, tp: Type) -> cstring --- + + equal :: proc(L: ^State, idx1, idx2: c.int) -> b32 --- + rawequal :: proc(L: ^State, idx1, idx2: c.int) -> b32 --- + lessthan :: proc(L: ^State, idx1, idx2: c.int) -> b32 --- + + toboolean :: proc(L: ^State, idx: c.int) -> b32 --- + tolstring :: proc(L: ^State, idx: c.int, len: ^c.size_t) -> cstring --- + objlen :: proc(L: ^State, idx: c.int) -> c.size_t --- + tocfunction :: proc(L: ^State, idx: c.int) -> CFunction --- + touserdata :: proc(L: ^State, idx: c.int) -> rawptr --- + tothread :: proc(L: ^State, idx: c.int) -> ^State --- + topointer :: proc(L: ^State, idx: c.int) -> rawptr --- + + /* + ** push functions (C -> stack) + */ + + pushnil :: proc(L: ^State) --- + pushnumber :: proc(L: ^State, n: Number) --- + pushinteger :: proc(L: ^State, n: Integer) --- + pushlstring :: proc(L: ^State, s: cstring, l: c.size_t) --- + pushstring :: proc(L: ^State, s: cstring) --- + pushvfstring :: proc(L: ^State, fmt: cstring, argp: c.va_list) -> cstring --- + pushfstring :: proc(L: ^State, fmt: cstring, #c_vararg args: ..any) -> cstring --- + pushcclosure :: proc(L: ^State, fn: CFunction, n: c.int) --- + pushboolean :: proc(L: ^State, b: b32) --- + pushlightuserdata :: proc(L: ^State, p: rawptr) --- + pushthread :: proc(L: ^State) -> Status --- + + /* + ** get functions (Lua -> stack) + */ + + gettable :: proc(L: ^State, idx: c.int) --- + getfield :: proc(L: ^State, idx: c.int, k: cstring) --- + geti :: proc(L: ^State, idx: c.int, n: Integer) --- + rawget :: proc(L: ^State, idx: c.int) --- + rawgeti :: proc(L: ^State, idx: c.int, n: Integer) --- + rawgetp :: proc(L: ^State, idx: c.int, p: rawptr) --- + + createtable :: proc(L: ^State, narr, nrec: c.int) --- + newuserdata :: proc(L: ^State, sz: c.size_t) -> rawptr --- + getmetatable :: proc(L: ^State, objindex: c.int) -> c.int --- + getfenv :: proc(L: ^State, idx: c.int) --- + + + /* + ** set functions (stack -> Lua) + */ + + settable :: proc(L: ^State, idx: c.int) --- + setfield :: proc(L: ^State, idx: c.int, k: cstring) --- + rawset :: proc(L: ^State, idx: c.int) --- + rawseti :: proc(L: ^State, idx: c.int, n: c.int) --- + rawsetp :: proc(L: ^State, idx: c.int, p: rawptr) --- + setmetatable :: proc(L: ^State, objindex: c.int) -> c.int --- + setfenv :: proc(L: ^State, idx: c.int) -> c.int --- + + + /* + ** 'load' and 'call' functions (load and run Lua code) + */ + + call :: proc(L: ^State, nargs, nresults: c.int) --- + + getctx :: proc(L: ^State, ctx: ^c.int) -> c.int --- + + pcall :: proc(L: ^State, nargs, nresults: c.int, errfunc: c.int) -> c.int --- + cpcall :: proc(L: ^State, func: CFunction, ud: rawptr) -> c.int --- + + load :: proc(L: ^State, reader: Reader, dt: rawptr, + chunkname: cstring) -> Status --- + + dump :: proc(L: ^State, writer: Writer, data: rawptr) -> Status --- + + + /* + ** coroutine functions + */ + + yield :: proc(L: ^State, nresults: c.int) -> Status --- + resume :: proc(L: ^State, narg: c.int) -> Status --- + status :: proc(L: ^State) -> Status --- + + + /* + ** garbage-collection function and options + */ + + + + gc :: proc(L: ^State, what: GCWhat, data: c.int) -> c.int --- + + + /* + ** miscellaneous functions + */ + + error :: proc(L: ^State) -> Status --- + + next :: proc(L: ^State, idx: c.int) -> c.int --- + + concat :: proc(L: ^State, n: c.int) --- + len :: proc(L: ^State, idx: c.int) --- + + getallocf :: proc(L: State, ud: ^rawptr) -> Alloc --- + setallocf :: proc(L: ^State, f: Alloc, ud: rawptr) --- + + /* + ** {====================================================================== + ** Debug API + ** ======================================================================= + */ + + getstack :: proc(L: ^State, level: c.int, ar: ^Debug) -> c.int --- + getinfo :: proc(L: ^State, what: cstring, ar: ^Debug) -> c.int --- + getlocal :: proc(L: ^State, ar: ^Debug, n: c.int) -> cstring --- + setlocal :: proc(L: ^State, ar: ^Debug, n: c.int) -> cstring --- + getupvalue :: proc(L: ^State, funcindex: c.int, n: c.int) -> cstring --- + setupvalue :: proc(L: ^State, funcindex: c.int, n: c.int) -> cstring --- + + sethook :: proc(L: ^State, func: Hook, mask: HookMask, count: c.int) -> c.int --- + gethook :: proc(L: ^State) -> Hook --- + gethookmask :: proc(L: ^State) -> HookMask --- + gethookcount :: proc(L: ^State) -> c.int --- + + /* }============================================================== */ +} + + + +COLIBNAME :: "coroutine" +TABLIBNAME :: "table" +IOLIBNAME :: "io" +OSLIBNAME :: "os" +STRLIBNAME :: "string" +UTF8LIBNAME :: "utf8" +MATHLIBNAME :: "math" +DBLIBNAME :: "debug" +LOADLIBNAME :: "package" + +@(link_prefix="lua") +@(default_calling_convention="c") +foreign lib { + open_base :: proc(L: ^State) -> c.int --- + open_table :: proc(L: ^State) -> c.int --- + open_io :: proc(L: ^State) -> c.int --- + open_os :: proc(L: ^State) -> c.int --- + open_string :: proc(L: ^State) -> c.int --- + open_utf8 :: proc(L: ^State) -> c.int --- + open_math :: proc(L: ^State) -> c.int --- + open_debug :: proc(L: ^State) -> c.int --- + open_package :: proc(L: ^State) -> c.int --- + + /* open all previous libraries */ + + L_openlibs :: proc(L: ^State) --- +} + + + +GNAME :: "_G" + +L_Reg :: struct { + name: cstring, + func: CFunction, +} + +/* predefined references */ +NOREF :: -2 +REFNIL :: -1 + +@(link_prefix="lua") +@(default_calling_convention="c") +foreign lib { + L_openlib :: proc(L: ^State, libname: cstring, l: [^]L_Reg, nup: c.int) --- + L_register :: proc(L: ^State, libname: cstring, l: ^L_Reg) --- + L_getmetafield :: proc(L: ^State, obj: c.int, e: cstring) -> c.int --- + L_callmeta :: proc(L: ^State, obj: c.int, e: cstring) -> c.int --- + L_typeerror :: proc(L: ^State, narg: c.int, tname: cstring) -> c.int --- + L_argerror :: proc(L: ^State, numarg: c.int, extramsg: cstring) -> c.int --- + @(link_name="luaL_checklstring") + L_checkstring :: proc(L: ^State, numArg: c.int, l: ^c.size_t = nil) -> cstring --- + @(link_name="luaL_optlstring") + L_optstring :: proc(L: ^State, numArg: c.int, def: cstring, l: ^c.size_t = nil) -> cstring --- + L_checknumber :: proc(L: ^State, numArg: c.int) -> Number --- + L_optnumber :: proc(L: ^State, nArg: c.int, def: Number) -> Number --- + + L_checkinteger :: proc(L: ^State, numArg: c.int) -> Integer --- + L_optinteger :: proc(L: ^State, nArg: c.int, def: Integer) -> Integer --- + + + L_checkstack :: proc(L: ^State, sz: c.int, msg: cstring) --- + L_checktype :: proc(L: ^State, narg: c.int, t: c.int) --- + L_checkany :: proc(L: ^State, narg: c.int) --- + + L_newmetatable :: proc(L: ^State, tname: cstring) -> c.int --- + L_checkudata :: proc(L: ^State, ud: c.int, tname: cstring) -> rawptr --- + + L_where :: proc(L: ^State, lvl: c.int) --- + L_error :: proc(L: ^State, fmt: cstring, #c_vararg args: ..any) -> Status --- + + L_checkoption :: proc(L: ^State, narg: c.int, def: cstring, lst: [^]cstring) -> c.int --- + + + L_ref :: proc(L: ^State, t: c.int) -> c.int --- + L_unref :: proc(L: ^State, t: c.int, ref: c.int) --- + + L_loadfile :: proc (L: ^State, filename: cstring) -> Status --- + + L_loadbuffer :: proc(L: ^State, buff: [^]byte, sz: c.size_t, name: cstring) -> Status --- + L_loadstring :: proc(L: ^State, s: cstring) -> Status --- + + L_newstate :: proc() -> ^State --- + + L_gsub :: proc(L: ^State, s, p, r: cstring) -> cstring --- + + L_findtable :: proc(L: ^State, idx: c.int, fname: cstring, szhint: c.int) -> cstring --- +} +/* +** {====================================================== +** Generic Buffer manipulation +** ======================================================= +*/ + + +L_Buffer :: struct { + p: [^]byte, /* buffer address */ + lvl: c.int, /* number of strings in the stack (level) */ + L: ^State, + buffer: [L_BUFFERSIZE]byte, /* initial buffer */ +} + +L_addchar :: #force_inline proc "c" (B: ^L_Buffer, c: byte) { + end := ([^]byte)(&B.buffer)[L_BUFFERSIZE:] + if B.p < end { + L_prepbuffer(B) + } + B.p[0] = c + B.p = B.p[1:] +} +L_putchar :: L_addchar + +L_addsize :: #force_inline proc "c" (B: ^L_Buffer, s: c.size_t) -> [^]byte { + B.p = B.p[s:] + return B.p +} + + +@(link_prefix="lua") +@(default_calling_convention="c") +foreign lib { + L_buffinit :: proc(L: ^State, B: ^L_Buffer) --- + L_prepbuffer :: proc(B: ^L_Buffer) -> [^]byte --- + L_addlstring :: proc(B: ^L_Buffer, s: cstring, l: c.size_t) --- + L_addstring :: proc(B: ^L_Buffer, s: cstring) --- + L_addvalue :: proc(B: ^L_Buffer) --- + L_pushresult :: proc(B: ^L_Buffer) --- + L_pushresultsize :: proc(B: ^L_Buffer, sz: c.size_t) --- + L_buffinitsize :: proc(L: ^State, B: ^L_Buffer, sz: c.size_t) -> [^]byte --- +} + +@(link_prefix="lua_") +@(default_calling_convention="c") +foreign lib { + /* hack */ + setlevel :: proc(from, to: ^State) --- +} + + +/* }====================================================== */ + + + + +/* +** {============================================================== +** some useful macros +** =============================================================== +*/ + +pop :: #force_inline proc "c" (L: ^State, n: c.int) { + settop(L, -n-1) +} +newtable :: #force_inline proc "c" (L: ^State) { + createtable(L, 0, 0) +} +register :: #force_inline proc "c" (L: ^State, n: cstring, f: CFunction) { + pushcfunction(L, f) + setglobal(L, n) +} + +pushcfunction :: #force_inline proc "c" (L: ^State, f: CFunction) { + pushcclosure(L, f, 0) +} + +strlen :: #force_inline proc "c" (L: ^State, i: c.int) -> c.size_t { + return objlen(L, i) +} + + +isfunction :: #force_inline proc "c" (L: ^State, n: c.int) -> bool { return type(L, n) == .FUNCTION } +istable :: #force_inline proc "c" (L: ^State, n: c.int) -> bool { return type(L, n) == .TABLE } +islightuserdata :: #force_inline proc "c" (L: ^State, n: c.int) -> bool { return type(L, n) == .LIGHTUSERDATA } +isnil :: #force_inline proc "c" (L: ^State, n: c.int) -> bool { return type(L, n) == .NIL } +isboolean :: #force_inline proc "c" (L: ^State, n: c.int) -> bool { return type(L, n) == .BOOLEAN } +isthread :: #force_inline proc "c" (L: ^State, n: c.int) -> bool { return type(L, n) == .THREAD } +isnone :: #force_inline proc "c" (L: ^State, n: c.int) -> bool { return type(L, n) == .NONE } +isnoneornil :: #force_inline proc "c" (L: ^State, n: c.int) -> bool { return type(L, n) <= .NIL } + + +pushliteral :: pushstring +setglobal :: #force_inline proc "c" (L: ^State, s: cstring) { + setfield(L, GLOBALSINDEX, s) +} +getglobal :: #force_inline proc "c" (L: ^State, s: cstring) { + getfield(L, GLOBALSINDEX, s) +} +tostring :: #force_inline proc "c" (L: ^State, i: c.int) -> cstring { + return tolstring(L, i, nil) +} + +open :: newstate +getregistry :: #force_inline proc "c" (L: ^State) { + pushvalue(L, REGISTRYINDEX) +} + +getgccount :: #force_inline proc "c" (L: ^State) -> c.int { + return gc(L, .COUNT, 0) +} + +Chunkreader :: Reader +Chunkwriter :: Writer + + +L_argcheck :: #force_inline proc "c" (L: ^State, cond: bool, numarg: c.int, extramsg: cstring) { + if cond { + L_argerror(L, numarg, extramsg) + } +} + +L_typename :: #force_inline proc "c" (L: ^State, i: c.int) -> cstring { + return typename(L, type(L, i)) +} +L_dofile :: #force_inline proc "c" (L: ^State, s: cstring) -> c.int { + err := L_loadfile(L, s) + return pcall(L, 0, MULTRET, 0) if err == nil else c.int(err) +} +L_dostring :: #force_inline proc "c" (L: ^State, s: cstring) -> c.int { + err := L_loadstring(L, s) + return pcall(L, 0, MULTRET, 0) if err == nil else c.int(err) +} +L_getmetatable :: #force_inline proc "c" (L: ^State, n: cstring) { + getfield(L, REGISTRYINDEX, n) +} +L_opt :: #force_inline proc "c" (L: ^State, f: $F, n: c.int, d: $T) -> T where intrinsics.type_is_proc(F) { + return d if isnoneornil(L, n) else f(L, n) +} + + + +ref :: #force_inline proc "c" (L: ^State, lock: bool) -> c.int { + if lock { + return L_ref(L, REGISTRYINDEX) + } + pushstring(L, "unlocked references are obsolete") + error(L) + return 0 +} +unref :: #force_inline proc "c" (L: ^State, ref: c.int) { + L_unref(L,REGISTRYINDEX, ref) +} +getref :: #force_inline proc "c" (L: ^State, ref: Integer) { + rawgeti(L, REGISTRYINDEX, ref) +} + + +/* }============================================================== */ diff --git a/vendor/lua/5.1/windows/lua5.1.dll b/vendor/lua/5.1/windows/lua5.1.dll new file mode 100644 index 0000000000000000000000000000000000000000..353c21940690c97952048492dc557378d5eda6f3 GIT binary patch literal 247296 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

Q0MGwZ z9?BO$U4d?%3m%=^AXcZ$1;_sm93WXo%K(ltp~heT{{OeH=K^hXJp1DB8U}_2Z%zf! zj%COH$2*+4Je!YjI5z(mGhchd1Zzb+E{T%^yML8^HHBHvR@p&eR%ppZ+h}FdcND32*8gCI*-8!>tEAdPRLf zb7uT5pw+n+pn@8*gz6=mENFE$um4=oIA_bvAK;=5-jYSK4yk?b0k*HV`3dN{i62bm zlE#-_>;vx(aQ6V;Mh@4H?4~!N?gA6>n{XtnQ zZzgE7XpD-&i!ajP#M1h$M4|f{sN7-(x9-8JBxZy5OP=uQKK$Y=Sed`YF3|ZCFZxfR zXD`rwyrBEM1YUqP>cip-RCftLBCWd+bh#d=tNUp+$i`p;@C@HM576$-AdVM4yBQ$8 zJY~pv7SPiyJi5a`8;T1&ES)Nfz!z0q1}#s8Oy+_2>_BIwK-jZ`N;|27Vf z{|7(|ruerV>|}2K!BxWA{DZgD&iYu16=Vm9phvIMe-F^5ecleBu9}cXw<8DtHUY3c zM~+V6*Mcvqe=;z1U+83h&2}6V#Q*<0vouz-fR0_O1z#izZ7V|BV7;PiKrz&P`o)re zkf3&edh3u!_s?$7y^Q}w87F}cI4NZVb!_4fcZ-9n#?BZOix=|XHU{XleuT^7!7fwq z03Emu^^r3NxRDLY9~Pbb5K}k^UO8y}XnAzo^D!P?22P*=(&>(&Eu8YBK{=jGTUv@DDto2x@%jLWO)mxA<`X z7ri?PtcA7NI=-|F;@l>10tRgyLPSnAIC4OzPa`?Ell%2PYz|g}M+a!lAqUveNU5}w z`*k}c?73f7gZ8O|ujA$c+v@DWzYR3n3mS}K0Ht#!*!+mc|C5dlHXM4TERG!_9H4!7 zZ$Uj)pKb;Z(2W!)UT6z5fVL)v{ugDOzyunk^Ns*bJ#ct{I+g;jnKtQx)OVnmF6r_A zq^kuF2f|R$D7gp1&}%{DB~gmaE3!Uhshn`fvy2(jXpO8t_0e1SqS%w#G>O-6y~!w4ljL z5Ae-zpuXr-P>1RN36D;14v$V|k6uSc{%wMwjKRO{P$zry58Kk(vKyHkM3y&H4Wrc%5t~J2*dgpR+#t{UWHwb>MgX2)TqA z(lLQ#ENFQN8We;qVl?pS{^Z#G0aUi!d~xq9C`)-e_;w3=_B#Fd1Ql)74!*6IN+6{t z=oUl?P%(kB(zF`1#;zN-(li&u0~HmZE8daPCu%7QZZ+G3W{H@=H&)s*F)(zWFn-(o zgNwgqGpK*^gO|T$6_^pt-vZjI(flKpzvU$OfUj>QL7;;5$BcX%1*w4wgSN5G!s=R6*usfO3~KByU3M4p=SH z$^G�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

=L`%U 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%0DwWV})k+!h0+ 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 yuUOu&ykq%<)&!kc9y4jN*O( literal 0 HcmV?d00001 diff --git a/vendor/lua/5.1/windows/lua5.1.dll.lib b/vendor/lua/5.1/windows/lua5.1.dll.lib new file mode 100644 index 0000000000000000000000000000000000000000..6e1497cc1fa508bdf97180c3b4f5c847622df508 GIT binary patch literal 25478 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 literal 0 HcmV?d00001 diff --git a/vendor/lua/5.2/lua.odin b/vendor/lua/5.2/lua.odin index 1d1f5ef73..fb37d9833 100644 --- a/vendor/lua/5.2/lua.odin +++ b/vendor/lua/5.2/lua.odin @@ -407,14 +407,14 @@ foreign lib { */ @(link_name="lua_callk") - call :: proc(L: ^State, nargs, nresults: c.int, + call :: proc(L: ^State, nargs, nresults: c.int, ctx: c.int = 0, k: CFunction = nil) --- getctx :: proc(L: ^State, ctx: ^c.int) -> c.int --- @(link_name="lua_pcallk") pcall :: proc(L: ^State, nargs, nresults: c.int, errfunc: c.int, - k: CFunction = nil) -> c.int --- + ctx: c.int = 0, k: CFunction = nil) -> c.int --- load :: proc(L: ^State, reader: Reader, dt: rawptr, chunkname, mode: cstring) -> Status --- From 97b2d1fe5c4e594c01b3e7ccd4e9fc346422aed5 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Wed, 5 Apr 2023 17:26:48 +0100 Subject: [PATCH 46/50] Update README.md --- vendor/lua/README.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/vendor/lua/README.md b/vendor/lua/README.md index 6484ab2d1..8f4b0f5a5 100644 --- a/vendor/lua/README.md +++ b/vendor/lua/README.md @@ -2,4 +2,11 @@ ```odin import lua "vendor:lua/5.4" // or whatever version you want -``` \ No newline at end of file +``` + +Lua packages + +* `vendor:lua/5.1` (version 5.1.5) +* `vendor:lua/5.2` (version 5.2.4) +* `vendor:lua/5.3` (version 5.3.6) +* `vendor:lua/5.4` (version 5.4.2) \ No newline at end of file From dcf53236ff62bae8fe94f4c4ed23732a9d607c90 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Wed, 5 Apr 2023 17:31:43 +0100 Subject: [PATCH 47/50] Generalize the foreign import for unsupported platforms --- vendor/lua/5.1/lua.odin | 2 +- vendor/lua/5.2/lua.odin | 2 +- vendor/lua/5.3/lua.odin | 2 +- vendor/lua/5.4/lua.odin | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/vendor/lua/5.1/lua.odin b/vendor/lua/5.1/lua.odin index a92698082..92660c534 100644 --- a/vendor/lua/5.1/lua.odin +++ b/vendor/lua/5.1/lua.odin @@ -12,7 +12,7 @@ when ODIN_OS == .Windows { } else when ODIN_OS == .Linux { foreign import lib "linux/liblua5.1.a" } else { - #panic(`Unsupported platform of "vendor:lua/5.1"`) + foreign import lib "system:liblua5.1.a" } VERSION :: "Lua 5.1" diff --git a/vendor/lua/5.2/lua.odin b/vendor/lua/5.2/lua.odin index fb37d9833..c71c1925e 100644 --- a/vendor/lua/5.2/lua.odin +++ b/vendor/lua/5.2/lua.odin @@ -12,7 +12,7 @@ when ODIN_OS == .Windows { } else when ODIN_OS == .Linux { foreign import lib "linux/liblua52.a" } else { - #panic(`Unsupported platform of "vendor:lua/5.2"`) + foreign import lib "system:liblua52.a" } VERSION_MAJOR :: "5" diff --git a/vendor/lua/5.3/lua.odin b/vendor/lua/5.3/lua.odin index 8f519c7ab..718d52250 100644 --- a/vendor/lua/5.3/lua.odin +++ b/vendor/lua/5.3/lua.odin @@ -12,7 +12,7 @@ when ODIN_OS == .Windows { } else when ODIN_OS == .Linux { foreign import lib "linux/liblua53.a" } else { - #panic(`Unsupported platform of "vendor:lua/5.3"`) + foreign import lib "system:liblua53.a" } VERSION_MAJOR :: "5" diff --git a/vendor/lua/5.4/lua.odin b/vendor/lua/5.4/lua.odin index afadb3857..06199dee7 100644 --- a/vendor/lua/5.4/lua.odin +++ b/vendor/lua/5.4/lua.odin @@ -12,7 +12,7 @@ when ODIN_OS == .Windows { } else when ODIN_OS == .Linux { foreign import lib "linux/liblua54.a" } else { - #panic(`Unsupported platform of "vendor:lua/5.4"`) + foreign import lib "system:liblua54.a" } VERSION_MAJOR :: "5" From 167b320cddf0ac9adadf806a20adaaf25bf66a30 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Wed, 5 Apr 2023 17:35:53 +0100 Subject: [PATCH 48/50] Remove cmark from all_vendor.odin --- examples/all/all_vendor.odin | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/all/all_vendor.odin b/examples/all/all_vendor.odin index e550e600c..f66e3cca1 100644 --- a/examples/all/all_vendor.odin +++ b/examples/all/all_vendor.odin @@ -2,7 +2,7 @@ package all import botan "vendor:botan" import cgltf "vendor:cgltf" -import commonmark "vendor:commonmark" +// import commonmark "vendor:commonmark" import ENet "vendor:ENet" import exr "vendor:OpenEXRCore" import ggpo "vendor:ggpo" @@ -31,7 +31,7 @@ import lua_5_4 "vendor:lua/5.4" _ :: botan _ :: cgltf -_ :: commonmark +// _ :: commonmark _ :: ENet _ :: exr _ :: ggpo From eef44425c3a39f620b18956ee33ea915ac89223e Mon Sep 17 00:00:00 2001 From: gingerBill Date: Wed, 5 Apr 2023 17:39:56 +0100 Subject: [PATCH 49/50] Default zlib foreign import --- vendor/zlib/zlib.odin | 63 +++++++++++++++++++++++-------------------- 1 file changed, 34 insertions(+), 29 deletions(-) diff --git a/vendor/zlib/zlib.odin b/vendor/zlib/zlib.odin index 8a046a401..021449813 100644 --- a/vendor/zlib/zlib.odin +++ b/vendor/zlib/zlib.odin @@ -2,8 +2,13 @@ package vendor_zlib import "core:c" -when ODIN_OS == .Windows { foreign import zlib "libz.lib" } -when ODIN_OS == .Linux { foreign import zlib "system:z" } +when ODIN_OS == .Windows { + foreign import zlib "libz.lib" +} else when ODIN_OS == .Linux { + foreign import zlib "system:z" +} else { + foreign import zlib "system:z" +} VERSION :: "1.2.12" VERNUM :: 0x12c0 @@ -41,39 +46,39 @@ gzFile_s :: struct { gzFile :: ^gzFile_s z_stream_s :: struct { - next_in: ^Bytef, - avail_in: uInt, - total_in: uLong, - next_out: ^Bytef, - avail_out: uInt, - total_out: uLong, - msg: [^]c.char, - state: rawptr, - zalloc: alloc_func, - zfree: free_func, - opaque: voidpf, - data_type: c.int, - adler: uLong, - reserved: uLong, + next_in: ^Bytef, + avail_in: uInt, + total_in: uLong, + next_out: ^Bytef, + avail_out: uInt, + total_out: uLong, + msg: [^]c.char, + state: rawptr, + zalloc: alloc_func, + zfree: free_func, + opaque: voidpf, + data_type: c.int, + adler: uLong, + reserved: uLong, } z_stream :: z_stream_s z_streamp :: ^z_stream gz_header_s :: struct { - text: c.int, - time: uLong, - xflags: c.int, - os: c.int, - extra: [^]Bytef, - extra_len: uInt, - extra_max: uInt, - name: [^]Bytef, - name_max: uInt, - comment: [^]Bytef, - comm_max: uInt, - hcrc: c.int, - done: c.int, + text: c.int, + time: uLong, + xflags: c.int, + os: c.int, + extra: [^]Bytef, + extra_len: uInt, + extra_max: uInt, + name: [^]Bytef, + name_max: uInt, + comment: [^]Bytef, + comm_max: uInt, + hcrc: c.int, + done: c.int, } gz_header :: gz_header_s From d7cc166eabe29be751367640a7dbe88b9bf0d095 Mon Sep 17 00:00:00 2001 From: Karl Zylinski Date: Wed, 5 Apr 2023 22:37:05 +0200 Subject: [PATCH 50/50] Fix for skip_alphanum in JSON tokenizer not checking if first character is non-alphanum. This broke any single-character key when using SJSON specification in combination with not using quoted strings. --- core/encoding/json/tokenizer.odin | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/encoding/json/tokenizer.odin b/core/encoding/json/tokenizer.odin index 567600b90..a406a73a5 100644 --- a/core/encoding/json/tokenizer.odin +++ b/core/encoding/json/tokenizer.odin @@ -163,8 +163,9 @@ get_token :: proc(t: ^Tokenizer) -> (token: Token, err: Error) { skip_alphanum :: proc(t: ^Tokenizer) { for t.offset < len(t.data) { - switch next_rune(t) { + switch t.r { case 'A'..='Z', 'a'..='z', '0'..='9', '_': + next_rune(t) continue }

_7wj#Nc;Wl#|Not!bsj#T#?AlF%fJ!EKmC9V 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
h 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