├── .gitignore ├── .gitmodules ├── README.md ├── assets ├── test └── test2 ├── build.zig ├── examples └── embedded.zig ├── src └── turnip.zig ├── tools └── mksquashfs.zig └── vendor └── libsquash.zig /.gitignore: -------------------------------------------------------------------------------- 1 | vendor/iwnet/build/ 2 | zig-out/ 3 | zig-cache/ 4 | .history/ 5 | .vscode/ 6 | target/ 7 | Cargo.lock 8 | *.o 9 | *.so 10 | *.a 11 | *.squashfs 12 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "vendor/libsquash"] 2 | path = vendor/libsquash 3 | url = https://github.com/linuxy/libsquash.git 4 | [submodule "vendor/squashfs-tools"] 5 | path = vendor/squashfs-tools 6 | url = https://github.com/linuxy/squashfs-tools.git 7 | [submodule "vendor/xxHash"] 8 | path = vendor/xxHash 9 | url = https://github.com/Cyan4973/xxHash.git 10 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # turnip 2 | An embedded virtual file system for games and other projects 3 | 4 | 5 | ![turnip](https://user-images.githubusercontent.com/1159529/234340674-a5de2be8-f87d-4532-a64c-811bd05a4ca8.png) 6 | 7 | Builds against zig 0.11.0-dev.2477+2ee328995+ 8 | 9 | ```git clone --recursive https://github.com/linuxy/turnip.git``` 10 | 11 | Example integration: 12 | https://github.com/linuxy/coyote-snake/tree/turnip 13 | 14 | To package assets in folder assets (zig-out output): 15 | * `zig build assets` 16 | 17 | To build examples 18 | * `zig build -Dexamples=true` 19 | 20 | To build coyote-snake example (from branch) 21 | * `zig build -Dgame=true` 22 | 23 | Integrating Turnip in your project 24 | 25 | build.zig 26 | ```Zig 27 | const std = @import("std"); 28 | const turnip = @import("vendor/turnip/build.zig"); 29 | 30 | pub fn build(b: *std.Build) void { 31 | const target = b.standardTargetOptions(.{}); 32 | const optimize = b.standardOptimizeOption(.{}); 33 | 34 | turnip.squashFsTool(b, target, optimize); 35 | 36 | if(b.option(bool, "game", "Build game") == true) 37 | buildGame(b, target, optimize); 38 | } 39 | 40 | pub fn buildGame(b: *std.Build, target: std.zig.CrossTarget, optimize: std.builtin.OptimizeMode) void { 41 | 42 | const exe = b.addExecutable(.{ 43 | .root_source_file = .{ .path = "src/coyote-snake.zig"}, 44 | .optimize = optimize, 45 | .target = target, 46 | .name = "snake", 47 | }); 48 | 49 | exe.linkLibC(); 50 | 51 | //Turnip 52 | exe.addModule("turnip", turnip.module(b)); 53 | exe.main_pkg_path = "."; 54 | turnip.squashLibrary(b, exe, target, optimize); 55 | 56 | exe.install(); 57 | 58 | const run_cmd = exe.run(); 59 | run_cmd.step.dependOn(b.getInstallStep()); 60 | 61 | const run_step = b.step("run", "Run the app"); 62 | run_step.dependOn(&run_cmd.step); 63 | } 64 | ``` 65 | 66 | game.zig 67 | ```Zig 68 | const Turnip = @import("turnip").Turnip; 69 | 70 | var embedded_assets = @embedFile("../zig-out/assets.squashfs"); 71 | 72 | //Initialize & load turnip assets 73 | self.assets = Turnip.init(); 74 | try self.assets.loadImage(embedded_assets, 0); 75 | 76 | //Read texture from virtual FS 77 | pub inline fn loadTexture(game: *Game, path: []const u8) !?*c.SDL_Texture { 78 | var buffer: [1024:0]u8 = std.mem.zeroes([1024:0]u8); 79 | var fd = try game.assets.open(@ptrCast([*]const u8, path)); 80 | 81 | var data: []u8 = &std.mem.zeroes([0:0]u8); 82 | var size: c_int = 0; 83 | while(true) { 84 | var sz = @intCast(c_int, try game.assets.read(fd, &buffer, 1024)); 85 | 86 | if(sz < 1) 87 | break; 88 | 89 | data = try std.mem.concat(allocator, u8, &[_][]const u8{ data, &buffer }); 90 | size += sz; 91 | } 92 | defer allocator.free(data); 93 | 94 | var texture = c.IMG_LoadTexture_RW(game.renderer, c.SDL_RWFromMem(@ptrCast(?*anyopaque, data), size), 1) orelse 95 | { 96 | c.SDL_Log("Unable to load image: %s", c.SDL_GetError()); 97 | return error.SDL_LoadTexture_RWFailed; 98 | }; 99 | 100 | try game.assets.close(fd); 101 | 102 | return texture; 103 | } 104 | 105 | ``` 106 | -------------------------------------------------------------------------------- /assets/test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxy/turnip/10de4344808d885984f3b4d75210fbb9bc85196c/assets/test -------------------------------------------------------------------------------- /assets/test2: -------------------------------------------------------------------------------- 1 | moo 2 | 123 3 | -------------------------------------------------------------------------------- /build.zig: -------------------------------------------------------------------------------- 1 | const std = @import("std"); 2 | 3 | pub fn module(b: *std.Build) *std.Build.Module { 4 | return b.createModule(.{ 5 | .source_file = .{ .path = (comptime srcPath()) ++ "/src/turnip.zig" }, 6 | .dependencies = &.{.{ .name = "libsquash", .module = squash_module(b) }}, 7 | }); 8 | } 9 | 10 | pub fn squash_module(b: *std.Build) *std.Build.Module { 11 | return b.createModule(.{ 12 | .source_file = .{ .path = (comptime srcPath()) ++ "/vendor/libsquash.zig" }, 13 | }); 14 | } 15 | 16 | pub fn build(b: *std.Build) void { 17 | const target = b.standardTargetOptions(.{}); 18 | const optimize = b.standardOptimizeOption(.{}); 19 | 20 | squashFsTool(b, target, optimize); 21 | 22 | if(b.option(bool, "examples", "Build examples") == true) 23 | turnipExamples(b, target, optimize); 24 | } 25 | 26 | pub fn turnipExamples(b: *std.Build, target: std.zig.CrossTarget, optimize: std.builtin.OptimizeMode) void { 27 | const example = b.addExecutable(.{ 28 | .name = "turnip", 29 | .root_source_file = .{ .path = "examples/embedded.zig" }, 30 | .target = target, 31 | .optimize = optimize, 32 | }); 33 | 34 | example.addModule("turnip", module(b)); 35 | 36 | squashLibrary(b, example, target, optimize); 37 | // xxHashLibrary(b, exe, target, optimize); 38 | 39 | example.addIncludePath(srcPath() ++ "/vendor/squashfs-tools"); 40 | example.linkLibC(); 41 | example.main_pkg_path = "."; 42 | 43 | example.install(); 44 | 45 | const run_cmd = example.run(); 46 | 47 | run_cmd.step.dependOn(b.getInstallStep()); 48 | 49 | if (b.args) |args| { 50 | run_cmd.addArgs(args); 51 | } 52 | 53 | const run_step = b.step("run", "Run the app"); 54 | run_step.dependOn(&run_cmd.step); 55 | 56 | // Creates a step for unit testing. 57 | const exe_tests = b.addTest(.{ 58 | .root_source_file = .{ .path = "examples/embedded.zig" }, 59 | .target = target, 60 | .optimize = optimize, 61 | }); 62 | 63 | exe_tests.main_pkg_path = "."; 64 | squashLibrary(b, exe_tests, target, optimize); 65 | exe_tests.addModule("turnip", module(b)); 66 | 67 | const test_step = b.step("test", "Run unit tests"); 68 | test_step.dependOn(&exe_tests.step); 69 | 70 | const example_step = b.step("example", "Build the example"); 71 | example_step.dependOn(&run_cmd.step); 72 | } 73 | 74 | pub fn xxHashLibrary(b: *std.Build, exe: *std.Build.CompileStep, target: std.zig.CrossTarget, optimize: std.builtin.OptimizeMode) void { 75 | const lib = b.addStaticLibrary(.{ 76 | .name = "xxhashlib", 77 | .target = target, 78 | .optimize = optimize, 79 | }); 80 | lib.addIncludePath(srcPath() ++ "/vendor/xxHash"); 81 | lib.addIncludePath("/usr/include"); 82 | lib.addIncludePath("/usr/include/x86_64-linux-gnu"); 83 | lib.addLibraryPath("/vendor/xxHash/cmake_unofficial"); 84 | lib.disable_sanitize_c = true; 85 | 86 | var c_flags = std.ArrayList([]const u8).init(b.allocator); 87 | if (optimize == .ReleaseFast) c_flags.append("-Os") catch @panic("error"); 88 | c_flags.append("-DXSUM_NO_MAIN") catch @panic("error"); 89 | 90 | var sources = std.ArrayList([]const u8).init(b.allocator); 91 | sources.appendSlice(&.{ "/vendor/xxHash/cli/xsum_os_specific.c", "/vendor/xxHash/cli/xsum_bench.c", "/vendor/xxHash/cli/xsum_output.c", "/vendor/xxHash/cli/xsum_sanity_check.c" }) catch @panic("error"); 92 | for (sources.items) |src| { 93 | lib.addCSourceFile(b.fmt("{s}{s}", .{ srcPath(), src }), c_flags.items); 94 | } 95 | exe.linkLibrary(lib); 96 | } 97 | 98 | pub fn squashLibrary(b: *std.Build, exe: *std.Build.CompileStep, target: std.zig.CrossTarget, optimize: std.builtin.OptimizeMode) void { 99 | const lib = b.addStaticLibrary(.{ 100 | .name = "libsquash", 101 | .target = target, 102 | .optimize = optimize, 103 | }); 104 | lib.addIncludePath(srcPath() ++ "/vendor/libsquash/include"); 105 | lib.addIncludePath("/usr/include"); 106 | lib.addIncludePath("/usr/include/x86_64-linux-gnu"); 107 | lib.addIncludePath("/System/Volumes/Data/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include"); 108 | lib.addIncludePath("/opt/homebrew/opt/zlib/include"); 109 | lib.addLibraryPath("/opt/homebrew/opt/zlib/lib"); 110 | lib.disable_sanitize_c = true; 111 | 112 | var c_flags = std.ArrayList([]const u8).init(b.allocator); 113 | if (optimize == .ReleaseFast) c_flags.append("-Os") catch @panic("error"); 114 | 115 | var sources = std.ArrayList([]const u8).init(b.allocator); 116 | sources.appendSlice(&.{ 117 | "/vendor/libsquash/src/cache.c", 118 | "/vendor/libsquash/src/decompress.c", 119 | "/vendor/libsquash/src/dir.c", 120 | "/vendor/libsquash/src/dirent.c", 121 | "/vendor/libsquash/src/extract.c", 122 | "/vendor/libsquash/src/fd.c", 123 | "/vendor/libsquash/src/file.c", 124 | "/vendor/libsquash/src/fs.c", 125 | "/vendor/libsquash/src/hash.c", 126 | "/vendor/libsquash/src/mutex.c", 127 | "/vendor/libsquash/src/nonstd-makedev.c", 128 | "/vendor/libsquash/src/nonstd-stat.c", 129 | "/vendor/libsquash/src/private.c", 130 | "/vendor/libsquash/src/readlink.c", 131 | "/vendor/libsquash/src/scandir.c", 132 | "/vendor/libsquash/src/stack.c", 133 | "/vendor/libsquash/src/stat.c", 134 | "/vendor/libsquash/src/table.c", 135 | "/vendor/libsquash/src/traverse.c", 136 | "/vendor/libsquash/src/util.c", 137 | }) catch @panic("error"); 138 | for (sources.items) |src| { 139 | lib.addCSourceFile(b.fmt("{s}{s}", .{ srcPath(), src }), c_flags.items); 140 | } 141 | 142 | exe.linkLibC(); 143 | if (target.isLinux() or target.isWindows()) 144 | exe.linkSystemLibrary("zlib") 145 | else 146 | exe.linkSystemLibrary("z"); 147 | 148 | exe.linkLibrary(lib); 149 | } 150 | 151 | pub fn squashFsTool(b: *std.Build, target: std.zig.CrossTarget, optimize: std.builtin.OptimizeMode) void { 152 | const exe = b.addExecutable(.{ 153 | .name = "mksquashfs", 154 | .root_source_file = .{ .path = srcPath() ++ "/tools/mksquashfs.zig" }, 155 | .target = target, 156 | .optimize = optimize, 157 | }); 158 | exe.addIncludePath(srcPath() ++ "/vendor/squashfs-tools"); 159 | exe.addIncludePath("/usr/include"); 160 | exe.addIncludePath("/usr/include/x86_64-linux-gnu"); 161 | exe.addIncludePath("/opt/homebrew/opt/zlib/include"); 162 | exe.addLibraryPath("/vendor/squashfs-tools"); 163 | exe.addLibraryPath("/opt/homebrew/opt/zlib/lib"); 164 | exe.disable_sanitize_c = true; 165 | 166 | var c_flags = std.ArrayList([]const u8).init(b.allocator); 167 | if (optimize == .ReleaseFast) c_flags.append("-Os") catch @panic("error"); 168 | c_flags.append("-D_FILE_OFFSET_BITS=64") catch @panic("error"); 169 | c_flags.append("-D_GNU_SOURCE") catch @panic("error"); 170 | c_flags.append("-DCOMP_DEFAULT=\"gzip\"") catch @panic("error"); 171 | c_flags.append("-DGZIP_SUPPORT") catch @panic("error"); 172 | c_flags.append("-DXATTR_SUPPORT") catch @panic("error"); 173 | c_flags.append("-DREPRODUCIBLE_DEFAULT") catch @panic("error"); 174 | c_flags.append("-DNOAPPEND_DEFAULT") catch @panic("error"); 175 | 176 | var sources = std.ArrayList([]const u8).init(b.allocator); 177 | sources.appendSlice(&.{ 178 | "/vendor/squashfs-tools/squashfs-tools/mksquashfs.c", 179 | "/vendor/squashfs-tools/squashfs-tools/read_fs.c", 180 | "/vendor/squashfs-tools/squashfs-tools/action.c", 181 | "/vendor/squashfs-tools/squashfs-tools/swap.c", 182 | "/vendor/squashfs-tools/squashfs-tools/pseudo.c", 183 | "/vendor/squashfs-tools/squashfs-tools/compressor.c", 184 | "/vendor/squashfs-tools/squashfs-tools/sort.c", 185 | "/vendor/squashfs-tools/squashfs-tools/progressbar.c", 186 | "/vendor/squashfs-tools/squashfs-tools/info.c", 187 | "/vendor/squashfs-tools/squashfs-tools/restore.c", 188 | "/vendor/squashfs-tools/squashfs-tools/process_fragments.c", 189 | "/vendor/squashfs-tools/squashfs-tools/caches-queues-lists.c", 190 | "/vendor/squashfs-tools/squashfs-tools/reader.c", 191 | "/vendor/squashfs-tools/squashfs-tools/tar.c", 192 | "/vendor/squashfs-tools/squashfs-tools/date.c", 193 | "/vendor/squashfs-tools/squashfs-tools/gzip_wrapper.c", 194 | "/vendor/squashfs-tools/squashfs-tools/xattr.c", 195 | "/vendor/squashfs-tools/squashfs-tools/read_xattrs.c", 196 | "/vendor/squashfs-tools/squashfs-tools/tar_xattr.c", 197 | "/vendor/squashfs-tools/squashfs-tools/pseudo_xattr.c", 198 | }) catch @panic("error"); 199 | for (sources.items) |src| { 200 | exe.addCSourceFile(b.fmt("{s}{s}", .{ srcPath(), src }), c_flags.items); 201 | } 202 | 203 | exe.linkLibC(); 204 | if (target.isLinux() or target.isWindows()) 205 | exe.linkSystemLibrary("zlib") 206 | else 207 | exe.linkSystemLibrary("z"); 208 | 209 | exe.install(); 210 | 211 | const run_cmd = exe.run(); 212 | run_cmd.step.dependOn(b.getInstallStep()); 213 | 214 | const assets_step = b.step("assets", "Package the assets"); 215 | assets_step.dependOn(&run_cmd.step); 216 | } 217 | 218 | inline fn srcPath() []const u8 { 219 | return comptime std.fs.path.dirname(@src().file) orelse @panic("error"); 220 | } 221 | -------------------------------------------------------------------------------- /examples/embedded.zig: -------------------------------------------------------------------------------- 1 | const std = @import("std"); 2 | const c = @import("turnip").c; 3 | const turnip = @import("turnip").Turnip; 4 | 5 | const assert = std.debug.assert; 6 | 7 | var embedded_assets = @embedFile("../zig-out/assets.squashfs"); 8 | 9 | pub fn main() !void { 10 | var assets = turnip.init(); 11 | defer assets.deinit(); 12 | 13 | try assets.loadImage(embedded_assets, 0); 14 | var buffer: [3:0]u8 = std.mem.zeroes([3:0]u8); 15 | var fd = try assets.open("/test2"); 16 | defer assets.close(fd) catch unreachable; 17 | 18 | assert(fd > 0); 19 | 20 | var rsize = try assets.read(fd, &buffer, 3); 21 | assert(rsize == 3); 22 | assert(std.mem.eql(u8, &buffer, "moo")); 23 | } 24 | 25 | test "open/close image" { 26 | var assets = turnip.init(); 27 | defer assets.deinit(); 28 | 29 | try assets.loadImage(embedded_assets, 0); 30 | } 31 | 32 | test "read image" { 33 | var assets = turnip.init(); 34 | defer assets.deinit(); 35 | 36 | try assets.loadImage(embedded_assets, 0); 37 | var buffer: [3:0]u8 = std.mem.zeroes([3:0]u8); 38 | var fd = try assets.open("/test2"); 39 | defer assets.close(fd) catch unreachable; 40 | 41 | assert(fd > 0); 42 | 43 | var rsize = try assets.read(fd, &buffer, 3); 44 | assert(rsize == 3); 45 | assert(std.mem.eql(u8, &buffer, "moo")); 46 | } -------------------------------------------------------------------------------- /src/turnip.zig: -------------------------------------------------------------------------------- 1 | const std = @import("std"); 2 | pub const c = @import("libsquash"); 3 | 4 | pub const Turnip = struct { 5 | fs: c.sqfs, 6 | data: [*]const u8, 7 | opened: bool, 8 | 9 | pub fn init() Turnip { 10 | var image: Turnip = .{ 11 | .fs = std.mem.zeroes(c.sqfs), 12 | .data = undefined, 13 | .opened = false, 14 | }; 15 | return image; 16 | } 17 | 18 | pub fn loadImage(self: *Turnip, data_ptr: [*]const u8, offset: usize) anyerror!void { 19 | self.data = data_ptr; 20 | var err = ec(c.sqfs_open_image(&self.fs, self.data, offset)); 21 | switch(err) { 22 | error.Ok => self.opened = true, 23 | else => return err, 24 | } 25 | } 26 | 27 | pub fn read(self: *Turnip, fd: i32, buffer: [:0]u8, buffsize: c_long) anyerror!isize { 28 | var size = c.squash_read(fd, @ptrCast(?*anyopaque, buffer), buffsize); 29 | 30 | if(size < 0) 31 | return error.FileReadError; 32 | 33 | _ = self; 34 | return size; 35 | } 36 | 37 | pub fn open(self: *Turnip, path: [*]const u8) anyerror!i32 { 38 | var fd = c.squash_open(&self.fs, path); 39 | 40 | if(fd < 0) 41 | return error.FileOpenError; 42 | 43 | return fd; 44 | } 45 | 46 | pub fn close(self: *Turnip, fd: i32) anyerror!void { 47 | var ret = c.squash_close(fd); 48 | _ = self; 49 | 50 | if(ret < 0) 51 | return error.FileCloseError; 52 | } 53 | 54 | pub fn deinit(self: *Turnip) void { 55 | if(self.opened) 56 | c.sqfs_destroy(&self.fs); 57 | 58 | self.fs = std.mem.zeroes(c.sqfs); 59 | self.data = undefined; 60 | self.opened = false; 61 | } 62 | }; 63 | 64 | pub fn ec(code: c_uint) anyerror { 65 | switch(code) { 66 | 0 => return error.Ok, 67 | 1 => return error.Error, 68 | 2 => return error.BadFormat, 69 | 3 => return error.BadVersion, 70 | 4 => return error.BadCompressor, 71 | 5 => return error.Unsupported, 72 | else => return error.Unknown, 73 | } 74 | } -------------------------------------------------------------------------------- /tools/mksquashfs.zig: -------------------------------------------------------------------------------- 1 | const std = @import("std"); 2 | 3 | const c = @cImport({ 4 | @cDefine("_GNU_SOURCE", ""); 5 | @cDefine("_FILE_OFFSET_BITS", "64"); 6 | @cDefine("COMP_DEFAULT", "\"gzip\""); 7 | @cDefine("GZIP_SUPPORT", ""); 8 | @cDefine("XATTR_SUPPORT", ""); 9 | @cDefine("REPRODUCIBLE_DEFAULT", ""); 10 | @cDefine("NOAPPEND_DEFAULT", ""); 11 | @cInclude("dirent.h"); 12 | @cInclude("sys/stat.h"); 13 | @cInclude("regex.h"); 14 | @cInclude("sys/types.h"); 15 | @cInclude("squashfs-tools/squashfs_fs.h"); 16 | @cInclude("squashfs-tools/mksquashfs.h"); 17 | }); 18 | 19 | pub fn main() !void { 20 | const args = &[_:null]?[*:0]const u8{ 21 | "mksquashfs", 22 | "assets", 23 | "zig-out/assets.squashfs", 24 | "-noappend", 25 | }; 26 | const yarg = @intToPtr([*c][*c]u8, @ptrToInt(args)); 27 | _ = c.cmain(4, yarg); 28 | } 29 | -------------------------------------------------------------------------------- /vendor/libsquash.zig: -------------------------------------------------------------------------------- 1 | pub const __builtin_bswap16 = @import("std").zig.c_builtins.__builtin_bswap16; 2 | pub const __builtin_bswap32 = @import("std").zig.c_builtins.__builtin_bswap32; 3 | pub const __builtin_bswap64 = @import("std").zig.c_builtins.__builtin_bswap64; 4 | pub const __builtin_signbit = @import("std").zig.c_builtins.__builtin_signbit; 5 | pub const __builtin_signbitf = @import("std").zig.c_builtins.__builtin_signbitf; 6 | pub const __builtin_popcount = @import("std").zig.c_builtins.__builtin_popcount; 7 | pub const __builtin_ctz = @import("std").zig.c_builtins.__builtin_ctz; 8 | pub const __builtin_clz = @import("std").zig.c_builtins.__builtin_clz; 9 | pub const __builtin_sqrt = @import("std").zig.c_builtins.__builtin_sqrt; 10 | pub const __builtin_sqrtf = @import("std").zig.c_builtins.__builtin_sqrtf; 11 | pub const __builtin_sin = @import("std").zig.c_builtins.__builtin_sin; 12 | pub const __builtin_sinf = @import("std").zig.c_builtins.__builtin_sinf; 13 | pub const __builtin_cos = @import("std").zig.c_builtins.__builtin_cos; 14 | pub const __builtin_cosf = @import("std").zig.c_builtins.__builtin_cosf; 15 | pub const __builtin_exp = @import("std").zig.c_builtins.__builtin_exp; 16 | pub const __builtin_expf = @import("std").zig.c_builtins.__builtin_expf; 17 | pub const __builtin_exp2 = @import("std").zig.c_builtins.__builtin_exp2; 18 | pub const __builtin_exp2f = @import("std").zig.c_builtins.__builtin_exp2f; 19 | pub const __builtin_log = @import("std").zig.c_builtins.__builtin_log; 20 | pub const __builtin_logf = @import("std").zig.c_builtins.__builtin_logf; 21 | pub const __builtin_log2 = @import("std").zig.c_builtins.__builtin_log2; 22 | pub const __builtin_log2f = @import("std").zig.c_builtins.__builtin_log2f; 23 | pub const __builtin_log10 = @import("std").zig.c_builtins.__builtin_log10; 24 | pub const __builtin_log10f = @import("std").zig.c_builtins.__builtin_log10f; 25 | pub const __builtin_abs = @import("std").zig.c_builtins.__builtin_abs; 26 | pub const __builtin_fabs = @import("std").zig.c_builtins.__builtin_fabs; 27 | pub const __builtin_fabsf = @import("std").zig.c_builtins.__builtin_fabsf; 28 | pub const __builtin_floor = @import("std").zig.c_builtins.__builtin_floor; 29 | pub const __builtin_floorf = @import("std").zig.c_builtins.__builtin_floorf; 30 | pub const __builtin_ceil = @import("std").zig.c_builtins.__builtin_ceil; 31 | pub const __builtin_ceilf = @import("std").zig.c_builtins.__builtin_ceilf; 32 | pub const __builtin_trunc = @import("std").zig.c_builtins.__builtin_trunc; 33 | pub const __builtin_truncf = @import("std").zig.c_builtins.__builtin_truncf; 34 | pub const __builtin_round = @import("std").zig.c_builtins.__builtin_round; 35 | pub const __builtin_roundf = @import("std").zig.c_builtins.__builtin_roundf; 36 | pub const __builtin_strlen = @import("std").zig.c_builtins.__builtin_strlen; 37 | pub const __builtin_strcmp = @import("std").zig.c_builtins.__builtin_strcmp; 38 | pub const __builtin_object_size = @import("std").zig.c_builtins.__builtin_object_size; 39 | pub const __builtin___memset_chk = @import("std").zig.c_builtins.__builtin___memset_chk; 40 | pub const __builtin_memset = @import("std").zig.c_builtins.__builtin_memset; 41 | pub const __builtin___memcpy_chk = @import("std").zig.c_builtins.__builtin___memcpy_chk; 42 | pub const __builtin_memcpy = @import("std").zig.c_builtins.__builtin_memcpy; 43 | pub const __builtin_expect = @import("std").zig.c_builtins.__builtin_expect; 44 | pub const __builtin_nanf = @import("std").zig.c_builtins.__builtin_nanf; 45 | pub const __builtin_huge_valf = @import("std").zig.c_builtins.__builtin_huge_valf; 46 | pub const __builtin_inff = @import("std").zig.c_builtins.__builtin_inff; 47 | pub const __builtin_isnan = @import("std").zig.c_builtins.__builtin_isnan; 48 | pub const __builtin_isinf = @import("std").zig.c_builtins.__builtin_isinf; 49 | pub const __builtin_isinf_sign = @import("std").zig.c_builtins.__builtin_isinf_sign; 50 | pub const __has_builtin = @import("std").zig.c_builtins.__has_builtin; 51 | pub const __builtin_assume = @import("std").zig.c_builtins.__builtin_assume; 52 | pub const __builtin_unreachable = @import("std").zig.c_builtins.__builtin_unreachable; 53 | pub const __builtin_constant_p = @import("std").zig.c_builtins.__builtin_constant_p; 54 | pub const __builtin_mul_overflow = @import("std").zig.c_builtins.__builtin_mul_overflow; 55 | pub extern fn memcpy(__dest: ?*anyopaque, __src: ?*const anyopaque, __n: c_ulong) ?*anyopaque; 56 | pub extern fn memmove(__dest: ?*anyopaque, __src: ?*const anyopaque, __n: c_ulong) ?*anyopaque; 57 | pub extern fn memccpy(__dest: ?*anyopaque, __src: ?*const anyopaque, __c: c_int, __n: c_ulong) ?*anyopaque; 58 | pub extern fn memset(__s: ?*anyopaque, __c: c_int, __n: c_ulong) ?*anyopaque; 59 | pub extern fn memcmp(__s1: ?*const anyopaque, __s2: ?*const anyopaque, __n: c_ulong) c_int; 60 | pub extern fn memchr(__s: ?*const anyopaque, __c: c_int, __n: c_ulong) ?*anyopaque; 61 | pub extern fn strcpy(__dest: [*c]u8, __src: [*c]const u8) [*c]u8; 62 | pub extern fn strncpy(__dest: [*c]u8, __src: [*c]const u8, __n: c_ulong) [*c]u8; 63 | pub extern fn strcat(__dest: [*c]u8, __src: [*c]const u8) [*c]u8; 64 | pub extern fn strncat(__dest: [*c]u8, __src: [*c]const u8, __n: c_ulong) [*c]u8; 65 | pub extern fn strcmp(__s1: [*c]const u8, __s2: [*c]const u8) c_int; 66 | pub extern fn strncmp(__s1: [*c]const u8, __s2: [*c]const u8, __n: c_ulong) c_int; 67 | pub extern fn strcoll(__s1: [*c]const u8, __s2: [*c]const u8) c_int; 68 | pub extern fn strxfrm(__dest: [*c]u8, __src: [*c]const u8, __n: c_ulong) c_ulong; 69 | pub const struct___locale_data = opaque {}; 70 | pub const struct___locale_struct = extern struct { 71 | __locales: [13]?*struct___locale_data, 72 | __ctype_b: [*c]const c_ushort, 73 | __ctype_tolower: [*c]const c_int, 74 | __ctype_toupper: [*c]const c_int, 75 | __names: [13][*c]const u8, 76 | }; 77 | pub const __locale_t = [*c]struct___locale_struct; 78 | pub const locale_t = __locale_t; 79 | pub extern fn strcoll_l(__s1: [*c]const u8, __s2: [*c]const u8, __l: locale_t) c_int; 80 | pub extern fn strxfrm_l(__dest: [*c]u8, __src: [*c]const u8, __n: usize, __l: locale_t) usize; 81 | pub extern fn strdup(__s: [*c]const u8) [*c]u8; 82 | pub extern fn strndup(__string: [*c]const u8, __n: c_ulong) [*c]u8; 83 | pub extern fn strchr(__s: [*c]const u8, __c: c_int) [*c]u8; 84 | pub extern fn strrchr(__s: [*c]const u8, __c: c_int) [*c]u8; 85 | pub extern fn strcspn(__s: [*c]const u8, __reject: [*c]const u8) c_ulong; 86 | pub extern fn strspn(__s: [*c]const u8, __accept: [*c]const u8) c_ulong; 87 | pub extern fn strpbrk(__s: [*c]const u8, __accept: [*c]const u8) [*c]u8; 88 | pub extern fn strstr(__haystack: [*c]const u8, __needle: [*c]const u8) [*c]u8; 89 | pub extern fn strtok(__s: [*c]u8, __delim: [*c]const u8) [*c]u8; 90 | pub extern fn __strtok_r(noalias __s: [*c]u8, noalias __delim: [*c]const u8, noalias __save_ptr: [*c][*c]u8) [*c]u8; 91 | pub extern fn strtok_r(noalias __s: [*c]u8, noalias __delim: [*c]const u8, noalias __save_ptr: [*c][*c]u8) [*c]u8; 92 | pub extern fn strlen(__s: [*c]const u8) c_ulong; 93 | pub extern fn strnlen(__string: [*c]const u8, __maxlen: usize) usize; 94 | pub extern fn strerror(__errnum: c_int) [*c]u8; 95 | pub extern fn strerror_r(__errnum: c_int, __buf: [*c]u8, __buflen: usize) c_int; 96 | pub extern fn strerror_l(__errnum: c_int, __l: locale_t) [*c]u8; 97 | pub extern fn bcmp(__s1: ?*const anyopaque, __s2: ?*const anyopaque, __n: c_ulong) c_int; 98 | pub extern fn bcopy(__src: ?*const anyopaque, __dest: ?*anyopaque, __n: usize) void; 99 | pub extern fn bzero(__s: ?*anyopaque, __n: c_ulong) void; 100 | pub extern fn index(__s: [*c]const u8, __c: c_int) [*c]u8; 101 | pub extern fn rindex(__s: [*c]const u8, __c: c_int) [*c]u8; 102 | pub extern fn ffs(__i: c_int) c_int; 103 | pub extern fn ffsl(__l: c_long) c_int; 104 | pub extern fn ffsll(__ll: c_longlong) c_int; 105 | pub extern fn strcasecmp(__s1: [*c]const u8, __s2: [*c]const u8) c_int; 106 | pub extern fn strncasecmp(__s1: [*c]const u8, __s2: [*c]const u8, __n: c_ulong) c_int; 107 | pub extern fn strcasecmp_l(__s1: [*c]const u8, __s2: [*c]const u8, __loc: locale_t) c_int; 108 | pub extern fn strncasecmp_l(__s1: [*c]const u8, __s2: [*c]const u8, __n: usize, __loc: locale_t) c_int; 109 | pub extern fn explicit_bzero(__s: ?*anyopaque, __n: usize) void; 110 | pub extern fn strsep(noalias __stringp: [*c][*c]u8, noalias __delim: [*c]const u8) [*c]u8; 111 | pub extern fn strsignal(__sig: c_int) [*c]u8; 112 | pub extern fn __stpcpy(noalias __dest: [*c]u8, noalias __src: [*c]const u8) [*c]u8; 113 | pub extern fn stpcpy(__dest: [*c]u8, __src: [*c]const u8) [*c]u8; 114 | pub extern fn __stpncpy(noalias __dest: [*c]u8, noalias __src: [*c]const u8, __n: usize) [*c]u8; 115 | pub extern fn stpncpy(__dest: [*c]u8, __src: [*c]const u8, __n: c_ulong) [*c]u8; 116 | pub extern fn __errno_location() [*c]c_int; 117 | pub extern fn __assert_fail(__assertion: [*c]const u8, __file: [*c]const u8, __line: c_uint, __function: [*c]const u8) noreturn; 118 | pub extern fn __assert_perror_fail(__errnum: c_int, __file: [*c]const u8, __line: c_uint, __function: [*c]const u8) noreturn; 119 | pub extern fn __assert(__assertion: [*c]const u8, __file: [*c]const u8, __line: c_int) noreturn; 120 | pub const __u_char = u8; 121 | pub const __u_short = c_ushort; 122 | pub const __u_int = c_uint; 123 | pub const __u_long = c_ulong; 124 | pub const __int8_t = i8; 125 | pub const __uint8_t = u8; 126 | pub const __int16_t = c_short; 127 | pub const __uint16_t = c_ushort; 128 | pub const __int32_t = c_int; 129 | pub const __uint32_t = c_uint; 130 | pub const __int64_t = c_long; 131 | pub const __uint64_t = c_ulong; 132 | pub const __int_least8_t = __int8_t; 133 | pub const __uint_least8_t = __uint8_t; 134 | pub const __int_least16_t = __int16_t; 135 | pub const __uint_least16_t = __uint16_t; 136 | pub const __int_least32_t = __int32_t; 137 | pub const __uint_least32_t = __uint32_t; 138 | pub const __int_least64_t = __int64_t; 139 | pub const __uint_least64_t = __uint64_t; 140 | pub const __quad_t = c_long; 141 | pub const __u_quad_t = c_ulong; 142 | pub const __intmax_t = c_long; 143 | pub const __uintmax_t = c_ulong; 144 | pub const __dev_t = c_ulong; 145 | pub const __uid_t = c_uint; 146 | pub const __gid_t = c_uint; 147 | pub const __ino_t = c_ulong; 148 | pub const __ino64_t = c_ulong; 149 | pub const __mode_t = c_uint; 150 | pub const __nlink_t = c_ulong; 151 | pub const __off_t = c_long; 152 | pub const __off64_t = c_long; 153 | pub const __pid_t = c_int; 154 | pub const __fsid_t = extern struct { 155 | __val: [2]c_int, 156 | }; 157 | pub const __clock_t = c_long; 158 | pub const __rlim_t = c_ulong; 159 | pub const __rlim64_t = c_ulong; 160 | pub const __id_t = c_uint; 161 | pub const __time_t = c_long; 162 | pub const __useconds_t = c_uint; 163 | pub const __suseconds_t = c_long; 164 | pub const __daddr_t = c_int; 165 | pub const __key_t = c_int; 166 | pub const __clockid_t = c_int; 167 | pub const __timer_t = ?*anyopaque; 168 | pub const __blksize_t = c_long; 169 | pub const __blkcnt_t = c_long; 170 | pub const __blkcnt64_t = c_long; 171 | pub const __fsblkcnt_t = c_ulong; 172 | pub const __fsblkcnt64_t = c_ulong; 173 | pub const __fsfilcnt_t = c_ulong; 174 | pub const __fsfilcnt64_t = c_ulong; 175 | pub const __fsword_t = c_long; 176 | pub const __ssize_t = c_long; 177 | pub const __syscall_slong_t = c_long; 178 | pub const __syscall_ulong_t = c_ulong; 179 | pub const __loff_t = __off64_t; 180 | pub const __caddr_t = [*c]u8; 181 | pub const __intptr_t = c_long; 182 | pub const __socklen_t = c_uint; 183 | pub const __sig_atomic_t = c_int; 184 | pub const int_least8_t = __int_least8_t; 185 | pub const int_least16_t = __int_least16_t; 186 | pub const int_least32_t = __int_least32_t; 187 | pub const int_least64_t = __int_least64_t; 188 | pub const uint_least8_t = __uint_least8_t; 189 | pub const uint_least16_t = __uint_least16_t; 190 | pub const uint_least32_t = __uint_least32_t; 191 | pub const uint_least64_t = __uint_least64_t; 192 | pub const int_fast8_t = i8; 193 | pub const int_fast16_t = c_long; 194 | pub const int_fast32_t = c_long; 195 | pub const int_fast64_t = c_long; 196 | pub const uint_fast8_t = u8; 197 | pub const uint_fast16_t = c_ulong; 198 | pub const uint_fast32_t = c_ulong; 199 | pub const uint_fast64_t = c_ulong; 200 | pub const intmax_t = __intmax_t; 201 | pub const uintmax_t = __uintmax_t; 202 | pub const u_char = __u_char; 203 | pub const u_short = __u_short; 204 | pub const u_int = __u_int; 205 | pub const u_long = __u_long; 206 | pub const quad_t = __quad_t; 207 | pub const u_quad_t = __u_quad_t; 208 | pub const fsid_t = __fsid_t; 209 | pub const loff_t = __loff_t; 210 | pub const ino_t = __ino_t; 211 | pub const dev_t = __dev_t; 212 | pub const gid_t = __gid_t; 213 | pub const mode_t = __mode_t; 214 | pub const nlink_t = __nlink_t; 215 | pub const uid_t = __uid_t; 216 | pub const off_t = __off_t; 217 | pub const pid_t = __pid_t; 218 | pub const id_t = __id_t; 219 | pub const daddr_t = __daddr_t; 220 | pub const caddr_t = __caddr_t; 221 | pub const key_t = __key_t; 222 | pub const clock_t = __clock_t; 223 | pub const clockid_t = __clockid_t; 224 | pub const time_t = __time_t; 225 | pub const timer_t = __timer_t; 226 | pub const ulong = c_ulong; 227 | pub const ushort = c_ushort; 228 | pub const uint = c_uint; 229 | pub const u_int8_t = __uint8_t; 230 | pub const u_int16_t = __uint16_t; 231 | pub const u_int32_t = __uint32_t; 232 | pub const u_int64_t = __uint64_t; 233 | pub const register_t = c_long; 234 | pub fn __bswap_16(arg___bsx: __uint16_t) callconv(.C) __uint16_t { 235 | var __bsx = arg___bsx; 236 | return @bitCast(__uint16_t, @truncate(c_short, ((@bitCast(c_int, @as(c_uint, __bsx)) >> @intCast(@import("std").math.Log2Int(c_int), 8)) & @as(c_int, 255)) | ((@bitCast(c_int, @as(c_uint, __bsx)) & @as(c_int, 255)) << @intCast(@import("std").math.Log2Int(c_int), 8)))); 237 | } 238 | pub fn __bswap_32(arg___bsx: __uint32_t) callconv(.C) __uint32_t { 239 | var __bsx = arg___bsx; 240 | return ((((__bsx & @as(c_uint, 4278190080)) >> @intCast(@import("std").math.Log2Int(c_uint), 24)) | ((__bsx & @as(c_uint, 16711680)) >> @intCast(@import("std").math.Log2Int(c_uint), 8))) | ((__bsx & @as(c_uint, 65280)) << @intCast(@import("std").math.Log2Int(c_uint), 8))) | ((__bsx & @as(c_uint, 255)) << @intCast(@import("std").math.Log2Int(c_uint), 24)); 241 | } 242 | pub fn __bswap_64(arg___bsx: __uint64_t) callconv(.C) __uint64_t { 243 | var __bsx = arg___bsx; 244 | return @bitCast(__uint64_t, @truncate(c_ulong, ((((((((@bitCast(c_ulonglong, @as(c_ulonglong, __bsx)) & @as(c_ulonglong, 18374686479671623680)) >> @intCast(@import("std").math.Log2Int(c_ulonglong), 56)) | ((@bitCast(c_ulonglong, @as(c_ulonglong, __bsx)) & @as(c_ulonglong, 71776119061217280)) >> @intCast(@import("std").math.Log2Int(c_ulonglong), 40))) | ((@bitCast(c_ulonglong, @as(c_ulonglong, __bsx)) & @as(c_ulonglong, 280375465082880)) >> @intCast(@import("std").math.Log2Int(c_ulonglong), 24))) | ((@bitCast(c_ulonglong, @as(c_ulonglong, __bsx)) & @as(c_ulonglong, 1095216660480)) >> @intCast(@import("std").math.Log2Int(c_ulonglong), 8))) | ((@bitCast(c_ulonglong, @as(c_ulonglong, __bsx)) & @as(c_ulonglong, 4278190080)) << @intCast(@import("std").math.Log2Int(c_ulonglong), 8))) | ((@bitCast(c_ulonglong, @as(c_ulonglong, __bsx)) & @as(c_ulonglong, 16711680)) << @intCast(@import("std").math.Log2Int(c_ulonglong), 24))) | ((@bitCast(c_ulonglong, @as(c_ulonglong, __bsx)) & @as(c_ulonglong, 65280)) << @intCast(@import("std").math.Log2Int(c_ulonglong), 40))) | ((@bitCast(c_ulonglong, @as(c_ulonglong, __bsx)) & @as(c_ulonglong, 255)) << @intCast(@import("std").math.Log2Int(c_ulonglong), 56)))); 245 | } 246 | pub fn __uint16_identity(arg___x: __uint16_t) callconv(.C) __uint16_t { 247 | var __x = arg___x; 248 | return __x; 249 | } 250 | pub fn __uint32_identity(arg___x: __uint32_t) callconv(.C) __uint32_t { 251 | var __x = arg___x; 252 | return __x; 253 | } 254 | pub fn __uint64_identity(arg___x: __uint64_t) callconv(.C) __uint64_t { 255 | var __x = arg___x; 256 | return __x; 257 | } 258 | pub const __sigset_t = extern struct { 259 | __val: [16]c_ulong, 260 | }; 261 | pub const sigset_t = __sigset_t; 262 | pub const struct_timeval = extern struct { 263 | tv_sec: __time_t, 264 | tv_usec: __suseconds_t, 265 | }; 266 | pub const struct_timespec = extern struct { 267 | tv_sec: __time_t, 268 | tv_nsec: __syscall_slong_t, 269 | }; 270 | pub const suseconds_t = __suseconds_t; 271 | pub const __fd_mask = c_long; 272 | pub const fd_set = extern struct { 273 | __fds_bits: [16]__fd_mask, 274 | }; 275 | pub const fd_mask = __fd_mask; 276 | pub extern fn select(__nfds: c_int, noalias __readfds: [*c]fd_set, noalias __writefds: [*c]fd_set, noalias __exceptfds: [*c]fd_set, noalias __timeout: [*c]struct_timeval) c_int; 277 | pub extern fn pselect(__nfds: c_int, noalias __readfds: [*c]fd_set, noalias __writefds: [*c]fd_set, noalias __exceptfds: [*c]fd_set, noalias __timeout: [*c]const struct_timespec, noalias __sigmask: [*c]const __sigset_t) c_int; 278 | pub const blksize_t = __blksize_t; 279 | pub const blkcnt_t = __blkcnt_t; 280 | pub const fsblkcnt_t = __fsblkcnt_t; 281 | pub const fsfilcnt_t = __fsfilcnt_t; 282 | pub const struct___pthread_internal_list = extern struct { 283 | __prev: [*c]struct___pthread_internal_list, 284 | __next: [*c]struct___pthread_internal_list, 285 | }; 286 | pub const __pthread_list_t = struct___pthread_internal_list; 287 | pub const struct___pthread_internal_slist = extern struct { 288 | __next: [*c]struct___pthread_internal_slist, 289 | }; 290 | pub const __pthread_slist_t = struct___pthread_internal_slist; 291 | pub const struct___pthread_mutex_s = extern struct { 292 | __lock: c_int, 293 | __count: c_uint, 294 | __owner: c_int, 295 | __nusers: c_uint, 296 | __kind: c_int, 297 | __spins: c_short, 298 | __elision: c_short, 299 | __list: __pthread_list_t, 300 | }; 301 | pub const struct___pthread_rwlock_arch_t = extern struct { 302 | __readers: c_uint, 303 | __writers: c_uint, 304 | __wrphase_futex: c_uint, 305 | __writers_futex: c_uint, 306 | __pad3: c_uint, 307 | __pad4: c_uint, 308 | __cur_writer: c_int, 309 | __shared: c_int, 310 | __rwelision: i8, 311 | __pad1: [7]u8, 312 | __pad2: c_ulong, 313 | __flags: c_uint, 314 | }; 315 | const struct_unnamed_2 = extern struct { 316 | __low: c_uint, 317 | __high: c_uint, 318 | }; 319 | const union_unnamed_1 = extern union { 320 | __wseq: c_ulonglong, 321 | __wseq32: struct_unnamed_2, 322 | }; 323 | const struct_unnamed_4 = extern struct { 324 | __low: c_uint, 325 | __high: c_uint, 326 | }; 327 | const union_unnamed_3 = extern union { 328 | __g1_start: c_ulonglong, 329 | __g1_start32: struct_unnamed_4, 330 | }; 331 | pub const struct___pthread_cond_s = extern struct { 332 | unnamed_0: union_unnamed_1, 333 | unnamed_1: union_unnamed_3, 334 | __g_refs: [2]c_uint, 335 | __g_size: [2]c_uint, 336 | __g1_orig_size: c_uint, 337 | __wrefs: c_uint, 338 | __g_signals: [2]c_uint, 339 | }; 340 | pub const pthread_t = c_ulong; 341 | pub const pthread_mutexattr_t = extern union { 342 | __size: [4]u8, 343 | __align: c_int, 344 | }; 345 | pub const pthread_condattr_t = extern union { 346 | __size: [4]u8, 347 | __align: c_int, 348 | }; 349 | pub const pthread_key_t = c_uint; 350 | pub const pthread_once_t = c_int; 351 | pub const union_pthread_attr_t = extern union { 352 | __size: [56]u8, 353 | __align: c_long, 354 | }; 355 | pub const pthread_attr_t = union_pthread_attr_t; 356 | pub const pthread_mutex_t = extern union { 357 | __data: struct___pthread_mutex_s, 358 | __size: [40]u8, 359 | __align: c_long, 360 | }; 361 | pub const pthread_cond_t = extern union { 362 | __data: struct___pthread_cond_s, 363 | __size: [48]u8, 364 | __align: c_longlong, 365 | }; 366 | pub const pthread_rwlock_t = extern union { 367 | __data: struct___pthread_rwlock_arch_t, 368 | __size: [56]u8, 369 | __align: c_long, 370 | }; 371 | pub const pthread_rwlockattr_t = extern union { 372 | __size: [8]u8, 373 | __align: c_long, 374 | }; 375 | pub const pthread_spinlock_t = c_int; 376 | pub const pthread_barrier_t = extern union { 377 | __size: [32]u8, 378 | __align: c_long, 379 | }; 380 | pub const pthread_barrierattr_t = extern union { 381 | __size: [4]u8, 382 | __align: c_int, 383 | }; 384 | pub const struct_stat = extern struct { 385 | st_dev: __dev_t, 386 | st_ino: __ino_t, 387 | st_nlink: __nlink_t, 388 | st_mode: __mode_t, 389 | st_uid: __uid_t, 390 | st_gid: __gid_t, 391 | __pad0: c_int, 392 | st_rdev: __dev_t, 393 | st_size: __off_t, 394 | st_blksize: __blksize_t, 395 | st_blocks: __blkcnt_t, 396 | st_atim: struct_timespec, 397 | st_mtim: struct_timespec, 398 | st_ctim: struct_timespec, 399 | __glibc_reserved: [3]__syscall_slong_t, 400 | }; 401 | pub extern fn stat(noalias __file: [*c]const u8, noalias __buf: [*c]struct_stat) c_int; 402 | pub extern fn fstat(__fd: c_int, __buf: [*c]struct_stat) c_int; 403 | pub extern fn fstatat(__fd: c_int, noalias __file: [*c]const u8, noalias __buf: [*c]struct_stat, __flag: c_int) c_int; 404 | pub extern fn lstat(noalias __file: [*c]const u8, noalias __buf: [*c]struct_stat) c_int; 405 | pub extern fn chmod(__file: [*c]const u8, __mode: __mode_t) c_int; 406 | pub extern fn lchmod(__file: [*c]const u8, __mode: __mode_t) c_int; 407 | pub extern fn fchmod(__fd: c_int, __mode: __mode_t) c_int; 408 | pub extern fn fchmodat(__fd: c_int, __file: [*c]const u8, __mode: __mode_t, __flag: c_int) c_int; 409 | pub extern fn umask(__mask: __mode_t) __mode_t; 410 | pub extern fn mkdir(__path: [*c]const u8, __mode: __mode_t) c_int; 411 | pub extern fn mkdirat(__fd: c_int, __path: [*c]const u8, __mode: __mode_t) c_int; 412 | pub extern fn mknod(__path: [*c]const u8, __mode: __mode_t, __dev: __dev_t) c_int; 413 | pub extern fn mknodat(__fd: c_int, __path: [*c]const u8, __mode: __mode_t, __dev: __dev_t) c_int; 414 | pub extern fn mkfifo(__path: [*c]const u8, __mode: __mode_t) c_int; 415 | pub extern fn mkfifoat(__fd: c_int, __path: [*c]const u8, __mode: __mode_t) c_int; 416 | pub extern fn utimensat(__fd: c_int, __path: [*c]const u8, __times: [*c]const struct_timespec, __flags: c_int) c_int; 417 | pub extern fn futimens(__fd: c_int, __times: [*c]const struct_timespec) c_int; 418 | pub extern fn __fxstat(__ver: c_int, __fildes: c_int, __stat_buf: [*c]struct_stat) c_int; 419 | pub extern fn __xstat(__ver: c_int, __filename: [*c]const u8, __stat_buf: [*c]struct_stat) c_int; 420 | pub extern fn __lxstat(__ver: c_int, __filename: [*c]const u8, __stat_buf: [*c]struct_stat) c_int; 421 | pub extern fn __fxstatat(__ver: c_int, __fildes: c_int, __filename: [*c]const u8, __stat_buf: [*c]struct_stat, __flag: c_int) c_int; 422 | pub extern fn __xmknod(__ver: c_int, __path: [*c]const u8, __mode: __mode_t, __dev: [*c]__dev_t) c_int; 423 | pub extern fn __xmknodat(__ver: c_int, __fd: c_int, __path: [*c]const u8, __mode: __mode_t, __dev: [*c]__dev_t) c_int; 424 | pub const struct_sched_param = extern struct { 425 | sched_priority: c_int, 426 | }; 427 | pub const __cpu_mask = c_ulong; 428 | pub const cpu_set_t = extern struct { 429 | __bits: [16]__cpu_mask, 430 | }; 431 | pub extern fn __sched_cpucount(__setsize: usize, __setp: [*c]const cpu_set_t) c_int; 432 | pub extern fn __sched_cpualloc(__count: usize) [*c]cpu_set_t; 433 | pub extern fn __sched_cpufree(__set: [*c]cpu_set_t) void; 434 | pub extern fn sched_setparam(__pid: __pid_t, __param: [*c]const struct_sched_param) c_int; 435 | pub extern fn sched_getparam(__pid: __pid_t, __param: [*c]struct_sched_param) c_int; 436 | pub extern fn sched_setscheduler(__pid: __pid_t, __policy: c_int, __param: [*c]const struct_sched_param) c_int; 437 | pub extern fn sched_getscheduler(__pid: __pid_t) c_int; 438 | pub extern fn sched_yield() c_int; 439 | pub extern fn sched_get_priority_max(__algorithm: c_int) c_int; 440 | pub extern fn sched_get_priority_min(__algorithm: c_int) c_int; 441 | pub extern fn sched_rr_get_interval(__pid: __pid_t, __t: [*c]struct_timespec) c_int; 442 | pub const struct_tm = extern struct { 443 | tm_sec: c_int, 444 | tm_min: c_int, 445 | tm_hour: c_int, 446 | tm_mday: c_int, 447 | tm_mon: c_int, 448 | tm_year: c_int, 449 | tm_wday: c_int, 450 | tm_yday: c_int, 451 | tm_isdst: c_int, 452 | tm_gmtoff: c_long, 453 | tm_zone: [*c]const u8, 454 | }; 455 | pub const struct_itimerspec = extern struct { 456 | it_interval: struct_timespec, 457 | it_value: struct_timespec, 458 | }; 459 | pub const struct_sigevent = opaque {}; 460 | pub extern fn clock() clock_t; 461 | pub extern fn time(__timer: [*c]time_t) time_t; 462 | pub extern fn difftime(__time1: time_t, __time0: time_t) f64; 463 | pub extern fn mktime(__tp: [*c]struct_tm) time_t; 464 | pub extern fn strftime(noalias __s: [*c]u8, __maxsize: usize, noalias __format: [*c]const u8, noalias __tp: [*c]const struct_tm) usize; 465 | pub extern fn strftime_l(noalias __s: [*c]u8, __maxsize: usize, noalias __format: [*c]const u8, noalias __tp: [*c]const struct_tm, __loc: locale_t) usize; 466 | pub extern fn gmtime(__timer: [*c]const time_t) [*c]struct_tm; 467 | pub extern fn localtime(__timer: [*c]const time_t) [*c]struct_tm; 468 | pub extern fn gmtime_r(noalias __timer: [*c]const time_t, noalias __tp: [*c]struct_tm) [*c]struct_tm; 469 | pub extern fn localtime_r(noalias __timer: [*c]const time_t, noalias __tp: [*c]struct_tm) [*c]struct_tm; 470 | pub extern fn asctime(__tp: [*c]const struct_tm) [*c]u8; 471 | pub extern fn ctime(__timer: [*c]const time_t) [*c]u8; 472 | pub extern fn asctime_r(noalias __tp: [*c]const struct_tm, noalias __buf: [*c]u8) [*c]u8; 473 | pub extern fn ctime_r(noalias __timer: [*c]const time_t, noalias __buf: [*c]u8) [*c]u8; 474 | pub extern var __tzname: [2][*c]u8; 475 | pub extern var __daylight: c_int; 476 | pub extern var __timezone: c_long; 477 | pub extern var tzname: [2][*c]u8; 478 | pub extern fn tzset() void; 479 | pub extern var daylight: c_int; 480 | pub extern var timezone: c_long; 481 | pub extern fn timegm(__tp: [*c]struct_tm) time_t; 482 | pub extern fn timelocal(__tp: [*c]struct_tm) time_t; 483 | pub extern fn dysize(__year: c_int) c_int; 484 | pub extern fn nanosleep(__requested_time: [*c]const struct_timespec, __remaining: [*c]struct_timespec) c_int; 485 | pub extern fn clock_getres(__clock_id: clockid_t, __res: [*c]struct_timespec) c_int; 486 | pub extern fn clock_gettime(__clock_id: clockid_t, __tp: [*c]struct_timespec) c_int; 487 | pub extern fn clock_settime(__clock_id: clockid_t, __tp: [*c]const struct_timespec) c_int; 488 | pub extern fn clock_nanosleep(__clock_id: clockid_t, __flags: c_int, __req: [*c]const struct_timespec, __rem: [*c]struct_timespec) c_int; 489 | pub extern fn clock_getcpuclockid(__pid: pid_t, __clock_id: [*c]clockid_t) c_int; 490 | pub extern fn timer_create(__clock_id: clockid_t, noalias __evp: ?*struct_sigevent, noalias __timerid: [*c]timer_t) c_int; 491 | pub extern fn timer_delete(__timerid: timer_t) c_int; 492 | pub extern fn timer_settime(__timerid: timer_t, __flags: c_int, noalias __value: [*c]const struct_itimerspec, noalias __ovalue: [*c]struct_itimerspec) c_int; 493 | pub extern fn timer_gettime(__timerid: timer_t, __value: [*c]struct_itimerspec) c_int; 494 | pub extern fn timer_getoverrun(__timerid: timer_t) c_int; 495 | pub extern fn timespec_get(__ts: [*c]struct_timespec, __base: c_int) c_int; 496 | pub const __jmp_buf = [8]c_long; 497 | pub const PTHREAD_CREATE_JOINABLE: c_int = 0; 498 | pub const PTHREAD_CREATE_DETACHED: c_int = 1; 499 | const enum_unnamed_5 = c_uint; 500 | pub const PTHREAD_MUTEX_TIMED_NP: c_int = 0; 501 | pub const PTHREAD_MUTEX_RECURSIVE_NP: c_int = 1; 502 | pub const PTHREAD_MUTEX_ERRORCHECK_NP: c_int = 2; 503 | pub const PTHREAD_MUTEX_ADAPTIVE_NP: c_int = 3; 504 | pub const PTHREAD_MUTEX_NORMAL: c_int = 0; 505 | pub const PTHREAD_MUTEX_RECURSIVE: c_int = 1; 506 | pub const PTHREAD_MUTEX_ERRORCHECK: c_int = 2; 507 | pub const PTHREAD_MUTEX_DEFAULT: c_int = 0; 508 | const enum_unnamed_6 = c_uint; 509 | pub const PTHREAD_MUTEX_STALLED: c_int = 0; 510 | pub const PTHREAD_MUTEX_STALLED_NP: c_int = 0; 511 | pub const PTHREAD_MUTEX_ROBUST: c_int = 1; 512 | pub const PTHREAD_MUTEX_ROBUST_NP: c_int = 1; 513 | const enum_unnamed_7 = c_uint; 514 | pub const PTHREAD_PRIO_NONE: c_int = 0; 515 | pub const PTHREAD_PRIO_INHERIT: c_int = 1; 516 | pub const PTHREAD_PRIO_PROTECT: c_int = 2; 517 | const enum_unnamed_8 = c_uint; 518 | pub const PTHREAD_RWLOCK_PREFER_READER_NP: c_int = 0; 519 | pub const PTHREAD_RWLOCK_PREFER_WRITER_NP: c_int = 1; 520 | pub const PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP: c_int = 2; 521 | pub const PTHREAD_RWLOCK_DEFAULT_NP: c_int = 0; 522 | const enum_unnamed_9 = c_uint; 523 | pub const PTHREAD_INHERIT_SCHED: c_int = 0; 524 | pub const PTHREAD_EXPLICIT_SCHED: c_int = 1; 525 | const enum_unnamed_10 = c_uint; 526 | pub const PTHREAD_SCOPE_SYSTEM: c_int = 0; 527 | pub const PTHREAD_SCOPE_PROCESS: c_int = 1; 528 | const enum_unnamed_11 = c_uint; 529 | pub const PTHREAD_PROCESS_PRIVATE: c_int = 0; 530 | pub const PTHREAD_PROCESS_SHARED: c_int = 1; 531 | const enum_unnamed_12 = c_uint; 532 | pub const struct__pthread_cleanup_buffer = extern struct { 533 | __routine: ?*const fn (?*anyopaque) callconv(.C) void, 534 | __arg: ?*anyopaque, 535 | __canceltype: c_int, 536 | __prev: [*c]struct__pthread_cleanup_buffer, 537 | }; 538 | pub const PTHREAD_CANCEL_ENABLE: c_int = 0; 539 | pub const PTHREAD_CANCEL_DISABLE: c_int = 1; 540 | const enum_unnamed_13 = c_uint; 541 | pub const PTHREAD_CANCEL_DEFERRED: c_int = 0; 542 | pub const PTHREAD_CANCEL_ASYNCHRONOUS: c_int = 1; 543 | const enum_unnamed_14 = c_uint; 544 | pub extern fn pthread_create(noalias __newthread: [*c]pthread_t, noalias __attr: [*c]const pthread_attr_t, __start_routine: ?*const fn (?*anyopaque) callconv(.C) ?*anyopaque, noalias __arg: ?*anyopaque) c_int; 545 | pub extern fn pthread_exit(__retval: ?*anyopaque) noreturn; 546 | pub extern fn pthread_join(__th: pthread_t, __thread_return: [*c]?*anyopaque) c_int; 547 | pub extern fn pthread_detach(__th: pthread_t) c_int; 548 | pub extern fn pthread_self() pthread_t; 549 | pub extern fn pthread_equal(__thread1: pthread_t, __thread2: pthread_t) c_int; 550 | pub extern fn pthread_attr_init(__attr: [*c]pthread_attr_t) c_int; 551 | pub extern fn pthread_attr_destroy(__attr: [*c]pthread_attr_t) c_int; 552 | pub extern fn pthread_attr_getdetachstate(__attr: [*c]const pthread_attr_t, __detachstate: [*c]c_int) c_int; 553 | pub extern fn pthread_attr_setdetachstate(__attr: [*c]pthread_attr_t, __detachstate: c_int) c_int; 554 | pub extern fn pthread_attr_getguardsize(__attr: [*c]const pthread_attr_t, __guardsize: [*c]usize) c_int; 555 | pub extern fn pthread_attr_setguardsize(__attr: [*c]pthread_attr_t, __guardsize: usize) c_int; 556 | pub extern fn pthread_attr_getschedparam(noalias __attr: [*c]const pthread_attr_t, noalias __param: [*c]struct_sched_param) c_int; 557 | pub extern fn pthread_attr_setschedparam(noalias __attr: [*c]pthread_attr_t, noalias __param: [*c]const struct_sched_param) c_int; 558 | pub extern fn pthread_attr_getschedpolicy(noalias __attr: [*c]const pthread_attr_t, noalias __policy: [*c]c_int) c_int; 559 | pub extern fn pthread_attr_setschedpolicy(__attr: [*c]pthread_attr_t, __policy: c_int) c_int; 560 | pub extern fn pthread_attr_getinheritsched(noalias __attr: [*c]const pthread_attr_t, noalias __inherit: [*c]c_int) c_int; 561 | pub extern fn pthread_attr_setinheritsched(__attr: [*c]pthread_attr_t, __inherit: c_int) c_int; 562 | pub extern fn pthread_attr_getscope(noalias __attr: [*c]const pthread_attr_t, noalias __scope: [*c]c_int) c_int; 563 | pub extern fn pthread_attr_setscope(__attr: [*c]pthread_attr_t, __scope: c_int) c_int; 564 | pub extern fn pthread_attr_getstackaddr(noalias __attr: [*c]const pthread_attr_t, noalias __stackaddr: [*c]?*anyopaque) c_int; 565 | pub extern fn pthread_attr_setstackaddr(__attr: [*c]pthread_attr_t, __stackaddr: ?*anyopaque) c_int; 566 | pub extern fn pthread_attr_getstacksize(noalias __attr: [*c]const pthread_attr_t, noalias __stacksize: [*c]usize) c_int; 567 | pub extern fn pthread_attr_setstacksize(__attr: [*c]pthread_attr_t, __stacksize: usize) c_int; 568 | pub extern fn pthread_attr_getstack(noalias __attr: [*c]const pthread_attr_t, noalias __stackaddr: [*c]?*anyopaque, noalias __stacksize: [*c]usize) c_int; 569 | pub extern fn pthread_attr_setstack(__attr: [*c]pthread_attr_t, __stackaddr: ?*anyopaque, __stacksize: usize) c_int; 570 | pub extern fn pthread_setschedparam(__target_thread: pthread_t, __policy: c_int, __param: [*c]const struct_sched_param) c_int; 571 | pub extern fn pthread_getschedparam(__target_thread: pthread_t, noalias __policy: [*c]c_int, noalias __param: [*c]struct_sched_param) c_int; 572 | pub extern fn pthread_setschedprio(__target_thread: pthread_t, __prio: c_int) c_int; 573 | pub extern fn pthread_once(__once_control: [*c]pthread_once_t, __init_routine: ?*const fn () callconv(.C) void) c_int; 574 | pub extern fn pthread_setcancelstate(__state: c_int, __oldstate: [*c]c_int) c_int; 575 | pub extern fn pthread_setcanceltype(__type: c_int, __oldtype: [*c]c_int) c_int; 576 | pub extern fn pthread_cancel(__th: pthread_t) c_int; 577 | pub extern fn pthread_testcancel() void; 578 | const struct_unnamed_15 = extern struct { 579 | __cancel_jmp_buf: __jmp_buf, 580 | __mask_was_saved: c_int, 581 | }; 582 | pub const __pthread_unwind_buf_t = extern struct { 583 | __cancel_jmp_buf: [1]struct_unnamed_15, 584 | __pad: [4]?*anyopaque, 585 | }; 586 | pub const struct___pthread_cleanup_frame = extern struct { 587 | __cancel_routine: ?*const fn (?*anyopaque) callconv(.C) void, 588 | __cancel_arg: ?*anyopaque, 589 | __do_it: c_int, 590 | __cancel_type: c_int, 591 | }; 592 | pub extern fn __pthread_register_cancel(__buf: [*c]__pthread_unwind_buf_t) void; 593 | pub extern fn __pthread_unregister_cancel(__buf: [*c]__pthread_unwind_buf_t) void; 594 | pub extern fn __pthread_unwind_next(__buf: [*c]__pthread_unwind_buf_t) noreturn; 595 | pub const struct___jmp_buf_tag = opaque {}; 596 | pub extern fn __sigsetjmp(__env: ?*struct___jmp_buf_tag, __savemask: c_int) c_int; 597 | pub extern fn pthread_mutex_init(__mutex: [*c]pthread_mutex_t, __mutexattr: [*c]const pthread_mutexattr_t) c_int; 598 | pub extern fn pthread_mutex_destroy(__mutex: [*c]pthread_mutex_t) c_int; 599 | pub extern fn pthread_mutex_trylock(__mutex: [*c]pthread_mutex_t) c_int; 600 | pub extern fn pthread_mutex_lock(__mutex: [*c]pthread_mutex_t) c_int; 601 | pub extern fn pthread_mutex_timedlock(noalias __mutex: [*c]pthread_mutex_t, noalias __abstime: [*c]const struct_timespec) c_int; 602 | pub extern fn pthread_mutex_unlock(__mutex: [*c]pthread_mutex_t) c_int; 603 | pub extern fn pthread_mutex_getprioceiling(noalias __mutex: [*c]const pthread_mutex_t, noalias __prioceiling: [*c]c_int) c_int; 604 | pub extern fn pthread_mutex_setprioceiling(noalias __mutex: [*c]pthread_mutex_t, __prioceiling: c_int, noalias __old_ceiling: [*c]c_int) c_int; 605 | pub extern fn pthread_mutex_consistent(__mutex: [*c]pthread_mutex_t) c_int; 606 | pub extern fn pthread_mutexattr_init(__attr: [*c]pthread_mutexattr_t) c_int; 607 | pub extern fn pthread_mutexattr_destroy(__attr: [*c]pthread_mutexattr_t) c_int; 608 | pub extern fn pthread_mutexattr_getpshared(noalias __attr: [*c]const pthread_mutexattr_t, noalias __pshared: [*c]c_int) c_int; 609 | pub extern fn pthread_mutexattr_setpshared(__attr: [*c]pthread_mutexattr_t, __pshared: c_int) c_int; 610 | pub extern fn pthread_mutexattr_gettype(noalias __attr: [*c]const pthread_mutexattr_t, noalias __kind: [*c]c_int) c_int; 611 | pub extern fn pthread_mutexattr_settype(__attr: [*c]pthread_mutexattr_t, __kind: c_int) c_int; 612 | pub extern fn pthread_mutexattr_getprotocol(noalias __attr: [*c]const pthread_mutexattr_t, noalias __protocol: [*c]c_int) c_int; 613 | pub extern fn pthread_mutexattr_setprotocol(__attr: [*c]pthread_mutexattr_t, __protocol: c_int) c_int; 614 | pub extern fn pthread_mutexattr_getprioceiling(noalias __attr: [*c]const pthread_mutexattr_t, noalias __prioceiling: [*c]c_int) c_int; 615 | pub extern fn pthread_mutexattr_setprioceiling(__attr: [*c]pthread_mutexattr_t, __prioceiling: c_int) c_int; 616 | pub extern fn pthread_mutexattr_getrobust(__attr: [*c]const pthread_mutexattr_t, __robustness: [*c]c_int) c_int; 617 | pub extern fn pthread_mutexattr_setrobust(__attr: [*c]pthread_mutexattr_t, __robustness: c_int) c_int; 618 | pub extern fn pthread_rwlock_init(noalias __rwlock: [*c]pthread_rwlock_t, noalias __attr: [*c]const pthread_rwlockattr_t) c_int; 619 | pub extern fn pthread_rwlock_destroy(__rwlock: [*c]pthread_rwlock_t) c_int; 620 | pub extern fn pthread_rwlock_rdlock(__rwlock: [*c]pthread_rwlock_t) c_int; 621 | pub extern fn pthread_rwlock_tryrdlock(__rwlock: [*c]pthread_rwlock_t) c_int; 622 | pub extern fn pthread_rwlock_timedrdlock(noalias __rwlock: [*c]pthread_rwlock_t, noalias __abstime: [*c]const struct_timespec) c_int; 623 | pub extern fn pthread_rwlock_wrlock(__rwlock: [*c]pthread_rwlock_t) c_int; 624 | pub extern fn pthread_rwlock_trywrlock(__rwlock: [*c]pthread_rwlock_t) c_int; 625 | pub extern fn pthread_rwlock_timedwrlock(noalias __rwlock: [*c]pthread_rwlock_t, noalias __abstime: [*c]const struct_timespec) c_int; 626 | pub extern fn pthread_rwlock_unlock(__rwlock: [*c]pthread_rwlock_t) c_int; 627 | pub extern fn pthread_rwlockattr_init(__attr: [*c]pthread_rwlockattr_t) c_int; 628 | pub extern fn pthread_rwlockattr_destroy(__attr: [*c]pthread_rwlockattr_t) c_int; 629 | pub extern fn pthread_rwlockattr_getpshared(noalias __attr: [*c]const pthread_rwlockattr_t, noalias __pshared: [*c]c_int) c_int; 630 | pub extern fn pthread_rwlockattr_setpshared(__attr: [*c]pthread_rwlockattr_t, __pshared: c_int) c_int; 631 | pub extern fn pthread_rwlockattr_getkind_np(noalias __attr: [*c]const pthread_rwlockattr_t, noalias __pref: [*c]c_int) c_int; 632 | pub extern fn pthread_rwlockattr_setkind_np(__attr: [*c]pthread_rwlockattr_t, __pref: c_int) c_int; 633 | pub extern fn pthread_cond_init(noalias __cond: [*c]pthread_cond_t, noalias __cond_attr: [*c]const pthread_condattr_t) c_int; 634 | pub extern fn pthread_cond_destroy(__cond: [*c]pthread_cond_t) c_int; 635 | pub extern fn pthread_cond_signal(__cond: [*c]pthread_cond_t) c_int; 636 | pub extern fn pthread_cond_broadcast(__cond: [*c]pthread_cond_t) c_int; 637 | pub extern fn pthread_cond_wait(noalias __cond: [*c]pthread_cond_t, noalias __mutex: [*c]pthread_mutex_t) c_int; 638 | pub extern fn pthread_cond_timedwait(noalias __cond: [*c]pthread_cond_t, noalias __mutex: [*c]pthread_mutex_t, noalias __abstime: [*c]const struct_timespec) c_int; 639 | pub extern fn pthread_condattr_init(__attr: [*c]pthread_condattr_t) c_int; 640 | pub extern fn pthread_condattr_destroy(__attr: [*c]pthread_condattr_t) c_int; 641 | pub extern fn pthread_condattr_getpshared(noalias __attr: [*c]const pthread_condattr_t, noalias __pshared: [*c]c_int) c_int; 642 | pub extern fn pthread_condattr_setpshared(__attr: [*c]pthread_condattr_t, __pshared: c_int) c_int; 643 | pub extern fn pthread_condattr_getclock(noalias __attr: [*c]const pthread_condattr_t, noalias __clock_id: [*c]__clockid_t) c_int; 644 | pub extern fn pthread_condattr_setclock(__attr: [*c]pthread_condattr_t, __clock_id: __clockid_t) c_int; 645 | pub extern fn pthread_spin_init(__lock: [*c]volatile pthread_spinlock_t, __pshared: c_int) c_int; 646 | pub extern fn pthread_spin_destroy(__lock: [*c]volatile pthread_spinlock_t) c_int; 647 | pub extern fn pthread_spin_lock(__lock: [*c]volatile pthread_spinlock_t) c_int; 648 | pub extern fn pthread_spin_trylock(__lock: [*c]volatile pthread_spinlock_t) c_int; 649 | pub extern fn pthread_spin_unlock(__lock: [*c]volatile pthread_spinlock_t) c_int; 650 | pub extern fn pthread_barrier_init(noalias __barrier: [*c]pthread_barrier_t, noalias __attr: [*c]const pthread_barrierattr_t, __count: c_uint) c_int; 651 | pub extern fn pthread_barrier_destroy(__barrier: [*c]pthread_barrier_t) c_int; 652 | pub extern fn pthread_barrier_wait(__barrier: [*c]pthread_barrier_t) c_int; 653 | pub extern fn pthread_barrierattr_init(__attr: [*c]pthread_barrierattr_t) c_int; 654 | pub extern fn pthread_barrierattr_destroy(__attr: [*c]pthread_barrierattr_t) c_int; 655 | pub extern fn pthread_barrierattr_getpshared(noalias __attr: [*c]const pthread_barrierattr_t, noalias __pshared: [*c]c_int) c_int; 656 | pub extern fn pthread_barrierattr_setpshared(__attr: [*c]pthread_barrierattr_t, __pshared: c_int) c_int; 657 | pub extern fn pthread_key_create(__key: [*c]pthread_key_t, __destr_function: ?*const fn (?*anyopaque) callconv(.C) void) c_int; 658 | pub extern fn pthread_key_delete(__key: pthread_key_t) c_int; 659 | pub extern fn pthread_getspecific(__key: pthread_key_t) ?*anyopaque; 660 | pub extern fn pthread_setspecific(__key: pthread_key_t, __pointer: ?*const anyopaque) c_int; 661 | pub extern fn pthread_getcpuclockid(__thread_id: pthread_t, __clock_id: [*c]__clockid_t) c_int; 662 | pub extern fn pthread_atfork(__prepare: ?*const fn () callconv(.C) void, __parent: ?*const fn () callconv(.C) void, __child: ?*const fn () callconv(.C) void) c_int; 663 | pub extern var squash_global_mutex: pthread_mutex_t; 664 | pub extern fn MUTEX_INIT(mutex: [*c]pthread_mutex_t) c_int; 665 | pub extern fn MUTEX_LOCK(mutex: [*c]pthread_mutex_t) c_int; 666 | pub extern fn MUTEX_UNLOCK(mutex: [*c]pthread_mutex_t) c_int; 667 | pub extern fn MUTEX_DESTORY(mutex: [*c]pthread_mutex_t) c_int; 668 | pub const struct_dirent = extern struct { 669 | d_ino: __ino_t, 670 | d_off: __off_t, 671 | d_reclen: c_ushort, 672 | d_type: u8, 673 | d_name: [256]u8, 674 | }; 675 | pub const DT_UNKNOWN: c_int = 0; 676 | pub const DT_FIFO: c_int = 1; 677 | pub const DT_CHR: c_int = 2; 678 | pub const DT_DIR: c_int = 4; 679 | pub const DT_BLK: c_int = 6; 680 | pub const DT_REG: c_int = 8; 681 | pub const DT_LNK: c_int = 10; 682 | pub const DT_SOCK: c_int = 12; 683 | pub const DT_WHT: c_int = 14; 684 | const enum_unnamed_16 = c_uint; 685 | pub const struct___dirstream = opaque {}; 686 | pub const DIR = struct___dirstream; 687 | pub extern fn opendir(__name: [*c]const u8) ?*DIR; 688 | pub extern fn fdopendir(__fd: c_int) ?*DIR; 689 | pub extern fn closedir(__dirp: ?*DIR) c_int; 690 | pub extern fn readdir(__dirp: ?*DIR) [*c]struct_dirent; 691 | pub extern fn readdir_r(noalias __dirp: ?*DIR, noalias __entry: [*c]struct_dirent, noalias __result: [*c][*c]struct_dirent) c_int; 692 | pub extern fn rewinddir(__dirp: ?*DIR) void; 693 | pub extern fn seekdir(__dirp: ?*DIR, __pos: c_long) void; 694 | pub extern fn telldir(__dirp: ?*DIR) c_long; 695 | pub extern fn dirfd(__dirp: ?*DIR) c_int; 696 | pub extern fn scandir(noalias __dir: [*c]const u8, noalias __namelist: [*c][*c][*c]struct_dirent, __selector: ?*const fn ([*c]const struct_dirent) callconv(.C) c_int, __cmp: ?*const fn ([*c][*c]const struct_dirent, [*c][*c]const struct_dirent) callconv(.C) c_int) c_int; 697 | pub extern fn alphasort(__e1: [*c][*c]const struct_dirent, __e2: [*c][*c]const struct_dirent) c_int; 698 | pub extern fn getdirentries(__fd: c_int, noalias __buf: [*c]u8, __nbytes: usize, noalias __basep: [*c]__off_t) __ssize_t; 699 | pub const useconds_t = __useconds_t; 700 | pub const socklen_t = __socklen_t; 701 | pub extern fn access(__name: [*c]const u8, __type: c_int) c_int; 702 | pub extern fn faccessat(__fd: c_int, __file: [*c]const u8, __type: c_int, __flag: c_int) c_int; 703 | pub extern fn lseek(__fd: c_int, __offset: __off_t, __whence: c_int) __off_t; 704 | pub extern fn close(__fd: c_int) c_int; 705 | pub extern fn read(__fd: c_int, __buf: ?*anyopaque, __nbytes: usize) isize; 706 | pub extern fn write(__fd: c_int, __buf: ?*const anyopaque, __n: usize) isize; 707 | pub extern fn pread(__fd: c_int, __buf: ?*anyopaque, __nbytes: usize, __offset: __off_t) isize; 708 | pub extern fn pwrite(__fd: c_int, __buf: ?*const anyopaque, __n: usize, __offset: __off_t) isize; 709 | pub extern fn pipe(__pipedes: [*c]c_int) c_int; 710 | pub extern fn alarm(__seconds: c_uint) c_uint; 711 | pub extern fn sleep(__seconds: c_uint) c_uint; 712 | pub extern fn ualarm(__value: __useconds_t, __interval: __useconds_t) __useconds_t; 713 | pub extern fn usleep(__useconds: __useconds_t) c_int; 714 | pub extern fn pause() c_int; 715 | pub extern fn chown(__file: [*c]const u8, __owner: __uid_t, __group: __gid_t) c_int; 716 | pub extern fn fchown(__fd: c_int, __owner: __uid_t, __group: __gid_t) c_int; 717 | pub extern fn lchown(__file: [*c]const u8, __owner: __uid_t, __group: __gid_t) c_int; 718 | pub extern fn fchownat(__fd: c_int, __file: [*c]const u8, __owner: __uid_t, __group: __gid_t, __flag: c_int) c_int; 719 | pub extern fn chdir(__path: [*c]const u8) c_int; 720 | pub extern fn fchdir(__fd: c_int) c_int; 721 | pub extern fn getcwd(__buf: [*c]u8, __size: usize) [*c]u8; 722 | pub extern fn getwd(__buf: [*c]u8) [*c]u8; 723 | pub extern fn dup(__fd: c_int) c_int; 724 | pub extern fn dup2(__fd: c_int, __fd2: c_int) c_int; 725 | pub extern var __environ: [*c][*c]u8; 726 | pub extern fn execve(__path: [*c]const u8, __argv: [*c]const [*c]u8, __envp: [*c]const [*c]u8) c_int; 727 | pub extern fn fexecve(__fd: c_int, __argv: [*c]const [*c]u8, __envp: [*c]const [*c]u8) c_int; 728 | pub extern fn execv(__path: [*c]const u8, __argv: [*c]const [*c]u8) c_int; 729 | pub extern fn execle(__path: [*c]const u8, __arg: [*c]const u8, ...) c_int; 730 | pub extern fn execl(__path: [*c]const u8, __arg: [*c]const u8, ...) c_int; 731 | pub extern fn execvp(__file: [*c]const u8, __argv: [*c]const [*c]u8) c_int; 732 | pub extern fn execlp(__file: [*c]const u8, __arg: [*c]const u8, ...) c_int; 733 | pub extern fn nice(__inc: c_int) c_int; 734 | pub extern fn _exit(__status: c_int) noreturn; 735 | pub const _PC_LINK_MAX: c_int = 0; 736 | pub const _PC_MAX_CANON: c_int = 1; 737 | pub const _PC_MAX_INPUT: c_int = 2; 738 | pub const _PC_NAME_MAX: c_int = 3; 739 | pub const _PC_PATH_MAX: c_int = 4; 740 | pub const _PC_PIPE_BUF: c_int = 5; 741 | pub const _PC_CHOWN_RESTRICTED: c_int = 6; 742 | pub const _PC_NO_TRUNC: c_int = 7; 743 | pub const _PC_VDISABLE: c_int = 8; 744 | pub const _PC_SYNC_IO: c_int = 9; 745 | pub const _PC_ASYNC_IO: c_int = 10; 746 | pub const _PC_PRIO_IO: c_int = 11; 747 | pub const _PC_SOCK_MAXBUF: c_int = 12; 748 | pub const _PC_FILESIZEBITS: c_int = 13; 749 | pub const _PC_REC_INCR_XFER_SIZE: c_int = 14; 750 | pub const _PC_REC_MAX_XFER_SIZE: c_int = 15; 751 | pub const _PC_REC_MIN_XFER_SIZE: c_int = 16; 752 | pub const _PC_REC_XFER_ALIGN: c_int = 17; 753 | pub const _PC_ALLOC_SIZE_MIN: c_int = 18; 754 | pub const _PC_SYMLINK_MAX: c_int = 19; 755 | pub const _PC_2_SYMLINKS: c_int = 20; 756 | const enum_unnamed_17 = c_uint; 757 | pub const _SC_ARG_MAX: c_int = 0; 758 | pub const _SC_CHILD_MAX: c_int = 1; 759 | pub const _SC_CLK_TCK: c_int = 2; 760 | pub const _SC_NGROUPS_MAX: c_int = 3; 761 | pub const _SC_OPEN_MAX: c_int = 4; 762 | pub const _SC_STREAM_MAX: c_int = 5; 763 | pub const _SC_TZNAME_MAX: c_int = 6; 764 | pub const _SC_JOB_CONTROL: c_int = 7; 765 | pub const _SC_SAVED_IDS: c_int = 8; 766 | pub const _SC_REALTIME_SIGNALS: c_int = 9; 767 | pub const _SC_PRIORITY_SCHEDULING: c_int = 10; 768 | pub const _SC_TIMERS: c_int = 11; 769 | pub const _SC_ASYNCHRONOUS_IO: c_int = 12; 770 | pub const _SC_PRIORITIZED_IO: c_int = 13; 771 | pub const _SC_SYNCHRONIZED_IO: c_int = 14; 772 | pub const _SC_FSYNC: c_int = 15; 773 | pub const _SC_MAPPED_FILES: c_int = 16; 774 | pub const _SC_MEMLOCK: c_int = 17; 775 | pub const _SC_MEMLOCK_RANGE: c_int = 18; 776 | pub const _SC_MEMORY_PROTECTION: c_int = 19; 777 | pub const _SC_MESSAGE_PASSING: c_int = 20; 778 | pub const _SC_SEMAPHORES: c_int = 21; 779 | pub const _SC_SHARED_MEMORY_OBJECTS: c_int = 22; 780 | pub const _SC_AIO_LISTIO_MAX: c_int = 23; 781 | pub const _SC_AIO_MAX: c_int = 24; 782 | pub const _SC_AIO_PRIO_DELTA_MAX: c_int = 25; 783 | pub const _SC_DELAYTIMER_MAX: c_int = 26; 784 | pub const _SC_MQ_OPEN_MAX: c_int = 27; 785 | pub const _SC_MQ_PRIO_MAX: c_int = 28; 786 | pub const _SC_VERSION: c_int = 29; 787 | pub const _SC_PAGESIZE: c_int = 30; 788 | pub const _SC_RTSIG_MAX: c_int = 31; 789 | pub const _SC_SEM_NSEMS_MAX: c_int = 32; 790 | pub const _SC_SEM_VALUE_MAX: c_int = 33; 791 | pub const _SC_SIGQUEUE_MAX: c_int = 34; 792 | pub const _SC_TIMER_MAX: c_int = 35; 793 | pub const _SC_BC_BASE_MAX: c_int = 36; 794 | pub const _SC_BC_DIM_MAX: c_int = 37; 795 | pub const _SC_BC_SCALE_MAX: c_int = 38; 796 | pub const _SC_BC_STRING_MAX: c_int = 39; 797 | pub const _SC_COLL_WEIGHTS_MAX: c_int = 40; 798 | pub const _SC_EQUIV_CLASS_MAX: c_int = 41; 799 | pub const _SC_EXPR_NEST_MAX: c_int = 42; 800 | pub const _SC_LINE_MAX: c_int = 43; 801 | pub const _SC_RE_DUP_MAX: c_int = 44; 802 | pub const _SC_CHARCLASS_NAME_MAX: c_int = 45; 803 | pub const _SC_2_VERSION: c_int = 46; 804 | pub const _SC_2_C_BIND: c_int = 47; 805 | pub const _SC_2_C_DEV: c_int = 48; 806 | pub const _SC_2_FORT_DEV: c_int = 49; 807 | pub const _SC_2_FORT_RUN: c_int = 50; 808 | pub const _SC_2_SW_DEV: c_int = 51; 809 | pub const _SC_2_LOCALEDEF: c_int = 52; 810 | pub const _SC_PII: c_int = 53; 811 | pub const _SC_PII_XTI: c_int = 54; 812 | pub const _SC_PII_SOCKET: c_int = 55; 813 | pub const _SC_PII_INTERNET: c_int = 56; 814 | pub const _SC_PII_OSI: c_int = 57; 815 | pub const _SC_POLL: c_int = 58; 816 | pub const _SC_SELECT: c_int = 59; 817 | pub const _SC_UIO_MAXIOV: c_int = 60; 818 | pub const _SC_IOV_MAX: c_int = 60; 819 | pub const _SC_PII_INTERNET_STREAM: c_int = 61; 820 | pub const _SC_PII_INTERNET_DGRAM: c_int = 62; 821 | pub const _SC_PII_OSI_COTS: c_int = 63; 822 | pub const _SC_PII_OSI_CLTS: c_int = 64; 823 | pub const _SC_PII_OSI_M: c_int = 65; 824 | pub const _SC_T_IOV_MAX: c_int = 66; 825 | pub const _SC_THREADS: c_int = 67; 826 | pub const _SC_THREAD_SAFE_FUNCTIONS: c_int = 68; 827 | pub const _SC_GETGR_R_SIZE_MAX: c_int = 69; 828 | pub const _SC_GETPW_R_SIZE_MAX: c_int = 70; 829 | pub const _SC_LOGIN_NAME_MAX: c_int = 71; 830 | pub const _SC_TTY_NAME_MAX: c_int = 72; 831 | pub const _SC_THREAD_DESTRUCTOR_ITERATIONS: c_int = 73; 832 | pub const _SC_THREAD_KEYS_MAX: c_int = 74; 833 | pub const _SC_THREAD_STACK_MIN: c_int = 75; 834 | pub const _SC_THREAD_THREADS_MAX: c_int = 76; 835 | pub const _SC_THREAD_ATTR_STACKADDR: c_int = 77; 836 | pub const _SC_THREAD_ATTR_STACKSIZE: c_int = 78; 837 | pub const _SC_THREAD_PRIORITY_SCHEDULING: c_int = 79; 838 | pub const _SC_THREAD_PRIO_INHERIT: c_int = 80; 839 | pub const _SC_THREAD_PRIO_PROTECT: c_int = 81; 840 | pub const _SC_THREAD_PROCESS_SHARED: c_int = 82; 841 | pub const _SC_NPROCESSORS_CONF: c_int = 83; 842 | pub const _SC_NPROCESSORS_ONLN: c_int = 84; 843 | pub const _SC_PHYS_PAGES: c_int = 85; 844 | pub const _SC_AVPHYS_PAGES: c_int = 86; 845 | pub const _SC_ATEXIT_MAX: c_int = 87; 846 | pub const _SC_PASS_MAX: c_int = 88; 847 | pub const _SC_XOPEN_VERSION: c_int = 89; 848 | pub const _SC_XOPEN_XCU_VERSION: c_int = 90; 849 | pub const _SC_XOPEN_UNIX: c_int = 91; 850 | pub const _SC_XOPEN_CRYPT: c_int = 92; 851 | pub const _SC_XOPEN_ENH_I18N: c_int = 93; 852 | pub const _SC_XOPEN_SHM: c_int = 94; 853 | pub const _SC_2_CHAR_TERM: c_int = 95; 854 | pub const _SC_2_C_VERSION: c_int = 96; 855 | pub const _SC_2_UPE: c_int = 97; 856 | pub const _SC_XOPEN_XPG2: c_int = 98; 857 | pub const _SC_XOPEN_XPG3: c_int = 99; 858 | pub const _SC_XOPEN_XPG4: c_int = 100; 859 | pub const _SC_CHAR_BIT: c_int = 101; 860 | pub const _SC_CHAR_MAX: c_int = 102; 861 | pub const _SC_CHAR_MIN: c_int = 103; 862 | pub const _SC_INT_MAX: c_int = 104; 863 | pub const _SC_INT_MIN: c_int = 105; 864 | pub const _SC_LONG_BIT: c_int = 106; 865 | pub const _SC_WORD_BIT: c_int = 107; 866 | pub const _SC_MB_LEN_MAX: c_int = 108; 867 | pub const _SC_NZERO: c_int = 109; 868 | pub const _SC_SSIZE_MAX: c_int = 110; 869 | pub const _SC_SCHAR_MAX: c_int = 111; 870 | pub const _SC_SCHAR_MIN: c_int = 112; 871 | pub const _SC_SHRT_MAX: c_int = 113; 872 | pub const _SC_SHRT_MIN: c_int = 114; 873 | pub const _SC_UCHAR_MAX: c_int = 115; 874 | pub const _SC_UINT_MAX: c_int = 116; 875 | pub const _SC_ULONG_MAX: c_int = 117; 876 | pub const _SC_USHRT_MAX: c_int = 118; 877 | pub const _SC_NL_ARGMAX: c_int = 119; 878 | pub const _SC_NL_LANGMAX: c_int = 120; 879 | pub const _SC_NL_MSGMAX: c_int = 121; 880 | pub const _SC_NL_NMAX: c_int = 122; 881 | pub const _SC_NL_SETMAX: c_int = 123; 882 | pub const _SC_NL_TEXTMAX: c_int = 124; 883 | pub const _SC_XBS5_ILP32_OFF32: c_int = 125; 884 | pub const _SC_XBS5_ILP32_OFFBIG: c_int = 126; 885 | pub const _SC_XBS5_LP64_OFF64: c_int = 127; 886 | pub const _SC_XBS5_LPBIG_OFFBIG: c_int = 128; 887 | pub const _SC_XOPEN_LEGACY: c_int = 129; 888 | pub const _SC_XOPEN_REALTIME: c_int = 130; 889 | pub const _SC_XOPEN_REALTIME_THREADS: c_int = 131; 890 | pub const _SC_ADVISORY_INFO: c_int = 132; 891 | pub const _SC_BARRIERS: c_int = 133; 892 | pub const _SC_BASE: c_int = 134; 893 | pub const _SC_C_LANG_SUPPORT: c_int = 135; 894 | pub const _SC_C_LANG_SUPPORT_R: c_int = 136; 895 | pub const _SC_CLOCK_SELECTION: c_int = 137; 896 | pub const _SC_CPUTIME: c_int = 138; 897 | pub const _SC_THREAD_CPUTIME: c_int = 139; 898 | pub const _SC_DEVICE_IO: c_int = 140; 899 | pub const _SC_DEVICE_SPECIFIC: c_int = 141; 900 | pub const _SC_DEVICE_SPECIFIC_R: c_int = 142; 901 | pub const _SC_FD_MGMT: c_int = 143; 902 | pub const _SC_FIFO: c_int = 144; 903 | pub const _SC_PIPE: c_int = 145; 904 | pub const _SC_FILE_ATTRIBUTES: c_int = 146; 905 | pub const _SC_FILE_LOCKING: c_int = 147; 906 | pub const _SC_FILE_SYSTEM: c_int = 148; 907 | pub const _SC_MONOTONIC_CLOCK: c_int = 149; 908 | pub const _SC_MULTI_PROCESS: c_int = 150; 909 | pub const _SC_SINGLE_PROCESS: c_int = 151; 910 | pub const _SC_NETWORKING: c_int = 152; 911 | pub const _SC_READER_WRITER_LOCKS: c_int = 153; 912 | pub const _SC_SPIN_LOCKS: c_int = 154; 913 | pub const _SC_REGEXP: c_int = 155; 914 | pub const _SC_REGEX_VERSION: c_int = 156; 915 | pub const _SC_SHELL: c_int = 157; 916 | pub const _SC_SIGNALS: c_int = 158; 917 | pub const _SC_SPAWN: c_int = 159; 918 | pub const _SC_SPORADIC_SERVER: c_int = 160; 919 | pub const _SC_THREAD_SPORADIC_SERVER: c_int = 161; 920 | pub const _SC_SYSTEM_DATABASE: c_int = 162; 921 | pub const _SC_SYSTEM_DATABASE_R: c_int = 163; 922 | pub const _SC_TIMEOUTS: c_int = 164; 923 | pub const _SC_TYPED_MEMORY_OBJECTS: c_int = 165; 924 | pub const _SC_USER_GROUPS: c_int = 166; 925 | pub const _SC_USER_GROUPS_R: c_int = 167; 926 | pub const _SC_2_PBS: c_int = 168; 927 | pub const _SC_2_PBS_ACCOUNTING: c_int = 169; 928 | pub const _SC_2_PBS_LOCATE: c_int = 170; 929 | pub const _SC_2_PBS_MESSAGE: c_int = 171; 930 | pub const _SC_2_PBS_TRACK: c_int = 172; 931 | pub const _SC_SYMLOOP_MAX: c_int = 173; 932 | pub const _SC_STREAMS: c_int = 174; 933 | pub const _SC_2_PBS_CHECKPOINT: c_int = 175; 934 | pub const _SC_V6_ILP32_OFF32: c_int = 176; 935 | pub const _SC_V6_ILP32_OFFBIG: c_int = 177; 936 | pub const _SC_V6_LP64_OFF64: c_int = 178; 937 | pub const _SC_V6_LPBIG_OFFBIG: c_int = 179; 938 | pub const _SC_HOST_NAME_MAX: c_int = 180; 939 | pub const _SC_TRACE: c_int = 181; 940 | pub const _SC_TRACE_EVENT_FILTER: c_int = 182; 941 | pub const _SC_TRACE_INHERIT: c_int = 183; 942 | pub const _SC_TRACE_LOG: c_int = 184; 943 | pub const _SC_LEVEL1_ICACHE_SIZE: c_int = 185; 944 | pub const _SC_LEVEL1_ICACHE_ASSOC: c_int = 186; 945 | pub const _SC_LEVEL1_ICACHE_LINESIZE: c_int = 187; 946 | pub const _SC_LEVEL1_DCACHE_SIZE: c_int = 188; 947 | pub const _SC_LEVEL1_DCACHE_ASSOC: c_int = 189; 948 | pub const _SC_LEVEL1_DCACHE_LINESIZE: c_int = 190; 949 | pub const _SC_LEVEL2_CACHE_SIZE: c_int = 191; 950 | pub const _SC_LEVEL2_CACHE_ASSOC: c_int = 192; 951 | pub const _SC_LEVEL2_CACHE_LINESIZE: c_int = 193; 952 | pub const _SC_LEVEL3_CACHE_SIZE: c_int = 194; 953 | pub const _SC_LEVEL3_CACHE_ASSOC: c_int = 195; 954 | pub const _SC_LEVEL3_CACHE_LINESIZE: c_int = 196; 955 | pub const _SC_LEVEL4_CACHE_SIZE: c_int = 197; 956 | pub const _SC_LEVEL4_CACHE_ASSOC: c_int = 198; 957 | pub const _SC_LEVEL4_CACHE_LINESIZE: c_int = 199; 958 | pub const _SC_IPV6: c_int = 235; 959 | pub const _SC_RAW_SOCKETS: c_int = 236; 960 | pub const _SC_V7_ILP32_OFF32: c_int = 237; 961 | pub const _SC_V7_ILP32_OFFBIG: c_int = 238; 962 | pub const _SC_V7_LP64_OFF64: c_int = 239; 963 | pub const _SC_V7_LPBIG_OFFBIG: c_int = 240; 964 | pub const _SC_SS_REPL_MAX: c_int = 241; 965 | pub const _SC_TRACE_EVENT_NAME_MAX: c_int = 242; 966 | pub const _SC_TRACE_NAME_MAX: c_int = 243; 967 | pub const _SC_TRACE_SYS_MAX: c_int = 244; 968 | pub const _SC_TRACE_USER_EVENT_MAX: c_int = 245; 969 | pub const _SC_XOPEN_STREAMS: c_int = 246; 970 | pub const _SC_THREAD_ROBUST_PRIO_INHERIT: c_int = 247; 971 | pub const _SC_THREAD_ROBUST_PRIO_PROTECT: c_int = 248; 972 | const enum_unnamed_18 = c_uint; 973 | pub const _CS_PATH: c_int = 0; 974 | pub const _CS_V6_WIDTH_RESTRICTED_ENVS: c_int = 1; 975 | pub const _CS_GNU_LIBC_VERSION: c_int = 2; 976 | pub const _CS_GNU_LIBPTHREAD_VERSION: c_int = 3; 977 | pub const _CS_V5_WIDTH_RESTRICTED_ENVS: c_int = 4; 978 | pub const _CS_V7_WIDTH_RESTRICTED_ENVS: c_int = 5; 979 | pub const _CS_LFS_CFLAGS: c_int = 1000; 980 | pub const _CS_LFS_LDFLAGS: c_int = 1001; 981 | pub const _CS_LFS_LIBS: c_int = 1002; 982 | pub const _CS_LFS_LINTFLAGS: c_int = 1003; 983 | pub const _CS_LFS64_CFLAGS: c_int = 1004; 984 | pub const _CS_LFS64_LDFLAGS: c_int = 1005; 985 | pub const _CS_LFS64_LIBS: c_int = 1006; 986 | pub const _CS_LFS64_LINTFLAGS: c_int = 1007; 987 | pub const _CS_XBS5_ILP32_OFF32_CFLAGS: c_int = 1100; 988 | pub const _CS_XBS5_ILP32_OFF32_LDFLAGS: c_int = 1101; 989 | pub const _CS_XBS5_ILP32_OFF32_LIBS: c_int = 1102; 990 | pub const _CS_XBS5_ILP32_OFF32_LINTFLAGS: c_int = 1103; 991 | pub const _CS_XBS5_ILP32_OFFBIG_CFLAGS: c_int = 1104; 992 | pub const _CS_XBS5_ILP32_OFFBIG_LDFLAGS: c_int = 1105; 993 | pub const _CS_XBS5_ILP32_OFFBIG_LIBS: c_int = 1106; 994 | pub const _CS_XBS5_ILP32_OFFBIG_LINTFLAGS: c_int = 1107; 995 | pub const _CS_XBS5_LP64_OFF64_CFLAGS: c_int = 1108; 996 | pub const _CS_XBS5_LP64_OFF64_LDFLAGS: c_int = 1109; 997 | pub const _CS_XBS5_LP64_OFF64_LIBS: c_int = 1110; 998 | pub const _CS_XBS5_LP64_OFF64_LINTFLAGS: c_int = 1111; 999 | pub const _CS_XBS5_LPBIG_OFFBIG_CFLAGS: c_int = 1112; 1000 | pub const _CS_XBS5_LPBIG_OFFBIG_LDFLAGS: c_int = 1113; 1001 | pub const _CS_XBS5_LPBIG_OFFBIG_LIBS: c_int = 1114; 1002 | pub const _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS: c_int = 1115; 1003 | pub const _CS_POSIX_V6_ILP32_OFF32_CFLAGS: c_int = 1116; 1004 | pub const _CS_POSIX_V6_ILP32_OFF32_LDFLAGS: c_int = 1117; 1005 | pub const _CS_POSIX_V6_ILP32_OFF32_LIBS: c_int = 1118; 1006 | pub const _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS: c_int = 1119; 1007 | pub const _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS: c_int = 1120; 1008 | pub const _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS: c_int = 1121; 1009 | pub const _CS_POSIX_V6_ILP32_OFFBIG_LIBS: c_int = 1122; 1010 | pub const _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS: c_int = 1123; 1011 | pub const _CS_POSIX_V6_LP64_OFF64_CFLAGS: c_int = 1124; 1012 | pub const _CS_POSIX_V6_LP64_OFF64_LDFLAGS: c_int = 1125; 1013 | pub const _CS_POSIX_V6_LP64_OFF64_LIBS: c_int = 1126; 1014 | pub const _CS_POSIX_V6_LP64_OFF64_LINTFLAGS: c_int = 1127; 1015 | pub const _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS: c_int = 1128; 1016 | pub const _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS: c_int = 1129; 1017 | pub const _CS_POSIX_V6_LPBIG_OFFBIG_LIBS: c_int = 1130; 1018 | pub const _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS: c_int = 1131; 1019 | pub const _CS_POSIX_V7_ILP32_OFF32_CFLAGS: c_int = 1132; 1020 | pub const _CS_POSIX_V7_ILP32_OFF32_LDFLAGS: c_int = 1133; 1021 | pub const _CS_POSIX_V7_ILP32_OFF32_LIBS: c_int = 1134; 1022 | pub const _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS: c_int = 1135; 1023 | pub const _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS: c_int = 1136; 1024 | pub const _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS: c_int = 1137; 1025 | pub const _CS_POSIX_V7_ILP32_OFFBIG_LIBS: c_int = 1138; 1026 | pub const _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS: c_int = 1139; 1027 | pub const _CS_POSIX_V7_LP64_OFF64_CFLAGS: c_int = 1140; 1028 | pub const _CS_POSIX_V7_LP64_OFF64_LDFLAGS: c_int = 1141; 1029 | pub const _CS_POSIX_V7_LP64_OFF64_LIBS: c_int = 1142; 1030 | pub const _CS_POSIX_V7_LP64_OFF64_LINTFLAGS: c_int = 1143; 1031 | pub const _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS: c_int = 1144; 1032 | pub const _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS: c_int = 1145; 1033 | pub const _CS_POSIX_V7_LPBIG_OFFBIG_LIBS: c_int = 1146; 1034 | pub const _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS: c_int = 1147; 1035 | pub const _CS_V6_ENV: c_int = 1148; 1036 | pub const _CS_V7_ENV: c_int = 1149; 1037 | const enum_unnamed_19 = c_uint; 1038 | pub extern fn pathconf(__path: [*c]const u8, __name: c_int) c_long; 1039 | pub extern fn fpathconf(__fd: c_int, __name: c_int) c_long; 1040 | pub extern fn sysconf(__name: c_int) c_long; 1041 | pub extern fn confstr(__name: c_int, __buf: [*c]u8, __len: usize) usize; 1042 | pub extern fn getpid() __pid_t; 1043 | pub extern fn getppid() __pid_t; 1044 | pub extern fn getpgrp() __pid_t; 1045 | pub extern fn __getpgid(__pid: __pid_t) __pid_t; 1046 | pub extern fn getpgid(__pid: __pid_t) __pid_t; 1047 | pub extern fn setpgid(__pid: __pid_t, __pgid: __pid_t) c_int; 1048 | pub extern fn setpgrp() c_int; 1049 | pub extern fn setsid() __pid_t; 1050 | pub extern fn getsid(__pid: __pid_t) __pid_t; 1051 | pub extern fn getuid() __uid_t; 1052 | pub extern fn geteuid() __uid_t; 1053 | pub extern fn getgid() __gid_t; 1054 | pub extern fn getegid() __gid_t; 1055 | pub extern fn getgroups(__size: c_int, __list: [*c]__gid_t) c_int; 1056 | pub extern fn setuid(__uid: __uid_t) c_int; 1057 | pub extern fn setreuid(__ruid: __uid_t, __euid: __uid_t) c_int; 1058 | pub extern fn seteuid(__uid: __uid_t) c_int; 1059 | pub extern fn setgid(__gid: __gid_t) c_int; 1060 | pub extern fn setregid(__rgid: __gid_t, __egid: __gid_t) c_int; 1061 | pub extern fn setegid(__gid: __gid_t) c_int; 1062 | pub extern fn fork() __pid_t; 1063 | pub extern fn vfork() c_int; 1064 | pub extern fn ttyname(__fd: c_int) [*c]u8; 1065 | pub extern fn ttyname_r(__fd: c_int, __buf: [*c]u8, __buflen: usize) c_int; 1066 | pub extern fn isatty(__fd: c_int) c_int; 1067 | pub extern fn ttyslot() c_int; 1068 | pub extern fn link(__from: [*c]const u8, __to: [*c]const u8) c_int; 1069 | pub extern fn linkat(__fromfd: c_int, __from: [*c]const u8, __tofd: c_int, __to: [*c]const u8, __flags: c_int) c_int; 1070 | pub extern fn symlink(__from: [*c]const u8, __to: [*c]const u8) c_int; 1071 | pub extern fn readlink(noalias __path: [*c]const u8, noalias __buf: [*c]u8, __len: usize) isize; 1072 | pub extern fn symlinkat(__from: [*c]const u8, __tofd: c_int, __to: [*c]const u8) c_int; 1073 | pub extern fn readlinkat(__fd: c_int, noalias __path: [*c]const u8, noalias __buf: [*c]u8, __len: usize) isize; 1074 | pub extern fn unlink(__name: [*c]const u8) c_int; 1075 | pub extern fn unlinkat(__fd: c_int, __name: [*c]const u8, __flag: c_int) c_int; 1076 | pub extern fn rmdir(__path: [*c]const u8) c_int; 1077 | pub extern fn tcgetpgrp(__fd: c_int) __pid_t; 1078 | pub extern fn tcsetpgrp(__fd: c_int, __pgrp_id: __pid_t) c_int; 1079 | pub extern fn getlogin() [*c]u8; 1080 | pub extern fn getlogin_r(__name: [*c]u8, __name_len: usize) c_int; 1081 | pub extern fn setlogin(__name: [*c]const u8) c_int; 1082 | pub extern var optarg: [*c]u8; 1083 | pub extern var optind: c_int; 1084 | pub extern var opterr: c_int; 1085 | pub extern var optopt: c_int; 1086 | pub extern fn getopt(___argc: c_int, ___argv: [*c]const [*c]u8, __shortopts: [*c]const u8) c_int; 1087 | pub extern fn gethostname(__name: [*c]u8, __len: usize) c_int; 1088 | pub extern fn sethostname(__name: [*c]const u8, __len: usize) c_int; 1089 | pub extern fn sethostid(__id: c_long) c_int; 1090 | pub extern fn getdomainname(__name: [*c]u8, __len: usize) c_int; 1091 | pub extern fn setdomainname(__name: [*c]const u8, __len: usize) c_int; 1092 | pub extern fn vhangup() c_int; 1093 | pub extern fn revoke(__file: [*c]const u8) c_int; 1094 | pub extern fn profil(__sample_buffer: [*c]c_ushort, __size: usize, __offset: usize, __scale: c_uint) c_int; 1095 | pub extern fn acct(__name: [*c]const u8) c_int; 1096 | pub extern fn getusershell() [*c]u8; 1097 | pub extern fn endusershell() void; 1098 | pub extern fn setusershell() void; 1099 | pub extern fn daemon(__nochdir: c_int, __noclose: c_int) c_int; 1100 | pub extern fn chroot(__path: [*c]const u8) c_int; 1101 | pub extern fn getpass(__prompt: [*c]const u8) [*c]u8; 1102 | pub extern fn fsync(__fd: c_int) c_int; 1103 | pub extern fn gethostid() c_long; 1104 | pub extern fn sync() void; 1105 | pub extern fn getpagesize() c_int; 1106 | pub extern fn getdtablesize() c_int; 1107 | pub extern fn truncate(__file: [*c]const u8, __length: __off_t) c_int; 1108 | pub extern fn ftruncate(__fd: c_int, __length: __off_t) c_int; 1109 | pub extern fn brk(__addr: ?*anyopaque) c_int; 1110 | pub extern fn sbrk(__delta: isize) ?*anyopaque; 1111 | pub extern fn syscall(__sysno: c_long, ...) c_long; 1112 | pub extern fn lockf(__fd: c_int, __cmd: c_int, __len: __off_t) c_int; 1113 | pub extern fn fdatasync(__fildes: c_int) c_int; 1114 | pub extern fn crypt(__key: [*c]const u8, __salt: [*c]const u8) [*c]u8; 1115 | pub extern fn getentropy(__buffer: ?*anyopaque, __length: usize) c_int; 1116 | pub const sqfs_mode_t = mode_t; 1117 | pub const sqfs_id_t = uid_t; 1118 | pub const sqfs_off_t = off_t; 1119 | pub const sqfs_fd_t = [*c]const u8; 1120 | pub const SQFS_OK: c_int = 0; 1121 | pub const SQFS_ERR: c_int = 1; 1122 | pub const SQFS_BADFORMAT: c_int = 2; 1123 | pub const SQFS_BADVERSION: c_int = 3; 1124 | pub const SQFS_BADCOMP: c_int = 4; 1125 | pub const SQFS_UNSUP: c_int = 5; 1126 | pub const sqfs_err = c_uint; 1127 | pub const sqfs_inode_id = u64; 1128 | pub const sqfs_inode_num = u32; 1129 | pub const __u32 = c_uint; 1130 | pub const __le32 = __u32; 1131 | pub const __u16 = c_ushort; 1132 | pub const __le16 = __u16; 1133 | pub const __u64 = c_ulonglong; 1134 | pub const __le64 = __u64; 1135 | pub const struct_squashfs_super_block = extern struct { 1136 | s_magic: __le32, 1137 | inodes: __le32, 1138 | mkfs_time: __le32, 1139 | block_size: __le32, 1140 | fragments: __le32, 1141 | compression: __le16, 1142 | block_log: __le16, 1143 | flags: __le16, 1144 | no_ids: __le16, 1145 | s_major: __le16, 1146 | s_minor: __le16, 1147 | root_inode: __le64, 1148 | bytes_used: __le64, 1149 | id_table_start: __le64, 1150 | xattr_id_table_start: __le64, 1151 | inode_table_start: __le64, 1152 | directory_table_start: __le64, 1153 | fragment_table_start: __le64, 1154 | lookup_table_start: __le64, 1155 | }; 1156 | pub const sqfs_decompressor = ?*const fn (?*anyopaque, usize, ?*anyopaque, [*c]usize) callconv(.C) sqfs_err; 1157 | pub const struct_sqfs = extern struct { 1158 | fd: sqfs_fd_t, 1159 | offset: usize, 1160 | sb: [*c]struct_squashfs_super_block, 1161 | id_table: sqfs_table, 1162 | frag_table: sqfs_table, 1163 | export_table: sqfs_table, 1164 | md_cache: sqfs_cache, 1165 | data_cache: sqfs_cache, 1166 | frag_cache: sqfs_cache, 1167 | blockidx: sqfs_cache, 1168 | decompressor: sqfs_decompressor, 1169 | root_alias: [*c]const u8, 1170 | root_alias2: [*c]const u8, 1171 | }; 1172 | pub const sqfs = struct_sqfs; 1173 | pub const struct_squashfs_base_inode = extern struct { 1174 | inode_type: __le16, 1175 | mode: __le16, 1176 | uid: __le16, 1177 | guid: __le16, 1178 | mtime: __le32, 1179 | inode_number: __le32, 1180 | }; 1181 | const struct_unnamed_21 = extern struct { 1182 | major: c_int, 1183 | minor: c_int, 1184 | }; 1185 | const struct_unnamed_22 = extern struct { 1186 | start_block: u64, 1187 | file_size: u64, 1188 | frag_idx: u32, 1189 | frag_off: u32, 1190 | }; 1191 | const struct_unnamed_23 = extern struct { 1192 | start_block: u32, 1193 | offset: u16, 1194 | dir_size: u32, 1195 | idx_count: u16, 1196 | parent_inode: u32, 1197 | }; 1198 | const union_unnamed_20 = extern union { 1199 | dev: struct_unnamed_21, 1200 | symlink_size: usize, 1201 | reg: struct_unnamed_22, 1202 | dir: struct_unnamed_23, 1203 | }; 1204 | pub const struct_sqfs_inode = extern struct { 1205 | base: struct_squashfs_base_inode, 1206 | nlink: c_int, 1207 | next: sqfs_md_cursor, 1208 | xtra: union_unnamed_20, 1209 | }; 1210 | pub const sqfs_inode = struct_sqfs_inode; 1211 | pub const sqfs_block = extern struct { 1212 | size: usize, 1213 | data: ?*anyopaque, 1214 | data_need_freeing: c_short, 1215 | }; 1216 | pub const sqfs_md_cursor = extern struct { 1217 | block: sqfs_off_t, 1218 | offset: usize, 1219 | }; 1220 | pub const __s8 = i8; 1221 | pub const __u8 = u8; 1222 | pub const __s16 = c_short; 1223 | pub const __s32 = c_int; 1224 | pub const __s64 = c_longlong; 1225 | pub const __kernel_fd_set = extern struct { 1226 | fds_bits: [16]c_ulong, 1227 | }; 1228 | pub const __kernel_sighandler_t = ?*const fn (c_int) callconv(.C) void; 1229 | pub const __kernel_key_t = c_int; 1230 | pub const __kernel_mqd_t = c_int; 1231 | pub const __kernel_old_uid_t = c_ushort; 1232 | pub const __kernel_old_gid_t = c_ushort; 1233 | pub const __kernel_old_dev_t = c_ulong; 1234 | pub const __kernel_long_t = c_long; 1235 | pub const __kernel_ulong_t = c_ulong; 1236 | pub const __kernel_ino_t = __kernel_ulong_t; 1237 | pub const __kernel_mode_t = c_uint; 1238 | pub const __kernel_pid_t = c_int; 1239 | pub const __kernel_ipc_pid_t = c_int; 1240 | pub const __kernel_uid_t = c_uint; 1241 | pub const __kernel_gid_t = c_uint; 1242 | pub const __kernel_suseconds_t = __kernel_long_t; 1243 | pub const __kernel_daddr_t = c_int; 1244 | pub const __kernel_uid32_t = c_uint; 1245 | pub const __kernel_gid32_t = c_uint; 1246 | pub const __kernel_size_t = __kernel_ulong_t; 1247 | pub const __kernel_ssize_t = __kernel_long_t; 1248 | pub const __kernel_ptrdiff_t = __kernel_long_t; 1249 | pub const __kernel_fsid_t = extern struct { 1250 | val: [2]c_int, 1251 | }; 1252 | pub const __kernel_off_t = __kernel_long_t; 1253 | pub const __kernel_loff_t = c_longlong; 1254 | pub const __kernel_old_time_t = __kernel_long_t; 1255 | pub const __kernel_time_t = __kernel_long_t; 1256 | pub const __kernel_time64_t = c_longlong; 1257 | pub const __kernel_clock_t = __kernel_long_t; 1258 | pub const __kernel_timer_t = c_int; 1259 | pub const __kernel_clockid_t = c_int; 1260 | pub const __kernel_caddr_t = [*c]u8; 1261 | pub const __kernel_uid16_t = c_ushort; 1262 | pub const __kernel_gid16_t = c_ushort; 1263 | pub const __be16 = __u16; 1264 | pub const __be32 = __u32; 1265 | pub const __be64 = __u64; 1266 | pub const __sum16 = __u16; 1267 | pub const __wsum = __u32; 1268 | pub const __poll_t = c_uint; 1269 | pub const struct_squashfs_dir_index = extern struct { 1270 | index: __le32, 1271 | start_block: __le32, 1272 | size: __le32, 1273 | }; 1274 | pub const struct_squashfs_ipc_inode = extern struct { 1275 | inode_type: __le16, 1276 | mode: __le16, 1277 | uid: __le16, 1278 | guid: __le16, 1279 | mtime: __le32, 1280 | inode_number: __le32, 1281 | nlink: __le32, 1282 | }; 1283 | pub const struct_squashfs_lipc_inode = extern struct { 1284 | inode_type: __le16, 1285 | mode: __le16, 1286 | uid: __le16, 1287 | guid: __le16, 1288 | mtime: __le32, 1289 | inode_number: __le32, 1290 | nlink: __le32, 1291 | xattr: __le32, 1292 | }; 1293 | pub const struct_squashfs_dev_inode = extern struct { 1294 | inode_type: __le16, 1295 | mode: __le16, 1296 | uid: __le16, 1297 | guid: __le16, 1298 | mtime: __le32, 1299 | inode_number: __le32, 1300 | nlink: __le32, 1301 | rdev: __le32, 1302 | }; 1303 | pub const struct_squashfs_ldev_inode = extern struct { 1304 | inode_type: __le16, 1305 | mode: __le16, 1306 | uid: __le16, 1307 | guid: __le16, 1308 | mtime: __le32, 1309 | inode_number: __le32, 1310 | nlink: __le32, 1311 | rdev: __le32, 1312 | xattr: __le32, 1313 | }; 1314 | pub const struct_squashfs_symlink_inode = extern struct { 1315 | inode_type: __le16, 1316 | mode: __le16, 1317 | uid: __le16, 1318 | guid: __le16, 1319 | mtime: __le32, 1320 | inode_number: __le32, 1321 | nlink: __le32, 1322 | symlink_size: __le32, 1323 | }; 1324 | pub const struct_squashfs_reg_inode = extern struct { 1325 | inode_type: __le16, 1326 | mode: __le16, 1327 | uid: __le16, 1328 | guid: __le16, 1329 | mtime: __le32, 1330 | inode_number: __le32, 1331 | start_block: __le32, 1332 | fragment: __le32, 1333 | offset: __le32, 1334 | file_size: __le32, 1335 | }; 1336 | pub const struct_squashfs_lreg_inode = extern struct { 1337 | inode_type: __le16, 1338 | mode: __le16, 1339 | uid: __le16, 1340 | guid: __le16, 1341 | mtime: __le32, 1342 | inode_number: __le32, 1343 | start_block: __le64, 1344 | file_size: __le64, 1345 | sparse: __le64, 1346 | nlink: __le32, 1347 | fragment: __le32, 1348 | offset: __le32, 1349 | xattr: __le32, 1350 | }; 1351 | pub const struct_squashfs_dir_inode = extern struct { 1352 | inode_type: __le16, 1353 | mode: __le16, 1354 | uid: __le16, 1355 | guid: __le16, 1356 | mtime: __le32, 1357 | inode_number: __le32, 1358 | start_block: __le32, 1359 | nlink: __le32, 1360 | file_size: __le16, 1361 | offset: __le16, 1362 | parent_inode: __le32, 1363 | }; 1364 | pub const struct_squashfs_ldir_inode = extern struct { 1365 | inode_type: __le16, 1366 | mode: __le16, 1367 | uid: __le16, 1368 | guid: __le16, 1369 | mtime: __le32, 1370 | inode_number: __le32, 1371 | nlink: __le32, 1372 | file_size: __le32, 1373 | start_block: __le32, 1374 | parent_inode: __le32, 1375 | i_count: __le16, 1376 | offset: __le16, 1377 | xattr: __le32, 1378 | }; 1379 | pub const struct_squashfs_dir_entry = extern struct { 1380 | offset: __le16, 1381 | inode_number: __le16, 1382 | type: __le16, 1383 | size: __le16, 1384 | }; 1385 | pub const struct_squashfs_dir_header = extern struct { 1386 | count: __le32, 1387 | start_block: __le32, 1388 | inode_number: __le32, 1389 | }; 1390 | pub const struct_squashfs_fragment_entry = extern struct { 1391 | start_block: __le64, 1392 | size: __le32, 1393 | unused: c_uint, 1394 | }; 1395 | pub const struct_squashfs_xattr_entry = extern struct { 1396 | type: __le16, 1397 | size: __le16, 1398 | }; 1399 | pub const struct_squashfs_xattr_val = extern struct { 1400 | vsize: __le32, 1401 | }; 1402 | pub const struct_squashfs_xattr_id = extern struct { 1403 | xattr: __le64, 1404 | count: __le32, 1405 | size: __le32, 1406 | }; 1407 | pub const struct_squashfs_xattr_id_table = extern struct { 1408 | xattr_table_start: __le64, 1409 | xattr_ids: __le32, 1410 | unused: __le32, 1411 | }; 1412 | pub const sqfs_dir = extern struct { 1413 | cur: sqfs_md_cursor, 1414 | offset: sqfs_off_t, 1415 | total: sqfs_off_t, 1416 | header: struct_squashfs_dir_header, 1417 | }; 1418 | pub const sqfs_dir_entry = extern struct { 1419 | inode: sqfs_inode_id, 1420 | inode_number: sqfs_inode_num, 1421 | type: c_int, 1422 | name: [*c]u8, 1423 | name_size: usize, 1424 | offset: sqfs_off_t, 1425 | next_offset: sqfs_off_t, 1426 | }; 1427 | pub const sqfs_name = [257]u8; 1428 | pub const sqfs_path = [2049]u8; 1429 | pub extern fn sqfs_dir_open(fs: [*c]sqfs, inode: [*c]sqfs_inode, dir: [*c]sqfs_dir, offset: off_t) sqfs_err; 1430 | pub extern fn sqfs_dentry_init(entry: [*c]sqfs_dir_entry, namebuf: [*c]u8) void; 1431 | pub extern fn sqfs_dir_next(fs: [*c]sqfs, dir: [*c]sqfs_dir, entry: [*c]sqfs_dir_entry, err: [*c]sqfs_err) c_short; 1432 | pub extern fn sqfs_dir_lookup(fs: [*c]sqfs, inode: [*c]sqfs_inode, name: [*c]const u8, namelen: usize, entry: [*c]sqfs_dir_entry, found: [*c]c_short) sqfs_err; 1433 | pub extern fn sqfs_lookup_path_inner(fs: [*c]sqfs, inode: [*c]sqfs_inode, path: [*c]const u8, found: [*c]c_short, follow_link: c_short) sqfs_err; 1434 | pub extern fn sqfs_lookup_path(fs: [*c]sqfs, inode: [*c]sqfs_inode, path: [*c]const u8, found: [*c]c_short) sqfs_err; 1435 | pub extern fn sqfs_dentry_offset(entry: [*c]sqfs_dir_entry) sqfs_off_t; 1436 | pub extern fn sqfs_dentry_next_offset(entry: [*c]sqfs_dir_entry) sqfs_off_t; 1437 | pub extern fn sqfs_dentry_type(entry: [*c]sqfs_dir_entry) c_int; 1438 | pub extern fn sqfs_dentry_mode(entry: [*c]sqfs_dir_entry) sqfs_mode_t; 1439 | pub extern fn sqfs_dentry_inode(entry: [*c]sqfs_dir_entry) sqfs_inode_id; 1440 | pub extern fn sqfs_dentry_inode_num(entry: [*c]sqfs_dir_entry) sqfs_inode_num; 1441 | pub extern fn sqfs_dentry_name_size(entry: [*c]sqfs_dir_entry) usize; 1442 | pub extern fn sqfs_dentry_is_dir(entry: [*c]sqfs_dir_entry) c_short; 1443 | pub extern fn sqfs_dentry_name(entry: [*c]sqfs_dir_entry) [*c]const u8; 1444 | pub const sqfs_cache_idx = u64; 1445 | pub const sqfs_cache_dispose = ?*const fn (?*anyopaque) callconv(.C) void; 1446 | pub const sqfs_cache = extern struct { 1447 | idxs: [*c]sqfs_cache_idx, 1448 | buf: [*c]u8, 1449 | dispose: sqfs_cache_dispose, 1450 | size: usize, 1451 | count: usize, 1452 | next: usize, 1453 | mutex: pthread_mutex_t, 1454 | }; 1455 | pub extern fn sqfs_cache_init(cache: [*c]sqfs_cache, size: usize, count: usize, dispose: sqfs_cache_dispose) sqfs_err; 1456 | pub extern fn sqfs_cache_destroy(cache: [*c]sqfs_cache) void; 1457 | pub extern fn sqfs_cache_get(cache: [*c]sqfs_cache, idx: sqfs_cache_idx) ?*anyopaque; 1458 | pub extern fn sqfs_cache_add(cache: [*c]sqfs_cache, idx: sqfs_cache_idx) ?*anyopaque; 1459 | pub const sqfs_block_cache_entry = extern struct { 1460 | block: [*c]sqfs_block, 1461 | data_size: usize, 1462 | }; 1463 | pub extern fn sqfs_block_cache_init(cache: [*c]sqfs_cache, count: usize) sqfs_err; 1464 | pub extern fn sqfs_frag_entry(fs: [*c]sqfs, frag: [*c]struct_squashfs_fragment_entry, idx: u32) sqfs_err; 1465 | pub extern fn sqfs_frag_block(fs: [*c]sqfs, inode: [*c]sqfs_inode, offset: [*c]usize, size: [*c]usize, block: [*c][*c]sqfs_block) sqfs_err; 1466 | pub const sqfs_blocklist_entry = u32; 1467 | pub const sqfs_blocklist = extern struct { 1468 | fs: [*c]sqfs, 1469 | remain: usize, 1470 | cur: sqfs_md_cursor, 1471 | started: c_short, 1472 | pos: u64, 1473 | block: u64, 1474 | header: sqfs_blocklist_entry, 1475 | input_size: u32, 1476 | }; 1477 | pub extern fn sqfs_blocklist_count(fs: [*c]sqfs, inode: [*c]sqfs_inode) usize; 1478 | pub extern fn sqfs_blocklist_init(fs: [*c]sqfs, inode: [*c]sqfs_inode, bl: [*c]sqfs_blocklist) void; 1479 | pub extern fn sqfs_blocklist_next(bl: [*c]sqfs_blocklist) sqfs_err; 1480 | pub extern fn sqfs_read_range(fs: [*c]sqfs, inode: [*c]sqfs_inode, start: sqfs_off_t, size: [*c]sqfs_off_t, buf: ?*anyopaque) sqfs_err; 1481 | pub const sqfs_blockidx_entry = extern struct { 1482 | data_block: u64, 1483 | md_block: u32, 1484 | }; 1485 | pub extern fn sqfs_blockidx_init(cache: [*c]sqfs_cache) sqfs_err; 1486 | pub extern fn sqfs_blockidx_blocklist(fs: [*c]sqfs, inode: [*c]sqfs_inode, bl: [*c]sqfs_blocklist, start: sqfs_off_t) sqfs_err; 1487 | pub const sqfs_compression_type = c_int; 1488 | pub extern fn sqfs_compression_name(@"type": sqfs_compression_type) [*c]u8; 1489 | pub extern fn sqfs_decompressor_get(@"type": sqfs_compression_type) sqfs_decompressor; 1490 | pub const sqfs_table = extern struct { 1491 | each: usize, 1492 | blocks: [*c]u64, 1493 | }; 1494 | pub extern fn sqfs_table_init(table: [*c]sqfs_table, fd: sqfs_fd_t, start: sqfs_off_t, each: usize, count: usize) sqfs_err; 1495 | pub extern fn sqfs_table_destroy(table: [*c]sqfs_table) void; 1496 | pub extern fn sqfs_table_get(table: [*c]sqfs_table, fs: [*c]sqfs, idx: usize, buf: ?*anyopaque) sqfs_err; 1497 | pub extern fn sqfs_version_supported(min_major: [*c]c_int, min_minor: [*c]c_int, max_major: [*c]c_int, max_minor: [*c]c_int) void; 1498 | pub extern fn sqfs_divceil(total: u64, group: usize) usize; 1499 | pub extern fn sqfs_init(fs: [*c]sqfs, fd: sqfs_fd_t, offset: usize) sqfs_err; 1500 | pub extern fn sqfs_destroy(fs: [*c]sqfs) void; 1501 | pub extern fn sqfs_version(fs: [*c]sqfs, major: [*c]c_int, minor: [*c]c_int) void; 1502 | pub extern fn sqfs_compression(fs: [*c]sqfs) sqfs_compression_type; 1503 | pub extern fn sqfs_md_header(hdr: u16, compressed: [*c]c_short, size: [*c]u16) void; 1504 | pub extern fn sqfs_data_header(hdr: u32, compressed: [*c]c_short, size: [*c]u32) void; 1505 | pub extern fn sqfs_block_read(fs: [*c]sqfs, pos: sqfs_off_t, compressed: c_short, size: u32, outsize: usize, block: [*c][*c]sqfs_block) sqfs_err; 1506 | pub extern fn sqfs_block_dispose(block: [*c]sqfs_block) void; 1507 | pub extern fn sqfs_md_block_read(fs: [*c]sqfs, pos: sqfs_off_t, data_size: [*c]usize, block: [*c][*c]sqfs_block) sqfs_err; 1508 | pub extern fn sqfs_data_block_read(fs: [*c]sqfs, pos: sqfs_off_t, hdr: u32, block: [*c][*c]sqfs_block) sqfs_err; 1509 | pub extern fn sqfs_md_cache(fs: [*c]sqfs, pos: [*c]sqfs_off_t, block: [*c][*c]sqfs_block) sqfs_err; 1510 | pub extern fn sqfs_data_cache(fs: [*c]sqfs, cache: [*c]sqfs_cache, pos: sqfs_off_t, hdr: u32, block: [*c][*c]sqfs_block) sqfs_err; 1511 | pub extern fn sqfs_md_cursor_inode(cur: [*c]sqfs_md_cursor, id: sqfs_inode_id, base: sqfs_off_t) void; 1512 | pub extern fn sqfs_md_read(fs: [*c]sqfs, cur: [*c]sqfs_md_cursor, buf: ?*anyopaque, size: usize) sqfs_err; 1513 | pub extern fn sqfs_inode_get(fs: [*c]sqfs, inode: [*c]sqfs_inode, id: sqfs_inode_id) sqfs_err; 1514 | pub extern fn sqfs_mode(inode_type: c_int) sqfs_mode_t; 1515 | pub extern fn sqfs_id_get(fs: [*c]sqfs, idx: u16, id: [*c]sqfs_id_t) sqfs_err; 1516 | pub extern fn sqfs_readlink(fs: [*c]sqfs, inode: [*c]sqfs_inode, buf: [*c]u8, size: [*c]usize) sqfs_err; 1517 | pub extern fn sqfs_export_ok(fs: [*c]sqfs) c_int; 1518 | pub extern fn sqfs_export_inode(fs: [*c]sqfs, n: sqfs_inode_num, i: [*c]sqfs_inode_id) sqfs_err; 1519 | pub extern fn sqfs_inode_root(fs: [*c]sqfs) sqfs_inode_id; 1520 | pub const sqfs_stack_free_t = ?*const fn (?*anyopaque) callconv(.C) void; 1521 | pub const sqfs_stack = extern struct { 1522 | value_size: usize, 1523 | size: usize, 1524 | capacity: usize, 1525 | items: [*c]u8, 1526 | freer: sqfs_stack_free_t, 1527 | }; 1528 | pub extern fn sqfs_stack_init(s: [*c]sqfs_stack) void; 1529 | pub extern fn sqfs_stack_create(s: [*c]sqfs_stack, vsize: usize, initial: usize, freer: sqfs_stack_free_t) sqfs_err; 1530 | pub extern fn sqfs_stack_destroy(s: [*c]sqfs_stack) void; 1531 | pub extern fn sqfs_stack_push(s: [*c]sqfs_stack, vout: ?*anyopaque) sqfs_err; 1532 | pub extern fn sqfs_stack_pop(s: [*c]sqfs_stack) c_short; 1533 | pub extern fn sqfs_stack_size(s: [*c]sqfs_stack) usize; 1534 | pub extern fn sqfs_stack_at(s: [*c]sqfs_stack, i: usize, vout: ?*anyopaque) sqfs_err; 1535 | pub extern fn sqfs_stack_top(s: [*c]sqfs_stack, vout: ?*anyopaque) sqfs_err; 1536 | pub const sqfs_traverse = extern struct { 1537 | dir_end: c_short, 1538 | entry: sqfs_dir_entry, 1539 | path: [*c]u8, 1540 | state: c_int, 1541 | fs: [*c]sqfs, 1542 | namebuf: sqfs_name, 1543 | stack: sqfs_stack, 1544 | path_size: usize, 1545 | path_cap: usize, 1546 | path_last_size: usize, 1547 | }; 1548 | pub extern fn sqfs_traverse_open(trv: [*c]sqfs_traverse, fs: [*c]sqfs, iid: sqfs_inode_id) sqfs_err; 1549 | pub extern fn sqfs_traverse_open_inode(trv: [*c]sqfs_traverse, fs: [*c]sqfs, inode: [*c]sqfs_inode) sqfs_err; 1550 | pub extern fn sqfs_traverse_close(trv: [*c]sqfs_traverse) void; 1551 | pub extern fn sqfs_traverse_next(trv: [*c]sqfs_traverse, err: [*c]sqfs_err) c_short; 1552 | pub extern fn sqfs_traverse_prune(trv: [*c]sqfs_traverse) sqfs_err; 1553 | pub const struct___va_list_tag = extern struct { 1554 | gp_offset: c_uint, 1555 | fp_offset: c_uint, 1556 | overflow_arg_area: ?*anyopaque, 1557 | reg_save_area: ?*anyopaque, 1558 | }; 1559 | pub const __builtin_va_list = [1]struct___va_list_tag; 1560 | pub const va_list = __builtin_va_list; 1561 | pub const __gnuc_va_list = __builtin_va_list; 1562 | const union_unnamed_24 = extern union { 1563 | __wch: c_uint, 1564 | __wchb: [4]u8, 1565 | }; 1566 | pub const __mbstate_t = extern struct { 1567 | __count: c_int, 1568 | __value: union_unnamed_24, 1569 | }; 1570 | pub const struct__G_fpos_t = extern struct { 1571 | __pos: __off_t, 1572 | __state: __mbstate_t, 1573 | }; 1574 | pub const __fpos_t = struct__G_fpos_t; 1575 | pub const struct__G_fpos64_t = extern struct { 1576 | __pos: __off64_t, 1577 | __state: __mbstate_t, 1578 | }; 1579 | pub const __fpos64_t = struct__G_fpos64_t; 1580 | pub const struct__IO_marker = opaque {}; 1581 | pub const _IO_lock_t = anyopaque; 1582 | pub const struct__IO_codecvt = opaque {}; 1583 | pub const struct__IO_wide_data = opaque {}; 1584 | pub const struct__IO_FILE = extern struct { 1585 | _flags: c_int, 1586 | _IO_read_ptr: [*c]u8, 1587 | _IO_read_end: [*c]u8, 1588 | _IO_read_base: [*c]u8, 1589 | _IO_write_base: [*c]u8, 1590 | _IO_write_ptr: [*c]u8, 1591 | _IO_write_end: [*c]u8, 1592 | _IO_buf_base: [*c]u8, 1593 | _IO_buf_end: [*c]u8, 1594 | _IO_save_base: [*c]u8, 1595 | _IO_backup_base: [*c]u8, 1596 | _IO_save_end: [*c]u8, 1597 | _markers: ?*struct__IO_marker, 1598 | _chain: [*c]struct__IO_FILE, 1599 | _fileno: c_int, 1600 | _flags2: c_int, 1601 | _old_offset: __off_t, 1602 | _cur_column: c_ushort, 1603 | _vtable_offset: i8, 1604 | _shortbuf: [1]u8, 1605 | _lock: ?*_IO_lock_t, 1606 | _offset: __off64_t, 1607 | _codecvt: ?*struct__IO_codecvt, 1608 | _wide_data: ?*struct__IO_wide_data, 1609 | _freeres_list: [*c]struct__IO_FILE, 1610 | _freeres_buf: ?*anyopaque, 1611 | __pad5: usize, 1612 | _mode: c_int, 1613 | _unused2: [20]u8, 1614 | }; 1615 | pub const __FILE = struct__IO_FILE; 1616 | pub const FILE = struct__IO_FILE; 1617 | pub const fpos_t = __fpos_t; 1618 | pub extern var stdin: [*c]FILE; 1619 | pub extern var stdout: [*c]FILE; 1620 | pub extern var stderr: [*c]FILE; 1621 | pub extern fn remove(__filename: [*c]const u8) c_int; 1622 | pub extern fn rename(__old: [*c]const u8, __new: [*c]const u8) c_int; 1623 | pub extern fn renameat(__oldfd: c_int, __old: [*c]const u8, __newfd: c_int, __new: [*c]const u8) c_int; 1624 | pub extern fn tmpfile() [*c]FILE; 1625 | pub extern fn tmpnam(__s: [*c]u8) [*c]u8; 1626 | pub extern fn tmpnam_r(__s: [*c]u8) [*c]u8; 1627 | pub extern fn tempnam(__dir: [*c]const u8, __pfx: [*c]const u8) [*c]u8; 1628 | pub extern fn fclose(__stream: [*c]FILE) c_int; 1629 | pub extern fn fflush(__stream: [*c]FILE) c_int; 1630 | pub extern fn fflush_unlocked(__stream: [*c]FILE) c_int; 1631 | pub extern fn fopen(__filename: [*c]const u8, __modes: [*c]const u8) [*c]FILE; 1632 | pub extern fn freopen(noalias __filename: [*c]const u8, noalias __modes: [*c]const u8, noalias __stream: [*c]FILE) [*c]FILE; 1633 | pub extern fn fdopen(__fd: c_int, __modes: [*c]const u8) [*c]FILE; 1634 | pub extern fn fmemopen(__s: ?*anyopaque, __len: usize, __modes: [*c]const u8) [*c]FILE; 1635 | pub extern fn open_memstream(__bufloc: [*c][*c]u8, __sizeloc: [*c]usize) [*c]FILE; 1636 | pub extern fn setbuf(noalias __stream: [*c]FILE, noalias __buf: [*c]u8) void; 1637 | pub extern fn setvbuf(noalias __stream: [*c]FILE, noalias __buf: [*c]u8, __modes: c_int, __n: usize) c_int; 1638 | pub extern fn setbuffer(noalias __stream: [*c]FILE, noalias __buf: [*c]u8, __size: usize) void; 1639 | pub extern fn setlinebuf(__stream: [*c]FILE) void; 1640 | pub extern fn fprintf(__stream: [*c]FILE, __format: [*c]const u8, ...) c_int; 1641 | pub extern fn printf(__format: [*c]const u8, ...) c_int; 1642 | pub extern fn sprintf(__s: [*c]u8, __format: [*c]const u8, ...) c_int; 1643 | pub extern fn vfprintf(__s: [*c]FILE, __format: [*c]const u8, __arg: [*c]struct___va_list_tag) c_int; 1644 | pub extern fn vprintf(__format: [*c]const u8, __arg: [*c]struct___va_list_tag) c_int; 1645 | pub extern fn vsprintf(__s: [*c]u8, __format: [*c]const u8, __arg: [*c]struct___va_list_tag) c_int; 1646 | pub extern fn snprintf(__s: [*c]u8, __maxlen: c_ulong, __format: [*c]const u8, ...) c_int; 1647 | pub extern fn vsnprintf(__s: [*c]u8, __maxlen: c_ulong, __format: [*c]const u8, __arg: [*c]struct___va_list_tag) c_int; 1648 | pub extern fn vdprintf(__fd: c_int, noalias __fmt: [*c]const u8, __arg: [*c]struct___va_list_tag) c_int; 1649 | pub extern fn dprintf(__fd: c_int, noalias __fmt: [*c]const u8, ...) c_int; 1650 | pub extern fn fscanf(noalias __stream: [*c]FILE, noalias __format: [*c]const u8, ...) c_int; 1651 | pub extern fn scanf(noalias __format: [*c]const u8, ...) c_int; 1652 | pub extern fn sscanf(noalias __s: [*c]const u8, noalias __format: [*c]const u8, ...) c_int; 1653 | pub extern fn vfscanf(noalias __s: [*c]FILE, noalias __format: [*c]const u8, __arg: [*c]struct___va_list_tag) c_int; 1654 | pub extern fn vscanf(noalias __format: [*c]const u8, __arg: [*c]struct___va_list_tag) c_int; 1655 | pub extern fn vsscanf(noalias __s: [*c]const u8, noalias __format: [*c]const u8, __arg: [*c]struct___va_list_tag) c_int; 1656 | pub extern fn fgetc(__stream: [*c]FILE) c_int; 1657 | pub extern fn getc(__stream: [*c]FILE) c_int; 1658 | pub extern fn getchar() c_int; 1659 | pub extern fn getc_unlocked(__stream: [*c]FILE) c_int; 1660 | pub extern fn getchar_unlocked() c_int; 1661 | pub extern fn fgetc_unlocked(__stream: [*c]FILE) c_int; 1662 | pub extern fn fputc(__c: c_int, __stream: [*c]FILE) c_int; 1663 | pub extern fn putc(__c: c_int, __stream: [*c]FILE) c_int; 1664 | pub extern fn putchar(__c: c_int) c_int; 1665 | pub extern fn fputc_unlocked(__c: c_int, __stream: [*c]FILE) c_int; 1666 | pub extern fn putc_unlocked(__c: c_int, __stream: [*c]FILE) c_int; 1667 | pub extern fn putchar_unlocked(__c: c_int) c_int; 1668 | pub extern fn getw(__stream: [*c]FILE) c_int; 1669 | pub extern fn putw(__w: c_int, __stream: [*c]FILE) c_int; 1670 | pub extern fn fgets(noalias __s: [*c]u8, __n: c_int, noalias __stream: [*c]FILE) [*c]u8; 1671 | pub extern fn __getdelim(noalias __lineptr: [*c][*c]u8, noalias __n: [*c]usize, __delimiter: c_int, noalias __stream: [*c]FILE) __ssize_t; 1672 | pub extern fn getdelim(noalias __lineptr: [*c][*c]u8, noalias __n: [*c]usize, __delimiter: c_int, noalias __stream: [*c]FILE) __ssize_t; 1673 | pub extern fn getline(noalias __lineptr: [*c][*c]u8, noalias __n: [*c]usize, noalias __stream: [*c]FILE) __ssize_t; 1674 | pub extern fn fputs(noalias __s: [*c]const u8, noalias __stream: [*c]FILE) c_int; 1675 | pub extern fn puts(__s: [*c]const u8) c_int; 1676 | pub extern fn ungetc(__c: c_int, __stream: [*c]FILE) c_int; 1677 | pub extern fn fread(__ptr: ?*anyopaque, __size: c_ulong, __n: c_ulong, __stream: [*c]FILE) c_ulong; 1678 | pub extern fn fwrite(__ptr: ?*const anyopaque, __size: c_ulong, __n: c_ulong, __s: [*c]FILE) c_ulong; 1679 | pub extern fn fread_unlocked(noalias __ptr: ?*anyopaque, __size: usize, __n: usize, noalias __stream: [*c]FILE) usize; 1680 | pub extern fn fwrite_unlocked(noalias __ptr: ?*const anyopaque, __size: usize, __n: usize, noalias __stream: [*c]FILE) usize; 1681 | pub extern fn fseek(__stream: [*c]FILE, __off: c_long, __whence: c_int) c_int; 1682 | pub extern fn ftell(__stream: [*c]FILE) c_long; 1683 | pub extern fn rewind(__stream: [*c]FILE) void; 1684 | pub extern fn fseeko(__stream: [*c]FILE, __off: __off_t, __whence: c_int) c_int; 1685 | pub extern fn ftello(__stream: [*c]FILE) __off_t; 1686 | pub extern fn fgetpos(noalias __stream: [*c]FILE, noalias __pos: [*c]fpos_t) c_int; 1687 | pub extern fn fsetpos(__stream: [*c]FILE, __pos: [*c]const fpos_t) c_int; 1688 | pub extern fn clearerr(__stream: [*c]FILE) void; 1689 | pub extern fn feof(__stream: [*c]FILE) c_int; 1690 | pub extern fn ferror(__stream: [*c]FILE) c_int; 1691 | pub extern fn clearerr_unlocked(__stream: [*c]FILE) void; 1692 | pub extern fn feof_unlocked(__stream: [*c]FILE) c_int; 1693 | pub extern fn ferror_unlocked(__stream: [*c]FILE) c_int; 1694 | pub extern fn perror(__s: [*c]const u8) void; 1695 | pub extern var sys_nerr: c_int; 1696 | pub const sys_errlist: [*c]const [*c]const u8 = @extern([*c]const [*c]const u8, .{ 1697 | .name = "sys_errlist", 1698 | }); 1699 | pub extern fn fileno(__stream: [*c]FILE) c_int; 1700 | pub extern fn fileno_unlocked(__stream: [*c]FILE) c_int; 1701 | pub extern fn popen(__command: [*c]const u8, __modes: [*c]const u8) [*c]FILE; 1702 | pub extern fn pclose(__stream: [*c]FILE) c_int; 1703 | pub extern fn ctermid(__s: [*c]u8) [*c]u8; 1704 | pub extern fn flockfile(__stream: [*c]FILE) void; 1705 | pub extern fn ftrylockfile(__stream: [*c]FILE) c_int; 1706 | pub extern fn funlockfile(__stream: [*c]FILE) void; 1707 | pub extern fn __uflow([*c]FILE) c_int; 1708 | pub extern fn __overflow([*c]FILE, c_int) c_int; 1709 | pub extern fn sqfs_fd_open(path: [*c]const u8, fd: [*c]sqfs_fd_t) sqfs_err; 1710 | pub extern fn sqfs_fd_close(fd: sqfs_fd_t) void; 1711 | pub extern fn sqfs_open_image(fs: [*c]sqfs, image: [*c]const u8, offset: usize) sqfs_err; 1712 | pub extern fn sqfs_stat(fs: [*c]sqfs, inode: [*c]sqfs_inode, st: [*c]struct_stat) sqfs_err; 1713 | pub const struct_squash_file = extern struct { 1714 | fd: c_int, 1715 | fs: [*c]sqfs, 1716 | node: sqfs_inode, 1717 | st: struct_stat, 1718 | pos: u64, 1719 | filename: [*c]u8, 1720 | payload: ?*anyopaque, 1721 | }; 1722 | pub const struct_squash_fdtable = extern struct { 1723 | nr: usize, 1724 | fds: [*c][*c]struct_squash_file, 1725 | end: usize, 1726 | }; 1727 | pub extern var squash_global_fdtable: struct_squash_fdtable; 1728 | const struct_unnamed_25 = extern struct { 1729 | entry: sqfs_dir_entry, 1730 | sysentry: struct_dirent, 1731 | name: sqfs_name, 1732 | not_eof: c_short, 1733 | }; 1734 | pub const SQUASH_DIR = extern struct { 1735 | fs: [*c]sqfs, 1736 | fd: c_int, 1737 | node: sqfs_inode, 1738 | dir: sqfs_dir, 1739 | entries: [*c]struct_unnamed_25, 1740 | nr: usize, 1741 | actual_nr: c_int, 1742 | loc: c_long, 1743 | filename: [*c]u8, 1744 | payload: ?*anyopaque, 1745 | }; 1746 | pub extern var squash_errno: sqfs_err; 1747 | pub extern fn squash_start(...) sqfs_err; 1748 | pub extern fn squash_readlink_inode(fs: [*c]sqfs, node: [*c]sqfs_inode, buf: [*c]u8, bufsize: usize) isize; 1749 | pub extern fn squash_follow_link(fs: [*c]sqfs, path: [*c]const u8, node: [*c]sqfs_inode) sqfs_err; 1750 | pub extern fn squash_find_entry(ptr: ?*anyopaque) [*c]struct_squash_file; 1751 | pub extern fn squash_stat(fs: [*c]sqfs, path: [*c]const u8, buf: [*c]struct_stat) c_int; 1752 | pub extern fn squash_lstat(fs: [*c]sqfs, path: [*c]const u8, buf: [*c]struct_stat) c_int; 1753 | pub extern fn squash_fstat(vfd: c_int, buf: [*c]struct_stat) c_int; 1754 | pub extern fn squash_open(fs: [*c]sqfs, path: [*c]const u8) c_int; 1755 | pub extern fn squash_open_inner(fs: [*c]sqfs, path: [*c]const u8, follow_link: c_short) c_int; 1756 | pub extern fn squash_close(vfd: c_int) c_int; 1757 | pub extern fn squash_read(vfd: c_int, buf: ?*anyopaque, nbyte: sqfs_off_t) isize; 1758 | pub extern fn squash_lseek(vfd: c_int, offset: off_t, whence: c_int) off_t; 1759 | pub extern fn squash_readlink(fs: [*c]sqfs, path: [*c]const u8, buf: [*c]u8, bufsize: usize) isize; 1760 | pub extern fn squash_opendir(fs: [*c]sqfs, filename: [*c]const u8) [*c]SQUASH_DIR; 1761 | pub extern fn squash_opendir_inner(fs: [*c]sqfs, filename: [*c]const u8, follow_link: c_short) [*c]SQUASH_DIR; 1762 | pub extern fn squash_closedir(dirp: [*c]SQUASH_DIR) c_int; 1763 | pub extern fn squash_readdir(dirp: [*c]SQUASH_DIR) [*c]struct_dirent; 1764 | pub extern fn squash_telldir(dirp: [*c]SQUASH_DIR) c_long; 1765 | pub extern fn squash_seekdir(dirp: [*c]SQUASH_DIR, loc: c_long) void; 1766 | pub extern fn squash_rewinddir(dirp: [*c]SQUASH_DIR) void; 1767 | pub extern fn squash_dirfd(dirp: [*c]SQUASH_DIR) c_int; 1768 | pub extern fn squash_scandir(fs: [*c]sqfs, dirname: [*c]const u8, namelist: [*c][*c][*c]struct_dirent, select: ?*const fn ([*c]const struct_dirent) callconv(.C) c_int, compar: ?*const fn ([*c][*c]const struct_dirent, [*c][*c]const struct_dirent) callconv(.C) c_int) c_int; 1769 | pub extern fn squash_tmpdir(...) [*c]const u8; 1770 | pub extern fn squash_tmpf(tmpdir: [*c]const u8, ext_name: [*c]const u8) [*c]const u8; 1771 | pub extern fn squash_extract(fs: [*c]sqfs, path: [*c]const u8, ext_name: [*c]const u8) [*c]const u8; 1772 | pub extern fn squash_extract_clear_cache(...) void; 1773 | pub const __INTMAX_C_SUFFIX__ = @compileError("unable to translate macro: undefined identifier `L`"); // (no file):80:9 1774 | pub const __UINTMAX_C_SUFFIX__ = @compileError("unable to translate macro: undefined identifier `UL`"); // (no file):86:9 1775 | pub const __FLT16_DENORM_MIN__ = @compileError("unable to translate C expr: unexpected token 'IntegerLiteral'"); // (no file):109:9 1776 | pub const __FLT16_EPSILON__ = @compileError("unable to translate C expr: unexpected token 'IntegerLiteral'"); // (no file):113:9 1777 | pub const __FLT16_MAX__ = @compileError("unable to translate C expr: unexpected token 'IntegerLiteral'"); // (no file):119:9 1778 | pub const __FLT16_MIN__ = @compileError("unable to translate C expr: unexpected token 'IntegerLiteral'"); // (no file):122:9 1779 | pub const __INT64_C_SUFFIX__ = @compileError("unable to translate macro: undefined identifier `L`"); // (no file):183:9 1780 | pub const __UINT32_C_SUFFIX__ = @compileError("unable to translate macro: undefined identifier `U`"); // (no file):205:9 1781 | pub const __UINT64_C_SUFFIX__ = @compileError("unable to translate macro: undefined identifier `UL`"); // (no file):213:9 1782 | pub const __seg_gs = @compileError("unable to translate macro: undefined identifier `__attribute__`"); // (no file):342:9 1783 | pub const __seg_fs = @compileError("unable to translate macro: undefined identifier `__attribute__`"); // (no file):343:9 1784 | pub const __GLIBC_USE = @compileError("unable to translate macro: undefined identifier `__GLIBC_USE_`"); // /usr/include/features.h:179:9 1785 | pub const __THROW = @compileError("unable to translate macro: undefined identifier `__attribute__`"); // /usr/include/x86_64-linux-gnu/sys/cdefs.h:55:11 1786 | pub const __THROWNL = @compileError("unable to translate macro: undefined identifier `__attribute__`"); // /usr/include/x86_64-linux-gnu/sys/cdefs.h:56:11 1787 | pub const __NTH = @compileError("unable to translate macro: undefined identifier `__attribute__`"); // /usr/include/x86_64-linux-gnu/sys/cdefs.h:57:11 1788 | pub const __NTHNL = @compileError("unable to translate macro: undefined identifier `__attribute__`"); // /usr/include/x86_64-linux-gnu/sys/cdefs.h:58:11 1789 | pub const __glibc_clang_has_extension = @compileError("unable to translate macro: undefined identifier `__has_extension`"); // /usr/include/x86_64-linux-gnu/sys/cdefs.h:92:10 1790 | pub const __CONCAT = @compileError("unable to translate C expr: unexpected token '##'"); // /usr/include/x86_64-linux-gnu/sys/cdefs.h:105:9 1791 | pub const __STRING = @compileError("unable to translate C expr: unexpected token '#'"); // /usr/include/x86_64-linux-gnu/sys/cdefs.h:106:9 1792 | pub const __warndecl = @compileError("unable to translate C expr: unexpected token 'extern'"); // /usr/include/x86_64-linux-gnu/sys/cdefs.h:133:10 1793 | pub const __warnattr = @compileError("unable to translate C expr: unexpected token 'Eof'"); // /usr/include/x86_64-linux-gnu/sys/cdefs.h:134:10 1794 | pub const __errordecl = @compileError("unable to translate C expr: unexpected token 'extern'"); // /usr/include/x86_64-linux-gnu/sys/cdefs.h:135:10 1795 | pub const __flexarr = @compileError("unable to translate C expr: unexpected token '['"); // /usr/include/x86_64-linux-gnu/sys/cdefs.h:143:10 1796 | pub const __REDIRECT = @compileError("unable to translate macro: undefined identifier `__asm__`"); // /usr/include/x86_64-linux-gnu/sys/cdefs.h:174:10 1797 | pub const __REDIRECT_NTH = @compileError("unable to translate macro: undefined identifier `__asm__`"); // /usr/include/x86_64-linux-gnu/sys/cdefs.h:181:11 1798 | pub const __REDIRECT_NTHNL = @compileError("unable to translate macro: undefined identifier `__asm__`"); // /usr/include/x86_64-linux-gnu/sys/cdefs.h:183:11 1799 | pub const __ASMNAME2 = @compileError("unable to translate C expr: unexpected token 'Identifier'"); // /usr/include/x86_64-linux-gnu/sys/cdefs.h:187:10 1800 | pub const __attribute_malloc__ = @compileError("unable to translate macro: undefined identifier `__attribute__`"); // /usr/include/x86_64-linux-gnu/sys/cdefs.h:208:10 1801 | pub const __attribute_alloc_size__ = @compileError("unable to translate C expr: unexpected token 'Eof'"); // /usr/include/x86_64-linux-gnu/sys/cdefs.h:219:10 1802 | pub const __attribute_pure__ = @compileError("unable to translate macro: undefined identifier `__attribute__`"); // /usr/include/x86_64-linux-gnu/sys/cdefs.h:226:10 1803 | pub const __attribute_const__ = @compileError("unable to translate macro: undefined identifier `__attribute__`"); // /usr/include/x86_64-linux-gnu/sys/cdefs.h:233:10 1804 | pub const __attribute_used__ = @compileError("unable to translate macro: undefined identifier `__attribute__`"); // /usr/include/x86_64-linux-gnu/sys/cdefs.h:242:10 1805 | pub const __attribute_noinline__ = @compileError("unable to translate macro: undefined identifier `__attribute__`"); // /usr/include/x86_64-linux-gnu/sys/cdefs.h:243:10 1806 | pub const __attribute_deprecated__ = @compileError("unable to translate macro: undefined identifier `__attribute__`"); // /usr/include/x86_64-linux-gnu/sys/cdefs.h:251:10 1807 | pub const __attribute_deprecated_msg__ = @compileError("unable to translate macro: undefined identifier `__attribute__`"); // /usr/include/x86_64-linux-gnu/sys/cdefs.h:261:10 1808 | pub const __attribute_format_arg__ = @compileError("unable to translate macro: undefined identifier `__attribute__`"); // /usr/include/x86_64-linux-gnu/sys/cdefs.h:274:10 1809 | pub const __attribute_format_strfmon__ = @compileError("unable to translate macro: undefined identifier `__attribute__`"); // /usr/include/x86_64-linux-gnu/sys/cdefs.h:284:10 1810 | pub const __nonnull = @compileError("unable to translate macro: undefined identifier `__attribute__`"); // /usr/include/x86_64-linux-gnu/sys/cdefs.h:293:10 1811 | pub const __attribute_warn_unused_result__ = @compileError("unable to translate macro: undefined identifier `__attribute__`"); // /usr/include/x86_64-linux-gnu/sys/cdefs.h:301:10 1812 | pub const __always_inline = @compileError("unable to translate macro: undefined identifier `__inline`"); // /usr/include/x86_64-linux-gnu/sys/cdefs.h:319:10 1813 | pub const __extern_inline = @compileError("unable to translate macro: undefined identifier `__inline`"); // /usr/include/x86_64-linux-gnu/sys/cdefs.h:346:11 1814 | pub const __extern_always_inline = @compileError("unable to translate macro: undefined identifier `__attribute__`"); // /usr/include/x86_64-linux-gnu/sys/cdefs.h:347:11 1815 | pub const __restrict_arr = @compileError("unable to translate macro: undefined identifier `__restrict`"); // /usr/include/x86_64-linux-gnu/sys/cdefs.h:387:10 1816 | pub const __glibc_has_attribute = @compileError("unable to translate macro: undefined identifier `__has_attribute`"); // /usr/include/x86_64-linux-gnu/sys/cdefs.h:410:10 1817 | pub const __attribute_copy__ = @compileError("unable to translate C expr: unexpected token 'Eof'"); // /usr/include/x86_64-linux-gnu/sys/cdefs.h:441:10 1818 | pub const __LDBL_REDIR_DECL = @compileError("unable to translate C expr: unexpected token 'Eof'"); // /usr/include/x86_64-linux-gnu/sys/cdefs.h:479:10 1819 | pub const __glibc_macro_warning1 = @compileError("unable to translate macro: undefined identifier `_Pragma`"); // /usr/include/x86_64-linux-gnu/sys/cdefs.h:493:10 1820 | pub const __glibc_macro_warning = @compileError("unable to translate macro: undefined identifier `GCC`"); // /usr/include/x86_64-linux-gnu/sys/cdefs.h:494:10 1821 | pub const __ASSERT_VOID_CAST = @compileError("unable to translate C expr: unexpected token 'Eof'"); // /usr/include/assert.h:40:10 1822 | pub const assert = @compileError("unable to translate macro: undefined identifier `__extension__`"); // /usr/include/assert.h:107:11 1823 | pub const __ASSERT_FUNCTION = @compileError("unable to translate macro: undefined identifier `__extension__`"); // /usr/include/assert.h:129:12 1824 | pub const static_assert = @compileError("unable to translate C expr: unexpected token '_Static_assert'"); // /usr/include/assert.h:143:10 1825 | pub const __STD_TYPE = @compileError("unable to translate C expr: unexpected token 'typedef'"); // /usr/include/x86_64-linux-gnu/bits/types.h:137:10 1826 | pub const __FSID_T_TYPE = @compileError("unable to translate macro: undefined identifier `__val`"); // /usr/include/x86_64-linux-gnu/bits/typesizes.h:72:9 1827 | pub const __FD_ZERO = @compileError("unable to translate macro: undefined identifier `__d0`"); // /usr/include/x86_64-linux-gnu/bits/select.h:33:10 1828 | pub const __FD_SET = @compileError("unable to translate C expr: expected ')' instead got '|='"); // /usr/include/x86_64-linux-gnu/bits/select.h:58:9 1829 | pub const __FD_CLR = @compileError("unable to translate C expr: expected ')' instead got '&='"); // /usr/include/x86_64-linux-gnu/bits/select.h:60:9 1830 | pub const __PTHREAD_MUTEX_INITIALIZER = @compileError("unable to translate C expr: unexpected token '{'"); // /usr/include/x86_64-linux-gnu/bits/struct_mutex.h:56:10 1831 | pub const __PTHREAD_RWLOCK_ELISION_EXTRA = @compileError("unable to translate C expr: unexpected token '{'"); // /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h:40:11 1832 | pub const st_atime = @compileError("unable to translate macro: undefined identifier `st_atim`"); // /usr/include/x86_64-linux-gnu/bits/stat.h:94:10 1833 | pub const st_mtime = @compileError("unable to translate macro: undefined identifier `st_mtim`"); // /usr/include/x86_64-linux-gnu/bits/stat.h:95:10 1834 | pub const st_ctime = @compileError("unable to translate macro: undefined identifier `st_ctim`"); // /usr/include/x86_64-linux-gnu/bits/stat.h:96:10 1835 | pub const __CPU_ZERO_S = @compileError("unable to translate C expr: unexpected token 'do'"); // /usr/include/x86_64-linux-gnu/bits/cpu-set.h:46:10 1836 | pub const __CPU_SET_S = @compileError("unable to translate macro: undefined identifier `__extension__`"); // /usr/include/x86_64-linux-gnu/bits/cpu-set.h:58:9 1837 | pub const __CPU_CLR_S = @compileError("unable to translate macro: undefined identifier `__extension__`"); // /usr/include/x86_64-linux-gnu/bits/cpu-set.h:65:9 1838 | pub const __CPU_ISSET_S = @compileError("unable to translate macro: undefined identifier `__extension__`"); // /usr/include/x86_64-linux-gnu/bits/cpu-set.h:72:9 1839 | pub const __CPU_EQUAL_S = @compileError("unable to translate macro: undefined identifier `__builtin_memcmp`"); // /usr/include/x86_64-linux-gnu/bits/cpu-set.h:84:10 1840 | pub const __CPU_OP_S = @compileError("unable to translate macro: undefined identifier `__extension__`"); // /usr/include/x86_64-linux-gnu/bits/cpu-set.h:99:9 1841 | pub const __sched_priority = @compileError("unable to translate macro: undefined identifier `sched_priority`"); // /usr/include/sched.h:48:9 1842 | pub const PTHREAD_MUTEX_INITIALIZER = @compileError("unable to translate C expr: unexpected token '{'"); // /usr/include/pthread.h:86:9 1843 | pub const PTHREAD_RWLOCK_INITIALIZER = @compileError("unable to translate C expr: unexpected token '{'"); // /usr/include/pthread.h:110:10 1844 | pub const PTHREAD_COND_INITIALIZER = @compileError("unable to translate C expr: unexpected token '{'"); // /usr/include/pthread.h:151:9 1845 | pub const pthread_cleanup_push = @compileError("unable to translate macro: undefined identifier `__cancel_buf`"); // /usr/include/pthread.h:640:10 1846 | pub const pthread_cleanup_pop = @compileError("unable to translate macro: undefined identifier `__cancel_buf`"); // /usr/include/pthread.h:661:10 1847 | pub const d_fileno = @compileError("unable to translate macro: undefined identifier `d_ino`"); // /usr/include/x86_64-linux-gnu/bits/dirent.h:47:9 1848 | pub const SSIZE_MAX = @compileError("unable to translate macro: undefined identifier `LONG_MAX`"); // /usr/include/x86_64-linux-gnu/bits/posix1_lim.h:169:11 1849 | pub const __struct_group = @compileError("unable to translate C expr: expected ')' instead got '...'"); // /usr/include/linux/stddef.h:26:9 1850 | pub const __aligned_u64 = @compileError("unable to translate macro: undefined identifier `__attribute__`"); // /usr/include/linux/types.h:43:9 1851 | pub const __aligned_be64 = @compileError("unable to translate macro: undefined identifier `__attribute__`"); // /usr/include/linux/types.h:44:9 1852 | pub const __aligned_le64 = @compileError("unable to translate macro: undefined identifier `__attribute__`"); // /usr/include/linux/types.h:45:9 1853 | pub const SQUASHFS_CACHED_FRAGMENTS = @compileError("unable to translate macro: undefined identifier `CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE`"); // vendor/libsquash/include/squash/squashfs_fs.h:43:9 1854 | pub const va_start = @compileError("unable to translate macro: undefined identifier `__builtin_va_start`"); // /home/linux/zig/lib/include/stdarg.h:17:9 1855 | pub const va_end = @compileError("unable to translate macro: undefined identifier `__builtin_va_end`"); // /home/linux/zig/lib/include/stdarg.h:18:9 1856 | pub const va_arg = @compileError("unable to translate macro: undefined identifier `__builtin_va_arg`"); // /home/linux/zig/lib/include/stdarg.h:19:9 1857 | pub const __va_copy = @compileError("unable to translate macro: undefined identifier `__builtin_va_copy`"); // /home/linux/zig/lib/include/stdarg.h:24:9 1858 | pub const va_copy = @compileError("unable to translate macro: undefined identifier `__builtin_va_copy`"); // /home/linux/zig/lib/include/stdarg.h:27:9 1859 | pub const __getc_unlocked_body = @compileError("TODO postfix inc/dec expr"); // /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h:102:9 1860 | pub const __putc_unlocked_body = @compileError("TODO postfix inc/dec expr"); // /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h:106:9 1861 | pub const SQUASH_OS_PATH = @compileError("unable to translate C expr: unexpected token 'const'"); // vendor/libsquash/include/squash.h:237:9 1862 | pub const __llvm__ = @as(c_int, 1); 1863 | pub const __clang__ = @as(c_int, 1); 1864 | pub const __clang_major__ = @as(c_int, 15); 1865 | pub const __clang_minor__ = @as(c_int, 0); 1866 | pub const __clang_patchlevel__ = @as(c_int, 7); 1867 | pub const __clang_version__ = "15.0.7 (https://github.com/ziglang/zig-bootstrap 4c1ac055bf1eaaee0253af3f256fe6ee56cdbb28)"; 1868 | pub const __GNUC__ = @as(c_int, 4); 1869 | pub const __GNUC_MINOR__ = @as(c_int, 2); 1870 | pub const __GNUC_PATCHLEVEL__ = @as(c_int, 1); 1871 | pub const __GXX_ABI_VERSION = @as(c_int, 1002); 1872 | pub const __ATOMIC_RELAXED = @as(c_int, 0); 1873 | pub const __ATOMIC_CONSUME = @as(c_int, 1); 1874 | pub const __ATOMIC_ACQUIRE = @as(c_int, 2); 1875 | pub const __ATOMIC_RELEASE = @as(c_int, 3); 1876 | pub const __ATOMIC_ACQ_REL = @as(c_int, 4); 1877 | pub const __ATOMIC_SEQ_CST = @as(c_int, 5); 1878 | pub const __OPENCL_MEMORY_SCOPE_WORK_ITEM = @as(c_int, 0); 1879 | pub const __OPENCL_MEMORY_SCOPE_WORK_GROUP = @as(c_int, 1); 1880 | pub const __OPENCL_MEMORY_SCOPE_DEVICE = @as(c_int, 2); 1881 | pub const __OPENCL_MEMORY_SCOPE_ALL_SVM_DEVICES = @as(c_int, 3); 1882 | pub const __OPENCL_MEMORY_SCOPE_SUB_GROUP = @as(c_int, 4); 1883 | pub const __PRAGMA_REDEFINE_EXTNAME = @as(c_int, 1); 1884 | pub const __VERSION__ = "Clang 15.0.7 (https://github.com/ziglang/zig-bootstrap 4c1ac055bf1eaaee0253af3f256fe6ee56cdbb28)"; 1885 | pub const __OBJC_BOOL_IS_BOOL = @as(c_int, 0); 1886 | pub const __CONSTANT_CFSTRINGS__ = @as(c_int, 1); 1887 | pub const __clang_literal_encoding__ = "UTF-8"; 1888 | pub const __clang_wide_literal_encoding__ = "UTF-32"; 1889 | pub const __ORDER_LITTLE_ENDIAN__ = @as(c_int, 1234); 1890 | pub const __ORDER_BIG_ENDIAN__ = @as(c_int, 4321); 1891 | pub const __ORDER_PDP_ENDIAN__ = @as(c_int, 3412); 1892 | pub const __BYTE_ORDER__ = __ORDER_LITTLE_ENDIAN__; 1893 | pub const __LITTLE_ENDIAN__ = @as(c_int, 1); 1894 | pub const _LP64 = @as(c_int, 1); 1895 | pub const __LP64__ = @as(c_int, 1); 1896 | pub const __CHAR_BIT__ = @as(c_int, 8); 1897 | pub const __BOOL_WIDTH__ = @as(c_int, 8); 1898 | pub const __SHRT_WIDTH__ = @as(c_int, 16); 1899 | pub const __INT_WIDTH__ = @as(c_int, 32); 1900 | pub const __LONG_WIDTH__ = @as(c_int, 64); 1901 | pub const __LLONG_WIDTH__ = @as(c_int, 64); 1902 | pub const __BITINT_MAXWIDTH__ = @as(c_int, 128); 1903 | pub const __SCHAR_MAX__ = @as(c_int, 127); 1904 | pub const __SHRT_MAX__ = @as(c_int, 32767); 1905 | pub const __INT_MAX__ = @import("std").zig.c_translation.promoteIntLiteral(c_int, 2147483647, .decimal); 1906 | pub const __LONG_MAX__ = @import("std").zig.c_translation.promoteIntLiteral(c_long, 9223372036854775807, .decimal); 1907 | pub const __LONG_LONG_MAX__ = @as(c_longlong, 9223372036854775807); 1908 | pub const __WCHAR_MAX__ = @import("std").zig.c_translation.promoteIntLiteral(c_int, 2147483647, .decimal); 1909 | pub const __WCHAR_WIDTH__ = @as(c_int, 32); 1910 | pub const __WINT_MAX__ = @import("std").zig.c_translation.promoteIntLiteral(c_uint, 4294967295, .decimal); 1911 | pub const __WINT_WIDTH__ = @as(c_int, 32); 1912 | pub const __INTMAX_MAX__ = @import("std").zig.c_translation.promoteIntLiteral(c_long, 9223372036854775807, .decimal); 1913 | pub const __INTMAX_WIDTH__ = @as(c_int, 64); 1914 | pub const __SIZE_MAX__ = @import("std").zig.c_translation.promoteIntLiteral(c_ulong, 18446744073709551615, .decimal); 1915 | pub const __SIZE_WIDTH__ = @as(c_int, 64); 1916 | pub const __UINTMAX_MAX__ = @import("std").zig.c_translation.promoteIntLiteral(c_ulong, 18446744073709551615, .decimal); 1917 | pub const __UINTMAX_WIDTH__ = @as(c_int, 64); 1918 | pub const __PTRDIFF_MAX__ = @import("std").zig.c_translation.promoteIntLiteral(c_long, 9223372036854775807, .decimal); 1919 | pub const __PTRDIFF_WIDTH__ = @as(c_int, 64); 1920 | pub const __INTPTR_MAX__ = @import("std").zig.c_translation.promoteIntLiteral(c_long, 9223372036854775807, .decimal); 1921 | pub const __INTPTR_WIDTH__ = @as(c_int, 64); 1922 | pub const __UINTPTR_MAX__ = @import("std").zig.c_translation.promoteIntLiteral(c_ulong, 18446744073709551615, .decimal); 1923 | pub const __UINTPTR_WIDTH__ = @as(c_int, 64); 1924 | pub const __SIZEOF_DOUBLE__ = @as(c_int, 8); 1925 | pub const __SIZEOF_FLOAT__ = @as(c_int, 4); 1926 | pub const __SIZEOF_INT__ = @as(c_int, 4); 1927 | pub const __SIZEOF_LONG__ = @as(c_int, 8); 1928 | pub const __SIZEOF_LONG_DOUBLE__ = @as(c_int, 16); 1929 | pub const __SIZEOF_LONG_LONG__ = @as(c_int, 8); 1930 | pub const __SIZEOF_POINTER__ = @as(c_int, 8); 1931 | pub const __SIZEOF_SHORT__ = @as(c_int, 2); 1932 | pub const __SIZEOF_PTRDIFF_T__ = @as(c_int, 8); 1933 | pub const __SIZEOF_SIZE_T__ = @as(c_int, 8); 1934 | pub const __SIZEOF_WCHAR_T__ = @as(c_int, 4); 1935 | pub const __SIZEOF_WINT_T__ = @as(c_int, 4); 1936 | pub const __SIZEOF_INT128__ = @as(c_int, 16); 1937 | pub const __INTMAX_TYPE__ = c_long; 1938 | pub const __INTMAX_FMTd__ = "ld"; 1939 | pub const __INTMAX_FMTi__ = "li"; 1940 | pub const __UINTMAX_TYPE__ = c_ulong; 1941 | pub const __UINTMAX_FMTo__ = "lo"; 1942 | pub const __UINTMAX_FMTu__ = "lu"; 1943 | pub const __UINTMAX_FMTx__ = "lx"; 1944 | pub const __UINTMAX_FMTX__ = "lX"; 1945 | pub const __PTRDIFF_TYPE__ = c_long; 1946 | pub const __PTRDIFF_FMTd__ = "ld"; 1947 | pub const __PTRDIFF_FMTi__ = "li"; 1948 | pub const __INTPTR_TYPE__ = c_long; 1949 | pub const __INTPTR_FMTd__ = "ld"; 1950 | pub const __INTPTR_FMTi__ = "li"; 1951 | pub const __SIZE_TYPE__ = c_ulong; 1952 | pub const __SIZE_FMTo__ = "lo"; 1953 | pub const __SIZE_FMTu__ = "lu"; 1954 | pub const __SIZE_FMTx__ = "lx"; 1955 | pub const __SIZE_FMTX__ = "lX"; 1956 | pub const __WCHAR_TYPE__ = c_int; 1957 | pub const __WINT_TYPE__ = c_uint; 1958 | pub const __SIG_ATOMIC_MAX__ = @import("std").zig.c_translation.promoteIntLiteral(c_int, 2147483647, .decimal); 1959 | pub const __SIG_ATOMIC_WIDTH__ = @as(c_int, 32); 1960 | pub const __CHAR16_TYPE__ = c_ushort; 1961 | pub const __CHAR32_TYPE__ = c_uint; 1962 | pub const __UINTPTR_TYPE__ = c_ulong; 1963 | pub const __UINTPTR_FMTo__ = "lo"; 1964 | pub const __UINTPTR_FMTu__ = "lu"; 1965 | pub const __UINTPTR_FMTx__ = "lx"; 1966 | pub const __UINTPTR_FMTX__ = "lX"; 1967 | pub const __FLT16_HAS_DENORM__ = @as(c_int, 1); 1968 | pub const __FLT16_DIG__ = @as(c_int, 3); 1969 | pub const __FLT16_DECIMAL_DIG__ = @as(c_int, 5); 1970 | pub const __FLT16_HAS_INFINITY__ = @as(c_int, 1); 1971 | pub const __FLT16_HAS_QUIET_NAN__ = @as(c_int, 1); 1972 | pub const __FLT16_MANT_DIG__ = @as(c_int, 11); 1973 | pub const __FLT16_MAX_10_EXP__ = @as(c_int, 4); 1974 | pub const __FLT16_MAX_EXP__ = @as(c_int, 16); 1975 | pub const __FLT16_MIN_10_EXP__ = -@as(c_int, 4); 1976 | pub const __FLT16_MIN_EXP__ = -@as(c_int, 13); 1977 | pub const __FLT_DENORM_MIN__ = @as(f32, 1.40129846e-45); 1978 | pub const __FLT_HAS_DENORM__ = @as(c_int, 1); 1979 | pub const __FLT_DIG__ = @as(c_int, 6); 1980 | pub const __FLT_DECIMAL_DIG__ = @as(c_int, 9); 1981 | pub const __FLT_EPSILON__ = @as(f32, 1.19209290e-7); 1982 | pub const __FLT_HAS_INFINITY__ = @as(c_int, 1); 1983 | pub const __FLT_HAS_QUIET_NAN__ = @as(c_int, 1); 1984 | pub const __FLT_MANT_DIG__ = @as(c_int, 24); 1985 | pub const __FLT_MAX_10_EXP__ = @as(c_int, 38); 1986 | pub const __FLT_MAX_EXP__ = @as(c_int, 128); 1987 | pub const __FLT_MAX__ = @as(f32, 3.40282347e+38); 1988 | pub const __FLT_MIN_10_EXP__ = -@as(c_int, 37); 1989 | pub const __FLT_MIN_EXP__ = -@as(c_int, 125); 1990 | pub const __FLT_MIN__ = @as(f32, 1.17549435e-38); 1991 | pub const __DBL_DENORM_MIN__ = @as(f64, 4.9406564584124654e-324); 1992 | pub const __DBL_HAS_DENORM__ = @as(c_int, 1); 1993 | pub const __DBL_DIG__ = @as(c_int, 15); 1994 | pub const __DBL_DECIMAL_DIG__ = @as(c_int, 17); 1995 | pub const __DBL_EPSILON__ = @as(f64, 2.2204460492503131e-16); 1996 | pub const __DBL_HAS_INFINITY__ = @as(c_int, 1); 1997 | pub const __DBL_HAS_QUIET_NAN__ = @as(c_int, 1); 1998 | pub const __DBL_MANT_DIG__ = @as(c_int, 53); 1999 | pub const __DBL_MAX_10_EXP__ = @as(c_int, 308); 2000 | pub const __DBL_MAX_EXP__ = @as(c_int, 1024); 2001 | pub const __DBL_MAX__ = @as(f64, 1.7976931348623157e+308); 2002 | pub const __DBL_MIN_10_EXP__ = -@as(c_int, 307); 2003 | pub const __DBL_MIN_EXP__ = -@as(c_int, 1021); 2004 | pub const __DBL_MIN__ = @as(f64, 2.2250738585072014e-308); 2005 | pub const __LDBL_DENORM_MIN__ = @as(c_longdouble, 3.64519953188247460253e-4951); 2006 | pub const __LDBL_HAS_DENORM__ = @as(c_int, 1); 2007 | pub const __LDBL_DIG__ = @as(c_int, 18); 2008 | pub const __LDBL_DECIMAL_DIG__ = @as(c_int, 21); 2009 | pub const __LDBL_EPSILON__ = @as(c_longdouble, 1.08420217248550443401e-19); 2010 | pub const __LDBL_HAS_INFINITY__ = @as(c_int, 1); 2011 | pub const __LDBL_HAS_QUIET_NAN__ = @as(c_int, 1); 2012 | pub const __LDBL_MANT_DIG__ = @as(c_int, 64); 2013 | pub const __LDBL_MAX_10_EXP__ = @as(c_int, 4932); 2014 | pub const __LDBL_MAX_EXP__ = @as(c_int, 16384); 2015 | pub const __LDBL_MAX__ = @as(c_longdouble, 1.18973149535723176502e+4932); 2016 | pub const __LDBL_MIN_10_EXP__ = -@as(c_int, 4931); 2017 | pub const __LDBL_MIN_EXP__ = -@as(c_int, 16381); 2018 | pub const __LDBL_MIN__ = @as(c_longdouble, 3.36210314311209350626e-4932); 2019 | pub const __POINTER_WIDTH__ = @as(c_int, 64); 2020 | pub const __BIGGEST_ALIGNMENT__ = @as(c_int, 16); 2021 | pub const __WINT_UNSIGNED__ = @as(c_int, 1); 2022 | pub const __INT8_TYPE__ = i8; 2023 | pub const __INT8_FMTd__ = "hhd"; 2024 | pub const __INT8_FMTi__ = "hhi"; 2025 | pub const __INT8_C_SUFFIX__ = ""; 2026 | pub const __INT16_TYPE__ = c_short; 2027 | pub const __INT16_FMTd__ = "hd"; 2028 | pub const __INT16_FMTi__ = "hi"; 2029 | pub const __INT16_C_SUFFIX__ = ""; 2030 | pub const __INT32_TYPE__ = c_int; 2031 | pub const __INT32_FMTd__ = "d"; 2032 | pub const __INT32_FMTi__ = "i"; 2033 | pub const __INT32_C_SUFFIX__ = ""; 2034 | pub const __INT64_TYPE__ = c_long; 2035 | pub const __INT64_FMTd__ = "ld"; 2036 | pub const __INT64_FMTi__ = "li"; 2037 | pub const __UINT8_TYPE__ = u8; 2038 | pub const __UINT8_FMTo__ = "hho"; 2039 | pub const __UINT8_FMTu__ = "hhu"; 2040 | pub const __UINT8_FMTx__ = "hhx"; 2041 | pub const __UINT8_FMTX__ = "hhX"; 2042 | pub const __UINT8_C_SUFFIX__ = ""; 2043 | pub const __UINT8_MAX__ = @as(c_int, 255); 2044 | pub const __INT8_MAX__ = @as(c_int, 127); 2045 | pub const __UINT16_TYPE__ = c_ushort; 2046 | pub const __UINT16_FMTo__ = "ho"; 2047 | pub const __UINT16_FMTu__ = "hu"; 2048 | pub const __UINT16_FMTx__ = "hx"; 2049 | pub const __UINT16_FMTX__ = "hX"; 2050 | pub const __UINT16_C_SUFFIX__ = ""; 2051 | pub const __UINT16_MAX__ = @import("std").zig.c_translation.promoteIntLiteral(c_int, 65535, .decimal); 2052 | pub const __INT16_MAX__ = @as(c_int, 32767); 2053 | pub const __UINT32_TYPE__ = c_uint; 2054 | pub const __UINT32_FMTo__ = "o"; 2055 | pub const __UINT32_FMTu__ = "u"; 2056 | pub const __UINT32_FMTx__ = "x"; 2057 | pub const __UINT32_FMTX__ = "X"; 2058 | pub const __UINT32_MAX__ = @import("std").zig.c_translation.promoteIntLiteral(c_uint, 4294967295, .decimal); 2059 | pub const __INT32_MAX__ = @import("std").zig.c_translation.promoteIntLiteral(c_int, 2147483647, .decimal); 2060 | pub const __UINT64_TYPE__ = c_ulong; 2061 | pub const __UINT64_FMTo__ = "lo"; 2062 | pub const __UINT64_FMTu__ = "lu"; 2063 | pub const __UINT64_FMTx__ = "lx"; 2064 | pub const __UINT64_FMTX__ = "lX"; 2065 | pub const __UINT64_MAX__ = @import("std").zig.c_translation.promoteIntLiteral(c_ulong, 18446744073709551615, .decimal); 2066 | pub const __INT64_MAX__ = @import("std").zig.c_translation.promoteIntLiteral(c_long, 9223372036854775807, .decimal); 2067 | pub const __INT_LEAST8_TYPE__ = i8; 2068 | pub const __INT_LEAST8_MAX__ = @as(c_int, 127); 2069 | pub const __INT_LEAST8_WIDTH__ = @as(c_int, 8); 2070 | pub const __INT_LEAST8_FMTd__ = "hhd"; 2071 | pub const __INT_LEAST8_FMTi__ = "hhi"; 2072 | pub const __UINT_LEAST8_TYPE__ = u8; 2073 | pub const __UINT_LEAST8_MAX__ = @as(c_int, 255); 2074 | pub const __UINT_LEAST8_FMTo__ = "hho"; 2075 | pub const __UINT_LEAST8_FMTu__ = "hhu"; 2076 | pub const __UINT_LEAST8_FMTx__ = "hhx"; 2077 | pub const __UINT_LEAST8_FMTX__ = "hhX"; 2078 | pub const __INT_LEAST16_TYPE__ = c_short; 2079 | pub const __INT_LEAST16_MAX__ = @as(c_int, 32767); 2080 | pub const __INT_LEAST16_WIDTH__ = @as(c_int, 16); 2081 | pub const __INT_LEAST16_FMTd__ = "hd"; 2082 | pub const __INT_LEAST16_FMTi__ = "hi"; 2083 | pub const __UINT_LEAST16_TYPE__ = c_ushort; 2084 | pub const __UINT_LEAST16_MAX__ = @import("std").zig.c_translation.promoteIntLiteral(c_int, 65535, .decimal); 2085 | pub const __UINT_LEAST16_FMTo__ = "ho"; 2086 | pub const __UINT_LEAST16_FMTu__ = "hu"; 2087 | pub const __UINT_LEAST16_FMTx__ = "hx"; 2088 | pub const __UINT_LEAST16_FMTX__ = "hX"; 2089 | pub const __INT_LEAST32_TYPE__ = c_int; 2090 | pub const __INT_LEAST32_MAX__ = @import("std").zig.c_translation.promoteIntLiteral(c_int, 2147483647, .decimal); 2091 | pub const __INT_LEAST32_WIDTH__ = @as(c_int, 32); 2092 | pub const __INT_LEAST32_FMTd__ = "d"; 2093 | pub const __INT_LEAST32_FMTi__ = "i"; 2094 | pub const __UINT_LEAST32_TYPE__ = c_uint; 2095 | pub const __UINT_LEAST32_MAX__ = @import("std").zig.c_translation.promoteIntLiteral(c_uint, 4294967295, .decimal); 2096 | pub const __UINT_LEAST32_FMTo__ = "o"; 2097 | pub const __UINT_LEAST32_FMTu__ = "u"; 2098 | pub const __UINT_LEAST32_FMTx__ = "x"; 2099 | pub const __UINT_LEAST32_FMTX__ = "X"; 2100 | pub const __INT_LEAST64_TYPE__ = c_long; 2101 | pub const __INT_LEAST64_MAX__ = @import("std").zig.c_translation.promoteIntLiteral(c_long, 9223372036854775807, .decimal); 2102 | pub const __INT_LEAST64_WIDTH__ = @as(c_int, 64); 2103 | pub const __INT_LEAST64_FMTd__ = "ld"; 2104 | pub const __INT_LEAST64_FMTi__ = "li"; 2105 | pub const __UINT_LEAST64_TYPE__ = c_ulong; 2106 | pub const __UINT_LEAST64_MAX__ = @import("std").zig.c_translation.promoteIntLiteral(c_ulong, 18446744073709551615, .decimal); 2107 | pub const __UINT_LEAST64_FMTo__ = "lo"; 2108 | pub const __UINT_LEAST64_FMTu__ = "lu"; 2109 | pub const __UINT_LEAST64_FMTx__ = "lx"; 2110 | pub const __UINT_LEAST64_FMTX__ = "lX"; 2111 | pub const __INT_FAST8_TYPE__ = i8; 2112 | pub const __INT_FAST8_MAX__ = @as(c_int, 127); 2113 | pub const __INT_FAST8_WIDTH__ = @as(c_int, 8); 2114 | pub const __INT_FAST8_FMTd__ = "hhd"; 2115 | pub const __INT_FAST8_FMTi__ = "hhi"; 2116 | pub const __UINT_FAST8_TYPE__ = u8; 2117 | pub const __UINT_FAST8_MAX__ = @as(c_int, 255); 2118 | pub const __UINT_FAST8_FMTo__ = "hho"; 2119 | pub const __UINT_FAST8_FMTu__ = "hhu"; 2120 | pub const __UINT_FAST8_FMTx__ = "hhx"; 2121 | pub const __UINT_FAST8_FMTX__ = "hhX"; 2122 | pub const __INT_FAST16_TYPE__ = c_short; 2123 | pub const __INT_FAST16_MAX__ = @as(c_int, 32767); 2124 | pub const __INT_FAST16_WIDTH__ = @as(c_int, 16); 2125 | pub const __INT_FAST16_FMTd__ = "hd"; 2126 | pub const __INT_FAST16_FMTi__ = "hi"; 2127 | pub const __UINT_FAST16_TYPE__ = c_ushort; 2128 | pub const __UINT_FAST16_MAX__ = @import("std").zig.c_translation.promoteIntLiteral(c_int, 65535, .decimal); 2129 | pub const __UINT_FAST16_FMTo__ = "ho"; 2130 | pub const __UINT_FAST16_FMTu__ = "hu"; 2131 | pub const __UINT_FAST16_FMTx__ = "hx"; 2132 | pub const __UINT_FAST16_FMTX__ = "hX"; 2133 | pub const __INT_FAST32_TYPE__ = c_int; 2134 | pub const __INT_FAST32_MAX__ = @import("std").zig.c_translation.promoteIntLiteral(c_int, 2147483647, .decimal); 2135 | pub const __INT_FAST32_WIDTH__ = @as(c_int, 32); 2136 | pub const __INT_FAST32_FMTd__ = "d"; 2137 | pub const __INT_FAST32_FMTi__ = "i"; 2138 | pub const __UINT_FAST32_TYPE__ = c_uint; 2139 | pub const __UINT_FAST32_MAX__ = @import("std").zig.c_translation.promoteIntLiteral(c_uint, 4294967295, .decimal); 2140 | pub const __UINT_FAST32_FMTo__ = "o"; 2141 | pub const __UINT_FAST32_FMTu__ = "u"; 2142 | pub const __UINT_FAST32_FMTx__ = "x"; 2143 | pub const __UINT_FAST32_FMTX__ = "X"; 2144 | pub const __INT_FAST64_TYPE__ = c_long; 2145 | pub const __INT_FAST64_MAX__ = @import("std").zig.c_translation.promoteIntLiteral(c_long, 9223372036854775807, .decimal); 2146 | pub const __INT_FAST64_WIDTH__ = @as(c_int, 64); 2147 | pub const __INT_FAST64_FMTd__ = "ld"; 2148 | pub const __INT_FAST64_FMTi__ = "li"; 2149 | pub const __UINT_FAST64_TYPE__ = c_ulong; 2150 | pub const __UINT_FAST64_MAX__ = @import("std").zig.c_translation.promoteIntLiteral(c_ulong, 18446744073709551615, .decimal); 2151 | pub const __UINT_FAST64_FMTo__ = "lo"; 2152 | pub const __UINT_FAST64_FMTu__ = "lu"; 2153 | pub const __UINT_FAST64_FMTx__ = "lx"; 2154 | pub const __UINT_FAST64_FMTX__ = "lX"; 2155 | pub const __USER_LABEL_PREFIX__ = ""; 2156 | pub const __FINITE_MATH_ONLY__ = @as(c_int, 0); 2157 | pub const __GNUC_STDC_INLINE__ = @as(c_int, 1); 2158 | pub const __GCC_ATOMIC_TEST_AND_SET_TRUEVAL = @as(c_int, 1); 2159 | pub const __CLANG_ATOMIC_BOOL_LOCK_FREE = @as(c_int, 2); 2160 | pub const __CLANG_ATOMIC_CHAR_LOCK_FREE = @as(c_int, 2); 2161 | pub const __CLANG_ATOMIC_CHAR16_T_LOCK_FREE = @as(c_int, 2); 2162 | pub const __CLANG_ATOMIC_CHAR32_T_LOCK_FREE = @as(c_int, 2); 2163 | pub const __CLANG_ATOMIC_WCHAR_T_LOCK_FREE = @as(c_int, 2); 2164 | pub const __CLANG_ATOMIC_SHORT_LOCK_FREE = @as(c_int, 2); 2165 | pub const __CLANG_ATOMIC_INT_LOCK_FREE = @as(c_int, 2); 2166 | pub const __CLANG_ATOMIC_LONG_LOCK_FREE = @as(c_int, 2); 2167 | pub const __CLANG_ATOMIC_LLONG_LOCK_FREE = @as(c_int, 2); 2168 | pub const __CLANG_ATOMIC_POINTER_LOCK_FREE = @as(c_int, 2); 2169 | pub const __GCC_ATOMIC_BOOL_LOCK_FREE = @as(c_int, 2); 2170 | pub const __GCC_ATOMIC_CHAR_LOCK_FREE = @as(c_int, 2); 2171 | pub const __GCC_ATOMIC_CHAR16_T_LOCK_FREE = @as(c_int, 2); 2172 | pub const __GCC_ATOMIC_CHAR32_T_LOCK_FREE = @as(c_int, 2); 2173 | pub const __GCC_ATOMIC_WCHAR_T_LOCK_FREE = @as(c_int, 2); 2174 | pub const __GCC_ATOMIC_SHORT_LOCK_FREE = @as(c_int, 2); 2175 | pub const __GCC_ATOMIC_INT_LOCK_FREE = @as(c_int, 2); 2176 | pub const __GCC_ATOMIC_LONG_LOCK_FREE = @as(c_int, 2); 2177 | pub const __GCC_ATOMIC_LLONG_LOCK_FREE = @as(c_int, 2); 2178 | pub const __GCC_ATOMIC_POINTER_LOCK_FREE = @as(c_int, 2); 2179 | pub const __NO_INLINE__ = @as(c_int, 1); 2180 | pub const __PIC__ = @as(c_int, 2); 2181 | pub const __pic__ = @as(c_int, 2); 2182 | pub const __FLT_RADIX__ = @as(c_int, 2); 2183 | pub const __DECIMAL_DIG__ = __LDBL_DECIMAL_DIG__; 2184 | pub const __SSP_STRONG__ = @as(c_int, 2); 2185 | pub const __GCC_ASM_FLAG_OUTPUTS__ = @as(c_int, 1); 2186 | pub const __code_model_small__ = @as(c_int, 1); 2187 | pub const __amd64__ = @as(c_int, 1); 2188 | pub const __amd64 = @as(c_int, 1); 2189 | pub const __x86_64 = @as(c_int, 1); 2190 | pub const __x86_64__ = @as(c_int, 1); 2191 | pub const __SEG_GS = @as(c_int, 1); 2192 | pub const __SEG_FS = @as(c_int, 1); 2193 | pub const __k8 = @as(c_int, 1); 2194 | pub const __k8__ = @as(c_int, 1); 2195 | pub const __tune_k8__ = @as(c_int, 1); 2196 | pub const __REGISTER_PREFIX__ = ""; 2197 | pub const __NO_MATH_INLINES = @as(c_int, 1); 2198 | pub const __AES__ = @as(c_int, 1); 2199 | pub const __VAES__ = @as(c_int, 1); 2200 | pub const __PCLMUL__ = @as(c_int, 1); 2201 | pub const __VPCLMULQDQ__ = @as(c_int, 1); 2202 | pub const __LAHF_SAHF__ = @as(c_int, 1); 2203 | pub const __LZCNT__ = @as(c_int, 1); 2204 | pub const __RDRND__ = @as(c_int, 1); 2205 | pub const __FSGSBASE__ = @as(c_int, 1); 2206 | pub const __BMI__ = @as(c_int, 1); 2207 | pub const __BMI2__ = @as(c_int, 1); 2208 | pub const __POPCNT__ = @as(c_int, 1); 2209 | pub const __PRFCHW__ = @as(c_int, 1); 2210 | pub const __RDSEED__ = @as(c_int, 1); 2211 | pub const __ADX__ = @as(c_int, 1); 2212 | pub const __MOVBE__ = @as(c_int, 1); 2213 | pub const __FMA__ = @as(c_int, 1); 2214 | pub const __F16C__ = @as(c_int, 1); 2215 | pub const __GFNI__ = @as(c_int, 1); 2216 | pub const __SHA__ = @as(c_int, 1); 2217 | pub const __FXSR__ = @as(c_int, 1); 2218 | pub const __XSAVE__ = @as(c_int, 1); 2219 | pub const __XSAVEOPT__ = @as(c_int, 1); 2220 | pub const __XSAVEC__ = @as(c_int, 1); 2221 | pub const __XSAVES__ = @as(c_int, 1); 2222 | pub const __CLFLUSHOPT__ = @as(c_int, 1); 2223 | pub const __CLWB__ = @as(c_int, 1); 2224 | pub const __RDPID__ = @as(c_int, 1); 2225 | pub const __MOVDIRI__ = @as(c_int, 1); 2226 | pub const __MOVDIR64B__ = @as(c_int, 1); 2227 | pub const __INVPCID__ = @as(c_int, 1); 2228 | pub const __AVX2__ = @as(c_int, 1); 2229 | pub const __AVX__ = @as(c_int, 1); 2230 | pub const __SSE4_2__ = @as(c_int, 1); 2231 | pub const __SSE4_1__ = @as(c_int, 1); 2232 | pub const __SSSE3__ = @as(c_int, 1); 2233 | pub const __SSE3__ = @as(c_int, 1); 2234 | pub const __SSE2__ = @as(c_int, 1); 2235 | pub const __SSE2_MATH__ = @as(c_int, 1); 2236 | pub const __SSE__ = @as(c_int, 1); 2237 | pub const __SSE_MATH__ = @as(c_int, 1); 2238 | pub const __MMX__ = @as(c_int, 1); 2239 | pub const __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 = @as(c_int, 1); 2240 | pub const __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 = @as(c_int, 1); 2241 | pub const __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 = @as(c_int, 1); 2242 | pub const __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 = @as(c_int, 1); 2243 | pub const __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 = @as(c_int, 1); 2244 | pub const __SIZEOF_FLOAT128__ = @as(c_int, 16); 2245 | pub const unix = @as(c_int, 1); 2246 | pub const __unix = @as(c_int, 1); 2247 | pub const __unix__ = @as(c_int, 1); 2248 | pub const linux = @as(c_int, 1); 2249 | pub const __linux = @as(c_int, 1); 2250 | pub const __linux__ = @as(c_int, 1); 2251 | pub const __ELF__ = @as(c_int, 1); 2252 | pub const __gnu_linux__ = @as(c_int, 1); 2253 | pub const __FLOAT128__ = @as(c_int, 1); 2254 | pub const __STDC__ = @as(c_int, 1); 2255 | pub const __STDC_HOSTED__ = @as(c_int, 1); 2256 | pub const __STDC_VERSION__ = @as(c_long, 201710); 2257 | pub const __STDC_UTF_16__ = @as(c_int, 1); 2258 | pub const __STDC_UTF_32__ = @as(c_int, 1); 2259 | pub const __GLIBC_MINOR__ = @as(c_int, 31); 2260 | pub const _DEBUG = @as(c_int, 1); 2261 | pub const __GCC_HAVE_DWARF2_CFI_ASM = @as(c_int, 1); 2262 | pub const SQFS_SQUASH_H = ""; 2263 | pub const _STRING_H = @as(c_int, 1); 2264 | pub const __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION = ""; 2265 | pub const _FEATURES_H = @as(c_int, 1); 2266 | pub const __KERNEL_STRICT_NAMES = ""; 2267 | pub inline fn __GNUC_PREREQ(maj: anytype, min: anytype) @TypeOf(((__GNUC__ << @as(c_int, 16)) + __GNUC_MINOR__) >= ((maj << @as(c_int, 16)) + min)) { 2268 | return ((__GNUC__ << @as(c_int, 16)) + __GNUC_MINOR__) >= ((maj << @as(c_int, 16)) + min); 2269 | } 2270 | pub inline fn __glibc_clang_prereq(maj: anytype, min: anytype) @TypeOf(((__clang_major__ << @as(c_int, 16)) + __clang_minor__) >= ((maj << @as(c_int, 16)) + min)) { 2271 | return ((__clang_major__ << @as(c_int, 16)) + __clang_minor__) >= ((maj << @as(c_int, 16)) + min); 2272 | } 2273 | pub const _DEFAULT_SOURCE = @as(c_int, 1); 2274 | pub const __GLIBC_USE_ISOC2X = @as(c_int, 0); 2275 | pub const __USE_ISOC11 = @as(c_int, 1); 2276 | pub const __USE_ISOC99 = @as(c_int, 1); 2277 | pub const __USE_ISOC95 = @as(c_int, 1); 2278 | pub const __USE_POSIX_IMPLICITLY = @as(c_int, 1); 2279 | pub const _POSIX_SOURCE = @as(c_int, 1); 2280 | pub const _POSIX_C_SOURCE = @as(c_long, 200809); 2281 | pub const __USE_POSIX = @as(c_int, 1); 2282 | pub const __USE_POSIX2 = @as(c_int, 1); 2283 | pub const __USE_POSIX199309 = @as(c_int, 1); 2284 | pub const __USE_POSIX199506 = @as(c_int, 1); 2285 | pub const __USE_XOPEN2K = @as(c_int, 1); 2286 | pub const __USE_XOPEN2K8 = @as(c_int, 1); 2287 | pub const _ATFILE_SOURCE = @as(c_int, 1); 2288 | pub const __USE_MISC = @as(c_int, 1); 2289 | pub const __USE_ATFILE = @as(c_int, 1); 2290 | pub const __USE_FORTIFY_LEVEL = @as(c_int, 0); 2291 | pub const __GLIBC_USE_DEPRECATED_GETS = @as(c_int, 0); 2292 | pub const __GLIBC_USE_DEPRECATED_SCANF = @as(c_int, 0); 2293 | pub const _STDC_PREDEF_H = @as(c_int, 1); 2294 | pub const __STDC_IEC_559__ = @as(c_int, 1); 2295 | pub const __STDC_IEC_559_COMPLEX__ = @as(c_int, 1); 2296 | pub const __STDC_ISO_10646__ = @as(c_long, 201706); 2297 | pub const __GNU_LIBRARY__ = @as(c_int, 6); 2298 | pub const __GLIBC__ = @as(c_int, 2); 2299 | pub inline fn __GLIBC_PREREQ(maj: anytype, min: anytype) @TypeOf(((__GLIBC__ << @as(c_int, 16)) + __GLIBC_MINOR__) >= ((maj << @as(c_int, 16)) + min)) { 2300 | return ((__GLIBC__ << @as(c_int, 16)) + __GLIBC_MINOR__) >= ((maj << @as(c_int, 16)) + min); 2301 | } 2302 | pub const _SYS_CDEFS_H = @as(c_int, 1); 2303 | pub const __LEAF = ""; 2304 | pub const __LEAF_ATTR = ""; 2305 | pub inline fn __P(args: anytype) @TypeOf(args) { 2306 | return args; 2307 | } 2308 | pub inline fn __PMT(args: anytype) @TypeOf(args) { 2309 | return args; 2310 | } 2311 | pub const __ptr_t = ?*anyopaque; 2312 | pub const __BEGIN_DECLS = ""; 2313 | pub const __END_DECLS = ""; 2314 | pub inline fn __bos(ptr: anytype) @TypeOf(__builtin_object_size(ptr, __USE_FORTIFY_LEVEL > @as(c_int, 1))) { 2315 | return __builtin_object_size(ptr, __USE_FORTIFY_LEVEL > @as(c_int, 1)); 2316 | } 2317 | pub inline fn __bos0(ptr: anytype) @TypeOf(__builtin_object_size(ptr, @as(c_int, 0))) { 2318 | return __builtin_object_size(ptr, @as(c_int, 0)); 2319 | } 2320 | pub const __glibc_c99_flexarr_available = @as(c_int, 1); 2321 | pub inline fn __ASMNAME(cname: anytype) @TypeOf(__ASMNAME2(__USER_LABEL_PREFIX__, cname)) { 2322 | return __ASMNAME2(__USER_LABEL_PREFIX__, cname); 2323 | } 2324 | pub const __wur = ""; 2325 | pub const __attribute_artificial__ = ""; 2326 | pub const __fortify_function = __extern_always_inline ++ __attribute_artificial__; 2327 | pub inline fn __glibc_unlikely(cond: anytype) @TypeOf(__builtin_expect(cond, @as(c_int, 0))) { 2328 | return __builtin_expect(cond, @as(c_int, 0)); 2329 | } 2330 | pub inline fn __glibc_likely(cond: anytype) @TypeOf(__builtin_expect(cond, @as(c_int, 1))) { 2331 | return __builtin_expect(cond, @as(c_int, 1)); 2332 | } 2333 | pub const __attribute_nonstring__ = ""; 2334 | pub const __WORDSIZE = @as(c_int, 64); 2335 | pub const __WORDSIZE_TIME64_COMPAT32 = @as(c_int, 1); 2336 | pub const __SYSCALL_WORDSIZE = @as(c_int, 64); 2337 | pub const __LONG_DOUBLE_USES_FLOAT128 = @as(c_int, 0); 2338 | pub inline fn __LDBL_REDIR1(name: anytype, proto: anytype, alias: anytype) @TypeOf(name ++ proto) { 2339 | _ = @TypeOf(alias); 2340 | return name ++ proto; 2341 | } 2342 | pub inline fn __LDBL_REDIR(name: anytype, proto: anytype) @TypeOf(name ++ proto) { 2343 | return name ++ proto; 2344 | } 2345 | pub inline fn __LDBL_REDIR1_NTH(name: anytype, proto: anytype, alias: anytype) @TypeOf(name ++ proto ++ __THROW) { 2346 | _ = @TypeOf(alias); 2347 | return name ++ proto ++ __THROW; 2348 | } 2349 | pub inline fn __LDBL_REDIR_NTH(name: anytype, proto: anytype) @TypeOf(name ++ proto ++ __THROW) { 2350 | return name ++ proto ++ __THROW; 2351 | } 2352 | pub inline fn __REDIRECT_LDBL(name: anytype, proto: anytype, alias: anytype) @TypeOf(__REDIRECT(name, proto, alias)) { 2353 | return __REDIRECT(name, proto, alias); 2354 | } 2355 | pub inline fn __REDIRECT_NTH_LDBL(name: anytype, proto: anytype, alias: anytype) @TypeOf(__REDIRECT_NTH(name, proto, alias)) { 2356 | return __REDIRECT_NTH(name, proto, alias); 2357 | } 2358 | pub const __HAVE_GENERIC_SELECTION = @as(c_int, 1); 2359 | pub const __stub___compat_bdflush = ""; 2360 | pub const __stub_chflags = ""; 2361 | pub const __stub_fchflags = ""; 2362 | pub const __stub_gtty = ""; 2363 | pub const __stub_lchmod = ""; 2364 | pub const __stub_revoke = ""; 2365 | pub const __stub_setlogin = ""; 2366 | pub const __stub_sigreturn = ""; 2367 | pub const __stub_sstk = ""; 2368 | pub const __stub_stty = ""; 2369 | pub const __GLIBC_USE_LIB_EXT2 = @as(c_int, 0); 2370 | pub const __GLIBC_USE_IEC_60559_BFP_EXT = @as(c_int, 0); 2371 | pub const __GLIBC_USE_IEC_60559_BFP_EXT_C2X = @as(c_int, 0); 2372 | pub const __GLIBC_USE_IEC_60559_FUNCS_EXT = @as(c_int, 0); 2373 | pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X = @as(c_int, 0); 2374 | pub const __GLIBC_USE_IEC_60559_TYPES_EXT = @as(c_int, 0); 2375 | pub const __need_size_t = ""; 2376 | pub const __need_NULL = ""; 2377 | pub const _SIZE_T = ""; 2378 | pub const NULL = @import("std").zig.c_translation.cast(?*anyopaque, @as(c_int, 0)); 2379 | pub const _BITS_TYPES_LOCALE_T_H = @as(c_int, 1); 2380 | pub const _BITS_TYPES___LOCALE_T_H = @as(c_int, 1); 2381 | pub const _STRINGS_H = @as(c_int, 1); 2382 | pub const _ERRNO_H = @as(c_int, 1); 2383 | pub const _BITS_ERRNO_H = @as(c_int, 1); 2384 | pub const _ASM_GENERIC_ERRNO_H = ""; 2385 | pub const _ASM_GENERIC_ERRNO_BASE_H = ""; 2386 | pub const EPERM = @as(c_int, 1); 2387 | pub const ENOENT = @as(c_int, 2); 2388 | pub const ESRCH = @as(c_int, 3); 2389 | pub const EINTR = @as(c_int, 4); 2390 | pub const EIO = @as(c_int, 5); 2391 | pub const ENXIO = @as(c_int, 6); 2392 | pub const E2BIG = @as(c_int, 7); 2393 | pub const ENOEXEC = @as(c_int, 8); 2394 | pub const EBADF = @as(c_int, 9); 2395 | pub const ECHILD = @as(c_int, 10); 2396 | pub const EAGAIN = @as(c_int, 11); 2397 | pub const ENOMEM = @as(c_int, 12); 2398 | pub const EACCES = @as(c_int, 13); 2399 | pub const EFAULT = @as(c_int, 14); 2400 | pub const ENOTBLK = @as(c_int, 15); 2401 | pub const EBUSY = @as(c_int, 16); 2402 | pub const EEXIST = @as(c_int, 17); 2403 | pub const EXDEV = @as(c_int, 18); 2404 | pub const ENODEV = @as(c_int, 19); 2405 | pub const ENOTDIR = @as(c_int, 20); 2406 | pub const EISDIR = @as(c_int, 21); 2407 | pub const EINVAL = @as(c_int, 22); 2408 | pub const ENFILE = @as(c_int, 23); 2409 | pub const EMFILE = @as(c_int, 24); 2410 | pub const ENOTTY = @as(c_int, 25); 2411 | pub const ETXTBSY = @as(c_int, 26); 2412 | pub const EFBIG = @as(c_int, 27); 2413 | pub const ENOSPC = @as(c_int, 28); 2414 | pub const ESPIPE = @as(c_int, 29); 2415 | pub const EROFS = @as(c_int, 30); 2416 | pub const EMLINK = @as(c_int, 31); 2417 | pub const EPIPE = @as(c_int, 32); 2418 | pub const EDOM = @as(c_int, 33); 2419 | pub const ERANGE = @as(c_int, 34); 2420 | pub const EDEADLK = @as(c_int, 35); 2421 | pub const ENAMETOOLONG = @as(c_int, 36); 2422 | pub const ENOLCK = @as(c_int, 37); 2423 | pub const ENOSYS = @as(c_int, 38); 2424 | pub const ENOTEMPTY = @as(c_int, 39); 2425 | pub const ELOOP = @as(c_int, 40); 2426 | pub const EWOULDBLOCK = EAGAIN; 2427 | pub const ENOMSG = @as(c_int, 42); 2428 | pub const EIDRM = @as(c_int, 43); 2429 | pub const ECHRNG = @as(c_int, 44); 2430 | pub const EL2NSYNC = @as(c_int, 45); 2431 | pub const EL3HLT = @as(c_int, 46); 2432 | pub const EL3RST = @as(c_int, 47); 2433 | pub const ELNRNG = @as(c_int, 48); 2434 | pub const EUNATCH = @as(c_int, 49); 2435 | pub const ENOCSI = @as(c_int, 50); 2436 | pub const EL2HLT = @as(c_int, 51); 2437 | pub const EBADE = @as(c_int, 52); 2438 | pub const EBADR = @as(c_int, 53); 2439 | pub const EXFULL = @as(c_int, 54); 2440 | pub const ENOANO = @as(c_int, 55); 2441 | pub const EBADRQC = @as(c_int, 56); 2442 | pub const EBADSLT = @as(c_int, 57); 2443 | pub const EDEADLOCK = EDEADLK; 2444 | pub const EBFONT = @as(c_int, 59); 2445 | pub const ENOSTR = @as(c_int, 60); 2446 | pub const ENODATA = @as(c_int, 61); 2447 | pub const ETIME = @as(c_int, 62); 2448 | pub const ENOSR = @as(c_int, 63); 2449 | pub const ENONET = @as(c_int, 64); 2450 | pub const ENOPKG = @as(c_int, 65); 2451 | pub const EREMOTE = @as(c_int, 66); 2452 | pub const ENOLINK = @as(c_int, 67); 2453 | pub const EADV = @as(c_int, 68); 2454 | pub const ESRMNT = @as(c_int, 69); 2455 | pub const ECOMM = @as(c_int, 70); 2456 | pub const EPROTO = @as(c_int, 71); 2457 | pub const EMULTIHOP = @as(c_int, 72); 2458 | pub const EDOTDOT = @as(c_int, 73); 2459 | pub const EBADMSG = @as(c_int, 74); 2460 | pub const EOVERFLOW = @as(c_int, 75); 2461 | pub const ENOTUNIQ = @as(c_int, 76); 2462 | pub const EBADFD = @as(c_int, 77); 2463 | pub const EREMCHG = @as(c_int, 78); 2464 | pub const ELIBACC = @as(c_int, 79); 2465 | pub const ELIBBAD = @as(c_int, 80); 2466 | pub const ELIBSCN = @as(c_int, 81); 2467 | pub const ELIBMAX = @as(c_int, 82); 2468 | pub const ELIBEXEC = @as(c_int, 83); 2469 | pub const EILSEQ = @as(c_int, 84); 2470 | pub const ERESTART = @as(c_int, 85); 2471 | pub const ESTRPIPE = @as(c_int, 86); 2472 | pub const EUSERS = @as(c_int, 87); 2473 | pub const ENOTSOCK = @as(c_int, 88); 2474 | pub const EDESTADDRREQ = @as(c_int, 89); 2475 | pub const EMSGSIZE = @as(c_int, 90); 2476 | pub const EPROTOTYPE = @as(c_int, 91); 2477 | pub const ENOPROTOOPT = @as(c_int, 92); 2478 | pub const EPROTONOSUPPORT = @as(c_int, 93); 2479 | pub const ESOCKTNOSUPPORT = @as(c_int, 94); 2480 | pub const EOPNOTSUPP = @as(c_int, 95); 2481 | pub const EPFNOSUPPORT = @as(c_int, 96); 2482 | pub const EAFNOSUPPORT = @as(c_int, 97); 2483 | pub const EADDRINUSE = @as(c_int, 98); 2484 | pub const EADDRNOTAVAIL = @as(c_int, 99); 2485 | pub const ENETDOWN = @as(c_int, 100); 2486 | pub const ENETUNREACH = @as(c_int, 101); 2487 | pub const ENETRESET = @as(c_int, 102); 2488 | pub const ECONNABORTED = @as(c_int, 103); 2489 | pub const ECONNRESET = @as(c_int, 104); 2490 | pub const ENOBUFS = @as(c_int, 105); 2491 | pub const EISCONN = @as(c_int, 106); 2492 | pub const ENOTCONN = @as(c_int, 107); 2493 | pub const ESHUTDOWN = @as(c_int, 108); 2494 | pub const ETOOMANYREFS = @as(c_int, 109); 2495 | pub const ETIMEDOUT = @as(c_int, 110); 2496 | pub const ECONNREFUSED = @as(c_int, 111); 2497 | pub const EHOSTDOWN = @as(c_int, 112); 2498 | pub const EHOSTUNREACH = @as(c_int, 113); 2499 | pub const EALREADY = @as(c_int, 114); 2500 | pub const EINPROGRESS = @as(c_int, 115); 2501 | pub const ESTALE = @as(c_int, 116); 2502 | pub const EUCLEAN = @as(c_int, 117); 2503 | pub const ENOTNAM = @as(c_int, 118); 2504 | pub const ENAVAIL = @as(c_int, 119); 2505 | pub const EISNAM = @as(c_int, 120); 2506 | pub const EREMOTEIO = @as(c_int, 121); 2507 | pub const EDQUOT = @as(c_int, 122); 2508 | pub const ENOMEDIUM = @as(c_int, 123); 2509 | pub const EMEDIUMTYPE = @as(c_int, 124); 2510 | pub const ECANCELED = @as(c_int, 125); 2511 | pub const ENOKEY = @as(c_int, 126); 2512 | pub const EKEYEXPIRED = @as(c_int, 127); 2513 | pub const EKEYREVOKED = @as(c_int, 128); 2514 | pub const EKEYREJECTED = @as(c_int, 129); 2515 | pub const EOWNERDEAD = @as(c_int, 130); 2516 | pub const ENOTRECOVERABLE = @as(c_int, 131); 2517 | pub const ERFKILL = @as(c_int, 132); 2518 | pub const EHWPOISON = @as(c_int, 133); 2519 | pub const ENOTSUP = EOPNOTSUPP; 2520 | pub const errno = __errno_location().*; 2521 | pub const _ASSERT_H = @as(c_int, 1); 2522 | pub const _ASSERT_H_DECLS = ""; 2523 | pub const SQFS_DIR_H = ""; 2524 | pub const SQFS_COMMON_H = ""; 2525 | pub const __CLANG_STDINT_H = ""; 2526 | pub const _STDINT_H = @as(c_int, 1); 2527 | pub const _BITS_TYPES_H = @as(c_int, 1); 2528 | pub const __TIMESIZE = __WORDSIZE; 2529 | pub const __S16_TYPE = c_short; 2530 | pub const __U16_TYPE = c_ushort; 2531 | pub const __S32_TYPE = c_int; 2532 | pub const __U32_TYPE = c_uint; 2533 | pub const __SLONGWORD_TYPE = c_long; 2534 | pub const __ULONGWORD_TYPE = c_ulong; 2535 | pub const __SQUAD_TYPE = c_long; 2536 | pub const __UQUAD_TYPE = c_ulong; 2537 | pub const __SWORD_TYPE = c_long; 2538 | pub const __UWORD_TYPE = c_ulong; 2539 | pub const __SLONG32_TYPE = c_int; 2540 | pub const __ULONG32_TYPE = c_uint; 2541 | pub const __S64_TYPE = c_long; 2542 | pub const __U64_TYPE = c_ulong; 2543 | pub const _BITS_TYPESIZES_H = @as(c_int, 1); 2544 | pub const __SYSCALL_SLONG_TYPE = __SLONGWORD_TYPE; 2545 | pub const __SYSCALL_ULONG_TYPE = __ULONGWORD_TYPE; 2546 | pub const __DEV_T_TYPE = __UQUAD_TYPE; 2547 | pub const __UID_T_TYPE = __U32_TYPE; 2548 | pub const __GID_T_TYPE = __U32_TYPE; 2549 | pub const __INO_T_TYPE = __SYSCALL_ULONG_TYPE; 2550 | pub const __INO64_T_TYPE = __UQUAD_TYPE; 2551 | pub const __MODE_T_TYPE = __U32_TYPE; 2552 | pub const __NLINK_T_TYPE = __SYSCALL_ULONG_TYPE; 2553 | pub const __FSWORD_T_TYPE = __SYSCALL_SLONG_TYPE; 2554 | pub const __OFF_T_TYPE = __SYSCALL_SLONG_TYPE; 2555 | pub const __OFF64_T_TYPE = __SQUAD_TYPE; 2556 | pub const __PID_T_TYPE = __S32_TYPE; 2557 | pub const __RLIM_T_TYPE = __SYSCALL_ULONG_TYPE; 2558 | pub const __RLIM64_T_TYPE = __UQUAD_TYPE; 2559 | pub const __BLKCNT_T_TYPE = __SYSCALL_SLONG_TYPE; 2560 | pub const __BLKCNT64_T_TYPE = __SQUAD_TYPE; 2561 | pub const __FSBLKCNT_T_TYPE = __SYSCALL_ULONG_TYPE; 2562 | pub const __FSBLKCNT64_T_TYPE = __UQUAD_TYPE; 2563 | pub const __FSFILCNT_T_TYPE = __SYSCALL_ULONG_TYPE; 2564 | pub const __FSFILCNT64_T_TYPE = __UQUAD_TYPE; 2565 | pub const __ID_T_TYPE = __U32_TYPE; 2566 | pub const __CLOCK_T_TYPE = __SYSCALL_SLONG_TYPE; 2567 | pub const __TIME_T_TYPE = __SYSCALL_SLONG_TYPE; 2568 | pub const __USECONDS_T_TYPE = __U32_TYPE; 2569 | pub const __SUSECONDS_T_TYPE = __SYSCALL_SLONG_TYPE; 2570 | pub const __DADDR_T_TYPE = __S32_TYPE; 2571 | pub const __KEY_T_TYPE = __S32_TYPE; 2572 | pub const __CLOCKID_T_TYPE = __S32_TYPE; 2573 | pub const __TIMER_T_TYPE = ?*anyopaque; 2574 | pub const __BLKSIZE_T_TYPE = __SYSCALL_SLONG_TYPE; 2575 | pub const __SSIZE_T_TYPE = __SWORD_TYPE; 2576 | pub const __CPU_MASK_TYPE = __SYSCALL_ULONG_TYPE; 2577 | pub const __OFF_T_MATCHES_OFF64_T = @as(c_int, 1); 2578 | pub const __INO_T_MATCHES_INO64_T = @as(c_int, 1); 2579 | pub const __RLIM_T_MATCHES_RLIM64_T = @as(c_int, 1); 2580 | pub const __STATFS_MATCHES_STATFS64 = @as(c_int, 1); 2581 | pub const __FD_SETSIZE = @as(c_int, 1024); 2582 | pub const _BITS_TIME64_H = @as(c_int, 1); 2583 | pub const __TIME64_T_TYPE = __TIME_T_TYPE; 2584 | pub const _BITS_WCHAR_H = @as(c_int, 1); 2585 | pub const __WCHAR_MAX = __WCHAR_MAX__; 2586 | pub const __WCHAR_MIN = -__WCHAR_MAX - @as(c_int, 1); 2587 | pub const _BITS_STDINT_INTN_H = @as(c_int, 1); 2588 | pub const _BITS_STDINT_UINTN_H = @as(c_int, 1); 2589 | pub const __intptr_t_defined = ""; 2590 | pub const __INT64_C = @import("std").zig.c_translation.Macros.L_SUFFIX; 2591 | pub const __UINT64_C = @import("std").zig.c_translation.Macros.UL_SUFFIX; 2592 | pub const INT8_MIN = -@as(c_int, 128); 2593 | pub const INT16_MIN = -@as(c_int, 32767) - @as(c_int, 1); 2594 | pub const INT32_MIN = -@import("std").zig.c_translation.promoteIntLiteral(c_int, 2147483647, .decimal) - @as(c_int, 1); 2595 | pub const INT64_MIN = -__INT64_C(@import("std").zig.c_translation.promoteIntLiteral(c_int, 9223372036854775807, .decimal)) - @as(c_int, 1); 2596 | pub const INT8_MAX = @as(c_int, 127); 2597 | pub const INT16_MAX = @as(c_int, 32767); 2598 | pub const INT32_MAX = @import("std").zig.c_translation.promoteIntLiteral(c_int, 2147483647, .decimal); 2599 | pub const INT64_MAX = __INT64_C(@import("std").zig.c_translation.promoteIntLiteral(c_int, 9223372036854775807, .decimal)); 2600 | pub const UINT8_MAX = @as(c_int, 255); 2601 | pub const UINT16_MAX = @import("std").zig.c_translation.promoteIntLiteral(c_int, 65535, .decimal); 2602 | pub const UINT32_MAX = @import("std").zig.c_translation.promoteIntLiteral(c_uint, 4294967295, .decimal); 2603 | pub const UINT64_MAX = __UINT64_C(@import("std").zig.c_translation.promoteIntLiteral(c_int, 18446744073709551615, .decimal)); 2604 | pub const INT_LEAST8_MIN = -@as(c_int, 128); 2605 | pub const INT_LEAST16_MIN = -@as(c_int, 32767) - @as(c_int, 1); 2606 | pub const INT_LEAST32_MIN = -@import("std").zig.c_translation.promoteIntLiteral(c_int, 2147483647, .decimal) - @as(c_int, 1); 2607 | pub const INT_LEAST64_MIN = -__INT64_C(@import("std").zig.c_translation.promoteIntLiteral(c_int, 9223372036854775807, .decimal)) - @as(c_int, 1); 2608 | pub const INT_LEAST8_MAX = @as(c_int, 127); 2609 | pub const INT_LEAST16_MAX = @as(c_int, 32767); 2610 | pub const INT_LEAST32_MAX = @import("std").zig.c_translation.promoteIntLiteral(c_int, 2147483647, .decimal); 2611 | pub const INT_LEAST64_MAX = __INT64_C(@import("std").zig.c_translation.promoteIntLiteral(c_int, 9223372036854775807, .decimal)); 2612 | pub const UINT_LEAST8_MAX = @as(c_int, 255); 2613 | pub const UINT_LEAST16_MAX = @import("std").zig.c_translation.promoteIntLiteral(c_int, 65535, .decimal); 2614 | pub const UINT_LEAST32_MAX = @import("std").zig.c_translation.promoteIntLiteral(c_uint, 4294967295, .decimal); 2615 | pub const UINT_LEAST64_MAX = __UINT64_C(@import("std").zig.c_translation.promoteIntLiteral(c_int, 18446744073709551615, .decimal)); 2616 | pub const INT_FAST8_MIN = -@as(c_int, 128); 2617 | pub const INT_FAST16_MIN = -@import("std").zig.c_translation.promoteIntLiteral(c_long, 9223372036854775807, .decimal) - @as(c_int, 1); 2618 | pub const INT_FAST32_MIN = -@import("std").zig.c_translation.promoteIntLiteral(c_long, 9223372036854775807, .decimal) - @as(c_int, 1); 2619 | pub const INT_FAST64_MIN = -__INT64_C(@import("std").zig.c_translation.promoteIntLiteral(c_int, 9223372036854775807, .decimal)) - @as(c_int, 1); 2620 | pub const INT_FAST8_MAX = @as(c_int, 127); 2621 | pub const INT_FAST16_MAX = @import("std").zig.c_translation.promoteIntLiteral(c_long, 9223372036854775807, .decimal); 2622 | pub const INT_FAST32_MAX = @import("std").zig.c_translation.promoteIntLiteral(c_long, 9223372036854775807, .decimal); 2623 | pub const INT_FAST64_MAX = __INT64_C(@import("std").zig.c_translation.promoteIntLiteral(c_int, 9223372036854775807, .decimal)); 2624 | pub const UINT_FAST8_MAX = @as(c_int, 255); 2625 | pub const UINT_FAST16_MAX = @import("std").zig.c_translation.promoteIntLiteral(c_ulong, 18446744073709551615, .decimal); 2626 | pub const UINT_FAST32_MAX = @import("std").zig.c_translation.promoteIntLiteral(c_ulong, 18446744073709551615, .decimal); 2627 | pub const UINT_FAST64_MAX = __UINT64_C(@import("std").zig.c_translation.promoteIntLiteral(c_int, 18446744073709551615, .decimal)); 2628 | pub const INTPTR_MIN = -@import("std").zig.c_translation.promoteIntLiteral(c_long, 9223372036854775807, .decimal) - @as(c_int, 1); 2629 | pub const INTPTR_MAX = @import("std").zig.c_translation.promoteIntLiteral(c_long, 9223372036854775807, .decimal); 2630 | pub const UINTPTR_MAX = @import("std").zig.c_translation.promoteIntLiteral(c_ulong, 18446744073709551615, .decimal); 2631 | pub const INTMAX_MIN = -__INT64_C(@import("std").zig.c_translation.promoteIntLiteral(c_int, 9223372036854775807, .decimal)) - @as(c_int, 1); 2632 | pub const INTMAX_MAX = __INT64_C(@import("std").zig.c_translation.promoteIntLiteral(c_int, 9223372036854775807, .decimal)); 2633 | pub const UINTMAX_MAX = __UINT64_C(@import("std").zig.c_translation.promoteIntLiteral(c_int, 18446744073709551615, .decimal)); 2634 | pub const PTRDIFF_MIN = -@import("std").zig.c_translation.promoteIntLiteral(c_long, 9223372036854775807, .decimal) - @as(c_int, 1); 2635 | pub const PTRDIFF_MAX = @import("std").zig.c_translation.promoteIntLiteral(c_long, 9223372036854775807, .decimal); 2636 | pub const SIG_ATOMIC_MIN = -@import("std").zig.c_translation.promoteIntLiteral(c_int, 2147483647, .decimal) - @as(c_int, 1); 2637 | pub const SIG_ATOMIC_MAX = @import("std").zig.c_translation.promoteIntLiteral(c_int, 2147483647, .decimal); 2638 | pub const SIZE_MAX = @import("std").zig.c_translation.promoteIntLiteral(c_ulong, 18446744073709551615, .decimal); 2639 | pub const WCHAR_MIN = __WCHAR_MIN; 2640 | pub const WCHAR_MAX = __WCHAR_MAX; 2641 | pub const WINT_MIN = @as(c_uint, 0); 2642 | pub const WINT_MAX = @import("std").zig.c_translation.promoteIntLiteral(c_uint, 4294967295, .decimal); 2643 | pub inline fn INT8_C(c: anytype) @TypeOf(c) { 2644 | return c; 2645 | } 2646 | pub inline fn INT16_C(c: anytype) @TypeOf(c) { 2647 | return c; 2648 | } 2649 | pub inline fn INT32_C(c: anytype) @TypeOf(c) { 2650 | return c; 2651 | } 2652 | pub const INT64_C = @import("std").zig.c_translation.Macros.L_SUFFIX; 2653 | pub inline fn UINT8_C(c: anytype) @TypeOf(c) { 2654 | return c; 2655 | } 2656 | pub inline fn UINT16_C(c: anytype) @TypeOf(c) { 2657 | return c; 2658 | } 2659 | pub const UINT32_C = @import("std").zig.c_translation.Macros.U_SUFFIX; 2660 | pub const UINT64_C = @import("std").zig.c_translation.Macros.UL_SUFFIX; 2661 | pub const INTMAX_C = @import("std").zig.c_translation.Macros.L_SUFFIX; 2662 | pub const UINTMAX_C = @import("std").zig.c_translation.Macros.UL_SUFFIX; 2663 | pub const _SYS_TYPES_H = @as(c_int, 1); 2664 | pub const __u_char_defined = ""; 2665 | pub const __ino_t_defined = ""; 2666 | pub const __dev_t_defined = ""; 2667 | pub const __gid_t_defined = ""; 2668 | pub const __mode_t_defined = ""; 2669 | pub const __nlink_t_defined = ""; 2670 | pub const __uid_t_defined = ""; 2671 | pub const __off_t_defined = ""; 2672 | pub const __pid_t_defined = ""; 2673 | pub const __id_t_defined = ""; 2674 | pub const __ssize_t_defined = ""; 2675 | pub const __daddr_t_defined = ""; 2676 | pub const __key_t_defined = ""; 2677 | pub const __clock_t_defined = @as(c_int, 1); 2678 | pub const __clockid_t_defined = @as(c_int, 1); 2679 | pub const __time_t_defined = @as(c_int, 1); 2680 | pub const __timer_t_defined = @as(c_int, 1); 2681 | pub const __BIT_TYPES_DEFINED__ = @as(c_int, 1); 2682 | pub const _ENDIAN_H = @as(c_int, 1); 2683 | pub const _BITS_ENDIAN_H = @as(c_int, 1); 2684 | pub const __LITTLE_ENDIAN = @as(c_int, 1234); 2685 | pub const __BIG_ENDIAN = @as(c_int, 4321); 2686 | pub const __PDP_ENDIAN = @as(c_int, 3412); 2687 | pub const _BITS_ENDIANNESS_H = @as(c_int, 1); 2688 | pub const __BYTE_ORDER = __LITTLE_ENDIAN; 2689 | pub const __FLOAT_WORD_ORDER = __BYTE_ORDER; 2690 | pub inline fn __LONG_LONG_PAIR(HI: anytype, LO: anytype) @TypeOf(HI) { 2691 | return blk: { 2692 | _ = @TypeOf(LO); 2693 | break :blk HI; 2694 | }; 2695 | } 2696 | pub const LITTLE_ENDIAN = __LITTLE_ENDIAN; 2697 | pub const BIG_ENDIAN = __BIG_ENDIAN; 2698 | pub const PDP_ENDIAN = __PDP_ENDIAN; 2699 | pub const BYTE_ORDER = __BYTE_ORDER; 2700 | pub const _BITS_BYTESWAP_H = @as(c_int, 1); 2701 | pub inline fn __bswap_constant_16(x: anytype) __uint16_t { 2702 | return @import("std").zig.c_translation.cast(__uint16_t, ((x >> @as(c_int, 8)) & @as(c_int, 0xff)) | ((x & @as(c_int, 0xff)) << @as(c_int, 8))); 2703 | } 2704 | pub inline fn __bswap_constant_32(x: anytype) @TypeOf(((((x & @import("std").zig.c_translation.promoteIntLiteral(c_uint, 0xff000000, .hexadecimal)) >> @as(c_int, 24)) | ((x & @import("std").zig.c_translation.promoteIntLiteral(c_uint, 0x00ff0000, .hexadecimal)) >> @as(c_int, 8))) | ((x & @as(c_uint, 0x0000ff00)) << @as(c_int, 8))) | ((x & @as(c_uint, 0x000000ff)) << @as(c_int, 24))) { 2705 | return ((((x & @import("std").zig.c_translation.promoteIntLiteral(c_uint, 0xff000000, .hexadecimal)) >> @as(c_int, 24)) | ((x & @import("std").zig.c_translation.promoteIntLiteral(c_uint, 0x00ff0000, .hexadecimal)) >> @as(c_int, 8))) | ((x & @as(c_uint, 0x0000ff00)) << @as(c_int, 8))) | ((x & @as(c_uint, 0x000000ff)) << @as(c_int, 24)); 2706 | } 2707 | pub inline fn __bswap_constant_64(x: anytype) @TypeOf(((((((((x & @as(c_ulonglong, 0xff00000000000000)) >> @as(c_int, 56)) | ((x & @as(c_ulonglong, 0x00ff000000000000)) >> @as(c_int, 40))) | ((x & @as(c_ulonglong, 0x0000ff0000000000)) >> @as(c_int, 24))) | ((x & @as(c_ulonglong, 0x000000ff00000000)) >> @as(c_int, 8))) | ((x & @as(c_ulonglong, 0x00000000ff000000)) << @as(c_int, 8))) | ((x & @as(c_ulonglong, 0x0000000000ff0000)) << @as(c_int, 24))) | ((x & @as(c_ulonglong, 0x000000000000ff00)) << @as(c_int, 40))) | ((x & @as(c_ulonglong, 0x00000000000000ff)) << @as(c_int, 56))) { 2708 | return ((((((((x & @as(c_ulonglong, 0xff00000000000000)) >> @as(c_int, 56)) | ((x & @as(c_ulonglong, 0x00ff000000000000)) >> @as(c_int, 40))) | ((x & @as(c_ulonglong, 0x0000ff0000000000)) >> @as(c_int, 24))) | ((x & @as(c_ulonglong, 0x000000ff00000000)) >> @as(c_int, 8))) | ((x & @as(c_ulonglong, 0x00000000ff000000)) << @as(c_int, 8))) | ((x & @as(c_ulonglong, 0x0000000000ff0000)) << @as(c_int, 24))) | ((x & @as(c_ulonglong, 0x000000000000ff00)) << @as(c_int, 40))) | ((x & @as(c_ulonglong, 0x00000000000000ff)) << @as(c_int, 56)); 2709 | } 2710 | pub const _BITS_UINTN_IDENTITY_H = @as(c_int, 1); 2711 | pub inline fn htobe16(x: anytype) @TypeOf(__bswap_16(x)) { 2712 | return __bswap_16(x); 2713 | } 2714 | pub inline fn htole16(x: anytype) @TypeOf(__uint16_identity(x)) { 2715 | return __uint16_identity(x); 2716 | } 2717 | pub inline fn be16toh(x: anytype) @TypeOf(__bswap_16(x)) { 2718 | return __bswap_16(x); 2719 | } 2720 | pub inline fn le16toh(x: anytype) @TypeOf(__uint16_identity(x)) { 2721 | return __uint16_identity(x); 2722 | } 2723 | pub inline fn htobe32(x: anytype) @TypeOf(__bswap_32(x)) { 2724 | return __bswap_32(x); 2725 | } 2726 | pub inline fn htole32(x: anytype) @TypeOf(__uint32_identity(x)) { 2727 | return __uint32_identity(x); 2728 | } 2729 | pub inline fn be32toh(x: anytype) @TypeOf(__bswap_32(x)) { 2730 | return __bswap_32(x); 2731 | } 2732 | pub inline fn le32toh(x: anytype) @TypeOf(__uint32_identity(x)) { 2733 | return __uint32_identity(x); 2734 | } 2735 | pub inline fn htobe64(x: anytype) @TypeOf(__bswap_64(x)) { 2736 | return __bswap_64(x); 2737 | } 2738 | pub inline fn htole64(x: anytype) @TypeOf(__uint64_identity(x)) { 2739 | return __uint64_identity(x); 2740 | } 2741 | pub inline fn be64toh(x: anytype) @TypeOf(__bswap_64(x)) { 2742 | return __bswap_64(x); 2743 | } 2744 | pub inline fn le64toh(x: anytype) @TypeOf(__uint64_identity(x)) { 2745 | return __uint64_identity(x); 2746 | } 2747 | pub const _SYS_SELECT_H = @as(c_int, 1); 2748 | pub const __FD_ZERO_STOS = "stosq"; 2749 | pub inline fn __FD_ISSET(d: anytype, set: anytype) @TypeOf((__FDS_BITS(set)[@intCast(usize, __FD_ELT(d))] & __FD_MASK(d)) != @as(c_int, 0)) { 2750 | return (__FDS_BITS(set)[@intCast(usize, __FD_ELT(d))] & __FD_MASK(d)) != @as(c_int, 0); 2751 | } 2752 | pub const __sigset_t_defined = @as(c_int, 1); 2753 | pub const ____sigset_t_defined = ""; 2754 | pub const _SIGSET_NWORDS = @import("std").zig.c_translation.MacroArithmetic.div(@as(c_int, 1024), @as(c_int, 8) * @import("std").zig.c_translation.sizeof(c_ulong)); 2755 | pub const __timeval_defined = @as(c_int, 1); 2756 | pub const _STRUCT_TIMESPEC = @as(c_int, 1); 2757 | pub const __suseconds_t_defined = ""; 2758 | pub const __NFDBITS = @as(c_int, 8) * @import("std").zig.c_translation.cast(c_int, @import("std").zig.c_translation.sizeof(__fd_mask)); 2759 | pub inline fn __FD_ELT(d: anytype) @TypeOf(@import("std").zig.c_translation.MacroArithmetic.div(d, __NFDBITS)) { 2760 | return @import("std").zig.c_translation.MacroArithmetic.div(d, __NFDBITS); 2761 | } 2762 | pub inline fn __FD_MASK(d: anytype) __fd_mask { 2763 | return @import("std").zig.c_translation.cast(__fd_mask, @as(c_ulong, 1) << @import("std").zig.c_translation.MacroArithmetic.rem(d, __NFDBITS)); 2764 | } 2765 | pub inline fn __FDS_BITS(set: anytype) @TypeOf(set.*.__fds_bits) { 2766 | return set.*.__fds_bits; 2767 | } 2768 | pub const FD_SETSIZE = __FD_SETSIZE; 2769 | pub const NFDBITS = __NFDBITS; 2770 | pub inline fn FD_SET(fd: anytype, fdsetp: anytype) @TypeOf(__FD_SET(fd, fdsetp)) { 2771 | return __FD_SET(fd, fdsetp); 2772 | } 2773 | pub inline fn FD_CLR(fd: anytype, fdsetp: anytype) @TypeOf(__FD_CLR(fd, fdsetp)) { 2774 | return __FD_CLR(fd, fdsetp); 2775 | } 2776 | pub inline fn FD_ISSET(fd: anytype, fdsetp: anytype) @TypeOf(__FD_ISSET(fd, fdsetp)) { 2777 | return __FD_ISSET(fd, fdsetp); 2778 | } 2779 | pub inline fn FD_ZERO(fdsetp: anytype) @TypeOf(__FD_ZERO(fdsetp)) { 2780 | return __FD_ZERO(fdsetp); 2781 | } 2782 | pub const __blksize_t_defined = ""; 2783 | pub const __blkcnt_t_defined = ""; 2784 | pub const __fsblkcnt_t_defined = ""; 2785 | pub const __fsfilcnt_t_defined = ""; 2786 | pub const _BITS_PTHREADTYPES_COMMON_H = @as(c_int, 1); 2787 | pub const _THREAD_SHARED_TYPES_H = @as(c_int, 1); 2788 | pub const _BITS_PTHREADTYPES_ARCH_H = @as(c_int, 1); 2789 | pub const __SIZEOF_PTHREAD_MUTEX_T = @as(c_int, 40); 2790 | pub const __SIZEOF_PTHREAD_ATTR_T = @as(c_int, 56); 2791 | pub const __SIZEOF_PTHREAD_RWLOCK_T = @as(c_int, 56); 2792 | pub const __SIZEOF_PTHREAD_BARRIER_T = @as(c_int, 32); 2793 | pub const __SIZEOF_PTHREAD_MUTEXATTR_T = @as(c_int, 4); 2794 | pub const __SIZEOF_PTHREAD_COND_T = @as(c_int, 48); 2795 | pub const __SIZEOF_PTHREAD_CONDATTR_T = @as(c_int, 4); 2796 | pub const __SIZEOF_PTHREAD_RWLOCKATTR_T = @as(c_int, 8); 2797 | pub const __SIZEOF_PTHREAD_BARRIERATTR_T = @as(c_int, 4); 2798 | pub const __LOCK_ALIGNMENT = ""; 2799 | pub const __ONCE_ALIGNMENT = ""; 2800 | pub const _THREAD_MUTEX_INTERNAL_H = @as(c_int, 1); 2801 | pub const __PTHREAD_MUTEX_HAVE_PREV = @as(c_int, 1); 2802 | pub const _RWLOCK_INTERNAL_H = ""; 2803 | pub inline fn __PTHREAD_RWLOCK_INITIALIZER(__flags: anytype) @TypeOf(__flags) { 2804 | return blk: { 2805 | _ = @as(c_int, 0); 2806 | _ = @as(c_int, 0); 2807 | _ = @as(c_int, 0); 2808 | _ = @as(c_int, 0); 2809 | _ = @as(c_int, 0); 2810 | _ = @as(c_int, 0); 2811 | _ = @as(c_int, 0); 2812 | _ = @as(c_int, 0); 2813 | _ = @TypeOf(__PTHREAD_RWLOCK_ELISION_EXTRA); 2814 | _ = @as(c_int, 0); 2815 | break :blk __flags; 2816 | }; 2817 | } 2818 | pub const __have_pthread_attr_t = @as(c_int, 1); 2819 | pub const _SYS_STAT_H = @as(c_int, 1); 2820 | pub const _BITS_STAT_H = @as(c_int, 1); 2821 | pub const _STAT_VER_KERNEL = @as(c_int, 0); 2822 | pub const _STAT_VER_LINUX = @as(c_int, 1); 2823 | pub const _MKNOD_VER_LINUX = @as(c_int, 0); 2824 | pub const _STAT_VER = _STAT_VER_LINUX; 2825 | pub const _STATBUF_ST_BLKSIZE = ""; 2826 | pub const _STATBUF_ST_RDEV = ""; 2827 | pub const _STATBUF_ST_NSEC = ""; 2828 | pub const __S_IFMT = @import("std").zig.c_translation.promoteIntLiteral(c_int, 0o170000, .octal); 2829 | pub const __S_IFDIR = @as(c_int, 0o040000); 2830 | pub const __S_IFCHR = @as(c_int, 0o020000); 2831 | pub const __S_IFBLK = @as(c_int, 0o060000); 2832 | pub const __S_IFREG = @import("std").zig.c_translation.promoteIntLiteral(c_int, 0o100000, .octal); 2833 | pub const __S_IFIFO = @as(c_int, 0o010000); 2834 | pub const __S_IFLNK = @import("std").zig.c_translation.promoteIntLiteral(c_int, 0o120000, .octal); 2835 | pub const __S_IFSOCK = @import("std").zig.c_translation.promoteIntLiteral(c_int, 0o140000, .octal); 2836 | pub inline fn __S_TYPEISMQ(buf: anytype) @TypeOf(buf.*.st_mode - buf.*.st_mode) { 2837 | return buf.*.st_mode - buf.*.st_mode; 2838 | } 2839 | pub inline fn __S_TYPEISSEM(buf: anytype) @TypeOf(buf.*.st_mode - buf.*.st_mode) { 2840 | return buf.*.st_mode - buf.*.st_mode; 2841 | } 2842 | pub inline fn __S_TYPEISSHM(buf: anytype) @TypeOf(buf.*.st_mode - buf.*.st_mode) { 2843 | return buf.*.st_mode - buf.*.st_mode; 2844 | } 2845 | pub const __S_ISUID = @as(c_int, 0o4000); 2846 | pub const __S_ISGID = @as(c_int, 0o2000); 2847 | pub const __S_ISVTX = @as(c_int, 0o1000); 2848 | pub const __S_IREAD = @as(c_int, 0o400); 2849 | pub const __S_IWRITE = @as(c_int, 0o200); 2850 | pub const __S_IEXEC = @as(c_int, 0o100); 2851 | pub const UTIME_NOW = (@as(c_long, 1) << @as(c_int, 30)) - @as(c_long, 1); 2852 | pub const UTIME_OMIT = (@as(c_long, 1) << @as(c_int, 30)) - @as(c_long, 2); 2853 | pub const S_IFMT = __S_IFMT; 2854 | pub const S_IFDIR = __S_IFDIR; 2855 | pub const S_IFCHR = __S_IFCHR; 2856 | pub const S_IFBLK = __S_IFBLK; 2857 | pub const S_IFREG = __S_IFREG; 2858 | pub const S_IFIFO = __S_IFIFO; 2859 | pub const S_IFLNK = __S_IFLNK; 2860 | pub const S_IFSOCK = __S_IFSOCK; 2861 | pub inline fn __S_ISTYPE(mode: anytype, mask: anytype) @TypeOf((mode & __S_IFMT) == mask) { 2862 | return (mode & __S_IFMT) == mask; 2863 | } 2864 | pub inline fn S_ISDIR(mode: anytype) @TypeOf(__S_ISTYPE(mode, __S_IFDIR)) { 2865 | return __S_ISTYPE(mode, __S_IFDIR); 2866 | } 2867 | pub inline fn S_ISCHR(mode: anytype) @TypeOf(__S_ISTYPE(mode, __S_IFCHR)) { 2868 | return __S_ISTYPE(mode, __S_IFCHR); 2869 | } 2870 | pub inline fn S_ISBLK(mode: anytype) @TypeOf(__S_ISTYPE(mode, __S_IFBLK)) { 2871 | return __S_ISTYPE(mode, __S_IFBLK); 2872 | } 2873 | pub inline fn S_ISREG(mode: anytype) @TypeOf(__S_ISTYPE(mode, __S_IFREG)) { 2874 | return __S_ISTYPE(mode, __S_IFREG); 2875 | } 2876 | pub inline fn S_ISFIFO(mode: anytype) @TypeOf(__S_ISTYPE(mode, __S_IFIFO)) { 2877 | return __S_ISTYPE(mode, __S_IFIFO); 2878 | } 2879 | pub inline fn S_ISLNK(mode: anytype) @TypeOf(__S_ISTYPE(mode, __S_IFLNK)) { 2880 | return __S_ISTYPE(mode, __S_IFLNK); 2881 | } 2882 | pub inline fn S_ISSOCK(mode: anytype) @TypeOf(__S_ISTYPE(mode, __S_IFSOCK)) { 2883 | return __S_ISTYPE(mode, __S_IFSOCK); 2884 | } 2885 | pub inline fn S_TYPEISMQ(buf: anytype) @TypeOf(__S_TYPEISMQ(buf)) { 2886 | return __S_TYPEISMQ(buf); 2887 | } 2888 | pub inline fn S_TYPEISSEM(buf: anytype) @TypeOf(__S_TYPEISSEM(buf)) { 2889 | return __S_TYPEISSEM(buf); 2890 | } 2891 | pub inline fn S_TYPEISSHM(buf: anytype) @TypeOf(__S_TYPEISSHM(buf)) { 2892 | return __S_TYPEISSHM(buf); 2893 | } 2894 | pub const S_ISUID = __S_ISUID; 2895 | pub const S_ISGID = __S_ISGID; 2896 | pub const S_ISVTX = __S_ISVTX; 2897 | pub const S_IRUSR = __S_IREAD; 2898 | pub const S_IWUSR = __S_IWRITE; 2899 | pub const S_IXUSR = __S_IEXEC; 2900 | pub const S_IRWXU = (__S_IREAD | __S_IWRITE) | __S_IEXEC; 2901 | pub const S_IREAD = S_IRUSR; 2902 | pub const S_IWRITE = S_IWUSR; 2903 | pub const S_IEXEC = S_IXUSR; 2904 | pub const S_IRGRP = S_IRUSR >> @as(c_int, 3); 2905 | pub const S_IWGRP = S_IWUSR >> @as(c_int, 3); 2906 | pub const S_IXGRP = S_IXUSR >> @as(c_int, 3); 2907 | pub const S_IRWXG = S_IRWXU >> @as(c_int, 3); 2908 | pub const S_IROTH = S_IRGRP >> @as(c_int, 3); 2909 | pub const S_IWOTH = S_IWGRP >> @as(c_int, 3); 2910 | pub const S_IXOTH = S_IXGRP >> @as(c_int, 3); 2911 | pub const S_IRWXO = S_IRWXG >> @as(c_int, 3); 2912 | pub const ACCESSPERMS = (S_IRWXU | S_IRWXG) | S_IRWXO; 2913 | pub const ALLPERMS = ((((S_ISUID | S_ISGID) | S_ISVTX) | S_IRWXU) | S_IRWXG) | S_IRWXO; 2914 | pub const DEFFILEMODE = ((((S_IRUSR | S_IWUSR) | S_IRGRP) | S_IWGRP) | S_IROTH) | S_IWOTH; 2915 | pub const S_BLKSIZE = @as(c_int, 512); 2916 | pub const _MKNOD_VER = @as(c_int, 0); 2917 | pub const LIBSQUASH_MUTEX_H = ""; 2918 | pub const _PTHREAD_H = @as(c_int, 1); 2919 | pub const _SCHED_H = @as(c_int, 1); 2920 | pub const _BITS_SCHED_H = @as(c_int, 1); 2921 | pub const SCHED_OTHER = @as(c_int, 0); 2922 | pub const SCHED_FIFO = @as(c_int, 1); 2923 | pub const SCHED_RR = @as(c_int, 2); 2924 | pub const _BITS_TYPES_STRUCT_SCHED_PARAM = @as(c_int, 1); 2925 | pub const _BITS_CPU_SET_H = @as(c_int, 1); 2926 | pub const __CPU_SETSIZE = @as(c_int, 1024); 2927 | pub const __NCPUBITS = @as(c_int, 8) * @import("std").zig.c_translation.sizeof(__cpu_mask); 2928 | pub inline fn __CPUELT(cpu: anytype) @TypeOf(@import("std").zig.c_translation.MacroArithmetic.div(cpu, __NCPUBITS)) { 2929 | return @import("std").zig.c_translation.MacroArithmetic.div(cpu, __NCPUBITS); 2930 | } 2931 | pub inline fn __CPUMASK(cpu: anytype) @TypeOf(@import("std").zig.c_translation.cast(__cpu_mask, @as(c_int, 1)) << @import("std").zig.c_translation.MacroArithmetic.rem(cpu, __NCPUBITS)) { 2932 | return @import("std").zig.c_translation.cast(__cpu_mask, @as(c_int, 1)) << @import("std").zig.c_translation.MacroArithmetic.rem(cpu, __NCPUBITS); 2933 | } 2934 | pub inline fn __CPU_COUNT_S(setsize: anytype, cpusetp: anytype) @TypeOf(__sched_cpucount(setsize, cpusetp)) { 2935 | return __sched_cpucount(setsize, cpusetp); 2936 | } 2937 | pub inline fn __CPU_ALLOC_SIZE(count: anytype) @TypeOf(@import("std").zig.c_translation.MacroArithmetic.div((count + __NCPUBITS) - @as(c_int, 1), __NCPUBITS) * @import("std").zig.c_translation.sizeof(__cpu_mask)) { 2938 | return @import("std").zig.c_translation.MacroArithmetic.div((count + __NCPUBITS) - @as(c_int, 1), __NCPUBITS) * @import("std").zig.c_translation.sizeof(__cpu_mask); 2939 | } 2940 | pub inline fn __CPU_ALLOC(count: anytype) @TypeOf(__sched_cpualloc(count)) { 2941 | return __sched_cpualloc(count); 2942 | } 2943 | pub inline fn __CPU_FREE(cpuset: anytype) @TypeOf(__sched_cpufree(cpuset)) { 2944 | return __sched_cpufree(cpuset); 2945 | } 2946 | pub const _TIME_H = @as(c_int, 1); 2947 | pub const _BITS_TIME_H = @as(c_int, 1); 2948 | pub const CLOCKS_PER_SEC = @import("std").zig.c_translation.cast(__clock_t, @import("std").zig.c_translation.promoteIntLiteral(c_int, 1000000, .decimal)); 2949 | pub const CLOCK_REALTIME = @as(c_int, 0); 2950 | pub const CLOCK_MONOTONIC = @as(c_int, 1); 2951 | pub const CLOCK_PROCESS_CPUTIME_ID = @as(c_int, 2); 2952 | pub const CLOCK_THREAD_CPUTIME_ID = @as(c_int, 3); 2953 | pub const CLOCK_MONOTONIC_RAW = @as(c_int, 4); 2954 | pub const CLOCK_REALTIME_COARSE = @as(c_int, 5); 2955 | pub const CLOCK_MONOTONIC_COARSE = @as(c_int, 6); 2956 | pub const CLOCK_BOOTTIME = @as(c_int, 7); 2957 | pub const CLOCK_REALTIME_ALARM = @as(c_int, 8); 2958 | pub const CLOCK_BOOTTIME_ALARM = @as(c_int, 9); 2959 | pub const CLOCK_TAI = @as(c_int, 11); 2960 | pub const TIMER_ABSTIME = @as(c_int, 1); 2961 | pub const __struct_tm_defined = @as(c_int, 1); 2962 | pub const __itimerspec_defined = @as(c_int, 1); 2963 | pub const TIME_UTC = @as(c_int, 1); 2964 | pub inline fn __isleap(year: anytype) @TypeOf((@import("std").zig.c_translation.MacroArithmetic.rem(year, @as(c_int, 4)) == @as(c_int, 0)) and ((@import("std").zig.c_translation.MacroArithmetic.rem(year, @as(c_int, 100)) != @as(c_int, 0)) or (@import("std").zig.c_translation.MacroArithmetic.rem(year, @as(c_int, 400)) == @as(c_int, 0)))) { 2965 | return (@import("std").zig.c_translation.MacroArithmetic.rem(year, @as(c_int, 4)) == @as(c_int, 0)) and ((@import("std").zig.c_translation.MacroArithmetic.rem(year, @as(c_int, 100)) != @as(c_int, 0)) or (@import("std").zig.c_translation.MacroArithmetic.rem(year, @as(c_int, 400)) == @as(c_int, 0))); 2966 | } 2967 | pub const _BITS_SETJMP_H = @as(c_int, 1); 2968 | pub const PTHREAD_CANCELED = @import("std").zig.c_translation.cast(?*anyopaque, -@as(c_int, 1)); 2969 | pub const PTHREAD_ONCE_INIT = @as(c_int, 0); 2970 | pub const PTHREAD_BARRIER_SERIAL_THREAD = -@as(c_int, 1); 2971 | pub const __cleanup_fct_attribute = ""; 2972 | pub const MUTEX = pthread_mutex_t; 2973 | pub const _SYS_DIR_H = @as(c_int, 1); 2974 | pub const _DIRENT_H = @as(c_int, 1); 2975 | pub const _DIRENT_HAVE_D_RECLEN = ""; 2976 | pub const _DIRENT_HAVE_D_OFF = ""; 2977 | pub const _DIRENT_HAVE_D_TYPE = ""; 2978 | pub const _DIRENT_MATCHES_DIRENT64 = @as(c_int, 1); 2979 | pub inline fn _D_EXACT_NAMLEN(d: anytype) @TypeOf(strlen(d.*.d_name)) { 2980 | return strlen(d.*.d_name); 2981 | } 2982 | pub inline fn _D_ALLOC_NAMLEN(d: anytype) @TypeOf((@import("std").zig.c_translation.cast([*c]u8, d) + d.*.d_reclen) - (&d.*.d_name[@intCast(usize, @as(c_int, 0))])) { 2983 | return (@import("std").zig.c_translation.cast([*c]u8, d) + d.*.d_reclen) - (&d.*.d_name[@intCast(usize, @as(c_int, 0))]); 2984 | } 2985 | pub inline fn IFTODT(mode: anytype) @TypeOf((mode & @import("std").zig.c_translation.promoteIntLiteral(c_int, 0o170000, .octal)) >> @as(c_int, 12)) { 2986 | return (mode & @import("std").zig.c_translation.promoteIntLiteral(c_int, 0o170000, .octal)) >> @as(c_int, 12); 2987 | } 2988 | pub inline fn DTTOIF(dirtype: anytype) @TypeOf(dirtype << @as(c_int, 12)) { 2989 | return dirtype << @as(c_int, 12); 2990 | } 2991 | pub const _BITS_POSIX1_LIM_H = @as(c_int, 1); 2992 | pub const _POSIX_AIO_LISTIO_MAX = @as(c_int, 2); 2993 | pub const _POSIX_AIO_MAX = @as(c_int, 1); 2994 | pub const _POSIX_ARG_MAX = @as(c_int, 4096); 2995 | pub const _POSIX_CHILD_MAX = @as(c_int, 25); 2996 | pub const _POSIX_DELAYTIMER_MAX = @as(c_int, 32); 2997 | pub const _POSIX_HOST_NAME_MAX = @as(c_int, 255); 2998 | pub const _POSIX_LINK_MAX = @as(c_int, 8); 2999 | pub const _POSIX_LOGIN_NAME_MAX = @as(c_int, 9); 3000 | pub const _POSIX_MAX_CANON = @as(c_int, 255); 3001 | pub const _POSIX_MAX_INPUT = @as(c_int, 255); 3002 | pub const _POSIX_MQ_OPEN_MAX = @as(c_int, 8); 3003 | pub const _POSIX_MQ_PRIO_MAX = @as(c_int, 32); 3004 | pub const _POSIX_NAME_MAX = @as(c_int, 14); 3005 | pub const _POSIX_NGROUPS_MAX = @as(c_int, 8); 3006 | pub const _POSIX_OPEN_MAX = @as(c_int, 20); 3007 | pub const _POSIX_PATH_MAX = @as(c_int, 256); 3008 | pub const _POSIX_PIPE_BUF = @as(c_int, 512); 3009 | pub const _POSIX_RE_DUP_MAX = @as(c_int, 255); 3010 | pub const _POSIX_RTSIG_MAX = @as(c_int, 8); 3011 | pub const _POSIX_SEM_NSEMS_MAX = @as(c_int, 256); 3012 | pub const _POSIX_SEM_VALUE_MAX = @as(c_int, 32767); 3013 | pub const _POSIX_SIGQUEUE_MAX = @as(c_int, 32); 3014 | pub const _POSIX_SSIZE_MAX = @as(c_int, 32767); 3015 | pub const _POSIX_STREAM_MAX = @as(c_int, 8); 3016 | pub const _POSIX_SYMLINK_MAX = @as(c_int, 255); 3017 | pub const _POSIX_SYMLOOP_MAX = @as(c_int, 8); 3018 | pub const _POSIX_TIMER_MAX = @as(c_int, 32); 3019 | pub const _POSIX_TTY_NAME_MAX = @as(c_int, 9); 3020 | pub const _POSIX_TZNAME_MAX = @as(c_int, 6); 3021 | pub const _POSIX_CLOCKRES_MIN = @import("std").zig.c_translation.promoteIntLiteral(c_int, 20000000, .decimal); 3022 | pub const __undef_NR_OPEN = ""; 3023 | pub const __undef_LINK_MAX = ""; 3024 | pub const __undef_OPEN_MAX = ""; 3025 | pub const __undef_ARG_MAX = ""; 3026 | pub const _LINUX_LIMITS_H = ""; 3027 | pub const NR_OPEN = @as(c_int, 1024); 3028 | pub const NGROUPS_MAX = @import("std").zig.c_translation.promoteIntLiteral(c_int, 65536, .decimal); 3029 | pub const ARG_MAX = @import("std").zig.c_translation.promoteIntLiteral(c_int, 131072, .decimal); 3030 | pub const LINK_MAX = @as(c_int, 127); 3031 | pub const MAX_CANON = @as(c_int, 255); 3032 | pub const MAX_INPUT = @as(c_int, 255); 3033 | pub const NAME_MAX = @as(c_int, 255); 3034 | pub const PATH_MAX = @as(c_int, 4096); 3035 | pub const PIPE_BUF = @as(c_int, 4096); 3036 | pub const XATTR_NAME_MAX = @as(c_int, 255); 3037 | pub const XATTR_SIZE_MAX = @import("std").zig.c_translation.promoteIntLiteral(c_int, 65536, .decimal); 3038 | pub const XATTR_LIST_MAX = @import("std").zig.c_translation.promoteIntLiteral(c_int, 65536, .decimal); 3039 | pub const RTSIG_MAX = @as(c_int, 32); 3040 | pub const _POSIX_THREAD_KEYS_MAX = @as(c_int, 128); 3041 | pub const PTHREAD_KEYS_MAX = @as(c_int, 1024); 3042 | pub const _POSIX_THREAD_DESTRUCTOR_ITERATIONS = @as(c_int, 4); 3043 | pub const PTHREAD_DESTRUCTOR_ITERATIONS = _POSIX_THREAD_DESTRUCTOR_ITERATIONS; 3044 | pub const _POSIX_THREAD_THREADS_MAX = @as(c_int, 64); 3045 | pub const AIO_PRIO_DELTA_MAX = @as(c_int, 20); 3046 | pub const PTHREAD_STACK_MIN = @as(c_int, 16384); 3047 | pub const DELAYTIMER_MAX = @import("std").zig.c_translation.promoteIntLiteral(c_int, 2147483647, .decimal); 3048 | pub const TTY_NAME_MAX = @as(c_int, 32); 3049 | pub const LOGIN_NAME_MAX = @as(c_int, 256); 3050 | pub const HOST_NAME_MAX = @as(c_int, 64); 3051 | pub const MQ_PRIO_MAX = @import("std").zig.c_translation.promoteIntLiteral(c_int, 32768, .decimal); 3052 | pub const SEM_VALUE_MAX = @import("std").zig.c_translation.promoteIntLiteral(c_int, 2147483647, .decimal); 3053 | pub const MAXNAMLEN = NAME_MAX; 3054 | pub const direct = dirent; 3055 | pub const _UNISTD_H = @as(c_int, 1); 3056 | pub const _POSIX_VERSION = @as(c_long, 200809); 3057 | pub const __POSIX2_THIS_VERSION = @as(c_long, 200809); 3058 | pub const _POSIX2_VERSION = __POSIX2_THIS_VERSION; 3059 | pub const _POSIX2_C_VERSION = __POSIX2_THIS_VERSION; 3060 | pub const _POSIX2_C_BIND = __POSIX2_THIS_VERSION; 3061 | pub const _POSIX2_C_DEV = __POSIX2_THIS_VERSION; 3062 | pub const _POSIX2_SW_DEV = __POSIX2_THIS_VERSION; 3063 | pub const _POSIX2_LOCALEDEF = __POSIX2_THIS_VERSION; 3064 | pub const _XOPEN_VERSION = @as(c_int, 700); 3065 | pub const _XOPEN_XCU_VERSION = @as(c_int, 4); 3066 | pub const _XOPEN_XPG2 = @as(c_int, 1); 3067 | pub const _XOPEN_XPG3 = @as(c_int, 1); 3068 | pub const _XOPEN_XPG4 = @as(c_int, 1); 3069 | pub const _XOPEN_UNIX = @as(c_int, 1); 3070 | pub const _XOPEN_ENH_I18N = @as(c_int, 1); 3071 | pub const _XOPEN_LEGACY = @as(c_int, 1); 3072 | pub const _BITS_POSIX_OPT_H = @as(c_int, 1); 3073 | pub const _POSIX_JOB_CONTROL = @as(c_int, 1); 3074 | pub const _POSIX_SAVED_IDS = @as(c_int, 1); 3075 | pub const _POSIX_PRIORITY_SCHEDULING = @as(c_long, 200809); 3076 | pub const _POSIX_SYNCHRONIZED_IO = @as(c_long, 200809); 3077 | pub const _POSIX_FSYNC = @as(c_long, 200809); 3078 | pub const _POSIX_MAPPED_FILES = @as(c_long, 200809); 3079 | pub const _POSIX_MEMLOCK = @as(c_long, 200809); 3080 | pub const _POSIX_MEMLOCK_RANGE = @as(c_long, 200809); 3081 | pub const _POSIX_MEMORY_PROTECTION = @as(c_long, 200809); 3082 | pub const _POSIX_CHOWN_RESTRICTED = @as(c_int, 0); 3083 | pub const _POSIX_VDISABLE = '\x00'; 3084 | pub const _POSIX_NO_TRUNC = @as(c_int, 1); 3085 | pub const _XOPEN_REALTIME = @as(c_int, 1); 3086 | pub const _XOPEN_REALTIME_THREADS = @as(c_int, 1); 3087 | pub const _XOPEN_SHM = @as(c_int, 1); 3088 | pub const _POSIX_THREADS = @as(c_long, 200809); 3089 | pub const _POSIX_REENTRANT_FUNCTIONS = @as(c_int, 1); 3090 | pub const _POSIX_THREAD_SAFE_FUNCTIONS = @as(c_long, 200809); 3091 | pub const _POSIX_THREAD_PRIORITY_SCHEDULING = @as(c_long, 200809); 3092 | pub const _POSIX_THREAD_ATTR_STACKSIZE = @as(c_long, 200809); 3093 | pub const _POSIX_THREAD_ATTR_STACKADDR = @as(c_long, 200809); 3094 | pub const _POSIX_THREAD_PRIO_INHERIT = @as(c_long, 200809); 3095 | pub const _POSIX_THREAD_PRIO_PROTECT = @as(c_long, 200809); 3096 | pub const _POSIX_THREAD_ROBUST_PRIO_INHERIT = @as(c_long, 200809); 3097 | pub const _POSIX_THREAD_ROBUST_PRIO_PROTECT = -@as(c_int, 1); 3098 | pub const _POSIX_SEMAPHORES = @as(c_long, 200809); 3099 | pub const _POSIX_REALTIME_SIGNALS = @as(c_long, 200809); 3100 | pub const _POSIX_ASYNCHRONOUS_IO = @as(c_long, 200809); 3101 | pub const _POSIX_ASYNC_IO = @as(c_int, 1); 3102 | pub const _LFS_ASYNCHRONOUS_IO = @as(c_int, 1); 3103 | pub const _POSIX_PRIORITIZED_IO = @as(c_long, 200809); 3104 | pub const _LFS64_ASYNCHRONOUS_IO = @as(c_int, 1); 3105 | pub const _LFS_LARGEFILE = @as(c_int, 1); 3106 | pub const _LFS64_LARGEFILE = @as(c_int, 1); 3107 | pub const _LFS64_STDIO = @as(c_int, 1); 3108 | pub const _POSIX_SHARED_MEMORY_OBJECTS = @as(c_long, 200809); 3109 | pub const _POSIX_CPUTIME = @as(c_int, 0); 3110 | pub const _POSIX_THREAD_CPUTIME = @as(c_int, 0); 3111 | pub const _POSIX_REGEXP = @as(c_int, 1); 3112 | pub const _POSIX_READER_WRITER_LOCKS = @as(c_long, 200809); 3113 | pub const _POSIX_SHELL = @as(c_int, 1); 3114 | pub const _POSIX_TIMEOUTS = @as(c_long, 200809); 3115 | pub const _POSIX_SPIN_LOCKS = @as(c_long, 200809); 3116 | pub const _POSIX_SPAWN = @as(c_long, 200809); 3117 | pub const _POSIX_TIMERS = @as(c_long, 200809); 3118 | pub const _POSIX_BARRIERS = @as(c_long, 200809); 3119 | pub const _POSIX_MESSAGE_PASSING = @as(c_long, 200809); 3120 | pub const _POSIX_THREAD_PROCESS_SHARED = @as(c_long, 200809); 3121 | pub const _POSIX_MONOTONIC_CLOCK = @as(c_int, 0); 3122 | pub const _POSIX_CLOCK_SELECTION = @as(c_long, 200809); 3123 | pub const _POSIX_ADVISORY_INFO = @as(c_long, 200809); 3124 | pub const _POSIX_IPV6 = @as(c_long, 200809); 3125 | pub const _POSIX_RAW_SOCKETS = @as(c_long, 200809); 3126 | pub const _POSIX2_CHAR_TERM = @as(c_long, 200809); 3127 | pub const _POSIX_SPORADIC_SERVER = -@as(c_int, 1); 3128 | pub const _POSIX_THREAD_SPORADIC_SERVER = -@as(c_int, 1); 3129 | pub const _POSIX_TRACE = -@as(c_int, 1); 3130 | pub const _POSIX_TRACE_EVENT_FILTER = -@as(c_int, 1); 3131 | pub const _POSIX_TRACE_INHERIT = -@as(c_int, 1); 3132 | pub const _POSIX_TRACE_LOG = -@as(c_int, 1); 3133 | pub const _POSIX_TYPED_MEMORY_OBJECTS = -@as(c_int, 1); 3134 | pub const _POSIX_V7_LPBIG_OFFBIG = -@as(c_int, 1); 3135 | pub const _POSIX_V6_LPBIG_OFFBIG = -@as(c_int, 1); 3136 | pub const _XBS5_LPBIG_OFFBIG = -@as(c_int, 1); 3137 | pub const _POSIX_V7_LP64_OFF64 = @as(c_int, 1); 3138 | pub const _POSIX_V6_LP64_OFF64 = @as(c_int, 1); 3139 | pub const _XBS5_LP64_OFF64 = @as(c_int, 1); 3140 | pub const __ILP32_OFF32_CFLAGS = "-m32"; 3141 | pub const __ILP32_OFF32_LDFLAGS = "-m32"; 3142 | pub const __ILP32_OFFBIG_CFLAGS = "-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"; 3143 | pub const __ILP32_OFFBIG_LDFLAGS = "-m32"; 3144 | pub const __LP64_OFF64_CFLAGS = "-m64"; 3145 | pub const __LP64_OFF64_LDFLAGS = "-m64"; 3146 | pub const STDIN_FILENO = @as(c_int, 0); 3147 | pub const STDOUT_FILENO = @as(c_int, 1); 3148 | pub const STDERR_FILENO = @as(c_int, 2); 3149 | pub const __useconds_t_defined = ""; 3150 | pub const __socklen_t_defined = ""; 3151 | pub const R_OK = @as(c_int, 4); 3152 | pub const W_OK = @as(c_int, 2); 3153 | pub const X_OK = @as(c_int, 1); 3154 | pub const F_OK = @as(c_int, 0); 3155 | pub const SEEK_SET = @as(c_int, 0); 3156 | pub const SEEK_CUR = @as(c_int, 1); 3157 | pub const SEEK_END = @as(c_int, 2); 3158 | pub const L_SET = SEEK_SET; 3159 | pub const L_INCR = SEEK_CUR; 3160 | pub const L_XTND = SEEK_END; 3161 | pub const _SC_PAGE_SIZE = _SC_PAGESIZE; 3162 | pub const _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS = _CS_V6_WIDTH_RESTRICTED_ENVS; 3163 | pub const _CS_POSIX_V5_WIDTH_RESTRICTED_ENVS = _CS_V5_WIDTH_RESTRICTED_ENVS; 3164 | pub const _CS_POSIX_V7_WIDTH_RESTRICTED_ENVS = _CS_V7_WIDTH_RESTRICTED_ENVS; 3165 | pub const _GETOPT_POSIX_H = @as(c_int, 1); 3166 | pub const _GETOPT_CORE_H = @as(c_int, 1); 3167 | pub const F_ULOCK = @as(c_int, 0); 3168 | pub const F_LOCK = @as(c_int, 1); 3169 | pub const F_TLOCK = @as(c_int, 2); 3170 | pub const F_TEST = @as(c_int, 3); 3171 | pub const SQUASH_DIRENT = dirent; 3172 | pub const SQFS_INODE_ID_BYTES = @as(c_int, 6); 3173 | pub const SQUASHFS_FS = ""; 3174 | pub const _LINUX_TYPES_H = ""; 3175 | pub const _ASM_GENERIC_TYPES_H = ""; 3176 | pub const _ASM_GENERIC_INT_LL64_H = ""; 3177 | pub const __ASM_X86_BITSPERLONG_H = ""; 3178 | pub const __BITS_PER_LONG = @as(c_int, 64); 3179 | pub const __ASM_GENERIC_BITS_PER_LONG = ""; 3180 | pub const _LINUX_POSIX_TYPES_H = ""; 3181 | pub const _LINUX_STDDEF_H = ""; 3182 | pub const _ASM_X86_POSIX_TYPES_64_H = ""; 3183 | pub const __ASM_GENERIC_POSIX_TYPES_H = ""; 3184 | pub const __bitwise__ = ""; 3185 | pub const __bitwise = __bitwise__; 3186 | pub const SQUASHFS_MAGIC = @import("std").zig.c_translation.promoteIntLiteral(c_int, 0x73717368, .hexadecimal); 3187 | pub const SQUASHFS_MAJOR = @as(c_int, 4); 3188 | pub const SQUASHFS_MINOR = @as(c_int, 0); 3189 | pub const SQUASHFS_START = @as(c_int, 0); 3190 | pub const SQUASHFS_METADATA_SIZE = @as(c_int, 8192); 3191 | pub const SQUASHFS_METADATA_LOG = @as(c_int, 13); 3192 | pub const SQUASHFS_FILE_SIZE = @import("std").zig.c_translation.promoteIntLiteral(c_int, 131072, .decimal); 3193 | pub const SQUASHFS_FILE_LOG = @as(c_int, 17); 3194 | pub const SQUASHFS_FILE_MAX_SIZE = @import("std").zig.c_translation.promoteIntLiteral(c_int, 1048576, .decimal); 3195 | pub const SQUASHFS_FILE_MAX_LOG = @as(c_int, 20); 3196 | pub const SQUASHFS_IDS = @import("std").zig.c_translation.promoteIntLiteral(c_int, 65536, .decimal); 3197 | pub const SQUASHFS_NAME_LEN = @as(c_int, 256); 3198 | pub const SQUASHFS_PATH_LEN = @as(c_int, 2048); 3199 | pub const SQUASHFS_MAX_LINK_LEVEL = @as(c_int, 32); 3200 | pub const SQUASHFS_INVALID_FRAG = @import("std").zig.c_translation.promoteIntLiteral(c_uint, 0xffffffff, .hexadecimal); 3201 | pub const SQUASHFS_INVALID_XATTR = @import("std").zig.c_translation.promoteIntLiteral(c_uint, 0xffffffff, .hexadecimal); 3202 | pub const SQUASHFS_INVALID_BLK = @import("std").zig.c_translation.cast(i64, -@as(c_int, 1)); 3203 | pub const SQUASHFS_NOI = @as(c_int, 0); 3204 | pub const SQUASHFS_NOD = @as(c_int, 1); 3205 | pub const SQUASHFS_NOF = @as(c_int, 3); 3206 | pub const SQUASHFS_NO_FRAG = @as(c_int, 4); 3207 | pub const SQUASHFS_ALWAYS_FRAG = @as(c_int, 5); 3208 | pub const SQUASHFS_DUPLICATE = @as(c_int, 6); 3209 | pub const SQUASHFS_EXPORT = @as(c_int, 7); 3210 | pub const SQUASHFS_COMP_OPT = @as(c_int, 10); 3211 | pub const SQUASHFS_DIR_TYPE = @as(c_int, 1); 3212 | pub const SQUASHFS_REG_TYPE = @as(c_int, 2); 3213 | pub const SQUASHFS_SYMLINK_TYPE = @as(c_int, 3); 3214 | pub const SQUASHFS_BLKDEV_TYPE = @as(c_int, 4); 3215 | pub const SQUASHFS_CHRDEV_TYPE = @as(c_int, 5); 3216 | pub const SQUASHFS_FIFO_TYPE = @as(c_int, 6); 3217 | pub const SQUASHFS_SOCKET_TYPE = @as(c_int, 7); 3218 | pub const SQUASHFS_LDIR_TYPE = @as(c_int, 8); 3219 | pub const SQUASHFS_LREG_TYPE = @as(c_int, 9); 3220 | pub const SQUASHFS_LSYMLINK_TYPE = @as(c_int, 10); 3221 | pub const SQUASHFS_LBLKDEV_TYPE = @as(c_int, 11); 3222 | pub const SQUASHFS_LCHRDEV_TYPE = @as(c_int, 12); 3223 | pub const SQUASHFS_LFIFO_TYPE = @as(c_int, 13); 3224 | pub const SQUASHFS_LSOCKET_TYPE = @as(c_int, 14); 3225 | pub const SQUASHFS_XATTR_USER = @as(c_int, 0); 3226 | pub const SQUASHFS_XATTR_TRUSTED = @as(c_int, 1); 3227 | pub const SQUASHFS_XATTR_SECURITY = @as(c_int, 2); 3228 | pub const SQUASHFS_XATTR_VALUE_OOL = @as(c_int, 256); 3229 | pub const SQUASHFS_XATTR_PREFIX_MASK = @as(c_int, 0xff); 3230 | pub const SQUASHFS_COMPRESSED_BIT = @as(c_int, 1) << @as(c_int, 15); 3231 | pub const SQUASHFS_COMPRESSED_BIT_BLOCK = @as(c_int, 1) << @as(c_int, 24); 3232 | pub const SQUASHFS_CACHED_BLKS = @as(c_int, 8); 3233 | pub const SQUASHFS_MAX_FILE_SIZE_LOG = @as(c_int, 64); 3234 | pub const SQUASHFS_MAX_FILE_SIZE = @as(c_longlong, 1) << (SQUASHFS_MAX_FILE_SIZE_LOG - @as(c_int, 2)); 3235 | pub const SQUASHFS_META_INDEXES = @import("std").zig.c_translation.MacroArithmetic.div(SQUASHFS_METADATA_SIZE, @import("std").zig.c_translation.sizeof(c_uint)); 3236 | pub const SQUASHFS_META_ENTRIES = @as(c_int, 127); 3237 | pub const SQUASHFS_META_SLOTS = @as(c_int, 8); 3238 | pub const ZLIB_COMPRESSION = @as(c_int, 1); 3239 | pub const SQFS_FILE_H = ""; 3240 | pub const SQFS_CACHE_H = ""; 3241 | pub const SQFS_CACHE_IDX_INVALID = @as(c_int, 0); 3242 | pub const SQFS_FS_H = ""; 3243 | pub const SQFS_DECOMPRESS_H = ""; 3244 | pub const SQFS_COMP_UNKNOWN = @as(c_int, 0); 3245 | pub const SQFS_COMP_MAX = @as(c_int, 16); 3246 | pub const SQFS_TABLE_H = ""; 3247 | pub const SQFS_TRAVERSE_H = ""; 3248 | pub const SQFS_STACK_H = ""; 3249 | pub const SQFS_UTIL_H = ""; 3250 | pub const _STDIO_H = @as(c_int, 1); 3251 | pub const __need___va_list = ""; 3252 | pub const __STDARG_H = ""; 3253 | pub const _VA_LIST = ""; 3254 | pub const __GNUC_VA_LIST = @as(c_int, 1); 3255 | pub const _____fpos_t_defined = @as(c_int, 1); 3256 | pub const ____mbstate_t_defined = @as(c_int, 1); 3257 | pub const _____fpos64_t_defined = @as(c_int, 1); 3258 | pub const ____FILE_defined = @as(c_int, 1); 3259 | pub const __FILE_defined = @as(c_int, 1); 3260 | pub const __struct_FILE_defined = @as(c_int, 1); 3261 | pub const _IO_EOF_SEEN = @as(c_int, 0x0010); 3262 | pub inline fn __feof_unlocked_body(_fp: anytype) @TypeOf((_fp.*._flags & _IO_EOF_SEEN) != @as(c_int, 0)) { 3263 | return (_fp.*._flags & _IO_EOF_SEEN) != @as(c_int, 0); 3264 | } 3265 | pub const _IO_ERR_SEEN = @as(c_int, 0x0020); 3266 | pub inline fn __ferror_unlocked_body(_fp: anytype) @TypeOf((_fp.*._flags & _IO_ERR_SEEN) != @as(c_int, 0)) { 3267 | return (_fp.*._flags & _IO_ERR_SEEN) != @as(c_int, 0); 3268 | } 3269 | pub const _IO_USER_LOCK = @import("std").zig.c_translation.promoteIntLiteral(c_int, 0x8000, .hexadecimal); 3270 | pub const _VA_LIST_DEFINED = ""; 3271 | pub const _IOFBF = @as(c_int, 0); 3272 | pub const _IOLBF = @as(c_int, 1); 3273 | pub const _IONBF = @as(c_int, 2); 3274 | pub const BUFSIZ = @as(c_int, 8192); 3275 | pub const EOF = -@as(c_int, 1); 3276 | pub const P_tmpdir = "/tmp"; 3277 | pub const _BITS_STDIO_LIM_H = @as(c_int, 1); 3278 | pub const L_tmpnam = @as(c_int, 20); 3279 | pub const TMP_MAX = @import("std").zig.c_translation.promoteIntLiteral(c_int, 238328, .decimal); 3280 | pub const FILENAME_MAX = @as(c_int, 4096); 3281 | pub const L_ctermid = @as(c_int, 9); 3282 | pub const FOPEN_MAX = @as(c_int, 16); 3283 | pub const SQFS_PRIVATE_H = ""; 3284 | pub const FDTABLE_H_60F13289 = ""; 3285 | pub const DIRENT_H_245C4278 = ""; 3286 | pub const SQUASH_DIR_MAGIC_LEN = @as(c_int, 18); 3287 | pub const MAX_DIR_ENT = @as(c_int, 1024); 3288 | pub const SQUASH_SEEK_SET = @as(c_int, 0); 3289 | pub const SQUASH_SEEK_CUR = @as(c_int, 1); 3290 | pub const SQUASH_SEEK_END = @as(c_int, 2); 3291 | pub inline fn SQUASH_VALID_VFD(vfd: anytype) @TypeOf((vfd < squash_global_fdtable.nr) and (NULL != squash_global_fdtable.fds[@intCast(usize, vfd)])) { 3292 | return (vfd < squash_global_fdtable.nr) and (NULL != squash_global_fdtable.fds[@intCast(usize, vfd)]); 3293 | } 3294 | pub inline fn SQUASH_VFD_FILE(vfd: anytype) @TypeOf(squash_global_fdtable.fds[@intCast(usize, vfd)]) { 3295 | return squash_global_fdtable.fds[@intCast(usize, vfd)]; 3296 | } 3297 | pub const __locale_data = struct___locale_data; 3298 | pub const __locale_struct = struct___locale_struct; 3299 | pub const timeval = struct_timeval; 3300 | pub const timespec = struct_timespec; 3301 | pub const __pthread_internal_list = struct___pthread_internal_list; 3302 | pub const __pthread_internal_slist = struct___pthread_internal_slist; 3303 | pub const __pthread_mutex_s = struct___pthread_mutex_s; 3304 | pub const __pthread_rwlock_arch_t = struct___pthread_rwlock_arch_t; 3305 | pub const __pthread_cond_s = struct___pthread_cond_s; 3306 | pub const sched_param = struct_sched_param; 3307 | pub const tm = struct_tm; 3308 | pub const itimerspec = struct_itimerspec; 3309 | pub const sigevent = struct_sigevent; 3310 | pub const _pthread_cleanup_buffer = struct__pthread_cleanup_buffer; 3311 | pub const __pthread_cleanup_frame = struct___pthread_cleanup_frame; 3312 | pub const __jmp_buf_tag = struct___jmp_buf_tag; 3313 | pub const dirent = struct_dirent; 3314 | pub const __dirstream = struct___dirstream; 3315 | pub const squashfs_super_block = struct_squashfs_super_block; 3316 | pub const squashfs_base_inode = struct_squashfs_base_inode; 3317 | pub const squashfs_dir_index = struct_squashfs_dir_index; 3318 | pub const squashfs_ipc_inode = struct_squashfs_ipc_inode; 3319 | pub const squashfs_lipc_inode = struct_squashfs_lipc_inode; 3320 | pub const squashfs_dev_inode = struct_squashfs_dev_inode; 3321 | pub const squashfs_ldev_inode = struct_squashfs_ldev_inode; 3322 | pub const squashfs_symlink_inode = struct_squashfs_symlink_inode; 3323 | pub const squashfs_reg_inode = struct_squashfs_reg_inode; 3324 | pub const squashfs_lreg_inode = struct_squashfs_lreg_inode; 3325 | pub const squashfs_dir_inode = struct_squashfs_dir_inode; 3326 | pub const squashfs_ldir_inode = struct_squashfs_ldir_inode; 3327 | pub const squashfs_dir_entry = struct_squashfs_dir_entry; 3328 | pub const squashfs_dir_header = struct_squashfs_dir_header; 3329 | pub const squashfs_fragment_entry = struct_squashfs_fragment_entry; 3330 | pub const squashfs_xattr_entry = struct_squashfs_xattr_entry; 3331 | pub const squashfs_xattr_val = struct_squashfs_xattr_val; 3332 | pub const squashfs_xattr_id = struct_squashfs_xattr_id; 3333 | pub const squashfs_xattr_id_table = struct_squashfs_xattr_id_table; 3334 | pub const __va_list_tag = struct___va_list_tag; 3335 | pub const _G_fpos_t = struct__G_fpos_t; 3336 | pub const _G_fpos64_t = struct__G_fpos64_t; 3337 | pub const _IO_marker = struct__IO_marker; 3338 | pub const _IO_codecvt = struct__IO_codecvt; 3339 | pub const _IO_wide_data = struct__IO_wide_data; 3340 | pub const _IO_FILE = struct__IO_FILE; 3341 | pub const squash_file = struct_squash_file; 3342 | pub const squash_fdtable = struct_squash_fdtable; 3343 | --------------------------------------------------------------------------------