From fd33530aef8dbeb8d72a75b4b9bead6c8a899335 Mon Sep 17 00:00:00 2001 From: Robin Voetter Date: Tue, 19 Jan 2021 00:30:50 +0100 Subject: [PATCH 01/73] SPIR-V: Spec generator --- tools/gen_spirv_spec.zig | 245 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 245 insertions(+) create mode 100644 tools/gen_spirv_spec.zig diff --git a/tools/gen_spirv_spec.zig b/tools/gen_spirv_spec.zig new file mode 100644 index 0000000000..22fe3443a5 --- /dev/null +++ b/tools/gen_spirv_spec.zig @@ -0,0 +1,245 @@ +const std = @import("std"); +const Writer = std.ArrayList(u8).Writer; + +//! See https://www.khronos.org/registry/spir-v/specs/unified1/MachineReadableGrammar.html +//! and the files in https://github.com/KhronosGroup/SPIRV-Headers/blob/master/include/spirv/unified1/ +//! Note: Non-canonical casing in these structs used to match SPIR-V spec json. +const Registry = union(enum) { + core: CoreRegistry, + extension: ExtensionRegistry, +}; + +const CoreRegistry = struct { + copyright: [][]const u8, + /// Hexadecimal representation of the magic number + magic_number: []const u8, + major_version: u32, + minor_version: u32, + revision: u32, + instruction_printing_class: []InstructionPrintingClass, + instructions: []Instruction, + operand_kinds: []OperandKind, +}; + +const ExtensionRegistry = struct { + copyright: [][]const u8, + version: u32, + revision: u32, + instructions: []Instruction, + operand_kinds: []OperandKind = &[_]OperandKind{}, +}; + +const InstructionPrintingClass = struct { + tag: []const u8, + heading: ?[]const u8 = null, +}; + +const Instruction = struct { + opname: []const u8, + class: ?[]const u8 = null, // Note: Only available in the core registry. + opcode: u32, + operands: []Operand = &[_]Operand{}, + capabilities: [][]const u8 = &[_][]const u8{}, + extensions: [][]const u8 = &[_][]const u8{}, + version: ?[]const u8 = null, + + lastVersion: ?[]const u8 = null, +}; + +const Operand = struct { + kind: []const u8, + /// If this field is 'null', the operand is only expected once. + quantifier: ?Quantifier = null, + name: []const u8 = "", +}; + +const Quantifier = enum { + /// zero or once + @"?", + /// zero or more + @"*", +}; + +const OperandCategory = enum { + BitEnum, + ValueEnum, + Id, + Literal, + Composite, +}; + +const OperandKind = struct { + category: OperandCategory, + /// The name + kind: []const u8, + doc: ?[]const u8 = null, + enumerants: ?[]Enumerant = null, + bases: ?[]const []const u8 = null, +}; + +const Enumerant = struct { + enumerant: []const u8, + value: union(enum) { + bitflag: []const u8, // Hexadecimal representation of the value + int: u31, + }, + capabilities: [][]const u8 = &[_][]const u8{}, + /// Valid for .ValueEnum and .BitEnum + extensions: [][]const u8 = &[_][]const u8{}, + /// `quantifier` will always be `null`. + parameters: []Operand = &[_]Operand{}, + version: ?[]const u8 = null, + lastVersion: ?[]const u8 = null, +}; + +pub fn main() !void { + var arena = std.heap.ArenaAllocator.init(std.heap.page_allocator); + defer arena.deinit(); + const allocator = &arena.allocator; + + const args = try std.process.argsAlloc(allocator); + if (args.len != 2) { + usageAndExit(std.io.getStdErr(), args[0], 1); + } + + const spec_path = args[1]; + const spec = try std.fs.cwd().readFileAlloc(allocator, spec_path, std.math.maxInt(usize)); + + var tokens = std.json.TokenStream.init(spec); + var registry = try std.json.parse(Registry, &tokens, .{.allocator = allocator}); + + var buf = std.ArrayList(u8).init(allocator); + defer buf.deinit(); + + try render(buf.writer(), registry); + + const tree = try std.zig.parse(allocator, buf.items); + _ = try std.zig.render(allocator, std.io.getStdOut().writer(), tree); +} + +fn render(writer: Writer, registry: Registry) !void { + switch (registry) { + .core => |core_reg| { + try renderCopyRight(writer, core_reg.copyright); + try writer.print( + \\const Version = @import("builtin").Version; + \\pub const version = Version{{.major = {}, .minor = {}, .patch = {}}}; + \\pub const magic_number: u32 = {s}; + \\ + , .{ core_reg.major_version, core_reg.minor_version, core_reg.revision, core_reg.magic_number }, + ); + try renderOpcodes(writer, core_reg.instructions); + try renderOperandKinds(writer, core_reg.operand_kinds); + }, + .extension => |ext_reg| { + try renderCopyRight(writer, ext_reg.copyright); + try writer.print( + \\const Version = @import("builtin").Version; + \\pub const version = Version{{.major = {}, .minor = 0, .patch = {}}}; + \\ + , .{ ext_reg.version, ext_reg.revision }, + ); + try renderOpcodes(writer, ext_reg.instructions); + try renderOperandKinds(writer, ext_reg.operand_kinds); + } + } +} + +fn renderCopyRight(writer: Writer, copyright: []const []const u8) !void { + for (copyright) |line| { + try writer.print("// {s}\n", .{ line }); + } +} + +fn renderOpcodes(writer: Writer, instructions: []const Instruction) !void { + try writer.writeAll("pub const Opcode = extern enum(u16) {\n"); + for (instructions) |instr| { + try writer.print("{} = {},\n", .{ std.zig.fmtId(instr.opname), instr.opcode }); + } + try writer.writeAll("_,\n};\n"); +} + +fn renderOperandKinds(writer: Writer, kinds: []const OperandKind) !void { + for (kinds) |kind| { + switch (kind.category) { + .ValueEnum => try renderValueEnum(writer, kind), + .BitEnum => try renderBitEnum(writer, kind), + else => {}, + } + } +} + +fn renderValueEnum(writer: Writer, enumeration: OperandKind) !void { + try writer.print("pub const {s} = extern enum(u32) {{\n", .{ enumeration.kind }); + + const enumerants = enumeration.enumerants orelse return error.InvalidRegistry; + for (enumerants) |enumerant| { + if (enumerant.value != .int) return error.InvalidRegistry; + + try writer.print("{} = {},\n", .{ std.zig.fmtId(enumerant.enumerant), enumerant.value.int }); + } + + try writer.writeAll("_,\n};\n"); +} + +fn renderBitEnum(writer: Writer, enumeration: OperandKind) !void { + try writer.print("pub const {s} = packed struct {{\n", .{ enumeration.kind }); + + var flags_by_bitpos = [_]?[]const u8{null} ** 32; + const enumerants = enumeration.enumerants orelse return error.InvalidRegistry; + for (enumerants) |enumerant| { + if (enumerant.value != .bitflag) return error.InvalidRegistry; + const value = try parseHexInt(enumerant.value.bitflag); + if (@popCount(u32, value) != 1) { + continue; // Skip combinations and 'none' items + } + + var bitpos = std.math.log2_int(u32, value); + if (flags_by_bitpos[bitpos]) |*existing|{ + // Keep the shortest + if (enumerant.enumerant.len < existing.len) + existing.* = enumerant.enumerant; + } else { + flags_by_bitpos[bitpos] = enumerant.enumerant; + } + } + + for (flags_by_bitpos) |maybe_flag_name, bitpos| { + if (maybe_flag_name) |flag_name| { + try writer.writeAll(flag_name); + } else { + try writer.print("_reserved_bit_{}", .{bitpos}); + } + + try writer.writeAll(": bool "); + if (bitpos == 0) { // Force alignment to integer boundaries + try writer.writeAll("align(@alignOf(u32)) "); + } + try writer.writeAll("= false, "); + } + + try writer.writeAll("};\n"); +} + +fn parseHexInt(text: []const u8) !u31 { + const prefix = "0x"; + if (!std.mem.startsWith(u8, text, prefix)) + return error.InvalidHexInt; + return try std.fmt.parseInt(u31, text[prefix.len ..], 16); +} + +fn usageAndExit(file: std.fs.File, arg0: []const u8, code: u8) noreturn { + file.writer().print( + \\Usage: {s} + \\ + \\Generates Zig bindings for a SPIR-V specification .json (either core or + \\extinst versions). The result, printed to stdout, should be used to update + \\files in src/codegen/spirv. + \\ + \\The relevant specifications can be obtained from the SPIR-V registry: + \\https://github.com/KhronosGroup/SPIRV-Headers/blob/master/include/spirv/unified1/ + \\ + , .{arg0} + ) catch std.process.exit(1); + std.process.exit(code); +} From 9a6babf482047042d71d3d390933e08b7fb7c925 Mon Sep 17 00:00:00 2001 From: Robin Voetter Date: Tue, 19 Jan 2021 00:38:39 +0100 Subject: [PATCH 02/73] SPIR-V: Add generated specification --- src/codegen/spirv/spec.zig | 1645 ++++++++++++++++++++++++++++++++++++ 1 file changed, 1645 insertions(+) create mode 100644 src/codegen/spirv/spec.zig diff --git a/src/codegen/spirv/spec.zig b/src/codegen/spirv/spec.zig new file mode 100644 index 0000000000..ceb62f1e5d --- /dev/null +++ b/src/codegen/spirv/spec.zig @@ -0,0 +1,1645 @@ +// Copyright (c) 2014-2020 The Khronos Group Inc. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and/or associated documentation files (the "Materials"), +// to deal in the Materials without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Materials, and to permit persons to whom the +// Materials are furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Materials. +// +// MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS +// STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND +// HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ +// +// THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS +// IN THE MATERIALS. +const Version = @import("builtin").Version; +pub const version = Version{ .major = 1, .minor = 5, .patch = 4 }; +pub const magic_number: u32 = 0x07230203; +pub const Opcode = extern enum(u16) { + OpNop = 0, + OpUndef = 1, + OpSourceContinued = 2, + OpSource = 3, + OpSourceExtension = 4, + OpName = 5, + OpMemberName = 6, + OpString = 7, + OpLine = 8, + OpExtension = 10, + OpExtInstImport = 11, + OpExtInst = 12, + OpMemoryModel = 14, + OpEntryPoint = 15, + OpExecutionMode = 16, + OpCapability = 17, + OpTypeVoid = 19, + OpTypeBool = 20, + OpTypeInt = 21, + OpTypeFloat = 22, + OpTypeVector = 23, + OpTypeMatrix = 24, + OpTypeImage = 25, + OpTypeSampler = 26, + OpTypeSampledImage = 27, + OpTypeArray = 28, + OpTypeRuntimeArray = 29, + OpTypeStruct = 30, + OpTypeOpaque = 31, + OpTypePointer = 32, + OpTypeFunction = 33, + OpTypeEvent = 34, + OpTypeDeviceEvent = 35, + OpTypeReserveId = 36, + OpTypeQueue = 37, + OpTypePipe = 38, + OpTypeForwardPointer = 39, + OpConstantTrue = 41, + OpConstantFalse = 42, + OpConstant = 43, + OpConstantComposite = 44, + OpConstantSampler = 45, + OpConstantNull = 46, + OpSpecConstantTrue = 48, + OpSpecConstantFalse = 49, + OpSpecConstant = 50, + OpSpecConstantComposite = 51, + OpSpecConstantOp = 52, + OpFunction = 54, + OpFunctionParameter = 55, + OpFunctionEnd = 56, + OpFunctionCall = 57, + OpVariable = 59, + OpImageTexelPointer = 60, + OpLoad = 61, + OpStore = 62, + OpCopyMemory = 63, + OpCopyMemorySized = 64, + OpAccessChain = 65, + OpInBoundsAccessChain = 66, + OpPtrAccessChain = 67, + OpArrayLength = 68, + OpGenericPtrMemSemantics = 69, + OpInBoundsPtrAccessChain = 70, + OpDecorate = 71, + OpMemberDecorate = 72, + OpDecorationGroup = 73, + OpGroupDecorate = 74, + OpGroupMemberDecorate = 75, + OpVectorExtractDynamic = 77, + OpVectorInsertDynamic = 78, + OpVectorShuffle = 79, + OpCompositeConstruct = 80, + OpCompositeExtract = 81, + OpCompositeInsert = 82, + OpCopyObject = 83, + OpTranspose = 84, + OpSampledImage = 86, + OpImageSampleImplicitLod = 87, + OpImageSampleExplicitLod = 88, + OpImageSampleDrefImplicitLod = 89, + OpImageSampleDrefExplicitLod = 90, + OpImageSampleProjImplicitLod = 91, + OpImageSampleProjExplicitLod = 92, + OpImageSampleProjDrefImplicitLod = 93, + OpImageSampleProjDrefExplicitLod = 94, + OpImageFetch = 95, + OpImageGather = 96, + OpImageDrefGather = 97, + OpImageRead = 98, + OpImageWrite = 99, + OpImage = 100, + OpImageQueryFormat = 101, + OpImageQueryOrder = 102, + OpImageQuerySizeLod = 103, + OpImageQuerySize = 104, + OpImageQueryLod = 105, + OpImageQueryLevels = 106, + OpImageQuerySamples = 107, + OpConvertFToU = 109, + OpConvertFToS = 110, + OpConvertSToF = 111, + OpConvertUToF = 112, + OpUConvert = 113, + OpSConvert = 114, + OpFConvert = 115, + OpQuantizeToF16 = 116, + OpConvertPtrToU = 117, + OpSatConvertSToU = 118, + OpSatConvertUToS = 119, + OpConvertUToPtr = 120, + OpPtrCastToGeneric = 121, + OpGenericCastToPtr = 122, + OpGenericCastToPtrExplicit = 123, + OpBitcast = 124, + OpSNegate = 126, + OpFNegate = 127, + OpIAdd = 128, + OpFAdd = 129, + OpISub = 130, + OpFSub = 131, + OpIMul = 132, + OpFMul = 133, + OpUDiv = 134, + OpSDiv = 135, + OpFDiv = 136, + OpUMod = 137, + OpSRem = 138, + OpSMod = 139, + OpFRem = 140, + OpFMod = 141, + OpVectorTimesScalar = 142, + OpMatrixTimesScalar = 143, + OpVectorTimesMatrix = 144, + OpMatrixTimesVector = 145, + OpMatrixTimesMatrix = 146, + OpOuterProduct = 147, + OpDot = 148, + OpIAddCarry = 149, + OpISubBorrow = 150, + OpUMulExtended = 151, + OpSMulExtended = 152, + OpAny = 154, + OpAll = 155, + OpIsNan = 156, + OpIsInf = 157, + OpIsFinite = 158, + OpIsNormal = 159, + OpSignBitSet = 160, + OpLessOrGreater = 161, + OpOrdered = 162, + OpUnordered = 163, + OpLogicalEqual = 164, + OpLogicalNotEqual = 165, + OpLogicalOr = 166, + OpLogicalAnd = 167, + OpLogicalNot = 168, + OpSelect = 169, + OpIEqual = 170, + OpINotEqual = 171, + OpUGreaterThan = 172, + OpSGreaterThan = 173, + OpUGreaterThanEqual = 174, + OpSGreaterThanEqual = 175, + OpULessThan = 176, + OpSLessThan = 177, + OpULessThanEqual = 178, + OpSLessThanEqual = 179, + OpFOrdEqual = 180, + OpFUnordEqual = 181, + OpFOrdNotEqual = 182, + OpFUnordNotEqual = 183, + OpFOrdLessThan = 184, + OpFUnordLessThan = 185, + OpFOrdGreaterThan = 186, + OpFUnordGreaterThan = 187, + OpFOrdLessThanEqual = 188, + OpFUnordLessThanEqual = 189, + OpFOrdGreaterThanEqual = 190, + OpFUnordGreaterThanEqual = 191, + OpShiftRightLogical = 194, + OpShiftRightArithmetic = 195, + OpShiftLeftLogical = 196, + OpBitwiseOr = 197, + OpBitwiseXor = 198, + OpBitwiseAnd = 199, + OpNot = 200, + OpBitFieldInsert = 201, + OpBitFieldSExtract = 202, + OpBitFieldUExtract = 203, + OpBitReverse = 204, + OpBitCount = 205, + OpDPdx = 207, + OpDPdy = 208, + OpFwidth = 209, + OpDPdxFine = 210, + OpDPdyFine = 211, + OpFwidthFine = 212, + OpDPdxCoarse = 213, + OpDPdyCoarse = 214, + OpFwidthCoarse = 215, + OpEmitVertex = 218, + OpEndPrimitive = 219, + OpEmitStreamVertex = 220, + OpEndStreamPrimitive = 221, + OpControlBarrier = 224, + OpMemoryBarrier = 225, + OpAtomicLoad = 227, + OpAtomicStore = 228, + OpAtomicExchange = 229, + OpAtomicCompareExchange = 230, + OpAtomicCompareExchangeWeak = 231, + OpAtomicIIncrement = 232, + OpAtomicIDecrement = 233, + OpAtomicIAdd = 234, + OpAtomicISub = 235, + OpAtomicSMin = 236, + OpAtomicUMin = 237, + OpAtomicSMax = 238, + OpAtomicUMax = 239, + OpAtomicAnd = 240, + OpAtomicOr = 241, + OpAtomicXor = 242, + OpPhi = 245, + OpLoopMerge = 246, + OpSelectionMerge = 247, + OpLabel = 248, + OpBranch = 249, + OpBranchConditional = 250, + OpSwitch = 251, + OpKill = 252, + OpReturn = 253, + OpReturnValue = 254, + OpUnreachable = 255, + OpLifetimeStart = 256, + OpLifetimeStop = 257, + OpGroupAsyncCopy = 259, + OpGroupWaitEvents = 260, + OpGroupAll = 261, + OpGroupAny = 262, + OpGroupBroadcast = 263, + OpGroupIAdd = 264, + OpGroupFAdd = 265, + OpGroupFMin = 266, + OpGroupUMin = 267, + OpGroupSMin = 268, + OpGroupFMax = 269, + OpGroupUMax = 270, + OpGroupSMax = 271, + OpReadPipe = 274, + OpWritePipe = 275, + OpReservedReadPipe = 276, + OpReservedWritePipe = 277, + OpReserveReadPipePackets = 278, + OpReserveWritePipePackets = 279, + OpCommitReadPipe = 280, + OpCommitWritePipe = 281, + OpIsValidReserveId = 282, + OpGetNumPipePackets = 283, + OpGetMaxPipePackets = 284, + OpGroupReserveReadPipePackets = 285, + OpGroupReserveWritePipePackets = 286, + OpGroupCommitReadPipe = 287, + OpGroupCommitWritePipe = 288, + OpEnqueueMarker = 291, + OpEnqueueKernel = 292, + OpGetKernelNDrangeSubGroupCount = 293, + OpGetKernelNDrangeMaxSubGroupSize = 294, + OpGetKernelWorkGroupSize = 295, + OpGetKernelPreferredWorkGroupSizeMultiple = 296, + OpRetainEvent = 297, + OpReleaseEvent = 298, + OpCreateUserEvent = 299, + OpIsValidEvent = 300, + OpSetUserEventStatus = 301, + OpCaptureEventProfilingInfo = 302, + OpGetDefaultQueue = 303, + OpBuildNDRange = 304, + OpImageSparseSampleImplicitLod = 305, + OpImageSparseSampleExplicitLod = 306, + OpImageSparseSampleDrefImplicitLod = 307, + OpImageSparseSampleDrefExplicitLod = 308, + OpImageSparseSampleProjImplicitLod = 309, + OpImageSparseSampleProjExplicitLod = 310, + OpImageSparseSampleProjDrefImplicitLod = 311, + OpImageSparseSampleProjDrefExplicitLod = 312, + OpImageSparseFetch = 313, + OpImageSparseGather = 314, + OpImageSparseDrefGather = 315, + OpImageSparseTexelsResident = 316, + OpNoLine = 317, + OpAtomicFlagTestAndSet = 318, + OpAtomicFlagClear = 319, + OpImageSparseRead = 320, + OpSizeOf = 321, + OpTypePipeStorage = 322, + OpConstantPipeStorage = 323, + OpCreatePipeFromPipeStorage = 324, + OpGetKernelLocalSizeForSubgroupCount = 325, + OpGetKernelMaxNumSubgroups = 326, + OpTypeNamedBarrier = 327, + OpNamedBarrierInitialize = 328, + OpMemoryNamedBarrier = 329, + OpModuleProcessed = 330, + OpExecutionModeId = 331, + OpDecorateId = 332, + OpGroupNonUniformElect = 333, + OpGroupNonUniformAll = 334, + OpGroupNonUniformAny = 335, + OpGroupNonUniformAllEqual = 336, + OpGroupNonUniformBroadcast = 337, + OpGroupNonUniformBroadcastFirst = 338, + OpGroupNonUniformBallot = 339, + OpGroupNonUniformInverseBallot = 340, + OpGroupNonUniformBallotBitExtract = 341, + OpGroupNonUniformBallotBitCount = 342, + OpGroupNonUniformBallotFindLSB = 343, + OpGroupNonUniformBallotFindMSB = 344, + OpGroupNonUniformShuffle = 345, + OpGroupNonUniformShuffleXor = 346, + OpGroupNonUniformShuffleUp = 347, + OpGroupNonUniformShuffleDown = 348, + OpGroupNonUniformIAdd = 349, + OpGroupNonUniformFAdd = 350, + OpGroupNonUniformIMul = 351, + OpGroupNonUniformFMul = 352, + OpGroupNonUniformSMin = 353, + OpGroupNonUniformUMin = 354, + OpGroupNonUniformFMin = 355, + OpGroupNonUniformSMax = 356, + OpGroupNonUniformUMax = 357, + OpGroupNonUniformFMax = 358, + OpGroupNonUniformBitwiseAnd = 359, + OpGroupNonUniformBitwiseOr = 360, + OpGroupNonUniformBitwiseXor = 361, + OpGroupNonUniformLogicalAnd = 362, + OpGroupNonUniformLogicalOr = 363, + OpGroupNonUniformLogicalXor = 364, + OpGroupNonUniformQuadBroadcast = 365, + OpGroupNonUniformQuadSwap = 366, + OpCopyLogical = 400, + OpPtrEqual = 401, + OpPtrNotEqual = 402, + OpPtrDiff = 403, + OpTerminateInvocation = 4416, + OpSubgroupBallotKHR = 4421, + OpSubgroupFirstInvocationKHR = 4422, + OpSubgroupAllKHR = 4428, + OpSubgroupAnyKHR = 4429, + OpSubgroupAllEqualKHR = 4430, + OpSubgroupReadInvocationKHR = 4432, + OpTraceRayKHR = 4445, + OpExecuteCallableKHR = 4446, + OpConvertUToAccelerationStructureKHR = 4447, + OpIgnoreIntersectionKHR = 4448, + OpTerminateRayKHR = 4449, + OpTypeRayQueryKHR = 4472, + OpRayQueryInitializeKHR = 4473, + OpRayQueryTerminateKHR = 4474, + OpRayQueryGenerateIntersectionKHR = 4475, + OpRayQueryConfirmIntersectionKHR = 4476, + OpRayQueryProceedKHR = 4477, + OpRayQueryGetIntersectionTypeKHR = 4479, + OpGroupIAddNonUniformAMD = 5000, + OpGroupFAddNonUniformAMD = 5001, + OpGroupFMinNonUniformAMD = 5002, + OpGroupUMinNonUniformAMD = 5003, + OpGroupSMinNonUniformAMD = 5004, + OpGroupFMaxNonUniformAMD = 5005, + OpGroupUMaxNonUniformAMD = 5006, + OpGroupSMaxNonUniformAMD = 5007, + OpFragmentMaskFetchAMD = 5011, + OpFragmentFetchAMD = 5012, + OpReadClockKHR = 5056, + OpImageSampleFootprintNV = 5283, + OpGroupNonUniformPartitionNV = 5296, + OpWritePackedPrimitiveIndices4x8NV = 5299, + OpReportIntersectionNV = 5334, + OpReportIntersectionKHR = 5334, + OpIgnoreIntersectionNV = 5335, + OpTerminateRayNV = 5336, + OpTraceNV = 5337, + OpTypeAccelerationStructureNV = 5341, + OpTypeAccelerationStructureKHR = 5341, + OpExecuteCallableNV = 5344, + OpTypeCooperativeMatrixNV = 5358, + OpCooperativeMatrixLoadNV = 5359, + OpCooperativeMatrixStoreNV = 5360, + OpCooperativeMatrixMulAddNV = 5361, + OpCooperativeMatrixLengthNV = 5362, + OpBeginInvocationInterlockEXT = 5364, + OpEndInvocationInterlockEXT = 5365, + OpDemoteToHelperInvocationEXT = 5380, + OpIsHelperInvocationEXT = 5381, + OpSubgroupShuffleINTEL = 5571, + OpSubgroupShuffleDownINTEL = 5572, + OpSubgroupShuffleUpINTEL = 5573, + OpSubgroupShuffleXorINTEL = 5574, + OpSubgroupBlockReadINTEL = 5575, + OpSubgroupBlockWriteINTEL = 5576, + OpSubgroupImageBlockReadINTEL = 5577, + OpSubgroupImageBlockWriteINTEL = 5578, + OpSubgroupImageMediaBlockReadINTEL = 5580, + OpSubgroupImageMediaBlockWriteINTEL = 5581, + OpUCountLeadingZerosINTEL = 5585, + OpUCountTrailingZerosINTEL = 5586, + OpAbsISubINTEL = 5587, + OpAbsUSubINTEL = 5588, + OpIAddSatINTEL = 5589, + OpUAddSatINTEL = 5590, + OpIAverageINTEL = 5591, + OpUAverageINTEL = 5592, + OpIAverageRoundedINTEL = 5593, + OpUAverageRoundedINTEL = 5594, + OpISubSatINTEL = 5595, + OpUSubSatINTEL = 5596, + OpIMul32x16INTEL = 5597, + OpUMul32x16INTEL = 5598, + OpFunctionPointerINTEL = 5600, + OpFunctionPointerCallINTEL = 5601, + OpDecorateString = 5632, + OpDecorateStringGOOGLE = 5632, + OpMemberDecorateString = 5633, + OpMemberDecorateStringGOOGLE = 5633, + OpVmeImageINTEL = 5699, + OpTypeVmeImageINTEL = 5700, + OpTypeAvcImePayloadINTEL = 5701, + OpTypeAvcRefPayloadINTEL = 5702, + OpTypeAvcSicPayloadINTEL = 5703, + OpTypeAvcMcePayloadINTEL = 5704, + OpTypeAvcMceResultINTEL = 5705, + OpTypeAvcImeResultINTEL = 5706, + OpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707, + OpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708, + OpTypeAvcImeSingleReferenceStreaminINTEL = 5709, + OpTypeAvcImeDualReferenceStreaminINTEL = 5710, + OpTypeAvcRefResultINTEL = 5711, + OpTypeAvcSicResultINTEL = 5712, + OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713, + OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714, + OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715, + OpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716, + OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717, + OpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718, + OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719, + OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720, + OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721, + OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722, + OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723, + OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724, + OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725, + OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726, + OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727, + OpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728, + OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729, + OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730, + OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731, + OpSubgroupAvcMceConvertToImePayloadINTEL = 5732, + OpSubgroupAvcMceConvertToImeResultINTEL = 5733, + OpSubgroupAvcMceConvertToRefPayloadINTEL = 5734, + OpSubgroupAvcMceConvertToRefResultINTEL = 5735, + OpSubgroupAvcMceConvertToSicPayloadINTEL = 5736, + OpSubgroupAvcMceConvertToSicResultINTEL = 5737, + OpSubgroupAvcMceGetMotionVectorsINTEL = 5738, + OpSubgroupAvcMceGetInterDistortionsINTEL = 5739, + OpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740, + OpSubgroupAvcMceGetInterMajorShapeINTEL = 5741, + OpSubgroupAvcMceGetInterMinorShapeINTEL = 5742, + OpSubgroupAvcMceGetInterDirectionsINTEL = 5743, + OpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744, + OpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745, + OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746, + OpSubgroupAvcImeInitializeINTEL = 5747, + OpSubgroupAvcImeSetSingleReferenceINTEL = 5748, + OpSubgroupAvcImeSetDualReferenceINTEL = 5749, + OpSubgroupAvcImeRefWindowSizeINTEL = 5750, + OpSubgroupAvcImeAdjustRefOffsetINTEL = 5751, + OpSubgroupAvcImeConvertToMcePayloadINTEL = 5752, + OpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753, + OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754, + OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755, + OpSubgroupAvcImeSetWeightedSadINTEL = 5756, + OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757, + OpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758, + OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759, + OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760, + OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761, + OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762, + OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763, + OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764, + OpSubgroupAvcImeConvertToMceResultINTEL = 5765, + OpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766, + OpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767, + OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768, + OpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769, + OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770, + OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771, + OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772, + OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773, + OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774, + OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775, + OpSubgroupAvcImeGetBorderReachedINTEL = 5776, + OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777, + OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778, + OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779, + OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780, + OpSubgroupAvcFmeInitializeINTEL = 5781, + OpSubgroupAvcBmeInitializeINTEL = 5782, + OpSubgroupAvcRefConvertToMcePayloadINTEL = 5783, + OpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784, + OpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785, + OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786, + OpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787, + OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788, + OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789, + OpSubgroupAvcRefConvertToMceResultINTEL = 5790, + OpSubgroupAvcSicInitializeINTEL = 5791, + OpSubgroupAvcSicConfigureSkcINTEL = 5792, + OpSubgroupAvcSicConfigureIpeLumaINTEL = 5793, + OpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794, + OpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795, + OpSubgroupAvcSicConvertToMcePayloadINTEL = 5796, + OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797, + OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798, + OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799, + OpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800, + OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801, + OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802, + OpSubgroupAvcSicEvaluateIpeINTEL = 5803, + OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804, + OpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805, + OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806, + OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807, + OpSubgroupAvcSicConvertToMceResultINTEL = 5808, + OpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809, + OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810, + OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811, + OpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812, + OpSubgroupAvcSicGetIpeChromaModeINTEL = 5813, + OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814, + OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815, + OpSubgroupAvcSicGetInterRawSadsINTEL = 5816, + OpLoopControlINTEL = 5887, + OpReadPipeBlockingINTEL = 5946, + OpWritePipeBlockingINTEL = 5947, + OpFPGARegINTEL = 5949, + OpRayQueryGetRayTMinKHR = 6016, + OpRayQueryGetRayFlagsKHR = 6017, + OpRayQueryGetIntersectionTKHR = 6018, + OpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019, + OpRayQueryGetIntersectionInstanceIdKHR = 6020, + OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021, + OpRayQueryGetIntersectionGeometryIndexKHR = 6022, + OpRayQueryGetIntersectionPrimitiveIndexKHR = 6023, + OpRayQueryGetIntersectionBarycentricsKHR = 6024, + OpRayQueryGetIntersectionFrontFaceKHR = 6025, + OpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026, + OpRayQueryGetIntersectionObjectRayDirectionKHR = 6027, + OpRayQueryGetIntersectionObjectRayOriginKHR = 6028, + OpRayQueryGetWorldRayDirectionKHR = 6029, + OpRayQueryGetWorldRayOriginKHR = 6030, + OpRayQueryGetIntersectionObjectToWorldKHR = 6031, + OpRayQueryGetIntersectionWorldToObjectKHR = 6032, + OpAtomicFAddEXT = 6035, + _, +}; +pub const ImageOperands = packed struct { + Bias: bool align(@alignOf(u32)) = false, + Lod: bool = false, + Grad: bool = false, + ConstOffset: bool = false, + Offset: bool = false, + ConstOffsets: bool = false, + Sample: bool = false, + MinLod: bool = false, + MakeTexelAvailable: bool = false, + MakeTexelVisible: bool = false, + NonPrivateTexel: bool = false, + VolatileTexel: bool = false, + SignExtend: bool = false, + ZeroExtend: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, +}; +pub const FPFastMathMode = packed struct { + NotNaN: bool align(@alignOf(u32)) = false, + NotInf: bool = false, + NSZ: bool = false, + AllowRecip: bool = false, + Fast: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, +}; +pub const SelectionControl = packed struct { + Flatten: bool align(@alignOf(u32)) = false, + DontFlatten: bool = false, + _reserved_bit_2: bool = false, + _reserved_bit_3: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, +}; +pub const LoopControl = packed struct { + Unroll: bool align(@alignOf(u32)) = false, + DontUnroll: bool = false, + DependencyInfinite: bool = false, + DependencyLength: bool = false, + MinIterations: bool = false, + MaxIterations: bool = false, + IterationMultiple: bool = false, + PeelCount: bool = false, + PartialCount: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + InitiationIntervalINTEL: bool = false, + MaxConcurrencyINTEL: bool = false, + DependencyArrayINTEL: bool = false, + PipelineEnableINTEL: bool = false, + LoopCoalesceINTEL: bool = false, + MaxInterleavingINTEL: bool = false, + SpeculatedIterationsINTEL: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, +}; +pub const FunctionControl = packed struct { + Inline: bool align(@alignOf(u32)) = false, + DontInline: bool = false, + Pure: bool = false, + Const: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, +}; +pub const MemorySemantics = packed struct { + _reserved_bit_0: bool align(@alignOf(u32)) = false, + Acquire: bool = false, + Release: bool = false, + AcquireRelease: bool = false, + SequentiallyConsistent: bool = false, + _reserved_bit_5: bool = false, + UniformMemory: bool = false, + SubgroupMemory: bool = false, + WorkgroupMemory: bool = false, + CrossWorkgroupMemory: bool = false, + AtomicCounterMemory: bool = false, + ImageMemory: bool = false, + OutputMemory: bool = false, + MakeAvailable: bool = false, + MakeVisible: bool = false, + Volatile: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, +}; +pub const MemoryAccess = packed struct { + Volatile: bool align(@alignOf(u32)) = false, + Aligned: bool = false, + Nontemporal: bool = false, + MakePointerAvailable: bool = false, + MakePointerVisible: bool = false, + NonPrivatePointer: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, +}; +pub const KernelProfilingInfo = packed struct { + CmdExecTime: bool align(@alignOf(u32)) = false, + _reserved_bit_1: bool = false, + _reserved_bit_2: bool = false, + _reserved_bit_3: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, +}; +pub const RayFlags = packed struct { + OpaqueKHR: bool align(@alignOf(u32)) = false, + NoOpaqueKHR: bool = false, + TerminateOnFirstHitKHR: bool = false, + SkipClosestHitShaderKHR: bool = false, + CullBackFacingTrianglesKHR: bool = false, + CullFrontFacingTrianglesKHR: bool = false, + CullOpaqueKHR: bool = false, + CullNoOpaqueKHR: bool = false, + SkipTrianglesKHR: bool = false, + SkipAABBsKHR: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, +}; +pub const FragmentShadingRate = packed struct { + Vertical2Pixels: bool align(@alignOf(u32)) = false, + Vertical4Pixels: bool = false, + Horizontal2Pixels: bool = false, + Horizontal4Pixels: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, +}; +pub const SourceLanguage = extern enum(u32) { + Unknown = 0, + ESSL = 1, + GLSL = 2, + OpenCL_C = 3, + OpenCL_CPP = 4, + HLSL = 5, + _, +}; +pub const ExecutionModel = extern enum(u32) { + Vertex = 0, + TessellationControl = 1, + TessellationEvaluation = 2, + Geometry = 3, + Fragment = 4, + GLCompute = 5, + Kernel = 6, + TaskNV = 5267, + MeshNV = 5268, + RayGenerationNV = 5313, + RayGenerationKHR = 5313, + IntersectionNV = 5314, + IntersectionKHR = 5314, + AnyHitNV = 5315, + AnyHitKHR = 5315, + ClosestHitNV = 5316, + ClosestHitKHR = 5316, + MissNV = 5317, + MissKHR = 5317, + CallableNV = 5318, + CallableKHR = 5318, + _, +}; +pub const AddressingModel = extern enum(u32) { + Logical = 0, + Physical32 = 1, + Physical64 = 2, + PhysicalStorageBuffer64 = 5348, + PhysicalStorageBuffer64EXT = 5348, + _, +}; +pub const MemoryModel = extern enum(u32) { + Simple = 0, + GLSL450 = 1, + OpenCL = 2, + Vulkan = 3, + VulkanKHR = 3, + _, +}; +pub const ExecutionMode = extern enum(u32) { + Invocations = 0, + SpacingEqual = 1, + SpacingFractionalEven = 2, + SpacingFractionalOdd = 3, + VertexOrderCw = 4, + VertexOrderCcw = 5, + PixelCenterInteger = 6, + OriginUpperLeft = 7, + OriginLowerLeft = 8, + EarlyFragmentTests = 9, + PointMode = 10, + Xfb = 11, + DepthReplacing = 12, + DepthGreater = 14, + DepthLess = 15, + DepthUnchanged = 16, + LocalSize = 17, + LocalSizeHint = 18, + InputPoints = 19, + InputLines = 20, + InputLinesAdjacency = 21, + Triangles = 22, + InputTrianglesAdjacency = 23, + Quads = 24, + Isolines = 25, + OutputVertices = 26, + OutputPoints = 27, + OutputLineStrip = 28, + OutputTriangleStrip = 29, + VecTypeHint = 30, + ContractionOff = 31, + Initializer = 33, + Finalizer = 34, + SubgroupSize = 35, + SubgroupsPerWorkgroup = 36, + SubgroupsPerWorkgroupId = 37, + LocalSizeId = 38, + LocalSizeHintId = 39, + PostDepthCoverage = 4446, + DenormPreserve = 4459, + DenormFlushToZero = 4460, + SignedZeroInfNanPreserve = 4461, + RoundingModeRTE = 4462, + RoundingModeRTZ = 4463, + StencilRefReplacingEXT = 5027, + OutputLinesNV = 5269, + OutputPrimitivesNV = 5270, + DerivativeGroupQuadsNV = 5289, + DerivativeGroupLinearNV = 5290, + OutputTrianglesNV = 5298, + PixelInterlockOrderedEXT = 5366, + PixelInterlockUnorderedEXT = 5367, + SampleInterlockOrderedEXT = 5368, + SampleInterlockUnorderedEXT = 5369, + ShadingRateInterlockOrderedEXT = 5370, + ShadingRateInterlockUnorderedEXT = 5371, + MaxWorkgroupSizeINTEL = 5893, + MaxWorkDimINTEL = 5894, + NoGlobalOffsetINTEL = 5895, + NumSIMDWorkitemsINTEL = 5896, + _, +}; +pub const StorageClass = extern enum(u32) { + UniformConstant = 0, + Input = 1, + Uniform = 2, + Output = 3, + Workgroup = 4, + CrossWorkgroup = 5, + Private = 6, + Function = 7, + Generic = 8, + PushConstant = 9, + AtomicCounter = 10, + Image = 11, + StorageBuffer = 12, + CallableDataNV = 5328, + CallableDataKHR = 5328, + IncomingCallableDataNV = 5329, + IncomingCallableDataKHR = 5329, + RayPayloadNV = 5338, + RayPayloadKHR = 5338, + HitAttributeNV = 5339, + HitAttributeKHR = 5339, + IncomingRayPayloadNV = 5342, + IncomingRayPayloadKHR = 5342, + ShaderRecordBufferNV = 5343, + ShaderRecordBufferKHR = 5343, + PhysicalStorageBuffer = 5349, + PhysicalStorageBufferEXT = 5349, + CodeSectionINTEL = 5605, + _, +}; +pub const Dim = extern enum(u32) { + @"1D" = 0, + @"2D" = 1, + @"3D" = 2, + Cube = 3, + Rect = 4, + Buffer = 5, + SubpassData = 6, + _, +}; +pub const SamplerAddressingMode = extern enum(u32) { + None = 0, + ClampToEdge = 1, + Clamp = 2, + Repeat = 3, + RepeatMirrored = 4, + _, +}; +pub const SamplerFilterMode = extern enum(u32) { + Nearest = 0, + Linear = 1, + _, +}; +pub const ImageFormat = extern enum(u32) { + Unknown = 0, + Rgba32f = 1, + Rgba16f = 2, + R32f = 3, + Rgba8 = 4, + Rgba8Snorm = 5, + Rg32f = 6, + Rg16f = 7, + R11fG11fB10f = 8, + R16f = 9, + Rgba16 = 10, + Rgb10A2 = 11, + Rg16 = 12, + Rg8 = 13, + R16 = 14, + R8 = 15, + Rgba16Snorm = 16, + Rg16Snorm = 17, + Rg8Snorm = 18, + R16Snorm = 19, + R8Snorm = 20, + Rgba32i = 21, + Rgba16i = 22, + Rgba8i = 23, + R32i = 24, + Rg32i = 25, + Rg16i = 26, + Rg8i = 27, + R16i = 28, + R8i = 29, + Rgba32ui = 30, + Rgba16ui = 31, + Rgba8ui = 32, + R32ui = 33, + Rgb10a2ui = 34, + Rg32ui = 35, + Rg16ui = 36, + Rg8ui = 37, + R16ui = 38, + R8ui = 39, + R64ui = 40, + R64i = 41, + _, +}; +pub const ImageChannelOrder = extern enum(u32) { + R = 0, + A = 1, + RG = 2, + RA = 3, + RGB = 4, + RGBA = 5, + BGRA = 6, + ARGB = 7, + Intensity = 8, + Luminance = 9, + Rx = 10, + RGx = 11, + RGBx = 12, + Depth = 13, + DepthStencil = 14, + sRGB = 15, + sRGBx = 16, + sRGBA = 17, + sBGRA = 18, + ABGR = 19, + _, +}; +pub const ImageChannelDataType = extern enum(u32) { + SnormInt8 = 0, + SnormInt16 = 1, + UnormInt8 = 2, + UnormInt16 = 3, + UnormShort565 = 4, + UnormShort555 = 5, + UnormInt101010 = 6, + SignedInt8 = 7, + SignedInt16 = 8, + SignedInt32 = 9, + UnsignedInt8 = 10, + UnsignedInt16 = 11, + UnsignedInt32 = 12, + HalfFloat = 13, + Float = 14, + UnormInt24 = 15, + UnormInt101010_2 = 16, + _, +}; +pub const FPRoundingMode = extern enum(u32) { + RTE = 0, + RTZ = 1, + RTP = 2, + RTN = 3, + _, +}; +pub const LinkageType = extern enum(u32) { + Export = 0, + Import = 1, + _, +}; +pub const AccessQualifier = extern enum(u32) { + ReadOnly = 0, + WriteOnly = 1, + ReadWrite = 2, + _, +}; +pub const FunctionParameterAttribute = extern enum(u32) { + Zext = 0, + Sext = 1, + ByVal = 2, + Sret = 3, + NoAlias = 4, + NoCapture = 5, + NoWrite = 6, + NoReadWrite = 7, + _, +}; +pub const Decoration = extern enum(u32) { + RelaxedPrecision = 0, + SpecId = 1, + Block = 2, + BufferBlock = 3, + RowMajor = 4, + ColMajor = 5, + ArrayStride = 6, + MatrixStride = 7, + GLSLShared = 8, + GLSLPacked = 9, + CPacked = 10, + BuiltIn = 11, + NoPerspective = 13, + Flat = 14, + Patch = 15, + Centroid = 16, + Sample = 17, + Invariant = 18, + Restrict = 19, + Aliased = 20, + Volatile = 21, + Constant = 22, + Coherent = 23, + NonWritable = 24, + NonReadable = 25, + Uniform = 26, + UniformId = 27, + SaturatedConversion = 28, + Stream = 29, + Location = 30, + Component = 31, + Index = 32, + Binding = 33, + DescriptorSet = 34, + Offset = 35, + XfbBuffer = 36, + XfbStride = 37, + FuncParamAttr = 38, + FPRoundingMode = 39, + FPFastMathMode = 40, + LinkageAttributes = 41, + NoContraction = 42, + InputAttachmentIndex = 43, + Alignment = 44, + MaxByteOffset = 45, + AlignmentId = 46, + MaxByteOffsetId = 47, + NoSignedWrap = 4469, + NoUnsignedWrap = 4470, + ExplicitInterpAMD = 4999, + OverrideCoverageNV = 5248, + PassthroughNV = 5250, + ViewportRelativeNV = 5252, + SecondaryViewportRelativeNV = 5256, + PerPrimitiveNV = 5271, + PerViewNV = 5272, + PerTaskNV = 5273, + PerVertexNV = 5285, + NonUniform = 5300, + NonUniformEXT = 5300, + RestrictPointer = 5355, + RestrictPointerEXT = 5355, + AliasedPointer = 5356, + AliasedPointerEXT = 5356, + ReferencedIndirectlyINTEL = 5602, + CounterBuffer = 5634, + HlslCounterBufferGOOGLE = 5634, + UserSemantic = 5635, + HlslSemanticGOOGLE = 5635, + UserTypeGOOGLE = 5636, + RegisterINTEL = 5825, + MemoryINTEL = 5826, + NumbanksINTEL = 5827, + BankwidthINTEL = 5828, + MaxPrivateCopiesINTEL = 5829, + SinglepumpINTEL = 5830, + DoublepumpINTEL = 5831, + MaxReplicatesINTEL = 5832, + SimpleDualPortINTEL = 5833, + MergeINTEL = 5834, + BankBitsINTEL = 5835, + ForcePow2DepthINTEL = 5836, + _, +}; +pub const BuiltIn = extern enum(u32) { + Position = 0, + PointSize = 1, + ClipDistance = 3, + CullDistance = 4, + VertexId = 5, + InstanceId = 6, + PrimitiveId = 7, + InvocationId = 8, + Layer = 9, + ViewportIndex = 10, + TessLevelOuter = 11, + TessLevelInner = 12, + TessCoord = 13, + PatchVertices = 14, + FragCoord = 15, + PointCoord = 16, + FrontFacing = 17, + SampleId = 18, + SamplePosition = 19, + SampleMask = 20, + FragDepth = 22, + HelperInvocation = 23, + NumWorkgroups = 24, + WorkgroupSize = 25, + WorkgroupId = 26, + LocalInvocationId = 27, + GlobalInvocationId = 28, + LocalInvocationIndex = 29, + WorkDim = 30, + GlobalSize = 31, + EnqueuedWorkgroupSize = 32, + GlobalOffset = 33, + GlobalLinearId = 34, + SubgroupSize = 36, + SubgroupMaxSize = 37, + NumSubgroups = 38, + NumEnqueuedSubgroups = 39, + SubgroupId = 40, + SubgroupLocalInvocationId = 41, + VertexIndex = 42, + InstanceIndex = 43, + SubgroupEqMask = 4416, + SubgroupGeMask = 4417, + SubgroupGtMask = 4418, + SubgroupLeMask = 4419, + SubgroupLtMask = 4420, + SubgroupEqMaskKHR = 4416, + SubgroupGeMaskKHR = 4417, + SubgroupGtMaskKHR = 4418, + SubgroupLeMaskKHR = 4419, + SubgroupLtMaskKHR = 4420, + BaseVertex = 4424, + BaseInstance = 4425, + DrawIndex = 4426, + PrimitiveShadingRateKHR = 4432, + DeviceIndex = 4438, + ViewIndex = 4440, + ShadingRateKHR = 4444, + BaryCoordNoPerspAMD = 4992, + BaryCoordNoPerspCentroidAMD = 4993, + BaryCoordNoPerspSampleAMD = 4994, + BaryCoordSmoothAMD = 4995, + BaryCoordSmoothCentroidAMD = 4996, + BaryCoordSmoothSampleAMD = 4997, + BaryCoordPullModelAMD = 4998, + FragStencilRefEXT = 5014, + ViewportMaskNV = 5253, + SecondaryPositionNV = 5257, + SecondaryViewportMaskNV = 5258, + PositionPerViewNV = 5261, + ViewportMaskPerViewNV = 5262, + FullyCoveredEXT = 5264, + TaskCountNV = 5274, + PrimitiveCountNV = 5275, + PrimitiveIndicesNV = 5276, + ClipDistancePerViewNV = 5277, + CullDistancePerViewNV = 5278, + LayerPerViewNV = 5279, + MeshViewCountNV = 5280, + MeshViewIndicesNV = 5281, + BaryCoordNV = 5286, + BaryCoordNoPerspNV = 5287, + FragSizeEXT = 5292, + FragmentSizeNV = 5292, + FragInvocationCountEXT = 5293, + InvocationsPerPixelNV = 5293, + LaunchIdNV = 5319, + LaunchIdKHR = 5319, + LaunchSizeNV = 5320, + LaunchSizeKHR = 5320, + WorldRayOriginNV = 5321, + WorldRayOriginKHR = 5321, + WorldRayDirectionNV = 5322, + WorldRayDirectionKHR = 5322, + ObjectRayOriginNV = 5323, + ObjectRayOriginKHR = 5323, + ObjectRayDirectionNV = 5324, + ObjectRayDirectionKHR = 5324, + RayTminNV = 5325, + RayTminKHR = 5325, + RayTmaxNV = 5326, + RayTmaxKHR = 5326, + InstanceCustomIndexNV = 5327, + InstanceCustomIndexKHR = 5327, + ObjectToWorldNV = 5330, + ObjectToWorldKHR = 5330, + WorldToObjectNV = 5331, + WorldToObjectKHR = 5331, + HitTNV = 5332, + HitKindNV = 5333, + HitKindKHR = 5333, + IncomingRayFlagsNV = 5351, + IncomingRayFlagsKHR = 5351, + RayGeometryIndexKHR = 5352, + WarpsPerSMNV = 5374, + SMCountNV = 5375, + WarpIDNV = 5376, + SMIDNV = 5377, + _, +}; +pub const Scope = extern enum(u32) { + CrossDevice = 0, + Device = 1, + Workgroup = 2, + Subgroup = 3, + Invocation = 4, + QueueFamily = 5, + QueueFamilyKHR = 5, + ShaderCallKHR = 6, + _, +}; +pub const GroupOperation = extern enum(u32) { + Reduce = 0, + InclusiveScan = 1, + ExclusiveScan = 2, + ClusteredReduce = 3, + PartitionedReduceNV = 6, + PartitionedInclusiveScanNV = 7, + PartitionedExclusiveScanNV = 8, + _, +}; +pub const KernelEnqueueFlags = extern enum(u32) { + NoWait = 0, + WaitKernel = 1, + WaitWorkGroup = 2, + _, +}; +pub const Capability = extern enum(u32) { + Matrix = 0, + Shader = 1, + Geometry = 2, + Tessellation = 3, + Addresses = 4, + Linkage = 5, + Kernel = 6, + Vector16 = 7, + Float16Buffer = 8, + Float16 = 9, + Float64 = 10, + Int64 = 11, + Int64Atomics = 12, + ImageBasic = 13, + ImageReadWrite = 14, + ImageMipmap = 15, + Pipes = 17, + Groups = 18, + DeviceEnqueue = 19, + LiteralSampler = 20, + AtomicStorage = 21, + Int16 = 22, + TessellationPointSize = 23, + GeometryPointSize = 24, + ImageGatherExtended = 25, + StorageImageMultisample = 27, + UniformBufferArrayDynamicIndexing = 28, + SampledImageArrayDynamicIndexing = 29, + StorageBufferArrayDynamicIndexing = 30, + StorageImageArrayDynamicIndexing = 31, + ClipDistance = 32, + CullDistance = 33, + ImageCubeArray = 34, + SampleRateShading = 35, + ImageRect = 36, + SampledRect = 37, + GenericPointer = 38, + Int8 = 39, + InputAttachment = 40, + SparseResidency = 41, + MinLod = 42, + Sampled1D = 43, + Image1D = 44, + SampledCubeArray = 45, + SampledBuffer = 46, + ImageBuffer = 47, + ImageMSArray = 48, + StorageImageExtendedFormats = 49, + ImageQuery = 50, + DerivativeControl = 51, + InterpolationFunction = 52, + TransformFeedback = 53, + GeometryStreams = 54, + StorageImageReadWithoutFormat = 55, + StorageImageWriteWithoutFormat = 56, + MultiViewport = 57, + SubgroupDispatch = 58, + NamedBarrier = 59, + PipeStorage = 60, + GroupNonUniform = 61, + GroupNonUniformVote = 62, + GroupNonUniformArithmetic = 63, + GroupNonUniformBallot = 64, + GroupNonUniformShuffle = 65, + GroupNonUniformShuffleRelative = 66, + GroupNonUniformClustered = 67, + GroupNonUniformQuad = 68, + ShaderLayer = 69, + ShaderViewportIndex = 70, + FragmentShadingRateKHR = 4422, + SubgroupBallotKHR = 4423, + DrawParameters = 4427, + SubgroupVoteKHR = 4431, + StorageBuffer16BitAccess = 4433, + StorageUniformBufferBlock16 = 4433, + UniformAndStorageBuffer16BitAccess = 4434, + StorageUniform16 = 4434, + StoragePushConstant16 = 4435, + StorageInputOutput16 = 4436, + DeviceGroup = 4437, + MultiView = 4439, + VariablePointersStorageBuffer = 4441, + VariablePointers = 4442, + AtomicStorageOps = 4445, + SampleMaskPostDepthCoverage = 4447, + StorageBuffer8BitAccess = 4448, + UniformAndStorageBuffer8BitAccess = 4449, + StoragePushConstant8 = 4450, + DenormPreserve = 4464, + DenormFlushToZero = 4465, + SignedZeroInfNanPreserve = 4466, + RoundingModeRTE = 4467, + RoundingModeRTZ = 4468, + RayQueryProvisionalKHR = 4471, + RayQueryKHR = 4472, + RayTraversalPrimitiveCullingKHR = 4478, + RayTracingKHR = 4479, + Float16ImageAMD = 5008, + ImageGatherBiasLodAMD = 5009, + FragmentMaskAMD = 5010, + StencilExportEXT = 5013, + ImageReadWriteLodAMD = 5015, + Int64ImageEXT = 5016, + ShaderClockKHR = 5055, + SampleMaskOverrideCoverageNV = 5249, + GeometryShaderPassthroughNV = 5251, + ShaderViewportIndexLayerEXT = 5254, + ShaderViewportIndexLayerNV = 5254, + ShaderViewportMaskNV = 5255, + ShaderStereoViewNV = 5259, + PerViewAttributesNV = 5260, + FragmentFullyCoveredEXT = 5265, + MeshShadingNV = 5266, + ImageFootprintNV = 5282, + FragmentBarycentricNV = 5284, + ComputeDerivativeGroupQuadsNV = 5288, + FragmentDensityEXT = 5291, + ShadingRateNV = 5291, + GroupNonUniformPartitionedNV = 5297, + ShaderNonUniform = 5301, + ShaderNonUniformEXT = 5301, + RuntimeDescriptorArray = 5302, + RuntimeDescriptorArrayEXT = 5302, + InputAttachmentArrayDynamicIndexing = 5303, + InputAttachmentArrayDynamicIndexingEXT = 5303, + UniformTexelBufferArrayDynamicIndexing = 5304, + UniformTexelBufferArrayDynamicIndexingEXT = 5304, + StorageTexelBufferArrayDynamicIndexing = 5305, + StorageTexelBufferArrayDynamicIndexingEXT = 5305, + UniformBufferArrayNonUniformIndexing = 5306, + UniformBufferArrayNonUniformIndexingEXT = 5306, + SampledImageArrayNonUniformIndexing = 5307, + SampledImageArrayNonUniformIndexingEXT = 5307, + StorageBufferArrayNonUniformIndexing = 5308, + StorageBufferArrayNonUniformIndexingEXT = 5308, + StorageImageArrayNonUniformIndexing = 5309, + StorageImageArrayNonUniformIndexingEXT = 5309, + InputAttachmentArrayNonUniformIndexing = 5310, + InputAttachmentArrayNonUniformIndexingEXT = 5310, + UniformTexelBufferArrayNonUniformIndexing = 5311, + UniformTexelBufferArrayNonUniformIndexingEXT = 5311, + StorageTexelBufferArrayNonUniformIndexing = 5312, + StorageTexelBufferArrayNonUniformIndexingEXT = 5312, + RayTracingNV = 5340, + VulkanMemoryModel = 5345, + VulkanMemoryModelKHR = 5345, + VulkanMemoryModelDeviceScope = 5346, + VulkanMemoryModelDeviceScopeKHR = 5346, + PhysicalStorageBufferAddresses = 5347, + PhysicalStorageBufferAddressesEXT = 5347, + ComputeDerivativeGroupLinearNV = 5350, + RayTracingProvisionalKHR = 5353, + CooperativeMatrixNV = 5357, + FragmentShaderSampleInterlockEXT = 5363, + FragmentShaderShadingRateInterlockEXT = 5372, + ShaderSMBuiltinsNV = 5373, + FragmentShaderPixelInterlockEXT = 5378, + DemoteToHelperInvocationEXT = 5379, + SubgroupShuffleINTEL = 5568, + SubgroupBufferBlockIOINTEL = 5569, + SubgroupImageBlockIOINTEL = 5570, + SubgroupImageMediaBlockIOINTEL = 5579, + IntegerFunctions2INTEL = 5584, + FunctionPointersINTEL = 5603, + IndirectReferencesINTEL = 5604, + SubgroupAvcMotionEstimationINTEL = 5696, + SubgroupAvcMotionEstimationIntraINTEL = 5697, + SubgroupAvcMotionEstimationChromaINTEL = 5698, + FPGAMemoryAttributesINTEL = 5824, + UnstructuredLoopControlsINTEL = 5886, + FPGALoopControlsINTEL = 5888, + KernelAttributesINTEL = 5892, + FPGAKernelAttributesINTEL = 5897, + BlockingPipesINTEL = 5945, + FPGARegINTEL = 5948, + AtomicFloat32AddEXT = 6033, + AtomicFloat64AddEXT = 6034, + _, +}; +pub const RayQueryIntersection = extern enum(u32) { + RayQueryCandidateIntersectionKHR = 0, + RayQueryCommittedIntersectionKHR = 1, + _, +}; +pub const RayQueryCommittedIntersectionType = extern enum(u32) { + RayQueryCommittedIntersectionNoneKHR = 0, + RayQueryCommittedIntersectionTriangleKHR = 1, + RayQueryCommittedIntersectionGeneratedKHR = 2, + _, +}; +pub const RayQueryCandidateIntersectionType = extern enum(u32) { + RayQueryCandidateIntersectionTriangleKHR = 0, + RayQueryCandidateIntersectionAABBKHR = 1, + _, +}; From ab607d455e47c35b980c3281ef5c3fb433a770a7 Mon Sep 17 00:00:00 2001 From: Robin Voetter Date: Sun, 17 Jan 2021 16:18:00 +0100 Subject: [PATCH 03/73] SPIR-V: Initial architecture definitions and setup --- lib/std/target.zig | 23 +++++++++++++++++++++++ lib/std/zig.zig | 1 + lib/std/zig/cross_target.zig | 2 ++ src/link.zig | 8 ++++++++ src/type.zig | 1 + 5 files changed, 35 insertions(+) diff --git a/lib/std/target.zig b/lib/std/target.zig index 155ba046d2..b3e0f8afdd 100644 --- a/lib/std/target.zig +++ b/lib/std/target.zig @@ -57,6 +57,7 @@ pub const Target = struct { wasi, emscripten, uefi, + opencl, // SPIR-V on OpenCL other, pub fn isDarwin(tag: Tag) bool { @@ -248,6 +249,7 @@ pub const Target = struct { .wasi, .emscripten, .uefi, + .opencl, .other, => return .{ .none = {} }, @@ -403,6 +405,7 @@ pub const Target = struct { .wasi, .emscripten, .uefi, + .opencl, .other, => false, }; @@ -421,6 +424,7 @@ pub const Target = struct { pub const powerpc = @import("target/powerpc.zig"); pub const riscv = @import("target/riscv.zig"); pub const sparc = @import("target/sparc.zig"); + pub const spirv = @import("target/spirv.zig"); pub const systemz = @import("target/systemz.zig"); pub const wasm = @import("target/wasm.zig"); pub const x86 = @import("target/x86.zig"); @@ -493,6 +497,8 @@ pub const Target = struct { .wasi, .emscripten, => return .musl, + .opencl, // TODO: Where should this go? + => return .none, } } @@ -528,6 +534,7 @@ pub const Target = struct { macho, wasm, c, + spirv, hex, raw, }; @@ -744,6 +751,8 @@ pub const Target = struct { // Stage1 currently assumes that architectures above this comment // map one-to-one with the ZigLLVM_ArchType enum. spu_2, + spirv32, + spirv64, pub fn isARM(arch: Arch) bool { return switch (arch) { @@ -857,6 +866,8 @@ pub const Target = struct { .s390x => ._S390, .ve => ._NONE, .spu_2 => ._SPU_2, + .spirv32 => ._NONE, + .spirv64 => ._NONE, }; } @@ -914,6 +925,8 @@ pub const Target = struct { .s390x => .Unknown, .ve => .Unknown, .spu_2 => .Unknown, + .spirv32 => .Unknown, + .spirv64 => .Unknown, }; } @@ -957,6 +970,9 @@ pub const Target = struct { .shave, .ve, .spu_2, + // GPU bitness is opaque. For now, assume little endian. + .spirv32, + .spirv64, => .Little, .arc, @@ -1012,6 +1028,7 @@ pub const Target = struct { .wasm32, .renderscript32, .aarch64_32, + .spirv32, => return 32, .aarch64, @@ -1035,6 +1052,7 @@ pub const Target = struct { .sparcv9, .s390x, .ve, + .spirv64, => return 64, } } @@ -1057,6 +1075,7 @@ pub const Target = struct { .i386, .x86_64 => "x86", .nvptx, .nvptx64 => "nvptx", .wasm32, .wasm64 => "wasm", + .spirv32, .spirv64 => "spir-v", else => @tagName(arch), }; } @@ -1347,6 +1366,7 @@ pub const Target = struct { .uefi, .windows, .emscripten, + .opencl, .other, => return false, else => return true, @@ -1482,6 +1502,8 @@ pub const Target = struct { .nvptx64, .spu_2, .avr, + .spirv32, + .spirv64, => return result, // TODO go over each item in this list and either move it to the above list, or @@ -1524,6 +1546,7 @@ pub const Target = struct { .windows, .emscripten, .wasi, + .opencl, .other, => return result, diff --git a/lib/std/zig.zig b/lib/std/zig.zig index c39eb6b05f..dd75b81597 100644 --- a/lib/std/zig.zig +++ b/lib/std/zig.zig @@ -141,6 +141,7 @@ pub fn binNameAlloc(allocator: *std.mem.Allocator, options: BinNameOptions) erro .Lib => return std.fmt.allocPrint(allocator, "{s}.wasm", .{root_name}), }, .c => return std.fmt.allocPrint(allocator, "{s}.c", .{root_name}), + .spirv => return std.fmt.allocPrint(allocator, "{s}.spv", .{root_name}), .hex => return std.fmt.allocPrint(allocator, "{s}.ihex", .{root_name}), .raw => return std.fmt.allocPrint(allocator, "{s}.bin", .{root_name}), } diff --git a/lib/std/zig/cross_target.zig b/lib/std/zig/cross_target.zig index f0849f9a03..1e9066b90b 100644 --- a/lib/std/zig/cross_target.zig +++ b/lib/std/zig/cross_target.zig @@ -130,6 +130,7 @@ pub const CrossTarget = struct { .wasi, .emscripten, .uefi, + .opencl, .other, => { self.os_version_min = .{ .none = {} }; @@ -730,6 +731,7 @@ pub const CrossTarget = struct { .wasi, .emscripten, .uefi, + .opencl, .other, => return error.InvalidOperatingSystemVersion, diff --git a/src/link.zig b/src/link.zig index 6914131bea..fdbb7efd4b 100644 --- a/src/link.zig +++ b/src/link.zig @@ -133,6 +133,7 @@ pub const File = struct { macho: MachO.TextBlock, c: C.DeclBlock, wasm: void, + spirv: void, }; pub const LinkFn = union { @@ -141,6 +142,7 @@ pub const File = struct { macho: MachO.SrcFn, c: C.FnBlock, wasm: ?Wasm.FnData, + spirv: void, }; pub const Export = union { @@ -149,6 +151,7 @@ pub const File = struct { macho: MachO.Export, c: void, wasm: void, + spirv: void, }; /// For DWARF .debug_info. @@ -177,6 +180,7 @@ pub const File = struct { .macho => &(try MachO.createEmpty(allocator, options)).base, .wasm => &(try Wasm.createEmpty(allocator, options)).base, .c => unreachable, // Reported error earlier. + .spirv => return error.SpirVObjectFormatUnimplemented, .hex => return error.HexObjectFormatUnimplemented, .raw => return error.RawObjectFormatUnimplemented, }; @@ -192,6 +196,7 @@ pub const File = struct { .macho => &(try MachO.createEmpty(allocator, options)).base, .wasm => &(try Wasm.createEmpty(allocator, options)).base, .c => unreachable, // Reported error earlier. + .spirv => return error.SpirVObjectFormatUnimplemented, .hex => return error.HexObjectFormatUnimplemented, .raw => return error.RawObjectFormatUnimplemented, }; @@ -207,6 +212,7 @@ pub const File = struct { .macho => &(try MachO.openPath(allocator, sub_path, options)).base, .wasm => &(try Wasm.openPath(allocator, sub_path, options)).base, .c => &(try C.openPath(allocator, sub_path, options)).base, + .spirv => return error.SpirVObjectFormatUnimplemented, .hex => return error.HexObjectFormatUnimplemented, .raw => return error.RawObjectFormatUnimplemented, }; @@ -595,6 +601,7 @@ pub const File = struct { macho, c, wasm, + spirv, }; pub const ErrorFlags = struct { @@ -605,6 +612,7 @@ pub const File = struct { pub const Coff = @import("link/Coff.zig"); pub const Elf = @import("link/Elf.zig"); pub const MachO = @import("link/MachO.zig"); + pub const SpirV = @import("link/SpirV.zig"); pub const Wasm = @import("link/Wasm.zig"); }; diff --git a/src/type.zig b/src/type.zig index be61f57c1d..cb2448aa1a 100644 --- a/src/type.zig +++ b/src/type.zig @@ -3597,6 +3597,7 @@ pub const CType = enum { .amdpal, .hermit, .hurd, + .opencl, => @panic("TODO specify the C integer and float type sizes for this OS"), } } From b2b87b590011d8df52874e3f9bd1f88d1b0189d1 Mon Sep 17 00:00:00 2001 From: Robin Voetter Date: Tue, 19 Jan 2021 00:34:44 +0100 Subject: [PATCH 04/73] SPIR-V: Linking and codegen setup --- src/Module.zig | 5 +- src/codegen/spirv.zig | 22 +++++++ src/link.zig | 29 +++++++--- src/link/SpirV.zig | 131 ++++++++++++++++++++++++++++++++++++++++++ src/main.zig | 3 + 5 files changed, 180 insertions(+), 10 deletions(-) create mode 100644 src/codegen/spirv.zig create mode 100644 src/link/SpirV.zig diff --git a/src/Module.zig b/src/Module.zig index fa9722814e..464124c7b9 100644 --- a/src/Module.zig +++ b/src/Module.zig @@ -1622,7 +1622,7 @@ pub fn analyzeContainer(self: *Module, container_scope: *Scope.Container) !void // in `Decl` to notice that the line number did not change. self.comp.work_queue.writeItemAssumeCapacity(.{ .update_line_number = decl }); }, - .c, .wasm => {}, + .c, .wasm, .spirv => {}, } } } else { @@ -1855,6 +1855,7 @@ fn allocateNewDecl( .macho => .{ .macho = link.File.MachO.TextBlock.empty }, .c => .{ .c = link.File.C.DeclBlock.empty }, .wasm => .{ .wasm = {} }, + .spirv => .{ .spirv = {} }, }, .fn_link = switch (mod.comp.bin_file.tag) { .coff => .{ .coff = {} }, @@ -1862,6 +1863,7 @@ fn allocateNewDecl( .macho => .{ .macho = link.File.MachO.SrcFn.empty }, .c => .{ .c = link.File.C.FnBlock.empty }, .wasm => .{ .wasm = null }, + .spirv => .{ .spirv = .{} }, }, .generation = 0, .is_pub = false, @@ -1959,6 +1961,7 @@ pub fn analyzeExport( .macho => .{ .macho = link.File.MachO.Export{} }, .c => .{ .c = {} }, .wasm => .{ .wasm = {} }, + .spirv => .{ .spirv = {} }, }, .owner_decl = owner_decl, .exported_decl = exported_decl, diff --git a/src/codegen/spirv.zig b/src/codegen/spirv.zig new file mode 100644 index 0000000000..f0ebd49e1d --- /dev/null +++ b/src/codegen/spirv.zig @@ -0,0 +1,22 @@ +const std = @import("std"); +const spec = @import("spirv/spec.zig"); +const Module = @import("../Module.zig"); +const Decl = Module.Decl; + +pub const SPIRVModule = struct { + // TODO: Also use a free list. + next_id: u32 = 0, + + pub fn allocId(self: *SPIRVModule) u32 { + defer self.next_id += 1; + return self.next_id; + } + + pub fn idBound(self: *SPIRVModule) u32 { + return self.next_id; + } + + pub fn genDecl(self: SPIRVModule, id: u32, code: *std.ArrayList(u32), decl: *Decl) !void { + + } +}; diff --git a/src/link.zig b/src/link.zig index fdbb7efd4b..a19a261f55 100644 --- a/src/link.zig +++ b/src/link.zig @@ -142,7 +142,7 @@ pub const File = struct { macho: MachO.SrcFn, c: C.FnBlock, wasm: ?Wasm.FnData, - spirv: void, + spirv: SpirV.FnData, }; pub const Export = union { @@ -180,7 +180,7 @@ pub const File = struct { .macho => &(try MachO.createEmpty(allocator, options)).base, .wasm => &(try Wasm.createEmpty(allocator, options)).base, .c => unreachable, // Reported error earlier. - .spirv => return error.SpirVObjectFormatUnimplemented, + .spirv => &(try SpirV.createEmpty(allocator, options)).base, .hex => return error.HexObjectFormatUnimplemented, .raw => return error.RawObjectFormatUnimplemented, }; @@ -196,7 +196,7 @@ pub const File = struct { .macho => &(try MachO.createEmpty(allocator, options)).base, .wasm => &(try Wasm.createEmpty(allocator, options)).base, .c => unreachable, // Reported error earlier. - .spirv => return error.SpirVObjectFormatUnimplemented, + .spirv => &(try SpirV.createEmpty(allocator, options)).base, .hex => return error.HexObjectFormatUnimplemented, .raw => return error.RawObjectFormatUnimplemented, }; @@ -212,7 +212,7 @@ pub const File = struct { .macho => &(try MachO.openPath(allocator, sub_path, options)).base, .wasm => &(try Wasm.openPath(allocator, sub_path, options)).base, .c => &(try C.openPath(allocator, sub_path, options)).base, - .spirv => return error.SpirVObjectFormatUnimplemented, + .spirv => &(try SpirV.openPath(allocator, sub_path, options)).base, .hex => return error.HexObjectFormatUnimplemented, .raw => return error.RawObjectFormatUnimplemented, }; @@ -242,7 +242,7 @@ pub const File = struct { .mode = determineMode(base.options), }); }, - .c, .wasm => {}, + .c, .wasm, .spirv => {}, } } @@ -287,7 +287,7 @@ pub const File = struct { f.close(); base.file = null; }, - .c, .wasm => {}, + .c, .wasm, .spirv => {}, } } @@ -300,6 +300,7 @@ pub const File = struct { .macho => return @fieldParentPtr(MachO, "base", base).updateDecl(module, decl), .c => return @fieldParentPtr(C, "base", base).updateDecl(module, decl), .wasm => return @fieldParentPtr(Wasm, "base", base).updateDecl(module, decl), + .spirv => return @fieldParentPtr(SpirV, "base", base).updateDecl(module, decl), } } @@ -309,7 +310,7 @@ pub const File = struct { .elf => return @fieldParentPtr(Elf, "base", base).updateDeclLineNumber(module, decl), .macho => return @fieldParentPtr(MachO, "base", base).updateDeclLineNumber(module, decl), .c => return @fieldParentPtr(C, "base", base).updateDeclLineNumber(module, decl), - .wasm => {}, + .wasm, .spirv => {}, } } @@ -321,7 +322,7 @@ pub const File = struct { .elf => return @fieldParentPtr(Elf, "base", base).allocateDeclIndexes(decl), .macho => return @fieldParentPtr(MachO, "base", base).allocateDeclIndexes(decl), .c => return @fieldParentPtr(C, "base", base).allocateDeclIndexes(decl), - .wasm => {}, + .wasm, .spirv => {}, } } @@ -368,6 +369,11 @@ pub const File = struct { parent.deinit(); base.allocator.destroy(parent); }, + .spirv => { + const parent = @fieldParentPtr(SpirV, "base", base); + parent.deinit(); + base.allocator.destroy(parent); + }, } } @@ -401,6 +407,7 @@ pub const File = struct { .macho => return @fieldParentPtr(MachO, "base", base).flush(comp), .c => return @fieldParentPtr(C, "base", base).flush(comp), .wasm => return @fieldParentPtr(Wasm, "base", base).flush(comp), + .spirv => return @fieldParentPtr(SpirV, "base", base).flush(comp), } } @@ -413,6 +420,7 @@ pub const File = struct { .macho => return @fieldParentPtr(MachO, "base", base).flushModule(comp), .c => return @fieldParentPtr(C, "base", base).flushModule(comp), .wasm => return @fieldParentPtr(Wasm, "base", base).flushModule(comp), + .spirv => return @fieldParentPtr(SpirV, "base", base).flushModule(comp), } } @@ -424,6 +432,7 @@ pub const File = struct { .macho => @fieldParentPtr(MachO, "base", base).freeDecl(decl), .c => @fieldParentPtr(C, "base", base).freeDecl(decl), .wasm => @fieldParentPtr(Wasm, "base", base).freeDecl(decl), + .spirv => @fieldParentPtr(SpirV, "base", base).freeDecl(decl), } } @@ -433,7 +442,7 @@ pub const File = struct { .elf => return @fieldParentPtr(Elf, "base", base).error_flags, .macho => return @fieldParentPtr(MachO, "base", base).error_flags, .c => return .{ .no_entry_point_found = false }, - .wasm => return ErrorFlags{}, + .wasm, .spirv => return ErrorFlags{}, } } @@ -451,6 +460,7 @@ pub const File = struct { .macho => return @fieldParentPtr(MachO, "base", base).updateDeclExports(module, decl, exports), .c => return @fieldParentPtr(C, "base", base).updateDeclExports(module, decl, exports), .wasm => return @fieldParentPtr(Wasm, "base", base).updateDeclExports(module, decl, exports), + .spirv => return @fieldParentPtr(SpirV, "base", base).updateDeclExports(module, decl, exports), } } @@ -461,6 +471,7 @@ pub const File = struct { .macho => return @fieldParentPtr(MachO, "base", base).getDeclVAddr(decl), .c => unreachable, .wasm => unreachable, + .spirv => unreachable, } } diff --git a/src/link/SpirV.zig b/src/link/SpirV.zig new file mode 100644 index 0000000000..207e460174 --- /dev/null +++ b/src/link/SpirV.zig @@ -0,0 +1,131 @@ +const SpirV = @This(); + +const std = @import("std"); +const Allocator = std.mem.Allocator; +const assert = std.debug.assert; + +const Module = @import("../Module.zig"); +const Compilation = @import("../Compilation.zig"); +const link = @import("../link.zig"); +const codegen = @import("../codegen/spirv.zig"); +const trace = @import("../tracy.zig").trace; +const build_options = @import("build_options"); +const spec = @import("../codegen/spirv/spec.zig"); + +pub const FnData = struct { + id: ?u32 = null, + code: std.ArrayListUnmanaged(u32) = .{}, +}; + +base: link.File, + +// TODO: Does this file need to support multiple independent modules? +spirv_module: codegen.SPIRVModule = .{}, + +pub fn createEmpty(gpa: *Allocator, options: link.Options) !*SpirV { + const spirv = try gpa.create(SpirV); + spirv.* = .{ + .base = .{ + .tag = .spirv, + .options = options, + .file = null, + .allocator = gpa, + }, + }; + return spirv; +} + +pub fn openPath(allocator: *Allocator, sub_path: []const u8, options: link.Options) !*SpirV { + assert(options.object_format == .spirv); + + if (options.use_llvm) return error.LLVM_BackendIsTODO_ForSpirV; // TODO: LLVM Doesn't support SpirV at all. + if (options.use_lld) return error.LLD_LinkingIsTODO_ForSpirV; // TODO: LLD Doesn't support SpirV at all. + + // TODO: read the file and keep vaild parts instead of truncating + const file = try options.emit.?.directory.handle.createFile(sub_path, .{ .truncate = true, .read = true }); + errdefer file.close(); + + const spirv = try createEmpty(allocator, options); + errdefer spirv.base.destroy(); + + spirv.base.file = file; + return spirv; +} + +pub fn deinit(self: *SpirV) void { +} + +pub fn updateDecl(self: *SpirV, module: *Module, decl: *Module.Decl) !void { + const tracy = trace(@src()); + defer tracy.end(); + + const fn_data = &decl.fn_link.spirv; + if (fn_data.id == null) { + fn_data.id = self.spirv_module.allocId(); + } + + var managed_code = fn_data.code.toManaged(self.base.allocator); + managed_code.items.len = 0; + + try self.spirv_module.genDecl(fn_data.id.?, &managed_code, decl); + fn_data.code = managed_code.toUnmanaged(); + + // Free excess allocated memory for this Decl. + fn_data.code.shrinkAndFree(self.base.allocator, fn_data.code.items.len); +} + +pub fn updateDeclExports( + self: *SpirV, + module: *Module, + decl: *const Module.Decl, + exports: []const *Module.Export, +) !void {} + +pub fn freeDecl(self: *SpirV, decl: *Module.Decl) void { + decl.fn_link.spirv.code.deinit(self.base.allocator); + decl.fn_link.spirv = undefined; +} + +pub fn flush(self: *SpirV, comp: *Compilation) !void { + if (build_options.have_llvm and self.base.options.use_lld) { + return error.LLD_LinkingIsTODO_ForSpirV; // TODO: LLD Doesn't support SpirV at all. + } else { + return self.flushModule(comp); + } +} + +pub fn flushModule(self: *SpirV, comp: *Compilation) !void { + const tracy = trace(@src()); + defer tracy.end(); + + const module = self.base.options.module.?; + + const file = self.base.file.?; + var bw = std.io.bufferedWriter(file.writer()); + const writer = bw.writer(); + + // Header + // SPIR-V files support both little and big endian words. The actual format is disambiguated by + // the magic number. This backend uses little endian. + try writer.writeIntLittle(u32, spec.magic_number); + try writer.writeIntLittle(u32, (spec.version.major << 16) | (spec.version.minor) << 8); + try writer.writeIntLittle(u32, 0); // TODO: Register Zig compiler magic number. + try writer.writeIntLittle(u32, self.spirv_module.idBound()); + try writer.writeIntLittle(u32, 0); // Schema. + + // Declarations + for (module.decl_table.items()) |entry| { + const decl = entry.value; + switch (decl.typed_value) { + .most_recent => |tvm| { + const fn_data = &decl.fn_link.spirv; + for (fn_data.code.items) |word| { + try writer.writeIntLittle(u32, word); + } + }, + .never_succeeded => continue, + } + } + + try bw.flush(); +} diff --git a/src/main.zig b/src/main.zig index 13bea13a5e..a86ec4ccf5 100644 --- a/src/main.zig +++ b/src/main.zig @@ -302,6 +302,7 @@ const usage_build_generic = \\ pe Portable Executable (Windows) \\ coff Common Object File Format (Windows) \\ macho macOS relocatables + \\ spirv Standard, Portable Intermediate Representation V (SPIR-V) \\ hex (planned) Intel IHEX \\ raw (planned) Dump machine code directly \\ -dirafter [dir] Add directory to AFTER include search path @@ -1515,6 +1516,8 @@ fn buildOutputType( break :blk .hex; } else if (mem.eql(u8, ofmt, "raw")) { break :blk .raw; + } else if (mem.eql(u8, ofmt, "spirv")) { + break :blk .spirv; } else { fatal("unsupported object format: {s}", .{ofmt}); } From 02c138fe7011346ebab5e4b24ba0f8575bb52173 Mon Sep 17 00:00:00 2001 From: Robin Voetter Date: Mon, 18 Jan 2021 23:47:25 +0100 Subject: [PATCH 05/73] SPIR-V: Add glsl450 and vulkan spir-v operating system definitions --- lib/std/target.zig | 18 +++++++++++++++--- lib/std/zig/cross_target.zig | 4 ++++ src/codegen/llvm.zig | 5 +++++ src/link/SpirV.zig | 20 ++++++++++++++++++++ src/target.zig | 4 ++-- src/type.zig | 2 ++ 6 files changed, 48 insertions(+), 5 deletions(-) diff --git a/lib/std/target.zig b/lib/std/target.zig index b3e0f8afdd..66b5f560c1 100644 --- a/lib/std/target.zig +++ b/lib/std/target.zig @@ -57,7 +57,9 @@ pub const Target = struct { wasi, emscripten, uefi, - opencl, // SPIR-V on OpenCL + opencl, + glsl450, + vulkan, other, pub fn isDarwin(tag: Tag) bool { @@ -249,7 +251,9 @@ pub const Target = struct { .wasi, .emscripten, .uefi, - .opencl, + .opencl, // TODO: OpenCL versions + .glsl450, // TODO: GLSL versions + .vulkan, .other, => return .{ .none = {} }, @@ -406,6 +410,8 @@ pub const Target = struct { .emscripten, .uefi, .opencl, + .glsl450, + .vulkan, .other, => false, }; @@ -497,7 +503,9 @@ pub const Target = struct { .wasi, .emscripten, => return .musl, - .opencl, // TODO: Where should this go? + .opencl, // TODO: SPIR-V ABIs with Linkage capability + .glsl450, + .vulkan, => return .none, } } @@ -1367,6 +1375,8 @@ pub const Target = struct { .windows, .emscripten, .opencl, + .glsl450, + .vulkan, .other, => return false, else => return true, @@ -1547,6 +1557,8 @@ pub const Target = struct { .emscripten, .wasi, .opencl, + .glsl450, + .vulkan, .other, => return result, diff --git a/lib/std/zig/cross_target.zig b/lib/std/zig/cross_target.zig index 1e9066b90b..c34dcc2bd3 100644 --- a/lib/std/zig/cross_target.zig +++ b/lib/std/zig/cross_target.zig @@ -131,6 +131,8 @@ pub const CrossTarget = struct { .emscripten, .uefi, .opencl, + .glsl450, + .vulkan, .other, => { self.os_version_min = .{ .none = {} }; @@ -732,6 +734,8 @@ pub const CrossTarget = struct { .emscripten, .uefi, .opencl, + .glsl450, + .vulkan, .other, => return error.InvalidOperatingSystemVersion, diff --git a/src/codegen/llvm.zig b/src/codegen/llvm.zig index 1edd466d54..df6a58b1e2 100644 --- a/src/codegen/llvm.zig +++ b/src/codegen/llvm.zig @@ -69,6 +69,8 @@ pub fn targetTriple(allocator: *Allocator, target: std.Target) ![:0]u8 { .renderscript64 => "renderscript64", .ve => "ve", .spu_2 => return error.LLVMBackendDoesNotSupportSPUMarkII, + .spirv32 => return error.LLVMBackendDoesNotSupportSPIRV, + .spirv64 => return error.LLVMBackendDoesNotSupportSPIRV, }; // TODO Add a sub-arch for some architectures depending on CPU features. @@ -109,6 +111,9 @@ pub fn targetTriple(allocator: *Allocator, target: std.Target) ![:0]u8 { .wasi => "wasi", .emscripten => "emscripten", .uefi => "windows", + .opencl => return error.LLVMBackendDoesNotSupportOpenCL, + .glsl450 => return error.LLVMBackendDoesNotSupportGLSL450, + .vulkan => return error.LLVMBackendDoesNotSupportVulkan, .other => "unknown", }; diff --git a/src/link/SpirV.zig b/src/link/SpirV.zig index 207e460174..68edfab845 100644 --- a/src/link/SpirV.zig +++ b/src/link/SpirV.zig @@ -12,6 +12,8 @@ const trace = @import("../tracy.zig").trace; const build_options = @import("build_options"); const spec = @import("../codegen/spirv/spec.zig"); +//! SPIR-V Documentation: https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html + pub const FnData = struct { id: ?u32 = null, code: std.ArrayListUnmanaged(u32) = .{}, @@ -32,6 +34,22 @@ pub fn createEmpty(gpa: *Allocator, options: link.Options) !*SpirV { .allocator = gpa, }, }; + + // TODO: Figure out where to put all of these + switch (options.target.cpu.arch) { + .spirv32, .spirv64 => {}, + else => return error.TODOArchNotSupported, + } + + switch (options.target.os.tag) { + .opencl, .glsl450, .vulkan => {}, + else => return error.TODOOsNotSupported, + } + + if (options.target.abi != .none) { + return error.TODOAbiNotSupported; + } + return spirv; } @@ -119,6 +137,8 @@ pub fn flushModule(self: *SpirV, comp: *Compilation) !void { switch (decl.typed_value) { .most_recent => |tvm| { const fn_data = &decl.fn_link.spirv; + + // TODO: This could probably be more efficient. for (fn_data.code.items) |word| { try writer.writeIntLittle(u32, word); } diff --git a/src/target.zig b/src/target.zig index c3df682ce0..e167520f89 100644 --- a/src/target.zig +++ b/src/target.zig @@ -189,7 +189,7 @@ pub fn supportsStackProbing(target: std.Target) bool { pub fn osToLLVM(os_tag: std.Target.Os.Tag) llvm.OSType { return switch (os_tag) { - .freestanding, .other => .UnknownOS, + .freestanding, .other, .opencl, .glsl450, .vulkan => .UnknownOS, .windows, .uefi => .Win32, .ananas => .Ananas, .cloudabi => .CloudABI, @@ -280,7 +280,7 @@ pub fn archToLLVM(arch_tag: std.Target.Cpu.Arch) llvm.ArchType { .renderscript32 => .renderscript32, .renderscript64 => .renderscript64, .ve => .ve, - .spu_2 => .UnknownArch, + .spu_2, .spirv32, .spirv64 => .UnknownArch, }; } diff --git a/src/type.zig b/src/type.zig index cb2448aa1a..e0190cdd37 100644 --- a/src/type.zig +++ b/src/type.zig @@ -3598,6 +3598,8 @@ pub const CType = enum { .hermit, .hurd, .opencl, + .glsl450, + .vulkan, => @panic("TODO specify the C integer and float type sizes for this OS"), } } From 71ac82ecb028605545b67eaa50b34f4e2494de44 Mon Sep 17 00:00:00 2001 From: Robin Voetter Date: Tue, 19 Jan 2021 01:29:01 +0100 Subject: [PATCH 06/73] SPIR-V: Make emitting binary more efficient --- src/codegen/spirv.zig | 6 ++++ src/link/SpirV.zig | 79 ++++++++++++++++++++++++++++++++----------- 2 files changed, 66 insertions(+), 19 deletions(-) diff --git a/src/codegen/spirv.zig b/src/codegen/spirv.zig index f0ebd49e1d..7e41913625 100644 --- a/src/codegen/spirv.zig +++ b/src/codegen/spirv.zig @@ -19,4 +19,10 @@ pub const SPIRVModule = struct { pub fn genDecl(self: SPIRVModule, id: u32, code: *std.ArrayList(u32), decl: *Decl) !void { } + + pub fn writeInstruction(code: *std.ArrayList(u32), instr: spec.Opcode, args: []const u32) !void { + const word_count = @intCast(u32, args.len + 1); + try code.append((word_count << 16) | @enumToInt(instr)); + try code.appendSlice(args); + } }; diff --git a/src/link/SpirV.zig b/src/link/SpirV.zig index 68edfab845..03acf3c31e 100644 --- a/src/link/SpirV.zig +++ b/src/link/SpirV.zig @@ -12,7 +12,23 @@ const trace = @import("../tracy.zig").trace; const build_options = @import("build_options"); const spec = @import("../codegen/spirv/spec.zig"); -//! SPIR-V Documentation: https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html +//! SPIR-V Spec documentation: https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html +//! According to above documentation, a SPIR-V module has the following logical layout: +//! Header. +//! OpCapability instructions. +//! OpExtension instructions. +//! OpExtInstImport instructions. +//! A single OpMemoryModel instruction. +//! All entry points, declared with OpEntryPoint instructions. +//! All execution-mode declarators; OpExecutionMode and OpExecutionModeId instructions. +//! Debug instructions: +//! - First, OpString, OpSourceExtension, OpSource, OpSourceContinued (no forward references). +//! - OpName and OpMemberName instructions. +//! - OpModuleProcessed instructions. +//! All annotation (decoration) instructions. +//! All type declaration instructions, constant instructions, global variable declarations, (preferrably) OpUndef instructions. +//! All function declarations without a body (extern functions presumably). +//! All regular functions. pub const FnData = struct { id: ?u32 = null, @@ -103,7 +119,6 @@ pub fn freeDecl(self: *SpirV, decl: *Module.Decl) void { decl.fn_link.spirv.code.deinit(self.base.allocator); decl.fn_link.spirv = undefined; } - pub fn flush(self: *SpirV, comp: *Compilation) !void { if (build_options.have_llvm and self.base.options.use_lld) { return error.LLD_LinkingIsTODO_ForSpirV; // TODO: LLD Doesn't support SpirV at all. @@ -118,34 +133,60 @@ pub fn flushModule(self: *SpirV, comp: *Compilation) !void { const module = self.base.options.module.?; - const file = self.base.file.?; - var bw = std.io.bufferedWriter(file.writer()); - const writer = bw.writer(); + var binary = std.ArrayList(u32).init(self.base.allocator); + defer binary.deinit(); // Header - // SPIR-V files support both little and big endian words. The actual format is disambiguated by - // the magic number. This backend uses little endian. - try writer.writeIntLittle(u32, spec.magic_number); - try writer.writeIntLittle(u32, (spec.version.major << 16) | (spec.version.minor) << 8); - try writer.writeIntLittle(u32, 0); // TODO: Register Zig compiler magic number. - try writer.writeIntLittle(u32, self.spirv_module.idBound()); - try writer.writeIntLittle(u32, 0); // Schema. + { + const header = [_]u32{ + spec.magic_number, + (spec.version.major << 16) | (spec.version.minor << 8), + 0, // TODO: Register Zig compiler magic number. + self.spirv_module.idBound(), + 0, // Schema (currently reserved for future use in the SPIR-V spec). + }; + try binary.appendSlice(&header); + } - // Declarations + // Collect list of buffers to write. + // SPIR-V files support both little and big endian words. The actual format is + // disambiguated by the magic number, and so theoretically we don't need to worry + // about endian-ness when writing the final binary. + var all_buffers = std.ArrayList(std.os.iovec_const).init(self.base.allocator); + defer all_buffers.deinit(); + + // Pre-allocate enough for the binary info + all functions + try all_buffers.ensureCapacity(module.decl_table.count() + 1); + + all_buffers.appendAssumeCapacity(wordsToIovConst(binary.items)); + + // Functions for (module.decl_table.items()) |entry| { const decl = entry.value; switch (decl.typed_value) { .most_recent => |tvm| { const fn_data = &decl.fn_link.spirv; - - // TODO: This could probably be more efficient. - for (fn_data.code.items) |word| { - try writer.writeIntLittle(u32, word); - } + all_buffers.appendAssumeCapacity(wordsToIovConst(fn_data.code.items)); }, .never_succeeded => continue, } } - try bw.flush(); + var file_size: u64 = 0; + for (all_buffers.items) |iov| { + file_size += iov.iov_len; + } + + const file = self.base.file.?; + try file.seekTo(0); + try file.setEndPos(file_size); + try file.pwritevAll(all_buffers.items, 0); +} + +fn wordsToIovConst(words: []const u32) std.os.iovec_const { + const bytes = std.mem.sliceAsBytes(words); + return .{ + .iov_base = bytes.ptr, + .iov_len = bytes.len, + }; } From 801732aebd3092c539b754170032455139c7418c Mon Sep 17 00:00:00 2001 From: Robin Voetter Date: Tue, 19 Jan 2021 01:54:01 +0100 Subject: [PATCH 07/73] SPIR-V: OpMemoryModel and basic capability generation --- src/codegen/spirv.zig | 12 ++++----- src/link/SpirV.zig | 61 ++++++++++++++++++++++++++++++++++--------- 2 files changed, 55 insertions(+), 18 deletions(-) diff --git a/src/codegen/spirv.zig b/src/codegen/spirv.zig index 7e41913625..2fe759dc03 100644 --- a/src/codegen/spirv.zig +++ b/src/codegen/spirv.zig @@ -3,6 +3,12 @@ const spec = @import("spirv/spec.zig"); const Module = @import("../Module.zig"); const Decl = Module.Decl; +pub fn writeInstruction(code: *std.ArrayList(u32), instr: spec.Opcode, args: []const u32) !void { + const word_count = @intCast(u32, args.len + 1); + try code.append((word_count << 16) | @enumToInt(instr)); + try code.appendSlice(args); +} + pub const SPIRVModule = struct { // TODO: Also use a free list. next_id: u32 = 0, @@ -19,10 +25,4 @@ pub const SPIRVModule = struct { pub fn genDecl(self: SPIRVModule, id: u32, code: *std.ArrayList(u32), decl: *Decl) !void { } - - pub fn writeInstruction(code: *std.ArrayList(u32), instr: spec.Opcode, args: []const u32) !void { - const word_count = @intCast(u32, args.len + 1); - try code.append((word_count << 16) | @enumToInt(instr)); - try code.appendSlice(args); - } }; diff --git a/src/link/SpirV.zig b/src/link/SpirV.zig index 03acf3c31e..80469726e0 100644 --- a/src/link/SpirV.zig +++ b/src/link/SpirV.zig @@ -132,21 +132,24 @@ pub fn flushModule(self: *SpirV, comp: *Compilation) !void { defer tracy.end(); const module = self.base.options.module.?; + const target = comp.getTarget(); var binary = std.ArrayList(u32).init(self.base.allocator); defer binary.deinit(); - // Header - { - const header = [_]u32{ - spec.magic_number, - (spec.version.major << 16) | (spec.version.minor << 8), - 0, // TODO: Register Zig compiler magic number. - self.spirv_module.idBound(), - 0, // Schema (currently reserved for future use in the SPIR-V spec). - }; - try binary.appendSlice(&header); - } + // Note: The order of adding functions to the final binary + // follows the SPIR-V logical moduel format! + + try binary.appendSlice(&[_]u32{ + spec.magic_number, + (spec.version.major << 16) | (spec.version.minor << 8), + 0, // TODO: Register Zig compiler magic number. + self.spirv_module.idBound(), + 0, // Schema (currently reserved for future use in the SPIR-V spec). + }); + + try writeCapabilities(&binary, target); + try writeMemoryModel(&binary, target); // Collect list of buffers to write. // SPIR-V files support both little and big endian words. The actual format is @@ -160,7 +163,6 @@ pub fn flushModule(self: *SpirV, comp: *Compilation) !void { all_buffers.appendAssumeCapacity(wordsToIovConst(binary.items)); - // Functions for (module.decl_table.items()) |entry| { const decl = entry.value; switch (decl.typed_value) { @@ -183,6 +185,41 @@ pub fn flushModule(self: *SpirV, comp: *Compilation) !void { try file.pwritevAll(all_buffers.items, 0); } +fn writeCapabilities(binary: *std.ArrayList(u32), target: std.Target) !void { + // TODO: Integrate with a hypothetical feature system + const cap: spec.Capability = switch (target.os.tag) { + .opencl => .Kernel, + .glsl450 => .Shader, + .vulkan => .VulkanMemoryModel, + else => unreachable, // TODO + }; + + try codegen.writeInstruction(binary, .OpCapability, &[_]u32{ @enumToInt(cap) }); +} + +fn writeMemoryModel(binary: *std.ArrayList(u32), target: std.Target) !void { + const addressing_model = switch (target.os.tag) { + .opencl => switch (target.cpu.arch) { + .spirv32 => spec.AddressingModel.Physical32, + .spirv64 => spec.AddressingModel.Physical64, + else => unreachable, // TODO + }, + .glsl450, .vulkan => spec.AddressingModel.Logical, + else => unreachable, // TODO + }; + + const memory_model: spec.MemoryModel = switch (target.os.tag) { + .opencl => .OpenCL, + .glsl450 => .GLSL450, + .vulkan => .Vulkan, + else => unreachable, + }; + + try codegen.writeInstruction(binary, .OpMemoryModel, &[_]u32{ + @enumToInt(addressing_model), @enumToInt(memory_model) + }); +} + fn wordsToIovConst(words: []const u32) std.os.iovec_const { const bytes = std.mem.sliceAsBytes(words); return .{ From 1055344673a87af39f2288bae069ec9403e6086d Mon Sep 17 00:00:00 2001 From: Robin Voetter Date: Tue, 19 Jan 2021 14:28:48 +0100 Subject: [PATCH 08/73] SPIR-V: Use free list for result id generation --- src/codegen/spirv.zig | 25 ++++++++++++++++++++++++- src/link/SpirV.zig | 13 +++++++++---- 2 files changed, 33 insertions(+), 5 deletions(-) diff --git a/src/codegen/spirv.zig b/src/codegen/spirv.zig index 2fe759dc03..5a262de836 100644 --- a/src/codegen/spirv.zig +++ b/src/codegen/spirv.zig @@ -1,4 +1,6 @@ const std = @import("std"); +const Allocator = std.mem.Allocator; + const spec = @import("spirv/spec.zig"); const Module = @import("../Module.zig"); const Decl = Module.Decl; @@ -10,14 +12,35 @@ pub fn writeInstruction(code: *std.ArrayList(u32), instr: spec.Opcode, args: []c } pub const SPIRVModule = struct { - // TODO: Also use a free list. next_id: u32 = 0, + free_id_list: std.ArrayList(u32), + + pub fn init(allocator: *Allocator) SPIRVModule { + return .{ + .free_id_list = std.ArrayList(u32).init(allocator), + }; + } + + pub fn deinit(self: *SPIRVModule) void { + self.free_id_list.deinit(); + } pub fn allocId(self: *SPIRVModule) u32 { + if (self.free_id_list.popOrNull()) |id| return id; + defer self.next_id += 1; return self.next_id; } + pub fn freeId(self: *SPIRVModule, id: u32) void { + if (id + 1 == self.next_id) { + self.next_id -= 1; + } else { + // If no more memory to append the id to the free list, just ignore it. + self.free_id_list.append(id) catch {}; + } + } + pub fn idBound(self: *SPIRVModule) u32 { return self.next_id; } diff --git a/src/link/SpirV.zig b/src/link/SpirV.zig index 80469726e0..bde1eae391 100644 --- a/src/link/SpirV.zig +++ b/src/link/SpirV.zig @@ -38,7 +38,7 @@ pub const FnData = struct { base: link.File, // TODO: Does this file need to support multiple independent modules? -spirv_module: codegen.SPIRVModule = .{}, +spirv_module: codegen.SPIRVModule, pub fn createEmpty(gpa: *Allocator, options: link.Options) !*SpirV { const spirv = try gpa.create(SpirV); @@ -49,6 +49,7 @@ pub fn createEmpty(gpa: *Allocator, options: link.Options) !*SpirV { .file = null, .allocator = gpa, }, + .spirv_module = codegen.SPIRVModule.init(gpa), }; // TODO: Figure out where to put all of these @@ -87,6 +88,7 @@ pub fn openPath(allocator: *Allocator, sub_path: []const u8, options: link.Optio } pub fn deinit(self: *SpirV) void { + self.spirv_module.deinit(); } pub fn updateDecl(self: *SpirV, module: *Module, decl: *Module.Decl) !void { @@ -116,9 +118,12 @@ pub fn updateDeclExports( ) !void {} pub fn freeDecl(self: *SpirV, decl: *Module.Decl) void { - decl.fn_link.spirv.code.deinit(self.base.allocator); + var fn_data = decl.fn_link.spirv; + fn_data.code.deinit(self.base.allocator); + if (fn_data.id) |id| self.spirv_module.freeId(id); decl.fn_link.spirv = undefined; } + pub fn flush(self: *SpirV, comp: *Compilation) !void { if (build_options.have_llvm and self.base.options.use_lld) { return error.LLD_LinkingIsTODO_ForSpirV; // TODO: LLD Doesn't support SpirV at all. @@ -137,8 +142,8 @@ pub fn flushModule(self: *SpirV, comp: *Compilation) !void { var binary = std.ArrayList(u32).init(self.base.allocator); defer binary.deinit(); - // Note: The order of adding functions to the final binary - // follows the SPIR-V logical moduel format! + // Note: The order of adding sections to the final binary + // follows the SPIR-V logical module format! try binary.appendSlice(&[_]u32{ spec.magic_number, From ccef167e9d5b3a34151cac46e39040b53f12eb68 Mon Sep 17 00:00:00 2001 From: Luuk de Gram Date: Sun, 24 Jan 2021 10:54:51 +0100 Subject: [PATCH 09/73] Define wasm constants Update link.Wasm.zig to use std.wasm for its constants Make opcodes u8 and non-exhaustive Update test and rename 'spec' to 'wasm' --- lib/std/std.zig | 1 + lib/std/wasm.zig | 266 ++++++++++++++++++++++++++++++++++++++++++++++ src/link/Wasm.zig | 52 +++------ 3 files changed, 284 insertions(+), 35 deletions(-) create mode 100644 lib/std/wasm.zig diff --git a/lib/std/std.zig b/lib/std/std.zig index d085d4fc41..e51ab8641e 100644 --- a/lib/std/std.zig +++ b/lib/std/std.zig @@ -77,6 +77,7 @@ pub const testing = @import("testing.zig"); pub const time = @import("time.zig"); pub const unicode = @import("unicode.zig"); pub const valgrind = @import("valgrind.zig"); +pub const wasm = @import("wasm.zig"); pub const zig = @import("zig.zig"); pub const start = @import("start.zig"); diff --git a/lib/std/wasm.zig b/lib/std/wasm.zig new file mode 100644 index 0000000000..aa087c89c9 --- /dev/null +++ b/lib/std/wasm.zig @@ -0,0 +1,266 @@ +// SPDX-License-Identifier: MIT +// Copyright (c) 2015-2021 Zig Contributors +// This file is part of [zig](https://ziglang.org/), which is MIT licensed. +// The MIT license requires this copyright notice to be included in all copies +// and substantial portions of the software. +const testing = @import("std.zig").testing; + +/// Wasm instruction opcodes +/// +/// All instructions are defined as per spec: +/// https://webassembly.github.io/spec/core/appendix/index-instructions.html +pub const Opcode = enum(u8) { + @"unreachable" = 0x00, + nop = 0x01, + block = 0x02, + loop = 0x03, + @"if" = 0x04, + @"else" = 0x05, + end = 0x0B, + br = 0x0C, + br_if = 0x0D, + br_table = 0x0E, + @"return" = 0x0F, + call = 0x10, + call_indirect = 0x11, + drop = 0x1A, + select = 0x1B, + local_get = 0x20, + local_set = 0x21, + local_tee = 0x22, + global_get = 0x23, + global_set = 0x24, + i32_load = 0x28, + i64_load = 0x29, + f32_load = 0x2A, + f64_load = 0x2B, + i32_load8_s = 0x2C, + i32_load8_u = 0x2D, + i32_load16_s = 0x2E, + i32_load16_u = 0x2F, + i64_load8_s = 0x30, + i64_load8_u = 0x31, + i64_load16_s = 0x32, + i64_load16_u = 0x33, + i64_load32_s = 0x34, + i64_load32_u = 0x35, + i32_store = 0x36, + i64_store = 0x37, + f32_store = 0x38, + f64_store = 0x39, + i32_store8 = 0x3A, + i32_store16 = 0x3B, + i64_store8 = 0x3C, + i64_store16 = 0x3D, + i64_store32 = 0x3E, + memory_size = 0x3F, + memory_grow = 0x40, + i32_const = 0x41, + i64_const = 0x42, + f32_const = 0x43, + f64_const = 0x44, + i32_eqz = 0x45, + i32_eq = 0x46, + i32_ne = 0x47, + i32_lt_s = 0x48, + i32_lt_u = 0x49, + i32_gt_s = 0x4A, + i32_gt_u = 0x4B, + i32_le_s = 0x4C, + i32_le_u = 0x4D, + i32_ge_s = 0x4E, + i32_ge_u = 0x4F, + i64_eqz = 0x50, + i64_eq = 0x51, + i64_ne = 0x52, + i64_lt_s = 0x53, + i64_lt_u = 0x54, + i64_gt_s = 0x55, + i64_gt_u = 0x56, + i64_le_s = 0x57, + i64_le_u = 0x58, + i64_ge_s = 0x59, + i64_ge_u = 0x5A, + f32_eq = 0x5B, + f32_ne = 0x5C, + f32_lt = 0x5D, + f32_gt = 0x5E, + f32_le = 0x5F, + f32_ge = 0x60, + f64_eq = 0x61, + f64_ne = 0x62, + f64_lt = 0x63, + f64_gt = 0x64, + f64_le = 0x65, + f64_ge = 0x66, + i32_clz = 0x67, + i32_ctz = 0x68, + i32_popcnt = 0x69, + i32_add = 0x6A, + i32_sub = 0x6B, + i32_mul = 0x6C, + i32_div_s = 0x6D, + i32_div_u = 0x6E, + i32_rem_s = 0x6F, + i32_rem_u = 0x70, + i32_and = 0x71, + i32_or = 0x72, + i32_xor = 0x73, + i32_shl = 0x74, + i32_shr_s = 0x75, + i32_shr_u = 0x76, + i32_rotl = 0x77, + i32_rotr = 0x78, + i64_clz = 0x79, + i64_ctz = 0x7A, + i64_popcnt = 0x7B, + i64_add = 0x7C, + i64_sub = 0x7D, + i64_mul = 0x7E, + i64_div_s = 0x7F, + i64_div_u = 0x80, + i64_rem_s = 0x81, + i64_rem_u = 0x82, + i64_and = 0x83, + i64_or = 0x84, + i64_xor = 0x85, + i64_shl = 0x86, + i64_shr_s = 0x87, + i64_shr_u = 0x88, + i64_rotl = 0x89, + i64_rotr = 0x8A, + f32_abs = 0x8B, + f32_neg = 0x8C, + f32_ceil = 0x8D, + f32_floor = 0x8E, + f32_trunc = 0x8F, + f32_nearest = 0x90, + f32_sqrt = 0x91, + f32_add = 0x92, + f32_sub = 0x93, + f32_mul = 0x94, + f32_div = 0x95, + f32_min = 0x96, + f32_max = 0x97, + f32_copysign = 0x98, + f64_abs = 0x99, + f64_neg = 0x9A, + f64_ceil = 0x9B, + f64_floor = 0x9C, + f64_trunc = 0x9D, + f64_nearest = 0x9E, + f64_sqrt = 0x9F, + f64_add = 0xA0, + f64_sub = 0xA1, + f64_mul = 0xA2, + f64_div = 0xA3, + f64_min = 0xA4, + f64_max = 0xA5, + f64_copysign = 0xA6, + i32_wrap_i64 = 0xA7, + i32_trunc_f32_s = 0xA8, + i32_trunc_f32_u = 0xA9, + i32_trunc_f64_s = 0xB0, + i32_trunc_f64_u = 0xB1, + f32_convert_i32_s = 0xB2, + f32_convert_i32_u = 0xB3, + f32_convert_i64_s = 0xB4, + f32_convert_i64_u = 0xB5, + f32_demote_f64 = 0xB6, + f64_convert_i32_s = 0xB7, + f64_convert_i32_u = 0xB8, + f64_convert_i64_s = 0xB9, + f64_convert_i64_u = 0xBA, + f64_promote_f32 = 0xBB, + i32_reinterpret_f32 = 0xBC, + i64_reinterpret_f64 = 0xBD, + f32_reinterpret_i32 = 0xBE, + i64_reinterpret_i64 = 0xBF, + i32_extend8_s = 0xC0, + i32_extend16_s = 0xC1, + i64_extend8_s = 0xC2, + i64_extend16_s = 0xC3, + i64_extend32_s = 0xC4, + _, +}; + +/// Returns the integer value of an `Opcode`. Used by the Zig compiler +/// to write instructions to the wasm binary file +pub fn opcode(op: Opcode) u8 { + return @enumToInt(op); +} + +test "Wasm - opcodes" { + // Ensure our opcodes values remain intact as certain values are skipped due to them being reserved + const i32_const = opcode(.i32_const); + const end = opcode(.end); + const drop = opcode(.drop); + const local_get = opcode(.local_get); + const i64_extend32_s = opcode(.i64_extend32_s); + + testing.expectEqual(@as(u16, 0x41), i32_const); + testing.expectEqual(@as(u16, 0x0B), end); + testing.expectEqual(@as(u16, 0x1A), drop); + testing.expectEqual(@as(u16, 0x20), local_get); + testing.expectEqual(@as(u16, 0xC4), i64_extend32_s); +} + +/// Enum representing all Wasm value types as per spec: +/// https://webassembly.github.io/spec/core/binary/types.html +pub const Valtype = enum(u8) { + i32 = 0x7F, + i64 = 0x7E, + f32 = 0x7D, + f64 = 0x7C, +}; + +/// Returns the integer value of a `Valtype` +pub fn valtype(value: Valtype) u8 { + return @enumToInt(value); +} + +test "Wasm - valtypes" { + const _i32 = valtype(.i32); + const _i64 = valtype(.i64); + const _f32 = valtype(.f32); + const _f64 = valtype(.f64); + + testing.expectEqual(@as(u8, 0x7F), _i32); + testing.expectEqual(@as(u8, 0x7E), _i64); + testing.expectEqual(@as(u8, 0x7D), _f32); + testing.expectEqual(@as(u8, 0x7C), _f64); +} + +/// Wasm module sections as per spec: +/// https://webassembly.github.io/spec/core/binary/modules.html +pub const Section = enum(u8) { + custom, + type, + import, + function, + table, + memory, + global, + @"export", + start, + element, + code, + data, +}; + +/// Returns the integer value of a given `Section` +pub fn section(val: Section) u8 { + return @enumToInt(val); +} + +// types +pub const element_type: u8 = 0x70; +pub const function_type: u8 = 0x60; +pub const result_type: u8 = 0x40; + +/// Represents a block which will not return a value +pub const block_empty: u8 = 0x40; + +// binary constants +pub const magic = [_]u8{ 0x00, 0x61, 0x73, 0x6D }; // \0asm +pub const version = [_]u8{ 0x01, 0x00, 0x00, 0x00 }; // version 1 diff --git a/src/link/Wasm.zig b/src/link/Wasm.zig index 4640c9f1af..ec5ca0b9cf 100644 --- a/src/link/Wasm.zig +++ b/src/link/Wasm.zig @@ -7,6 +7,7 @@ const assert = std.debug.assert; const fs = std.fs; const leb = std.leb; const log = std.log.scoped(.link); +const wasm = std.wasm; const Module = @import("../Module.zig"); const Compilation = @import("../Compilation.zig"); @@ -16,25 +17,6 @@ const trace = @import("../tracy.zig").trace; const build_options = @import("build_options"); const Cache = @import("../Cache.zig"); -/// Various magic numbers defined by the wasm spec -const spec = struct { - const magic = [_]u8{ 0x00, 0x61, 0x73, 0x6D }; // \0asm - const version = [_]u8{ 0x01, 0x00, 0x00, 0x00 }; // version 1 - - const custom_id = 0; - const types_id = 1; - const imports_id = 2; - const funcs_id = 3; - const tables_id = 4; - const memories_id = 5; - const globals_id = 6; - const exports_id = 7; - const start_id = 8; - const elements_id = 9; - const code_id = 10; - const data_id = 11; -}; - pub const base_tag = link.File.Tag.wasm; pub const FnData = struct { @@ -65,19 +47,19 @@ pub fn openPath(allocator: *Allocator, sub_path: []const u8, options: link.Optio const file = try options.emit.?.directory.handle.createFile(sub_path, .{ .truncate = true, .read = true }); errdefer file.close(); - const wasm = try createEmpty(allocator, options); - errdefer wasm.base.destroy(); + const wasm_bin = try createEmpty(allocator, options); + errdefer wasm_bin.base.destroy(); - wasm.base.file = file; + wasm_bin.base.file = file; - try file.writeAll(&(spec.magic ++ spec.version)); + try file.writeAll(&(wasm.magic ++ wasm.version)); - return wasm; + return wasm_bin; } pub fn createEmpty(gpa: *Allocator, options: link.Options) !*Wasm { - const wasm = try gpa.create(Wasm); - wasm.* = .{ + const wasm_bin = try gpa.create(Wasm); + wasm_bin.* = .{ .base = .{ .tag = .wasm, .options = options, @@ -85,7 +67,7 @@ pub fn createEmpty(gpa: *Allocator, options: link.Options) !*Wasm { .allocator = gpa, }, }; - return wasm; + return wasm_bin; } pub fn deinit(self: *Wasm) void { @@ -176,8 +158,8 @@ pub fn flushModule(self: *Wasm, comp: *Compilation) !void { const header_size = 5 + 1; // No need to rewrite the magic/version header - try file.setEndPos(@sizeOf(@TypeOf(spec.magic ++ spec.version))); - try file.seekTo(@sizeOf(@TypeOf(spec.magic ++ spec.version))); + try file.setEndPos(@sizeOf(@TypeOf(wasm.magic ++ wasm.version))); + try file.seekTo(@sizeOf(@TypeOf(wasm.magic ++ wasm.version))); // Type section { @@ -188,7 +170,7 @@ pub fn flushModule(self: *Wasm, comp: *Compilation) !void { try writeVecSectionHeader( file, header_offset, - spec.types_id, + .type, @intCast(u32, (try file.getPos()) - header_offset - header_size), @intCast(u32, self.funcs.items.len), ); @@ -202,7 +184,7 @@ pub fn flushModule(self: *Wasm, comp: *Compilation) !void { try writeVecSectionHeader( file, header_offset, - spec.funcs_id, + .function, @intCast(u32, (try file.getPos()) - header_offset - header_size), @intCast(u32, self.funcs.items.len), ); @@ -235,7 +217,7 @@ pub fn flushModule(self: *Wasm, comp: *Compilation) !void { try writeVecSectionHeader( file, header_offset, - spec.exports_id, + .@"export", @intCast(u32, (try file.getPos()) - header_offset - header_size), count, ); @@ -266,7 +248,7 @@ pub fn flushModule(self: *Wasm, comp: *Compilation) !void { try writeVecSectionHeader( file, header_offset, - spec.code_id, + .code, @intCast(u32, (try file.getPos()) - header_offset - header_size), @intCast(u32, self.funcs.items.len), ); @@ -514,9 +496,9 @@ fn reserveVecSectionHeader(file: fs.File) !u64 { return (try file.getPos()) - header_size; } -fn writeVecSectionHeader(file: fs.File, offset: u64, section: u8, size: u32, items: u32) !void { +fn writeVecSectionHeader(file: fs.File, offset: u64, section: wasm.Section, size: u32, items: u32) !void { var buf: [1 + 5 + 5]u8 = undefined; - buf[0] = section; + buf[0] = @enumToInt(section); leb.writeUnsignedFixed(5, buf[1..6], size); leb.writeUnsignedFixed(5, buf[6..], items); try file.pwriteAll(&buf, offset); From a0d81caec99fe0d1cd803b0ba461b6e02829b476 Mon Sep 17 00:00:00 2001 From: Luuk de Gram Date: Sun, 24 Jan 2021 14:35:14 +0100 Subject: [PATCH 10/73] Nested conditions and loops support --- src/codegen/wasm.zig | 329 ++++++++++++++++++++++++++++++++++--------- src/link/Wasm.zig | 5 +- 2 files changed, 264 insertions(+), 70 deletions(-) diff --git a/src/codegen/wasm.zig b/src/codegen/wasm.zig index cbb2a42189..8acaebbd75 100644 --- a/src/codegen/wasm.zig +++ b/src/codegen/wasm.zig @@ -4,6 +4,7 @@ const ArrayList = std.ArrayList; const assert = std.debug.assert; const leb = std.leb; const mem = std.mem; +const wasm = std.wasm; const Module = @import("../Module.zig"); const Decl = Module.Decl; @@ -12,6 +13,7 @@ const Inst = ir.Inst; const Type = @import("../type.zig").Type; const Value = @import("../value.zig").Value; const Compilation = @import("../Compilation.zig"); +const AnyMCValue = @import("../codegen.zig").AnyMCValue; /// Wasm Value, created when generating an instruction const WValue = union(enum) { @@ -20,23 +22,14 @@ const WValue = union(enum) { local: u32, /// Instruction holding a constant `Value` constant: *Inst, - /// Block label + /// Offset position in the list of bytecode instructions + code_offset: usize, + /// The label of the block, used by breaks to find its relative distance block_idx: u32, }; /// Hashmap to store generated `WValue` for each `Inst` -pub const ValueTable = std.AutoHashMap(*Inst, WValue); - -/// Using a given `Type`, returns the corresponding wasm value type -fn genValtype(ty: Type) ?u8 { - return switch (ty.tag()) { - .f32 => 0x7D, - .f64 => 0x7C, - .u32, .i32 => 0x7F, - .u64, .i64 => 0x7E, - else => null, - }; -} +pub const ValueTable = std.AutoHashMapUnmanaged(*Inst, WValue); /// Code represents the `Code` section of wasm that /// belongs to a function @@ -58,13 +51,25 @@ pub const Context = struct { local_index: u32 = 0, /// If codegen fails, an error messages will be allocated and saved in `err_msg` err_msg: *Module.ErrorMsg, + /// Current block depth. Used to calculate the relative difference between a break + /// and block + block_depth: u32 = 0, + /// List of all locals' types generated throughout this declaration + /// used to emit locals count at start of 'code' section. + locals: std.ArrayListUnmanaged(u8), const InnerError = error{ OutOfMemory, CodegenFail, }; - /// Sets `err_msg` on `Context` and returns `error.CodegenFail` which is caught in link/Wasm.zig + pub fn deinit(self: *Context) void { + self.values.deinit(self.gpa); + self.locals.deinit(self.gpa); + self.* = undefined; + } + + /// Sets `err_msg` on `Context` and returns `error.CodegemFail` which is caught in link/Wasm.zig fn fail(self: *Context, src: usize, comptime fmt: []const u8, args: anytype) InnerError { self.err_msg = try Module.ErrorMsg.create(self.gpa, .{ .file_scope = self.decl.getFileScope(), @@ -85,13 +90,35 @@ pub const Context = struct { return self.values.get(inst).?; // Instruction does not dominate all uses! } + /// Using a given `Type`, returns the corresponding wasm value type + fn genValtype(self: *Context, src: usize, ty: Type) InnerError!u8 { + return switch (ty.tag()) { + .f32 => wasm.valtype(.f32), + .f64 => wasm.valtype(.f64), + .u32, .i32 => wasm.valtype(.i32), + .u64, .i64 => wasm.valtype(.i64), + else => self.fail(src, "TODO - Wasm genValtype for type '{s}'", .{ty.tag()}), + }; + } + + /// Using a given `Type`, returns the corresponding wasm value type + /// Differently from `genValtype` this also allows `void` to create a block + /// with no return type + fn genBlockType(self: *Context, src: usize, ty: Type) InnerError!u8 { + return switch (ty.tag()) { + .void, .noreturn => wasm.block_empty, + else => self.genValtype(src, ty), + }; + } + /// Writes the bytecode depending on the given `WValue` in `val` fn emitWValue(self: *Context, val: WValue) InnerError!void { const writer = self.code.writer(); switch (val) { - .none, .block_idx => {}, + .block_idx => unreachable, + .none, .code_offset => {}, .local => |idx| { - try writer.writeByte(0x20); // local.get + try writer.writeByte(wasm.opcode(.local_get)); try leb.writeULEB128(writer, idx); }, .constant => |inst| try self.emitConstant(inst.castTag(.constant).?), // creates a new constant onto the stack @@ -102,8 +129,7 @@ pub const Context = struct { const ty = self.decl.typed_value.most_recent.typed_value.ty; const writer = self.func_type_data.writer(); - // functype magic - try writer.writeByte(0x60); + try writer.writeByte(wasm.function_type); // param types try leb.writeULEB128(writer, @intCast(u32, ty.fnParamLen())); @@ -112,8 +138,8 @@ pub const Context = struct { defer self.gpa.free(params); ty.fnParamTypes(params); for (params) |param_type| { - const val_type = genValtype(param_type) orelse - return self.fail(self.decl.src(), "TODO: Wasm codegen - arg type value for type '{s}'", .{param_type.tag()}); + // Can we maybe get the source index of each param? + const val_type = try self.genValtype(self.decl.src(), param_type); try writer.writeByte(val_type); } } @@ -124,8 +150,8 @@ pub const Context = struct { .void, .noreturn => try leb.writeULEB128(writer, @as(u32, 0)), else => |ret_type| { try leb.writeULEB128(writer, @as(u32, 1)); - const val_type = genValtype(return_type) orelse - return self.fail(self.decl.src(), "TODO: Wasm codegen - return type value for type '{s}'", .{ret_type}); + // Can we maybe get the source index of the return type? + const val_type = try self.genValtype(self.decl.src(), return_type); try writer.writeByte(val_type); }, } @@ -140,37 +166,33 @@ pub const Context = struct { // Reserve space to write the size after generating the code try self.code.resize(5); + // offset into 'code' section where we will put our locals count + var local_offset = self.code.items.len; + // Write instructions // TODO: check for and handle death of instructions const tv = self.decl.typed_value.most_recent.typed_value; const mod_fn = tv.val.castTag(.function).?.data; - - var locals = std.ArrayList(u8).init(self.gpa); - defer locals.deinit(); - - for (mod_fn.body.instructions) |inst| { - if (inst.tag != .alloc) continue; - - const alloc: *Inst.NoOp = inst.castTag(.alloc).?; - const elem_type = alloc.base.ty.elemType(); - - const wasm_type = genValtype(elem_type) orelse - return self.fail(inst.src, "TODO: Wasm codegen - valtype for type '{s}'", .{elem_type.tag()}); - - try locals.append(wasm_type); - } - - try leb.writeULEB128(writer, @intCast(u32, locals.items.len)); - - // emit the actual locals amount - for (locals.items) |local| { - try leb.writeULEB128(writer, @as(u32, 1)); - try leb.writeULEB128(writer, local); // valtype - } - try self.genBody(mod_fn.body); - try writer.writeByte(0x0B); // end + // finally, write our local types at the 'offset' position + { + var totals_buffer: [5]u8 = undefined; + leb.writeUnsignedFixed(5, totals_buffer[0..5], @intCast(u32, self.locals.items.len)); + try self.code.insertSlice(local_offset, &totals_buffer); + local_offset += 5; + + // emit the actual locals amount + for (self.locals.items) |local| { + var buf: [6]u8 = undefined; + leb.writeUnsignedFixed(5, buf[0..5], @as(u32, 1)); + buf[5] = local; + try self.code.insertSlice(local_offset, &buf); + local_offset += 6; + } + } + + try writer.writeByte(wasm.opcode(.end)); // Fill in the size of the generated code to the reserved space at the // beginning of the buffer. @@ -183,10 +205,20 @@ pub const Context = struct { .add => self.genAdd(inst.castTag(.add).?), .alloc => self.genAlloc(inst.castTag(.alloc).?), .arg => self.genArg(inst.castTag(.arg).?), + .block => self.genBlock(inst.castTag(.block).?), + .br => self.genBr(inst.castTag(.br).?), .call => self.genCall(inst.castTag(.call).?), + .cmp_eq => self.genCmp(inst.castTag(.cmp_eq).?, .eq), + .cmp_gte => self.genCmp(inst.castTag(.cmp_gte).?, .gte), + .cmp_gt => self.genCmp(inst.castTag(.cmp_gt).?, .gt), + .cmp_lte => self.genCmp(inst.castTag(.cmp_lte).?, .lte), + .cmp_lt => self.genCmp(inst.castTag(.cmp_lt).?, .lt), + .cmp_neq => self.genCmp(inst.castTag(.cmp_neq).?, .neq), + .condbr => self.genCondBr(inst.castTag(.condbr).?), .constant => unreachable, .dbg_stmt => WValue.none, .load => self.genLoad(inst.castTag(.load).?), + .loop => self.genLoop(inst.castTag(.loop).?), .ret => self.genRet(inst.castTag(.ret).?), .retvoid => WValue.none, .store => self.genStore(inst.castTag(.store).?), @@ -197,7 +229,7 @@ pub const Context = struct { fn genBody(self: *Context, body: ir.Body) InnerError!void { for (body.instructions) |inst| { const result = try self.genInst(inst); - try self.values.putNoClobber(inst, result); + try self.values.putNoClobber(self.gpa, inst, result); } } @@ -205,7 +237,7 @@ pub const Context = struct { // TODO: Implement tail calls const operand = self.resolveInst(inst.operand); try self.emitWValue(operand); - return WValue.none; + return .none; } fn genCall(self: *Context, inst: *Inst.Call) InnerError!WValue { @@ -219,7 +251,7 @@ pub const Context = struct { try self.emitWValue(arg_val); } - try self.code.append(0x10); // call + try self.code.append(wasm.opcode(.call)); // The function index immediate argument will be filled in using this data // in link.Wasm.flush(). @@ -228,10 +260,14 @@ pub const Context = struct { .decl = target, }); - return WValue.none; + return .none; } fn genAlloc(self: *Context, inst: *Inst.NoOp) InnerError!WValue { + const elem_type = inst.base.ty.elemType(); + const valtype = try self.genValtype(inst.base.src, elem_type); + try self.locals.append(self.gpa, valtype); + defer self.local_index += 1; return WValue{ .local = self.local_index }; } @@ -243,15 +279,14 @@ pub const Context = struct { const rhs = self.resolveInst(inst.rhs); try self.emitWValue(rhs); - try writer.writeByte(0x21); // local.set + try writer.writeByte(wasm.opcode(.local_set)); try leb.writeULEB128(writer, lhs.local); - return WValue.none; + return .none; } fn genLoad(self: *Context, inst: *Inst.UnOp) InnerError!WValue { const operand = self.resolveInst(inst.operand); - try self.emitWValue(operand); - return WValue.none; + return operand; } fn genArg(self: *Context, inst: *Inst.Arg) InnerError!WValue { @@ -267,44 +302,44 @@ pub const Context = struct { try self.emitWValue(lhs); try self.emitWValue(rhs); - const opcode: u8 = switch (inst.base.ty.tag()) { - .u32, .i32 => 0x6A, //i32.add - .u64, .i64 => 0x7C, //i64.add - .f32 => 0x92, //f32.add - .f64 => 0xA0, //f64.add + const opcode: wasm.Opcode = switch (inst.base.ty.tag()) { + .u32, .i32 => .i32_add, + .u64, .i64 => .i64_add, + .f32 => .f32_add, + .f64 => .f64_add, else => return self.fail(inst.base.src, "TODO - Implement wasm genAdd for type '{s}'", .{inst.base.ty.tag()}), }; - try self.code.append(opcode); - return WValue.none; + try self.code.append(wasm.opcode(opcode)); + return .none; } fn emitConstant(self: *Context, inst: *Inst.Constant) InnerError!void { const writer = self.code.writer(); switch (inst.base.ty.tag()) { .u32 => { - try writer.writeByte(0x41); // i32.const + try writer.writeByte(wasm.opcode(.i32_const)); try leb.writeILEB128(writer, inst.val.toUnsignedInt()); }, .i32 => { - try writer.writeByte(0x41); // i32.const + try writer.writeByte(wasm.opcode(.i32_const)); try leb.writeILEB128(writer, inst.val.toSignedInt()); }, .u64 => { - try writer.writeByte(0x42); // i64.const + try writer.writeByte(wasm.opcode(.i64_const)); try leb.writeILEB128(writer, inst.val.toUnsignedInt()); }, .i64 => { - try writer.writeByte(0x42); // i64.const + try writer.writeByte(wasm.opcode(.i64_const)); try leb.writeILEB128(writer, inst.val.toSignedInt()); }, .f32 => { - try writer.writeByte(0x43); // f32.const + try writer.writeByte(wasm.opcode(.f32_const)); // TODO: enforce LE byte order try writer.writeAll(mem.asBytes(&inst.val.toFloat(f32))); }, .f64 => { - try writer.writeByte(0x44); // f64.const + try writer.writeByte(wasm.opcode(.f64_const)); // TODO: enforce LE byte order try writer.writeAll(mem.asBytes(&inst.val.toFloat(f64))); }, @@ -312,4 +347,162 @@ pub const Context = struct { else => |ty| return self.fail(inst.base.src, "Wasm TODO: emitConstant for type {s}", .{ty}), } } + + fn genBlock(self: *Context, block: *Inst.Block) InnerError!WValue { + const block_ty = try self.genBlockType(block.base.src, block.base.ty); + + block.codegen = .{ + // we don't use relocs, so using `relocs` is illegal behaviour. + .relocs = undefined, + // Here we set the current block idx, so conditions know the depth to jump + // to when breaking out. This will be set to .none when it is found again within + // the same block + .mcv = @bitCast(AnyMCValue, WValue{ .block_idx = self.block_depth }), + }; + self.block_depth += 1; + + try self.code.append(wasm.opcode(.block)); + try self.code.append(block_ty); + try self.genBody(block.body); + try self.code.append(wasm.opcode(.end)); + + self.block_depth -= 1; + return .none; + } + + fn genLoop(self: *Context, loop: *Inst.Loop) InnerError!WValue { + const loop_ty = try self.genBlockType(loop.base.src, loop.base.ty); + + try self.code.append(wasm.opcode(.loop)); + try self.code.append(loop_ty); + self.block_depth += 1; + try self.genBody(loop.body); + self.block_depth -= 1; + + try self.code.append(wasm.opcode(.end)); + + return .none; + } + + fn genCondBr(self: *Context, condbr: *Inst.CondBr) InnerError!WValue { + const condition = self.resolveInst(condbr.condition); + const writer = self.code.writer(); + + // insert blocks at the position of `offset` so + // the condition can jump to it + const offset = condition.code_offset; + try self.code.insert(offset, wasm.opcode(.block)); + try self.code.insert(offset, try self.genBlockType(condbr.base.src, condbr.base.ty)); + + // we inserted the block in front of the condition + // so now check if condition matches. If not, break outside this block + // and continue with the regular codepath + try writer.writeByte(wasm.opcode(.br_if)); + try leb.writeULEB128(writer, @as(u32, 0)); + + // else body in case condition does not match + try self.genBody(condbr.else_body); + + // finally, tell wasm we have reached the end of the block we inserted above + try writer.writeByte(wasm.opcode(.end)); + + // Outer block that matches the condition + try self.genBody(condbr.then_body); + + return .none; + } + + fn genCmp(self: *Context, inst: *Inst.BinOp, op: std.math.CompareOperator) InnerError!WValue { + const ty = inst.lhs.ty.tag(); + + // save offset, so potential conditions can insert blocks in front of + // the comparison that we can later jump back to + const offset = self.code.items.len - 1; + + const lhs = self.resolveInst(inst.lhs); + const rhs = self.resolveInst(inst.rhs); + + try self.emitWValue(lhs); + try self.emitWValue(rhs); + + const opcode_maybe: ?wasm.Opcode = switch (op) { + .lt => @as(?wasm.Opcode, switch (ty) { + .i32 => .i32_lt_s, + .u32 => .i32_lt_u, + .i64 => .i64_lt_s, + .u64 => .i64_lt_u, + .f32 => .f32_lt, + .f64 => .f64_lt, + else => null, + }), + .lte => @as(?wasm.Opcode, switch (ty) { + .i32 => .i32_le_s, + .u32 => .i32_le_u, + .i64 => .i64_le_s, + .u64 => .i64_le_u, + .f32 => .f32_le, + .f64 => .f64_le, + else => null, + }), + .eq => @as(?wasm.Opcode, switch (ty) { + .i32, .u32 => .i32_eq, + .i64, .u64 => .i64_eq, + .f32 => .f32_eq, + .f64 => .f64_eq, + else => null, + }), + .gte => @as(?wasm.Opcode, switch (ty) { + .i32 => .i32_ge_s, + .u32 => .i32_ge_u, + .i64 => .i64_ge_s, + .u64 => .i64_ge_u, + .f32 => .f32_ge, + .f64 => .f64_ge, + else => null, + }), + .gt => @as(?wasm.Opcode, switch (ty) { + .i32 => .i32_gt_s, + .u32 => .i32_gt_u, + .i64 => .i64_gt_s, + .u64 => .i64_gt_u, + .f32 => .f32_gt, + .f64 => .f64_gt, + else => null, + }), + .neq => @as(?wasm.Opcode, switch (ty) { + .i32, .u32 => .i32_ne, + .i64, .u64 => .i64_ne, + .f32 => .f32_ne, + .f64 => .f64_ne, + else => null, + }), + }; + + const opcode = opcode_maybe orelse + return self.fail(inst.base.src, "TODO - Wasm genCmp for type '{s}' and operator '{s}'", .{ ty, @tagName(op) }); + + try self.code.append(wasm.opcode(opcode)); + return WValue{ .code_offset = offset }; + } + + fn genBr(self: *Context, br: *Inst.Br) InnerError!WValue { + // of operand has codegen bits we should break with a value + if (br.operand.ty.hasCodeGenBits()) { + const operand = self.resolveInst(br.operand); + try self.emitWValue(operand); + } + + // if the block contains a block_idx, do a relative jump to it + // if `wvalue` was already 'consumed', simply break out of current block + const wvalue = @bitCast(WValue, br.block.codegen.mcv); + const idx: u32 = if (wvalue == .block_idx) blk: { + br.block.codegen.mcv = @bitCast(AnyMCValue, WValue{ .none = {} }); + break :blk self.block_depth - wvalue.block_idx; + } else 0; + + const writer = self.code.writer(); + try writer.writeByte(wasm.opcode(.br)); + try leb.writeULEB128(writer, idx); + return WValue.none; + } }; diff --git a/src/link/Wasm.zig b/src/link/Wasm.zig index ec5ca0b9cf..1001e616e2 100644 --- a/src/link/Wasm.zig +++ b/src/link/Wasm.zig @@ -103,13 +103,14 @@ pub fn updateDecl(self: *Wasm, module: *Module, decl: *Module.Decl) !void { var context = codegen.Context{ .gpa = self.base.allocator, - .values = codegen.ValueTable.init(self.base.allocator), + .values = .{}, .code = managed_code, .func_type_data = managed_functype, .decl = decl, .err_msg = undefined, + .locals = .{}, }; - defer context.values.deinit(); + defer context.deinit(); // generate the 'code' section for the function declaration context.gen() catch |err| switch (err) { From 79730e6f5cdf13b2514781881e69c557fd52eaea Mon Sep 17 00:00:00 2001 From: Jakub Konka Date: Tue, 26 Jan 2021 08:11:31 +0100 Subject: [PATCH 11/73] macho: add arm64 relocation type enum --- lib/std/macho.zig | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/lib/std/macho.zig b/lib/std/macho.zig index 459410861e..6785abffca 100644 --- a/lib/std/macho.zig +++ b/lib/std/macho.zig @@ -1334,6 +1334,41 @@ pub const reloc_type_x86_64 = packed enum(u4) { X86_64_RELOC_TLV, }; +pub const reloc_type_arm64 = packed enum(u4) { + /// For pointers. + ARM64_RELOC_UNSIGNED = 0, + + /// Must be followed by a ARM64_RELOC_UNSIGNED. + ARM64_RELOC_SUBTRACTOR, + + /// A B/BL instruction with 26-bit displacement. + ARM64_RELOC_BRANCH26, + + /// Pc-rel distance to page of target. + ARM64_RELOC_PAGE21, + + /// Offset within page, scaled by r_length. + ARM64_RELOC_PAGEOFF12, + + /// Pc-rel distance to page of GOT slot. + ARM64_RELOC_GOT_LOAD_PAGE21, + + /// Offset within page of GOT slot, scaled by r_length. + ARM64_RELOC_GOT_LOAD_PAGEOFF12, + + /// For pointers to GOT slots. + ARM64_RELOC_POINTER_TO_GOT, + + /// Pc-rel distance to page of TLVP slot. + ARM64_RELOC_TLVP_LOAD_PAGE21, + + /// Offset within page of TLVP slot, scaled by r_length. + ARM64_RELOC_TLVP_LOAD_PAGEOFF12, + + /// Must be followed by PAGE21 or PAGEOFF12. + ARM64_RELOC_ADDEND, +}; + /// This symbol is a reference to an external non-lazy (data) symbol. pub const REFERENCE_FLAG_UNDEFINED_NON_LAZY: u16 = 0x0; From cc46c1b9024beefdd82ce8abd07e8849a72db20c Mon Sep 17 00:00:00 2001 From: Luuk de Gram Date: Tue, 26 Jan 2021 19:47:15 +0100 Subject: [PATCH 12/73] Add tests, fix locals that are created in blocks like loops, and handle all breaks correctly --- src/codegen/wasm.zig | 88 ++++++++++++++++++++++-------------------- src/link/Wasm.zig | 9 ++++- test/stage2/wasm.zig | 92 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 147 insertions(+), 42 deletions(-) diff --git a/src/codegen/wasm.zig b/src/codegen/wasm.zig index 8acaebbd75..abc411b551 100644 --- a/src/codegen/wasm.zig +++ b/src/codegen/wasm.zig @@ -163,11 +163,8 @@ pub const Context = struct { try self.genFunctype(); const writer = self.code.writer(); - // Reserve space to write the size after generating the code - try self.code.resize(5); - - // offset into 'code' section where we will put our locals count - var local_offset = self.code.items.len; + // Reserve space to write the size after generating the code as well as space for locals count + try self.code.resize(10); // Write instructions // TODO: check for and handle death of instructions @@ -177,10 +174,10 @@ pub const Context = struct { // finally, write our local types at the 'offset' position { - var totals_buffer: [5]u8 = undefined; - leb.writeUnsignedFixed(5, totals_buffer[0..5], @intCast(u32, self.locals.items.len)); - try self.code.insertSlice(local_offset, &totals_buffer); - local_offset += 5; + leb.writeUnsignedFixed(5, self.code.items[5..10], @intCast(u32, self.locals.items.len)); + + // offset into 'code' section where we will put our locals types + var local_offset: usize = 10; // emit the actual locals amount for (self.locals.items) |local| { @@ -285,8 +282,7 @@ pub const Context = struct { } fn genLoad(self: *Context, inst: *Inst.UnOp) InnerError!WValue { - const operand = self.resolveInst(inst.operand); - return operand; + return self.resolveInst(inst.operand); } fn genArg(self: *Context, inst: *Inst.Arg) InnerError!WValue { @@ -351,35 +347,49 @@ pub const Context = struct { fn genBlock(self: *Context, block: *Inst.Block) InnerError!WValue { const block_ty = try self.genBlockType(block.base.src, block.base.ty); + try self.startBlock(.block, block_ty, null); block.codegen = .{ // we don't use relocs, so using `relocs` is illegal behaviour. .relocs = undefined, - // Here we set the current block idx, so conditions know the depth to jump - // to when breaking out. This will be set to .none when it is found again within - // the same block + // Here we set the current block idx, so breaks know the depth to jump + // to when breaking out. .mcv = @bitCast(AnyMCValue, WValue{ .block_idx = self.block_depth }), }; - self.block_depth += 1; - - try self.code.append(wasm.opcode(.block)); - try self.code.append(block_ty); try self.genBody(block.body); - try self.code.append(wasm.opcode(.end)); + try self.endBlock(); - self.block_depth -= 1; return .none; } + /// appends a new wasm block to the code section and increases the `block_depth` by 1 + fn startBlock(self: *Context, block_type: wasm.Opcode, valtype: u8, with_offset: ?usize) !void { + self.block_depth += 1; + if (with_offset) |offset| { + try self.code.insert(offset, wasm.opcode(block_type)); + try self.code.insert(offset + 1, valtype); + } else { + try self.code.append(wasm.opcode(block_type)); + try self.code.append(valtype); + } + } + + /// Ends the current wasm block and decreases the `block_depth` by 1 + fn endBlock(self: *Context) !void { + try self.code.append(wasm.opcode(.end)); + self.block_depth -= 1; + } + fn genLoop(self: *Context, loop: *Inst.Loop) InnerError!WValue { const loop_ty = try self.genBlockType(loop.base.src, loop.base.ty); - try self.code.append(wasm.opcode(.loop)); - try self.code.append(loop_ty); - self.block_depth += 1; + try self.startBlock(.loop, loop_ty, null); try self.genBody(loop.body); - self.block_depth -= 1; - try self.code.append(wasm.opcode(.end)); + // breaking to the index of a loop block will continue the loop instead + try self.code.append(wasm.opcode(.br)); + try leb.writeULEB128(self.code.writer(), @as(u32, 0)); + + try self.endBlock(); return .none; } @@ -388,23 +398,22 @@ pub const Context = struct { const condition = self.resolveInst(condbr.condition); const writer = self.code.writer(); + // TODO: Handle death instructions for then and else body + // insert blocks at the position of `offset` so // the condition can jump to it const offset = condition.code_offset; - try self.code.insert(offset, wasm.opcode(.block)); - try self.code.insert(offset, try self.genBlockType(condbr.base.src, condbr.base.ty)); + const block_ty = try self.genBlockType(condbr.base.src, condbr.base.ty); + try self.startBlock(.block, block_ty, offset); // we inserted the block in front of the condition // so now check if condition matches. If not, break outside this block - // and continue with the regular codepath + // and continue with the then codepath try writer.writeByte(wasm.opcode(.br_if)); try leb.writeULEB128(writer, @as(u32, 0)); - // else body in case condition does not match try self.genBody(condbr.else_body); - - // finally, tell wasm we have reached the end of the block we inserted above - try writer.writeByte(wasm.opcode(.end)); + try self.endBlock(); // Outer block that matches the condition try self.genBody(condbr.then_body); @@ -417,7 +426,7 @@ pub const Context = struct { // save offset, so potential conditions can insert blocks in front of // the comparison that we can later jump back to - const offset = self.code.items.len - 1; + const offset = self.code.items.len; const lhs = self.resolveInst(inst.lhs); const rhs = self.resolveInst(inst.rhs); @@ -492,17 +501,14 @@ pub const Context = struct { try self.emitWValue(operand); } - // if the block contains a block_idx, do a relative jump to it - // if `wvalue` was already 'consumed', simply break out of current block + // every block contains a `WValue` with its block index. + // We then determine how far we have to jump to it by substracting it from current block depth const wvalue = @bitCast(WValue, br.block.codegen.mcv); - const idx: u32 = if (wvalue == .block_idx) blk: { - br.block.codegen.mcv = @bitCast(AnyMCValue, WValue{ .none = {} }); - break :blk self.block_depth - wvalue.block_idx; - } else 0; - + const idx: u32 = self.block_depth - wvalue.block_idx; const writer = self.code.writer(); try writer.writeByte(wasm.opcode(.br)); try leb.writeULEB128(writer, idx); - return WValue.none; + + return .none; } }; diff --git a/src/link/Wasm.zig b/src/link/Wasm.zig index 1001e616e2..c39e995966 100644 --- a/src/link/Wasm.zig +++ b/src/link/Wasm.zig @@ -122,6 +122,13 @@ pub fn updateDecl(self: *Wasm, module: *Module, decl: *Module.Decl) !void { else => |e| return err, }; + // as locals are patched afterwards, the offsets of funcidx's are off, + // here we update them to correct them + for (decl.fn_link.wasm.?.idx_refs.items) |*func| { + // For each local, add 6 bytes (count + type) + func.offset += @intCast(u32, context.locals.items.len * 6); + } + fn_data.functype = context.func_type_data.toUnmanaged(); fn_data.code = context.code.toUnmanaged(); } @@ -238,7 +245,7 @@ pub fn flushModule(self: *Wasm, comp: *Compilation) !void { try writer.writeAll(fn_data.code.items[current..idx_ref.offset]); current = idx_ref.offset; // Use a fixed width here to make calculating the code size - // in codegen.wasm.genCode() simpler. + // in codegen.wasm.gen() simpler. var buf: [5]u8 = undefined; leb.writeUnsignedFixed(5, &buf, self.getFuncidx(idx_ref.decl).?); try writer.writeAll(&buf); diff --git a/test/stage2/wasm.zig b/test/stage2/wasm.zig index f522db8809..06ede2d735 100644 --- a/test/stage2/wasm.zig +++ b/test/stage2/wasm.zig @@ -122,4 +122,96 @@ pub fn addCases(ctx: *TestContext) !void { \\} , "35\n"); } + + { + var case = ctx.exe("wasm conditions", wasi); + + case.addCompareOutput( + \\export fn _start() u32 { + \\ var i: u32 = 5; + \\ if (i > @as(u32, 4)) { + \\ i += 10; + \\ } + \\ return i; + \\} + , "15\n"); + + case.addCompareOutput( + \\export fn _start() u32 { + \\ var i: u32 = 5; + \\ if (i < @as(u32, 4)) { + \\ i += 10; + \\ } else { + \\ i = 2; + \\ } + \\ return i; + \\} + , "2\n"); + + case.addCompareOutput( + \\export fn _start() u32 { + \\ var i: u32 = 5; + \\ if (i < @as(u32, 4)) { + \\ i += 10; + \\ } else if(i == @as(u32, 5)) { + \\ i = 20; + \\ } + \\ return i; + \\} + , "20\n"); + + case.addCompareOutput( + \\export fn _start() u32 { + \\ var i: u32 = 11; + \\ if (i < @as(u32, 4)) { + \\ i += 10; + \\ } else { + \\ if (i > @as(u32, 10)) { + \\ i += 20; + \\ } else { + \\ i = 20; + \\ } + \\ } + \\ return i; + \\} + , "31\n"); + } + + { + var case = ctx.exe("wasm while loops", wasi); + + case.addCompareOutput( + \\export fn _start() u32 { + \\ var i: u32 = 0; + \\ while(i < @as(u32, 5)){ + \\ i += 1; + \\ } + \\ + \\ return i; + \\} + , "5\n"); + + case.addCompareOutput( + \\export fn _start() u32 { + \\ var i: u32 = 0; + \\ while(i < @as(u32, 10)){ + \\ var x: u32 = 1; + \\ i += x; + \\ } + \\ return i; + \\} + , "10\n"); + + case.addCompareOutput( + \\export fn _start() u32 { + \\ var i: u32 = 0; + \\ while(i < @as(u32, 10)){ + \\ var x: u32 = 1; + \\ i += x; + \\ if (i == @as(u32, 5)) break; + \\ } + \\ return i; + \\} + , "5\n"); + } } From 1ed8c54cd349497adb264b0502783a6422e4f2d1 Mon Sep 17 00:00:00 2001 From: Evan Haas Date: Tue, 26 Jan 2021 09:08:05 -0800 Subject: [PATCH 13/73] translate-c: add wide string literal support Adds support for wide, UTF-16, and UTF-32 string literals. If used to initialize an incomplete array, the same logic as narrow strings is used. Otherwise they are translated as global "anonymous" arrays of the relevant underlying char type. A dot is used in the name to ensure the generated names do not conflict with any other names in the translated program. For example: ```c void my_fn() { const uint32_t *foo = U"foo"; } ``` becomes: ```zig const @"zig.UTF32_string_2" = [4]c_uint{ '\u{66}', '\u{6f}', '\u{6f}', 0, }; pub export fn my_fn() void { var foo: [*c]const u32 = &@"zig.UTF32_string_2"; } ``` --- src/translate_c.zig | 56 ++++++++++++++++++++++++++++----------- test/run_translated_c.zig | 24 +++++++++++++++++ 2 files changed, 65 insertions(+), 15 deletions(-) diff --git a/src/translate_c.zig b/src/translate_c.zig index bca9ff3a20..8efac4922f 100644 --- a/src/translate_c.zig +++ b/src/translate_c.zig @@ -780,7 +780,7 @@ fn visitVarDecl(c: *Context, var_decl: *const clang.VarDecl, mangled_name: ?[]co eq_tok = try appendToken(c, .Equal, "="); if (decl_init) |expr| { const node_or_error = if (expr.getStmtClass() == .StringLiteralClass) - transStringLiteralAsArray(rp, &c.global_scope.base, @ptrCast(*const clang.StringLiteral, expr), type_node) + transStringLiteralAsArray(rp, &c.global_scope.base, @ptrCast(*const clang.StringLiteral, expr), zigArraySize(rp.c, type_node) catch 0) else transExprCoercing(rp, scope, expr, .used, .r_value); init_node = node_or_error catch |err| switch (err) { @@ -1662,7 +1662,7 @@ fn transDeclStmtOne( const eq_token = try appendToken(c, .Equal, "="); var init_node = if (decl_init) |expr| if (expr.getStmtClass() == .StringLiteralClass) - try transStringLiteralAsArray(rp, scope, @ptrCast(*const clang.StringLiteral, expr), type_node) + try transStringLiteralAsArray(rp, scope, @ptrCast(*const clang.StringLiteral, expr), try zigArraySize(rp.c, type_node)) else try transExprCoercing(rp, scope, expr, .used, .r_value) else @@ -2059,16 +2059,41 @@ fn transStringLiteral( }; return maybeSuppressResult(rp, scope, result_used, &node.base); }, - .UTF16, .UTF32, .Wide => return revertAndWarn( - rp, - error.UnsupportedTranslation, - @ptrCast(*const clang.Stmt, stmt).getBeginLoc(), - "TODO: support string literal kind {s}", - .{kind}, - ), + .UTF16, .UTF32, .Wide => { + const node = try transWideStringLiteral(rp, scope, stmt); + return maybeSuppressResult(rp, scope, result_used, node); + }, } } +/// Translates a wide string literal as a global "anonymous" array of the relevant-sized +/// integer type + null terminator, and returns an identifier node for it +fn transWideStringLiteral(rp: RestorePoint, scope: *Scope, stmt: *const clang.StringLiteral) TransError!*ast.Node { + const str_type = @tagName(stmt.getKind()); + const mangle = rp.c.getMangle(); + const name = try std.fmt.allocPrint(rp.c.arena, "zig.{s}_string_{d}", .{ str_type, mangle }); + + const const_tok = try appendToken(rp.c, .Keyword_const, "const"); + const name_tok = try appendIdentifier(rp.c, name); + const eq_tok = try appendToken(rp.c, .Equal, "="); + var semi_tok: ast.TokenIndex = undefined; + + const lit_array = try transStringLiteralAsArray(rp, scope, stmt, stmt.getLength() + 1); + + semi_tok = try appendToken(rp.c, .Semicolon, ";"); + const var_decl_node = try ast.Node.VarDecl.create(rp.c.arena, .{ + .name_token = name_tok, + .mut_token = const_tok, + .semicolon_token = semi_tok, + }, .{ + .visib_token = null, + .eq_token = eq_tok, + .init_node = lit_array, + }); + try addTopLevelDecl(rp.c, name, &var_decl_node.base); + return transCreateNodeIdentifier(rp.c, name); +} + /// Parse the size of an array back out from an ast Node. fn zigArraySize(c: *Context, node: *ast.Node) TransError!usize { if (node.castTag(.ArrayType)) |array| { @@ -2081,17 +2106,18 @@ fn zigArraySize(c: *Context, node: *ast.Node) TransError!usize { } /// Translate a string literal to an array of integers. Used when an -/// array is initialized from a string literal. `target_node` is the -/// array being initialized. If the string literal is larger than the -/// array, truncate the string. If the array is larger than the string -/// literal, pad the array with 0's +/// array is initialized from a string literal. `array_size` is the +/// size of the array being initialized. If the string literal is larger +/// than the array, truncate the string. If the array is larger than the +/// string literal, pad the array with 0's fn transStringLiteralAsArray( rp: RestorePoint, scope: *Scope, stmt: *const clang.StringLiteral, - target_node: *ast.Node, + array_size: usize, ) TransError!*ast.Node { - const array_size = try zigArraySize(rp.c, target_node); + if (array_size == 0) return error.UnsupportedType; + const str_length = stmt.getLength(); const expr_base = @ptrCast(*const clang.Expr, stmt); diff --git a/test/run_translated_c.zig b/test/run_translated_c.zig index e3f9d6b132..a99271eb41 100644 --- a/test/run_translated_c.zig +++ b/test/run_translated_c.zig @@ -794,4 +794,28 @@ pub fn addCases(cases: *tests.RunTranslatedCContext) void { \\ return 0; \\} , ""); + + cases.add("Wide, UTF-16, and UTF-32 string literals", + \\#include + \\#include + \\#include + \\int main(void) { + \\ const wchar_t *wide_str = L"wide"; + \\ const wchar_t wide_hello[] = L"hello"; + \\ if (wcslen(wide_str) != 4) abort(); + \\ if (wcslen(L"literal") != 7) abort(); + \\ if (wcscmp(wide_hello, L"hello") != 0) abort(); + \\ + \\ const uint16_t *u16_str = u"wide"; + \\ const uint16_t u16_hello[] = u"hello"; + \\ if (u16_str[3] != u'e' || u16_str[4] != 0) abort(); + \\ if (u16_hello[4] != u'o' || u16_hello[5] != 0) abort(); + \\ + \\ const uint32_t *u32_str = U"wide"; + \\ const uint32_t u32_hello[] = U"hello"; + \\ if (u32_str[3] != U'e' || u32_str[4] != 0) abort(); + \\ if (u32_hello[4] != U'o' || u32_hello[5] != 0) abort(); + \\ return 0; + \\} + , ""); } From 236db6232fa2beb97c47e3f1edcdb2a29e59d160 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 26 Jan 2021 22:40:34 +1100 Subject: [PATCH 14/73] Fix interger overflow when calling joinZ with empty slices --- lib/std/mem.zig | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/std/mem.zig b/lib/std/mem.zig index 98a37e3d2b..5f23a10401 100644 --- a/lib/std/mem.zig +++ b/lib/std/mem.zig @@ -1507,7 +1507,7 @@ pub fn joinZ(allocator: *Allocator, separator: []const u8, slices: []const []con } fn joinMaybeZ(allocator: *Allocator, separator: []const u8, slices: []const []const u8, zero: bool) ![]u8 { - if (slices.len == 0) return &[0]u8{}; + if (slices.len == 0) return if (zero) try allocator.dupe(u8, &[1]u8{0}) else &[0]u8{}; const total_len = blk: { var sum: usize = separator.len * (slices.len - 1); @@ -1535,6 +1535,11 @@ fn joinMaybeZ(allocator: *Allocator, separator: []const u8, slices: []const []co } test "mem.join" { + { + const str = try join(testing.allocator, ",", &[_][]const u8{}); + defer testing.allocator.free(str); + testing.expect(eql(u8, str, "")); + } { const str = try join(testing.allocator, ",", &[_][]const u8{ "a", "b", "c" }); defer testing.allocator.free(str); @@ -1553,6 +1558,12 @@ test "mem.join" { } test "mem.joinZ" { + { + const str = try joinZ(testing.allocator, ",", &[_][]const u8{}); + defer testing.allocator.free(str); + testing.expect(eql(u8, str, "")); + testing.expectEqual(str[str.len], 0); + } { const str = try joinZ(testing.allocator, ",", &[_][]const u8{ "a", "b", "c" }); defer testing.allocator.free(str); From e8740a90b9c1ec2b7043dc5a0aed5474bb648c3d Mon Sep 17 00:00:00 2001 From: Asherah Connor Date: Fri, 15 Jan 2021 14:21:39 +1100 Subject: [PATCH 15/73] complete {Z} deprecation in std.fmt.formatIntValue formatZigEscapes doesn't exist any more. --- lib/std/fmt.zig | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/lib/std/fmt.zig b/lib/std/fmt.zig index 196e95f838..02d0c4de68 100644 --- a/lib/std/fmt.zig +++ b/lib/std/fmt.zig @@ -634,12 +634,7 @@ pub fn formatIntValue( @compileError("Cannot print integer that is larger than 8 bits as a ascii"); } } else if (comptime std.mem.eql(u8, fmt, "Z")) { - if (@typeInfo(@TypeOf(int_value)).Int.bits <= 8) { - const c: u8 = int_value; - return formatZigEscapes(@as(*const [1]u8, &c), options, writer); - } else { - @compileError("Cannot escape character with more than 8 bits"); - } + @compileError("specifier 'Z' has been deprecated, wrap your argument in std.zig.fmtEscapes instead"); } else if (comptime std.mem.eql(u8, fmt, "u")) { if (@typeInfo(@TypeOf(int_value)).Int.bits <= 21) { return formatUnicodeCodepoint(@as(u21, int_value), options, writer); From 3d4eeafb47f97e5057d36fe2c3ed061cf0c70a63 Mon Sep 17 00:00:00 2001 From: Martin Wickham Date: Mon, 25 Jan 2021 17:18:37 -0600 Subject: [PATCH 16/73] Fill out more cases for std.meta.sizeof --- lib/std/meta.zig | 91 +++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 87 insertions(+), 4 deletions(-) diff --git a/lib/std/meta.zig b/lib/std/meta.zig index 2c94569bf1..b6107e6fa5 100644 --- a/lib/std/meta.zig +++ b/lib/std/meta.zig @@ -979,9 +979,59 @@ test "std.meta.cast" { /// Given a value returns its size as C's sizeof operator would. /// This is for translate-c and is not intended for general use. pub fn sizeof(target: anytype) usize { - switch (@typeInfo(@TypeOf(target))) { - .Type => return @sizeOf(target), - .Float, .Int, .Struct, .Union, .Enum => return @sizeOf(@TypeOf(target)), + const T: type = if (@TypeOf(target) == type) target else @TypeOf(target); + switch (@typeInfo(T)) { + .Float, .Int, .Struct, .Union, .Enum, .Array, .Bool, .Vector => return @sizeOf(T), + .Fn => { + // sizeof(main) returns 1, sizeof(&main) returns pointer size. + // We cannot distinguish those types in Zig, so use pointer size. + return @sizeOf(T); + }, + .Null => return @sizeOf(*c_void), + .Void => { + // Note: sizeof(void) is 1 on clang/gcc and 0 on MSVC. + return 1; + }, + .Opaque => { + if (T == c_void) { + // Note: sizeof(void) is 1 on clang/gcc and 0 on MSVC. + return 1; + } else { + @compileError("Cannot use C sizeof on opaque type "++@typeName(T)); + } + }, + .Optional => |opt| { + if (@typeInfo(opt.child) == .Pointer) { + return sizeof(opt.child); + } else { + @compileError("Cannot use C sizeof on non-pointer optional "++@typeName(T)); + } + }, + .Pointer => |ptr| { + if (ptr.size == .Slice) { + @compileError("Cannot use C sizeof on slice type "++@typeName(T)); + } + // for strings, sizeof("a") returns 2. + // normal pointer decay scenarios from C are handled + // in the .Array case above, but strings remain literals + // and are therefore always pointers, so they need to be + // specially handled here. + if (ptr.size == .One and ptr.is_const and @typeInfo(ptr.child) == .Array) { + const array_info = @typeInfo(ptr.child).Array; + if ((array_info.child == u8 or array_info.child == u16) and + array_info.sentinel != null and + array_info.sentinel.? == 0) { + // length of the string plus one for the null terminator. + return (array_info.len + 1) * @sizeOf(array_info.child); + } + } + // When zero sized pointers are removed, this case will no + // longer be reachable and can be deleted. + if (@sizeOf(T) == 0) { + return @sizeOf(*c_void); + } + return @sizeOf(T); + }, .ComptimeFloat => return @sizeOf(f64), // TODO c_double #3999 .ComptimeInt => { // TODO to get the correct result we have to translate @@ -991,7 +1041,7 @@ pub fn sizeof(target: anytype) usize { // TODO test if target fits in int, long or long long return @sizeOf(c_int); }, - else => @compileError("TODO implement std.meta.sizeof for type " ++ @typeName(@TypeOf(target))), + else => @compileError("std.meta.sizeof does not support type " ++ @typeName(T)), } } @@ -999,12 +1049,45 @@ test "sizeof" { const E = extern enum(c_int) { One, _ }; const S = extern struct { a: u32 }; + const ptr_size = @sizeOf(*c_void); + testing.expect(sizeof(u32) == 4); testing.expect(sizeof(@as(u32, 2)) == 4); testing.expect(sizeof(2) == @sizeOf(c_int)); + + testing.expect(sizeof(2.0) == @sizeOf(f64)); + testing.expect(sizeof(E) == @sizeOf(c_int)); testing.expect(sizeof(E.One) == @sizeOf(c_int)); + testing.expect(sizeof(S) == 4); + + testing.expect(sizeof([_]u32{4, 5, 6}) == 12); + testing.expect(sizeof([3]u32) == 12); + testing.expect(sizeof([3:0]u32) == 16); + testing.expect(sizeof(&[_]u32{4, 5, 6}) == ptr_size); + + testing.expect(sizeof(*u32) == ptr_size); + testing.expect(sizeof([*]u32) == ptr_size); + testing.expect(sizeof([*c]u32) == ptr_size); + testing.expect(sizeof(?*u32) == ptr_size); + testing.expect(sizeof(?[*]u32) == ptr_size); + testing.expect(sizeof(*c_void) == ptr_size); + testing.expect(sizeof(*void) == ptr_size); + testing.expect(sizeof(null) == ptr_size); + + testing.expect(sizeof("foobar") == 7); + testing.expect(sizeof(&[_:0]u16{'f','o','o','b','a','r'}) == 14); + testing.expect(sizeof(*const [4:0]u8) == 5); + testing.expect(sizeof(*[4:0]u8) == ptr_size); + testing.expect(sizeof([*]const [4:0]u8) == ptr_size); + testing.expect(sizeof(*const *const [4:0]u8) == ptr_size); + testing.expect(sizeof(*const [4]u8) == ptr_size); + + testing.expect(sizeof(sizeof) == @sizeOf(@TypeOf(sizeof))); + + testing.expect(sizeof(void) == 1); + testing.expect(sizeof(c_void) == 1); } /// For a given function type, returns a tuple type which fields will From f9b85c6e50e22153aff4c87e2ba943d68f24ee8c Mon Sep 17 00:00:00 2001 From: Michael Dusan Date: Mon, 18 Jan 2021 00:36:37 -0500 Subject: [PATCH 17/73] stage1: add error for slice.len incr beyond bounds comptime direct slice.len increment dodges bounds checking but we can emit an error for it, at least in the simple case. - promote original assert to compile-error - add test case closes #7810 --- src/stage1/ir.cpp | 7 ++++--- test/compile_errors.zig | 14 ++++++++++++++ 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/src/stage1/ir.cpp b/src/stage1/ir.cpp index e39e44c3fd..9fd6f15873 100644 --- a/src/stage1/ir.cpp +++ b/src/stage1/ir.cpp @@ -22655,9 +22655,10 @@ static IrInstGen *ir_analyze_instruction_elem_ptr(IrAnalyze *ira, IrInstSrcElemP if (ptr_field->data.x_ptr.data.base_array.array_val->data.x_array.special != ConstArraySpecialBuf) { - ir_assert(new_index < - ptr_field->data.x_ptr.data.base_array.array_val->type->data.array.len, - &elem_ptr_instruction->base.base); + if (new_index >= ptr_field->data.x_ptr.data.base_array.array_val->type->data.array.len) { + ir_add_error(ira, &elem_ptr_instruction->base.base, buf_sprintf("out of bounds slice")); + return ira->codegen->invalid_inst_gen; + } } out_val->data.x_ptr.special = ConstPtrSpecialBaseArray; out_val->data.x_ptr.data.base_array.array_val = diff --git a/test/compile_errors.zig b/test/compile_errors.zig index f936eb49a7..ef87acf538 100644 --- a/test/compile_errors.zig +++ b/test/compile_errors.zig @@ -7981,6 +7981,20 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { "tmp.zig:7:37: note: referenced here", }); + // issue #7810 + cases.add("comptime slice-len increment beyond bounds", + \\export fn foo_slice_len_increment_beyond_bounds() void { + \\ comptime { + \\ var buf_storage: [8]u8 = undefined; + \\ var buf: []const u8 = buf_storage[0..]; + \\ buf.len += 1; + \\ buf[8] = 42; + \\ } + \\} + , &[_][]const u8{ + ":6:12: error: out of bounds slice", + }); + cases.add("comptime slice-sentinel is out of bounds (unterminated)", \\export fn foo_array() void { \\ comptime { From 290efc074797e893678154efac61f94a38f6bfc1 Mon Sep 17 00:00:00 2001 From: Dmitry Atamanov Date: Sat, 30 Jan 2021 11:12:44 +0000 Subject: [PATCH 18/73] Improve error messages in std.fmt (#7898) --- lib/std/fmt.zig | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/std/fmt.zig b/lib/std/fmt.zig index 02d0c4de68..27e68ee9c1 100644 --- a/lib/std/fmt.zig +++ b/lib/std/fmt.zig @@ -654,7 +654,7 @@ pub fn formatIntValue( radix = 8; uppercase = false; } else { - @compileError("Unknown format string: '" ++ fmt ++ "'"); + @compileError("Unsupported format string '" ++ fmt ++ "' for type '" ++ @typeName(@TypeOf(value)) ++ "'"); } return formatInt(int_value, radix, uppercase, options, writer); @@ -681,7 +681,7 @@ fn formatFloatValue( else => |e| return e, }; } else { - @compileError("Unknown format string: '" ++ fmt ++ "'"); + @compileError("Unsupported format string '" ++ fmt ++ "' for type '" ++ @typeName(@TypeOf(value)) ++ "'"); } return formatBuf(buf_stream.getWritten(), options, writer); @@ -715,7 +715,7 @@ pub fn formatText( } else if (comptime std.mem.eql(u8, fmt, "Z")) { @compileError("specifier 'Z' has been deprecated, wrap your argument in std.zig.fmtEscapes instead"); } else { - @compileError("Unknown format string: '" ++ fmt ++ "'"); + @compileError("Unsupported format string '" ++ fmt ++ "' for type '" ++ @typeName(@TypeOf(value)) ++ "'"); } } From 68ec54f386d387c5dd3f9dc4f0b5e14be6ae10a6 Mon Sep 17 00:00:00 2001 From: Tadeo Kondrak Date: Mon, 11 Jan 2021 10:56:18 -0700 Subject: [PATCH 19/73] std.meta: rename TagType to Tag --- lib/std/json.zig | 2 +- lib/std/meta.zig | 23 +++++++++++++---------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/lib/std/json.zig b/lib/std/json.zig index 077b910a2c..2ac7cdf8d5 100644 --- a/lib/std/json.zig +++ b/lib/std/json.zig @@ -1138,7 +1138,7 @@ pub const TokenStream = struct { } }; -fn checkNext(p: *TokenStream, id: std.meta.TagType(Token)) void { +fn checkNext(p: *TokenStream, id: std.meta.Tag(Token)) void { const token = (p.next() catch unreachable).?; debug.assert(std.meta.activeTag(token) == id); } diff --git a/lib/std/meta.zig b/lib/std/meta.zig index b6107e6fa5..027b9508e2 100644 --- a/lib/std/meta.zig +++ b/lib/std/meta.zig @@ -600,15 +600,18 @@ test "std.meta.FieldEnum" { expectEqualEnum(enum { a, b, c }, FieldEnum(union { a: u8, b: void, c: f32 })); } -pub fn TagType(comptime T: type) type { +// Deprecated: use Tag +pub const TagType = Tag; + +pub fn Tag(comptime T: type) type { return switch (@typeInfo(T)) { .Enum => |info| info.tag_type, - .Union => |info| if (info.tag_type) |Tag| Tag else null, + .Union => |info| if (info.tag_type) |TheTag| TheTag else null, else => @compileError("expected enum or union type, found '" ++ @typeName(T) ++ "'"), }; } -test "std.meta.TagType" { +test "std.meta.Tag" { const E = enum(u8) { C = 33, D, @@ -618,8 +621,8 @@ test "std.meta.TagType" { D: u16, }; - testing.expect(TagType(E) == u8); - testing.expect(TagType(U) == E); + testing.expect(Tag(E) == u8); + testing.expect(Tag(U) == E); } ///Returns the active tag of a tagged union @@ -694,13 +697,13 @@ pub fn eql(a: anytype, b: @TypeOf(a)) bool { } }, .Union => |info| { - if (info.tag_type) |Tag| { + if (info.tag_type) |UnionTag| { const tag_a = activeTag(a); const tag_b = activeTag(b); if (tag_a != tag_b) return false; inline for (info.fields) |field_info| { - if (@field(Tag, field_info.name) == tag_a) { + if (@field(UnionTag, field_info.name) == tag_a) { return eql(@field(a, field_info.name), @field(b, field_info.name)); } } @@ -822,9 +825,9 @@ test "intToEnum with error return" { pub const IntToEnumError = error{InvalidEnumTag}; -pub fn intToEnum(comptime Tag: type, tag_int: anytype) IntToEnumError!Tag { - inline for (@typeInfo(Tag).Enum.fields) |f| { - const this_tag_value = @field(Tag, f.name); +pub fn intToEnum(comptime EnumTag: type, tag_int: anytype) IntToEnumError!EnumTag { + inline for (@typeInfo(EnumTag).Enum.fields) |f| { + const this_tag_value = @field(EnumTag, f.name); if (tag_int == @enumToInt(this_tag_value)) { return this_tag_value; } From b7767eb834084adc9db94b9ed961aaa2756fc018 Mon Sep 17 00:00:00 2001 From: Tadeo Kondrak Date: Mon, 11 Jan 2021 10:58:33 -0700 Subject: [PATCH 20/73] std.meta: rename TagPayloadType to TagPayload --- lib/std/json.zig | 4 ++-- lib/std/meta.zig | 8 +++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/std/json.zig b/lib/std/json.zig index 2ac7cdf8d5..a97044a4d8 100644 --- a/lib/std/json.zig +++ b/lib/std/json.zig @@ -2077,7 +2077,7 @@ pub const Parser = struct { } } - fn parseString(p: *Parser, allocator: *Allocator, s: std.meta.TagPayloadType(Token, Token.String), input: []const u8, i: usize) !Value { + fn parseString(p: *Parser, allocator: *Allocator, s: std.meta.TagPayload(Token, Token.String), input: []const u8, i: usize) !Value { const slice = s.slice(input, i); switch (s.escapes) { .None => return Value{ .String = if (p.copy_strings) try allocator.dupe(u8, slice) else slice }, @@ -2090,7 +2090,7 @@ pub const Parser = struct { } } - fn parseNumber(p: *Parser, n: std.meta.TagPayloadType(Token, Token.Number), input: []const u8, i: usize) !Value { + fn parseNumber(p: *Parser, n: std.meta.TagPayload(Token, Token.Number), input: []const u8, i: usize) !Value { return if (n.is_integer) Value{ .Integer = try std.fmt.parseInt(i64, n.slice(input, i), 10) } else diff --git a/lib/std/meta.zig b/lib/std/meta.zig index 027b9508e2..9a1215e79b 100644 --- a/lib/std/meta.zig +++ b/lib/std/meta.zig @@ -649,9 +649,11 @@ test "std.meta.activeTag" { testing.expect(activeTag(u) == UE.Float); } +const TagPayloadType = TagPayload; + ///Given a tagged union type, and an enum, return the type of the union /// field corresponding to the enum tag. -pub fn TagPayloadType(comptime U: type, tag: @TagType(U)) type { +pub fn TagPayload(comptime U: type, tag: @TagType(U)) type { testing.expect(trait.is(.Union)(U)); const info = @typeInfo(U).Union; @@ -665,14 +667,14 @@ pub fn TagPayloadType(comptime U: type, tag: @TagType(U)) type { unreachable; } -test "std.meta.TagPayloadType" { +test "std.meta.TagPayload" { const Event = union(enum) { Moved: struct { from: i32, to: i32, }, }; - const MovedEvent = TagPayloadType(Event, Event.Moved); + const MovedEvent = TagPayload(Event, Event.Moved); var e: Event = undefined; testing.expect(MovedEvent == @TypeOf(e.Moved)); } From 1637d8ac80b46599e276eb767208f54f0a30ccf0 Mon Sep 17 00:00:00 2001 From: Tadeo Kondrak Date: Mon, 11 Jan 2021 11:04:38 -0700 Subject: [PATCH 21/73] remove @TagType --- doc/langref.html.in | 19 +++----------- src/astgen.zig | 1 - src/stage1/all_types.hpp | 8 ------ src/stage1/analyze.cpp | 2 +- src/stage1/codegen.cpp | 1 - src/stage1/ir.cpp | 54 ---------------------------------------- src/stage1/ir_print.cpp | 11 -------- 7 files changed, 5 insertions(+), 91 deletions(-) diff --git a/doc/langref.html.in b/doc/langref.html.in index 85917680d3..3af4d7d2b1 100644 --- a/doc/langref.html.in +++ b/doc/langref.html.in @@ -3092,8 +3092,7 @@ test "simple union" { {#header_open|Tagged union#}

Unions can be declared with an enum tag type. This turns the union into a tagged union, which makes it eligible - to use with {#link|switch#} expressions. One can use {#link|@TagType#} to - obtain the enum type from the union type. + to use with {#link|switch#} expressions. Tagged unions coerce to their tag type: {#link|Type Coercion: unions and enums#}.

{#code_begin|test#} @@ -3119,8 +3118,8 @@ test "switch on tagged union" { } } -test "@TagType" { - expect(@TagType(ComplexType) == ComplexTypeTag); +test "get tag type" { + expect(std.meta.Tag(ComplexType) == ComplexTypeTag); } test "coerce to enum" { @@ -7740,7 +7739,7 @@ test "@hasDecl" { {#header_close#} {#header_open|@intToEnum#} -
{#syntax#}@intToEnum(comptime DestType: type, int_value: @TagType(DestType)) DestType{#endsyntax#}
+
{#syntax#}@intToEnum(comptime DestType: type, int_value: std.meta.Tag(DestType)) DestType{#endsyntax#}

Converts an integer into an {#link|enum#} value.

@@ -8435,16 +8434,6 @@ fn doTheTest() void {

{#header_close#} - {#header_open|@TagType#} -
{#syntax#}@TagType(T: type) type{#endsyntax#}
-

- For an enum, returns the integer type that is used to store the enumeration value. -

-

- For a union, returns the enum type that is used to store the tag value. -

- {#header_close#} - {#header_open|@This#}
{#syntax#}@This() type{#endsyntax#}

diff --git a/src/astgen.zig b/src/astgen.zig index 8b4f1cc93c..a74b83de44 100644 --- a/src/astgen.zig +++ b/src/astgen.zig @@ -3077,7 +3077,6 @@ fn nodeMayNeedMemoryLocation(start_node: *ast.Node, scope: *Scope) bool { .{ "@round", false }, .{ "@subWithOverflow", false }, .{ "@tagName", false }, - .{ "@TagType", false }, .{ "@This", false }, .{ "@truncate", false }, .{ "@Type", false }, diff --git a/src/stage1/all_types.hpp b/src/stage1/all_types.hpp index 196010ebca..d2741320d7 100644 --- a/src/stage1/all_types.hpp +++ b/src/stage1/all_types.hpp @@ -1811,7 +1811,6 @@ enum BuiltinFnId { BuiltinFnIdIntToPtr, BuiltinFnIdPtrToInt, BuiltinFnIdTagName, - BuiltinFnIdTagType, BuiltinFnIdFieldParentPtr, BuiltinFnIdByteOffsetOf, BuiltinFnIdBitOffsetOf, @@ -2623,7 +2622,6 @@ enum IrInstSrcId { IrInstSrcIdDeclRef, IrInstSrcIdPanic, IrInstSrcIdTagName, - IrInstSrcIdTagType, IrInstSrcIdFieldParentPtr, IrInstSrcIdByteOffsetOf, IrInstSrcIdBitOffsetOf, @@ -4074,12 +4072,6 @@ struct IrInstGenTagName { IrInstGen *target; }; -struct IrInstSrcTagType { - IrInstSrc base; - - IrInstSrc *target; -}; - struct IrInstSrcFieldParentPtr { IrInstSrc base; diff --git a/src/stage1/analyze.cpp b/src/stage1/analyze.cpp index faf66f59f3..6bc97d323a 100644 --- a/src/stage1/analyze.cpp +++ b/src/stage1/analyze.cpp @@ -3267,7 +3267,7 @@ static Error resolve_union_zero_bits(CodeGen *g, ZigType *union_type) { tag_type = new_type_table_entry(ZigTypeIdEnum); buf_resize(&tag_type->name, 0); - buf_appendf(&tag_type->name, "@TagType(%s)", buf_ptr(&union_type->name)); + buf_appendf(&tag_type->name, "@typeInfo(%s).Enum.tag_type", buf_ptr(&union_type->name)); tag_type->llvm_type = tag_int_type->llvm_type; tag_type->llvm_di_type = tag_int_type->llvm_di_type; tag_type->abi_size = tag_int_type->abi_size; diff --git a/src/stage1/codegen.cpp b/src/stage1/codegen.cpp index d850b3ee31..6aa134c3b0 100644 --- a/src/stage1/codegen.cpp +++ b/src/stage1/codegen.cpp @@ -8842,7 +8842,6 @@ static void define_builtin_fns(CodeGen *g) { create_builtin_fn(g, BuiltinFnIdIntToPtr, "intToPtr", 2); create_builtin_fn(g, BuiltinFnIdPtrToInt, "ptrToInt", 1); create_builtin_fn(g, BuiltinFnIdTagName, "tagName", 1); - create_builtin_fn(g, BuiltinFnIdTagType, "TagType", 1); create_builtin_fn(g, BuiltinFnIdFieldParentPtr, "fieldParentPtr", 3); create_builtin_fn(g, BuiltinFnIdByteOffsetOf, "byteOffsetOf", 2); create_builtin_fn(g, BuiltinFnIdBitOffsetOf, "bitOffsetOf", 2); diff --git a/src/stage1/ir.cpp b/src/stage1/ir.cpp index 9fd6f15873..e876873022 100644 --- a/src/stage1/ir.cpp +++ b/src/stage1/ir.cpp @@ -516,8 +516,6 @@ static void destroy_instruction_src(IrInstSrc *inst) { return heap::c_allocator.destroy(reinterpret_cast(inst)); case IrInstSrcIdArgType: return heap::c_allocator.destroy(reinterpret_cast(inst)); - case IrInstSrcIdTagType: - return heap::c_allocator.destroy(reinterpret_cast(inst)); case IrInstSrcIdExport: return heap::c_allocator.destroy(reinterpret_cast(inst)); case IrInstSrcIdExtern: @@ -1496,10 +1494,6 @@ static constexpr IrInstSrcId ir_inst_id(IrInstSrcTagName *) { return IrInstSrcIdTagName; } -static constexpr IrInstSrcId ir_inst_id(IrInstSrcTagType *) { - return IrInstSrcIdTagType; -} - static constexpr IrInstSrcId ir_inst_id(IrInstSrcFieldParentPtr *) { return IrInstSrcIdFieldParentPtr; } @@ -4450,17 +4444,6 @@ static IrInstGen *ir_build_tag_name_gen(IrAnalyze *ira, IrInst *source_instr, Ir return &instruction->base; } -static IrInstSrc *ir_build_tag_type(IrBuilderSrc *irb, Scope *scope, AstNode *source_node, - IrInstSrc *target) -{ - IrInstSrcTagType *instruction = ir_build_instruction(irb, scope, source_node); - instruction->target = target; - - ir_ref_instruction(target, irb->current_basic_block); - - return &instruction->base; -} - static IrInstSrc *ir_build_field_parent_ptr_src(IrBuilderSrc *irb, Scope *scope, AstNode *source_node, IrInstSrc *type_value, IrInstSrc *field_name, IrInstSrc *field_ptr) { @@ -7202,16 +7185,6 @@ static IrInstSrc *ir_gen_builtin_fn_call(IrBuilderSrc *irb, Scope *scope, AstNod IrInstSrc *tag_name = ir_build_tag_name_src(irb, scope, node, arg0_value); return ir_lval_wrap(irb, scope, tag_name, lval, result_loc); } - case BuiltinFnIdTagType: - { - AstNode *arg0_node = node->data.fn_call_expr.params.at(0); - IrInstSrc *arg0_value = ir_gen_node(irb, arg0_node, scope); - if (arg0_value == irb->codegen->invalid_inst_src) - return arg0_value; - - IrInstSrc *tag_type = ir_build_tag_type(irb, scope, node, arg0_value); - return ir_lval_wrap(irb, scope, tag_type, lval, result_loc); - } case BuiltinFnIdFieldParentPtr: { AstNode *arg0_node = node->data.fn_call_expr.params.at(0); @@ -31051,30 +31024,6 @@ static IrInstGen *ir_analyze_instruction_arg_type(IrAnalyze *ira, IrInstSrcArgTy return ir_const_type(ira, &instruction->base.base, result_type); } -static IrInstGen *ir_analyze_instruction_tag_type(IrAnalyze *ira, IrInstSrcTagType *instruction) { - Error err; - IrInstGen *target_inst = instruction->target->child; - ZigType *enum_type = ir_resolve_type(ira, target_inst); - if (type_is_invalid(enum_type)) - return ira->codegen->invalid_inst_gen; - - if (enum_type->id == ZigTypeIdEnum) { - if ((err = type_resolve(ira->codegen, enum_type, ResolveStatusSizeKnown))) - return ira->codegen->invalid_inst_gen; - - return ir_const_type(ira, &instruction->base.base, enum_type->data.enumeration.tag_int_type); - } else if (enum_type->id == ZigTypeIdUnion) { - ZigType *tag_type = ir_resolve_union_tag_type(ira, instruction->target->base.source_node, enum_type); - if (type_is_invalid(tag_type)) - return ira->codegen->invalid_inst_gen; - return ir_const_type(ira, &instruction->base.base, tag_type); - } else { - ir_add_error(ira, &target_inst->base, buf_sprintf("expected enum or union, found '%s'", - buf_ptr(&enum_type->name))); - return ira->codegen->invalid_inst_gen; - } -} - static ZigType *ir_resolve_atomic_operand_type(IrAnalyze *ira, IrInstGen *op) { ZigType *operand_type = ir_resolve_type(ira, op); if (type_is_invalid(operand_type)) @@ -32435,8 +32384,6 @@ static IrInstGen *ir_analyze_instruction_base(IrAnalyze *ira, IrInstSrc *instruc return ir_analyze_instruction_set_align_stack(ira, (IrInstSrcSetAlignStack *)instruction); case IrInstSrcIdArgType: return ir_analyze_instruction_arg_type(ira, (IrInstSrcArgType *)instruction); - case IrInstSrcIdTagType: - return ir_analyze_instruction_tag_type(ira, (IrInstSrcTagType *)instruction); case IrInstSrcIdExport: return ir_analyze_instruction_export(ira, (IrInstSrcExport *)instruction); case IrInstSrcIdExtern: @@ -32879,7 +32826,6 @@ bool ir_inst_src_has_side_effects(IrInstSrc *instruction) { case IrInstSrcIdImplicitCast: case IrInstSrcIdResolveResult: case IrInstSrcIdArgType: - case IrInstSrcIdTagType: case IrInstSrcIdErrorReturnTrace: case IrInstSrcIdErrorUnion: case IrInstSrcIdFloatOp: diff --git a/src/stage1/ir_print.cpp b/src/stage1/ir_print.cpp index 572551e615..98d349012e 100644 --- a/src/stage1/ir_print.cpp +++ b/src/stage1/ir_print.cpp @@ -282,8 +282,6 @@ const char* ir_inst_src_type_str(IrInstSrcId id) { return "SrcPanic"; case IrInstSrcIdTagName: return "SrcTagName"; - case IrInstSrcIdTagType: - return "SrcTagType"; case IrInstSrcIdFieldParentPtr: return "SrcFieldParentPtr"; case IrInstSrcIdByteOffsetOf: @@ -2354,12 +2352,6 @@ static void ir_print_arg_type(IrPrintSrc *irp, IrInstSrcArgType *instruction) { fprintf(irp->f, ")"); } -static void ir_print_enum_tag_type(IrPrintSrc *irp, IrInstSrcTagType *instruction) { - fprintf(irp->f, "@TagType("); - ir_print_other_inst_src(irp, instruction->target); - fprintf(irp->f, ")"); -} - static void ir_print_export(IrPrintSrc *irp, IrInstSrcExport *instruction) { fprintf(irp->f, "@export("); ir_print_other_inst_src(irp, instruction->target); @@ -2953,9 +2945,6 @@ static void ir_print_inst_src(IrPrintSrc *irp, IrInstSrc *instruction, bool trai case IrInstSrcIdArgType: ir_print_arg_type(irp, (IrInstSrcArgType *)instruction); break; - case IrInstSrcIdTagType: - ir_print_enum_tag_type(irp, (IrInstSrcTagType *)instruction); - break; case IrInstSrcIdExport: ir_print_export(irp, (IrInstSrcExport *)instruction); break; From 78d2f2b819b4dc90bb112197d376d37e50540493 Mon Sep 17 00:00:00 2001 From: rgreenblatt Date: Thu, 28 Jan 2021 23:58:27 -0500 Subject: [PATCH 22/73] FromWriteFileStep for all LibExeObjStep types --- lib/std/build.zig | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/lib/std/build.zig b/lib/std/build.zig index 3e6cf7a981..725ce694ac 100644 --- a/lib/std/build.zig +++ b/lib/std/build.zig @@ -272,15 +272,57 @@ pub const Builder = struct { return LibExeObjStep.createSharedLibrary(self, name, root_src_param, kind); } + pub fn addSharedLibraryFromWriteFileStep( + self: *Builder, + name: []const u8, + wfs: *WriteFileStep, + basename: []const u8, + kind: LibExeObjStep.SharedLibKind, + ) *LibExeObjStep { + return LibExeObjStep.createSharedLibrary(self, name, @as(FileSource, .{ + .write_file = .{ + .step = wfs, + .basename = basename, + }, + }), kind); + } + pub fn addStaticLibrary(self: *Builder, name: []const u8, root_src: ?[]const u8) *LibExeObjStep { const root_src_param = if (root_src) |p| @as(FileSource, .{ .path = p }) else null; return LibExeObjStep.createStaticLibrary(self, name, root_src_param); } + pub fn addStaticLibraryFromWriteFileStep( + self: *Builder, + name: []const u8, + wfs: *WriteFileStep, + basename: []const u8, + ) *LibExeObjStep { + return LibExeObjStep.createStaticLibrary(self, name, @as(FileSource, .{ + .write_file = .{ + .step = wfs, + .basename = basename, + }, + })); + } + pub fn addTest(self: *Builder, root_src: []const u8) *LibExeObjStep { return LibExeObjStep.createTest(self, "test", .{ .path = root_src }); } + pub fn addTestFromWriteFileStep( + self: *Builder, + wfs: *WriteFileStep, + basename: []const u8, + ) *LibExeObjStep { + return LibExeObjStep.createTest(self, "test", @as(FileSource, .{ + .write_file = .{ + .step = wfs, + .basename = basename, + }, + })); + } + pub fn addAssemble(self: *Builder, name: []const u8, src: []const u8) *LibExeObjStep { const obj_step = LibExeObjStep.createObject(self, name, null); obj_step.addAssemblyFile(src); From 0b5f3c2ef96df02341cdf54f6eefb3cdb88781d8 Mon Sep 17 00:00:00 2001 From: Tadeo Kondrak Date: Mon, 11 Jan 2021 11:19:24 -0700 Subject: [PATCH 23/73] Replace @TagType uses, mostly with std.meta.Tag --- doc/langref.html.in | 6 ++-- lib/std/builtin.zig | 2 +- lib/std/c/ast.zig | 2 +- lib/std/c/parse.zig | 6 ++-- lib/std/c/tokenizer.zig | 4 +-- lib/std/hash/auto_hash.zig | 2 +- lib/std/json.zig | 4 +-- lib/std/meta.zig | 10 +++---- lib/std/meta/trailer_flags.zig | 2 +- lib/std/testing.zig | 6 ++-- lib/std/zig/parser_test.zig | 2 +- src/DepTokenizer.zig | 4 +-- src/link/MachO/commands.zig | 2 +- src/stage1/analyze.cpp | 2 +- src/test.zig | 4 +-- src/translate_c.zig | 2 +- src/type.zig | 2 +- src/value.zig | 2 +- test/compile_errors.zig | 20 +++---------- test/runtime_safety.zig | 2 +- test/stage1/behavior/bugs/1322.zig | 4 +-- test/stage1/behavior/enum.zig | 15 +++++----- test/stage1/behavior/type_info.zig | 2 +- test/stage1/behavior/union.zig | 45 +++++++++++++++--------------- test/tests.zig | 2 +- tools/process_headers.zig | 2 +- 26 files changed, 73 insertions(+), 83 deletions(-) diff --git a/doc/langref.html.in b/doc/langref.html.in index 3af4d7d2b1..f75fc351d9 100644 --- a/doc/langref.html.in +++ b/doc/langref.html.in @@ -2909,15 +2909,15 @@ test "enum variant switch" { expect(mem.eql(u8, what_is_it, "this is a number")); } -// @TagType can be used to access the integer tag type of an enum. +// @typeInfo can be used to access the integer tag type of an enum. const Small = enum { one, two, three, four, }; -test "@TagType" { - expect(@TagType(Small) == u2); +test "std.meta.Tag" { + expect(@typeInfo(Small).Enum.tag_type == u2); } // @typeInfo tells us the field count and the fields names: diff --git a/lib/std/builtin.zig b/lib/std/builtin.zig index c883e03ba9..7163cc5357 100644 --- a/lib/std/builtin.zig +++ b/lib/std/builtin.zig @@ -175,7 +175,7 @@ pub const SourceLocation = struct { column: u32, }; -pub const TypeId = @TagType(TypeInfo); +pub const TypeId = std.meta.Tag(TypeInfo); /// This data structure is used by the Zig language code generation and /// therefore must be kept in sync with the compiler implementation. diff --git a/lib/std/c/ast.zig b/lib/std/c/ast.zig index 207fe8eac8..71455c0ea3 100644 --- a/lib/std/c/ast.zig +++ b/lib/std/c/ast.zig @@ -110,7 +110,7 @@ pub const Error = union(enum) { pub const ExpectedToken = struct { token: TokenIndex, - expected_id: @TagType(Token.Id), + expected_id: std.meta.Tag(Token.Id), pub fn render(self: *const ExpectedToken, tree: *Tree, stream: anytype) !void { const found_token = tree.tokens.at(self.token); diff --git a/lib/std/c/parse.zig b/lib/std/c/parse.zig index 17c07611ab..3d17938d7a 100644 --- a/lib/std/c/parse.zig +++ b/lib/std/c/parse.zig @@ -26,7 +26,7 @@ pub const Options = struct { None, /// Some warnings are errors - Some: []@TagType(ast.Error), + Some: []std.meta.Tag(ast.Error), /// All warnings are errors All, @@ -1363,7 +1363,7 @@ const Parser = struct { return &node.base; } - fn eatToken(parser: *Parser, id: @TagType(Token.Id)) ?TokenIndex { + fn eatToken(parser: *Parser, id: std.meta.Tag(Token.Id)) ?TokenIndex { while (true) { switch ((parser.it.next() orelse return null).id) { .LineComment, .MultiLineComment, .Nl => continue, @@ -1377,7 +1377,7 @@ const Parser = struct { } } - fn expectToken(parser: *Parser, id: @TagType(Token.Id)) Error!TokenIndex { + fn expectToken(parser: *Parser, id: std.meta.Tag(Token.Id)) Error!TokenIndex { while (true) { switch ((parser.it.next() orelse return error.ParseError).id) { .LineComment, .MultiLineComment, .Nl => continue, diff --git a/lib/std/c/tokenizer.zig b/lib/std/c/tokenizer.zig index ea5774fe4c..2e1969e269 100644 --- a/lib/std/c/tokenizer.zig +++ b/lib/std/c/tokenizer.zig @@ -131,7 +131,7 @@ pub const Token = struct { Keyword_error, Keyword_pragma, - pub fn symbol(id: @TagType(Id)) []const u8 { + pub fn symbol(id: std.meta.TagType(Id)) []const u8 { return switch (id) { .Invalid => "Invalid", .Eof => "Eof", @@ -347,7 +347,7 @@ pub const Token = struct { pub const Tokenizer = struct { buffer: []const u8, index: usize = 0, - prev_tok_id: @TagType(Token.Id) = .Invalid, + prev_tok_id: std.meta.TagType(Token.Id) = .Invalid, pp_directive: bool = false, pub fn next(self: *Tokenizer) Token { diff --git a/lib/std/hash/auto_hash.zig b/lib/std/hash/auto_hash.zig index 8b5852c4af..4afc2b425b 100644 --- a/lib/std/hash/auto_hash.zig +++ b/lib/std/hash/auto_hash.zig @@ -239,7 +239,7 @@ fn testHashDeepRecursive(key: anytype) u64 { test "typeContainsSlice" { comptime { - testing.expect(!typeContainsSlice(@TagType(std.builtin.TypeInfo))); + testing.expect(!typeContainsSlice(meta.Tag(std.builtin.TypeInfo))); testing.expect(typeContainsSlice([]const u8)); testing.expect(!typeContainsSlice(u8)); diff --git a/lib/std/json.zig b/lib/std/json.zig index a97044a4d8..dc23155a5e 100644 --- a/lib/std/json.zig +++ b/lib/std/json.zig @@ -246,7 +246,7 @@ pub const StreamingParser = struct { // Only call this function to generate array/object final state. pub fn fromInt(x: anytype) State { debug.assert(x == 0 or x == 1); - const T = @TagType(State); + const T = std.meta.Tag(State); return @intToEnum(State, @intCast(T, x)); } }; @@ -1782,7 +1782,7 @@ test "parseFree descends into tagged union" { }; // use a string with unicode escape so we know result can't be a reference to global constant const r = try parse(T, &TokenStream.init("\"with\\u0105unicode\""), options); - testing.expectEqual(@TagType(T).string, @as(@TagType(T), r)); + testing.expectEqual(std.meta.Tag(T).string, @as(std.meta.Tag(T), r)); testing.expectEqualSlices(u8, "withÄ…unicode", r.string); testing.expectEqual(@as(usize, 0), fail_alloc.deallocations); parseFree(T, r, options); diff --git a/lib/std/meta.zig b/lib/std/meta.zig index 9a1215e79b..30f69ae9a5 100644 --- a/lib/std/meta.zig +++ b/lib/std/meta.zig @@ -606,7 +606,7 @@ pub const TagType = Tag; pub fn Tag(comptime T: type) type { return switch (@typeInfo(T)) { .Enum => |info| info.tag_type, - .Union => |info| if (info.tag_type) |TheTag| TheTag else null, + .Union => |info| info.tag_type orelse @compileError(@typeName(T) ++ " has no tag type"), else => @compileError("expected enum or union type, found '" ++ @typeName(T) ++ "'"), }; } @@ -626,9 +626,9 @@ test "std.meta.Tag" { } ///Returns the active tag of a tagged union -pub fn activeTag(u: anytype) @TagType(@TypeOf(u)) { +pub fn activeTag(u: anytype) Tag(@TypeOf(u)) { const T = @TypeOf(u); - return @as(@TagType(T), u); + return @as(Tag(T), u); } test "std.meta.activeTag" { @@ -653,11 +653,11 @@ const TagPayloadType = TagPayload; ///Given a tagged union type, and an enum, return the type of the union /// field corresponding to the enum tag. -pub fn TagPayload(comptime U: type, tag: @TagType(U)) type { +pub fn TagPayload(comptime U: type, tag: Tag(U)) type { testing.expect(trait.is(.Union)(U)); const info = @typeInfo(U).Union; - const tag_info = @typeInfo(@TagType(U)).Enum; + const tag_info = @typeInfo(Tag(U)).Enum; inline for (info.fields) |field_info| { if (comptime mem.eql(u8, field_info.name, @tagName(tag))) diff --git a/lib/std/meta/trailer_flags.zig b/lib/std/meta/trailer_flags.zig index a5882d9e1b..1697e9fe43 100644 --- a/lib/std/meta/trailer_flags.zig +++ b/lib/std/meta/trailer_flags.zig @@ -146,7 +146,7 @@ test "TrailerFlags" { b: bool, c: u64, }); - testing.expectEqual(u2, @TagType(Flags.FieldEnum)); + testing.expectEqual(u2, meta.Tag(Flags.FieldEnum)); var flags = Flags.init(.{ .b = true, diff --git a/lib/std/testing.zig b/lib/std/testing.zig index 26938367e9..8df05ba7fe 100644 --- a/lib/std/testing.zig +++ b/lib/std/testing.zig @@ -119,10 +119,10 @@ pub fn expectEqual(expected: anytype, actual: @TypeOf(expected)) void { @compileError("Unable to compare untagged union values"); } - const TagType = @TagType(@TypeOf(expected)); + const Tag = std.meta.Tag(@TypeOf(expected)); - const expectedTag = @as(TagType, expected); - const actualTag = @as(TagType, actual); + const expectedTag = @as(Tag, expected); + const actualTag = @as(Tag, actual); expectEqual(expectedTag, actualTag); diff --git a/lib/std/zig/parser_test.zig b/lib/std/zig/parser_test.zig index d7cc1208a2..2f0b7ff082 100644 --- a/lib/std/zig/parser_test.zig +++ b/lib/std/zig/parser_test.zig @@ -3822,7 +3822,7 @@ fn testCanonical(source: []const u8) !void { return testTransform(source, source); } -const Error = @TagType(std.zig.ast.Error); +const Error = std.meta.Tag(std.zig.ast.Error); fn testError(source: []const u8, expected_errors: []const Error) !void { const tree = try std.zig.parse(std.testing.allocator, source); diff --git a/src/DepTokenizer.zig b/src/DepTokenizer.zig index b246a22bd0..0bd2999719 100644 --- a/src/DepTokenizer.zig +++ b/src/DepTokenizer.zig @@ -266,11 +266,11 @@ pub fn next(self: *Tokenizer) ?Token { unreachable; } -fn errorPosition(comptime id: @TagType(Token), index: usize, bytes: []const u8) Token { +fn errorPosition(comptime id: std.meta.Tag(Token), index: usize, bytes: []const u8) Token { return @unionInit(Token, @tagName(id), .{ .index = index, .bytes = bytes }); } -fn errorIllegalChar(comptime id: @TagType(Token), index: usize, char: u8) Token { +fn errorIllegalChar(comptime id: std.meta.Tag(Token), index: usize, char: u8) Token { return @unionInit(Token, @tagName(id), .{ .index = index, .char = char }); } diff --git a/src/link/MachO/commands.zig b/src/link/MachO/commands.zig index baea36b4e6..67b808d856 100644 --- a/src/link/MachO/commands.zig +++ b/src/link/MachO/commands.zig @@ -140,7 +140,7 @@ pub const LoadCommand = union(enum) { } fn eql(self: LoadCommand, other: LoadCommand) bool { - if (@as(@TagType(LoadCommand), self) != @as(@TagType(LoadCommand), other)) return false; + if (@as(meta.Tag(LoadCommand), self) != @as(meta.Tag(LoadCommand), other)) return false; return switch (self) { .DyldInfoOnly => |x| meta.eql(x, other.DyldInfoOnly), .Symtab => |x| meta.eql(x, other.Symtab), diff --git a/src/stage1/analyze.cpp b/src/stage1/analyze.cpp index 6bc97d323a..c701abce8a 100644 --- a/src/stage1/analyze.cpp +++ b/src/stage1/analyze.cpp @@ -3267,7 +3267,7 @@ static Error resolve_union_zero_bits(CodeGen *g, ZigType *union_type) { tag_type = new_type_table_entry(ZigTypeIdEnum); buf_resize(&tag_type->name, 0); - buf_appendf(&tag_type->name, "@typeInfo(%s).Enum.tag_type", buf_ptr(&union_type->name)); + buf_appendf(&tag_type->name, "@typeInfo(%s).Union.tag_type.?", buf_ptr(&union_type->name)); tag_type->llvm_type = tag_int_type->llvm_type; tag_type->llvm_di_type = tag_int_type->llvm_di_type; tag_type->abi_size = tag_int_type->abi_size; diff --git a/src/test.zig b/src/test.zig index 150b6496c1..07eb001e14 100644 --- a/src/test.zig +++ b/src/test.zig @@ -750,7 +750,7 @@ pub const TestContext = struct { for (actual_errors.list) |actual_error| { for (case_error_list) |case_msg, i| { - const ex_tag: @TagType(@TypeOf(case_msg)) = case_msg; + const ex_tag: std.meta.Tag(@TypeOf(case_msg)) = case_msg; switch (actual_error) { .src => |actual_msg| { for (actual_msg.notes) |*note| { @@ -789,7 +789,7 @@ pub const TestContext = struct { } while (notes_to_check.popOrNull()) |note| { for (case_error_list) |case_msg, i| { - const ex_tag: @TagType(@TypeOf(case_msg)) = case_msg; + const ex_tag: std.meta.Tag(@TypeOf(case_msg)) = case_msg; switch (note.*) { .src => |actual_msg| { for (actual_msg.notes) |*sub_note| { diff --git a/src/translate_c.zig b/src/translate_c.zig index 8efac4922f..11dbacefa2 100644 --- a/src/translate_c.zig +++ b/src/translate_c.zig @@ -3288,7 +3288,7 @@ const ClangFunctionType = union(enum) { NoProto: *const clang.FunctionType, fn getReturnType(self: @This()) clang.QualType { - switch (@as(@TagType(@This()), self)) { + switch (@as(std.meta.Tag(@This()), self)) { .Proto => return self.Proto.getReturnType(), .NoProto => return self.NoProto.getReturnType(), } diff --git a/src/type.zig b/src/type.zig index be61f57c1d..1636407a87 100644 --- a/src/type.zig +++ b/src/type.zig @@ -110,7 +110,7 @@ pub const Type = extern union { pub fn tag(self: Type) Tag { if (self.tag_if_small_enough < Tag.no_payload_count) { - return @intToEnum(Tag, @intCast(@TagType(Tag), self.tag_if_small_enough)); + return @intToEnum(Tag, @intCast(std.meta.Tag(Tag), self.tag_if_small_enough)); } else { return self.ptr_otherwise.tag; } diff --git a/src/value.zig b/src/value.zig index 5b0563ca98..50298da682 100644 --- a/src/value.zig +++ b/src/value.zig @@ -223,7 +223,7 @@ pub const Value = extern union { pub fn tag(self: Value) Tag { if (self.tag_if_small_enough < Tag.no_payload_count) { - return @intToEnum(Tag, @intCast(@TagType(Tag), self.tag_if_small_enough)); + return @intToEnum(Tag, @intCast(std.meta.Tag(Tag), self.tag_if_small_enough)); } else { return self.ptr_otherwise.tag; } diff --git a/test/compile_errors.zig b/test/compile_errors.zig index ef87acf538..3b4eb61195 100644 --- a/test/compile_errors.zig +++ b/test/compile_errors.zig @@ -323,7 +323,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { \\ e: E, \\}; \\export fn entry() void { - \\ if (@TagType(E) != u8) @compileError("did not infer u8 tag type"); + \\ if (@typeInfo(E).Enum.tag_type != u8) @compileError("did not infer u8 tag type"); \\ const s: S = undefined; \\} , &[_][]const u8{ @@ -2728,7 +2728,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { \\const InvalidToken = struct {}; \\const ExpectedVarDeclOrFn = struct {}; , &[_][]const u8{ - "tmp.zig:4:9: error: expected type '@TagType(Error)', found 'type'", + "tmp.zig:4:9: error: expected type '@typeInfo(Error).Union.tag_type.?', found 'type'", }); cases.addTest("binary OR operator on error sets", @@ -7462,24 +7462,12 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { "tmp.zig:4:5: note: declared here", }); - cases.add("@TagType when union has no attached enum", - \\const Foo = union { - \\ A: i32, - \\}; - \\export fn entry() void { - \\ const x = @TagType(Foo); - \\} - , &[_][]const u8{ - "tmp.zig:5:24: error: union 'Foo' has no tag", - "tmp.zig:1:13: note: consider 'union(enum)' here", - }); - cases.add("non-integer tag type to automatic union enum", \\const Foo = union(enum(f32)) { \\ A: i32, \\}; \\export fn entry() void { - \\ const x = @TagType(Foo); + \\ const x = @typeInfo(Foo).Union.tag_type.?; \\} , &[_][]const u8{ "tmp.zig:1:24: error: expected integer tag type, found 'f32'", @@ -7490,7 +7478,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { \\ A: i32, \\}; \\export fn entry() void { - \\ const x = @TagType(Foo); + \\ const x = @typeInfo(Foo).Union.tag_type.?; \\} , &[_][]const u8{ "tmp.zig:1:19: error: expected enum tag type, found 'u32'", diff --git a/test/runtime_safety.zig b/test/runtime_safety.zig index 2ab728b580..eb49b2dbc1 100644 --- a/test/runtime_safety.zig +++ b/test/runtime_safety.zig @@ -74,7 +74,7 @@ pub fn addCases(cases: *tests.CompareOutputContext) void { \\pub fn main() void { \\ var u: U = undefined; \\ @memset(@ptrCast([*]u8, &u), 0x55, @sizeOf(U)); - \\ var t: @TagType(U) = u; + \\ var t: @typeInfo(U).Union.tag_type.? = u; \\ var n = @tagName(t); \\} ); diff --git a/test/stage1/behavior/bugs/1322.zig b/test/stage1/behavior/bugs/1322.zig index 3231a985e7..02ead6afff 100644 --- a/test/stage1/behavior/bugs/1322.zig +++ b/test/stage1/behavior/bugs/1322.zig @@ -13,7 +13,7 @@ const C = struct {}; test "tagged union with all void fields but a meaningful tag" { var a: A = A{ .b = B{ .c = C{} } }; - std.testing.expect(@as(@TagType(B), a.b) == @TagType(B).c); + std.testing.expect(@as(std.meta.Tag(B), a.b) == std.meta.Tag(B).c); a = A{ .b = B.None }; - std.testing.expect(@as(@TagType(B), a.b) == @TagType(B).None); + std.testing.expect(@as(std.meta.Tag(B), a.b) == std.meta.Tag(B).None); } diff --git a/test/stage1/behavior/enum.zig b/test/stage1/behavior/enum.zig index 1d424d6e39..ecb95be8f5 100644 --- a/test/stage1/behavior/enum.zig +++ b/test/stage1/behavior/enum.zig @@ -1,5 +1,6 @@ const expect = @import("std").testing.expect; const mem = @import("std").mem; +const Tag = @import("std").meta.Tag; test "extern enum" { const S = struct { @@ -827,12 +828,12 @@ test "set enum tag type" { { var x = Small.One; x = Small.Two; - comptime expect(@TagType(Small) == u2); + comptime expect(Tag(Small) == u2); } { var x = Small2.One; x = Small2.Two; - comptime expect(@TagType(Small2) == u2); + comptime expect(Tag(Small2) == u2); } } @@ -905,11 +906,11 @@ fn getC(data: *const BitFieldOfEnums) C { } test "casting enum to its tag type" { - testCastEnumToTagType(Small2.Two); - comptime testCastEnumToTagType(Small2.Two); + testCastEnumTag(Small2.Two); + comptime testCastEnumTag(Small2.Two); } -fn testCastEnumToTagType(value: Small2) void { +fn testCastEnumTag(value: Small2) void { expect(@enumToInt(value) == 1); } @@ -1163,14 +1164,14 @@ test "enum with comptime_int tag type" { Two = 2, Three = 1, }; - comptime expect(@TagType(Enum) == comptime_int); + comptime expect(Tag(Enum) == comptime_int); } test "enum with one member default to u0 tag type" { const E0 = enum { X, }; - comptime expect(@TagType(E0) == u0); + comptime expect(Tag(E0) == u0); } test "tagName on enum literals" { diff --git a/test/stage1/behavior/type_info.zig b/test/stage1/behavior/type_info.zig index aa5ac89c94..6dec7ca4d2 100644 --- a/test/stage1/behavior/type_info.zig +++ b/test/stage1/behavior/type_info.zig @@ -14,7 +14,7 @@ test "type info: tag type, void info" { } fn testBasic() void { - expect(@TagType(TypeInfo) == TypeId); + expect(@typeInfo(TypeInfo).Union.tag_type == TypeId); const void_info = @typeInfo(void); expect(void_info == TypeId.Void); expect(void_info.Void == {}); diff --git a/test/stage1/behavior/union.zig b/test/stage1/behavior/union.zig index 63f36e755a..e46b6bb6b9 100644 --- a/test/stage1/behavior/union.zig +++ b/test/stage1/behavior/union.zig @@ -1,6 +1,7 @@ const std = @import("std"); const expect = std.testing.expect; const expectEqual = std.testing.expectEqual; +const Tag = std.meta.Tag; const Value = union(enum) { Int: u64, @@ -128,7 +129,7 @@ const MultipleChoice = union(enum(u32)) { test "simple union(enum(u32))" { var x = MultipleChoice.C; expect(x == MultipleChoice.C); - expect(@enumToInt(@as(@TagType(MultipleChoice), x)) == 60); + expect(@enumToInt(@as(Tag(MultipleChoice), x)) == 60); } const MultipleChoice2 = union(enum(u32)) { @@ -144,13 +145,13 @@ const MultipleChoice2 = union(enum(u32)) { }; test "union(enum(u32)) with specified and unspecified tag values" { - comptime expect(@TagType(@TagType(MultipleChoice2)) == u32); + comptime expect(Tag(Tag(MultipleChoice2)) == u32); testEnumWithSpecifiedAndUnspecifiedTagValues(MultipleChoice2{ .C = 123 }); comptime testEnumWithSpecifiedAndUnspecifiedTagValues(MultipleChoice2{ .C = 123 }); } fn testEnumWithSpecifiedAndUnspecifiedTagValues(x: MultipleChoice2) void { - expect(@enumToInt(@as(@TagType(MultipleChoice2), x)) == 60); + expect(@enumToInt(@as(Tag(MultipleChoice2), x)) == 60); expect(1123 == switch (x) { MultipleChoice2.A => 1, MultipleChoice2.B => 2, @@ -204,11 +205,11 @@ test "union field access gives the enum values" { } test "cast union to tag type of union" { - testCastUnionToTagType(TheUnion{ .B = 1234 }); - comptime testCastUnionToTagType(TheUnion{ .B = 1234 }); + testCastUnionToTag(TheUnion{ .B = 1234 }); + comptime testCastUnionToTag(TheUnion{ .B = 1234 }); } -fn testCastUnionToTagType(x: TheUnion) void { +fn testCastUnionToTag(x: TheUnion) void { expect(@as(TheTag, x) == TheTag.B); } @@ -298,7 +299,7 @@ const TaggedUnionWithAVoid = union(enum) { fn testTaggedUnionInit(x: anytype) bool { const y = TaggedUnionWithAVoid{ .A = x }; - return @as(@TagType(TaggedUnionWithAVoid), y) == TaggedUnionWithAVoid.A; + return @as(Tag(TaggedUnionWithAVoid), y) == TaggedUnionWithAVoid.A; } pub const UnionEnumNoPayloads = union(enum) { @@ -309,8 +310,8 @@ pub const UnionEnumNoPayloads = union(enum) { test "tagged union with no payloads" { const a = UnionEnumNoPayloads{ .B = {} }; switch (a) { - @TagType(UnionEnumNoPayloads).A => @panic("wrong"), - @TagType(UnionEnumNoPayloads).B => {}, + Tag(UnionEnumNoPayloads).A => @panic("wrong"), + Tag(UnionEnumNoPayloads).B => {}, } } @@ -325,9 +326,9 @@ test "union with only 1 field casted to its enum type" { }; var e = Expr{ .Literal = Literal{ .Bool = true } }; - const Tag = @TagType(Expr); - comptime expect(@TagType(Tag) == u0); - var t = @as(Tag, e); + const ExprTag = Tag(Expr); + comptime expect(Tag(ExprTag) == u0); + var t = @as(ExprTag, e); expect(t == Expr.Literal); } @@ -337,17 +338,17 @@ test "union with only 1 field casted to its enum type which has enum value speci Bool: bool, }; - const Tag = enum(comptime_int) { + const ExprTag = enum(comptime_int) { Literal = 33, }; - const Expr = union(Tag) { + const Expr = union(ExprTag) { Literal: Literal, }; var e = Expr{ .Literal = Literal{ .Bool = true } }; - comptime expect(@TagType(Tag) == comptime_int); - var t = @as(Tag, e); + comptime expect(Tag(ExprTag) == comptime_int); + var t = @as(ExprTag, e); expect(t == Expr.Literal); expect(@enumToInt(t) == 33); comptime expect(@enumToInt(t) == 33); @@ -501,7 +502,7 @@ test "union with one member defaults to u0 tag type" { const U0 = union(enum) { X: u32, }; - comptime expect(@TagType(@TagType(U0)) == u0); + comptime expect(Tag(Tag(U0)) == u0); } test "union with comptime_int tag" { @@ -510,7 +511,7 @@ test "union with comptime_int tag" { Y: u16, Z: u8, }; - comptime expect(@TagType(@TagType(Union)) == comptime_int); + comptime expect(Tag(Tag(Union)) == comptime_int); } test "extern union doesn't trigger field check at comptime" { @@ -591,7 +592,7 @@ test "function call result coerces from tagged union to the tag" { Two: usize, }; - const ArchTag = @TagType(Arch); + const ArchTag = Tag(Arch); fn doTheTest() void { var x: ArchTag = getArch1(); @@ -696,8 +697,8 @@ test "cast from pointer to anonymous struct to pointer to union" { test "method call on an empty union" { const S = struct { - const MyUnion = union(Tag) { - pub const Tag = enum { X1, X2 }; + const MyUnion = union(MyUnionTag) { + pub const MyUnionTag = enum { X1, X2 }; X1: [0]u8, X2: [0]u8, @@ -797,7 +798,7 @@ test "union enum type gets a separate scope" { }; fn doTheTest() void { - expect(!@hasDecl(@TagType(U), "foo")); + expect(!@hasDecl(Tag(U), "foo")); } }; diff --git a/test/tests.zig b/test/tests.zig index ec6d9e1df8..a0a50d29a5 100644 --- a/test/tests.zig +++ b/test/tests.zig @@ -499,7 +499,7 @@ pub fn addPkgTests( if (skip_single_threaded and test_target.single_threaded) continue; - const ArchTag = @TagType(builtin.Arch); + const ArchTag = std.meta.Tag(builtin.Arch); if (test_target.disable_native and test_target.target.getOsTag() == std.Target.current.os.tag and test_target.target.getCpuArch() == std.Target.current.cpu.arch) diff --git a/tools/process_headers.zig b/tools/process_headers.zig index 999b62e715..c5279ba74f 100644 --- a/tools/process_headers.zig +++ b/tools/process_headers.zig @@ -47,7 +47,7 @@ const MultiAbi = union(enum) { fn eql(a: MultiAbi, b: MultiAbi) bool { if (@enumToInt(a) != @enumToInt(b)) return false; - if (@TagType(MultiAbi)(a) != .specific) + if (std.meta.Tag(MultiAbi)(a) != .specific) return true; return a.specific == b.specific; } From 33c0a01b08262d5ad0c666d8fbeb35dfcb36b5ef Mon Sep 17 00:00:00 2001 From: daurnimator Date: Sun, 31 Jan 2021 23:39:15 +1100 Subject: [PATCH 24/73] std.json support for comptime fields Closes #6231 --- lib/std/json.zig | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/lib/std/json.zig b/lib/std/json.zig index dc23155a5e..1fdd7ce9d6 100644 --- a/lib/std/json.zig +++ b/lib/std/json.zig @@ -1471,7 +1471,7 @@ fn parseInternal(comptime T: type, token: Token, tokens: *TokenStream, options: var fields_seen = [_]bool{false} ** structInfo.fields.len; errdefer { inline for (structInfo.fields) |field, i| { - if (fields_seen[i]) { + if (fields_seen[i] and !field.is_comptime) { parseFree(field.field_type, @field(r, field.name), options); } } @@ -1504,7 +1504,15 @@ fn parseInternal(comptime T: type, token: Token, tokens: *TokenStream, options: parseFree(field.field_type, @field(r, field.name), options); } } - @field(r, field.name) = try parse(field.field_type, tokens, options); + if (field.is_comptime) { + const value = try parse(field.field_type, tokens, options); + defer parseFree(field.field_type, value, options); + if (value != @field(r, field.name)) { + return error.UnexpectedValue; + } + } else { + @field(r, field.name) = try parse(field.field_type, tokens, options); + } fields_seen[i] = true; found = true; break; @@ -1518,7 +1526,9 @@ fn parseInternal(comptime T: type, token: Token, tokens: *TokenStream, options: inline for (structInfo.fields) |field, i| { if (!fields_seen[i]) { if (field.default_value) |default| { - @field(r, field.name) = default; + if (!field.is_comptime) { + @field(r, field.name) = default; + } } else { return error.MissingField; } @@ -1789,6 +1799,19 @@ test "parseFree descends into tagged union" { testing.expectEqual(@as(usize, 1), fail_alloc.deallocations); } +test "parse with comptime field" { + const T = struct { + comptime a: i32 = 0, + b: bool, + }; + testing.expectEqual(T{ .a = 0, .b = true }, try parse(T, &TokenStream.init( + \\{ + \\ "a": 0, + \\ "b": true + \\} + ), ParseOptions{})); +} + test "parse into struct with no fields" { const T = struct {}; testing.expectEqual(T{}, try parse(T, &TokenStream.init("{}"), ParseOptions{})); From f88bb56ee5be01b83ab35bd7b6c95539a4e04a9d Mon Sep 17 00:00:00 2001 From: daurnimator Date: Mon, 1 Feb 2021 00:22:00 +1100 Subject: [PATCH 25/73] std.json union handling should bubble up AllocationRequired --- lib/std/json.zig | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/lib/std/json.zig b/lib/std/json.zig index 1fdd7ce9d6..5e13233d17 100644 --- a/lib/std/json.zig +++ b/lib/std/json.zig @@ -1454,6 +1454,8 @@ fn parseInternal(comptime T: type, token: Token, tokens: *TokenStream, options: // Parsing some types won't have OutOfMemory in their // error-sets, for the condition to be valid, merge it in. if (@as(@TypeOf(err) || error{OutOfMemory}, err) == error.OutOfMemory) return err; + // Bubble up AllocatorRequired, as it indicates missing option + if (@as(@TypeOf(err) || error{AllocatorRequired}, err) == error.AllocatorRequired) return err; // otherwise continue through the `inline for` } } @@ -1741,18 +1743,6 @@ test "parse into tagged union" { testing.expectEqual(T{ .float = 1.5 }, try parse(T, &TokenStream.init("1.5"), ParseOptions{})); } - { // if union matches string member, fails with NoUnionMembersMatched rather than AllocatorRequired - // Note that this behaviour wasn't necessarily by design, but was - // what fell out of the implementation and may result in interesting - // API breakage if changed - const T = union(enum) { - int: i32, - float: f64, - string: []const u8, - }; - testing.expectError(error.NoUnionMembersMatched, parse(T, &TokenStream.init("\"foo\""), ParseOptions{})); - } - { // failing allocations should be bubbled up instantly without trying next member var fail_alloc = testing.FailingAllocator.init(testing.allocator, 0); const options = ParseOptions{ .allocator = &fail_alloc.allocator }; @@ -1782,6 +1772,25 @@ test "parse into tagged union" { } } +test "parse union bubbles up AllocatorRequired" { + { // string member first in union (and not matching) + const T = union(enum) { + string: []const u8, + int: i32, + }; + testing.expectError(error.AllocatorRequired, parse(T, &TokenStream.init("42"), ParseOptions{})); + } + + { // string member not first in union (and matching) + const T = union(enum) { + int: i32, + float: f64, + string: []const u8, + }; + testing.expectError(error.AllocatorRequired, parse(T, &TokenStream.init("\"foo\""), ParseOptions{})); + } +} + test "parseFree descends into tagged union" { var fail_alloc = testing.FailingAllocator.init(testing.allocator, 1); const options = ParseOptions{ .allocator = &fail_alloc.allocator }; From e0a04e7f6739aa0d81e3102c04af37ab51e550d4 Mon Sep 17 00:00:00 2001 From: daurnimator Date: Mon, 1 Feb 2021 00:55:22 +1100 Subject: [PATCH 26/73] allow more complex comptime fields in std.json --- lib/std/json.zig | 107 +++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 94 insertions(+), 13 deletions(-) diff --git a/lib/std/json.zig b/lib/std/json.zig index 5e13233d17..6a4fb827f9 100644 --- a/lib/std/json.zig +++ b/lib/std/json.zig @@ -1374,6 +1374,65 @@ test "Value.jsonStringify" { } } +/// parse tokens from a stream, returning `false` if they do not decode to `value` +fn parsesTo(comptime T: type, value: T, tokens: *TokenStream, options: ParseOptions) !bool { + // TODO: should be able to write this function to not require an allocator + const tmp = try parse(T, tokens, options); + defer parseFree(T, tmp, options); + + return parsedEqual(tmp, value); +} + +/// Returns if a value returned by `parse` is deep-equal to another value +fn parsedEqual(a: anytype, b: @TypeOf(a)) bool { + switch (@typeInfo(@TypeOf(a))) { + .Optional => { + if (a == null and b == null) return true; + if (a == null or b == null) return false; + return parsedEqual(a.?, b.?); + }, + .Union => |unionInfo| { + if (info.tag_type) |UnionTag| { + const tag_a = std.meta.activeTag(a); + const tag_b = std.meta.activeTag(b); + if (tag_a != tag_b) return false; + + inline for (info.fields) |field_info| { + if (@field(UnionTag, field_info.name) == tag_a) { + return parsedEqual(@field(a, field_info.name), @field(b, field_info.name)); + } + } + return false; + } else { + unreachable; + } + }, + .Array => { + for (a) |e, i| + if (!parsedEqual(e, b[i])) return false; + return true; + }, + .Struct => |info| { + inline for (info.fields) |field_info| { + if (!parsedEqual(@field(a, field_info.name), @field(b, field_info.name))) return false; + } + return true; + }, + .Pointer => |ptrInfo| switch (ptrInfo.size) { + .One => return parsedEqual(a.*, b.*), + .Slice => { + if (a.len != b.len) return false; + for (a) |e, i| + if (!parsedEqual(e, b[i])) return false; + return true; + }, + .Many, .C => unreachable, + }, + else => return a == b, + } + unreachable; +} + pub const ParseOptions = struct { allocator: ?*Allocator = null, @@ -1507,9 +1566,7 @@ fn parseInternal(comptime T: type, token: Token, tokens: *TokenStream, options: } } if (field.is_comptime) { - const value = try parse(field.field_type, tokens, options); - defer parseFree(field.field_type, value, options); - if (value != @field(r, field.name)) { + if (!try parsesTo(field.field_type, field.default_value.?, tokens, options)) { return error.UnexpectedValue; } } else { @@ -1809,16 +1866,40 @@ test "parseFree descends into tagged union" { } test "parse with comptime field" { - const T = struct { - comptime a: i32 = 0, - b: bool, - }; - testing.expectEqual(T{ .a = 0, .b = true }, try parse(T, &TokenStream.init( - \\{ - \\ "a": 0, - \\ "b": true - \\} - ), ParseOptions{})); + { + const T = struct { + comptime a: i32 = 0, + b: bool, + }; + testing.expectEqual(T{ .a = 0, .b = true }, try parse(T, &TokenStream.init( + \\{ + \\ "a": 0, + \\ "b": true + \\} + ), ParseOptions{})); + } + + { // string comptime values currently require an allocator + const T = union(enum) { + foo: struct { + comptime kind: []const u8 = "boolean", + b: bool, + }, + bar: struct { + comptime kind: []const u8 = "float", + b: f64, + }, + }; + + const r = try std.json.parse(T, &std.json.TokenStream.init( + \\{ + \\ "kind": "float", + \\ "b": 1.0 + \\} + ), .{ + .allocator = std.testing.allocator, + }); + } } test "parse into struct with no fields" { From b7452fe35f514d4c04aae4582bc8071bc9e70f1b Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Wed, 20 Jan 2021 20:37:44 -0700 Subject: [PATCH 27/73] stage2: rework astgen result locations Motivating test case: ```zig export fn _start() noreturn { var x: u64 = 1; var y: u32 = 2; var thing: u32 = 1; const result = if (thing == 1) x else y; exit(); } ``` The main idea here is for astgen to output ideal ZIR depending on whether or not the sub-expressions of a block consume the result location. Here, neither `x` nor `y` consume the result location of the conditional expression block, and so the ZIR should communicate the result of the condbr using break instructions, not with the result location pointer. With this commit, this is accomplished: ``` %22 = alloc_inferred() %23 = block({ %24 = const(TypedValue{ .ty = type, .val = bool}) %25 = deref(%18) %26 = const(TypedValue{ .ty = comptime_int, .val = 1}) %27 = cmp_eq(%25, %26) %28 = as(%24, %27) %29 = condbr(%28, { %30 = deref(%4) < there is no longer a store instruction here > %31 = break("label_23", %30) }, { %32 = deref(%11) < there is no longer a store instruction here > %33 = break("label_23", %32) }) }) %34 = store_to_inferred_ptr(%22, %23) <-- the store is only here %35 = resolve_inferred_alloc(%22) ``` However if the result location gets consumed, the break instructions change to break_void, and the result value is communicated only by the stores, not by the break instructions. Implementation: * The GenZIR scope that conditional branches uses now has an optional result location pointer field and a count of how many times the result location ended up being an rvalue (not consumed). * When rvalue() is called on a result location for a block, it increments this counter. After generating the branches of a block, astgen for the conditional branch checks this count and if it is 2 then the store_to_block_ptr instructions are elided and it calls rvalue() using the block result (which will account for peer type resolution on the break operands). astgen has many functions disabled until they can be reworked with these new semantics. That will be done before merging the branch. There are some new rules for astgen to follow regarding result locations and what you are allowed/required to do depending on which one is passed to expr(). See the updated doc comments of ResultLoc for details. I also changed naming conventions of stuff in this commit, sorry about that. --- src/Module.zig | 9 +- src/astgen.zig | 404 +++++++++++++++++++++------------ src/codegen.zig | 24 +- src/ir.zig | 16 +- src/zir.zig | 155 ++++++------- src/zir_sema.zig | 580 ++++++++++++++++++++++++----------------------- 6 files changed, 654 insertions(+), 534 deletions(-) diff --git a/src/Module.zig b/src/Module.zig index fa9722814e..2dc84a93a9 100644 --- a/src/Module.zig +++ b/src/Module.zig @@ -697,6 +697,13 @@ pub const Scope = struct { continue_block: ?*zir.Inst.Block = null, /// only valid if label != null or (continue_block and break_block) != null break_result_loc: astgen.ResultLoc = undefined, + /// When a block has a pointer result location, here it is. + rl_ptr: ?*zir.Inst = null, + /// Keeps track of how many branches of a block did not actually + /// consume the result location. astgen uses this to figure out + /// whether to rely on break instructions or writing to the result + /// pointer for the result instruction. + rvalue_rl_count: usize = 0, pub const Label = struct { token: ast.TokenIndex, @@ -1171,7 +1178,7 @@ fn astGenAndAnalyzeDecl(self: *Module, decl: *Decl) !bool { !gen_scope.instructions.items[gen_scope.instructions.items.len - 1].tag.isNoReturn()) { const src = tree.token_locs[body_block.rbrace].start; - _ = try astgen.addZIRNoOp(self, &gen_scope.base, src, .returnvoid); + _ = try astgen.addZIRNoOp(self, &gen_scope.base, src, .return_void); } if (std.builtin.mode == .Debug and self.comp.verbose_ir) { diff --git a/src/astgen.zig b/src/astgen.zig index a74b83de44..617937aa82 100644 --- a/src/astgen.zig +++ b/src/astgen.zig @@ -14,25 +14,30 @@ const InnerError = Module.InnerError; pub const ResultLoc = union(enum) { /// The expression is the right-hand side of assignment to `_`. Only the side-effects of the - /// expression should be generated. + /// expression should be generated. The result instruction from the expression must + /// be ignored. discard, /// The expression has an inferred type, and it will be evaluated as an rvalue. none, /// The expression must generate a pointer rather than a value. For example, the left hand side /// of an assignment uses this kind of result location. ref, - /// The expression will be type coerced into this type, but it will be evaluated as an rvalue. + /// The expression will be coerced into this type, but it will be evaluated as an rvalue. ty: *zir.Inst, - /// The expression must store its result into this typed pointer. + /// The expression must store its result into this typed pointer. The result instruction + /// from the expression must be ignored. ptr: *zir.Inst, /// The expression must store its result into this allocation, which has an inferred type. + /// The result instruction from the expression must be ignored. inferred_ptr: *zir.Inst.Tag.alloc_inferred.Type(), /// The expression must store its result into this pointer, which is a typed pointer that /// has been bitcasted to whatever the expression's type is. + /// The result instruction from the expression must be ignored. bitcasted_ptr: *zir.Inst.UnOp, /// There is a pointer for the expression to store its result into, however, its type /// is inferred based on peer type resolution for a `zir.Inst.Block`. - block_ptr: *zir.Inst.Block, + /// The result instruction from the expression must be ignored. + block_ptr: *Module.Scope.GenZIR, }; pub fn typeExpr(mod: *Module, scope: *Scope, type_node: *ast.Node) InnerError!*zir.Inst { @@ -179,6 +184,9 @@ fn lvalExpr(mod: *Module, scope: *Scope, node: *ast.Node) InnerError!*zir.Inst { } /// Turn Zig AST into untyped ZIR istructions. +/// When `rl` is discard, ptr, inferred_ptr, bitcasted_ptr, or inferred_ptr, the +/// result instruction can be used to inspect whether it is isNoReturn() but that is it, +/// it must otherwise not be used. pub fn expr(mod: *Module, scope: *Scope, rl: ResultLoc, node: *ast.Node) InnerError!*zir.Inst { switch (node.tag) { .Root => unreachable, // Top-level declaration. @@ -197,20 +205,20 @@ pub fn expr(mod: *Module, scope: *Scope, rl: ResultLoc, node: *ast.Node) InnerEr .FieldInitializer => unreachable, // Handled explicitly. .ContainerField => unreachable, // Handled explicitly. - .Assign => return rlWrapVoid(mod, scope, rl, node, try assign(mod, scope, node.castTag(.Assign).?)), - .AssignBitAnd => return rlWrapVoid(mod, scope, rl, node, try assignOp(mod, scope, node.castTag(.AssignBitAnd).?, .bitand)), - .AssignBitOr => return rlWrapVoid(mod, scope, rl, node, try assignOp(mod, scope, node.castTag(.AssignBitOr).?, .bitor)), - .AssignBitShiftLeft => return rlWrapVoid(mod, scope, rl, node, try assignOp(mod, scope, node.castTag(.AssignBitShiftLeft).?, .shl)), - .AssignBitShiftRight => return rlWrapVoid(mod, scope, rl, node, try assignOp(mod, scope, node.castTag(.AssignBitShiftRight).?, .shr)), - .AssignBitXor => return rlWrapVoid(mod, scope, rl, node, try assignOp(mod, scope, node.castTag(.AssignBitXor).?, .xor)), - .AssignDiv => return rlWrapVoid(mod, scope, rl, node, try assignOp(mod, scope, node.castTag(.AssignDiv).?, .div)), - .AssignSub => return rlWrapVoid(mod, scope, rl, node, try assignOp(mod, scope, node.castTag(.AssignSub).?, .sub)), - .AssignSubWrap => return rlWrapVoid(mod, scope, rl, node, try assignOp(mod, scope, node.castTag(.AssignSubWrap).?, .subwrap)), - .AssignMod => return rlWrapVoid(mod, scope, rl, node, try assignOp(mod, scope, node.castTag(.AssignMod).?, .mod_rem)), - .AssignAdd => return rlWrapVoid(mod, scope, rl, node, try assignOp(mod, scope, node.castTag(.AssignAdd).?, .add)), - .AssignAddWrap => return rlWrapVoid(mod, scope, rl, node, try assignOp(mod, scope, node.castTag(.AssignAddWrap).?, .addwrap)), - .AssignMul => return rlWrapVoid(mod, scope, rl, node, try assignOp(mod, scope, node.castTag(.AssignMul).?, .mul)), - .AssignMulWrap => return rlWrapVoid(mod, scope, rl, node, try assignOp(mod, scope, node.castTag(.AssignMulWrap).?, .mulwrap)), + .Assign => return rvalueVoid(mod, scope, rl, node, try assign(mod, scope, node.castTag(.Assign).?)), + .AssignBitAnd => return rvalueVoid(mod, scope, rl, node, try assignOp(mod, scope, node.castTag(.AssignBitAnd).?, .bit_and)), + .AssignBitOr => return rvalueVoid(mod, scope, rl, node, try assignOp(mod, scope, node.castTag(.AssignBitOr).?, .bit_or)), + .AssignBitShiftLeft => return rvalueVoid(mod, scope, rl, node, try assignOp(mod, scope, node.castTag(.AssignBitShiftLeft).?, .shl)), + .AssignBitShiftRight => return rvalueVoid(mod, scope, rl, node, try assignOp(mod, scope, node.castTag(.AssignBitShiftRight).?, .shr)), + .AssignBitXor => return rvalueVoid(mod, scope, rl, node, try assignOp(mod, scope, node.castTag(.AssignBitXor).?, .xor)), + .AssignDiv => return rvalueVoid(mod, scope, rl, node, try assignOp(mod, scope, node.castTag(.AssignDiv).?, .div)), + .AssignSub => return rvalueVoid(mod, scope, rl, node, try assignOp(mod, scope, node.castTag(.AssignSub).?, .sub)), + .AssignSubWrap => return rvalueVoid(mod, scope, rl, node, try assignOp(mod, scope, node.castTag(.AssignSubWrap).?, .subwrap)), + .AssignMod => return rvalueVoid(mod, scope, rl, node, try assignOp(mod, scope, node.castTag(.AssignMod).?, .mod_rem)), + .AssignAdd => return rvalueVoid(mod, scope, rl, node, try assignOp(mod, scope, node.castTag(.AssignAdd).?, .add)), + .AssignAddWrap => return rvalueVoid(mod, scope, rl, node, try assignOp(mod, scope, node.castTag(.AssignAddWrap).?, .addwrap)), + .AssignMul => return rvalueVoid(mod, scope, rl, node, try assignOp(mod, scope, node.castTag(.AssignMul).?, .mul)), + .AssignMulWrap => return rvalueVoid(mod, scope, rl, node, try assignOp(mod, scope, node.castTag(.AssignMulWrap).?, .mulwrap)), .Add => return simpleBinOp(mod, scope, rl, node.castTag(.Add).?, .add), .AddWrap => return simpleBinOp(mod, scope, rl, node.castTag(.AddWrap).?, .addwrap), @@ -220,8 +228,8 @@ pub fn expr(mod: *Module, scope: *Scope, rl: ResultLoc, node: *ast.Node) InnerEr .MulWrap => return simpleBinOp(mod, scope, rl, node.castTag(.MulWrap).?, .mulwrap), .Div => return simpleBinOp(mod, scope, rl, node.castTag(.Div).?, .div), .Mod => return simpleBinOp(mod, scope, rl, node.castTag(.Mod).?, .mod_rem), - .BitAnd => return simpleBinOp(mod, scope, rl, node.castTag(.BitAnd).?, .bitand), - .BitOr => return simpleBinOp(mod, scope, rl, node.castTag(.BitOr).?, .bitor), + .BitAnd => return simpleBinOp(mod, scope, rl, node.castTag(.BitAnd).?, .bit_and), + .BitOr => return simpleBinOp(mod, scope, rl, node.castTag(.BitOr).?, .bit_or), .BitShiftLeft => return simpleBinOp(mod, scope, rl, node.castTag(.BitShiftLeft).?, .shl), .BitShiftRight => return simpleBinOp(mod, scope, rl, node.castTag(.BitShiftRight).?, .shr), .BitXor => return simpleBinOp(mod, scope, rl, node.castTag(.BitXor).?, .xor), @@ -239,15 +247,15 @@ pub fn expr(mod: *Module, scope: *Scope, rl: ResultLoc, node: *ast.Node) InnerEr .BoolAnd => return boolBinOp(mod, scope, rl, node.castTag(.BoolAnd).?), .BoolOr => return boolBinOp(mod, scope, rl, node.castTag(.BoolOr).?), - .BoolNot => return rlWrap(mod, scope, rl, try boolNot(mod, scope, node.castTag(.BoolNot).?)), - .BitNot => return rlWrap(mod, scope, rl, try bitNot(mod, scope, node.castTag(.BitNot).?)), - .Negation => return rlWrap(mod, scope, rl, try negation(mod, scope, node.castTag(.Negation).?, .sub)), - .NegationWrap => return rlWrap(mod, scope, rl, try negation(mod, scope, node.castTag(.NegationWrap).?, .subwrap)), + .BoolNot => return rvalue(mod, scope, rl, try boolNot(mod, scope, node.castTag(.BoolNot).?)), + .BitNot => return rvalue(mod, scope, rl, try bitNot(mod, scope, node.castTag(.BitNot).?)), + .Negation => return rvalue(mod, scope, rl, try negation(mod, scope, node.castTag(.Negation).?, .sub)), + .NegationWrap => return rvalue(mod, scope, rl, try negation(mod, scope, node.castTag(.NegationWrap).?, .subwrap)), .Identifier => return try identifier(mod, scope, rl, node.castTag(.Identifier).?), - .Asm => return rlWrap(mod, scope, rl, try assembly(mod, scope, node.castTag(.Asm).?)), - .StringLiteral => return rlWrap(mod, scope, rl, try stringLiteral(mod, scope, node.castTag(.StringLiteral).?)), - .IntegerLiteral => return rlWrap(mod, scope, rl, try integerLiteral(mod, scope, node.castTag(.IntegerLiteral).?)), + .Asm => return rvalue(mod, scope, rl, try assembly(mod, scope, node.castTag(.Asm).?)), + .StringLiteral => return rvalue(mod, scope, rl, try stringLiteral(mod, scope, node.castTag(.StringLiteral).?)), + .IntegerLiteral => return rvalue(mod, scope, rl, try integerLiteral(mod, scope, node.castTag(.IntegerLiteral).?)), .BuiltinCall => return builtinCall(mod, scope, rl, node.castTag(.BuiltinCall).?), .Call => return callExpr(mod, scope, rl, node.castTag(.Call).?), .Unreachable => return unreach(mod, scope, node.castTag(.Unreachable).?), @@ -255,34 +263,34 @@ pub fn expr(mod: *Module, scope: *Scope, rl: ResultLoc, node: *ast.Node) InnerEr .If => return ifExpr(mod, scope, rl, node.castTag(.If).?), .While => return whileExpr(mod, scope, rl, node.castTag(.While).?), .Period => return field(mod, scope, rl, node.castTag(.Period).?), - .Deref => return rlWrap(mod, scope, rl, try deref(mod, scope, node.castTag(.Deref).?)), - .AddressOf => return rlWrap(mod, scope, rl, try addressOf(mod, scope, node.castTag(.AddressOf).?)), - .FloatLiteral => return rlWrap(mod, scope, rl, try floatLiteral(mod, scope, node.castTag(.FloatLiteral).?)), - .UndefinedLiteral => return rlWrap(mod, scope, rl, try undefLiteral(mod, scope, node.castTag(.UndefinedLiteral).?)), - .BoolLiteral => return rlWrap(mod, scope, rl, try boolLiteral(mod, scope, node.castTag(.BoolLiteral).?)), - .NullLiteral => return rlWrap(mod, scope, rl, try nullLiteral(mod, scope, node.castTag(.NullLiteral).?)), - .OptionalType => return rlWrap(mod, scope, rl, try optionalType(mod, scope, node.castTag(.OptionalType).?)), + .Deref => return rvalue(mod, scope, rl, try deref(mod, scope, node.castTag(.Deref).?)), + .AddressOf => return rvalue(mod, scope, rl, try addressOf(mod, scope, node.castTag(.AddressOf).?)), + .FloatLiteral => return rvalue(mod, scope, rl, try floatLiteral(mod, scope, node.castTag(.FloatLiteral).?)), + .UndefinedLiteral => return rvalue(mod, scope, rl, try undefLiteral(mod, scope, node.castTag(.UndefinedLiteral).?)), + .BoolLiteral => return rvalue(mod, scope, rl, try boolLiteral(mod, scope, node.castTag(.BoolLiteral).?)), + .NullLiteral => return rvalue(mod, scope, rl, try nullLiteral(mod, scope, node.castTag(.NullLiteral).?)), + .OptionalType => return rvalue(mod, scope, rl, try optionalType(mod, scope, node.castTag(.OptionalType).?)), .UnwrapOptional => return unwrapOptional(mod, scope, rl, node.castTag(.UnwrapOptional).?), - .Block => return rlWrapVoid(mod, scope, rl, node, try blockExpr(mod, scope, node.castTag(.Block).?)), + .Block => return rvalueVoid(mod, scope, rl, node, try blockExpr(mod, scope, node.castTag(.Block).?)), .LabeledBlock => return labeledBlockExpr(mod, scope, rl, node.castTag(.LabeledBlock).?, .block), - .Break => return rlWrap(mod, scope, rl, try breakExpr(mod, scope, node.castTag(.Break).?)), - .Continue => return rlWrap(mod, scope, rl, try continueExpr(mod, scope, node.castTag(.Continue).?)), - .PtrType => return rlWrap(mod, scope, rl, try ptrType(mod, scope, node.castTag(.PtrType).?)), + .Break => return rvalue(mod, scope, rl, try breakExpr(mod, scope, node.castTag(.Break).?)), + .Continue => return rvalue(mod, scope, rl, try continueExpr(mod, scope, node.castTag(.Continue).?)), + .PtrType => return rvalue(mod, scope, rl, try ptrType(mod, scope, node.castTag(.PtrType).?)), .GroupedExpression => return expr(mod, scope, rl, node.castTag(.GroupedExpression).?.expr), - .ArrayType => return rlWrap(mod, scope, rl, try arrayType(mod, scope, node.castTag(.ArrayType).?)), - .ArrayTypeSentinel => return rlWrap(mod, scope, rl, try arrayTypeSentinel(mod, scope, node.castTag(.ArrayTypeSentinel).?)), - .EnumLiteral => return rlWrap(mod, scope, rl, try enumLiteral(mod, scope, node.castTag(.EnumLiteral).?)), - .MultilineStringLiteral => return rlWrap(mod, scope, rl, try multilineStrLiteral(mod, scope, node.castTag(.MultilineStringLiteral).?)), - .CharLiteral => return rlWrap(mod, scope, rl, try charLiteral(mod, scope, node.castTag(.CharLiteral).?)), - .SliceType => return rlWrap(mod, scope, rl, try sliceType(mod, scope, node.castTag(.SliceType).?)), - .ErrorUnion => return rlWrap(mod, scope, rl, try typeInixOp(mod, scope, node.castTag(.ErrorUnion).?, .error_union_type)), - .MergeErrorSets => return rlWrap(mod, scope, rl, try typeInixOp(mod, scope, node.castTag(.MergeErrorSets).?, .merge_error_sets)), - .AnyFrameType => return rlWrap(mod, scope, rl, try anyFrameType(mod, scope, node.castTag(.AnyFrameType).?)), - .ErrorSetDecl => return rlWrap(mod, scope, rl, try errorSetDecl(mod, scope, node.castTag(.ErrorSetDecl).?)), - .ErrorType => return rlWrap(mod, scope, rl, try errorType(mod, scope, node.castTag(.ErrorType).?)), + .ArrayType => return rvalue(mod, scope, rl, try arrayType(mod, scope, node.castTag(.ArrayType).?)), + .ArrayTypeSentinel => return rvalue(mod, scope, rl, try arrayTypeSentinel(mod, scope, node.castTag(.ArrayTypeSentinel).?)), + .EnumLiteral => return rvalue(mod, scope, rl, try enumLiteral(mod, scope, node.castTag(.EnumLiteral).?)), + .MultilineStringLiteral => return rvalue(mod, scope, rl, try multilineStrLiteral(mod, scope, node.castTag(.MultilineStringLiteral).?)), + .CharLiteral => return rvalue(mod, scope, rl, try charLiteral(mod, scope, node.castTag(.CharLiteral).?)), + .SliceType => return rvalue(mod, scope, rl, try sliceType(mod, scope, node.castTag(.SliceType).?)), + .ErrorUnion => return rvalue(mod, scope, rl, try typeInixOp(mod, scope, node.castTag(.ErrorUnion).?, .error_union_type)), + .MergeErrorSets => return rvalue(mod, scope, rl, try typeInixOp(mod, scope, node.castTag(.MergeErrorSets).?, .merge_error_sets)), + .AnyFrameType => return rvalue(mod, scope, rl, try anyFrameType(mod, scope, node.castTag(.AnyFrameType).?)), + .ErrorSetDecl => return rvalue(mod, scope, rl, try errorSetDecl(mod, scope, node.castTag(.ErrorSetDecl).?)), + .ErrorType => return rvalue(mod, scope, rl, try errorType(mod, scope, node.castTag(.ErrorType).?)), .For => return forExpr(mod, scope, rl, node.castTag(.For).?), .ArrayAccess => return arrayAccess(mod, scope, rl, node.castTag(.ArrayAccess).?), - .Slice => return rlWrap(mod, scope, rl, try sliceExpr(mod, scope, node.castTag(.Slice).?)), + .Slice => return rvalue(mod, scope, rl, try sliceExpr(mod, scope, node.castTag(.Slice).?)), .Catch => return catchExpr(mod, scope, rl, node.castTag(.Catch).?), .Comptime => return comptimeKeyword(mod, scope, rl, node.castTag(.Comptime).?), .OrElse => return orelseExpr(mod, scope, rl, node.castTag(.OrElse).?), @@ -341,6 +349,9 @@ pub fn comptimeExpr(mod: *Module, parent_scope: *Scope, rl: ResultLoc, node: *as } fn breakExpr(mod: *Module, parent_scope: *Scope, node: *ast.Node.ControlFlowExpression) InnerError!*zir.Inst { + if (true) { + @panic("TODO reimplement this"); + } const tree = parent_scope.tree(); const src = tree.token_locs[node.ltoken].start; @@ -563,8 +574,8 @@ fn blockExprStmts(mod: *Module, parent_scope: *Scope, node: *ast.Node, statement scope = try varDecl(mod, scope, var_decl_node, &block_arena.allocator); }, .Assign => try assign(mod, scope, statement.castTag(.Assign).?), - .AssignBitAnd => try assignOp(mod, scope, statement.castTag(.AssignBitAnd).?, .bitand), - .AssignBitOr => try assignOp(mod, scope, statement.castTag(.AssignBitOr).?, .bitor), + .AssignBitAnd => try assignOp(mod, scope, statement.castTag(.AssignBitAnd).?, .bit_and), + .AssignBitOr => try assignOp(mod, scope, statement.castTag(.AssignBitOr).?, .bit_or), .AssignBitShiftLeft => try assignOp(mod, scope, statement.castTag(.AssignBitShiftLeft).?, .shl), .AssignBitShiftRight => try assignOp(mod, scope, statement.castTag(.AssignBitShiftRight).?, .shr), .AssignBitXor => try assignOp(mod, scope, statement.castTag(.AssignBitXor).?, .xor), @@ -644,6 +655,7 @@ fn varDecl( // Namespace vars shadowing detection if (mod.lookupDeclName(scope, ident_name)) |_| { + // TODO add note for other definition return mod.fail(scope, name_src, "redefinition of '{s}'", .{ident_name}); } const init_node = node.getInitNode() orelse @@ -751,14 +763,14 @@ fn boolNot(mod: *Module, scope: *Scope, node: *ast.Node.SimplePrefixOp) InnerErr .val = Value.initTag(.bool_type), }); const operand = try expr(mod, scope, .{ .ty = bool_type }, node.rhs); - return addZIRUnOp(mod, scope, src, .boolnot, operand); + return addZIRUnOp(mod, scope, src, .bool_not, operand); } fn bitNot(mod: *Module, scope: *Scope, node: *ast.Node.SimplePrefixOp) InnerError!*zir.Inst { const tree = scope.tree(); const src = tree.token_locs[node.op_token].start; const operand = try expr(mod, scope, .none, node.rhs); - return addZIRUnOp(mod, scope, src, .bitnot, operand); + return addZIRUnOp(mod, scope, src, .bit_not, operand); } fn negation(mod: *Module, scope: *Scope, node: *ast.Node.SimplePrefixOp, op_inst_tag: zir.Inst.Tag) InnerError!*zir.Inst { @@ -1101,7 +1113,7 @@ fn containerDecl(mod: *Module, scope: *Scope, rl: ResultLoc, node: *ast.Node.Con if (rl == .ref) { return addZIRInst(mod, scope, src, zir.Inst.DeclRef, .{ .decl = decl }, .{}); } else { - return rlWrap(mod, scope, rl, try addZIRInst(mod, scope, src, zir.Inst.DeclVal, .{ + return rvalue(mod, scope, rl, try addZIRInst(mod, scope, src, zir.Inst.DeclVal, .{ .decl = decl, }, .{})); } @@ -1200,6 +1212,9 @@ fn orelseCatchExpr( rhs: *ast.Node, payload_node: ?*ast.Node, ) InnerError!*zir.Inst { + if (true) { + @panic("TODO reimplement this"); + } const tree = scope.tree(); const src = tree.token_locs[op_token].start; @@ -1308,7 +1323,7 @@ pub fn field(mod: *Module, scope: *Scope, rl: ResultLoc, node: *ast.Node.SimpleI .field_name = field_name, }); } - return rlWrap(mod, scope, rl, try addZirInstTag(mod, scope, src, .field_val, .{ + return rvalue(mod, scope, rl, try addZirInstTag(mod, scope, src, .field_val, .{ .object = try expr(mod, scope, .none, node.lhs), .field_name = field_name, })); @@ -1338,7 +1353,7 @@ fn namedField( .field_name = try comptimeExpr(mod, scope, string_rl, params[1]), }); } - return rlWrap(mod, scope, rl, try addZirInstTag(mod, scope, src, .field_val_named, .{ + return rvalue(mod, scope, rl, try addZirInstTag(mod, scope, src, .field_val_named, .{ .object = try expr(mod, scope, .none, params[0]), .field_name = try comptimeExpr(mod, scope, string_rl, params[1]), })); @@ -1359,7 +1374,7 @@ fn arrayAccess(mod: *Module, scope: *Scope, rl: ResultLoc, node: *ast.Node.Array .index = try expr(mod, scope, index_rl, node.index_expr), }); } - return rlWrap(mod, scope, rl, try addZirInstTag(mod, scope, src, .elem_val, .{ + return rvalue(mod, scope, rl, try addZirInstTag(mod, scope, src, .elem_val, .{ .array = try expr(mod, scope, .none, node.lhs), .index = try expr(mod, scope, index_rl, node.index_expr), })); @@ -1416,7 +1431,7 @@ fn simpleBinOp( const rhs = try expr(mod, scope, .none, infix_node.rhs); const result = try addZIRBinOp(mod, scope, src, op_inst_tag, lhs, rhs); - return rlWrap(mod, scope, rl, result); + return rvalue(mod, scope, rl, result); } fn boolBinOp( @@ -1498,7 +1513,7 @@ fn boolBinOp( condbr.positionals.else_body = .{ .instructions = try rhs_scope.arena.dupe(*zir.Inst, rhs_scope.instructions.items) }; } - return rlWrap(mod, scope, rl, &block.base); + return rvalue(mod, scope, rl, &block.base); } const CondKind = union(enum) { @@ -1578,6 +1593,7 @@ fn ifExpr(mod: *Module, scope: *Scope, rl: ResultLoc, if_node: *ast.Node.If) Inn cond_kind = .{ .err_union = null }; } } + const block_branch_count = 2; // then and else var block_scope: Scope.GenZIR = .{ .parent = scope, .decl = scope.ownerDecl().?, @@ -1600,6 +1616,33 @@ fn ifExpr(mod: *Module, scope: *Scope, rl: ResultLoc, if_node: *ast.Node.If) Inn .instructions = try block_scope.arena.dupe(*zir.Inst, block_scope.instructions.items), }); + // Depending on whether the result location is a pointer or value, different + // ZIR needs to be generated. In the former case we rely on storing to the + // pointer to communicate the result, and use breakvoid; in the latter case + // the block break instructions will have the result values. + // One more complication: when the result location is a pointer, we detect + // the scenario where the result location is not consumed. In this case + // we emit ZIR for the block break instructions to have the result values, + // and then rvalue() on that to pass the value to the result location. + const branch_rl: ResultLoc = switch (rl) { + .discard, .none, .ty, .ptr, .ref => rl, + + .inferred_ptr => |ptr| blk: { + block_scope.rl_ptr = &ptr.base; + break :blk .{ .block_ptr = &block_scope }; + }, + + .bitcasted_ptr => |ptr| blk: { + block_scope.rl_ptr = &ptr.base; + break :blk .{ .block_ptr = &block_scope }; + }, + + .block_ptr => |parent_block_scope| blk: { + block_scope.rl_ptr = parent_block_scope.rl_ptr.?; + break :blk .{ .block_ptr = &block_scope }; + }, + }; + const then_src = tree.token_locs[if_node.body.lastToken()].start; var then_scope: Scope.GenZIR = .{ .parent = scope, @@ -1612,25 +1655,10 @@ fn ifExpr(mod: *Module, scope: *Scope, rl: ResultLoc, if_node: *ast.Node.If) Inn // declare payload to the then_scope const then_sub_scope = try cond_kind.thenSubScope(mod, &then_scope, then_src, if_node.payload); - // Most result location types can be forwarded directly; however - // if we need to write to a pointer which has an inferred type, - // proper type inference requires peer type resolution on the if's - // branches. - const branch_rl: ResultLoc = switch (rl) { - .discard, .none, .ty, .ptr, .ref => rl, - .inferred_ptr, .bitcasted_ptr, .block_ptr => .{ .block_ptr = block }, - }; - const then_result = try expr(mod, then_sub_scope, branch_rl, if_node.body); - if (!then_result.tag.isNoReturn()) { - _ = try addZIRInst(mod, then_sub_scope, then_src, zir.Inst.Break, .{ - .block = block, - .operand = then_result, - }, .{}); - } - condbr.positionals.then_body = .{ - .instructions = try then_scope.arena.dupe(*zir.Inst, then_scope.instructions.items), - }; + // We hold off on the break instructions as well as copying the then/else + // instructions into place until we know whether to keep store_to_block_ptr + // instructions or not. var else_scope: Scope.GenZIR = .{ .parent = scope, @@ -1640,34 +1668,127 @@ fn ifExpr(mod: *Module, scope: *Scope, rl: ResultLoc, if_node: *ast.Node.If) Inn }; defer else_scope.instructions.deinit(mod.gpa); - if (if_node.@"else") |else_node| { - const else_src = tree.token_locs[else_node.body.lastToken()].start; + var else_src: usize = undefined; + var else_sub_scope: *Module.Scope = undefined; + const else_result: ?*zir.Inst = if (if_node.@"else") |else_node| blk: { + else_src = tree.token_locs[else_node.body.lastToken()].start; // declare payload to the then_scope - const else_sub_scope = try cond_kind.elseSubScope(mod, &else_scope, else_src, else_node.payload); + else_sub_scope = try cond_kind.elseSubScope(mod, &else_scope, else_src, else_node.payload); - const else_result = try expr(mod, else_sub_scope, branch_rl, else_node.body); - if (!else_result.tag.isNoReturn()) { - _ = try addZIRInst(mod, else_sub_scope, else_src, zir.Inst.Break, .{ - .block = block, - .operand = else_result, - }, .{}); - } - } else { - // TODO Optimization opportunity: we can avoid an allocation and a memcpy here - // by directly allocating the body for this one instruction. - const else_src = tree.token_locs[if_node.lastToken()].start; - _ = try addZIRInst(mod, &else_scope.base, else_src, zir.Inst.BreakVoid, .{ - .block = block, - }, .{}); - } - condbr.positionals.else_body = .{ - .instructions = try else_scope.arena.dupe(*zir.Inst, else_scope.instructions.items), + break :blk try expr(mod, else_sub_scope, branch_rl, else_node.body); + } else blk: { + else_src = tree.token_locs[if_node.lastToken()].start; + else_sub_scope = &else_scope.base; + block_scope.rvalue_rl_count += 1; + break :blk null; }; - return &block.base; + // We now have enough information to decide whether the result instruction should + // be communicated via result location pointer or break instructions. + const Strategy = enum { + /// Both branches will use break_void; result location is used to communicate the + /// result instruction. + break_void, + /// Use break statements to pass the block result value, and call rvalue() at + /// the end depending on rl. Also elide the store_to_block_ptr instructions + /// depending on rl. + break_operand, + }; + var elide_store_to_block_ptr_instructions = false; + const strategy: Strategy = switch (rl) { + // In this branch there will not be any store_to_block_ptr instructions. + .discard, .none, .ty, .ref => .break_operand, + // The pointer got passed through to the sub-expressions, so we will use + // break_void here. + // In this branch there will not be any store_to_block_ptr instructions. + .ptr => .break_void, + .inferred_ptr, .bitcasted_ptr, .block_ptr => blk: { + if (block_scope.rvalue_rl_count == 2) { + // Neither prong of the if consumed the result location, so we can + // use break instructions to create an rvalue. + elide_store_to_block_ptr_instructions = true; + break :blk Strategy.break_operand; + } else { + // Allow the store_to_block_ptr instructions to remain so that + // semantic analysis can turn them into bitcasts. + break :blk Strategy.break_void; + } + }, + }; + switch (strategy) { + .break_void => { + if (!then_result.tag.isNoReturn()) { + _ = try addZIRNoOp(mod, then_sub_scope, then_src, .break_void); + } + if (else_result) |inst| { + if (!inst.tag.isNoReturn()) { + _ = try addZIRNoOp(mod, else_sub_scope, else_src, .break_void); + } + } else { + _ = try addZIRNoOp(mod, else_sub_scope, else_src, .break_void); + } + assert(!elide_store_to_block_ptr_instructions); + try copyBodyNoEliding(&condbr.positionals.then_body, then_scope); + try copyBodyNoEliding(&condbr.positionals.else_body, else_scope); + return &block.base; + }, + .break_operand => { + if (!then_result.tag.isNoReturn()) { + _ = try addZirInstTag(mod, then_sub_scope, then_src, .@"break", .{ + .block = block, + .operand = then_result, + }); + } + if (else_result) |inst| { + if (!inst.tag.isNoReturn()) { + _ = try addZirInstTag(mod, else_sub_scope, else_src, .@"break", .{ + .block = block, + .operand = inst, + }); + } + } else { + _ = try addZIRNoOp(mod, else_sub_scope, else_src, .break_void); + } + if (elide_store_to_block_ptr_instructions) { + try copyBodyWithElidedStoreBlockPtr(&condbr.positionals.then_body, then_scope); + try copyBodyWithElidedStoreBlockPtr(&condbr.positionals.else_body, else_scope); + } else { + try copyBodyNoEliding(&condbr.positionals.then_body, then_scope); + try copyBodyNoEliding(&condbr.positionals.else_body, else_scope); + } + switch (rl) { + .ref => return &block.base, + else => return rvalue(mod, scope, rl, &block.base), + } + }, + } +} + +/// Expects to find exactly 1 .store_to_block_ptr instruction. +fn copyBodyWithElidedStoreBlockPtr(body: *zir.Body, scope: Module.Scope.GenZIR) !void { + body.* = .{ + .instructions = try scope.arena.alloc(*zir.Inst, scope.instructions.items.len - 1), + }; + var dst_index: usize = 0; + for (scope.instructions.items) |src_inst| { + if (src_inst.tag != .store_to_block_ptr) { + body.instructions[dst_index] = src_inst; + dst_index += 1; + } + } + assert(dst_index == body.instructions.len); +} + +fn copyBodyNoEliding(body: *zir.Body, scope: Module.Scope.GenZIR) !void { + body.* = .{ + .instructions = try scope.arena.dupe(*zir.Inst, scope.instructions.items), + }; } fn whileExpr(mod: *Module, scope: *Scope, rl: ResultLoc, while_node: *ast.Node.While) InnerError!*zir.Inst { + if (true) { + @panic("TODO reimplement this"); + } var cond_kind: CondKind = .bool; if (while_node.payload) |_| cond_kind = .{ .optional = null }; if (while_node.@"else") |else_node| { @@ -1821,6 +1942,9 @@ fn forExpr( rl: ResultLoc, for_node: *ast.Node.For, ) InnerError!*zir.Inst { + if (true) { + @panic("TODO reimplement this"); + } if (for_node.label) |label| { try checkLabelRedefinition(mod, scope, label); } @@ -2017,6 +2141,9 @@ fn getRangeNode(node: *ast.Node) ?*ast.Node.SimpleInfixOp { } fn switchExpr(mod: *Module, scope: *Scope, rl: ResultLoc, switch_node: *ast.Node.Switch) InnerError!*zir.Inst { + if (true) { + @panic("TODO reimplement this"); + } var block_scope: Scope.GenZIR = .{ .parent = scope, .decl = scope.ownerDecl().?, @@ -2186,10 +2313,10 @@ fn switchExpr(mod: *Module, scope: *Scope, rl: ResultLoc, switch_node: *ast.Node // target >= start and target <= end const range_start_ok = try addZIRBinOp(mod, &else_scope.base, range_src, .cmp_gte, target, start); const range_end_ok = try addZIRBinOp(mod, &else_scope.base, range_src, .cmp_lte, target, end); - const range_ok = try addZIRBinOp(mod, &else_scope.base, range_src, .booland, range_start_ok, range_end_ok); + const range_ok = try addZIRBinOp(mod, &else_scope.base, range_src, .bool_and, range_start_ok, range_end_ok); if (any_ok) |some| { - any_ok = try addZIRBinOp(mod, &else_scope.base, range_src, .boolor, some, range_ok); + any_ok = try addZIRBinOp(mod, &else_scope.base, range_src, .bool_or, some, range_ok); } else { any_ok = range_ok; } @@ -2201,7 +2328,7 @@ fn switchExpr(mod: *Module, scope: *Scope, rl: ResultLoc, switch_node: *ast.Node const cpm_ok = try addZIRBinOp(mod, &else_scope.base, item_inst.src, .cmp_eq, target, item_inst); if (any_ok) |some| { - any_ok = try addZIRBinOp(mod, &else_scope.base, item_inst.src, .boolor, some, cpm_ok); + any_ok = try addZIRBinOp(mod, &else_scope.base, item_inst.src, .bool_or, some, cpm_ok); } else { any_ok = cpm_ok; } @@ -2238,7 +2365,7 @@ fn switchExpr(mod: *Module, scope: *Scope, rl: ResultLoc, switch_node: *ast.Node try switchCaseExpr(mod, &else_scope.base, case_rl, block, case); } else { // Not handling all possible cases is a compile error. - _ = try addZIRNoOp(mod, &else_scope.base, switch_src, .unreach_nocheck); + _ = try addZIRNoOp(mod, &else_scope.base, switch_src, .unreachable_unsafe); } // All items have been generated, add the instructions to the comptime block. @@ -2288,7 +2415,7 @@ fn ret(mod: *Module, scope: *Scope, cfe: *ast.Node.ControlFlowExpression) InnerE return addZIRUnOp(mod, scope, src, .@"return", operand); } } else { - return addZIRNoOp(mod, scope, src, .returnvoid); + return addZIRNoOp(mod, scope, src, .return_void); } } @@ -2305,7 +2432,7 @@ fn identifier(mod: *Module, scope: *Scope, rl: ResultLoc, ident: *ast.Node.OneTo if (getSimplePrimitiveValue(ident_name)) |typed_value| { const result = try addZIRInstConst(mod, scope, src, typed_value); - return rlWrap(mod, scope, rl, result); + return rvalue(mod, scope, rl, result); } if (ident_name.len >= 2) integer: { @@ -2327,7 +2454,7 @@ fn identifier(mod: *Module, scope: *Scope, rl: ResultLoc, ident: *ast.Node.OneTo 32 => if (is_signed) Value.initTag(.i32_type) else Value.initTag(.u32_type), 64 => if (is_signed) Value.initTag(.i64_type) else Value.initTag(.u64_type), else => { - return rlWrap(mod, scope, rl, try addZIRInstConst(mod, scope, src, .{ + return rvalue(mod, scope, rl, try addZIRInstConst(mod, scope, src, .{ .ty = Type.initTag(.type), .val = try Value.Tag.int_type.create(scope.arena(), .{ .signed = is_signed, @@ -2340,7 +2467,7 @@ fn identifier(mod: *Module, scope: *Scope, rl: ResultLoc, ident: *ast.Node.OneTo .ty = Type.initTag(.type), .val = val, }); - return rlWrap(mod, scope, rl, result); + return rvalue(mod, scope, rl, result); } } @@ -2351,7 +2478,7 @@ fn identifier(mod: *Module, scope: *Scope, rl: ResultLoc, ident: *ast.Node.OneTo .local_val => { const local_val = s.cast(Scope.LocalVal).?; if (mem.eql(u8, local_val.name, ident_name)) { - return rlWrap(mod, scope, rl, local_val.inst); + return rvalue(mod, scope, rl, local_val.inst); } s = local_val.parent; }, @@ -2360,7 +2487,7 @@ fn identifier(mod: *Module, scope: *Scope, rl: ResultLoc, ident: *ast.Node.OneTo if (mem.eql(u8, local_ptr.name, ident_name)) { if (rl == .ref) return local_ptr.ptr; const loaded = try addZIRUnOp(mod, scope, src, .deref, local_ptr.ptr); - return rlWrap(mod, scope, rl, loaded); + return rvalue(mod, scope, rl, loaded); } s = local_ptr.parent; }, @@ -2373,7 +2500,7 @@ fn identifier(mod: *Module, scope: *Scope, rl: ResultLoc, ident: *ast.Node.OneTo if (rl == .ref) { return addZIRInst(mod, scope, src, zir.Inst.DeclRef, .{ .decl = decl }, .{}); } else { - return rlWrap(mod, scope, rl, try addZIRInst(mod, scope, src, zir.Inst.DeclVal, .{ + return rvalue(mod, scope, rl, try addZIRInst(mod, scope, src, zir.Inst.DeclVal, .{ .decl = decl, }, .{})); } @@ -2590,7 +2717,7 @@ fn simpleCast( const dest_type = try typeExpr(mod, scope, params[0]); const rhs = try expr(mod, scope, .none, params[1]); const result = try addZIRBinOp(mod, scope, src, inst_tag, dest_type, rhs); - return rlWrap(mod, scope, rl, result); + return rvalue(mod, scope, rl, result); } fn ptrToInt(mod: *Module, scope: *Scope, call: *ast.Node.BuiltinCall) InnerError!*zir.Inst { @@ -2634,11 +2761,11 @@ fn as(mod: *Module, scope: *Scope, rl: ResultLoc, call: *ast.Node.BuiltinCall) I // TODO here we should be able to resolve the inference; we now have a type for the result. return mod.failTok(scope, call.builtin_token, "TODO implement @as with inferred-type result location pointer", .{}); }, - .block_ptr => |block_ptr| { - const casted_block_ptr = try addZIRInst(mod, scope, src, zir.Inst.CoerceResultBlockPtr, .{ + .block_ptr => |block_scope| { + const casted_block_ptr = try addZirInstTag(mod, scope, src, .coerce_result_block_ptr, .{ .dest_type = dest_type, - .block = block_ptr, - }, .{}); + .block_ptr = block_scope.rl_ptr.?, + }); return expr(mod, scope, .{ .ptr = casted_block_ptr }, params[1]); }, } @@ -2703,7 +2830,7 @@ fn compileError(mod: *Module, scope: *Scope, call: *ast.Node.BuiltinCall) InnerE const src = tree.token_locs[call.builtin_token].start; const params = call.params(); const target = try expr(mod, scope, .none, params[0]); - return addZIRUnOp(mod, scope, src, .compileerror, target); + return addZIRUnOp(mod, scope, src, .compile_error, target); } fn setEvalBranchQuota(mod: *Module, scope: *Scope, call: *ast.Node.BuiltinCall) InnerError!*zir.Inst { @@ -2728,12 +2855,12 @@ fn typeOf(mod: *Module, scope: *Scope, rl: ResultLoc, call: *ast.Node.BuiltinCal return mod.failTok(scope, call.builtin_token, "expected at least 1 argument, found 0", .{}); } if (params.len == 1) { - return rlWrap(mod, scope, rl, try addZIRUnOp(mod, scope, src, .typeof, try expr(mod, scope, .none, params[0]))); + return rvalue(mod, scope, rl, try addZIRUnOp(mod, scope, src, .typeof, try expr(mod, scope, .none, params[0]))); } var items = try arena.alloc(*zir.Inst, params.len); for (params) |param, param_i| items[param_i] = try expr(mod, scope, .none, param); - return rlWrap(mod, scope, rl, try addZIRInst(mod, scope, src, zir.Inst.TypeOfPeer, .{ .items = items }, .{})); + return rvalue(mod, scope, rl, try addZIRInst(mod, scope, src, zir.Inst.TypeOfPeer, .{ .items = items }, .{})); } fn compileLog(mod: *Module, scope: *Scope, call: *ast.Node.BuiltinCall) InnerError!*zir.Inst { const tree = scope.tree(); @@ -2756,7 +2883,7 @@ fn builtinCall(mod: *Module, scope: *Scope, rl: ResultLoc, call: *ast.Node.Built // Also, some builtins have a variable number of parameters. if (mem.eql(u8, builtin_name, "@ptrToInt")) { - return rlWrap(mod, scope, rl, try ptrToInt(mod, scope, call)); + return rvalue(mod, scope, rl, try ptrToInt(mod, scope, call)); } else if (mem.eql(u8, builtin_name, "@as")) { return as(mod, scope, rl, call); } else if (mem.eql(u8, builtin_name, "@floatCast")) { @@ -2769,9 +2896,9 @@ fn builtinCall(mod: *Module, scope: *Scope, rl: ResultLoc, call: *ast.Node.Built return typeOf(mod, scope, rl, call); } else if (mem.eql(u8, builtin_name, "@breakpoint")) { const src = tree.token_locs[call.builtin_token].start; - return rlWrap(mod, scope, rl, try addZIRNoOp(mod, scope, src, .breakpoint)); + return rvalue(mod, scope, rl, try addZIRNoOp(mod, scope, src, .breakpoint)); } else if (mem.eql(u8, builtin_name, "@import")) { - return rlWrap(mod, scope, rl, try import(mod, scope, call)); + return rvalue(mod, scope, rl, try import(mod, scope, call)); } else if (mem.eql(u8, builtin_name, "@compileError")) { return compileError(mod, scope, call); } else if (mem.eql(u8, builtin_name, "@setEvalBranchQuota")) { @@ -2806,13 +2933,13 @@ fn callExpr(mod: *Module, scope: *Scope, rl: ResultLoc, node: *ast.Node.Call) In .args = args, }, .{}); // TODO function call with result location - return rlWrap(mod, scope, rl, result); + return rvalue(mod, scope, rl, result); } fn unreach(mod: *Module, scope: *Scope, unreach_node: *ast.Node.OneToken) InnerError!*zir.Inst { const tree = scope.tree(); const src = tree.token_locs[unreach_node.token].start; - return addZIRNoOp(mod, scope, src, .@"unreachable"); + return addZIRNoOp(mod, scope, src, .unreachable_safe); } fn getSimplePrimitiveValue(name: []const u8) ?TypedValue { @@ -3099,7 +3226,7 @@ fn nodeMayNeedMemoryLocation(start_node: *ast.Node, scope: *Scope) bool { /// result locations must call this function on their result. /// As an example, if the `ResultLoc` is `ptr`, it will write the result to the pointer. /// If the `ResultLoc` is `ty`, it will coerce the result to the type. -fn rlWrap(mod: *Module, scope: *Scope, rl: ResultLoc, result: *zir.Inst) InnerError!*zir.Inst { +fn rvalue(mod: *Module, scope: *Scope, rl: ResultLoc, result: *zir.Inst) InnerError!*zir.Inst { switch (rl) { .none => return result, .discard => { @@ -3113,42 +3240,31 @@ fn rlWrap(mod: *Module, scope: *Scope, rl: ResultLoc, result: *zir.Inst) InnerEr }, .ty => |ty_inst| return addZIRBinOp(mod, scope, result.src, .as, ty_inst, result), .ptr => |ptr_inst| { - const casted_result = try addZIRInst(mod, scope, result.src, zir.Inst.CoerceToPtrElem, .{ - .ptr = ptr_inst, - .value = result, - }, .{}); - _ = try addZIRBinOp(mod, scope, result.src, .store, ptr_inst, casted_result); - return casted_result; + _ = try addZIRBinOp(mod, scope, result.src, .store, ptr_inst, result); + return result; }, .bitcasted_ptr => |bitcasted_ptr| { - return mod.fail(scope, result.src, "TODO implement rlWrap .bitcasted_ptr", .{}); + return mod.fail(scope, result.src, "TODO implement rvalue .bitcasted_ptr", .{}); }, .inferred_ptr => |alloc| { _ = try addZIRBinOp(mod, scope, result.src, .store_to_inferred_ptr, &alloc.base, result); return result; }, - .block_ptr => |block_ptr| { - return mod.fail(scope, result.src, "TODO implement rlWrap .block_ptr", .{}); + .block_ptr => |block_scope| { + block_scope.rvalue_rl_count += 1; + _ = try addZIRBinOp(mod, scope, result.src, .store_to_block_ptr, block_scope.rl_ptr.?, result); + return result; }, } } -fn rlWrapVoid(mod: *Module, scope: *Scope, rl: ResultLoc, node: *ast.Node, result: void) InnerError!*zir.Inst { +fn rvalueVoid(mod: *Module, scope: *Scope, rl: ResultLoc, node: *ast.Node, result: void) InnerError!*zir.Inst { const src = scope.tree().token_locs[node.firstToken()].start; const void_inst = try addZIRInstConst(mod, scope, src, .{ .ty = Type.initTag(.void), .val = Value.initTag(.void_value), }); - return rlWrap(mod, scope, rl, void_inst); -} - -/// TODO go over all the callsites and see where we can introduce "by-value" ZIR instructions -/// to save ZIR memory. For example, see DeclVal vs DeclRef. -/// Do not add additional callsites to this function. -fn rlWrapPtr(mod: *Module, scope: *Scope, rl: ResultLoc, ptr: *zir.Inst) InnerError!*zir.Inst { - if (rl == .ref) return ptr; - - return rlWrap(mod, scope, rl, try addZIRUnOp(mod, scope, ptr.src, .deref, ptr)); + return rvalue(mod, scope, rl, void_inst); } pub fn addZirInstTag( diff --git a/src/codegen.zig b/src/codegen.zig index 1ca2bb2abe..a7b067f7e1 100644 --- a/src/codegen.zig +++ b/src/codegen.zig @@ -840,14 +840,14 @@ fn Function(comptime arch: std.Target.Cpu.Arch) type { .arg => return self.genArg(inst.castTag(.arg).?), .assembly => return self.genAsm(inst.castTag(.assembly).?), .bitcast => return self.genBitCast(inst.castTag(.bitcast).?), - .bitand => return self.genBitAnd(inst.castTag(.bitand).?), - .bitor => return self.genBitOr(inst.castTag(.bitor).?), + .bit_and => return self.genBitAnd(inst.castTag(.bit_and).?), + .bit_or => return self.genBitOr(inst.castTag(.bit_or).?), .block => return self.genBlock(inst.castTag(.block).?), .br => return self.genBr(inst.castTag(.br).?), .breakpoint => return self.genBreakpoint(inst.src), .brvoid => return self.genBrVoid(inst.castTag(.brvoid).?), - .booland => return self.genBoolOp(inst.castTag(.booland).?), - .boolor => return self.genBoolOp(inst.castTag(.boolor).?), + .bool_and => return self.genBoolOp(inst.castTag(.bool_and).?), + .bool_or => return self.genBoolOp(inst.castTag(.bool_or).?), .call => return self.genCall(inst.castTag(.call).?), .cmp_lt => return self.genCmp(inst.castTag(.cmp_lt).?, .lt), .cmp_lte => return self.genCmp(inst.castTag(.cmp_lte).?, .lte), @@ -1097,7 +1097,7 @@ fn Function(comptime arch: std.Target.Cpu.Arch) type { if (inst.base.isUnused()) return MCValue.dead; switch (arch) { - .arm, .armeb => return try self.genArmBinOp(&inst.base, inst.lhs, inst.rhs, .bitand), + .arm, .armeb => return try self.genArmBinOp(&inst.base, inst.lhs, inst.rhs, .bit_and), else => return self.fail(inst.base.src, "TODO implement bitwise and for {}", .{self.target.cpu.arch}), } } @@ -1107,7 +1107,7 @@ fn Function(comptime arch: std.Target.Cpu.Arch) type { if (inst.base.isUnused()) return MCValue.dead; switch (arch) { - .arm, .armeb => return try self.genArmBinOp(&inst.base, inst.lhs, inst.rhs, .bitor), + .arm, .armeb => return try self.genArmBinOp(&inst.base, inst.lhs, inst.rhs, .bit_or), else => return self.fail(inst.base.src, "TODO implement bitwise or for {}", .{self.target.cpu.arch}), } } @@ -1371,10 +1371,10 @@ fn Function(comptime arch: std.Target.Cpu.Arch) type { writeInt(u32, try self.code.addManyAsArray(4), Instruction.rsb(.al, dst_reg, dst_reg, operand).toU32()); } }, - .booland, .bitand => { + .bool_and, .bit_and => { writeInt(u32, try self.code.addManyAsArray(4), Instruction.@"and"(.al, dst_reg, dst_reg, operand).toU32()); }, - .boolor, .bitor => { + .bool_or, .bit_or => { writeInt(u32, try self.code.addManyAsArray(4), Instruction.orr(.al, dst_reg, dst_reg, operand).toU32()); }, .not, .xor => { @@ -2464,14 +2464,14 @@ fn Function(comptime arch: std.Target.Cpu.Arch) type { switch (arch) { .x86_64 => switch (inst.base.tag) { // lhs AND rhs - .booland => return try self.genX8664BinMath(&inst.base, inst.lhs, inst.rhs, 4, 0x20), + .bool_and => return try self.genX8664BinMath(&inst.base, inst.lhs, inst.rhs, 4, 0x20), // lhs OR rhs - .boolor => return try self.genX8664BinMath(&inst.base, inst.lhs, inst.rhs, 1, 0x08), + .bool_or => return try self.genX8664BinMath(&inst.base, inst.lhs, inst.rhs, 1, 0x08), else => unreachable, // Not a boolean operation }, .arm, .armeb => switch (inst.base.tag) { - .booland => return try self.genArmBinOp(&inst.base, inst.lhs, inst.rhs, .booland), - .boolor => return try self.genArmBinOp(&inst.base, inst.lhs, inst.rhs, .boolor), + .bool_and => return try self.genArmBinOp(&inst.base, inst.lhs, inst.rhs, .bool_and), + .bool_or => return try self.genArmBinOp(&inst.base, inst.lhs, inst.rhs, .bool_or), else => unreachable, // Not a boolean operation }, else => return self.fail(inst.base.src, "TODO implement boolean operations for {}", .{self.target.cpu.arch}), diff --git a/src/ir.zig b/src/ir.zig index 89698bdd84..b1147871f4 100644 --- a/src/ir.zig +++ b/src/ir.zig @@ -56,9 +56,9 @@ pub const Inst = struct { alloc, arg, assembly, - bitand, + bit_and, bitcast, - bitor, + bit_or, block, br, breakpoint, @@ -85,8 +85,8 @@ pub const Inst = struct { is_err, // *E!T => bool is_err_ptr, - booland, - boolor, + bool_and, + bool_or, /// Read a value from a pointer. load, loop, @@ -147,10 +147,10 @@ pub const Inst = struct { .cmp_gt, .cmp_neq, .store, - .booland, - .boolor, - .bitand, - .bitor, + .bool_and, + .bool_or, + .bit_and, + .bit_or, .xor, => BinOp, diff --git a/src/zir.zig b/src/zir.zig index 9e5830e79a..07fc64b65a 100644 --- a/src/zir.zig +++ b/src/zir.zig @@ -59,7 +59,7 @@ pub const Inst = struct { /// Inline assembly. @"asm", /// Bitwise AND. `&` - bitand, + bit_and, /// TODO delete this instruction, it has no purpose. bitcast, /// An arbitrary typed pointer is pointer-casted to a new Pointer. @@ -71,9 +71,9 @@ pub const Inst = struct { /// The new result location pointer has an inferred type. bitcast_result_ptr, /// Bitwise NOT. `~` - bitnot, + bit_not, /// Bitwise OR. `|` - bitor, + bit_or, /// A labeled block of code, which can return a value. block, /// A block of code, which can return a value. There are no instructions that break out of @@ -83,17 +83,17 @@ pub const Inst = struct { block_comptime, /// Same as `block_flat` but additionally makes the inner instructions execute at comptime. block_comptime_flat, - /// Boolean AND. See also `bitand`. - booland, - /// Boolean NOT. See also `bitnot`. - boolnot, - /// Boolean OR. See also `bitor`. - boolor, + /// Boolean AND. See also `bit_and`. + bool_and, + /// Boolean NOT. See also `bit_not`. + bool_not, + /// Boolean OR. See also `bit_or`. + bool_or, /// Return a value from a `Block`. @"break", breakpoint, /// Same as `break` but without an operand; the operand is assumed to be the void value. - breakvoid, + break_void, /// Function call. call, /// `<` @@ -116,12 +116,10 @@ pub const Inst = struct { /// result location pointer, whose type is inferred by peer type resolution on the /// `Block`'s corresponding `break` instructions. coerce_result_block_ptr, - /// Equivalent to `as(ptr_child_type(typeof(ptr)), value)`. - coerce_to_ptr_elem, /// Emit an error message and fail compilation. - compileerror, + compile_error, /// Log compile time variables and emit an error message. - compilelog, + compile_log, /// Conditional branch. Splits control flow based on a boolean condition value. condbr, /// Special case, has no textual representation. @@ -135,11 +133,11 @@ pub const Inst = struct { /// Declares the beginning of a statement. Used for debug info. dbg_stmt, /// Represents a pointer to a global decl. - declref, + decl_ref, /// Represents a pointer to a global decl by string name. - declref_str, - /// Equivalent to a declref followed by deref. - declval, + decl_ref_str, + /// Equivalent to a decl_ref followed by deref. + decl_val, /// Load the value from a pointer. deref, /// Arithmetic division. Asserts no integer overflow. @@ -185,7 +183,7 @@ pub const Inst = struct { /// can hold the same mathematical value. intcast, /// Make an integer type out of signedness and bit count. - inttype, + int_type, /// Return a boolean false if an optional is null. `x != null` is_non_null, /// Return a boolean true if an optional is null. `x == null` @@ -232,7 +230,7 @@ pub const Inst = struct { /// Sends control flow back to the function's callee. Takes an operand as the return value. @"return", /// Same as `return` but there is no operand; the operand is implicitly the void value. - returnvoid, + return_void, /// Changes the maximum number of backwards branches that compile-time /// code execution can use before giving up and making a compile error. set_eval_branch_quota, @@ -270,6 +268,10 @@ pub const Inst = struct { /// Write a value to a pointer. For loading, see `deref`. store, /// Same as `store` but the type of the value being stored will be used to infer + /// the block type. The LHS is a block instruction, whose result location is + /// being stored to. + store_to_block_ptr, + /// Same as `store` but the type of the value being stored will be used to infer /// the pointer type. store_to_inferred_ptr, /// String Literal. Makes an anonymous Decl and then takes a pointer to it. @@ -286,11 +288,11 @@ pub const Inst = struct { typeof_peer, /// Asserts control-flow will not reach this instruction. Not safety checked - the compiler /// will assume the correctness of this instruction. - unreach_nocheck, + unreachable_unsafe, /// Asserts control-flow will not reach this instruction. In safety-checked modes, /// this will generate a call to the panic function unless it can be proven unreachable /// by the compiler. - @"unreachable", + unreachable_safe, /// Bitwise XOR. `^` xor, /// Create an optional type '?T' @@ -352,17 +354,17 @@ pub const Inst = struct { .alloc_inferred_mut, .breakpoint, .dbg_stmt, - .returnvoid, + .return_void, .ret_ptr, .ret_type, - .unreach_nocheck, - .@"unreachable", + .unreachable_unsafe, + .unreachable_safe, => NoOp, .alloc, .alloc_mut, - .boolnot, - .compileerror, + .bool_not, + .compile_error, .deref, .@"return", .is_null, @@ -400,7 +402,7 @@ pub const Inst = struct { .err_union_code_ptr, .ensure_err_payload_void, .anyframe_type, - .bitnot, + .bit_not, .import, .set_eval_branch_quota, .indexable_ptr_len, @@ -411,10 +413,10 @@ pub const Inst = struct { .array_cat, .array_mul, .array_type, - .bitand, - .bitor, - .booland, - .boolor, + .bit_and, + .bit_or, + .bool_and, + .bool_or, .div, .mod_rem, .mul, @@ -422,6 +424,7 @@ pub const Inst = struct { .shl, .shr, .store, + .store_to_block_ptr, .store_to_inferred_ptr, .sub, .subwrap, @@ -452,19 +455,18 @@ pub const Inst = struct { .arg => Arg, .array_type_sentinel => ArrayTypeSentinel, .@"break" => Break, - .breakvoid => BreakVoid, + .break_void => BreakVoid, .call => Call, - .coerce_to_ptr_elem => CoerceToPtrElem, - .declref => DeclRef, - .declref_str => DeclRefStr, - .declval => DeclVal, + .decl_ref => DeclRef, + .decl_ref_str => DeclRefStr, + .decl_val => DeclVal, .coerce_result_block_ptr => CoerceResultBlockPtr, - .compilelog => CompileLog, + .compile_log => CompileLog, .loop => Loop, .@"const" => Const, .str => Str, .int => Int, - .inttype => IntType, + .int_type => IntType, .field_ptr, .field_val => Field, .field_ptr_named, .field_val_named => FieldNamed, .@"asm" => Asm, @@ -508,18 +510,18 @@ pub const Inst = struct { .arg, .as, .@"asm", - .bitand, + .bit_and, .bitcast, .bitcast_ref, .bitcast_result_ptr, - .bitor, + .bit_or, .block, .block_flat, .block_comptime, .block_comptime_flat, - .boolnot, - .booland, - .boolor, + .bool_not, + .bool_and, + .bool_or, .breakpoint, .call, .cmp_lt, @@ -530,12 +532,11 @@ pub const Inst = struct { .cmp_neq, .coerce_result_ptr, .coerce_result_block_ptr, - .coerce_to_ptr_elem, .@"const", .dbg_stmt, - .declref, - .declref_str, - .declval, + .decl_ref, + .decl_ref_str, + .decl_val, .deref, .div, .elem_ptr, @@ -552,7 +553,7 @@ pub const Inst = struct { .fntype, .int, .intcast, - .inttype, + .int_type, .is_non_null, .is_null, .is_non_null_ptr, @@ -579,6 +580,7 @@ pub const Inst = struct { .mut_slice_type, .const_slice_type, .store, + .store_to_block_ptr, .store_to_inferred_ptr, .str, .sub, @@ -602,7 +604,7 @@ pub const Inst = struct { .merge_error_sets, .anyframe_type, .error_union_type, - .bitnot, + .bit_not, .error_set, .slice, .slice_start, @@ -611,20 +613,20 @@ pub const Inst = struct { .typeof_peer, .resolve_inferred_alloc, .set_eval_branch_quota, - .compilelog, + .compile_log, .enum_type, .union_type, .struct_type, => false, .@"break", - .breakvoid, + .break_void, .condbr, - .compileerror, + .compile_error, .@"return", - .returnvoid, - .unreach_nocheck, - .@"unreachable", + .return_void, + .unreachable_unsafe, + .unreachable_safe, .loop, .switchbr, .container_field_named, @@ -717,7 +719,7 @@ pub const Inst = struct { }; pub const BreakVoid = struct { - pub const base_tag = Tag.breakvoid; + pub const base_tag = Tag.break_void; base: Inst, positionals: struct { @@ -739,19 +741,8 @@ pub const Inst = struct { }, }; - pub const CoerceToPtrElem = struct { - pub const base_tag = Tag.coerce_to_ptr_elem; - base: Inst, - - positionals: struct { - ptr: *Inst, - value: *Inst, - }, - kw_args: struct {}, - }; - pub const DeclRef = struct { - pub const base_tag = Tag.declref; + pub const base_tag = Tag.decl_ref; base: Inst, positionals: struct { @@ -761,7 +752,7 @@ pub const Inst = struct { }; pub const DeclRefStr = struct { - pub const base_tag = Tag.declref_str; + pub const base_tag = Tag.decl_ref_str; base: Inst, positionals: struct { @@ -771,7 +762,7 @@ pub const Inst = struct { }; pub const DeclVal = struct { - pub const base_tag = Tag.declval; + pub const base_tag = Tag.decl_val; base: Inst, positionals: struct { @@ -786,13 +777,13 @@ pub const Inst = struct { positionals: struct { dest_type: *Inst, - block: *Block, + block_ptr: *Inst, }, kw_args: struct {}, }; pub const CompileLog = struct { - pub const base_tag = Tag.compilelog; + pub const base_tag = Tag.compile_log; base: Inst, positionals: struct { @@ -905,7 +896,7 @@ pub const Inst = struct { }; pub const IntType = struct { - pub const base_tag = Tag.inttype; + pub const base_tag = Tag.int_type; base: Inst, positionals: struct { @@ -1641,10 +1632,10 @@ const DumpTzir = struct { .cmp_gt, .cmp_neq, .store, - .booland, - .boolor, - .bitand, - .bitor, + .bool_and, + .bool_or, + .bit_and, + .bit_or, .xor, => { const bin_op = inst.cast(ir.Inst.BinOp).?; @@ -1753,10 +1744,10 @@ const DumpTzir = struct { .cmp_gt, .cmp_neq, .store, - .booland, - .boolor, - .bitand, - .bitor, + .bool_and, + .bool_or, + .bit_and, + .bit_or, .xor, => { const bin_op = inst.cast(ir.Inst.BinOp).?; diff --git a/src/zir_sema.zig b/src/zir_sema.zig index 0caaa2a03f..ca8255df94 100644 --- a/src/zir_sema.zig +++ b/src/zir_sema.zig @@ -28,144 +28,134 @@ const Decl = Module.Decl; pub fn analyzeInst(mod: *Module, scope: *Scope, old_inst: *zir.Inst) InnerError!*Inst { switch (old_inst.tag) { - .alloc => return analyzeInstAlloc(mod, scope, old_inst.castTag(.alloc).?), - .alloc_mut => return analyzeInstAllocMut(mod, scope, old_inst.castTag(.alloc_mut).?), - .alloc_inferred => return analyzeInstAllocInferred( - mod, - scope, - old_inst.castTag(.alloc_inferred).?, - .inferred_alloc_const, - ), - .alloc_inferred_mut => return analyzeInstAllocInferred( - mod, - scope, - old_inst.castTag(.alloc_inferred_mut).?, - .inferred_alloc_mut, - ), - .arg => return analyzeInstArg(mod, scope, old_inst.castTag(.arg).?), - .bitcast_ref => return bitCastRef(mod, scope, old_inst.castTag(.bitcast_ref).?), - .bitcast_result_ptr => return bitCastResultPtr(mod, scope, old_inst.castTag(.bitcast_result_ptr).?), - .block => return analyzeInstBlock(mod, scope, old_inst.castTag(.block).?, false), - .block_comptime => return analyzeInstBlock(mod, scope, old_inst.castTag(.block_comptime).?, true), - .block_flat => return analyzeInstBlockFlat(mod, scope, old_inst.castTag(.block_flat).?, false), - .block_comptime_flat => return analyzeInstBlockFlat(mod, scope, old_inst.castTag(.block_comptime_flat).?, true), - .@"break" => return analyzeInstBreak(mod, scope, old_inst.castTag(.@"break").?), - .breakpoint => return analyzeInstBreakpoint(mod, scope, old_inst.castTag(.breakpoint).?), - .breakvoid => return analyzeInstBreakVoid(mod, scope, old_inst.castTag(.breakvoid).?), - .call => return call(mod, scope, old_inst.castTag(.call).?), - .coerce_result_block_ptr => return analyzeInstCoerceResultBlockPtr(mod, scope, old_inst.castTag(.coerce_result_block_ptr).?), - .coerce_result_ptr => return analyzeInstCoerceResultPtr(mod, scope, old_inst.castTag(.coerce_result_ptr).?), - .coerce_to_ptr_elem => return analyzeInstCoerceToPtrElem(mod, scope, old_inst.castTag(.coerce_to_ptr_elem).?), - .compileerror => return analyzeInstCompileError(mod, scope, old_inst.castTag(.compileerror).?), - .compilelog => return analyzeInstCompileLog(mod, scope, old_inst.castTag(.compilelog).?), - .@"const" => return analyzeInstConst(mod, scope, old_inst.castTag(.@"const").?), - .dbg_stmt => return analyzeInstDbgStmt(mod, scope, old_inst.castTag(.dbg_stmt).?), - .declref => return declRef(mod, scope, old_inst.castTag(.declref).?), - .declref_str => return analyzeInstDeclRefStr(mod, scope, old_inst.castTag(.declref_str).?), - .declval => return declVal(mod, scope, old_inst.castTag(.declval).?), - .ensure_result_used => return analyzeInstEnsureResultUsed(mod, scope, old_inst.castTag(.ensure_result_used).?), - .ensure_result_non_error => return analyzeInstEnsureResultNonError(mod, scope, old_inst.castTag(.ensure_result_non_error).?), - .indexable_ptr_len => return indexablePtrLen(mod, scope, old_inst.castTag(.indexable_ptr_len).?), - .ref => return ref(mod, scope, old_inst.castTag(.ref).?), - .resolve_inferred_alloc => return analyzeInstResolveInferredAlloc(mod, scope, old_inst.castTag(.resolve_inferred_alloc).?), - .ret_ptr => return analyzeInstRetPtr(mod, scope, old_inst.castTag(.ret_ptr).?), - .ret_type => return analyzeInstRetType(mod, scope, old_inst.castTag(.ret_type).?), - .store_to_inferred_ptr => return analyzeInstStoreToInferredPtr(mod, scope, old_inst.castTag(.store_to_inferred_ptr).?), - .single_const_ptr_type => return analyzeInstSimplePtrType(mod, scope, old_inst.castTag(.single_const_ptr_type).?, false, .One), - .single_mut_ptr_type => return analyzeInstSimplePtrType(mod, scope, old_inst.castTag(.single_mut_ptr_type).?, true, .One), - .many_const_ptr_type => return analyzeInstSimplePtrType(mod, scope, old_inst.castTag(.many_const_ptr_type).?, false, .Many), - .many_mut_ptr_type => return analyzeInstSimplePtrType(mod, scope, old_inst.castTag(.many_mut_ptr_type).?, true, .Many), - .c_const_ptr_type => return analyzeInstSimplePtrType(mod, scope, old_inst.castTag(.c_const_ptr_type).?, false, .C), - .c_mut_ptr_type => return analyzeInstSimplePtrType(mod, scope, old_inst.castTag(.c_mut_ptr_type).?, true, .C), - .const_slice_type => return analyzeInstSimplePtrType(mod, scope, old_inst.castTag(.const_slice_type).?, false, .Slice), - .mut_slice_type => return analyzeInstSimplePtrType(mod, scope, old_inst.castTag(.mut_slice_type).?, true, .Slice), - .ptr_type => return analyzeInstPtrType(mod, scope, old_inst.castTag(.ptr_type).?), - .store => return analyzeInstStore(mod, scope, old_inst.castTag(.store).?), - .set_eval_branch_quota => return analyzeInstSetEvalBranchQuota(mod, scope, old_inst.castTag(.set_eval_branch_quota).?), - .str => return analyzeInstStr(mod, scope, old_inst.castTag(.str).?), - .int => return analyzeInstInt(mod, scope, old_inst.castTag(.int).?), - .inttype => return analyzeInstIntType(mod, scope, old_inst.castTag(.inttype).?), - .loop => return analyzeInstLoop(mod, scope, old_inst.castTag(.loop).?), - .param_type => return analyzeInstParamType(mod, scope, old_inst.castTag(.param_type).?), - .ptrtoint => return analyzeInstPtrToInt(mod, scope, old_inst.castTag(.ptrtoint).?), - .field_ptr => return fieldPtr(mod, scope, old_inst.castTag(.field_ptr).?), - .field_val => return fieldVal(mod, scope, old_inst.castTag(.field_val).?), - .field_ptr_named => return fieldPtrNamed(mod, scope, old_inst.castTag(.field_ptr_named).?), - .field_val_named => return fieldValNamed(mod, scope, old_inst.castTag(.field_val_named).?), - .deref => return analyzeInstDeref(mod, scope, old_inst.castTag(.deref).?), - .as => return analyzeInstAs(mod, scope, old_inst.castTag(.as).?), - .@"asm" => return analyzeInstAsm(mod, scope, old_inst.castTag(.@"asm").?), - .@"unreachable" => return analyzeInstUnreachable(mod, scope, old_inst.castTag(.@"unreachable").?, true), - .unreach_nocheck => return analyzeInstUnreachable(mod, scope, old_inst.castTag(.unreach_nocheck).?, false), - .@"return" => return analyzeInstRet(mod, scope, old_inst.castTag(.@"return").?), - .returnvoid => return analyzeInstRetVoid(mod, scope, old_inst.castTag(.returnvoid).?), - .@"fn" => return analyzeInstFn(mod, scope, old_inst.castTag(.@"fn").?), - .@"export" => return analyzeInstExport(mod, scope, old_inst.castTag(.@"export").?), - .primitive => return analyzeInstPrimitive(mod, scope, old_inst.castTag(.primitive).?), - .fntype => return analyzeInstFnType(mod, scope, old_inst.castTag(.fntype).?), - .intcast => return analyzeInstIntCast(mod, scope, old_inst.castTag(.intcast).?), - .bitcast => return analyzeInstBitCast(mod, scope, old_inst.castTag(.bitcast).?), - .floatcast => return analyzeInstFloatCast(mod, scope, old_inst.castTag(.floatcast).?), - .elem_ptr => return elemPtr(mod, scope, old_inst.castTag(.elem_ptr).?), - .elem_val => return elemVal(mod, scope, old_inst.castTag(.elem_val).?), - .add => return analyzeInstArithmetic(mod, scope, old_inst.castTag(.add).?), - .addwrap => return analyzeInstArithmetic(mod, scope, old_inst.castTag(.addwrap).?), - .sub => return analyzeInstArithmetic(mod, scope, old_inst.castTag(.sub).?), - .subwrap => return analyzeInstArithmetic(mod, scope, old_inst.castTag(.subwrap).?), - .mul => return analyzeInstArithmetic(mod, scope, old_inst.castTag(.mul).?), - .mulwrap => return analyzeInstArithmetic(mod, scope, old_inst.castTag(.mulwrap).?), - .div => return analyzeInstArithmetic(mod, scope, old_inst.castTag(.div).?), - .mod_rem => return analyzeInstArithmetic(mod, scope, old_inst.castTag(.mod_rem).?), - .array_cat => return analyzeInstArrayCat(mod, scope, old_inst.castTag(.array_cat).?), - .array_mul => return analyzeInstArrayMul(mod, scope, old_inst.castTag(.array_mul).?), - .bitand => return analyzeInstBitwise(mod, scope, old_inst.castTag(.bitand).?), - .bitnot => return analyzeInstBitNot(mod, scope, old_inst.castTag(.bitnot).?), - .bitor => return analyzeInstBitwise(mod, scope, old_inst.castTag(.bitor).?), - .xor => return analyzeInstBitwise(mod, scope, old_inst.castTag(.xor).?), - .shl => return analyzeInstShl(mod, scope, old_inst.castTag(.shl).?), - .shr => return analyzeInstShr(mod, scope, old_inst.castTag(.shr).?), - .cmp_lt => return analyzeInstCmp(mod, scope, old_inst.castTag(.cmp_lt).?, .lt), - .cmp_lte => return analyzeInstCmp(mod, scope, old_inst.castTag(.cmp_lte).?, .lte), - .cmp_eq => return analyzeInstCmp(mod, scope, old_inst.castTag(.cmp_eq).?, .eq), - .cmp_gte => return analyzeInstCmp(mod, scope, old_inst.castTag(.cmp_gte).?, .gte), - .cmp_gt => return analyzeInstCmp(mod, scope, old_inst.castTag(.cmp_gt).?, .gt), - .cmp_neq => return analyzeInstCmp(mod, scope, old_inst.castTag(.cmp_neq).?, .neq), - .condbr => return analyzeInstCondBr(mod, scope, old_inst.castTag(.condbr).?), - .is_null => return isNull(mod, scope, old_inst.castTag(.is_null).?, false), - .is_non_null => return isNull(mod, scope, old_inst.castTag(.is_non_null).?, true), - .is_null_ptr => return isNullPtr(mod, scope, old_inst.castTag(.is_null_ptr).?, false), - .is_non_null_ptr => return isNullPtr(mod, scope, old_inst.castTag(.is_non_null_ptr).?, true), - .is_err => return isErr(mod, scope, old_inst.castTag(.is_err).?), - .is_err_ptr => return isErrPtr(mod, scope, old_inst.castTag(.is_err_ptr).?), - .boolnot => return analyzeInstBoolNot(mod, scope, old_inst.castTag(.boolnot).?), - .typeof => return analyzeInstTypeOf(mod, scope, old_inst.castTag(.typeof).?), - .typeof_peer => return analyzeInstTypeOfPeer(mod, scope, old_inst.castTag(.typeof_peer).?), - .optional_type => return analyzeInstOptionalType(mod, scope, old_inst.castTag(.optional_type).?), - .optional_payload_safe => return optionalPayload(mod, scope, old_inst.castTag(.optional_payload_safe).?, true), - .optional_payload_unsafe => return optionalPayload(mod, scope, old_inst.castTag(.optional_payload_unsafe).?, false), - .optional_payload_safe_ptr => return optionalPayloadPtr(mod, scope, old_inst.castTag(.optional_payload_safe_ptr).?, true), - .optional_payload_unsafe_ptr => return optionalPayloadPtr(mod, scope, old_inst.castTag(.optional_payload_unsafe_ptr).?, false), - .err_union_payload_safe => return errorUnionPayload(mod, scope, old_inst.castTag(.err_union_payload_safe).?, true), - .err_union_payload_unsafe => return errorUnionPayload(mod, scope, old_inst.castTag(.err_union_payload_unsafe).?, false), - .err_union_payload_safe_ptr => return errorUnionPayloadPtr(mod, scope, old_inst.castTag(.err_union_payload_safe_ptr).?, true), - .err_union_payload_unsafe_ptr => return errorUnionPayloadPtr(mod, scope, old_inst.castTag(.err_union_payload_unsafe_ptr).?, false), - .err_union_code => return errorUnionCode(mod, scope, old_inst.castTag(.err_union_code).?), - .err_union_code_ptr => return errorUnionCodePtr(mod, scope, old_inst.castTag(.err_union_code_ptr).?), - .ensure_err_payload_void => return analyzeInstEnsureErrPayloadVoid(mod, scope, old_inst.castTag(.ensure_err_payload_void).?), - .array_type => return analyzeInstArrayType(mod, scope, old_inst.castTag(.array_type).?), - .array_type_sentinel => return analyzeInstArrayTypeSentinel(mod, scope, old_inst.castTag(.array_type_sentinel).?), - .enum_literal => return analyzeInstEnumLiteral(mod, scope, old_inst.castTag(.enum_literal).?), - .merge_error_sets => return analyzeInstMergeErrorSets(mod, scope, old_inst.castTag(.merge_error_sets).?), - .error_union_type => return analyzeInstErrorUnionType(mod, scope, old_inst.castTag(.error_union_type).?), - .anyframe_type => return analyzeInstAnyframeType(mod, scope, old_inst.castTag(.anyframe_type).?), - .error_set => return analyzeInstErrorSet(mod, scope, old_inst.castTag(.error_set).?), - .slice => return analyzeInstSlice(mod, scope, old_inst.castTag(.slice).?), - .slice_start => return analyzeInstSliceStart(mod, scope, old_inst.castTag(.slice_start).?), - .import => return analyzeInstImport(mod, scope, old_inst.castTag(.import).?), - .switchbr => return analyzeInstSwitchBr(mod, scope, old_inst.castTag(.switchbr).?), - .switch_range => return analyzeInstSwitchRange(mod, scope, old_inst.castTag(.switch_range).?), - .booland => return analyzeInstBoolOp(mod, scope, old_inst.castTag(.booland).?), - .boolor => return analyzeInstBoolOp(mod, scope, old_inst.castTag(.boolor).?), + .alloc => return zirAlloc(mod, scope, old_inst.castTag(.alloc).?), + .alloc_mut => return zirAllocMut(mod, scope, old_inst.castTag(.alloc_mut).?), + .alloc_inferred => return zirAllocInferred(mod, scope, old_inst.castTag(.alloc_inferred).?, .inferred_alloc_const), + .alloc_inferred_mut => return zirAllocInferred(mod, scope, old_inst.castTag(.alloc_inferred_mut).?, .inferred_alloc_mut), + .arg => return zirArg(mod, scope, old_inst.castTag(.arg).?), + .bitcast_ref => return zirBitcastRef(mod, scope, old_inst.castTag(.bitcast_ref).?), + .bitcast_result_ptr => return zirBitcastResultPtr(mod, scope, old_inst.castTag(.bitcast_result_ptr).?), + .block => return zirBlock(mod, scope, old_inst.castTag(.block).?, false), + .block_comptime => return zirBlock(mod, scope, old_inst.castTag(.block_comptime).?, true), + .block_flat => return zirBlockFlat(mod, scope, old_inst.castTag(.block_flat).?, false), + .block_comptime_flat => return zirBlockFlat(mod, scope, old_inst.castTag(.block_comptime_flat).?, true), + .@"break" => return zirBreak(mod, scope, old_inst.castTag(.@"break").?), + .breakpoint => return zirBreakpoint(mod, scope, old_inst.castTag(.breakpoint).?), + .break_void => return zirBreakVoid(mod, scope, old_inst.castTag(.break_void).?), + .call => return zirCall(mod, scope, old_inst.castTag(.call).?), + .coerce_result_block_ptr => return zirCoerceResultBlockPtr(mod, scope, old_inst.castTag(.coerce_result_block_ptr).?), + .coerce_result_ptr => return zirCoerceResultPtr(mod, scope, old_inst.castTag(.coerce_result_ptr).?), + .compile_error => return zirCompileError(mod, scope, old_inst.castTag(.compile_error).?), + .compile_log => return zirCompileLog(mod, scope, old_inst.castTag(.compile_log).?), + .@"const" => return zirConst(mod, scope, old_inst.castTag(.@"const").?), + .dbg_stmt => return zirDbgStmt(mod, scope, old_inst.castTag(.dbg_stmt).?), + .decl_ref => return zirDeclRef(mod, scope, old_inst.castTag(.decl_ref).?), + .decl_ref_str => return zirDeclRefStr(mod, scope, old_inst.castTag(.decl_ref_str).?), + .decl_val => return zirDeclVal(mod, scope, old_inst.castTag(.decl_val).?), + .ensure_result_used => return zirEnsureResultUsed(mod, scope, old_inst.castTag(.ensure_result_used).?), + .ensure_result_non_error => return zirEnsureResultNonError(mod, scope, old_inst.castTag(.ensure_result_non_error).?), + .indexable_ptr_len => return zirIndexablePtrLen(mod, scope, old_inst.castTag(.indexable_ptr_len).?), + .ref => return zirRef(mod, scope, old_inst.castTag(.ref).?), + .resolve_inferred_alloc => return zirResolveInferredAlloc(mod, scope, old_inst.castTag(.resolve_inferred_alloc).?), + .ret_ptr => return zirRetPtr(mod, scope, old_inst.castTag(.ret_ptr).?), + .ret_type => return zirRetType(mod, scope, old_inst.castTag(.ret_type).?), + .store_to_block_ptr => return zirStoreToBlockPtr(mod, scope, old_inst.castTag(.store_to_block_ptr).?), + .store_to_inferred_ptr => return zirStoreToInferredPtr(mod, scope, old_inst.castTag(.store_to_inferred_ptr).?), + .single_const_ptr_type => return zirSimplePtrType(mod, scope, old_inst.castTag(.single_const_ptr_type).?, false, .One), + .single_mut_ptr_type => return zirSimplePtrType(mod, scope, old_inst.castTag(.single_mut_ptr_type).?, true, .One), + .many_const_ptr_type => return zirSimplePtrType(mod, scope, old_inst.castTag(.many_const_ptr_type).?, false, .Many), + .many_mut_ptr_type => return zirSimplePtrType(mod, scope, old_inst.castTag(.many_mut_ptr_type).?, true, .Many), + .c_const_ptr_type => return zirSimplePtrType(mod, scope, old_inst.castTag(.c_const_ptr_type).?, false, .C), + .c_mut_ptr_type => return zirSimplePtrType(mod, scope, old_inst.castTag(.c_mut_ptr_type).?, true, .C), + .const_slice_type => return zirSimplePtrType(mod, scope, old_inst.castTag(.const_slice_type).?, false, .Slice), + .mut_slice_type => return zirSimplePtrType(mod, scope, old_inst.castTag(.mut_slice_type).?, true, .Slice), + .ptr_type => return zirPtrType(mod, scope, old_inst.castTag(.ptr_type).?), + .store => return zirStore(mod, scope, old_inst.castTag(.store).?), + .set_eval_branch_quota => return zirSetEvalBranchQuota(mod, scope, old_inst.castTag(.set_eval_branch_quota).?), + .str => return zirStr(mod, scope, old_inst.castTag(.str).?), + .int => return zirInt(mod, scope, old_inst.castTag(.int).?), + .int_type => return zirIntType(mod, scope, old_inst.castTag(.int_type).?), + .loop => return zirLoop(mod, scope, old_inst.castTag(.loop).?), + .param_type => return zirParamType(mod, scope, old_inst.castTag(.param_type).?), + .ptrtoint => return zirPtrtoint(mod, scope, old_inst.castTag(.ptrtoint).?), + .field_ptr => return zirFieldPtr(mod, scope, old_inst.castTag(.field_ptr).?), + .field_val => return zirFieldVal(mod, scope, old_inst.castTag(.field_val).?), + .field_ptr_named => return zirFieldPtrNamed(mod, scope, old_inst.castTag(.field_ptr_named).?), + .field_val_named => return zirFieldValNamed(mod, scope, old_inst.castTag(.field_val_named).?), + .deref => return zirDeref(mod, scope, old_inst.castTag(.deref).?), + .as => return zirAs(mod, scope, old_inst.castTag(.as).?), + .@"asm" => return zirAsm(mod, scope, old_inst.castTag(.@"asm").?), + .unreachable_safe => return zirUnreachable(mod, scope, old_inst.castTag(.unreachable_safe).?, true), + .unreachable_unsafe => return zirUnreachable(mod, scope, old_inst.castTag(.unreachable_unsafe).?, false), + .@"return" => return zirReturn(mod, scope, old_inst.castTag(.@"return").?), + .return_void => return zirReturnVoid(mod, scope, old_inst.castTag(.return_void).?), + .@"fn" => return zirFn(mod, scope, old_inst.castTag(.@"fn").?), + .@"export" => return zirExport(mod, scope, old_inst.castTag(.@"export").?), + .primitive => return zirPrimitive(mod, scope, old_inst.castTag(.primitive).?), + .fntype => return zirFnType(mod, scope, old_inst.castTag(.fntype).?), + .intcast => return zirIntcast(mod, scope, old_inst.castTag(.intcast).?), + .bitcast => return zirBitcast(mod, scope, old_inst.castTag(.bitcast).?), + .floatcast => return zirFloatcast(mod, scope, old_inst.castTag(.floatcast).?), + .elem_ptr => return zirElemPtr(mod, scope, old_inst.castTag(.elem_ptr).?), + .elem_val => return zirElemVal(mod, scope, old_inst.castTag(.elem_val).?), + .add => return zirArithmetic(mod, scope, old_inst.castTag(.add).?), + .addwrap => return zirArithmetic(mod, scope, old_inst.castTag(.addwrap).?), + .sub => return zirArithmetic(mod, scope, old_inst.castTag(.sub).?), + .subwrap => return zirArithmetic(mod, scope, old_inst.castTag(.subwrap).?), + .mul => return zirArithmetic(mod, scope, old_inst.castTag(.mul).?), + .mulwrap => return zirArithmetic(mod, scope, old_inst.castTag(.mulwrap).?), + .div => return zirArithmetic(mod, scope, old_inst.castTag(.div).?), + .mod_rem => return zirArithmetic(mod, scope, old_inst.castTag(.mod_rem).?), + .array_cat => return zirArrayCat(mod, scope, old_inst.castTag(.array_cat).?), + .array_mul => return zirArrayMul(mod, scope, old_inst.castTag(.array_mul).?), + .bit_and => return zirBitwise(mod, scope, old_inst.castTag(.bit_and).?), + .bit_not => return zirBitNot(mod, scope, old_inst.castTag(.bit_not).?), + .bit_or => return zirBitwise(mod, scope, old_inst.castTag(.bit_or).?), + .xor => return zirBitwise(mod, scope, old_inst.castTag(.xor).?), + .shl => return zirShl(mod, scope, old_inst.castTag(.shl).?), + .shr => return zirShr(mod, scope, old_inst.castTag(.shr).?), + .cmp_lt => return zirCmp(mod, scope, old_inst.castTag(.cmp_lt).?, .lt), + .cmp_lte => return zirCmp(mod, scope, old_inst.castTag(.cmp_lte).?, .lte), + .cmp_eq => return zirCmp(mod, scope, old_inst.castTag(.cmp_eq).?, .eq), + .cmp_gte => return zirCmp(mod, scope, old_inst.castTag(.cmp_gte).?, .gte), + .cmp_gt => return zirCmp(mod, scope, old_inst.castTag(.cmp_gt).?, .gt), + .cmp_neq => return zirCmp(mod, scope, old_inst.castTag(.cmp_neq).?, .neq), + .condbr => return zirCondbr(mod, scope, old_inst.castTag(.condbr).?), + .is_null => return zirIsNull(mod, scope, old_inst.castTag(.is_null).?, false), + .is_non_null => return zirIsNull(mod, scope, old_inst.castTag(.is_non_null).?, true), + .is_null_ptr => return zirIsNullPtr(mod, scope, old_inst.castTag(.is_null_ptr).?, false), + .is_non_null_ptr => return zirIsNullPtr(mod, scope, old_inst.castTag(.is_non_null_ptr).?, true), + .is_err => return zirIsErr(mod, scope, old_inst.castTag(.is_err).?), + .is_err_ptr => return zirIsErrPtr(mod, scope, old_inst.castTag(.is_err_ptr).?), + .bool_not => return zirBoolNot(mod, scope, old_inst.castTag(.bool_not).?), + .typeof => return zirTypeof(mod, scope, old_inst.castTag(.typeof).?), + .typeof_peer => return zirTypeofPeer(mod, scope, old_inst.castTag(.typeof_peer).?), + .optional_type => return zirOptionalType(mod, scope, old_inst.castTag(.optional_type).?), + .optional_payload_safe => return zirOptionalPayload(mod, scope, old_inst.castTag(.optional_payload_safe).?, true), + .optional_payload_unsafe => return zirOptionalPayload(mod, scope, old_inst.castTag(.optional_payload_unsafe).?, false), + .optional_payload_safe_ptr => return zirOptionalPayloadPtr(mod, scope, old_inst.castTag(.optional_payload_safe_ptr).?, true), + .optional_payload_unsafe_ptr => return zirOptionalPayloadPtr(mod, scope, old_inst.castTag(.optional_payload_unsafe_ptr).?, false), + .err_union_payload_safe => return zirErrUnionPayload(mod, scope, old_inst.castTag(.err_union_payload_safe).?, true), + .err_union_payload_unsafe => return zirErrUnionPayload(mod, scope, old_inst.castTag(.err_union_payload_unsafe).?, false), + .err_union_payload_safe_ptr => return zirErrUnionPayloadPtr(mod, scope, old_inst.castTag(.err_union_payload_safe_ptr).?, true), + .err_union_payload_unsafe_ptr => return zirErrUnionPayloadPtr(mod, scope, old_inst.castTag(.err_union_payload_unsafe_ptr).?, false), + .err_union_code => return zirErrUnionCode(mod, scope, old_inst.castTag(.err_union_code).?), + .err_union_code_ptr => return zirErrUnionCodePtr(mod, scope, old_inst.castTag(.err_union_code_ptr).?), + .ensure_err_payload_void => return zirEnsureErrPayloadVoid(mod, scope, old_inst.castTag(.ensure_err_payload_void).?), + .array_type => return zirArrayType(mod, scope, old_inst.castTag(.array_type).?), + .array_type_sentinel => return zirArrayTypeSentinel(mod, scope, old_inst.castTag(.array_type_sentinel).?), + .enum_literal => return zirEnumLiteral(mod, scope, old_inst.castTag(.enum_literal).?), + .merge_error_sets => return zirMergeErrorSets(mod, scope, old_inst.castTag(.merge_error_sets).?), + .error_union_type => return zirErrorUnionType(mod, scope, old_inst.castTag(.error_union_type).?), + .anyframe_type => return zirAnyframeType(mod, scope, old_inst.castTag(.anyframe_type).?), + .error_set => return zirErrorSet(mod, scope, old_inst.castTag(.error_set).?), + .slice => return zirSlice(mod, scope, old_inst.castTag(.slice).?), + .slice_start => return zirSliceStart(mod, scope, old_inst.castTag(.slice_start).?), + .import => return zirImport(mod, scope, old_inst.castTag(.import).?), + .switchbr => return zirSwitchbr(mod, scope, old_inst.castTag(.switchbr).?), + .switch_range => return zirSwitchRange(mod, scope, old_inst.castTag(.switch_range).?), + .bool_and => return zirBoolOp(mod, scope, old_inst.castTag(.bool_and).?), + .bool_or => return zirBoolOp(mod, scope, old_inst.castTag(.bool_or).?), .container_field_named, .container_field_typed, @@ -258,7 +248,7 @@ pub fn resolveInstConst(mod: *Module, scope: *Scope, old_inst: *zir.Inst) InnerE }; } -fn analyzeInstConst(mod: *Module, scope: *Scope, const_inst: *zir.Inst.Const) InnerError!*Inst { +fn zirConst(mod: *Module, scope: *Scope, const_inst: *zir.Inst.Const) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); // Move the TypedValue from old memory to new memory. This allows freeing the ZIR instructions @@ -275,44 +265,35 @@ fn analyzeConstInst(mod: *Module, scope: *Scope, old_inst: *zir.Inst) InnerError }; } -fn analyzeInstCoerceResultBlockPtr( +fn zirCoerceResultBlockPtr( mod: *Module, scope: *Scope, inst: *zir.Inst.CoerceResultBlockPtr, ) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); - return mod.fail(scope, inst.base.src, "TODO implement analyzeInstCoerceResultBlockPtr", .{}); + return mod.fail(scope, inst.base.src, "TODO implement zirCoerceResultBlockPtr", .{}); } -fn bitCastRef(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerError!*Inst { +fn zirBitcastRef(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); - return mod.fail(scope, inst.base.src, "TODO implement zir_sema.bitCastRef", .{}); + return mod.fail(scope, inst.base.src, "TODO implement zir_sema.zirBitcastRef", .{}); } -fn bitCastResultPtr(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerError!*Inst { +fn zirBitcastResultPtr(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); - return mod.fail(scope, inst.base.src, "TODO implement zir_sema.bitCastResultPtr", .{}); + return mod.fail(scope, inst.base.src, "TODO implement zir_sema.zirBitcastResultPtr", .{}); } -fn analyzeInstCoerceResultPtr(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerError!*Inst { +fn zirCoerceResultPtr(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); - return mod.fail(scope, inst.base.src, "TODO implement analyzeInstCoerceResultPtr", .{}); + return mod.fail(scope, inst.base.src, "TODO implement zirCoerceResultPtr", .{}); } -/// Equivalent to `as(ptr_child_type(typeof(ptr)), value)`. -fn analyzeInstCoerceToPtrElem(mod: *Module, scope: *Scope, inst: *zir.Inst.CoerceToPtrElem) InnerError!*Inst { - const tracy = trace(@src()); - defer tracy.end(); - const ptr = try resolveInst(mod, scope, inst.positionals.ptr); - const operand = try resolveInst(mod, scope, inst.positionals.value); - return mod.coerce(scope, ptr.ty.elemType(), operand); -} - -fn analyzeInstRetPtr(mod: *Module, scope: *Scope, inst: *zir.Inst.NoOp) InnerError!*Inst { +fn zirRetPtr(mod: *Module, scope: *Scope, inst: *zir.Inst.NoOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const b = try mod.requireFunctionBlock(scope, inst.base.src); @@ -322,7 +303,7 @@ fn analyzeInstRetPtr(mod: *Module, scope: *Scope, inst: *zir.Inst.NoOp) InnerErr return mod.addNoOp(b, inst.base.src, ptr_type, .alloc); } -fn ref(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerError!*Inst { +fn zirRef(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); @@ -330,7 +311,7 @@ fn ref(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerError!*Inst { return mod.analyzeRef(scope, inst.base.src, operand); } -fn analyzeInstRetType(mod: *Module, scope: *Scope, inst: *zir.Inst.NoOp) InnerError!*Inst { +fn zirRetType(mod: *Module, scope: *Scope, inst: *zir.Inst.NoOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const b = try mod.requireFunctionBlock(scope, inst.base.src); @@ -339,7 +320,7 @@ fn analyzeInstRetType(mod: *Module, scope: *Scope, inst: *zir.Inst.NoOp) InnerEr return mod.constType(scope, inst.base.src, ret_type); } -fn analyzeInstEnsureResultUsed(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerError!*Inst { +fn zirEnsureResultUsed(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const operand = try resolveInst(mod, scope, inst.positionals.operand); @@ -349,7 +330,7 @@ fn analyzeInstEnsureResultUsed(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp } } -fn analyzeInstEnsureResultNonError(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerError!*Inst { +fn zirEnsureResultNonError(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const operand = try resolveInst(mod, scope, inst.positionals.operand); @@ -359,7 +340,7 @@ fn analyzeInstEnsureResultNonError(mod: *Module, scope: *Scope, inst: *zir.Inst. } } -fn indexablePtrLen(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerError!*Inst { +fn zirIndexablePtrLen(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); @@ -389,7 +370,7 @@ fn indexablePtrLen(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerError return mod.analyzeDeref(scope, inst.base.src, result_ptr, result_ptr.src); } -fn analyzeInstAlloc(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerError!*Inst { +fn zirAlloc(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const var_type = try resolveType(mod, scope, inst.positionals.operand); @@ -398,7 +379,7 @@ fn analyzeInstAlloc(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerErro return mod.addNoOp(b, inst.base.src, ptr_type, .alloc); } -fn analyzeInstAllocMut(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerError!*Inst { +fn zirAllocMut(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const var_type = try resolveType(mod, scope, inst.positionals.operand); @@ -408,7 +389,7 @@ fn analyzeInstAllocMut(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerE return mod.addNoOp(b, inst.base.src, ptr_type, .alloc); } -fn analyzeInstAllocInferred( +fn zirAllocInferred( mod: *Module, scope: *Scope, inst: *zir.Inst.NoOp, @@ -437,7 +418,7 @@ fn analyzeInstAllocInferred( return result; } -fn analyzeInstResolveInferredAlloc( +fn zirResolveInferredAlloc( mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp, @@ -466,28 +447,44 @@ fn analyzeInstResolveInferredAlloc( return mod.constVoid(scope, inst.base.src); } -fn analyzeInstStoreToInferredPtr( +fn zirStoreToBlockPtr( mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp, ) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); + const ptr = try resolveInst(mod, scope, inst.positionals.lhs); const value = try resolveInst(mod, scope, inst.positionals.rhs); - const inferred_alloc = ptr.castTag(.constant).?.val.castTag(.inferred_alloc).?; - // Add the stored instruction to the set we will use to resolve peer types - // for the inferred allocation. - try inferred_alloc.data.stored_inst_list.append(scope.arena(), value); - // Create a new alloc with exactly the type the pointer wants. - // Later it gets cleaned up by aliasing the alloc we are supposed to be storing to. const ptr_ty = try mod.simplePtrType(scope, inst.base.src, value.ty, true, .One); const b = try mod.requireRuntimeBlock(scope, inst.base.src); const bitcasted_ptr = try mod.addUnOp(b, inst.base.src, ptr_ty, .bitcast, ptr); return mod.storePtr(scope, inst.base.src, bitcasted_ptr, value); } -fn analyzeInstSetEvalBranchQuota( +fn zirStoreToInferredPtr( + mod: *Module, + scope: *Scope, + inst: *zir.Inst.BinOp, +) InnerError!*Inst { + const tracy = trace(@src()); + defer tracy.end(); + + const ptr = try resolveInst(mod, scope, inst.positionals.lhs); + const value = try resolveInst(mod, scope, inst.positionals.rhs); + const inferred_alloc = ptr.castTag(.constant).?.val.castTag(.inferred_alloc).?; + // Add the stored instruction to the set we will use to resolve peer types + // for the inferred allocation. + try inferred_alloc.data.stored_inst_list.append(scope.arena(), value); + // Create a runtime bitcast instruction with exactly the type the pointer wants. + const ptr_ty = try mod.simplePtrType(scope, inst.base.src, value.ty, true, .One); + const b = try mod.requireRuntimeBlock(scope, inst.base.src); + const bitcasted_ptr = try mod.addUnOp(b, inst.base.src, ptr_ty, .bitcast, ptr); + return mod.storePtr(scope, inst.base.src, bitcasted_ptr, value); +} + +fn zirSetEvalBranchQuota( mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp, @@ -499,15 +496,16 @@ fn analyzeInstSetEvalBranchQuota( return mod.constVoid(scope, inst.base.src); } -fn analyzeInstStore(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerError!*Inst { +fn zirStore(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); + const ptr = try resolveInst(mod, scope, inst.positionals.lhs); const value = try resolveInst(mod, scope, inst.positionals.rhs); return mod.storePtr(scope, inst.base.src, ptr, value); } -fn analyzeInstParamType(mod: *Module, scope: *Scope, inst: *zir.Inst.ParamType) InnerError!*Inst { +fn zirParamType(mod: *Module, scope: *Scope, inst: *zir.Inst.ParamType) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const fn_inst = try resolveInst(mod, scope, inst.positionals.func); @@ -516,7 +514,7 @@ fn analyzeInstParamType(mod: *Module, scope: *Scope, inst: *zir.Inst.ParamType) const fn_ty: Type = switch (fn_inst.ty.zigTypeTag()) { .Fn => fn_inst.ty, .BoundFn => { - return mod.fail(scope, fn_inst.src, "TODO implement analyzeInstParamType for method call syntax", .{}); + return mod.fail(scope, fn_inst.src, "TODO implement zirParamType for method call syntax", .{}); }, else => { return mod.fail(scope, fn_inst.src, "expected function, found '{}'", .{fn_inst.ty}); @@ -538,7 +536,7 @@ fn analyzeInstParamType(mod: *Module, scope: *Scope, inst: *zir.Inst.ParamType) return mod.constType(scope, inst.base.src, param_type); } -fn analyzeInstStr(mod: *Module, scope: *Scope, str_inst: *zir.Inst.Str) InnerError!*Inst { +fn zirStr(mod: *Module, scope: *Scope, str_inst: *zir.Inst.Str) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); // The bytes references memory inside the ZIR module, which can get deallocated @@ -557,14 +555,14 @@ fn analyzeInstStr(mod: *Module, scope: *Scope, str_inst: *zir.Inst.Str) InnerErr return mod.analyzeDeclRef(scope, str_inst.base.src, new_decl); } -fn analyzeInstInt(mod: *Module, scope: *Scope, inst: *zir.Inst.Int) InnerError!*Inst { +fn zirInt(mod: *Module, scope: *Scope, inst: *zir.Inst.Int) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); return mod.constIntBig(scope, inst.base.src, Type.initTag(.comptime_int), inst.positionals.int); } -fn analyzeInstExport(mod: *Module, scope: *Scope, export_inst: *zir.Inst.Export) InnerError!*Inst { +fn zirExport(mod: *Module, scope: *Scope, export_inst: *zir.Inst.Export) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const symbol_name = try resolveConstString(mod, scope, export_inst.positionals.symbol_name); @@ -574,14 +572,14 @@ fn analyzeInstExport(mod: *Module, scope: *Scope, export_inst: *zir.Inst.Export) return mod.constVoid(scope, export_inst.base.src); } -fn analyzeInstCompileError(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerError!*Inst { +fn zirCompileError(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const msg = try resolveConstString(mod, scope, inst.positionals.operand); return mod.fail(scope, inst.base.src, "{s}", .{msg}); } -fn analyzeInstCompileLog(mod: *Module, scope: *Scope, inst: *zir.Inst.CompileLog) InnerError!*Inst { +fn zirCompileLog(mod: *Module, scope: *Scope, inst: *zir.Inst.CompileLog) InnerError!*Inst { var managed = mod.compile_log_text.toManaged(mod.gpa); defer mod.compile_log_text = managed.moveToUnmanaged(); const writer = managed.writer(); @@ -608,7 +606,7 @@ fn analyzeInstCompileLog(mod: *Module, scope: *Scope, inst: *zir.Inst.CompileLog return mod.constVoid(scope, inst.base.src); } -fn analyzeInstArg(mod: *Module, scope: *Scope, inst: *zir.Inst.Arg) InnerError!*Inst { +fn zirArg(mod: *Module, scope: *Scope, inst: *zir.Inst.Arg) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const b = try mod.requireFunctionBlock(scope, inst.base.src); @@ -631,7 +629,7 @@ fn analyzeInstArg(mod: *Module, scope: *Scope, inst: *zir.Inst.Arg) InnerError!* return mod.addArg(b, inst.base.src, param_type, name); } -fn analyzeInstLoop(mod: *Module, scope: *Scope, inst: *zir.Inst.Loop) InnerError!*Inst { +fn zirLoop(mod: *Module, scope: *Scope, inst: *zir.Inst.Loop) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const parent_block = scope.cast(Scope.Block).?; @@ -672,7 +670,7 @@ fn analyzeInstLoop(mod: *Module, scope: *Scope, inst: *zir.Inst.Loop) InnerError return &loop_inst.base; } -fn analyzeInstBlockFlat(mod: *Module, scope: *Scope, inst: *zir.Inst.Block, is_comptime: bool) InnerError!*Inst { +fn zirBlockFlat(mod: *Module, scope: *Scope, inst: *zir.Inst.Block, is_comptime: bool) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const parent_block = scope.cast(Scope.Block).?; @@ -704,9 +702,15 @@ fn analyzeInstBlockFlat(mod: *Module, scope: *Scope, inst: *zir.Inst.Block, is_c return resolveInst(mod, scope, last_zir_inst); } -fn analyzeInstBlock(mod: *Module, scope: *Scope, inst: *zir.Inst.Block, is_comptime: bool) InnerError!*Inst { +fn zirBlock( + mod: *Module, + scope: *Scope, + inst: *zir.Inst.Block, + is_comptime: bool, +) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); + const parent_block = scope.cast(Scope.Block).?; // Reserve space for a Block instruction so that generated Break instructions can @@ -798,30 +802,52 @@ fn analyzeBlockBody( return &merges.block_inst.base; } -fn analyzeInstBreakpoint(mod: *Module, scope: *Scope, inst: *zir.Inst.NoOp) InnerError!*Inst { +fn zirBreakpoint(mod: *Module, scope: *Scope, inst: *zir.Inst.NoOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const b = try mod.requireRuntimeBlock(scope, inst.base.src); return mod.addNoOp(b, inst.base.src, Type.initTag(.void), .breakpoint); } -fn analyzeInstBreak(mod: *Module, scope: *Scope, inst: *zir.Inst.Break) InnerError!*Inst { +fn zirBreak(mod: *Module, scope: *Scope, inst: *zir.Inst.Break) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); + const operand = try resolveInst(mod, scope, inst.positionals.operand); const block = inst.positionals.block; return analyzeBreak(mod, scope, inst.base.src, block, operand); } -fn analyzeInstBreakVoid(mod: *Module, scope: *Scope, inst: *zir.Inst.BreakVoid) InnerError!*Inst { +fn zirBreakVoid(mod: *Module, scope: *Scope, inst: *zir.Inst.BreakVoid) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); + const block = inst.positionals.block; const void_inst = try mod.constVoid(scope, inst.base.src); return analyzeBreak(mod, scope, inst.base.src, block, void_inst); } -fn analyzeInstDbgStmt(mod: *Module, scope: *Scope, inst: *zir.Inst.NoOp) InnerError!*Inst { +fn analyzeBreak( + mod: *Module, + scope: *Scope, + src: usize, + zir_block: *zir.Inst.Block, + operand: *Inst, +) InnerError!*Inst { + var opt_block = scope.cast(Scope.Block); + while (opt_block) |block| { + if (block.label) |*label| { + if (label.zir_block == zir_block) { + try label.merges.results.append(mod.gpa, operand); + const b = try mod.requireFunctionBlock(scope, src); + return mod.addBr(b, src, label.merges.block_inst, operand); + } + } + opt_block = block.parent; + } else unreachable; +} + +fn zirDbgStmt(mod: *Module, scope: *Scope, inst: *zir.Inst.NoOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); if (scope.cast(Scope.Block)) |b| { @@ -832,26 +858,26 @@ fn analyzeInstDbgStmt(mod: *Module, scope: *Scope, inst: *zir.Inst.NoOp) InnerEr return mod.constVoid(scope, inst.base.src); } -fn analyzeInstDeclRefStr(mod: *Module, scope: *Scope, inst: *zir.Inst.DeclRefStr) InnerError!*Inst { +fn zirDeclRefStr(mod: *Module, scope: *Scope, inst: *zir.Inst.DeclRefStr) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const decl_name = try resolveConstString(mod, scope, inst.positionals.name); return mod.analyzeDeclRefByName(scope, inst.base.src, decl_name); } -fn declRef(mod: *Module, scope: *Scope, inst: *zir.Inst.DeclRef) InnerError!*Inst { +fn zirDeclRef(mod: *Module, scope: *Scope, inst: *zir.Inst.DeclRef) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); return mod.analyzeDeclRef(scope, inst.base.src, inst.positionals.decl); } -fn declVal(mod: *Module, scope: *Scope, inst: *zir.Inst.DeclVal) InnerError!*Inst { +fn zirDeclVal(mod: *Module, scope: *Scope, inst: *zir.Inst.DeclVal) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); return mod.analyzeDeclVal(scope, inst.base.src, inst.positionals.decl); } -fn call(mod: *Module, scope: *Scope, inst: *zir.Inst.Call) InnerError!*Inst { +fn zirCall(mod: *Module, scope: *Scope, inst: *zir.Inst.Call) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); @@ -1002,7 +1028,7 @@ fn call(mod: *Module, scope: *Scope, inst: *zir.Inst.Call) InnerError!*Inst { return mod.addCall(b, inst.base.src, ret_type, func, casted_args); } -fn analyzeInstFn(mod: *Module, scope: *Scope, fn_inst: *zir.Inst.Fn) InnerError!*Inst { +fn zirFn(mod: *Module, scope: *Scope, fn_inst: *zir.Inst.Fn) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const fn_type = try resolveType(mod, scope, fn_inst.positionals.fn_type); @@ -1019,13 +1045,13 @@ fn analyzeInstFn(mod: *Module, scope: *Scope, fn_inst: *zir.Inst.Fn) InnerError! }); } -fn analyzeInstIntType(mod: *Module, scope: *Scope, inttype: *zir.Inst.IntType) InnerError!*Inst { +fn zirIntType(mod: *Module, scope: *Scope, inttype: *zir.Inst.IntType) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); return mod.fail(scope, inttype.base.src, "TODO implement inttype", .{}); } -fn analyzeInstOptionalType(mod: *Module, scope: *Scope, optional: *zir.Inst.UnOp) InnerError!*Inst { +fn zirOptionalType(mod: *Module, scope: *Scope, optional: *zir.Inst.UnOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const child_type = try resolveType(mod, scope, optional.positionals.operand); @@ -1033,7 +1059,7 @@ fn analyzeInstOptionalType(mod: *Module, scope: *Scope, optional: *zir.Inst.UnOp return mod.constType(scope, optional.base.src, try mod.optionalType(scope, child_type)); } -fn analyzeInstArrayType(mod: *Module, scope: *Scope, array: *zir.Inst.BinOp) InnerError!*Inst { +fn zirArrayType(mod: *Module, scope: *Scope, array: *zir.Inst.BinOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); // TODO these should be lazily evaluated @@ -1043,7 +1069,7 @@ fn analyzeInstArrayType(mod: *Module, scope: *Scope, array: *zir.Inst.BinOp) Inn return mod.constType(scope, array.base.src, try mod.arrayType(scope, len.val.toUnsignedInt(), null, elem_type)); } -fn analyzeInstArrayTypeSentinel(mod: *Module, scope: *Scope, array: *zir.Inst.ArrayTypeSentinel) InnerError!*Inst { +fn zirArrayTypeSentinel(mod: *Module, scope: *Scope, array: *zir.Inst.ArrayTypeSentinel) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); // TODO these should be lazily evaluated @@ -1054,7 +1080,7 @@ fn analyzeInstArrayTypeSentinel(mod: *Module, scope: *Scope, array: *zir.Inst.Ar return mod.constType(scope, array.base.src, try mod.arrayType(scope, len.val.toUnsignedInt(), sentinel.val, elem_type)); } -fn analyzeInstErrorUnionType(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerError!*Inst { +fn zirErrorUnionType(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const error_union = try resolveType(mod, scope, inst.positionals.lhs); @@ -1067,7 +1093,7 @@ fn analyzeInstErrorUnionType(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) return mod.constType(scope, inst.base.src, try mod.errorUnionType(scope, error_union, payload)); } -fn analyzeInstAnyframeType(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerError!*Inst { +fn zirAnyframeType(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const return_type = try resolveType(mod, scope, inst.positionals.operand); @@ -1075,7 +1101,7 @@ fn analyzeInstAnyframeType(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) In return mod.constType(scope, inst.base.src, try mod.anyframeType(scope, return_type)); } -fn analyzeInstErrorSet(mod: *Module, scope: *Scope, inst: *zir.Inst.ErrorSet) InnerError!*Inst { +fn zirErrorSet(mod: *Module, scope: *Scope, inst: *zir.Inst.ErrorSet) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); // The declarations arena will store the hashmap. @@ -1107,13 +1133,13 @@ fn analyzeInstErrorSet(mod: *Module, scope: *Scope, inst: *zir.Inst.ErrorSet) In return mod.analyzeDeclVal(scope, inst.base.src, new_decl); } -fn analyzeInstMergeErrorSets(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerError!*Inst { +fn zirMergeErrorSets(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); return mod.fail(scope, inst.base.src, "TODO implement merge_error_sets", .{}); } -fn analyzeInstEnumLiteral(mod: *Module, scope: *Scope, inst: *zir.Inst.EnumLiteral) InnerError!*Inst { +fn zirEnumLiteral(mod: *Module, scope: *Scope, inst: *zir.Inst.EnumLiteral) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const duped_name = try scope.arena().dupe(u8, inst.positionals.name); @@ -1124,7 +1150,7 @@ fn analyzeInstEnumLiteral(mod: *Module, scope: *Scope, inst: *zir.Inst.EnumLiter } /// Pointer in, pointer out. -fn optionalPayloadPtr( +fn zirOptionalPayloadPtr( mod: *Module, scope: *Scope, unwrap: *zir.Inst.UnOp, @@ -1165,7 +1191,7 @@ fn optionalPayloadPtr( } /// Value in, value out. -fn optionalPayload( +fn zirOptionalPayload( mod: *Module, scope: *Scope, unwrap: *zir.Inst.UnOp, @@ -1201,40 +1227,40 @@ fn optionalPayload( } /// Value in, value out -fn errorUnionPayload(mod: *Module, scope: *Scope, unwrap: *zir.Inst.UnOp, safety_check: bool) InnerError!*Inst { +fn zirErrUnionPayload(mod: *Module, scope: *Scope, unwrap: *zir.Inst.UnOp, safety_check: bool) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); - return mod.fail(scope, unwrap.base.src, "TODO implement zir_sema.errorUnionPayload", .{}); + return mod.fail(scope, unwrap.base.src, "TODO implement zir_sema.zirErrUnionPayload", .{}); } /// Pointer in, pointer out -fn errorUnionPayloadPtr(mod: *Module, scope: *Scope, unwrap: *zir.Inst.UnOp, safety_check: bool) InnerError!*Inst { +fn zirErrUnionPayloadPtr(mod: *Module, scope: *Scope, unwrap: *zir.Inst.UnOp, safety_check: bool) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); - return mod.fail(scope, unwrap.base.src, "TODO implement zir_sema.errorUnionPayloadPtr", .{}); + return mod.fail(scope, unwrap.base.src, "TODO implement zir_sema.zirErrUnionPayloadPtr", .{}); } /// Value in, value out -fn errorUnionCode(mod: *Module, scope: *Scope, unwrap: *zir.Inst.UnOp) InnerError!*Inst { +fn zirErrUnionCode(mod: *Module, scope: *Scope, unwrap: *zir.Inst.UnOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); - return mod.fail(scope, unwrap.base.src, "TODO implement zir_sema.errorUnionCode", .{}); + return mod.fail(scope, unwrap.base.src, "TODO implement zir_sema.zirErrUnionCode", .{}); } /// Pointer in, value out -fn errorUnionCodePtr(mod: *Module, scope: *Scope, unwrap: *zir.Inst.UnOp) InnerError!*Inst { +fn zirErrUnionCodePtr(mod: *Module, scope: *Scope, unwrap: *zir.Inst.UnOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); - return mod.fail(scope, unwrap.base.src, "TODO implement zir_sema.errorUnionCodePtr", .{}); + return mod.fail(scope, unwrap.base.src, "TODO implement zir_sema.zirErrUnionCodePtr", .{}); } -fn analyzeInstEnsureErrPayloadVoid(mod: *Module, scope: *Scope, unwrap: *zir.Inst.UnOp) InnerError!*Inst { +fn zirEnsureErrPayloadVoid(mod: *Module, scope: *Scope, unwrap: *zir.Inst.UnOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); - return mod.fail(scope, unwrap.base.src, "TODO implement analyzeInstEnsureErrPayloadVoid", .{}); + return mod.fail(scope, unwrap.base.src, "TODO implement zirEnsureErrPayloadVoid", .{}); } -fn analyzeInstFnType(mod: *Module, scope: *Scope, fntype: *zir.Inst.FnType) InnerError!*Inst { +fn zirFnType(mod: *Module, scope: *Scope, fntype: *zir.Inst.FnType) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const return_type = try resolveType(mod, scope, fntype.positionals.return_type); @@ -1277,13 +1303,13 @@ fn analyzeInstFnType(mod: *Module, scope: *Scope, fntype: *zir.Inst.FnType) Inne return mod.constType(scope, fntype.base.src, fn_ty); } -fn analyzeInstPrimitive(mod: *Module, scope: *Scope, primitive: *zir.Inst.Primitive) InnerError!*Inst { +fn zirPrimitive(mod: *Module, scope: *Scope, primitive: *zir.Inst.Primitive) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); return mod.constInst(scope, primitive.base.src, primitive.positionals.tag.toTypedValue()); } -fn analyzeInstAs(mod: *Module, scope: *Scope, as: *zir.Inst.BinOp) InnerError!*Inst { +fn zirAs(mod: *Module, scope: *Scope, as: *zir.Inst.BinOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const dest_type = try resolveType(mod, scope, as.positionals.lhs); @@ -1291,7 +1317,7 @@ fn analyzeInstAs(mod: *Module, scope: *Scope, as: *zir.Inst.BinOp) InnerError!*I return mod.coerce(scope, dest_type, new_inst); } -fn analyzeInstPtrToInt(mod: *Module, scope: *Scope, ptrtoint: *zir.Inst.UnOp) InnerError!*Inst { +fn zirPtrtoint(mod: *Module, scope: *Scope, ptrtoint: *zir.Inst.UnOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const ptr = try resolveInst(mod, scope, ptrtoint.positionals.operand); @@ -1304,7 +1330,7 @@ fn analyzeInstPtrToInt(mod: *Module, scope: *Scope, ptrtoint: *zir.Inst.UnOp) In return mod.addUnOp(b, ptrtoint.base.src, ty, .ptrtoint, ptr); } -fn fieldVal(mod: *Module, scope: *Scope, inst: *zir.Inst.Field) InnerError!*Inst { +fn zirFieldVal(mod: *Module, scope: *Scope, inst: *zir.Inst.Field) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); @@ -1315,7 +1341,7 @@ fn fieldVal(mod: *Module, scope: *Scope, inst: *zir.Inst.Field) InnerError!*Inst return mod.analyzeDeref(scope, inst.base.src, result_ptr, result_ptr.src); } -fn fieldPtr(mod: *Module, scope: *Scope, inst: *zir.Inst.Field) InnerError!*Inst { +fn zirFieldPtr(mod: *Module, scope: *Scope, inst: *zir.Inst.Field) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); @@ -1324,7 +1350,7 @@ fn fieldPtr(mod: *Module, scope: *Scope, inst: *zir.Inst.Field) InnerError!*Inst return mod.namedFieldPtr(scope, inst.base.src, object_ptr, field_name, inst.base.src); } -fn fieldValNamed(mod: *Module, scope: *Scope, inst: *zir.Inst.FieldNamed) InnerError!*Inst { +fn zirFieldValNamed(mod: *Module, scope: *Scope, inst: *zir.Inst.FieldNamed) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); @@ -1336,7 +1362,7 @@ fn fieldValNamed(mod: *Module, scope: *Scope, inst: *zir.Inst.FieldNamed) InnerE return mod.analyzeDeref(scope, inst.base.src, result_ptr, result_ptr.src); } -fn fieldPtrNamed(mod: *Module, scope: *Scope, inst: *zir.Inst.FieldNamed) InnerError!*Inst { +fn zirFieldPtrNamed(mod: *Module, scope: *Scope, inst: *zir.Inst.FieldNamed) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); @@ -1346,7 +1372,7 @@ fn fieldPtrNamed(mod: *Module, scope: *Scope, inst: *zir.Inst.FieldNamed) InnerE return mod.namedFieldPtr(scope, inst.base.src, object_ptr, field_name, fsrc); } -fn analyzeInstIntCast(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerError!*Inst { +fn zirIntcast(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const dest_type = try resolveType(mod, scope, inst.positionals.lhs); @@ -1384,7 +1410,7 @@ fn analyzeInstIntCast(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerE return mod.fail(scope, inst.base.src, "TODO implement analyze widen or shorten int", .{}); } -fn analyzeInstBitCast(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerError!*Inst { +fn zirBitcast(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const dest_type = try resolveType(mod, scope, inst.positionals.lhs); @@ -1392,7 +1418,7 @@ fn analyzeInstBitCast(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerE return mod.bitcast(scope, dest_type, operand); } -fn analyzeInstFloatCast(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerError!*Inst { +fn zirFloatcast(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const dest_type = try resolveType(mod, scope, inst.positionals.lhs); @@ -1430,7 +1456,7 @@ fn analyzeInstFloatCast(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) Inne return mod.fail(scope, inst.base.src, "TODO implement analyze widen or shorten float", .{}); } -fn elemVal(mod: *Module, scope: *Scope, inst: *zir.Inst.Elem) InnerError!*Inst { +fn zirElemVal(mod: *Module, scope: *Scope, inst: *zir.Inst.Elem) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); @@ -1441,7 +1467,7 @@ fn elemVal(mod: *Module, scope: *Scope, inst: *zir.Inst.Elem) InnerError!*Inst { return mod.analyzeDeref(scope, inst.base.src, result_ptr, result_ptr.src); } -fn elemPtr(mod: *Module, scope: *Scope, inst: *zir.Inst.Elem) InnerError!*Inst { +fn zirElemPtr(mod: *Module, scope: *Scope, inst: *zir.Inst.Elem) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); @@ -1450,7 +1476,7 @@ fn elemPtr(mod: *Module, scope: *Scope, inst: *zir.Inst.Elem) InnerError!*Inst { return mod.elemPtr(scope, inst.base.src, array_ptr, elem_index); } -fn analyzeInstSlice(mod: *Module, scope: *Scope, inst: *zir.Inst.Slice) InnerError!*Inst { +fn zirSlice(mod: *Module, scope: *Scope, inst: *zir.Inst.Slice) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const array_ptr = try resolveInst(mod, scope, inst.positionals.array_ptr); @@ -1461,7 +1487,7 @@ fn analyzeInstSlice(mod: *Module, scope: *Scope, inst: *zir.Inst.Slice) InnerErr return mod.analyzeSlice(scope, inst.base.src, array_ptr, start, end, sentinel); } -fn analyzeInstSliceStart(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerError!*Inst { +fn zirSliceStart(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const array_ptr = try resolveInst(mod, scope, inst.positionals.lhs); @@ -1470,7 +1496,7 @@ fn analyzeInstSliceStart(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) Inn return mod.analyzeSlice(scope, inst.base.src, array_ptr, start, null, null); } -fn analyzeInstSwitchRange(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerError!*Inst { +fn zirSwitchRange(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const start = try resolveInst(mod, scope, inst.positionals.lhs); @@ -1494,7 +1520,7 @@ fn analyzeInstSwitchRange(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) In return mod.constVoid(scope, inst.base.src); } -fn analyzeInstSwitchBr(mod: *Module, scope: *Scope, inst: *zir.Inst.SwitchBr) InnerError!*Inst { +fn zirSwitchbr(mod: *Module, scope: *Scope, inst: *zir.Inst.SwitchBr) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const target_ptr = try resolveInst(mod, scope, inst.positionals.target_ptr); @@ -1698,7 +1724,7 @@ fn validateSwitch(mod: *Module, scope: *Scope, target: *Inst, inst: *zir.Inst.Sw } } -fn analyzeInstImport(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerError!*Inst { +fn zirImport(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const operand = try resolveConstString(mod, scope, inst.positionals.operand); @@ -1718,19 +1744,19 @@ fn analyzeInstImport(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerErr return mod.constType(scope, inst.base.src, file_scope.root_container.ty); } -fn analyzeInstShl(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerError!*Inst { +fn zirShl(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); - return mod.fail(scope, inst.base.src, "TODO implement analyzeInstShl", .{}); + return mod.fail(scope, inst.base.src, "TODO implement zirShl", .{}); } -fn analyzeInstShr(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerError!*Inst { +fn zirShr(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); - return mod.fail(scope, inst.base.src, "TODO implement analyzeInstShr", .{}); + return mod.fail(scope, inst.base.src, "TODO implement zirShr", .{}); } -fn analyzeInstBitwise(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerError!*Inst { +fn zirBitwise(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); @@ -1784,8 +1810,8 @@ fn analyzeInstBitwise(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerE const b = try mod.requireRuntimeBlock(scope, inst.base.src); const ir_tag = switch (inst.base.tag) { - .bitand => Inst.Tag.bitand, - .bitor => Inst.Tag.bitor, + .bit_and => Inst.Tag.bit_and, + .bit_or => Inst.Tag.bit_or, .xor => Inst.Tag.xor, else => unreachable, }; @@ -1793,25 +1819,25 @@ fn analyzeInstBitwise(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerE return mod.addBinOp(b, inst.base.src, scalar_type, ir_tag, casted_lhs, casted_rhs); } -fn analyzeInstBitNot(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerError!*Inst { +fn zirBitNot(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); - return mod.fail(scope, inst.base.src, "TODO implement analyzeInstBitNot", .{}); + return mod.fail(scope, inst.base.src, "TODO implement zirBitNot", .{}); } -fn analyzeInstArrayCat(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerError!*Inst { +fn zirArrayCat(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); - return mod.fail(scope, inst.base.src, "TODO implement analyzeInstArrayCat", .{}); + return mod.fail(scope, inst.base.src, "TODO implement zirArrayCat", .{}); } -fn analyzeInstArrayMul(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerError!*Inst { +fn zirArrayMul(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); - return mod.fail(scope, inst.base.src, "TODO implement analyzeInstArrayMul", .{}); + return mod.fail(scope, inst.base.src, "TODO implement zirArrayMul", .{}); } -fn analyzeInstArithmetic(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerError!*Inst { +fn zirArithmetic(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); @@ -1912,14 +1938,14 @@ fn analyzeInstComptimeOp(mod: *Module, scope: *Scope, res_type: Type, inst: *zir }); } -fn analyzeInstDeref(mod: *Module, scope: *Scope, deref: *zir.Inst.UnOp) InnerError!*Inst { +fn zirDeref(mod: *Module, scope: *Scope, deref: *zir.Inst.UnOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const ptr = try resolveInst(mod, scope, deref.positionals.operand); return mod.analyzeDeref(scope, deref.base.src, ptr, deref.positionals.operand.src); } -fn analyzeInstAsm(mod: *Module, scope: *Scope, assembly: *zir.Inst.Asm) InnerError!*Inst { +fn zirAsm(mod: *Module, scope: *Scope, assembly: *zir.Inst.Asm) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const return_type = try resolveType(mod, scope, assembly.positionals.return_type); @@ -1960,7 +1986,7 @@ fn analyzeInstAsm(mod: *Module, scope: *Scope, assembly: *zir.Inst.Asm) InnerErr return &inst.base; } -fn analyzeInstCmp( +fn zirCmp( mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp, @@ -2018,14 +2044,14 @@ fn analyzeInstCmp( return mod.fail(scope, inst.base.src, "TODO implement more cmp analysis", .{}); } -fn analyzeInstTypeOf(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerError!*Inst { +fn zirTypeof(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const operand = try resolveInst(mod, scope, inst.positionals.operand); return mod.constType(scope, inst.base.src, operand.ty); } -fn analyzeInstTypeOfPeer(mod: *Module, scope: *Scope, inst: *zir.Inst.TypeOfPeer) InnerError!*Inst { +fn zirTypeofPeer(mod: *Module, scope: *Scope, inst: *zir.Inst.TypeOfPeer) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); var insts_to_res = try mod.gpa.alloc(*ir.Inst, inst.positionals.items.len); @@ -2037,7 +2063,7 @@ fn analyzeInstTypeOfPeer(mod: *Module, scope: *Scope, inst: *zir.Inst.TypeOfPeer return mod.constType(scope, inst.base.src, pt_res); } -fn analyzeInstBoolNot(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerError!*Inst { +fn zirBoolNot(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const uncasted_operand = try resolveInst(mod, scope, inst.positionals.operand); @@ -2050,7 +2076,7 @@ fn analyzeInstBoolNot(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerEr return mod.addUnOp(b, inst.base.src, bool_type, .not, operand); } -fn analyzeInstBoolOp(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerError!*Inst { +fn zirBoolOp(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const bool_type = Type.initTag(.bool); @@ -2059,7 +2085,7 @@ fn analyzeInstBoolOp(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerEr const uncasted_rhs = try resolveInst(mod, scope, inst.positionals.rhs); const rhs = try mod.coerce(scope, bool_type, uncasted_rhs); - const is_bool_or = inst.base.tag == .boolor; + const is_bool_or = inst.base.tag == .bool_or; if (lhs.value()) |lhs_val| { if (rhs.value()) |rhs_val| { @@ -2071,17 +2097,17 @@ fn analyzeInstBoolOp(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerEr } } const b = try mod.requireRuntimeBlock(scope, inst.base.src); - return mod.addBinOp(b, inst.base.src, bool_type, if (is_bool_or) .boolor else .booland, lhs, rhs); + return mod.addBinOp(b, inst.base.src, bool_type, if (is_bool_or) .bool_or else .bool_and, lhs, rhs); } -fn isNull(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp, invert_logic: bool) InnerError!*Inst { +fn zirIsNull(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp, invert_logic: bool) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const operand = try resolveInst(mod, scope, inst.positionals.operand); return mod.analyzeIsNull(scope, inst.base.src, operand, invert_logic); } -fn isNullPtr(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp, invert_logic: bool) InnerError!*Inst { +fn zirIsNullPtr(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp, invert_logic: bool) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const ptr = try resolveInst(mod, scope, inst.positionals.operand); @@ -2089,14 +2115,14 @@ fn isNullPtr(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp, invert_logic: bo return mod.analyzeIsNull(scope, inst.base.src, loaded, invert_logic); } -fn isErr(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerError!*Inst { +fn zirIsErr(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const operand = try resolveInst(mod, scope, inst.positionals.operand); return mod.analyzeIsErr(scope, inst.base.src, operand); } -fn isErrPtr(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerError!*Inst { +fn zirIsErrPtr(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const ptr = try resolveInst(mod, scope, inst.positionals.operand); @@ -2104,7 +2130,7 @@ fn isErrPtr(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerError!*Inst return mod.analyzeIsErr(scope, inst.base.src, loaded); } -fn analyzeInstCondBr(mod: *Module, scope: *Scope, inst: *zir.Inst.CondBr) InnerError!*Inst { +fn zirCondbr(mod: *Module, scope: *Scope, inst: *zir.Inst.CondBr) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const uncasted_cond = try resolveInst(mod, scope, inst.positionals.condition); @@ -2153,7 +2179,7 @@ fn analyzeInstCondBr(mod: *Module, scope: *Scope, inst: *zir.Inst.CondBr) InnerE return mod.addCondBr(parent_block, inst.base.src, cond, then_body, else_body); } -fn analyzeInstUnreachable( +fn zirUnreachable( mod: *Module, scope: *Scope, unreach: *zir.Inst.NoOp, @@ -2170,7 +2196,7 @@ fn analyzeInstUnreachable( } } -fn analyzeInstRet(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerError!*Inst { +fn zirReturn(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const operand = try resolveInst(mod, scope, inst.positionals.operand); @@ -2185,7 +2211,7 @@ fn analyzeInstRet(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerError! return mod.addUnOp(b, inst.base.src, Type.initTag(.noreturn), .ret, operand); } -fn analyzeInstRetVoid(mod: *Module, scope: *Scope, inst: *zir.Inst.NoOp) InnerError!*Inst { +fn zirReturnVoid(mod: *Module, scope: *Scope, inst: *zir.Inst.NoOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const b = try mod.requireFunctionBlock(scope, inst.base.src); @@ -2216,27 +2242,7 @@ fn floatOpAllowed(tag: zir.Inst.Tag) bool { }; } -fn analyzeBreak( - mod: *Module, - scope: *Scope, - src: usize, - zir_block: *zir.Inst.Block, - operand: *Inst, -) InnerError!*Inst { - var opt_block = scope.cast(Scope.Block); - while (opt_block) |block| { - if (block.label) |*label| { - if (label.zir_block == zir_block) { - try label.merges.results.append(mod.gpa, operand); - const b = try mod.requireFunctionBlock(scope, src); - return mod.addBr(b, src, label.merges.block_inst, operand); - } - } - opt_block = block.parent; - } else unreachable; -} - -fn analyzeInstSimplePtrType(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp, mutable: bool, size: std.builtin.TypeInfo.Pointer.Size) InnerError!*Inst { +fn zirSimplePtrType(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp, mutable: bool, size: std.builtin.TypeInfo.Pointer.Size) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); const elem_type = try resolveType(mod, scope, inst.positionals.operand); @@ -2244,7 +2250,7 @@ fn analyzeInstSimplePtrType(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp, m return mod.constType(scope, inst.base.src, ty); } -fn analyzeInstPtrType(mod: *Module, scope: *Scope, inst: *zir.Inst.PtrType) InnerError!*Inst { +fn zirPtrType(mod: *Module, scope: *Scope, inst: *zir.Inst.PtrType) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); // TODO lazy values From 093cbeb018c2df052618bee6602f0f7038327d31 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Thu, 21 Jan 2021 01:30:26 -0700 Subject: [PATCH 28/73] astgen: `@as` with block_ptr result location --- src/astgen.zig | 118 ++++++++++++++++++++++++++++++++++------------- src/zir.zig | 19 +------- src/zir_sema.zig | 11 ----- 3 files changed, 86 insertions(+), 62 deletions(-) diff --git a/src/astgen.zig b/src/astgen.zig index 617937aa82..ee4591ef7c 100644 --- a/src/astgen.zig +++ b/src/astgen.zig @@ -663,11 +663,27 @@ fn varDecl( switch (tree.token_ids[node.mut_token]) { .Keyword_const => { - var resolve_inferred_alloc: ?*zir.Inst = null; // Depending on the type of AST the initialization expression is, we may need an lvalue // or an rvalue as a result location. If it is an rvalue, we can use the instruction as // the variable, no memory location needed. - const result_loc = if (nodeMayNeedMemoryLocation(init_node, scope)) r: { + if (!nodeMayNeedMemoryLocation(init_node, scope)) { + const result_loc: ResultLoc = if (node.getTypeNode()) |type_node| + .{ .ty = try typeExpr(mod, scope, type_node) } + else + .none; + const init_inst = try expr(mod, scope, result_loc, init_node); + const sub_scope = try block_arena.create(Scope.LocalVal); + sub_scope.* = .{ + .parent = scope, + .gen_zir = scope.getGenZIR(), + .name = ident_name, + .inst = init_inst, + }; + return &sub_scope.base; + } + + var resolve_inferred_alloc: ?*zir.Inst = null; + const result_loc = r: { if (node.getTypeNode()) |type_node| { const type_inst = try typeExpr(mod, scope, type_node); const alloc = try addZIRUnOp(mod, scope, name_src, .alloc, type_inst); @@ -677,11 +693,6 @@ fn varDecl( resolve_inferred_alloc = &alloc.base; break :r ResultLoc{ .inferred_ptr = alloc }; } - } else r: { - if (node.getTypeNode()) |type_node| - break :r ResultLoc{ .ty = try typeExpr(mod, scope, type_node) } - else - break :r .none; }; const init_inst = try expr(mod, scope, result_loc, init_node); if (resolve_inferred_alloc) |inst| { @@ -1718,14 +1729,20 @@ fn ifExpr(mod: *Module, scope: *Scope, rl: ResultLoc, if_node: *ast.Node.If) Inn switch (strategy) { .break_void => { if (!then_result.tag.isNoReturn()) { - _ = try addZIRNoOp(mod, then_sub_scope, then_src, .break_void); + _ = try addZirInstTag(mod, then_sub_scope, then_src, .break_void, .{ + .block = block, + }); } if (else_result) |inst| { if (!inst.tag.isNoReturn()) { - _ = try addZIRNoOp(mod, else_sub_scope, else_src, .break_void); + _ = try addZirInstTag(mod, else_sub_scope, else_src, .break_void, .{ + .block = block, + }); } } else { - _ = try addZIRNoOp(mod, else_sub_scope, else_src, .break_void); + _ = try addZirInstTag(mod, else_sub_scope, else_src, .break_void, .{ + .block = block, + }); } assert(!elide_store_to_block_ptr_instructions); try copyBodyNoEliding(&condbr.positionals.then_body, then_scope); @@ -1747,7 +1764,9 @@ fn ifExpr(mod: *Module, scope: *Scope, rl: ResultLoc, if_node: *ast.Node.If) Inn }); } } else { - _ = try addZIRNoOp(mod, else_sub_scope, else_src, .break_void); + _ = try addZirInstTag(mod, else_sub_scope, else_src, .break_void, .{ + .block = block, + }); } if (elide_store_to_block_ptr_instructions) { try copyBodyWithElidedStoreBlockPtr(&condbr.positionals.then_body, then_scope); @@ -2728,31 +2747,30 @@ fn ptrToInt(mod: *Module, scope: *Scope, call: *ast.Node.BuiltinCall) InnerError return addZIRUnOp(mod, scope, src, .ptrtoint, operand); } -fn as(mod: *Module, scope: *Scope, rl: ResultLoc, call: *ast.Node.BuiltinCall) InnerError!*zir.Inst { +fn as( + mod: *Module, + scope: *Scope, + rl: ResultLoc, + call: *ast.Node.BuiltinCall, +) InnerError!*zir.Inst { try ensureBuiltinParamCount(mod, scope, call, 2); const tree = scope.tree(); const src = tree.token_locs[call.builtin_token].start; const params = call.params(); const dest_type = try typeExpr(mod, scope, params[0]); switch (rl) { - .none => return try expr(mod, scope, .{ .ty = dest_type }, params[1]), - .discard => { + .none, .discard, .ref, .ty => { const result = try expr(mod, scope, .{ .ty = dest_type }, params[1]); - _ = try addZIRUnOp(mod, scope, result.src, .ensure_result_non_error, result); - return result; - }, - .ref => { - const result = try expr(mod, scope, .{ .ty = dest_type }, params[1]); - return addZIRUnOp(mod, scope, result.src, .ref, result); - }, - .ty => |result_ty| { - const result = try expr(mod, scope, .{ .ty = dest_type }, params[1]); - return addZIRBinOp(mod, scope, src, .as, result_ty, result); + return rvalue(mod, scope, rl, result); }, + .ptr => |result_ptr| { - const casted_result_ptr = try addZIRBinOp(mod, scope, src, .coerce_result_ptr, dest_type, result_ptr); - return expr(mod, scope, .{ .ptr = casted_result_ptr }, params[1]); + return asRlPtr(mod, scope, rl, src, result_ptr, params[1], dest_type); }, + .block_ptr => |block_scope| { + return asRlPtr(mod, scope, rl, src, block_scope.rl_ptr.?, params[1], dest_type); + }, + .bitcasted_ptr => |bitcasted_ptr| { // TODO here we should be able to resolve the inference; we now have a type for the result. return mod.failTok(scope, call.builtin_token, "TODO implement @as with result location @bitCast", .{}); @@ -2761,13 +2779,47 @@ fn as(mod: *Module, scope: *Scope, rl: ResultLoc, call: *ast.Node.BuiltinCall) I // TODO here we should be able to resolve the inference; we now have a type for the result. return mod.failTok(scope, call.builtin_token, "TODO implement @as with inferred-type result location pointer", .{}); }, - .block_ptr => |block_scope| { - const casted_block_ptr = try addZirInstTag(mod, scope, src, .coerce_result_block_ptr, .{ - .dest_type = dest_type, - .block_ptr = block_scope.rl_ptr.?, - }); - return expr(mod, scope, .{ .ptr = casted_block_ptr }, params[1]); - }, + } +} + +fn asRlPtr( + mod: *Module, + scope: *Scope, + rl: ResultLoc, + src: usize, + result_ptr: *zir.Inst, + operand_node: *ast.Node, + dest_type: *zir.Inst, +) InnerError!*zir.Inst { + // Detect whether this expr() call goes into rvalue() to store the result into the + // result location. If it does, elide the coerce_result_ptr instruction + // as well as the store instruction, instead passing the result as an rvalue. + var as_scope: Scope.GenZIR = .{ + .parent = scope, + .decl = scope.ownerDecl().?, + .arena = scope.arena(), + .instructions = .{}, + }; + defer as_scope.instructions.deinit(mod.gpa); + + as_scope.rl_ptr = try addZIRBinOp(mod, &as_scope.base, src, .coerce_result_ptr, dest_type, result_ptr); + const result = try expr(mod, &as_scope.base, .{ .block_ptr = &as_scope }, operand_node); + const parent_zir = &scope.getGenZIR().instructions; + if (as_scope.rvalue_rl_count == 1) { + // Busted! This expression didn't actually need a pointer. + const expected_len = parent_zir.items.len + as_scope.instructions.items.len - 2; + try parent_zir.ensureCapacity(mod.gpa, expected_len); + for (as_scope.instructions.items) |src_inst| { + switch (src_inst.tag) { + .store_to_block_ptr, .coerce_result_ptr => continue, + else => parent_zir.appendAssumeCapacity(src_inst), + } + } + assert(parent_zir.items.len == expected_len); + return rvalue(mod, scope, rl, result); + } else { + try parent_zir.appendSlice(mod.gpa, as_scope.instructions.items); + return result; } } diff --git a/src/zir.zig b/src/zir.zig index 07fc64b65a..651e5ee3dc 100644 --- a/src/zir.zig +++ b/src/zir.zig @@ -112,10 +112,6 @@ pub const Inst = struct { /// as type coercion from the new element type to the old element type. /// LHS is destination element type, RHS is result pointer. coerce_result_ptr, - /// This instruction does a `coerce_result_ptr` operation on a `Block`'s - /// result location pointer, whose type is inferred by peer type resolution on the - /// `Block`'s corresponding `break` instructions. - coerce_result_block_ptr, /// Emit an error message and fail compilation. compile_error, /// Log compile time variables and emit an error message. @@ -460,7 +456,6 @@ pub const Inst = struct { .decl_ref => DeclRef, .decl_ref_str => DeclRefStr, .decl_val => DeclVal, - .coerce_result_block_ptr => CoerceResultBlockPtr, .compile_log => CompileLog, .loop => Loop, .@"const" => Const, @@ -531,7 +526,6 @@ pub const Inst = struct { .cmp_gt, .cmp_neq, .coerce_result_ptr, - .coerce_result_block_ptr, .@"const", .dbg_stmt, .decl_ref, @@ -771,17 +765,6 @@ pub const Inst = struct { kw_args: struct {}, }; - pub const CoerceResultBlockPtr = struct { - pub const base_tag = Tag.coerce_result_block_ptr; - base: Inst, - - positionals: struct { - dest_type: *Inst, - block_ptr: *Inst, - }, - kw_args: struct {}, - }; - pub const CompileLog = struct { pub const base_tag = Tag.compile_log; base: Inst, @@ -1464,7 +1447,7 @@ const Writer = struct { TypedValue => return stream.print("TypedValue{{ .ty = {}, .val = {}}}", .{ param.ty, param.val }), *IrModule.Decl => return stream.print("Decl({s})", .{param.name}), *Inst.Block => { - const name = self.block_table.get(param).?; + const name = self.block_table.get(param) orelse "!BADREF!"; return stream.print("\"{}\"", .{std.zig.fmtEscapes(name)}); }, *Inst.Loop => { diff --git a/src/zir_sema.zig b/src/zir_sema.zig index ca8255df94..40ea563bb6 100644 --- a/src/zir_sema.zig +++ b/src/zir_sema.zig @@ -43,7 +43,6 @@ pub fn analyzeInst(mod: *Module, scope: *Scope, old_inst: *zir.Inst) InnerError! .breakpoint => return zirBreakpoint(mod, scope, old_inst.castTag(.breakpoint).?), .break_void => return zirBreakVoid(mod, scope, old_inst.castTag(.break_void).?), .call => return zirCall(mod, scope, old_inst.castTag(.call).?), - .coerce_result_block_ptr => return zirCoerceResultBlockPtr(mod, scope, old_inst.castTag(.coerce_result_block_ptr).?), .coerce_result_ptr => return zirCoerceResultPtr(mod, scope, old_inst.castTag(.coerce_result_ptr).?), .compile_error => return zirCompileError(mod, scope, old_inst.castTag(.compile_error).?), .compile_log => return zirCompileLog(mod, scope, old_inst.castTag(.compile_log).?), @@ -265,16 +264,6 @@ fn analyzeConstInst(mod: *Module, scope: *Scope, old_inst: *zir.Inst) InnerError }; } -fn zirCoerceResultBlockPtr( - mod: *Module, - scope: *Scope, - inst: *zir.Inst.CoerceResultBlockPtr, -) InnerError!*Inst { - const tracy = trace(@src()); - defer tracy.end(); - return mod.fail(scope, inst.base.src, "TODO implement zirCoerceResultBlockPtr", .{}); -} - fn zirBitcastRef(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); From 2f992e1bb3ff0beb01bd7763a7937000a88f445e Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Thu, 21 Jan 2021 02:37:58 -0700 Subject: [PATCH 29/73] astgen: const locals that end up being rvalues do not alloc Local variable declarations now detect whether the result location for the initialization expression consumes the result location as a pointer. If it does, then the local is emitted as a LocalPtr. Otherwise it is emitted as a LocalVal. This results in clean, straightforward ZIR code for semantic analysis. --- src/astgen.zig | 87 +++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 69 insertions(+), 18 deletions(-) diff --git a/src/astgen.zig b/src/astgen.zig index ee4591ef7c..296bec1f21 100644 --- a/src/astgen.zig +++ b/src/astgen.zig @@ -682,28 +682,77 @@ fn varDecl( return &sub_scope.base; } - var resolve_inferred_alloc: ?*zir.Inst = null; - const result_loc = r: { - if (node.getTypeNode()) |type_node| { - const type_inst = try typeExpr(mod, scope, type_node); - const alloc = try addZIRUnOp(mod, scope, name_src, .alloc, type_inst); - break :r ResultLoc{ .ptr = alloc }; - } else { - const alloc = try addZIRNoOpT(mod, scope, name_src, .alloc_inferred); - resolve_inferred_alloc = &alloc.base; - break :r ResultLoc{ .inferred_ptr = alloc }; - } + // Detect whether the initialization expression actually uses the + // result location pointer. + var init_scope: Scope.GenZIR = .{ + .parent = scope, + .decl = scope.ownerDecl().?, + .arena = scope.arena(), + .instructions = .{}, }; - const init_inst = try expr(mod, scope, result_loc, init_node); + defer init_scope.instructions.deinit(mod.gpa); + + var resolve_inferred_alloc: ?*zir.Inst = null; + if (node.getTypeNode()) |type_node| { + const type_inst = try typeExpr(mod, &init_scope.base, type_node); + const alloc = try addZIRUnOp(mod, &init_scope.base, name_src, .alloc, type_inst); + init_scope.rl_ptr = alloc; + } else { + const alloc = try addZIRNoOpT(mod, &init_scope.base, name_src, .alloc_inferred); + resolve_inferred_alloc = &alloc.base; + init_scope.rl_ptr = &alloc.base; + } + const init_result_loc: ResultLoc = .{ .block_ptr = &init_scope }; + const init_inst = try expr(mod, &init_scope.base, init_result_loc, init_node); + const parent_zir = &scope.getGenZIR().instructions; + if (init_scope.rvalue_rl_count == 1) { + // Result location pointer not used. We don't need an alloc for this + // const local, and type inference becomes trivial. + // Move the init_scope instructions into the parent scope, eliding + // the alloc instruction and the store_to_block_ptr instruction. + const expected_len = parent_zir.items.len + init_scope.instructions.items.len - 2; + try parent_zir.ensureCapacity(mod.gpa, expected_len); + for (init_scope.instructions.items) |src_inst| { + if (src_inst == init_scope.rl_ptr.?) continue; + if (src_inst.castTag(.store_to_block_ptr)) |store| { + if (store.positionals.lhs == init_scope.rl_ptr.?) continue; + } + parent_zir.appendAssumeCapacity(src_inst); + } + assert(parent_zir.items.len == expected_len); + const sub_scope = try block_arena.create(Scope.LocalVal); + sub_scope.* = .{ + .parent = scope, + .gen_zir = scope.getGenZIR(), + .name = ident_name, + .inst = init_inst, + }; + return &sub_scope.base; + } + // The initialization expression took advantage of the result location + // of the const local. In this case we will create an alloc and a LocalPtr for it. + // Move the init_scope instructions into the parent scope, swapping + // store_to_block_ptr for store_to_inferred_ptr. + const expected_len = parent_zir.items.len + init_scope.instructions.items.len; + try parent_zir.ensureCapacity(mod.gpa, expected_len); + for (init_scope.instructions.items) |src_inst| { + if (src_inst.castTag(.store_to_block_ptr)) |store| { + if (store.positionals.lhs == init_scope.rl_ptr.?) { + src_inst.tag = .store_to_inferred_ptr; + } + } + parent_zir.appendAssumeCapacity(src_inst); + } + assert(parent_zir.items.len == expected_len); if (resolve_inferred_alloc) |inst| { _ = try addZIRUnOp(mod, scope, name_src, .resolve_inferred_alloc, inst); } - const sub_scope = try block_arena.create(Scope.LocalVal); + const sub_scope = try block_arena.create(Scope.LocalPtr); sub_scope.* = .{ .parent = scope, .gen_zir = scope.getGenZIR(), .name = ident_name, - .inst = init_inst, + .ptr = init_scope.rl_ptr.?, }; return &sub_scope.base; }, @@ -2810,13 +2859,15 @@ fn asRlPtr( const expected_len = parent_zir.items.len + as_scope.instructions.items.len - 2; try parent_zir.ensureCapacity(mod.gpa, expected_len); for (as_scope.instructions.items) |src_inst| { - switch (src_inst.tag) { - .store_to_block_ptr, .coerce_result_ptr => continue, - else => parent_zir.appendAssumeCapacity(src_inst), + if (src_inst == as_scope.rl_ptr.?) continue; + if (src_inst.castTag(.store_to_block_ptr)) |store| { + if (store.positionals.lhs == as_scope.rl_ptr.?) continue; } + parent_zir.appendAssumeCapacity(src_inst); } assert(parent_zir.items.len == expected_len); - return rvalue(mod, scope, rl, result); + const casted_result = try addZIRBinOp(mod, scope, result.src, .as, dest_type, result); + return rvalue(mod, scope, rl, casted_result); } else { try parent_zir.appendSlice(mod.gpa, as_scope.instructions.items); return result; From 06bb360dd296288db33844d682188e33116d7ab6 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Thu, 21 Jan 2021 02:46:33 -0700 Subject: [PATCH 30/73] astgen: respect a const local's type annotation --- src/astgen.zig | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/astgen.zig b/src/astgen.zig index 296bec1f21..49f60aa6ba 100644 --- a/src/astgen.zig +++ b/src/astgen.zig @@ -693,10 +693,11 @@ fn varDecl( defer init_scope.instructions.deinit(mod.gpa); var resolve_inferred_alloc: ?*zir.Inst = null; + var opt_type_inst: ?*zir.Inst = null; if (node.getTypeNode()) |type_node| { const type_inst = try typeExpr(mod, &init_scope.base, type_node); - const alloc = try addZIRUnOp(mod, &init_scope.base, name_src, .alloc, type_inst); - init_scope.rl_ptr = alloc; + opt_type_inst = type_inst; + init_scope.rl_ptr = try addZIRUnOp(mod, &init_scope.base, name_src, .alloc, type_inst); } else { const alloc = try addZIRNoOpT(mod, &init_scope.base, name_src, .alloc_inferred); resolve_inferred_alloc = &alloc.base; @@ -720,12 +721,17 @@ fn varDecl( parent_zir.appendAssumeCapacity(src_inst); } assert(parent_zir.items.len == expected_len); + const casted_init = if (opt_type_inst) |type_inst| + try addZIRBinOp(mod, scope, type_inst.src, .as, type_inst, init_inst) + else + init_inst; + const sub_scope = try block_arena.create(Scope.LocalVal); sub_scope.* = .{ .parent = scope, .gen_zir = scope.getGenZIR(), .name = ident_name, - .inst = init_inst, + .inst = casted_init, }; return &sub_scope.base; } @@ -2866,7 +2872,7 @@ fn asRlPtr( parent_zir.appendAssumeCapacity(src_inst); } assert(parent_zir.items.len == expected_len); - const casted_result = try addZIRBinOp(mod, scope, result.src, .as, dest_type, result); + const casted_result = try addZIRBinOp(mod, scope, dest_type.src, .as, dest_type, result); return rvalue(mod, scope, rl, casted_result); } else { try parent_zir.appendSlice(mod.gpa, as_scope.instructions.items); From 588171c30b34426fbb07645aa2625e989f369eec Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Fri, 22 Jan 2021 16:45:09 -0700 Subject: [PATCH 31/73] sema: after block gets peer type resolved, insert type coercions on the break instruction operands. This involves a new TZIR instruction, br_block_flat, which represents a break instruction where the operand is the result of a flat block. See the doc comments on the instructions for more details. How it works: when adding break instructions in semantic analysis, the underlying allocation is slightly padded so that it is the size of a br_block_flat instruction, which allows the break instruction to later be converted without removing instructions inside the parent body. The extra type coercion instructions go into the body of the br_block_flat, and backends are responsible for dispatching the instruction correctly (it should map to the same function calls for related instructions). --- src/Module.zig | 28 +++++++++++++-- src/codegen.zig | 31 +++++++++++------ src/ir.zig | 32 ++++++++++++++++- src/zir.zig | 28 +++++++++++++-- src/zir_sema.zig | 91 ++++++++++++++++++++++++++++++++++++------------ 5 files changed, 171 insertions(+), 39 deletions(-) diff --git a/src/Module.zig b/src/Module.zig index 2dc84a93a9..b7967aacc5 100644 --- a/src/Module.zig +++ b/src/Module.zig @@ -671,14 +671,36 @@ pub const Scope = struct { }; pub const Merges = struct { - results: ArrayListUnmanaged(*Inst), block_inst: *Inst.Block, + /// Separate array list from break_inst_list so that it can be passed directly + /// to resolvePeerTypes. + results: ArrayListUnmanaged(*Inst), + /// Keeps track of the break instructions so that the operand can be replaced + /// if we need to add type coercion at the end of block analysis. + /// Same indexes, capacity, length as `results`. + br_list: ArrayListUnmanaged(*Inst.Br), }; /// For debugging purposes. pub fn dump(self: *Block, mod: Module) void { zir.dumpBlock(mod, self); } + + pub fn makeSubBlock(parent: *Block) Block { + return .{ + .parent = parent, + .inst_table = parent.inst_table, + .func = parent.func, + .owner_decl = parent.owner_decl, + .src_decl = parent.src_decl, + .instructions = .{}, + .arena = parent.arena, + .label = null, + .inlining = parent.inlining, + .is_comptime = parent.is_comptime, + .branch_quota = parent.branch_quota, + }; + } }; /// This is a temporary structure, references to it are valid only @@ -2107,7 +2129,7 @@ pub fn addBr( src: usize, target_block: *Inst.Block, operand: *Inst, -) !*Inst { +) !*Inst.Br { const inst = try scope_block.arena.create(Inst.Br); inst.* = .{ .base = .{ @@ -2119,7 +2141,7 @@ pub fn addBr( .block = target_block, }; try scope_block.instructions.append(self.gpa, &inst.base); - return &inst.base; + return inst; } pub fn addCondBr( diff --git a/src/codegen.zig b/src/codegen.zig index a7b067f7e1..1f5aad8ab8 100644 --- a/src/codegen.zig +++ b/src/codegen.zig @@ -844,6 +844,7 @@ fn Function(comptime arch: std.Target.Cpu.Arch) type { .bit_or => return self.genBitOr(inst.castTag(.bit_or).?), .block => return self.genBlock(inst.castTag(.block).?), .br => return self.genBr(inst.castTag(.br).?), + .br_block_flat => return self.genBrBlockFlat(inst.castTag(.br_block_flat).?), .breakpoint => return self.genBreakpoint(inst.src), .brvoid => return self.genBrVoid(inst.castTag(.brvoid).?), .bool_and => return self.genBoolOp(inst.castTag(.bool_and).?), @@ -2441,17 +2442,14 @@ fn Function(comptime arch: std.Target.Cpu.Arch) type { } } + fn genBrBlockFlat(self: *Self, parent_inst: *ir.Inst.BrBlockFlat) !MCValue { + try self.genBody(parent_inst.body); + const last = parent_inst.body.instructions[parent_inst.body.instructions.len - 1]; + return self.br(parent_inst.base.src, parent_inst.block, last); + } + fn genBr(self: *Self, inst: *ir.Inst.Br) !MCValue { - if (inst.operand.ty.hasCodeGenBits()) { - const operand = try self.resolveInst(inst.operand); - const block_mcv = @bitCast(MCValue, inst.block.codegen.mcv); - if (block_mcv == .none) { - inst.block.codegen.mcv = @bitCast(AnyMCValue, operand); - } else { - try self.setRegOrMem(inst.base.src, inst.block.base.ty, block_mcv, operand); - } - } - return self.brVoid(inst.base.src, inst.block); + return self.br(inst.base.src, inst.block, inst.operand); } fn genBrVoid(self: *Self, inst: *ir.Inst.BrVoid) !MCValue { @@ -2478,6 +2476,19 @@ fn Function(comptime arch: std.Target.Cpu.Arch) type { } } + fn br(self: *Self, src: usize, block: *ir.Inst.Block, operand: *ir.Inst) !MCValue { + if (operand.ty.hasCodeGenBits()) { + const operand_mcv = try self.resolveInst(operand); + const block_mcv = @bitCast(MCValue, block.codegen.mcv); + if (block_mcv == .none) { + block.codegen.mcv = @bitCast(AnyMCValue, operand_mcv); + } else { + try self.setRegOrMem(src, block.base.ty, block_mcv, operand_mcv); + } + } + return self.brVoid(src, block); + } + fn brVoid(self: *Self, src: usize, block: *ir.Inst.Block) !MCValue { // Emit a jump with a relocation. It will be patched up after the block ends. try block.codegen.relocs.ensureCapacity(self.gpa, block.codegen.relocs.items.len + 1); diff --git a/src/ir.zig b/src/ir.zig index b1147871f4..4d421dda4c 100644 --- a/src/ir.zig +++ b/src/ir.zig @@ -61,6 +61,13 @@ pub const Inst = struct { bit_or, block, br, + /// Same as `br` except the operand is a list of instructions to be treated as + /// a flat block; that is there is only 1 break instruction from the block, and + /// it is implied to be after the last instruction, and the last instruction is + /// the break operand. + /// This instruction exists for late-stage semantic analysis patch ups, to + /// replace one br operand with multiple instructions, without moving anything else around. + br_block_flat, breakpoint, brvoid, call, @@ -158,6 +165,7 @@ pub const Inst = struct { .assembly => Assembly, .block => Block, .br => Br, + .br_block_flat => BrBlockFlat, .brvoid => BrVoid, .call => Call, .condbr => CondBr, @@ -252,6 +260,7 @@ pub const Inst = struct { return switch (base.tag) { .br => base.castTag(.br).?.block, .brvoid => base.castTag(.brvoid).?.block, + .br_block_flat => base.castTag(.br_block_flat).?.block, else => null, }; } @@ -355,6 +364,27 @@ pub const Inst = struct { } }; + pub const convertable_br_size = std.math.max(@sizeOf(BrBlockFlat), @sizeOf(Br)); + pub const convertable_br_align = std.math.max(@alignOf(BrBlockFlat), @alignOf(Br)); + comptime { + assert(@byteOffsetOf(BrBlockFlat, "base") == @byteOffsetOf(Br, "base")); + } + + pub const BrBlockFlat = struct { + pub const base_tag = Tag.br_block_flat; + + base: Inst, + block: *Block, + body: Body, + + pub fn operandCount(self: *const BrBlockFlat) usize { + return 0; + } + pub fn getOperand(self: *const BrBlockFlat, index: usize) ?*Inst { + return null; + } + }; + pub const Br = struct { pub const base_tag = Tag.br; @@ -363,7 +393,7 @@ pub const Inst = struct { operand: *Inst, pub fn operandCount(self: *const Br) usize { - return 0; + return 1; } pub fn getOperand(self: *const Br, index: usize) ?*Inst { if (index == 0) diff --git a/src/zir.zig b/src/zir.zig index 651e5ee3dc..301b52efc0 100644 --- a/src/zir.zig +++ b/src/zir.zig @@ -1634,6 +1634,12 @@ const DumpTzir = struct { try dtz.findConst(br.operand); }, + .br_block_flat => { + const br_block_flat = inst.castTag(.br_block_flat).?; + try dtz.findConst(&br_block_flat.block.base); + try dtz.fetchInstsAndResolveConsts(br_block_flat.body); + }, + .brvoid => { const brvoid = inst.castTag(.brvoid).?; try dtz.findConst(&brvoid.block.base); @@ -1779,6 +1785,24 @@ const DumpTzir = struct { } }, + .br_block_flat => { + const br_block_flat = inst.castTag(.br_block_flat).?; + const block_kinky = try dtz.writeInst(writer, &br_block_flat.block.base); + if (block_kinky != null) { + try writer.writeAll(", { // Instruction does not dominate all uses!\n"); + } else { + try writer.writeAll(", {\n"); + } + + const old_indent = dtz.indent; + dtz.indent += 2; + try dtz.dumpBody(br_block_flat.body, writer); + dtz.indent = old_indent; + + try writer.writeByteNTimes(' ', dtz.indent); + try writer.writeAll("})\n"); + }, + .brvoid => { const brvoid = inst.castTag(.brvoid).?; const kinky = try dtz.writeInst(writer, &brvoid.block.base); @@ -1792,7 +1816,7 @@ const DumpTzir = struct { .block => { const block = inst.castTag(.block).?; - try writer.writeAll("\n"); + try writer.writeAll("{\n"); const old_indent = dtz.indent; dtz.indent += 2; @@ -1800,7 +1824,7 @@ const DumpTzir = struct { dtz.indent = old_indent; try writer.writeByteNTimes(' ', dtz.indent); - try writer.writeAll(")\n"); + try writer.writeAll("})\n"); }, .condbr => { diff --git a/src/zir_sema.zig b/src/zir_sema.zig index 40ea563bb6..0297b9873a 100644 --- a/src/zir_sema.zig +++ b/src/zir_sema.zig @@ -664,20 +664,9 @@ fn zirBlockFlat(mod: *Module, scope: *Scope, inst: *zir.Inst.Block, is_comptime: defer tracy.end(); const parent_block = scope.cast(Scope.Block).?; - var child_block: Scope.Block = .{ - .parent = parent_block, - .inst_table = parent_block.inst_table, - .func = parent_block.func, - .owner_decl = parent_block.owner_decl, - .src_decl = parent_block.src_decl, - .instructions = .{}, - .arena = parent_block.arena, - .label = null, - .inlining = parent_block.inlining, - .is_comptime = parent_block.is_comptime or is_comptime, - .branch_quota = parent_block.branch_quota, - }; + var child_block = parent_block.makeSubBlock(); defer child_block.instructions.deinit(mod.gpa); + child_block.is_comptime = child_block.is_comptime or is_comptime; try analyzeBody(mod, &child_block, inst.positionals.body); @@ -728,6 +717,7 @@ fn zirBlock( .zir_block = inst, .merges = .{ .results = .{}, + .br_list = .{}, .block_inst = block_inst, }, }), @@ -739,6 +729,7 @@ fn zirBlock( defer child_block.instructions.deinit(mod.gpa); defer merges.results.deinit(mod.gpa); + defer merges.br_list.deinit(mod.gpa); try analyzeBody(mod, &child_block, inst.positionals.body); @@ -772,22 +763,53 @@ fn analyzeBlockBody( const last_inst = child_block.instructions.items[last_inst_index]; if (last_inst.breakBlock()) |br_block| { if (br_block == merges.block_inst) { - // No need for a block instruction. We can put the new instructions directly into the parent block. - // Here we omit the break instruction. + // No need for a block instruction. We can put the new instructions directly + // into the parent block. Here we omit the break instruction. const copied_instructions = try parent_block.arena.dupe(*Inst, child_block.instructions.items[0..last_inst_index]); try parent_block.instructions.appendSlice(mod.gpa, copied_instructions); return merges.results.items[0]; } } } - // It should be impossible to have the number of results be > 1 in a comptime scope. - assert(!child_block.is_comptime); // We should have already got a compile error in the condbr condition. + // It is impossible to have the number of results be > 1 in a comptime scope. + assert(!child_block.is_comptime); // Should already got a compile error in the condbr condition. // Need to set the type and emit the Block instruction. This allows machine code generation // to emit a jump instruction to after the block when it encounters the break. try parent_block.instructions.append(mod.gpa, &merges.block_inst.base); - merges.block_inst.base.ty = try mod.resolvePeerTypes(scope, merges.results.items); - merges.block_inst.body = .{ .instructions = try parent_block.arena.dupe(*Inst, child_block.instructions.items) }; + const resolved_ty = try mod.resolvePeerTypes(scope, merges.results.items); + merges.block_inst.base.ty = resolved_ty; + merges.block_inst.body = .{ + .instructions = try parent_block.arena.dupe(*Inst, child_block.instructions.items), + }; + // Now that the block has its type resolved, we need to go back into all the break + // instructions, and insert type coercion on the operands. + for (merges.br_list.items) |br| { + if (br.operand.ty.eql(resolved_ty)) { + // No type coercion needed. + continue; + } + var coerce_block = parent_block.makeSubBlock(); + defer coerce_block.instructions.deinit(mod.gpa); + const coerced_operand = try mod.coerce(&coerce_block.base, resolved_ty, br.operand); + assert(coerce_block.instructions.items[coerce_block.instructions.items.len - 1] == coerced_operand); + // Here we depend on the br instruction having been over-allocated (if necessary) + // inide analyzeBreak so that it can be converted into a br_block_flat instruction. + const br_src = br.base.src; + const br_ty = br.base.ty; + const br_block_flat = @ptrCast(*Inst.BrBlockFlat, br); + br_block_flat.* = .{ + .base = .{ + .src = br_src, + .ty = br_ty, + .tag = .br_block_flat, + }, + .block = merges.block_inst, + .body = .{ + .instructions = try parent_block.arena.dupe(*Inst, coerce_block.instructions.items), + }, + }; + } return &merges.block_inst.base; } @@ -827,9 +849,28 @@ fn analyzeBreak( while (opt_block) |block| { if (block.label) |*label| { if (label.zir_block == zir_block) { - try label.merges.results.append(mod.gpa, operand); const b = try mod.requireFunctionBlock(scope, src); - return mod.addBr(b, src, label.merges.block_inst, operand); + // Here we add a br instruction, but we over-allocate a little bit + // (if necessary) to make it possible to convert the instruction into + // a br_block_flat instruction later. + const br = @ptrCast(*Inst.Br, try b.arena.alignedAlloc( + u8, + Inst.convertable_br_align, + Inst.convertable_br_size, + )); + br.* = .{ + .base = .{ + .tag = .br, + .ty = Type.initTag(.noreturn), + .src = src, + }, + .operand = operand, + .block = label.merges.block_inst, + }; + try b.instructions.append(mod.gpa, &br.base); + try label.merges.results.append(mod.gpa, operand); + try label.merges.br_list.append(mod.gpa, br); + return &br.base; } } opt_block = block.parent; @@ -980,6 +1021,7 @@ fn zirCall(mod: *Module, scope: *Scope, inst: *zir.Inst.Call) InnerError!*Inst { .casted_args = casted_args, .merges = .{ .results = .{}, + .br_list = .{}, .block_inst = block_inst, }, }; @@ -1004,6 +1046,7 @@ fn zirCall(mod: *Module, scope: *Scope, inst: *zir.Inst.Call) InnerError!*Inst { defer child_block.instructions.deinit(mod.gpa); defer merges.results.deinit(mod.gpa); + defer merges.br_list.deinit(mod.gpa); try mod.emitBackwardBranch(&child_block, inst.base.src); @@ -2194,7 +2237,8 @@ fn zirReturn(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerError!*Inst if (b.inlining) |inlining| { // We are inlining a function call; rewrite the `ret` as a `break`. try inlining.merges.results.append(mod.gpa, operand); - return mod.addBr(b, inst.base.src, inlining.merges.block_inst, operand); + const br = try mod.addBr(b, inst.base.src, inlining.merges.block_inst, operand); + return &br.base; } return mod.addUnOp(b, inst.base.src, Type.initTag(.noreturn), .ret, operand); @@ -2208,7 +2252,8 @@ fn zirReturnVoid(mod: *Module, scope: *Scope, inst: *zir.Inst.NoOp) InnerError!* // We are inlining a function call; rewrite the `retvoid` as a `breakvoid`. const void_inst = try mod.constVoid(scope, inst.base.src); try inlining.merges.results.append(mod.gpa, void_inst); - return mod.addBr(b, inst.base.src, inlining.merges.block_inst, void_inst); + const br = try mod.addBr(b, inst.base.src, inlining.merges.block_inst, void_inst); + return &br.base; } if (b.func) |func| { From 6c8985fceeeb6314143691570cf0c7a42521e590 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sun, 24 Jan 2021 20:23:37 -0700 Subject: [PATCH 32/73] astgen: rework labeled blocks --- src/Module.zig | 23 +++-- src/astgen.zig | 249 ++++++++++++++++++++++++++++++----------------- src/codegen.zig | 10 +- src/ir.zig | 8 +- src/zir.zig | 19 ++-- src/zir_sema.zig | 3 + 6 files changed, 200 insertions(+), 112 deletions(-) diff --git a/src/Module.zig b/src/Module.zig index b7967aacc5..0bafc72e6b 100644 --- a/src/Module.zig +++ b/src/Module.zig @@ -717,7 +717,7 @@ pub const Scope = struct { label: ?Label = null, break_block: ?*zir.Inst.Block = null, continue_block: ?*zir.Inst.Block = null, - /// only valid if label != null or (continue_block and break_block) != null + /// Only valid when setBlockResultLoc is called. break_result_loc: astgen.ResultLoc = undefined, /// When a block has a pointer result location, here it is. rl_ptr: ?*zir.Inst = null, @@ -726,6 +726,17 @@ pub const Scope = struct { /// whether to rely on break instructions or writing to the result /// pointer for the result instruction. rvalue_rl_count: usize = 0, + /// Keeps track of how many break instructions there are. When astgen is finished + /// with a block, it can check this against rvalue_rl_count to find out whether + /// the break instructions should be downgraded to break_void. + break_count: usize = 0, + /// Tracks `break :foo bar` instructions so they can possibly be elided later if + /// the labeled block ends up not needing a result location pointer. + labeled_breaks: std.ArrayListUnmanaged(*zir.Inst.Break) = .{}, + /// Tracks `store_to_block_ptr` instructions that correspond to break instructions + /// so they can possibly be elided later if the labeled block ends up not needing + /// a result location pointer. + labeled_store_to_block_ptr_list: std.ArrayListUnmanaged(*zir.Inst.BinOp) = .{}, pub const Label = struct { token: ast.TokenIndex, @@ -3495,18 +3506,18 @@ pub fn addSafetyCheck(mod: *Module, parent_block: *Scope.Block, ok: *Inst, panic }; const ok_body: ir.Body = .{ - .instructions = try parent_block.arena.alloc(*Inst, 1), // Only need space for the brvoid. + .instructions = try parent_block.arena.alloc(*Inst, 1), // Only need space for the br_void. }; - const brvoid = try parent_block.arena.create(Inst.BrVoid); - brvoid.* = .{ + const br_void = try parent_block.arena.create(Inst.BrVoid); + br_void.* = .{ .base = .{ - .tag = .brvoid, + .tag = .br_void, .ty = Type.initTag(.noreturn), .src = ok.src, }, .block = block_inst, }; - ok_body.instructions[0] = &brvoid.base; + ok_body.instructions[0] = &br_void.base; var fail_block: Scope.Block = .{ .parent = parent_block, diff --git a/src/astgen.zig b/src/astgen.zig index 49f60aa6ba..994205c3a7 100644 --- a/src/astgen.zig +++ b/src/astgen.zig @@ -38,6 +38,21 @@ pub const ResultLoc = union(enum) { /// is inferred based on peer type resolution for a `zir.Inst.Block`. /// The result instruction from the expression must be ignored. block_ptr: *Module.Scope.GenZIR, + + pub const Strategy = struct { + elide_store_to_block_ptr_instructions: bool, + tag: Tag, + + pub const Tag = enum { + /// Both branches will use break_void; result location is used to communicate the + /// result instruction. + break_void, + /// Use break statements to pass the block result value, and call rvalue() at + /// the end depending on rl. Also elide the store_to_block_ptr instructions + /// depending on rl. + break_operand, + }; + }; }; pub fn typeExpr(mod: *Module, scope: *Scope, type_node: *ast.Node) InnerError!*zir.Inst { @@ -348,10 +363,11 @@ pub fn comptimeExpr(mod: *Module, parent_scope: *Scope, rl: ResultLoc, node: *as return &block.base; } -fn breakExpr(mod: *Module, parent_scope: *Scope, node: *ast.Node.ControlFlowExpression) InnerError!*zir.Inst { - if (true) { - @panic("TODO reimplement this"); - } +fn breakExpr( + mod: *Module, + parent_scope: *Scope, + node: *ast.Node.ControlFlowExpression, +) InnerError!*zir.Inst { const tree = parent_scope.tree(); const src = tree.token_locs[node.ltoken].start; @@ -377,25 +393,31 @@ fn breakExpr(mod: *Module, parent_scope: *Scope, node: *ast.Node.ControlFlowExpr continue; }; - if (node.getRHS()) |rhs| { - // Most result location types can be forwarded directly; however - // if we need to write to a pointer which has an inferred type, - // proper type inference requires peer type resolution on the block's - // break operand expressions. - const branch_rl: ResultLoc = switch (gen_zir.break_result_loc) { - .discard, .none, .ty, .ptr, .ref => gen_zir.break_result_loc, - .inferred_ptr, .bitcasted_ptr, .block_ptr => .{ .block_ptr = block_inst }, - }; - const operand = try expr(mod, parent_scope, branch_rl, rhs); - return try addZIRInst(mod, parent_scope, src, zir.Inst.Break, .{ + const rhs = node.getRHS() orelse { + return addZirInstTag(mod, parent_scope, src, .break_void, .{ .block = block_inst, - .operand = operand, - }, .{}); - } else { - return try addZIRInst(mod, parent_scope, src, zir.Inst.BreakVoid, .{ - .block = block_inst, - }, .{}); + }); + }; + gen_zir.break_count += 1; + const prev_rvalue_rl_count = gen_zir.rvalue_rl_count; + const operand = try expr(mod, parent_scope, gen_zir.break_result_loc, rhs); + const have_store_to_block = gen_zir.rvalue_rl_count != prev_rvalue_rl_count; + const br = try addZirInstTag(mod, parent_scope, src, .@"break", .{ + .block = block_inst, + .operand = operand, + }); + if (gen_zir.break_result_loc == .block_ptr) { + try gen_zir.labeled_breaks.append(mod.gpa, br.castTag(.@"break").?); + + if (have_store_to_block) { + const inst_list = parent_scope.cast(Scope.GenZIR).?.instructions.items; + const last_inst = inst_list[inst_list.len - 2]; + const store_inst = last_inst.castTag(.store_to_block_ptr).?; + assert(store_inst.positionals.lhs == gen_zir.rl_ptr.?); + try gen_zir.labeled_store_to_block_ptr_list.append(mod.gpa, store_inst); + } } + return br; }, .local_val => scope = scope.cast(Scope.LocalVal).?.parent, .local_ptr => scope = scope.cast(Scope.LocalPtr).?.parent, @@ -538,7 +560,6 @@ fn labeledBlockExpr( .decl = parent_scope.ownerDecl().?, .arena = gen_zir.arena, .instructions = .{}, - .break_result_loc = rl, // TODO @as here is working around a stage1 miscompilation bug :( .label = @as(?Scope.GenZIR.Label, Scope.GenZIR.Label{ .token = block_node.label, @@ -546,19 +567,57 @@ fn labeledBlockExpr( }), }; defer block_scope.instructions.deinit(mod.gpa); + defer block_scope.labeled_breaks.deinit(mod.gpa); + defer block_scope.labeled_store_to_block_ptr_list.deinit(mod.gpa); + + setBlockResultLoc(&block_scope, rl); try blockExprStmts(mod, &block_scope.base, &block_node.base, block_node.statements()); + if (!block_scope.label.?.used) { return mod.fail(parent_scope, tree.token_locs[block_node.label].start, "unused block label", .{}); } - block_inst.positionals.body.instructions = try block_scope.arena.dupe(*zir.Inst, block_scope.instructions.items); try gen_zir.instructions.append(mod.gpa, &block_inst.base); - return &block_inst.base; + const strat = rlStrategy(rl, &block_scope); + switch (strat.tag) { + .break_void => { + // The code took advantage of the result location as a pointer. + // Turn the break instructions into break_void instructions. + for (block_scope.labeled_breaks.items) |br| { + br.base.tag = .break_void; + } + // TODO technically not needed since we changed the tag to break_void but + // would be better still to elide the ones that are in this list. + try copyBodyNoEliding(&block_inst.positionals.body, block_scope); + + return &block_inst.base; + }, + .break_operand => { + // All break operands are values that did not use the result location pointer. + if (strat.elide_store_to_block_ptr_instructions) { + for (block_scope.labeled_store_to_block_ptr_list.items) |inst| { + inst.base.tag = .void_value; + } + // TODO technically not needed since we changed the tag to void_value but + // would be better still to elide the ones that are in this list. + } + try copyBodyNoEliding(&block_inst.positionals.body, block_scope); + switch (rl) { + .ref => return &block_inst.base, + else => return rvalue(mod, parent_scope, rl, &block_inst.base), + } + }, + } } -fn blockExprStmts(mod: *Module, parent_scope: *Scope, node: *ast.Node, statements: []*ast.Node) !void { +fn blockExprStmts( + mod: *Module, + parent_scope: *Scope, + node: *ast.Node, + statements: []*ast.Node, +) !void { const tree = parent_scope.tree(); var block_arena = std.heap.ArenaAllocator.init(mod.gpa); @@ -1659,7 +1718,6 @@ fn ifExpr(mod: *Module, scope: *Scope, rl: ResultLoc, if_node: *ast.Node.If) Inn cond_kind = .{ .err_union = null }; } } - const block_branch_count = 2; // then and else var block_scope: Scope.GenZIR = .{ .parent = scope, .decl = scope.ownerDecl().?, @@ -1668,6 +1726,8 @@ fn ifExpr(mod: *Module, scope: *Scope, rl: ResultLoc, if_node: *ast.Node.If) Inn }; defer block_scope.instructions.deinit(mod.gpa); + setBlockResultLoc(&block_scope, rl); + const tree = scope.tree(); const if_src = tree.token_locs[if_node.if_token].start; const cond = try cond_kind.cond(mod, &block_scope, if_src, if_node.condition); @@ -1682,33 +1742,6 @@ fn ifExpr(mod: *Module, scope: *Scope, rl: ResultLoc, if_node: *ast.Node.If) Inn .instructions = try block_scope.arena.dupe(*zir.Inst, block_scope.instructions.items), }); - // Depending on whether the result location is a pointer or value, different - // ZIR needs to be generated. In the former case we rely on storing to the - // pointer to communicate the result, and use breakvoid; in the latter case - // the block break instructions will have the result values. - // One more complication: when the result location is a pointer, we detect - // the scenario where the result location is not consumed. In this case - // we emit ZIR for the block break instructions to have the result values, - // and then rvalue() on that to pass the value to the result location. - const branch_rl: ResultLoc = switch (rl) { - .discard, .none, .ty, .ptr, .ref => rl, - - .inferred_ptr => |ptr| blk: { - block_scope.rl_ptr = &ptr.base; - break :blk .{ .block_ptr = &block_scope }; - }, - - .bitcasted_ptr => |ptr| blk: { - block_scope.rl_ptr = &ptr.base; - break :blk .{ .block_ptr = &block_scope }; - }, - - .block_ptr => |parent_block_scope| blk: { - block_scope.rl_ptr = parent_block_scope.rl_ptr.?; - break :blk .{ .block_ptr = &block_scope }; - }, - }; - const then_src = tree.token_locs[if_node.body.lastToken()].start; var then_scope: Scope.GenZIR = .{ .parent = scope, @@ -1721,7 +1754,8 @@ fn ifExpr(mod: *Module, scope: *Scope, rl: ResultLoc, if_node: *ast.Node.If) Inn // declare payload to the then_scope const then_sub_scope = try cond_kind.thenSubScope(mod, &then_scope, then_src, if_node.payload); - const then_result = try expr(mod, then_sub_scope, branch_rl, if_node.body); + block_scope.break_count += 1; + const then_result = try expr(mod, then_sub_scope, block_scope.break_result_loc, if_node.body); // We hold off on the break instructions as well as copying the then/else // instructions into place until we know whether to keep store_to_block_ptr // instructions or not. @@ -1741,47 +1775,18 @@ fn ifExpr(mod: *Module, scope: *Scope, rl: ResultLoc, if_node: *ast.Node.If) Inn // declare payload to the then_scope else_sub_scope = try cond_kind.elseSubScope(mod, &else_scope, else_src, else_node.payload); - break :blk try expr(mod, else_sub_scope, branch_rl, else_node.body); + block_scope.break_count += 1; + break :blk try expr(mod, else_sub_scope, block_scope.break_result_loc, else_node.body); } else blk: { else_src = tree.token_locs[if_node.lastToken()].start; else_sub_scope = &else_scope.base; - block_scope.rvalue_rl_count += 1; break :blk null; }; // We now have enough information to decide whether the result instruction should // be communicated via result location pointer or break instructions. - const Strategy = enum { - /// Both branches will use break_void; result location is used to communicate the - /// result instruction. - break_void, - /// Use break statements to pass the block result value, and call rvalue() at - /// the end depending on rl. Also elide the store_to_block_ptr instructions - /// depending on rl. - break_operand, - }; - var elide_store_to_block_ptr_instructions = false; - const strategy: Strategy = switch (rl) { - // In this branch there will not be any store_to_block_ptr instructions. - .discard, .none, .ty, .ref => .break_operand, - // The pointer got passed through to the sub-expressions, so we will use - // break_void here. - // In this branch there will not be any store_to_block_ptr instructions. - .ptr => .break_void, - .inferred_ptr, .bitcasted_ptr, .block_ptr => blk: { - if (block_scope.rvalue_rl_count == 2) { - // Neither prong of the if consumed the result location, so we can - // use break instructions to create an rvalue. - elide_store_to_block_ptr_instructions = true; - break :blk Strategy.break_operand; - } else { - // Allow the store_to_block_ptr instructions to remain so that - // semantic analysis can turn them into bitcasts. - break :blk Strategy.break_void; - } - }, - }; - switch (strategy) { + const strat = rlStrategy(rl, &block_scope); + switch (strat.tag) { .break_void => { if (!then_result.tag.isNoReturn()) { _ = try addZirInstTag(mod, then_sub_scope, then_src, .break_void, .{ @@ -1799,7 +1804,7 @@ fn ifExpr(mod: *Module, scope: *Scope, rl: ResultLoc, if_node: *ast.Node.If) Inn .block = block, }); } - assert(!elide_store_to_block_ptr_instructions); + assert(!strat.elide_store_to_block_ptr_instructions); try copyBodyNoEliding(&condbr.positionals.then_body, then_scope); try copyBodyNoEliding(&condbr.positionals.else_body, else_scope); return &block.base; @@ -1823,7 +1828,7 @@ fn ifExpr(mod: *Module, scope: *Scope, rl: ResultLoc, if_node: *ast.Node.If) Inn .block = block, }); } - if (elide_store_to_block_ptr_instructions) { + if (strat.elide_store_to_block_ptr_instructions) { try copyBodyWithElidedStoreBlockPtr(&condbr.positionals.then_body, then_scope); try copyBodyWithElidedStoreBlockPtr(&condbr.positionals.else_body, else_scope); } else { @@ -3376,6 +3381,72 @@ fn rvalueVoid(mod: *Module, scope: *Scope, rl: ResultLoc, node: *ast.Node, resul return rvalue(mod, scope, rl, void_inst); } +fn rlStrategy(rl: ResultLoc, block_scope: *Scope.GenZIR) ResultLoc.Strategy { + var elide_store_to_block_ptr_instructions = false; + switch (rl) { + // In this branch there will not be any store_to_block_ptr instructions. + .discard, .none, .ty, .ref => return .{ + .tag = .break_operand, + .elide_store_to_block_ptr_instructions = false, + }, + // The pointer got passed through to the sub-expressions, so we will use + // break_void here. + // In this branch there will not be any store_to_block_ptr instructions. + .ptr => return .{ + .tag = .break_void, + .elide_store_to_block_ptr_instructions = false, + }, + .inferred_ptr, .bitcasted_ptr, .block_ptr => { + if (block_scope.rvalue_rl_count == block_scope.break_count) { + // Neither prong of the if consumed the result location, so we can + // use break instructions to create an rvalue. + return .{ + .tag = .break_operand, + .elide_store_to_block_ptr_instructions = true, + }; + } else { + // Allow the store_to_block_ptr instructions to remain so that + // semantic analysis can turn them into bitcasts. + return .{ + .tag = .break_void, + .elide_store_to_block_ptr_instructions = false, + }; + } + }, + } +} + +fn setBlockResultLoc(block_scope: *Scope.GenZIR, parent_rl: ResultLoc) void { + // Depending on whether the result location is a pointer or value, different + // ZIR needs to be generated. In the former case we rely on storing to the + // pointer to communicate the result, and use breakvoid; in the latter case + // the block break instructions will have the result values. + // One more complication: when the result location is a pointer, we detect + // the scenario where the result location is not consumed. In this case + // we emit ZIR for the block break instructions to have the result values, + // and then rvalue() on that to pass the value to the result location. + switch (parent_rl) { + .discard, .none, .ty, .ptr, .ref => { + block_scope.break_result_loc = parent_rl; + }, + + .inferred_ptr => |ptr| { + block_scope.rl_ptr = &ptr.base; + block_scope.break_result_loc = .{ .block_ptr = block_scope }; + }, + + .bitcasted_ptr => |ptr| { + block_scope.rl_ptr = &ptr.base; + block_scope.break_result_loc = .{ .block_ptr = block_scope }; + }, + + .block_ptr => |parent_block_scope| { + block_scope.rl_ptr = parent_block_scope.rl_ptr.?; + block_scope.break_result_loc = .{ .block_ptr = block_scope }; + }, + } +} + pub fn addZirInstTag( mod: *Module, scope: *Scope, diff --git a/src/codegen.zig b/src/codegen.zig index 1f5aad8ab8..362b04ab26 100644 --- a/src/codegen.zig +++ b/src/codegen.zig @@ -846,7 +846,7 @@ fn Function(comptime arch: std.Target.Cpu.Arch) type { .br => return self.genBr(inst.castTag(.br).?), .br_block_flat => return self.genBrBlockFlat(inst.castTag(.br_block_flat).?), .breakpoint => return self.genBreakpoint(inst.src), - .brvoid => return self.genBrVoid(inst.castTag(.brvoid).?), + .br_void => return self.genBrVoid(inst.castTag(.br_void).?), .bool_and => return self.genBoolOp(inst.castTag(.bool_and).?), .bool_or => return self.genBoolOp(inst.castTag(.bool_or).?), .call => return self.genCall(inst.castTag(.call).?), @@ -2442,10 +2442,10 @@ fn Function(comptime arch: std.Target.Cpu.Arch) type { } } - fn genBrBlockFlat(self: *Self, parent_inst: *ir.Inst.BrBlockFlat) !MCValue { - try self.genBody(parent_inst.body); - const last = parent_inst.body.instructions[parent_inst.body.instructions.len - 1]; - return self.br(parent_inst.base.src, parent_inst.block, last); + fn genBrBlockFlat(self: *Self, inst: *ir.Inst.BrBlockFlat) !MCValue { + try self.genBody(inst.body); + const last = inst.body.instructions[inst.body.instructions.len - 1]; + return self.br(inst.base.src, inst.block, last); } fn genBr(self: *Self, inst: *ir.Inst.Br) !MCValue { diff --git a/src/ir.zig b/src/ir.zig index 4d421dda4c..408efc3bba 100644 --- a/src/ir.zig +++ b/src/ir.zig @@ -69,7 +69,7 @@ pub const Inst = struct { /// replace one br operand with multiple instructions, without moving anything else around. br_block_flat, breakpoint, - brvoid, + br_void, call, cmp_lt, cmp_lte, @@ -166,7 +166,7 @@ pub const Inst = struct { .block => Block, .br => Br, .br_block_flat => BrBlockFlat, - .brvoid => BrVoid, + .br_void => BrVoid, .call => Call, .condbr => CondBr, .constant => Constant, @@ -259,7 +259,7 @@ pub const Inst = struct { pub fn breakBlock(base: *Inst) ?*Block { return switch (base.tag) { .br => base.castTag(.br).?.block, - .brvoid => base.castTag(.brvoid).?.block, + .br_void => base.castTag(.br_void).?.block, .br_block_flat => base.castTag(.br_block_flat).?.block, else => null, }; @@ -403,7 +403,7 @@ pub const Inst = struct { }; pub const BrVoid = struct { - pub const base_tag = Tag.brvoid; + pub const base_tag = Tag.br_void; base: Inst, block: *Block, diff --git a/src/zir.zig b/src/zir.zig index 301b52efc0..d372cfbf00 100644 --- a/src/zir.zig +++ b/src/zir.zig @@ -264,8 +264,7 @@ pub const Inst = struct { /// Write a value to a pointer. For loading, see `deref`. store, /// Same as `store` but the type of the value being stored will be used to infer - /// the block type. The LHS is a block instruction, whose result location is - /// being stored to. + /// the block type. The LHS is the pointer to store to. store_to_block_ptr, /// Same as `store` but the type of the value being stored will be used to infer /// the pointer type. @@ -343,6 +342,8 @@ pub const Inst = struct { /// Only checks that `lhs >= rhs` if they are ints, everything else is /// validated by the .switch instruction. switch_range, + /// Does nothing; returns a void value. + void_value, pub fn Type(tag: Tag) type { return switch (tag) { @@ -355,6 +356,7 @@ pub const Inst = struct { .ret_type, .unreachable_unsafe, .unreachable_safe, + .void_value, => NoOp, .alloc, @@ -611,6 +613,7 @@ pub const Inst = struct { .enum_type, .union_type, .struct_type, + .void_value, => false, .@"break", @@ -1640,9 +1643,9 @@ const DumpTzir = struct { try dtz.fetchInstsAndResolveConsts(br_block_flat.body); }, - .brvoid => { - const brvoid = inst.castTag(.brvoid).?; - try dtz.findConst(&brvoid.block.base); + .br_void => { + const br_void = inst.castTag(.br_void).?; + try dtz.findConst(&br_void.block.base); }, .block => { @@ -1803,9 +1806,9 @@ const DumpTzir = struct { try writer.writeAll("})\n"); }, - .brvoid => { - const brvoid = inst.castTag(.brvoid).?; - const kinky = try dtz.writeInst(writer, &brvoid.block.base); + .br_void => { + const br_void = inst.castTag(.br_void).?; + const kinky = try dtz.writeInst(writer, &br_void.block.base); if (kinky) |_| { try writer.writeAll(") // Instruction does not dominate all uses!\n"); } else { diff --git a/src/zir_sema.zig b/src/zir_sema.zig index 0297b9873a..773c782746 100644 --- a/src/zir_sema.zig +++ b/src/zir_sema.zig @@ -155,6 +155,7 @@ pub fn analyzeInst(mod: *Module, scope: *Scope, old_inst: *zir.Inst) InnerError! .switch_range => return zirSwitchRange(mod, scope, old_inst.castTag(.switch_range).?), .bool_and => return zirBoolOp(mod, scope, old_inst.castTag(.bool_and).?), .bool_or => return zirBoolOp(mod, scope, old_inst.castTag(.bool_or).?), + .void_value => return mod.constVoid(scope, old_inst.src), .container_field_named, .container_field_typed, @@ -447,6 +448,8 @@ fn zirStoreToBlockPtr( const ptr = try resolveInst(mod, scope, inst.positionals.lhs); const value = try resolveInst(mod, scope, inst.positionals.rhs); const ptr_ty = try mod.simplePtrType(scope, inst.base.src, value.ty, true, .One); + // TODO detect when this store should be done at compile-time. For example, + // if expressions should force it when the condition is compile-time known. const b = try mod.requireRuntimeBlock(scope, inst.base.src); const bitcasted_ptr = try mod.addUnOp(b, inst.base.src, ptr_ty, .bitcast, ptr); return mod.storePtr(scope, inst.base.src, bitcasted_ptr, value); From e9e6cc217124cb67c94790e38feaf45abda839ff Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Mon, 25 Jan 2021 01:47:36 -0700 Subject: [PATCH 33/73] astgen: rework orelse/catch --- src/astgen.zig | 209 +++++++++++++++++++++++++++---------------------- 1 file changed, 116 insertions(+), 93 deletions(-) diff --git a/src/astgen.zig b/src/astgen.zig index 994205c3a7..7de94506b7 100644 --- a/src/astgen.zig +++ b/src/astgen.zig @@ -566,12 +566,11 @@ fn labeledBlockExpr( .block_inst = block_inst, }), }; + setBlockResultLoc(&block_scope, rl); defer block_scope.instructions.deinit(mod.gpa); defer block_scope.labeled_breaks.deinit(mod.gpa); defer block_scope.labeled_store_to_block_ptr_list.deinit(mod.gpa); - setBlockResultLoc(&block_scope, rl); - try blockExprStmts(mod, &block_scope.base, &block_node.base, block_node.statements()); if (!block_scope.label.?.used) { @@ -1337,9 +1336,6 @@ fn orelseCatchExpr( rhs: *ast.Node, payload_node: ?*ast.Node, ) InnerError!*zir.Inst { - if (true) { - @panic("TODO reimplement this"); - } const tree = scope.tree(); const src = tree.token_locs[op_token].start; @@ -1349,22 +1345,12 @@ fn orelseCatchExpr( .arena = scope.arena(), .instructions = .{}, }; + setBlockResultLoc(&block_scope, rl); defer block_scope.instructions.deinit(mod.gpa); - const block = try addZIRInstBlock(mod, scope, src, .block, .{ - .instructions = undefined, // populated below - }); - - // Most result location types can be forwarded directly; however - // if we need to write to a pointer which has an inferred type, - // proper type inference requires peer type resolution on the if's - // branches. - const branch_rl: ResultLoc = switch (rl) { - .discard, .none, .ty, .ptr, .ref => rl, - .inferred_ptr, .bitcasted_ptr, .block_ptr => .{ .block_ptr = block }, - }; // This could be a pointer or value depending on the `rl` parameter. - const operand = try expr(mod, &block_scope.base, branch_rl, lhs); + block_scope.break_count += 1; + const operand = try expr(mod, &block_scope.base, block_scope.break_result_loc, lhs); const cond = try addZIRUnOp(mod, &block_scope.base, src, cond_op, operand); const condbr = try addZIRInstSpecial(mod, &block_scope.base, src, zir.Inst.CondBr, .{ @@ -1373,6 +1359,10 @@ fn orelseCatchExpr( .else_body = undefined, // populated below }, .{}); + const block = try addZIRInstBlock(mod, scope, src, .block, .{ + .instructions = try block_scope.arena.dupe(*zir.Inst, block_scope.instructions.items), + }); + var then_scope: Scope.GenZIR = .{ .parent = &block_scope.base, .decl = block_scope.decl, @@ -1383,8 +1373,7 @@ fn orelseCatchExpr( var err_val_scope: Scope.LocalVal = undefined; const then_sub_scope = blk: { - const payload = payload_node orelse - break :blk &then_scope.base; + const payload = payload_node orelse break :blk &then_scope.base; const err_name = tree.tokenSlice(payload.castTag(.Payload).?.error_symbol.firstToken()); if (mem.eql(u8, err_name, "_")) @@ -1399,10 +1388,8 @@ fn orelseCatchExpr( break :blk &err_val_scope.base; }; - _ = try addZIRInst(mod, &then_scope.base, src, zir.Inst.Break, .{ - .block = block, - .operand = try expr(mod, then_sub_scope, branch_rl, rhs), - }, .{}); + block_scope.break_count += 1; + const then_result = try expr(mod, then_sub_scope, block_scope.break_result_loc, rhs); var else_scope: Scope.GenZIR = .{ .parent = &block_scope.base, @@ -1414,17 +1401,97 @@ fn orelseCatchExpr( // This could be a pointer or value depending on `unwrap_op`. const unwrapped_payload = try addZIRUnOp(mod, &else_scope.base, src, unwrap_op, operand); - _ = try addZIRInst(mod, &else_scope.base, src, zir.Inst.Break, .{ - .block = block, - .operand = unwrapped_payload, - }, .{}); - // All branches have been generated, add the instructions to the block. - block.positionals.body.instructions = try block_scope.arena.dupe(*zir.Inst, block_scope.instructions.items); + return finishThenElseBlock( + mod, + scope, + rl, + &block_scope, + &then_scope, + &else_scope, + &condbr.positionals.then_body, + &condbr.positionals.else_body, + src, + src, + then_result, + unwrapped_payload, + block, + ); +} - condbr.positionals.then_body = .{ .instructions = try then_scope.arena.dupe(*zir.Inst, then_scope.instructions.items) }; - condbr.positionals.else_body = .{ .instructions = try else_scope.arena.dupe(*zir.Inst, else_scope.instructions.items) }; - return &block.base; +fn finishThenElseBlock( + mod: *Module, + parent_scope: *Scope, + rl: ResultLoc, + block_scope: *Scope.GenZIR, + then_scope: *Scope.GenZIR, + else_scope: *Scope.GenZIR, + then_body: *zir.Body, + else_body: *zir.Body, + then_src: usize, + else_src: usize, + then_result: *zir.Inst, + else_result: ?*zir.Inst, + block: *zir.Inst.Block, +) InnerError!*zir.Inst { + // We now have enough information to decide whether the result instruction should + // be communicated via result location pointer or break instructions. + const strat = rlStrategy(rl, block_scope); + switch (strat.tag) { + .break_void => { + if (!then_result.tag.isNoReturn()) { + _ = try addZirInstTag(mod, &then_scope.base, then_src, .break_void, .{ + .block = block, + }); + } + if (else_result) |inst| { + if (!inst.tag.isNoReturn()) { + _ = try addZirInstTag(mod, &else_scope.base, else_src, .break_void, .{ + .block = block, + }); + } + } else { + _ = try addZirInstTag(mod, &else_scope.base, else_src, .break_void, .{ + .block = block, + }); + } + assert(!strat.elide_store_to_block_ptr_instructions); + try copyBodyNoEliding(then_body, then_scope.*); + try copyBodyNoEliding(else_body, else_scope.*); + return &block.base; + }, + .break_operand => { + if (!then_result.tag.isNoReturn()) { + _ = try addZirInstTag(mod, &then_scope.base, then_src, .@"break", .{ + .block = block, + .operand = then_result, + }); + } + if (else_result) |inst| { + if (!inst.tag.isNoReturn()) { + _ = try addZirInstTag(mod, &else_scope.base, else_src, .@"break", .{ + .block = block, + .operand = inst, + }); + } + } else { + _ = try addZirInstTag(mod, &else_scope.base, else_src, .break_void, .{ + .block = block, + }); + } + if (strat.elide_store_to_block_ptr_instructions) { + try copyBodyWithElidedStoreBlockPtr(then_body, then_scope.*); + try copyBodyWithElidedStoreBlockPtr(else_body, else_scope.*); + } else { + try copyBodyNoEliding(then_body, then_scope.*); + try copyBodyNoEliding(else_body, else_scope.*); + } + switch (rl) { + .ref => return &block.base, + else => return rvalue(mod, parent_scope, rl, &block.base), + } + }, + } } /// Return whether the identifier names of two tokens are equal. Resolves @"" @@ -1724,9 +1791,8 @@ fn ifExpr(mod: *Module, scope: *Scope, rl: ResultLoc, if_node: *ast.Node.If) Inn .arena = scope.arena(), .instructions = .{}, }; - defer block_scope.instructions.deinit(mod.gpa); - setBlockResultLoc(&block_scope, rl); + defer block_scope.instructions.deinit(mod.gpa); const tree = scope.tree(); const if_src = tree.token_locs[if_node.if_token].start; @@ -1783,64 +1849,21 @@ fn ifExpr(mod: *Module, scope: *Scope, rl: ResultLoc, if_node: *ast.Node.If) Inn break :blk null; }; - // We now have enough information to decide whether the result instruction should - // be communicated via result location pointer or break instructions. - const strat = rlStrategy(rl, &block_scope); - switch (strat.tag) { - .break_void => { - if (!then_result.tag.isNoReturn()) { - _ = try addZirInstTag(mod, then_sub_scope, then_src, .break_void, .{ - .block = block, - }); - } - if (else_result) |inst| { - if (!inst.tag.isNoReturn()) { - _ = try addZirInstTag(mod, else_sub_scope, else_src, .break_void, .{ - .block = block, - }); - } - } else { - _ = try addZirInstTag(mod, else_sub_scope, else_src, .break_void, .{ - .block = block, - }); - } - assert(!strat.elide_store_to_block_ptr_instructions); - try copyBodyNoEliding(&condbr.positionals.then_body, then_scope); - try copyBodyNoEliding(&condbr.positionals.else_body, else_scope); - return &block.base; - }, - .break_operand => { - if (!then_result.tag.isNoReturn()) { - _ = try addZirInstTag(mod, then_sub_scope, then_src, .@"break", .{ - .block = block, - .operand = then_result, - }); - } - if (else_result) |inst| { - if (!inst.tag.isNoReturn()) { - _ = try addZirInstTag(mod, else_sub_scope, else_src, .@"break", .{ - .block = block, - .operand = inst, - }); - } - } else { - _ = try addZirInstTag(mod, else_sub_scope, else_src, .break_void, .{ - .block = block, - }); - } - if (strat.elide_store_to_block_ptr_instructions) { - try copyBodyWithElidedStoreBlockPtr(&condbr.positionals.then_body, then_scope); - try copyBodyWithElidedStoreBlockPtr(&condbr.positionals.else_body, else_scope); - } else { - try copyBodyNoEliding(&condbr.positionals.then_body, then_scope); - try copyBodyNoEliding(&condbr.positionals.else_body, else_scope); - } - switch (rl) { - .ref => return &block.base, - else => return rvalue(mod, scope, rl, &block.base), - } - }, - } + return finishThenElseBlock( + mod, + scope, + rl, + &block_scope, + &then_scope, + &else_scope, + &condbr.positionals.then_body, + &condbr.positionals.else_body, + then_src, + else_src, + then_result, + else_result, + block, + ); } /// Expects to find exactly 1 .store_to_block_ptr instruction. From 9f4ff80108ece160bed80300d753ba6efaf3b1dd Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Mon, 25 Jan 2021 12:26:42 -0700 Subject: [PATCH 34/73] astgen: rework while --- src/astgen.zig | 77 +++++++++++++++++++++++--------------------------- src/zir.zig | 4 +-- 2 files changed, 37 insertions(+), 44 deletions(-) diff --git a/src/astgen.zig b/src/astgen.zig index 7de94506b7..e0bd913a52 100644 --- a/src/astgen.zig +++ b/src/astgen.zig @@ -1887,10 +1887,12 @@ fn copyBodyNoEliding(body: *zir.Body, scope: Module.Scope.GenZIR) !void { }; } -fn whileExpr(mod: *Module, scope: *Scope, rl: ResultLoc, while_node: *ast.Node.While) InnerError!*zir.Inst { - if (true) { - @panic("TODO reimplement this"); - } +fn whileExpr( + mod: *Module, + scope: *Scope, + rl: ResultLoc, + while_node: *ast.Node.While, +) InnerError!*zir.Inst { var cond_kind: CondKind = .bool; if (while_node.payload) |_| cond_kind = .{ .optional = null }; if (while_node.@"else") |else_node| { @@ -1912,6 +1914,7 @@ fn whileExpr(mod: *Module, scope: *Scope, rl: ResultLoc, while_node: *ast.Node.W .arena = scope.arena(), .instructions = .{}, }; + setBlockResultLoc(&expr_scope, rl); defer expr_scope.instructions.deinit(mod.gpa); var loop_scope: Scope.GenZIR = .{ @@ -1981,25 +1984,8 @@ fn whileExpr(mod: *Module, scope: *Scope, rl: ResultLoc, while_node: *ast.Node.W // declare payload to the then_scope const then_sub_scope = try cond_kind.thenSubScope(mod, &then_scope, then_src, while_node.payload); - // Most result location types can be forwarded directly; however - // if we need to write to a pointer which has an inferred type, - // proper type inference requires peer type resolution on the while's - // branches. - const branch_rl: ResultLoc = switch (rl) { - .discard, .none, .ty, .ptr, .ref => rl, - .inferred_ptr, .bitcasted_ptr, .block_ptr => .{ .block_ptr = while_block }, - }; - - const then_result = try expr(mod, then_sub_scope, branch_rl, while_node.body); - if (!then_result.tag.isNoReturn()) { - _ = try addZIRInst(mod, then_sub_scope, then_src, zir.Inst.Break, .{ - .block = cond_block, - .operand = then_result, - }, .{}); - } - condbr.positionals.then_body = .{ - .instructions = try then_scope.arena.dupe(*zir.Inst, then_scope.instructions.items), - }; + expr_scope.break_count += 1; + const then_result = try expr(mod, then_sub_scope, expr_scope.break_result_loc, while_node.body); var else_scope: Scope.GenZIR = .{ .parent = &continue_scope.base, @@ -2009,33 +1995,40 @@ fn whileExpr(mod: *Module, scope: *Scope, rl: ResultLoc, while_node: *ast.Node.W }; defer else_scope.instructions.deinit(mod.gpa); - if (while_node.@"else") |else_node| { - const else_src = tree.token_locs[else_node.body.lastToken()].start; + var else_src: usize = undefined; + var else_sub_scope: *Module.Scope = undefined; + const else_result: ?*zir.Inst = if (while_node.@"else") |else_node| blk: { + else_src = tree.token_locs[else_node.body.lastToken()].start; // declare payload to the then_scope - const else_sub_scope = try cond_kind.elseSubScope(mod, &else_scope, else_src, else_node.payload); + else_sub_scope = try cond_kind.elseSubScope(mod, &else_scope, else_src, else_node.payload); - const else_result = try expr(mod, else_sub_scope, branch_rl, else_node.body); - if (!else_result.tag.isNoReturn()) { - _ = try addZIRInst(mod, else_sub_scope, else_src, zir.Inst.Break, .{ - .block = while_block, - .operand = else_result, - }, .{}); - } - } else { - const else_src = tree.token_locs[while_node.lastToken()].start; - _ = try addZIRInst(mod, &else_scope.base, else_src, zir.Inst.BreakVoid, .{ - .block = while_block, - }, .{}); - } - condbr.positionals.else_body = .{ - .instructions = try else_scope.arena.dupe(*zir.Inst, else_scope.instructions.items), + expr_scope.break_count += 1; + break :blk try expr(mod, else_sub_scope, expr_scope.break_result_loc, else_node.body); + } else blk: { + else_src = tree.token_locs[while_node.lastToken()].start; + else_sub_scope = &else_scope.base; + break :blk null; }; if (loop_scope.label) |some| { if (!some.used) { return mod.fail(scope, tree.token_locs[some.token].start, "unused while label", .{}); } } - return &while_block.base; + return finishThenElseBlock( + mod, + scope, + rl, + &expr_scope, + &then_scope, + &else_scope, + &condbr.positionals.then_body, + &condbr.positionals.else_body, + then_src, + else_src, + then_result, + else_result, + while_block, + ); } fn forExpr( diff --git a/src/zir.zig b/src/zir.zig index d372cfbf00..83eee71f87 100644 --- a/src/zir.zig +++ b/src/zir.zig @@ -1857,7 +1857,7 @@ const DumpTzir = struct { .loop => { const loop = inst.castTag(.loop).?; - try writer.writeAll("\n"); + try writer.writeAll("{\n"); const old_indent = dtz.indent; dtz.indent += 2; @@ -1865,7 +1865,7 @@ const DumpTzir = struct { dtz.indent = old_indent; try writer.writeByteNTimes(' ', dtz.indent); - try writer.writeAll(")\n"); + try writer.writeAll("})\n"); }, .call => { From de85c4ac429d5d7f937189cb444233952f7cbbed Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Mon, 25 Jan 2021 13:20:02 -0700 Subject: [PATCH 35/73] astgen: rework for loops --- src/astgen.zig | 187 +++++++++++++++++++++++-------------------------- 1 file changed, 86 insertions(+), 101 deletions(-) diff --git a/src/astgen.zig b/src/astgen.zig index e0bd913a52..446ee98eb4 100644 --- a/src/astgen.zig +++ b/src/astgen.zig @@ -457,9 +457,9 @@ fn continueExpr(mod: *Module, parent_scope: *Scope, node: *ast.Node.ControlFlowE continue; } - return addZIRInst(mod, parent_scope, src, zir.Inst.BreakVoid, .{ + return addZirInstTag(mod, parent_scope, src, .break_void, .{ .block = continue_block, - }, .{}); + }); }, .local_val => scope = scope.cast(Scope.LocalVal).?.parent, .local_ptr => scope = scope.cast(Scope.LocalPtr).?.parent, @@ -1908,22 +1908,13 @@ fn whileExpr( if (while_node.inline_token) |tok| return mod.failTok(scope, tok, "TODO inline while", .{}); - var expr_scope: Scope.GenZIR = .{ + var loop_scope: Scope.GenZIR = .{ .parent = scope, .decl = scope.ownerDecl().?, .arena = scope.arena(), .instructions = .{}, }; - setBlockResultLoc(&expr_scope, rl); - defer expr_scope.instructions.deinit(mod.gpa); - - var loop_scope: Scope.GenZIR = .{ - .parent = &expr_scope.base, - .decl = expr_scope.decl, - .arena = expr_scope.arena, - .instructions = .{}, - .break_result_loc = rl, - }; + setBlockResultLoc(&loop_scope, rl); defer loop_scope.instructions.deinit(mod.gpa); var continue_scope: Scope.GenZIR = .{ @@ -1957,11 +1948,21 @@ fn whileExpr( if (while_node.continue_expr) |cont_expr| { _ = try expr(mod, &loop_scope.base, .{ .ty = void_type }, cont_expr); } - const loop = try addZIRInstLoop(mod, &expr_scope.base, while_src, .{ - .instructions = try expr_scope.arena.dupe(*zir.Inst, loop_scope.instructions.items), - }); + const loop = try scope.arena().create(zir.Inst.Loop); + loop.* = .{ + .base = .{ + .tag = .loop, + .src = while_src, + }, + .positionals = .{ + .body = .{ + .instructions = try scope.arena().dupe(*zir.Inst, loop_scope.instructions.items), + }, + }, + .kw_args = .{}, + }; const while_block = try addZIRInstBlock(mod, scope, while_src, .block, .{ - .instructions = try expr_scope.arena.dupe(*zir.Inst, expr_scope.instructions.items), + .instructions = try scope.arena().dupe(*zir.Inst, &[1]*zir.Inst{&loop.base}), }); loop_scope.break_block = while_block; loop_scope.continue_block = cond_block; @@ -1984,8 +1985,8 @@ fn whileExpr( // declare payload to the then_scope const then_sub_scope = try cond_kind.thenSubScope(mod, &then_scope, then_src, while_node.payload); - expr_scope.break_count += 1; - const then_result = try expr(mod, then_sub_scope, expr_scope.break_result_loc, while_node.body); + loop_scope.break_count += 1; + const then_result = try expr(mod, then_sub_scope, loop_scope.break_result_loc, while_node.body); var else_scope: Scope.GenZIR = .{ .parent = &continue_scope.base, @@ -1996,17 +1997,15 @@ fn whileExpr( defer else_scope.instructions.deinit(mod.gpa); var else_src: usize = undefined; - var else_sub_scope: *Module.Scope = undefined; const else_result: ?*zir.Inst = if (while_node.@"else") |else_node| blk: { else_src = tree.token_locs[else_node.body.lastToken()].start; // declare payload to the then_scope - else_sub_scope = try cond_kind.elseSubScope(mod, &else_scope, else_src, else_node.payload); + const else_sub_scope = try cond_kind.elseSubScope(mod, &else_scope, else_src, else_node.payload); - expr_scope.break_count += 1; - break :blk try expr(mod, else_sub_scope, expr_scope.break_result_loc, else_node.body); + loop_scope.break_count += 1; + break :blk try expr(mod, else_sub_scope, loop_scope.break_result_loc, else_node.body); } else blk: { else_src = tree.token_locs[while_node.lastToken()].start; - else_sub_scope = &else_scope.base; break :blk null; }; if (loop_scope.label) |some| { @@ -2018,7 +2017,7 @@ fn whileExpr( mod, scope, rl, - &expr_scope, + &loop_scope, &then_scope, &else_scope, &condbr.positionals.then_body, @@ -2037,9 +2036,6 @@ fn forExpr( rl: ResultLoc, for_node: *ast.Node.For, ) InnerError!*zir.Inst { - if (true) { - @panic("TODO reimplement this"); - } if (for_node.label) |label| { try checkLabelRedefinition(mod, scope, label); } @@ -2047,42 +2043,34 @@ fn forExpr( if (for_node.inline_token) |tok| return mod.failTok(scope, tok, "TODO inline for", .{}); - var for_scope: Scope.GenZIR = .{ + // setup variables and constants + const tree = scope.tree(); + const for_src = tree.token_locs[for_node.for_token].start; + const index_ptr = blk: { + const usize_type = try addZIRInstConst(mod, scope, for_src, .{ + .ty = Type.initTag(.type), + .val = Value.initTag(.usize_type), + }); + const index_ptr = try addZIRUnOp(mod, scope, for_src, .alloc, usize_type); + // initialize to zero + const zero = try addZIRInstConst(mod, scope, for_src, .{ + .ty = Type.initTag(.usize), + .val = Value.initTag(.zero), + }); + _ = try addZIRBinOp(mod, scope, for_src, .store, index_ptr, zero); + break :blk index_ptr; + }; + const array_ptr = try expr(mod, scope, .ref, for_node.array_expr); + const cond_src = tree.token_locs[for_node.array_expr.firstToken()].start; + const len = try addZIRUnOp(mod, scope, cond_src, .indexable_ptr_len, array_ptr); + + var loop_scope: Scope.GenZIR = .{ .parent = scope, .decl = scope.ownerDecl().?, .arena = scope.arena(), .instructions = .{}, }; - defer for_scope.instructions.deinit(mod.gpa); - - // setup variables and constants - const tree = scope.tree(); - const for_src = tree.token_locs[for_node.for_token].start; - const index_ptr = blk: { - const usize_type = try addZIRInstConst(mod, &for_scope.base, for_src, .{ - .ty = Type.initTag(.type), - .val = Value.initTag(.usize_type), - }); - const index_ptr = try addZIRUnOp(mod, &for_scope.base, for_src, .alloc, usize_type); - // initialize to zero - const zero = try addZIRInstConst(mod, &for_scope.base, for_src, .{ - .ty = Type.initTag(.usize), - .val = Value.initTag(.zero), - }); - _ = try addZIRBinOp(mod, &for_scope.base, for_src, .store, index_ptr, zero); - break :blk index_ptr; - }; - const array_ptr = try expr(mod, &for_scope.base, .ref, for_node.array_expr); - const cond_src = tree.token_locs[for_node.array_expr.firstToken()].start; - const len = try addZIRUnOp(mod, &for_scope.base, cond_src, .indexable_ptr_len, array_ptr); - - var loop_scope: Scope.GenZIR = .{ - .parent = &for_scope.base, - .decl = for_scope.decl, - .arena = for_scope.arena, - .instructions = .{}, - .break_result_loc = rl, - }; + setBlockResultLoc(&loop_scope, rl); defer loop_scope.instructions.deinit(mod.gpa); var cond_scope: Scope.GenZIR = .{ @@ -2115,12 +2103,21 @@ fn forExpr( const index_plus_one = try addZIRBinOp(mod, &loop_scope.base, for_src, .add, index_2, one); _ = try addZIRBinOp(mod, &loop_scope.base, for_src, .store, index_ptr, index_plus_one); - // looping stuff - const loop = try addZIRInstLoop(mod, &for_scope.base, for_src, .{ - .instructions = try for_scope.arena.dupe(*zir.Inst, loop_scope.instructions.items), - }); + const loop = try scope.arena().create(zir.Inst.Loop); + loop.* = .{ + .base = .{ + .tag = .loop, + .src = for_src, + }, + .positionals = .{ + .body = .{ + .instructions = try scope.arena().dupe(*zir.Inst, loop_scope.instructions.items), + }, + }, + .kw_args = .{}, + }; const for_block = try addZIRInstBlock(mod, scope, for_src, .block, .{ - .instructions = try for_scope.arena.dupe(*zir.Inst, for_scope.instructions.items), + .instructions = try scope.arena().dupe(*zir.Inst, &[1]*zir.Inst{&loop.base}), }); loop_scope.break_block = for_block; loop_scope.continue_block = cond_block; @@ -2141,15 +2138,6 @@ fn forExpr( }; defer then_scope.instructions.deinit(mod.gpa); - // Most result location types can be forwarded directly; however - // if we need to write to a pointer which has an inferred type, - // proper type inference requires peer type resolution on the while's - // branches. - const branch_rl: ResultLoc = switch (rl) { - .discard, .none, .ty, .ptr, .ref => rl, - .inferred_ptr, .bitcasted_ptr, .block_ptr => .{ .block_ptr = for_block }, - }; - var index_scope: Scope.LocalPtr = undefined; const then_sub_scope = blk: { const payload = for_node.payload.castTag(.PointerIndexPayload).?; @@ -2178,16 +2166,8 @@ fn forExpr( break :blk &index_scope.base; }; - const then_result = try expr(mod, then_sub_scope, branch_rl, for_node.body); - if (!then_result.tag.isNoReturn()) { - _ = try addZIRInst(mod, then_sub_scope, then_src, zir.Inst.Break, .{ - .block = cond_block, - .operand = then_result, - }, .{}); - } - condbr.positionals.then_body = .{ - .instructions = try then_scope.arena.dupe(*zir.Inst, then_scope.instructions.items), - }; + loop_scope.break_count += 1; + const then_result = try expr(mod, then_sub_scope, loop_scope.break_result_loc, for_node.body); // else branch var else_scope: Scope.GenZIR = .{ @@ -2198,30 +2178,35 @@ fn forExpr( }; defer else_scope.instructions.deinit(mod.gpa); - if (for_node.@"else") |else_node| { - const else_src = tree.token_locs[else_node.body.lastToken()].start; - const else_result = try expr(mod, &else_scope.base, branch_rl, else_node.body); - if (!else_result.tag.isNoReturn()) { - _ = try addZIRInst(mod, &else_scope.base, else_src, zir.Inst.Break, .{ - .block = for_block, - .operand = else_result, - }, .{}); - } - } else { - const else_src = tree.token_locs[for_node.lastToken()].start; - _ = try addZIRInst(mod, &else_scope.base, else_src, zir.Inst.BreakVoid, .{ - .block = for_block, - }, .{}); - } - condbr.positionals.else_body = .{ - .instructions = try else_scope.arena.dupe(*zir.Inst, else_scope.instructions.items), + var else_src: usize = undefined; + const else_result: ?*zir.Inst = if (for_node.@"else") |else_node| blk: { + else_src = tree.token_locs[else_node.body.lastToken()].start; + loop_scope.break_count += 1; + break :blk try expr(mod, &else_scope.base, loop_scope.break_result_loc, else_node.body); + } else blk: { + else_src = tree.token_locs[for_node.lastToken()].start; + break :blk null; }; if (loop_scope.label) |some| { if (!some.used) { return mod.fail(scope, tree.token_locs[some.token].start, "unused for label", .{}); } } - return &for_block.base; + return finishThenElseBlock( + mod, + scope, + rl, + &loop_scope, + &then_scope, + &else_scope, + &condbr.positionals.then_body, + &condbr.positionals.else_body, + then_src, + else_src, + then_result, + else_result, + for_block, + ); } fn getRangeNode(node: *ast.Node) ?*ast.Node.SimpleInfixOp { From 0f5eda973e0c17b3f792cdb06674bf8d2863c8fb Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sun, 31 Jan 2021 20:58:11 -0700 Subject: [PATCH 36/73] stage2: delete astgen for switch expressions The astgen for switch expressions did not respect the ZIR rules of only referencing instructions that are in scope: %14 = block_comptime_flat({ %15 = block_comptime_flat({ %16 = const(TypedValue{ .ty = comptime_int, .val = 1}) }) %17 = block_comptime_flat({ %18 = const(TypedValue{ .ty = comptime_int, .val = 2}) }) }) %19 = block({ %20 = ref(%5) %21 = deref(%20) %22 = switchbr(%20, [%15, %17], { %15 => { %23 = const(TypedValue{ .ty = comptime_int, .val = 1}) %24 = store(%10, %23) %25 = const(TypedValue{ .ty = void, .val = {}}) %26 = break("label_19", %25) }, %17 => { %27 = const(TypedValue{ .ty = comptime_int, .val = 2}) %28 = store(%10, %27) %29 = const(TypedValue{ .ty = void, .val = {}}) %30 = break("label_19", %29) } }, { %31 = unreachable_safe() }, special_prong=else) }) In this snippet you can see that the comptime expr referenced %15 and %17 which are not in scope. There also was no test coverage for runtime switch expressions. Switch expressions will have to be re-introduced to follow these rules and with some test coverage. There is some usable code being deleted in this commit; it will be useful to reference when re-implementing switch later. A few more improvements to do while we're at it: * only use .ref result loc on switch target if any prongs obtain the payload with |*syntax| - this improvement should be done to if, while, and for as well. - this will remove the needless ref/deref instructions above * remove switchbr and add switch_block, which is both a block and a switch branch. - similarly we should remove loop and add loop_block. This commit introduces a "force_comptime" flag into the GenZIR scope. The main purpose of this will be to choose the "comptime" variants of certain key zir instructions, such as function calls and branches. We will be moving away from using the block_comptime_flat ZIR instruction, and eventually deleting it. This commit also contains miscellaneous fixes to this branch that bring it to the state of passing all the tests. --- src/Module.zig | 13 +- src/astgen.zig | 342 +++++++------------------------------------ src/zir.zig | 56 ------- src/zir_sema.zig | 236 +---------------------------- test/stage2/test.zig | 37 ----- 5 files changed, 72 insertions(+), 612 deletions(-) diff --git a/src/Module.zig b/src/Module.zig index 0bafc72e6b..b495afb336 100644 --- a/src/Module.zig +++ b/src/Module.zig @@ -375,6 +375,10 @@ pub const Scope = struct { } } + pub fn isComptime(self: *Scope) bool { + return self.getGenZIR().force_comptime; + } + pub fn ownerDecl(self: *Scope) ?*Decl { return switch (self.tag) { .block => self.cast(Block).?.owner_decl, @@ -712,6 +716,7 @@ pub const Scope = struct { parent: *Scope, decl: *Decl, arena: *Allocator, + force_comptime: bool, /// The first N instructions in a function body ZIR are arg instructions. instructions: std.ArrayListUnmanaged(*zir.Inst) = .{}, label: ?Label = null, @@ -1008,6 +1013,7 @@ fn astGenAndAnalyzeDecl(self: *Module, decl: *Decl) !bool { .decl = decl, .arena = &fn_type_scope_arena.allocator, .parent = &decl.container.base, + .force_comptime = true, }; defer fn_type_scope.instructions.deinit(self.gpa); @@ -1171,6 +1177,7 @@ fn astGenAndAnalyzeDecl(self: *Module, decl: *Decl) !bool { .decl = decl, .arena = &decl_arena.allocator, .parent = &decl.container.base, + .force_comptime = false, }; defer gen_scope.instructions.deinit(self.gpa); @@ -1369,6 +1376,7 @@ fn astGenAndAnalyzeDecl(self: *Module, decl: *Decl) !bool { .decl = decl, .arena = &gen_scope_arena.allocator, .parent = &decl.container.base, + .force_comptime = false, }; defer gen_scope.instructions.deinit(self.gpa); @@ -1428,6 +1436,7 @@ fn astGenAndAnalyzeDecl(self: *Module, decl: *Decl) !bool { .decl = decl, .arena = &type_scope_arena.allocator, .parent = &decl.container.base, + .force_comptime = true, }; defer type_scope.instructions.deinit(self.gpa); @@ -1497,13 +1506,15 @@ fn astGenAndAnalyzeDecl(self: *Module, decl: *Decl) !bool { decl.analysis = .in_progress; - // A comptime decl does not store any value so we can just deinit this arena after analysis is done. + // A comptime decl does not store any value so we can just deinit + // this arena after analysis is done. var analysis_arena = std.heap.ArenaAllocator.init(self.gpa); defer analysis_arena.deinit(); var gen_scope: Scope.GenZIR = .{ .decl = decl, .arena = &analysis_arena.allocator, .parent = &decl.container.base, + .force_comptime = true, }; defer gen_scope.instructions.deinit(self.gpa); diff --git a/src/astgen.zig b/src/astgen.zig index 446ee98eb4..dfc5f06ddc 100644 --- a/src/astgen.zig +++ b/src/astgen.zig @@ -309,7 +309,7 @@ pub fn expr(mod: *Module, scope: *Scope, rl: ResultLoc, node: *ast.Node) InnerEr .Catch => return catchExpr(mod, scope, rl, node.castTag(.Catch).?), .Comptime => return comptimeKeyword(mod, scope, rl, node.castTag(.Comptime).?), .OrElse => return orelseExpr(mod, scope, rl, node.castTag(.OrElse).?), - .Switch => return switchExpr(mod, scope, rl, node.castTag(.Switch).?), + .Switch => return mod.failNode(scope, node, "TODO implement astgen.expr for .Switch", .{}), .ContainerDecl => return containerDecl(mod, scope, rl, node.castTag(.ContainerDecl).?), .Defer => return mod.failNode(scope, node, "TODO implement astgen.expr for .Defer", .{}), @@ -334,11 +334,19 @@ fn comptimeKeyword(mod: *Module, scope: *Scope, rl: ResultLoc, node: *ast.Node.C return comptimeExpr(mod, scope, rl, node.expr); } -pub fn comptimeExpr(mod: *Module, parent_scope: *Scope, rl: ResultLoc, node: *ast.Node) InnerError!*zir.Inst { - const tree = parent_scope.tree(); - const src = tree.token_locs[node.firstToken()].start; +pub fn comptimeExpr( + mod: *Module, + parent_scope: *Scope, + rl: ResultLoc, + node: *ast.Node, +) InnerError!*zir.Inst { + // If we are already in a comptime scope, no need to make another one. + if (parent_scope.isComptime()) { + return expr(mod, parent_scope, rl, node); + } - // Optimization for labeled blocks: don't need to have 2 layers of blocks, we can reuse the existing one. + // Optimization for labeled blocks: don't need to have 2 layers of blocks, + // we can reuse the existing one. if (node.castTag(.LabeledBlock)) |block_node| { return labeledBlockExpr(mod, parent_scope, rl, block_node, .block_comptime); } @@ -348,6 +356,7 @@ pub fn comptimeExpr(mod: *Module, parent_scope: *Scope, rl: ResultLoc, node: *as .parent = parent_scope, .decl = parent_scope.ownerDecl().?, .arena = parent_scope.arena(), + .force_comptime = true, .instructions = .{}, }; defer block_scope.instructions.deinit(mod.gpa); @@ -356,6 +365,9 @@ pub fn comptimeExpr(mod: *Module, parent_scope: *Scope, rl: ResultLoc, node: *as // instruction is the block's result value. _ = try expr(mod, &block_scope.base, rl, node); + const tree = parent_scope.tree(); + const src = tree.token_locs[node.firstToken()].start; + const block = try addZIRInstBlock(mod, parent_scope, src, .block_comptime_flat, .{ .instructions = try block_scope.arena.dupe(*zir.Inst, block_scope.instructions.items), }); @@ -410,7 +422,7 @@ fn breakExpr( try gen_zir.labeled_breaks.append(mod.gpa, br.castTag(.@"break").?); if (have_store_to_block) { - const inst_list = parent_scope.cast(Scope.GenZIR).?.instructions.items; + const inst_list = parent_scope.getGenZIR().instructions.items; const last_inst = inst_list[inst_list.len - 2]; const store_inst = last_inst.castTag(.store_to_block_ptr).?; assert(store_inst.positionals.lhs == gen_zir.rl_ptr.?); @@ -559,6 +571,7 @@ fn labeledBlockExpr( .parent = parent_scope, .decl = parent_scope.ownerDecl().?, .arena = gen_zir.arena, + .force_comptime = parent_scope.isComptime(), .instructions = .{}, // TODO @as here is working around a stage1 miscompilation bug :( .label = @as(?Scope.GenZIR.Label, Scope.GenZIR.Label{ @@ -746,6 +759,7 @@ fn varDecl( .parent = scope, .decl = scope.ownerDecl().?, .arena = scope.arena(), + .force_comptime = scope.isComptime(), .instructions = .{}, }; defer init_scope.instructions.deinit(mod.gpa); @@ -1107,6 +1121,7 @@ fn containerDecl(mod: *Module, scope: *Scope, rl: ResultLoc, node: *ast.Node.Con .parent = scope, .decl = scope.ownerDecl().?, .arena = scope.arena(), + .force_comptime = scope.isComptime(), .instructions = .{}, }; defer gen_scope.instructions.deinit(mod.gpa); @@ -1343,6 +1358,7 @@ fn orelseCatchExpr( .parent = scope, .decl = scope.ownerDecl().?, .arena = scope.arena(), + .force_comptime = scope.isComptime(), .instructions = .{}, }; setBlockResultLoc(&block_scope, rl); @@ -1367,6 +1383,7 @@ fn orelseCatchExpr( .parent = &block_scope.base, .decl = block_scope.decl, .arena = block_scope.arena, + .force_comptime = block_scope.force_comptime, .instructions = .{}, }; defer then_scope.instructions.deinit(mod.gpa); @@ -1395,6 +1412,7 @@ fn orelseCatchExpr( .parent = &block_scope.base, .decl = block_scope.decl, .arena = block_scope.arena, + .force_comptime = block_scope.force_comptime, .instructions = .{}, }; defer else_scope.instructions.deinit(mod.gpa); @@ -1416,6 +1434,7 @@ fn orelseCatchExpr( then_result, unwrapped_payload, block, + block, ); } @@ -1432,7 +1451,8 @@ fn finishThenElseBlock( else_src: usize, then_result: *zir.Inst, else_result: ?*zir.Inst, - block: *zir.Inst.Block, + main_block: *zir.Inst.Block, + then_break_block: *zir.Inst.Block, ) InnerError!*zir.Inst { // We now have enough information to decide whether the result instruction should // be communicated via result location pointer or break instructions. @@ -1441,42 +1461,42 @@ fn finishThenElseBlock( .break_void => { if (!then_result.tag.isNoReturn()) { _ = try addZirInstTag(mod, &then_scope.base, then_src, .break_void, .{ - .block = block, + .block = then_break_block, }); } if (else_result) |inst| { if (!inst.tag.isNoReturn()) { _ = try addZirInstTag(mod, &else_scope.base, else_src, .break_void, .{ - .block = block, + .block = main_block, }); } } else { _ = try addZirInstTag(mod, &else_scope.base, else_src, .break_void, .{ - .block = block, + .block = main_block, }); } assert(!strat.elide_store_to_block_ptr_instructions); try copyBodyNoEliding(then_body, then_scope.*); try copyBodyNoEliding(else_body, else_scope.*); - return &block.base; + return &main_block.base; }, .break_operand => { if (!then_result.tag.isNoReturn()) { _ = try addZirInstTag(mod, &then_scope.base, then_src, .@"break", .{ - .block = block, + .block = then_break_block, .operand = then_result, }); } if (else_result) |inst| { if (!inst.tag.isNoReturn()) { _ = try addZirInstTag(mod, &else_scope.base, else_src, .@"break", .{ - .block = block, + .block = main_block, .operand = inst, }); } } else { _ = try addZirInstTag(mod, &else_scope.base, else_src, .break_void, .{ - .block = block, + .block = main_block, }); } if (strat.elide_store_to_block_ptr_instructions) { @@ -1487,8 +1507,8 @@ fn finishThenElseBlock( try copyBodyNoEliding(else_body, else_scope.*); } switch (rl) { - .ref => return &block.base, - else => return rvalue(mod, parent_scope, rl, &block.base), + .ref => return &main_block.base, + else => return rvalue(mod, parent_scope, rl, &main_block.base), } }, } @@ -1643,6 +1663,7 @@ fn boolBinOp( .parent = scope, .decl = scope.ownerDecl().?, .arena = scope.arena(), + .force_comptime = scope.isComptime(), .instructions = .{}, }; defer block_scope.instructions.deinit(mod.gpa); @@ -1662,6 +1683,7 @@ fn boolBinOp( .parent = scope, .decl = block_scope.decl, .arena = block_scope.arena, + .force_comptime = block_scope.force_comptime, .instructions = .{}, }; defer rhs_scope.instructions.deinit(mod.gpa); @@ -1676,6 +1698,7 @@ fn boolBinOp( .parent = scope, .decl = block_scope.decl, .arena = block_scope.arena, + .force_comptime = block_scope.force_comptime, .instructions = .{}, }; defer const_scope.instructions.deinit(mod.gpa); @@ -1789,6 +1812,7 @@ fn ifExpr(mod: *Module, scope: *Scope, rl: ResultLoc, if_node: *ast.Node.If) Inn .parent = scope, .decl = scope.ownerDecl().?, .arena = scope.arena(), + .force_comptime = scope.isComptime(), .instructions = .{}, }; setBlockResultLoc(&block_scope, rl); @@ -1813,6 +1837,7 @@ fn ifExpr(mod: *Module, scope: *Scope, rl: ResultLoc, if_node: *ast.Node.If) Inn .parent = scope, .decl = block_scope.decl, .arena = block_scope.arena, + .force_comptime = block_scope.force_comptime, .instructions = .{}, }; defer then_scope.instructions.deinit(mod.gpa); @@ -1830,6 +1855,7 @@ fn ifExpr(mod: *Module, scope: *Scope, rl: ResultLoc, if_node: *ast.Node.If) Inn .parent = scope, .decl = block_scope.decl, .arena = block_scope.arena, + .force_comptime = block_scope.force_comptime, .instructions = .{}, }; defer else_scope.instructions.deinit(mod.gpa); @@ -1863,6 +1889,7 @@ fn ifExpr(mod: *Module, scope: *Scope, rl: ResultLoc, if_node: *ast.Node.If) Inn then_result, else_result, block, + block, ); } @@ -1912,6 +1939,7 @@ fn whileExpr( .parent = scope, .decl = scope.ownerDecl().?, .arena = scope.arena(), + .force_comptime = scope.isComptime(), .instructions = .{}, }; setBlockResultLoc(&loop_scope, rl); @@ -1921,6 +1949,7 @@ fn whileExpr( .parent = &loop_scope.base, .decl = loop_scope.decl, .arena = loop_scope.arena, + .force_comptime = loop_scope.force_comptime, .instructions = .{}, }; defer continue_scope.instructions.deinit(mod.gpa); @@ -1978,6 +2007,7 @@ fn whileExpr( .parent = &continue_scope.base, .decl = continue_scope.decl, .arena = continue_scope.arena, + .force_comptime = continue_scope.force_comptime, .instructions = .{}, }; defer then_scope.instructions.deinit(mod.gpa); @@ -1992,6 +2022,7 @@ fn whileExpr( .parent = &continue_scope.base, .decl = continue_scope.decl, .arena = continue_scope.arena, + .force_comptime = continue_scope.force_comptime, .instructions = .{}, }; defer else_scope.instructions.deinit(mod.gpa); @@ -2027,6 +2058,7 @@ fn whileExpr( then_result, else_result, while_block, + cond_block, ); } @@ -2068,6 +2100,7 @@ fn forExpr( .parent = scope, .decl = scope.ownerDecl().?, .arena = scope.arena(), + .force_comptime = scope.isComptime(), .instructions = .{}, }; setBlockResultLoc(&loop_scope, rl); @@ -2077,6 +2110,7 @@ fn forExpr( .parent = &loop_scope.base, .decl = loop_scope.decl, .arena = loop_scope.arena, + .force_comptime = loop_scope.force_comptime, .instructions = .{}, }; defer cond_scope.instructions.deinit(mod.gpa); @@ -2134,6 +2168,7 @@ fn forExpr( .parent = &cond_scope.base, .decl = cond_scope.decl, .arena = cond_scope.arena, + .force_comptime = cond_scope.force_comptime, .instructions = .{}, }; defer then_scope.instructions.deinit(mod.gpa); @@ -2174,6 +2209,7 @@ fn forExpr( .parent = &cond_scope.base, .decl = cond_scope.decl, .arena = cond_scope.arena, + .force_comptime = cond_scope.force_comptime, .instructions = .{}, }; defer else_scope.instructions.deinit(mod.gpa); @@ -2206,281 +2242,10 @@ fn forExpr( then_result, else_result, for_block, + cond_block, ); } -fn getRangeNode(node: *ast.Node) ?*ast.Node.SimpleInfixOp { - var cur = node; - while (true) { - switch (cur.tag) { - .Range => return @fieldParentPtr(ast.Node.SimpleInfixOp, "base", cur), - .GroupedExpression => cur = @fieldParentPtr(ast.Node.GroupedExpression, "base", cur).expr, - else => return null, - } - } -} - -fn switchExpr(mod: *Module, scope: *Scope, rl: ResultLoc, switch_node: *ast.Node.Switch) InnerError!*zir.Inst { - if (true) { - @panic("TODO reimplement this"); - } - var block_scope: Scope.GenZIR = .{ - .parent = scope, - .decl = scope.ownerDecl().?, - .arena = scope.arena(), - .instructions = .{}, - }; - defer block_scope.instructions.deinit(mod.gpa); - - const tree = scope.tree(); - const switch_src = tree.token_locs[switch_node.switch_token].start; - const target_ptr = try expr(mod, &block_scope.base, .ref, switch_node.expr); - const target = try addZIRUnOp(mod, &block_scope.base, target_ptr.src, .deref, target_ptr); - // Add the switch instruction here so that it comes before any range checks. - const switch_inst = (try addZIRInst(mod, &block_scope.base, switch_src, zir.Inst.SwitchBr, .{ - .target_ptr = target_ptr, - .cases = undefined, // populated below - .items = &[_]*zir.Inst{}, // populated below - .else_body = undefined, // populated below - }, .{})).castTag(.switchbr).?; - - var items = std.ArrayList(*zir.Inst).init(mod.gpa); - defer items.deinit(); - var cases = std.ArrayList(zir.Inst.SwitchBr.Case).init(mod.gpa); - defer cases.deinit(); - - // Add comptime block containing all prong items first, - const item_block = try addZIRInstBlock(mod, scope, switch_src, .block_comptime_flat, .{ - .instructions = undefined, // populated below - }); - // then add block containing the switch. - const block = try addZIRInstBlock(mod, scope, switch_src, .block, .{ - .instructions = try block_scope.arena.dupe(*zir.Inst, block_scope.instructions.items), - }); - - // Most result location types can be forwarded directly; however - // if we need to write to a pointer which has an inferred type, - // proper type inference requires peer type resolution on the switch case. - const case_rl: ResultLoc = switch (rl) { - .discard, .none, .ty, .ptr, .ref => rl, - .inferred_ptr, .bitcasted_ptr, .block_ptr => .{ .block_ptr = block }, - }; - - var item_scope: Scope.GenZIR = .{ - .parent = scope, - .decl = scope.ownerDecl().?, - .arena = scope.arena(), - .instructions = .{}, - }; - defer item_scope.instructions.deinit(mod.gpa); - - var case_scope: Scope.GenZIR = .{ - .parent = scope, - .decl = block_scope.decl, - .arena = block_scope.arena, - .instructions = .{}, - }; - defer case_scope.instructions.deinit(mod.gpa); - - var else_scope: Scope.GenZIR = .{ - .parent = scope, - .decl = block_scope.decl, - .arena = block_scope.arena, - .instructions = .{}, - }; - defer else_scope.instructions.deinit(mod.gpa); - - // first we gather all the switch items and check else/'_' prongs - var else_src: ?usize = null; - var underscore_src: ?usize = null; - var first_range: ?*zir.Inst = null; - var special_case: ?*ast.Node.SwitchCase = null; - for (switch_node.cases()) |uncasted_case| { - const case = uncasted_case.castTag(.SwitchCase).?; - const case_src = tree.token_locs[case.firstToken()].start; - // reset without freeing to reduce allocations. - case_scope.instructions.items.len = 0; - assert(case.items_len != 0); - - // Check for else/_ prong, those are handled last. - if (case.items_len == 1 and case.items()[0].tag == .SwitchElse) { - if (else_src) |src| { - const msg = msg: { - const msg = try mod.errMsg( - scope, - case_src, - "multiple else prongs in switch expression", - .{}, - ); - errdefer msg.destroy(mod.gpa); - try mod.errNote(scope, src, msg, "previous else prong is here", .{}); - break :msg msg; - }; - return mod.failWithOwnedErrorMsg(scope, msg); - } - else_src = case_src; - special_case = case; - continue; - } else if (case.items_len == 1 and case.items()[0].tag == .Identifier and - mem.eql(u8, tree.tokenSlice(case.items()[0].firstToken()), "_")) - { - if (underscore_src) |src| { - const msg = msg: { - const msg = try mod.errMsg( - scope, - case_src, - "multiple '_' prongs in switch expression", - .{}, - ); - errdefer msg.destroy(mod.gpa); - try mod.errNote(scope, src, msg, "previous '_' prong is here", .{}); - break :msg msg; - }; - return mod.failWithOwnedErrorMsg(scope, msg); - } - underscore_src = case_src; - special_case = case; - continue; - } - - if (else_src) |some_else| { - if (underscore_src) |some_underscore| { - const msg = msg: { - const msg = try mod.errMsg( - scope, - switch_src, - "else and '_' prong in switch expression", - .{}, - ); - errdefer msg.destroy(mod.gpa); - try mod.errNote(scope, some_else, msg, "else prong is here", .{}); - try mod.errNote(scope, some_underscore, msg, "'_' prong is here", .{}); - break :msg msg; - }; - return mod.failWithOwnedErrorMsg(scope, msg); - } - } - - // If this is a simple one item prong then it is handled by the switchbr. - if (case.items_len == 1 and getRangeNode(case.items()[0]) == null) { - const item = try expr(mod, &item_scope.base, .none, case.items()[0]); - try items.append(item); - try switchCaseExpr(mod, &case_scope.base, case_rl, block, case); - - try cases.append(.{ - .item = item, - .body = .{ .instructions = try scope.arena().dupe(*zir.Inst, case_scope.instructions.items) }, - }); - continue; - } - - // TODO if the case has few items and no ranges it might be better - // to just handle them as switch prongs. - - // Check if the target matches any of the items. - // 1, 2, 3..6 will result in - // target == 1 or target == 2 or (target >= 3 and target <= 6) - var any_ok: ?*zir.Inst = null; - for (case.items()) |item| { - if (getRangeNode(item)) |range| { - const start = try expr(mod, &item_scope.base, .none, range.lhs); - const end = try expr(mod, &item_scope.base, .none, range.rhs); - const range_src = tree.token_locs[range.op_token].start; - const range_inst = try addZIRBinOp(mod, &item_scope.base, range_src, .switch_range, start, end); - try items.append(range_inst); - if (first_range == null) first_range = range_inst; - - // target >= start and target <= end - const range_start_ok = try addZIRBinOp(mod, &else_scope.base, range_src, .cmp_gte, target, start); - const range_end_ok = try addZIRBinOp(mod, &else_scope.base, range_src, .cmp_lte, target, end); - const range_ok = try addZIRBinOp(mod, &else_scope.base, range_src, .bool_and, range_start_ok, range_end_ok); - - if (any_ok) |some| { - any_ok = try addZIRBinOp(mod, &else_scope.base, range_src, .bool_or, some, range_ok); - } else { - any_ok = range_ok; - } - continue; - } - - const item_inst = try expr(mod, &item_scope.base, .none, item); - try items.append(item_inst); - const cpm_ok = try addZIRBinOp(mod, &else_scope.base, item_inst.src, .cmp_eq, target, item_inst); - - if (any_ok) |some| { - any_ok = try addZIRBinOp(mod, &else_scope.base, item_inst.src, .bool_or, some, cpm_ok); - } else { - any_ok = cpm_ok; - } - } - - const condbr = try addZIRInstSpecial(mod, &case_scope.base, case_src, zir.Inst.CondBr, .{ - .condition = any_ok.?, - .then_body = undefined, // populated below - .else_body = undefined, // populated below - }, .{}); - const cond_block = try addZIRInstBlock(mod, &else_scope.base, case_src, .block, .{ - .instructions = try scope.arena().dupe(*zir.Inst, case_scope.instructions.items), - }); - - // reset cond_scope for then_body - case_scope.instructions.items.len = 0; - try switchCaseExpr(mod, &case_scope.base, case_rl, block, case); - condbr.positionals.then_body = .{ - .instructions = try scope.arena().dupe(*zir.Inst, case_scope.instructions.items), - }; - - // reset cond_scope for else_body - case_scope.instructions.items.len = 0; - _ = try addZIRInst(mod, &case_scope.base, case_src, zir.Inst.BreakVoid, .{ - .block = cond_block, - }, .{}); - condbr.positionals.else_body = .{ - .instructions = try scope.arena().dupe(*zir.Inst, case_scope.instructions.items), - }; - } - - // Generate else block or a break last to finish the block. - if (special_case) |case| { - try switchCaseExpr(mod, &else_scope.base, case_rl, block, case); - } else { - // Not handling all possible cases is a compile error. - _ = try addZIRNoOp(mod, &else_scope.base, switch_src, .unreachable_unsafe); - } - - // All items have been generated, add the instructions to the comptime block. - item_block.positionals.body = .{ - .instructions = try block_scope.arena.dupe(*zir.Inst, item_scope.instructions.items), - }; - - // Actually populate switch instruction values. - if (else_src != null) switch_inst.kw_args.special_prong = .@"else"; - if (underscore_src != null) switch_inst.kw_args.special_prong = .underscore; - switch_inst.positionals.cases = try block_scope.arena.dupe(zir.Inst.SwitchBr.Case, cases.items); - switch_inst.positionals.items = try block_scope.arena.dupe(*zir.Inst, items.items); - switch_inst.kw_args.range = first_range; - switch_inst.positionals.else_body = .{ - .instructions = try block_scope.arena.dupe(*zir.Inst, else_scope.instructions.items), - }; - return &block.base; -} - -fn switchCaseExpr(mod: *Module, scope: *Scope, rl: ResultLoc, block: *zir.Inst.Block, case: *ast.Node.SwitchCase) !void { - const tree = scope.tree(); - const case_src = tree.token_locs[case.firstToken()].start; - if (case.payload != null) { - return mod.fail(scope, case_src, "TODO switch case payload capture", .{}); - } - - const case_body = try expr(mod, scope, rl, case.expr); - if (!case_body.tag.isNoReturn()) { - _ = try addZIRInst(mod, scope, case_src, zir.Inst.Break, .{ - .block = block, - .operand = case_body, - }, .{}); - } -} - fn ret(mod: *Module, scope: *Scope, cfe: *ast.Node.ControlFlowExpression) InnerError!*zir.Inst { const tree = scope.tree(); const src = tree.token_locs[cfe.ltoken].start; @@ -2859,6 +2624,7 @@ fn asRlPtr( .parent = scope, .decl = scope.ownerDecl().?, .arena = scope.arena(), + .force_comptime = scope.isComptime(), .instructions = .{}, }; defer as_scope.instructions.deinit(mod.gpa); diff --git a/src/zir.zig b/src/zir.zig index 83eee71f87..2559fcdc8e 100644 --- a/src/zir.zig +++ b/src/zir.zig @@ -336,12 +336,6 @@ pub const Inst = struct { enum_literal, /// Create an enum type. enum_type, - /// A switch expression. - switchbr, - /// A range in a switch case, `lhs...rhs`. - /// Only checks that `lhs >= rhs` if they are ints, everything else is - /// validated by the .switch instruction. - switch_range, /// Does nothing; returns a void value. void_value, @@ -441,7 +435,6 @@ pub const Inst = struct { .error_union_type, .merge_error_sets, .slice_start, - .switch_range, => BinOp, .block, @@ -478,7 +471,6 @@ pub const Inst = struct { .enum_literal => EnumLiteral, .error_set => ErrorSet, .slice => Slice, - .switchbr => SwitchBr, .typeof_peer => TypeOfPeer, .container_field_named => ContainerFieldNamed, .container_field_typed => ContainerFieldTyped, @@ -605,7 +597,6 @@ pub const Inst = struct { .slice, .slice_start, .import, - .switch_range, .typeof_peer, .resolve_inferred_alloc, .set_eval_branch_quota, @@ -625,7 +616,6 @@ pub const Inst = struct { .unreachable_unsafe, .unreachable_safe, .loop, - .switchbr, .container_field_named, .container_field_typed, .container_field, @@ -1091,32 +1081,6 @@ pub const Inst = struct { }, }; - pub const SwitchBr = struct { - pub const base_tag = Tag.switchbr; - base: Inst, - - positionals: struct { - target_ptr: *Inst, - /// List of all individual items and ranges - items: []*Inst, - cases: []Case, - else_body: Body, - }, - kw_args: struct { - /// Pointer to first range if such exists. - range: ?*Inst = null, - special_prong: enum { - none, - @"else", - underscore, - } = .none, - }, - - pub const Case = struct { - item: *Inst, - body: Body, - }; - }; pub const TypeOfPeer = struct { pub const base_tag = .typeof_peer; base: Inst, @@ -1467,26 +1431,6 @@ const Writer = struct { } try stream.writeByte(']'); }, - []Inst.SwitchBr.Case => { - if (param.len == 0) { - return stream.writeAll("{}"); - } - try stream.writeAll("{\n"); - for (param) |*case, i| { - if (i != 0) { - try stream.writeAll(",\n"); - } - try stream.writeByteNTimes(' ', self.indent); - self.indent += 2; - try self.writeParamToStream(stream, &case.item); - try stream.writeAll(" => "); - try self.writeParamToStream(stream, &case.body); - self.indent -= 2; - } - try stream.writeByte('\n'); - try stream.writeByteNTimes(' ', self.indent - 2); - try stream.writeByte('}'); - }, else => |T| @compileError("unimplemented: rendering parameter of type " ++ @typeName(T)), } } diff --git a/src/zir_sema.zig b/src/zir_sema.zig index 773c782746..301b95ad97 100644 --- a/src/zir_sema.zig +++ b/src/zir_sema.zig @@ -151,8 +151,6 @@ pub fn analyzeInst(mod: *Module, scope: *Scope, old_inst: *zir.Inst) InnerError! .slice => return zirSlice(mod, scope, old_inst.castTag(.slice).?), .slice_start => return zirSliceStart(mod, scope, old_inst.castTag(.slice_start).?), .import => return zirImport(mod, scope, old_inst.castTag(.import).?), - .switchbr => return zirSwitchbr(mod, scope, old_inst.castTag(.switchbr).?), - .switch_range => return zirSwitchRange(mod, scope, old_inst.castTag(.switch_range).?), .bool_and => return zirBoolOp(mod, scope, old_inst.castTag(.bool_and).?), .bool_or => return zirBoolOp(mod, scope, old_inst.castTag(.bool_or).?), .void_value => return mod.constVoid(scope, old_inst.src), @@ -795,6 +793,12 @@ fn analyzeBlockBody( var coerce_block = parent_block.makeSubBlock(); defer coerce_block.instructions.deinit(mod.gpa); const coerced_operand = try mod.coerce(&coerce_block.base, resolved_ty, br.operand); + // If no instructions were produced, such as in the case of a coercion of a + // constant value to a new type, we can simply point the br operand to it. + if (coerce_block.instructions.items.len == 0) { + br.operand = coerced_operand; + continue; + } assert(coerce_block.instructions.items[coerce_block.instructions.items.len - 1] == coerced_operand); // Here we depend on the br instruction having been over-allocated (if necessary) // inide analyzeBreak so that it can be converted into a br_block_flat instruction. @@ -1531,234 +1535,6 @@ fn zirSliceStart(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerError! return mod.analyzeSlice(scope, inst.base.src, array_ptr, start, null, null); } -fn zirSwitchRange(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerError!*Inst { - const tracy = trace(@src()); - defer tracy.end(); - const start = try resolveInst(mod, scope, inst.positionals.lhs); - const end = try resolveInst(mod, scope, inst.positionals.rhs); - - switch (start.ty.zigTypeTag()) { - .Int, .ComptimeInt => {}, - else => return mod.constVoid(scope, inst.base.src), - } - switch (end.ty.zigTypeTag()) { - .Int, .ComptimeInt => {}, - else => return mod.constVoid(scope, inst.base.src), - } - if (start.value()) |start_val| { - if (end.value()) |end_val| { - if (start_val.compare(.gte, end_val)) { - return mod.fail(scope, inst.base.src, "range start value must be smaller than the end value", .{}); - } - } - } - return mod.constVoid(scope, inst.base.src); -} - -fn zirSwitchbr(mod: *Module, scope: *Scope, inst: *zir.Inst.SwitchBr) InnerError!*Inst { - const tracy = trace(@src()); - defer tracy.end(); - const target_ptr = try resolveInst(mod, scope, inst.positionals.target_ptr); - const target = try mod.analyzeDeref(scope, inst.base.src, target_ptr, inst.positionals.target_ptr.src); - try validateSwitch(mod, scope, target, inst); - - if (try mod.resolveDefinedValue(scope, target)) |target_val| { - for (inst.positionals.cases) |case| { - const resolved = try resolveInst(mod, scope, case.item); - const casted = try mod.coerce(scope, target.ty, resolved); - const item = try mod.resolveConstValue(scope, casted); - - if (target_val.eql(item)) { - try analyzeBody(mod, scope.cast(Scope.Block).?, case.body); - return mod.constNoReturn(scope, inst.base.src); - } - } - try analyzeBody(mod, scope.cast(Scope.Block).?, inst.positionals.else_body); - return mod.constNoReturn(scope, inst.base.src); - } - - if (inst.positionals.cases.len == 0) { - // no cases just analyze else_branch - try analyzeBody(mod, scope.cast(Scope.Block).?, inst.positionals.else_body); - return mod.constNoReturn(scope, inst.base.src); - } - - const parent_block = try mod.requireRuntimeBlock(scope, inst.base.src); - const cases = try parent_block.arena.alloc(Inst.SwitchBr.Case, inst.positionals.cases.len); - - var case_block: Scope.Block = .{ - .parent = parent_block, - .inst_table = parent_block.inst_table, - .func = parent_block.func, - .owner_decl = parent_block.owner_decl, - .src_decl = parent_block.src_decl, - .instructions = .{}, - .arena = parent_block.arena, - .inlining = parent_block.inlining, - .is_comptime = parent_block.is_comptime, - .branch_quota = parent_block.branch_quota, - }; - defer case_block.instructions.deinit(mod.gpa); - - for (inst.positionals.cases) |case, i| { - // Reset without freeing. - case_block.instructions.items.len = 0; - - const resolved = try resolveInst(mod, scope, case.item); - const casted = try mod.coerce(scope, target.ty, resolved); - const item = try mod.resolveConstValue(scope, casted); - - try analyzeBody(mod, &case_block, case.body); - - cases[i] = .{ - .item = item, - .body = .{ .instructions = try parent_block.arena.dupe(*Inst, case_block.instructions.items) }, - }; - } - - case_block.instructions.items.len = 0; - try analyzeBody(mod, &case_block, inst.positionals.else_body); - - const else_body: ir.Body = .{ - .instructions = try parent_block.arena.dupe(*Inst, case_block.instructions.items), - }; - - return mod.addSwitchBr(parent_block, inst.base.src, target_ptr, cases, else_body); -} - -fn validateSwitch(mod: *Module, scope: *Scope, target: *Inst, inst: *zir.Inst.SwitchBr) InnerError!void { - // validate usage of '_' prongs - if (inst.kw_args.special_prong == .underscore and target.ty.zigTypeTag() != .Enum) { - return mod.fail(scope, inst.base.src, "'_' prong only allowed when switching on non-exhaustive enums", .{}); - // TODO notes "'_' prong here" inst.positionals.cases[last].src - } - - // check that target type supports ranges - if (inst.kw_args.range) |range_inst| { - switch (target.ty.zigTypeTag()) { - .Int, .ComptimeInt => {}, - else => { - return mod.fail(scope, target.src, "ranges not allowed when switching on type {}", .{target.ty}); - // TODO notes "range used here" range_inst.src - }, - } - } - - // validate for duplicate items/missing else prong - switch (target.ty.zigTypeTag()) { - .Enum => return mod.fail(scope, inst.base.src, "TODO validateSwitch .Enum", .{}), - .ErrorSet => return mod.fail(scope, inst.base.src, "TODO validateSwitch .ErrorSet", .{}), - .Union => return mod.fail(scope, inst.base.src, "TODO validateSwitch .Union", .{}), - .Int, .ComptimeInt => { - var range_set = @import("RangeSet.zig").init(mod.gpa); - defer range_set.deinit(); - - for (inst.positionals.items) |item| { - const maybe_src = if (item.castTag(.switch_range)) |range| blk: { - const start_resolved = try resolveInst(mod, scope, range.positionals.lhs); - const start_casted = try mod.coerce(scope, target.ty, start_resolved); - const end_resolved = try resolveInst(mod, scope, range.positionals.rhs); - const end_casted = try mod.coerce(scope, target.ty, end_resolved); - - break :blk try range_set.add( - try mod.resolveConstValue(scope, start_casted), - try mod.resolveConstValue(scope, end_casted), - item.src, - ); - } else blk: { - const resolved = try resolveInst(mod, scope, item); - const casted = try mod.coerce(scope, target.ty, resolved); - const value = try mod.resolveConstValue(scope, casted); - break :blk try range_set.add(value, value, item.src); - }; - - if (maybe_src) |previous_src| { - return mod.fail(scope, item.src, "duplicate switch value", .{}); - // TODO notes "previous value is here" previous_src - } - } - - if (target.ty.zigTypeTag() == .Int) { - var arena = std.heap.ArenaAllocator.init(mod.gpa); - defer arena.deinit(); - - const start = try target.ty.minInt(&arena, mod.getTarget()); - const end = try target.ty.maxInt(&arena, mod.getTarget()); - if (try range_set.spans(start, end)) { - if (inst.kw_args.special_prong == .@"else") { - return mod.fail(scope, inst.base.src, "unreachable else prong, all cases already handled", .{}); - } - return; - } - } - - if (inst.kw_args.special_prong != .@"else") { - return mod.fail(scope, inst.base.src, "switch must handle all possibilities", .{}); - } - }, - .Bool => { - var true_count: u8 = 0; - var false_count: u8 = 0; - for (inst.positionals.items) |item| { - const resolved = try resolveInst(mod, scope, item); - const casted = try mod.coerce(scope, Type.initTag(.bool), resolved); - if ((try mod.resolveConstValue(scope, casted)).toBool()) { - true_count += 1; - } else { - false_count += 1; - } - - if (true_count + false_count > 2) { - return mod.fail(scope, item.src, "duplicate switch value", .{}); - } - } - if ((true_count + false_count < 2) and inst.kw_args.special_prong != .@"else") { - return mod.fail(scope, inst.base.src, "switch must handle all possibilities", .{}); - } - if ((true_count + false_count == 2) and inst.kw_args.special_prong == .@"else") { - return mod.fail(scope, inst.base.src, "unreachable else prong, all cases already handled", .{}); - } - }, - .EnumLiteral, .Void, .Fn, .Pointer, .Type => { - if (inst.kw_args.special_prong != .@"else") { - return mod.fail(scope, inst.base.src, "else prong required when switching on type '{}'", .{target.ty}); - } - - var seen_values = std.HashMap(Value, usize, Value.hash, Value.eql, std.hash_map.DefaultMaxLoadPercentage).init(mod.gpa); - defer seen_values.deinit(); - - for (inst.positionals.items) |item| { - const resolved = try resolveInst(mod, scope, item); - const casted = try mod.coerce(scope, target.ty, resolved); - const val = try mod.resolveConstValue(scope, casted); - - if (try seen_values.fetchPut(val, item.src)) |prev| { - return mod.fail(scope, item.src, "duplicate switch value", .{}); - // TODO notes "previous value here" prev.value - } - } - }, - - .ErrorUnion, - .NoReturn, - .Array, - .Struct, - .Undefined, - .Null, - .Optional, - .BoundFn, - .Opaque, - .Vector, - .Frame, - .AnyFrame, - .ComptimeFloat, - .Float, - => { - return mod.fail(scope, target.src, "invalid switch target type '{}'", .{target.ty}); - }, - } -} - fn zirImport(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); diff --git a/test/stage2/test.zig b/test/stage2/test.zig index 0d5a52980b..78d7eba262 100644 --- a/test/stage2/test.zig +++ b/test/stage2/test.zig @@ -962,43 +962,6 @@ pub fn addCases(ctx: *TestContext) !void { , "hello\nhello\nhello\nhello\nhello\n", ); - - // comptime switch - - // Basic for loop - case.addCompareOutput( - \\pub export fn _start() noreturn { - \\ assert(foo() == 1); - \\ exit(); - \\} - \\ - \\fn foo() u32 { - \\ const a: comptime_int = 1; - \\ var b: u32 = 0; - \\ switch (a) { - \\ 1 => b = 1, - \\ 2 => b = 2, - \\ else => unreachable, - \\ } - \\ return b; - \\} - \\ - \\pub fn assert(ok: bool) void { - \\ if (!ok) unreachable; // assertion failure - \\} - \\ - \\fn exit() noreturn { - \\ asm volatile ("syscall" - \\ : - \\ : [number] "{rax}" (231), - \\ [arg1] "{rdi}" (0) - \\ : "rcx", "r11", "memory" - \\ ); - \\ unreachable; - \\} - , - "", - ); } { From 81c512f35b1926cf3fb6f29b97e68256aa164f68 Mon Sep 17 00:00:00 2001 From: Veikka Tuominen Date: Tue, 26 Jan 2021 19:50:46 +0200 Subject: [PATCH 37/73] stage2 cbe: loop instruction --- src/codegen/c.zig | 99 +++++++++++++++++++++++++++-------------------- 1 file changed, 58 insertions(+), 41 deletions(-) diff --git a/src/codegen/c.zig b/src/codegen/c.zig index b26f753757..ccde36a10d 100644 --- a/src/codegen/c.zig +++ b/src/codegen/c.zig @@ -6,7 +6,8 @@ const Writer = std.ArrayList(u8).Writer; const link = @import("../link.zig"); const Module = @import("../Module.zig"); const Compilation = @import("../Compilation.zig"); -const Inst = @import("../ir.zig").Inst; +const ir = @import("../ir.zig"); +const Inst = ir.Inst; const Value = @import("../value.zig").Value; const Type = @import("../type.zig").Type; const TypedValue = @import("../TypedValue.zig"); @@ -324,51 +325,13 @@ pub fn genDecl(o: *Object) !void { try fwd_decl_writer.writeAll(";\n"); const func: *Module.Fn = func_payload.data; - const instructions = func.body.instructions; const writer = o.code.writer(); try writer.writeAll("\n"); try o.dg.renderFunctionSignature(writer, is_global); - if (instructions.len == 0) { - try writer.writeAll(" {}\n"); - return; - } - - try writer.writeAll(" {"); + + try genBody(o, func.body); try writer.writeAll("\n"); - for (instructions) |inst| { - const result_value = switch (inst.tag) { - .add => try genBinOp(o, inst.castTag(.add).?, " + "), - .alloc => try genAlloc(o, inst.castTag(.alloc).?), - .arg => genArg(o), - .assembly => try genAsm(o, inst.castTag(.assembly).?), - .block => try genBlock(o, inst.castTag(.block).?), - .bitcast => try genBitcast(o, inst.castTag(.bitcast).?), - .breakpoint => try genBreakpoint(o, inst.castTag(.breakpoint).?), - .call => try genCall(o, inst.castTag(.call).?), - .cmp_eq => try genBinOp(o, inst.castTag(.cmp_eq).?, " == "), - .cmp_gt => try genBinOp(o, inst.castTag(.cmp_gt).?, " > "), - .cmp_gte => try genBinOp(o, inst.castTag(.cmp_gte).?, " >= "), - .cmp_lt => try genBinOp(o, inst.castTag(.cmp_lt).?, " < "), - .cmp_lte => try genBinOp(o, inst.castTag(.cmp_lte).?, " <= "), - .cmp_neq => try genBinOp(o, inst.castTag(.cmp_neq).?, " != "), - .dbg_stmt => try genDbgStmt(o, inst.castTag(.dbg_stmt).?), - .intcast => try genIntCast(o, inst.castTag(.intcast).?), - .load => try genLoad(o, inst.castTag(.load).?), - .ret => try genRet(o, inst.castTag(.ret).?), - .retvoid => try genRetVoid(o), - .store => try genStore(o, inst.castTag(.store).?), - .sub => try genBinOp(o, inst.castTag(.sub).?, " - "), - .unreach => try genUnreach(o, inst.castTag(.unreach).?), - else => |e| return o.dg.fail(o.dg.decl.src(), "TODO: C backend: implement codegen for {}", .{e}), - }; - switch (result_value) { - .none => {}, - else => try o.value_map.putNoClobber(inst, result_value), - } - } - - try writer.writeAll("}\n"); } else if (tv.val.tag() == .extern_fn) { const writer = o.code.writer(); try writer.writeAll("ZIG_EXTERN_C "); @@ -410,6 +373,52 @@ pub fn genHeader(dg: *DeclGen) error{ AnalysisFail, OutOfMemory }!void { } } +pub fn genBody(o: *Object, body: ir.Body) error{ AnalysisFail, OutOfMemory }!void { + const writer = o.code.writer(); + if (body.instructions.len == 0) { + try writer.writeAll(" {}"); + return; + } + + try writer.writeAll(" {"); + + try writer.writeAll("\n"); + for (body.instructions) |inst| { + const result_value = switch (inst.tag) { + .add => try genBinOp(o, inst.castTag(.add).?, " + "), + .alloc => try genAlloc(o, inst.castTag(.alloc).?), + .arg => genArg(o), + .assembly => try genAsm(o, inst.castTag(.assembly).?), + .block => try genBlock(o, inst.castTag(.block).?), + .bitcast => try genBitcast(o, inst.castTag(.bitcast).?), + .breakpoint => try genBreakpoint(o, inst.castTag(.breakpoint).?), + .call => try genCall(o, inst.castTag(.call).?), + .cmp_eq => try genBinOp(o, inst.castTag(.cmp_eq).?, " == "), + .cmp_gt => try genBinOp(o, inst.castTag(.cmp_gt).?, " > "), + .cmp_gte => try genBinOp(o, inst.castTag(.cmp_gte).?, " >= "), + .cmp_lt => try genBinOp(o, inst.castTag(.cmp_lt).?, " < "), + .cmp_lte => try genBinOp(o, inst.castTag(.cmp_lte).?, " <= "), + .cmp_neq => try genBinOp(o, inst.castTag(.cmp_neq).?, " != "), + .dbg_stmt => try genDbgStmt(o, inst.castTag(.dbg_stmt).?), + .intcast => try genIntCast(o, inst.castTag(.intcast).?), + .load => try genLoad(o, inst.castTag(.load).?), + .ret => try genRet(o, inst.castTag(.ret).?), + .retvoid => try genRetVoid(o), + .store => try genStore(o, inst.castTag(.store).?), + .sub => try genBinOp(o, inst.castTag(.sub).?, " - "), + .unreach => try genUnreach(o, inst.castTag(.unreach).?), + .loop => try genLoop(o, inst.castTag(.loop).?), + else => |e| return o.dg.fail(o.dg.decl.src(), "TODO: C backend: implement codegen for {}", .{e}), + }; + switch (result_value) { + .none => {}, + else => try o.value_map.putNoClobber(inst, result_value), + } + } + + try writer.writeAll("}"); +} + fn genAlloc(o: *Object, alloc: *Inst.NoOp) !CValue { const writer = o.code.writer(); @@ -627,6 +636,14 @@ fn genUnreach(o: *Object, inst: *Inst.NoOp) !CValue { return CValue.none; } +fn genLoop(o: *Object, inst: *Inst.Loop) !CValue { + try o.indent(); + try o.code.writer().writeAll("while (true)"); + try genBody(o, inst.body); + try o.code.writer().writeAll("\n"); + return CValue.none; +} + fn genAsm(o: *Object, as: *Inst.Assembly) !CValue { if (as.base.isUnused() and !as.is_volatile) return CValue.none; From 6ca0ff90b63cea79d8d63519a3c133cfde111884 Mon Sep 17 00:00:00 2001 From: Veikka Tuominen Date: Tue, 26 Jan 2021 20:25:30 +0200 Subject: [PATCH 38/73] stage2 cbe: use AutoIndentingStream --- src/codegen/c.zig | 100 +++++++++++++++++++--------------------------- src/link/C.zig | 2 + 2 files changed, 43 insertions(+), 59 deletions(-) diff --git a/src/codegen/c.zig b/src/codegen/c.zig index ccde36a10d..9bccde5ffd 100644 --- a/src/codegen/c.zig +++ b/src/codegen/c.zig @@ -1,7 +1,6 @@ const std = @import("std"); const mem = std.mem; const log = std.log.scoped(.c); -const Writer = std.ArrayList(u8).Writer; const link = @import("../link.zig"); const Module = @import("../Module.zig"); @@ -42,6 +41,7 @@ pub const Object = struct { value_map: CValueMap, next_arg_index: usize = 0, next_local_index: usize = 0, + indent_writer: std.io.AutoIndentingStream(std.ArrayList(u8).Writer), fn resolveInst(o: *Object, inst: *Inst) !CValue { if (inst.value()) |_| { @@ -58,31 +58,28 @@ pub const Object = struct { fn allocLocal(o: *Object, ty: Type, mutability: Mutability) !CValue { const local_value = o.allocLocalValue(); - try o.renderTypeAndName(o.code.writer(), ty, local_value, mutability); + try o.renderTypeAndName(o.writer(), ty, local_value, mutability); return local_value; } - fn indent(o: *Object) !void { - const indent_size = 4; - const indent_level = 1; - const indent_amt = indent_size * indent_level; - try o.code.writer().writeByteNTimes(' ', indent_amt); + fn writer(o: *Object) std.io.AutoIndentingStream(std.ArrayList(u8).Writer).Writer { + return o.indent_writer.writer(); } - fn writeCValue(o: *Object, writer: Writer, c_value: CValue) !void { + fn writeCValue(o: *Object, w: anytype, c_value: CValue) !void { switch (c_value) { .none => unreachable, - .local => |i| return writer.print("t{d}", .{i}), - .local_ref => |i| return writer.print("&t{d}", .{i}), - .constant => |inst| return o.dg.renderValue(writer, inst.ty, inst.value().?), - .arg => |i| return writer.print("a{d}", .{i}), - .decl => |decl| return writer.writeAll(mem.span(decl.name)), + .local => |i| return w.print("t{d}", .{i}), + .local_ref => |i| return w.print("&t{d}", .{i}), + .constant => |inst| return o.dg.renderValue(w, inst.ty, inst.value().?), + .arg => |i| return w.print("a{d}", .{i}), + .decl => |decl| return w.writeAll(mem.span(decl.name)), } } fn renderTypeAndName( o: *Object, - writer: Writer, + w: anytype, ty: Type, name: CValue, mutability: Mutability, @@ -98,15 +95,15 @@ pub const Object = struct { render_ty = render_ty.elemType(); } - try o.dg.renderType(writer, render_ty); + try o.dg.renderType(w, render_ty); const const_prefix = switch (mutability) { .Const => "const ", .Mut => "", }; - try writer.print(" {s}", .{const_prefix}); - try o.writeCValue(writer, name); - try writer.writeAll(suffix.items); + try w.print(" {s}", .{const_prefix}); + try o.writeCValue(w, name); + try w.writeAll(suffix.items); } }; @@ -127,7 +124,7 @@ pub const DeclGen = struct { fn renderValue( dg: *DeclGen, - writer: Writer, + writer: anytype, t: Type, val: Value, ) error{ OutOfMemory, AnalysisFail }!void { @@ -204,7 +201,7 @@ pub const DeclGen = struct { } } - fn renderFunctionSignature(dg: *DeclGen, w: Writer, is_global: bool) !void { + fn renderFunctionSignature(dg: *DeclGen, w: anytype, is_global: bool) !void { if (!is_global) { try w.writeAll("static "); } @@ -228,7 +225,7 @@ pub const DeclGen = struct { try w.writeByte(')'); } - fn renderType(dg: *DeclGen, w: Writer, t: Type) error{ OutOfMemory, AnalysisFail }!void { + fn renderType(dg: *DeclGen, w: anytype, t: Type) error{ OutOfMemory, AnalysisFail }!void { switch (t.zigTypeTag()) { .NoReturn => { try w.writeAll("zig_noreturn void"); @@ -325,20 +322,19 @@ pub fn genDecl(o: *Object) !void { try fwd_decl_writer.writeAll(";\n"); const func: *Module.Fn = func_payload.data; - const writer = o.code.writer(); - try writer.writeAll("\n"); - try o.dg.renderFunctionSignature(writer, is_global); + try o.indent_writer.insertNewline(); + try o.dg.renderFunctionSignature(o.writer(), is_global); try genBody(o, func.body); - try writer.writeAll("\n"); + try o.indent_writer.insertNewline(); } else if (tv.val.tag() == .extern_fn) { - const writer = o.code.writer(); + const writer = o.writer(); try writer.writeAll("ZIG_EXTERN_C "); try o.dg.renderFunctionSignature(writer, true); try writer.writeAll(";\n"); } else { - const writer = o.code.writer(); + const writer = o.writer(); try writer.writeAll("static "); // TODO ask the Decl if it is const @@ -374,15 +370,15 @@ pub fn genHeader(dg: *DeclGen) error{ AnalysisFail, OutOfMemory }!void { } pub fn genBody(o: *Object, body: ir.Body) error{ AnalysisFail, OutOfMemory }!void { - const writer = o.code.writer(); + const writer = o.writer(); if (body.instructions.len == 0) { try writer.writeAll(" {}"); return; } - try writer.writeAll(" {"); + try writer.writeAll(" {\n"); + o.indent_writer.pushIndent(); - try writer.writeAll("\n"); for (body.instructions) |inst| { const result_value = switch (inst.tag) { .add => try genBinOp(o, inst.castTag(.add).?, " + "), @@ -416,14 +412,14 @@ pub fn genBody(o: *Object, body: ir.Body) error{ AnalysisFail, OutOfMemory }!voi } } + o.indent_writer.popIndent(); try writer.writeAll("}"); } fn genAlloc(o: *Object, alloc: *Inst.NoOp) !CValue { - const writer = o.code.writer(); + const writer = o.writer(); // First line: the variable used as data storage. - try o.indent(); const elem_type = alloc.base.ty.elemType(); const mutability: Mutability = if (alloc.base.ty.isConstPtr()) .Const else .Mut; const local = try o.allocLocal(elem_type, mutability); @@ -439,15 +435,13 @@ fn genArg(o: *Object) CValue { } fn genRetVoid(o: *Object) !CValue { - try o.indent(); - try o.code.writer().print("return;\n", .{}); + try o.writer().print("return;\n", .{}); return CValue.none; } fn genLoad(o: *Object, inst: *Inst.UnOp) !CValue { const operand = try o.resolveInst(inst.operand); - const writer = o.code.writer(); - try o.indent(); + const writer = o.writer(); const local = try o.allocLocal(inst.base.ty, .Const); switch (operand) { .local_ref => |i| { @@ -467,8 +461,7 @@ fn genLoad(o: *Object, inst: *Inst.UnOp) !CValue { fn genRet(o: *Object, inst: *Inst.UnOp) !CValue { const operand = try o.resolveInst(inst.operand); - try o.indent(); - const writer = o.code.writer(); + const writer = o.writer(); try writer.writeAll("return "); try o.writeCValue(writer, operand); try writer.writeAll(";\n"); @@ -481,8 +474,7 @@ fn genIntCast(o: *Object, inst: *Inst.UnOp) !CValue { const from = try o.resolveInst(inst.operand); - try o.indent(); - const writer = o.code.writer(); + const writer = o.writer(); const local = try o.allocLocal(inst.base.ty, .Const); try writer.writeAll(" = ("); try o.dg.renderType(writer, inst.base.ty); @@ -497,8 +489,7 @@ fn genStore(o: *Object, inst: *Inst.BinOp) !CValue { const dest_ptr = try o.resolveInst(inst.lhs); const src_val = try o.resolveInst(inst.rhs); - try o.indent(); - const writer = o.code.writer(); + const writer = o.writer(); switch (dest_ptr) { .local_ref => |i| { const dest: CValue = .{ .local = i }; @@ -525,8 +516,7 @@ fn genBinOp(o: *Object, inst: *Inst.BinOp, operator: []const u8) !CValue { const lhs = try o.resolveInst(inst.lhs); const rhs = try o.resolveInst(inst.rhs); - try o.indent(); - const writer = o.code.writer(); + const writer = o.writer(); const local = try o.allocLocal(inst.base.ty, .Const); try writer.writeAll(" = "); @@ -552,8 +542,7 @@ fn genCall(o: *Object, inst: *Inst.Call) !CValue { const unused_result = inst.base.isUnused(); var result_local: CValue = .none; - try o.indent(); - const writer = o.code.writer(); + const writer = o.writer(); if (unused_result) { if (ret_ty.hasCodeGenBits()) { try writer.print("(void)", .{}); @@ -596,8 +585,7 @@ fn genBlock(o: *Object, inst: *Inst.Block) !CValue { fn genBitcast(o: *Object, inst: *Inst.UnOp) !CValue { const operand = try o.resolveInst(inst.operand); - const writer = o.code.writer(); - try o.indent(); + const writer = o.writer(); if (inst.base.ty.zigTypeTag() == .Pointer and inst.operand.ty.zigTypeTag() == .Pointer) { const local = try o.allocLocal(inst.base.ty, .Const); try writer.writeAll(" = ("); @@ -611,7 +599,6 @@ fn genBitcast(o: *Object, inst: *Inst.UnOp) !CValue { const local = try o.allocLocal(inst.base.ty, .Mut); try writer.writeAll(";\n"); - try o.indent(); try writer.writeAll("memcpy(&"); try o.writeCValue(writer, local); @@ -625,22 +612,19 @@ fn genBitcast(o: *Object, inst: *Inst.UnOp) !CValue { } fn genBreakpoint(o: *Object, inst: *Inst.NoOp) !CValue { - try o.indent(); - try o.code.writer().writeAll("zig_breakpoint();\n"); + try o.writer().writeAll("zig_breakpoint();\n"); return CValue.none; } fn genUnreach(o: *Object, inst: *Inst.NoOp) !CValue { - try o.indent(); - try o.code.writer().writeAll("zig_unreachable();\n"); + try o.writer().writeAll("zig_unreachable();\n"); return CValue.none; } fn genLoop(o: *Object, inst: *Inst.Loop) !CValue { - try o.indent(); - try o.code.writer().writeAll("while (true)"); + try o.writer().writeAll("while (true)"); try genBody(o, inst.body); - try o.code.writer().writeAll("\n"); + try o.indent_writer.insertNewline(); return CValue.none; } @@ -648,13 +632,12 @@ fn genAsm(o: *Object, as: *Inst.Assembly) !CValue { if (as.base.isUnused() and !as.is_volatile) return CValue.none; - const writer = o.code.writer(); + const writer = o.writer(); for (as.inputs) |i, index| { if (i[0] == '{' and i[i.len - 1] == '}') { const reg = i[1 .. i.len - 1]; const arg = as.args[index]; const arg_c_value = try o.resolveInst(arg); - try o.indent(); try writer.writeAll("register "); try o.dg.renderType(writer, arg.ty); @@ -665,7 +648,6 @@ fn genAsm(o: *Object, as: *Inst.Assembly) !CValue { return o.dg.fail(o.dg.decl.src(), "TODO non-explicit inline asm regs", .{}); } } - try o.indent(); const volatile_string: []const u8 = if (as.is_volatile) "volatile " else ""; try writer.print("__asm {s}(\"{s}\"", .{ volatile_string, as.asm_source }); if (as.output) |_| { diff --git a/src/link/C.zig b/src/link/C.zig index a60d0efd8e..765249cd7d 100644 --- a/src/link/C.zig +++ b/src/link/C.zig @@ -95,7 +95,9 @@ pub fn updateDecl(self: *C, module: *Module, decl: *Module.Decl) !void { .gpa = module.gpa, .code = code.toManaged(module.gpa), .value_map = codegen.CValueMap.init(module.gpa), + .indent_writer = undefined, // set later so we can get a pointer to object.code }; + object.indent_writer = std.io.autoIndentingStream(4, object.code.writer()); defer object.value_map.deinit(); defer object.code.deinit(); defer object.dg.fwd_decl.deinit(); From bdfe3aeab8310a64cc9c2f5fac194a609aa0f13d Mon Sep 17 00:00:00 2001 From: Veikka Tuominen Date: Tue, 26 Jan 2021 21:09:40 +0200 Subject: [PATCH 39/73] stage2 cbe: condbr and breaks --- src/codegen/c.zig | 56 ++++++++++++++++++++++++++++++++++++++++----- test/stage2/cbe.zig | 18 +++++++++++++++ 2 files changed, 68 insertions(+), 6 deletions(-) diff --git a/src/codegen/c.zig b/src/codegen/c.zig index 9bccde5ffd..bf6a5aac1f 100644 --- a/src/codegen/c.zig +++ b/src/codegen/c.zig @@ -41,6 +41,7 @@ pub const Object = struct { value_map: CValueMap, next_arg_index: usize = 0, next_local_index: usize = 0, + next_block_index: usize = 0, indent_writer: std.io.AutoIndentingStream(std.ArrayList(u8).Writer), fn resolveInst(o: *Object, inst: *Inst) !CValue { @@ -255,8 +256,8 @@ pub const DeclGen = struct { .int_signed, .int_unsigned => { const info = t.intInfo(dg.module.getTarget()); const sign_prefix = switch (info.signedness) { - .signed => "i", - .unsigned => "", + .signed => "", + .unsigned => "u", }; inline for (.{ 8, 16, 32, 64, 128 }) |nbits| { if (info.bits <= nbits) { @@ -325,6 +326,7 @@ pub fn genDecl(o: *Object) !void { try o.indent_writer.insertNewline(); try o.dg.renderFunctionSignature(o.writer(), is_global); + try o.writer().writeByte(' '); try genBody(o, func.body); try o.indent_writer.insertNewline(); @@ -372,11 +374,11 @@ pub fn genHeader(dg: *DeclGen) error{ AnalysisFail, OutOfMemory }!void { pub fn genBody(o: *Object, body: ir.Body) error{ AnalysisFail, OutOfMemory }!void { const writer = o.writer(); if (body.instructions.len == 0) { - try writer.writeAll(" {}"); + try writer.writeAll("{}"); return; } - try writer.writeAll(" {\n"); + try writer.writeAll("{\n"); o.indent_writer.pushIndent(); for (body.instructions) |inst| { @@ -404,6 +406,9 @@ pub fn genBody(o: *Object, body: ir.Body) error{ AnalysisFail, OutOfMemory }!voi .sub => try genBinOp(o, inst.castTag(.sub).?, " - "), .unreach => try genUnreach(o, inst.castTag(.unreach).?), .loop => try genLoop(o, inst.castTag(.loop).?), + .condbr => try genCondBr(o, inst.castTag(.condbr).?), + .br => try genBr(o, inst.castTag(.br).?), + .brvoid => try genBrVoid(o, inst.castTag(.brvoid).?.block), else => |e| return o.dg.fail(o.dg.decl.src(), "TODO: C backend: implement codegen for {}", .{e}), }; switch (result_value) { @@ -579,7 +584,31 @@ fn genDbgStmt(o: *Object, inst: *Inst.NoOp) !CValue { } fn genBlock(o: *Object, inst: *Inst.Block) !CValue { - return o.dg.fail(o.dg.decl.src(), "TODO: C backend: implement blocks", .{}); + const block_id: usize = o.next_block_index; + o.next_block_index += 1; + // abuse codegen.msv to store the block's id + inst.codegen.mcv.a = block_id; + try genBody(o, inst.body); + try o.indent_writer.insertNewline(); + // label must be followed by an expression, add an empty one. + try o.writer().print("zig_block_{d}:;\n", .{block_id}); + + // blocks in C cannot result in values + // TODO we need some other way to pass the result of the block + return CValue.none; +} + +fn genBr(o: *Object, inst: *Inst.Br) !CValue { + if (inst.operand.ty.tag() != .void) { + return o.dg.fail(o.dg.decl.src(), "TODO: C backend: implement block return values", .{}); + } + + return genBrVoid(o, inst.block); +} + +fn genBrVoid(o: *Object, block: *Inst.Block) !CValue { + try o.writer().print("goto zig_block_{d};\n", .{block.codegen.mcv.a}); + return CValue.none; } fn genBitcast(o: *Object, inst: *Inst.UnOp) !CValue { @@ -622,12 +651,27 @@ fn genUnreach(o: *Object, inst: *Inst.NoOp) !CValue { } fn genLoop(o: *Object, inst: *Inst.Loop) !CValue { - try o.writer().writeAll("while (true)"); + try o.writer().writeAll("while (true) "); try genBody(o, inst.body); try o.indent_writer.insertNewline(); return CValue.none; } +fn genCondBr(o: *Object, inst: *Inst.CondBr) !CValue { + const cond = try o.resolveInst(inst.condition); + const writer = o.writer(); + + try writer.writeAll("if ("); + try o.writeCValue(writer, cond); + try writer.writeAll(") "); + try genBody(o, inst.then_body); + try writer.writeAll(" else "); + try genBody(o, inst.else_body); + try o.indent_writer.insertNewline(); + + return CValue.none; +} + fn genAsm(o: *Object, as: *Inst.Assembly) !CValue { if (as.base.isUnused() and !as.is_volatile) return CValue.none; diff --git a/test/stage2/cbe.zig b/test/stage2/cbe.zig index 6d4e2062bf..c953d6077e 100644 --- a/test/stage2/cbe.zig +++ b/test/stage2/cbe.zig @@ -133,6 +133,24 @@ pub fn addCases(ctx: *TestContext) !void { \\} \\ , ""); + + // Simple while loop + case.addCompareOutput( + \\export fn main() c_int { + \\ var a: c_int = 0; + \\ while (a < 5) : (a+=1) {} + \\ exit(a - 5); + \\} + \\ + \\fn exit(code: usize) noreturn { + \\ asm volatile ("syscall" + \\ : + \\ : [number] "{rax}" (231), + \\ [arg1] "{rdi}" (code) + \\ ); + \\ unreachable; + \\} + , ""); } { From 258f3ec5ecf8d2a165382d5837bed0dac2e0375b Mon Sep 17 00:00:00 2001 From: Veikka Tuominen Date: Wed, 27 Jan 2021 11:05:22 +0200 Subject: [PATCH 40/73] stage2 cbe: block results --- src/codegen/c.zig | 38 +++++++++++++++++++++++++++----------- test/stage2/cbe.zig | 21 +++++++++++++++++++++ 2 files changed, 48 insertions(+), 11 deletions(-) diff --git a/src/codegen/c.zig b/src/codegen/c.zig index bf6a5aac1f..e33f812f0b 100644 --- a/src/codegen/c.zig +++ b/src/codegen/c.zig @@ -325,7 +325,7 @@ pub fn genDecl(o: *Object) !void { const func: *Module.Fn = func_payload.data; try o.indent_writer.insertNewline(); try o.dg.renderFunctionSignature(o.writer(), is_global); - + try o.writer().writeByte(' '); try genBody(o, func.body); @@ -586,28 +586,44 @@ fn genDbgStmt(o: *Object, inst: *Inst.NoOp) !CValue { fn genBlock(o: *Object, inst: *Inst.Block) !CValue { const block_id: usize = o.next_block_index; o.next_block_index += 1; - // abuse codegen.msv to store the block's id - inst.codegen.mcv.a = block_id; + const writer = o.writer(); + + // store the block id in relocs.capacity as it is not used for anything else in the C backend. + inst.codegen.relocs.capacity = block_id; + const result = if (inst.base.ty.tag() != .void and !inst.base.isUnused()) blk: { + // allocate a location for the result + const local = try o.allocLocal(inst.base.ty, .Mut); + try writer.writeAll(";\n"); + break :blk local; + } else + CValue{ .none = {} }; + + inst.codegen.mcv = @bitCast(@import("../codegen.zig").AnyMCValue, result); try genBody(o, inst.body); try o.indent_writer.insertNewline(); // label must be followed by an expression, add an empty one. - try o.writer().print("zig_block_{d}:;\n", .{block_id}); - - // blocks in C cannot result in values - // TODO we need some other way to pass the result of the block - return CValue.none; + try writer.print("zig_block_{d}:;\n", .{block_id}); + return result; } fn genBr(o: *Object, inst: *Inst.Br) !CValue { - if (inst.operand.ty.tag() != .void) { - return o.dg.fail(o.dg.decl.src(), "TODO: C backend: implement block return values", .{}); + const result = @bitCast(CValue, inst.block.codegen.mcv); + const writer = o.writer(); + + // If result is .none then the value of the block is unused. + if (inst.operand.ty.tag() != .void and result != .none) { + const operand = try o.resolveInst(inst.operand); + try o.writeCValue(writer, result); + try writer.writeAll(" = "); + try o.writeCValue(writer, operand); + try writer.writeAll(";\n"); } return genBrVoid(o, inst.block); } fn genBrVoid(o: *Object, block: *Inst.Block) !CValue { - try o.writer().print("goto zig_block_{d};\n", .{block.codegen.mcv.a}); + try o.writer().print("goto zig_block_{d};\n", .{block.codegen.relocs.capacity}); return CValue.none; } diff --git a/test/stage2/cbe.zig b/test/stage2/cbe.zig index c953d6077e..8a264f5ca6 100644 --- a/test/stage2/cbe.zig +++ b/test/stage2/cbe.zig @@ -151,6 +151,27 @@ pub fn addCases(ctx: *TestContext) !void { \\ unreachable; \\} , ""); + + // If expression + case.addCompareOutput( + \\export fn main() c_int { + \\ var cond: c_int = 0; + \\ var a: c_int = @as(c_int, if (cond == 0) + \\ 2 + \\ else + \\ 3) + 9; + \\ exit(a - 11); + \\} + \\ + \\fn exit(code: usize) noreturn { + \\ asm volatile ("syscall" + \\ : + \\ : [number] "{rax}" (231), + \\ [arg1] "{rdi}" (code) + \\ ); + \\ unreachable; + \\} + , ""); } { From 106520329e5adc6cf5ef83595da6c9d5dd3c4b35 Mon Sep 17 00:00:00 2001 From: Veikka Tuominen Date: Wed, 27 Jan 2021 11:40:34 +0200 Subject: [PATCH 41/73] stage2 cbe: implement switchbr --- src/Module.zig | 4 +-- src/codegen/c.zig | 35 ++++++++++++++++++++ src/ir.zig | 4 +-- test/stage2/cbe.zig | 78 ++++++++++++++++++++++----------------------- 4 files changed, 78 insertions(+), 43 deletions(-) diff --git a/src/Module.zig b/src/Module.zig index b495afb336..46c3d513f1 100644 --- a/src/Module.zig +++ b/src/Module.zig @@ -2215,7 +2215,7 @@ pub fn addSwitchBr( self: *Module, block: *Scope.Block, src: usize, - target_ptr: *Inst, + target: *Inst, cases: []Inst.SwitchBr.Case, else_body: ir.Body, ) !*Inst { @@ -2226,7 +2226,7 @@ pub fn addSwitchBr( .ty = Type.initTag(.noreturn), .src = src, }, - .target_ptr = target_ptr, + .target = target, .cases = cases, .else_body = else_body, }; diff --git a/src/codegen/c.zig b/src/codegen/c.zig index e33f812f0b..7fcbe44205 100644 --- a/src/codegen/c.zig +++ b/src/codegen/c.zig @@ -129,6 +129,9 @@ pub const DeclGen = struct { t: Type, val: Value, ) error{ OutOfMemory, AnalysisFail }!void { + if (val.isUndef()) { + return dg.fail(dg.decl.src(), "TODO: C backend: properly handle undefined in all cases (with debug safety?)", .{}); + } switch (t.zigTypeTag()) { .Int => { if (t.isSignedInt()) @@ -196,6 +199,7 @@ pub const DeclGen = struct { }, } }, + .Bool => return writer.print("{}", .{val.toBool()}), else => |e| return dg.fail(dg.decl.src(), "TODO: C backend: implement value {s}", .{ @tagName(e), }), @@ -409,6 +413,10 @@ pub fn genBody(o: *Object, body: ir.Body) error{ AnalysisFail, OutOfMemory }!voi .condbr => try genCondBr(o, inst.castTag(.condbr).?), .br => try genBr(o, inst.castTag(.br).?), .brvoid => try genBrVoid(o, inst.castTag(.brvoid).?.block), + .switchbr => try genSwitchBr(o, inst.castTag(.switchbr).?), + // booland and boolor are non-short-circuit operations + .booland => try genBinOp(o, inst.castTag(.booland).?, " & "), + .boolor => try genBinOp(o, inst.castTag(.boolor).?, " | "), else => |e| return o.dg.fail(o.dg.decl.src(), "TODO: C backend: implement codegen for {}", .{e}), }; switch (result_value) { @@ -688,6 +696,33 @@ fn genCondBr(o: *Object, inst: *Inst.CondBr) !CValue { return CValue.none; } +fn genSwitchBr(o: *Object, inst: *Inst.SwitchBr) !CValue { + const target = try o.resolveInst(inst.target); + const writer = o.writer(); + + try writer.writeAll("switch ("); + try o.writeCValue(writer, target); + try writer.writeAll(") {\n"); + o.indent_writer.pushIndent(); + + for (inst.cases) |case| { + try writer.writeAll("case "); + try o.dg.renderValue(writer, inst.target.ty, case.item); + try writer.writeAll(": "); + // the case body must be noreturn so we don't need to insert a break + try genBody(o, case.body); + try o.indent_writer.insertNewline(); + } + + try writer.writeAll("default: "); + try genBody(o, inst.else_body); + try o.indent_writer.insertNewline(); + + o.indent_writer.popIndent(); + try writer.writeAll("}\n"); + return CValue.none; +} + fn genAsm(o: *Object, as: *Inst.Assembly) !CValue { if (as.base.isUnused() and !as.is_volatile) return CValue.none; diff --git a/src/ir.zig b/src/ir.zig index 408efc3bba..0e83dbfd56 100644 --- a/src/ir.zig +++ b/src/ir.zig @@ -521,7 +521,7 @@ pub const Inst = struct { pub const base_tag = Tag.switchbr; base: Inst, - target_ptr: *Inst, + target: *Inst, cases: []Case, /// Set of instructions whose lifetimes end at the start of one of the cases. /// In same order as cases, deaths[0..case_0_count, case_0_count .. case_1_count, ... ]. @@ -544,7 +544,7 @@ pub const Inst = struct { var i = index; if (i < 1) - return self.target_ptr; + return self.target; i -= 1; return null; diff --git a/test/stage2/cbe.zig b/test/stage2/cbe.zig index 8a264f5ca6..aacb2b7077 100644 --- a/test/stage2/cbe.zig +++ b/test/stage2/cbe.zig @@ -133,45 +133,6 @@ pub fn addCases(ctx: *TestContext) !void { \\} \\ , ""); - - // Simple while loop - case.addCompareOutput( - \\export fn main() c_int { - \\ var a: c_int = 0; - \\ while (a < 5) : (a+=1) {} - \\ exit(a - 5); - \\} - \\ - \\fn exit(code: usize) noreturn { - \\ asm volatile ("syscall" - \\ : - \\ : [number] "{rax}" (231), - \\ [arg1] "{rdi}" (code) - \\ ); - \\ unreachable; - \\} - , ""); - - // If expression - case.addCompareOutput( - \\export fn main() c_int { - \\ var cond: c_int = 0; - \\ var a: c_int = @as(c_int, if (cond == 0) - \\ 2 - \\ else - \\ 3) + 9; - \\ exit(a - 11); - \\} - \\ - \\fn exit(code: usize) noreturn { - \\ asm volatile ("syscall" - \\ : - \\ : [number] "{rax}" (231), - \\ [arg1] "{rdi}" (code) - \\ ); - \\ unreachable; - \\} - , ""); } { @@ -224,6 +185,45 @@ pub fn addCases(ctx: *TestContext) !void { \\} , ""); } + { + var case = ctx.exeFromCompiledC("control flow", .{}); + + // Simple while loop + case.addCompareOutput( + \\export fn main() c_int { + \\ var a: c_int = 0; + \\ while (a < 5) : (a+=1) {} + \\ return a - 5; + \\} + , ""); + + // If expression + case.addCompareOutput( + \\export fn main() c_int { + \\ var cond: c_int = 0; + \\ var a: c_int = @as(c_int, if (cond == 0) + \\ 2 + \\ else + \\ 3) + 9; + \\ return a - 11; + \\} + , ""); + + // Switch expression + case.addCompareOutput( + \\export fn main() c_int { + \\ var cond: c_int = 0; + \\ var a: c_int = switch (cond) { + \\ 1 => 1, + \\ 2 => 2, + \\ 99...300, 12 => 3, + \\ 0 => 4, + \\ else => 5, + \\ }; + \\ return a - 4; + \\} + , ""); + } ctx.c("empty start function", linux_x64, \\export fn _start() noreturn { \\ unreachable; From 3ec5c9a3bcae09c01cbe4f0505e6ab03834bbb98 Mon Sep 17 00:00:00 2001 From: Veikka Tuominen Date: Wed, 27 Jan 2021 12:22:38 +0200 Subject: [PATCH 42/73] stage2 cbe: implement not and some bitwise ops --- src/codegen/c.zig | 24 ++++++++++++++++++++++-- test/stage2/cbe.zig | 7 +++++++ 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/src/codegen/c.zig b/src/codegen/c.zig index 7fcbe44205..39fa80ea3d 100644 --- a/src/codegen/c.zig +++ b/src/codegen/c.zig @@ -293,6 +293,7 @@ pub const DeclGen = struct { try dg.renderType(w, t.elemType()); try w.writeAll(" *"); }, + .Null, .Undefined => unreachable, // must be const or comptime else => |e| return dg.fail(dg.decl.src(), "TODO: C backend: implement type {s}", .{ @tagName(e), }), @@ -387,6 +388,7 @@ pub fn genBody(o: *Object, body: ir.Body) error{ AnalysisFail, OutOfMemory }!voi for (body.instructions) |inst| { const result_value = switch (inst.tag) { + .constant => unreachable, // excluded from function bodies .add => try genBinOp(o, inst.castTag(.add).?, " + "), .alloc => try genAlloc(o, inst.castTag(.alloc).?), .arg => genArg(o), @@ -415,8 +417,10 @@ pub fn genBody(o: *Object, body: ir.Body) error{ AnalysisFail, OutOfMemory }!voi .brvoid => try genBrVoid(o, inst.castTag(.brvoid).?.block), .switchbr => try genSwitchBr(o, inst.castTag(.switchbr).?), // booland and boolor are non-short-circuit operations - .booland => try genBinOp(o, inst.castTag(.booland).?, " & "), - .boolor => try genBinOp(o, inst.castTag(.boolor).?, " | "), + .booland, .bitand => try genBinOp(o, inst.castTag(.booland).?, " & "), + .boolor, .bitor => try genBinOp(o, inst.castTag(.boolor).?, " | "), + .xor => try genBinOp(o, inst.castTag(.xor).?, " ^ "), + .not => try genUnOp(o, inst.castTag(.not).?, "!"), else => |e| return o.dg.fail(o.dg.decl.src(), "TODO: C backend: implement codegen for {}", .{e}), }; switch (result_value) { @@ -541,6 +545,22 @@ fn genBinOp(o: *Object, inst: *Inst.BinOp, operator: []const u8) !CValue { return local; } +fn genUnOp(o: *Object, inst: *Inst.UnOp, operator: []const u8) !CValue { + if (inst.base.isUnused()) + return CValue.none; + + const operand = try o.resolveInst(inst.operand); + + const writer = o.writer(); + const local = try o.allocLocal(inst.base.ty, .Const); + + try writer.print(" = {s}", .{operator}); + try o.writeCValue(writer, operand); + try writer.writeAll(";\n"); + + return local; +} + fn genCall(o: *Object, inst: *Inst.Call) !CValue { if (inst.func.castTag(.constant)) |func_inst| { const fn_decl = if (func_inst.val.castTag(.extern_fn)) |extern_fn| diff --git a/test/stage2/cbe.zig b/test/stage2/cbe.zig index aacb2b7077..0eb2cf68b4 100644 --- a/test/stage2/cbe.zig +++ b/test/stage2/cbe.zig @@ -196,6 +196,13 @@ pub fn addCases(ctx: *TestContext) !void { \\ return a - 5; \\} , ""); + case.addCompareOutput( + \\export fn main() c_int { + \\ var a = true; + \\ while (!a) {} + \\ return 0; + \\} + , ""); // If expression case.addCompareOutput( From 75acfcf0eaa306b3a8872e50cb735e1d5eb18c52 Mon Sep 17 00:00:00 2001 From: Veikka Tuominen Date: Mon, 1 Feb 2021 15:45:11 +0200 Subject: [PATCH 43/73] stage2: reimplement switch --- src/astgen.zig | 313 +++++++++++++++++++++++++++++++++++++++++++++- src/codegen/c.zig | 10 +- src/zir.zig | 60 +++++++++ src/zir_sema.zig | 228 +++++++++++++++++++++++++++++++++ 4 files changed, 606 insertions(+), 5 deletions(-) diff --git a/src/astgen.zig b/src/astgen.zig index dfc5f06ddc..ece16d70da 100644 --- a/src/astgen.zig +++ b/src/astgen.zig @@ -309,7 +309,7 @@ pub fn expr(mod: *Module, scope: *Scope, rl: ResultLoc, node: *ast.Node) InnerEr .Catch => return catchExpr(mod, scope, rl, node.castTag(.Catch).?), .Comptime => return comptimeKeyword(mod, scope, rl, node.castTag(.Comptime).?), .OrElse => return orelseExpr(mod, scope, rl, node.castTag(.OrElse).?), - .Switch => return mod.failNode(scope, node, "TODO implement astgen.expr for .Switch", .{}), + .Switch => return switchExpr(mod, scope, rl, node.castTag(.Switch).?), .ContainerDecl => return containerDecl(mod, scope, rl, node.castTag(.ContainerDecl).?), .Defer => return mod.failNode(scope, node, "TODO implement astgen.expr for .Defer", .{}), @@ -2246,6 +2246,317 @@ fn forExpr( ); } +fn switchCaseUsesRef(node: *ast.Node.Switch) bool { + for (node.cases()) |uncasted_case| { + const case = uncasted_case.castTag(.SwitchCase).?; + const uncasted_payload = case.payload orelse continue; + const payload = uncasted_payload.castTag(.PointerPayload).?; + if (payload.ptr_token) |_| return true; + } + return false; +} + +fn getRangeNode(node: *ast.Node) ?*ast.Node.SimpleInfixOp { + var cur = node; + while (true) { + switch (cur.tag) { + .Range => return @fieldParentPtr(ast.Node.SimpleInfixOp, "base", cur), + .GroupedExpression => cur = @fieldParentPtr(ast.Node.GroupedExpression, "base", cur).expr, + else => return null, + } + } +} + +fn switchExpr(mod: *Module, scope: *Scope, rl: ResultLoc, switch_node: *ast.Node.Switch) InnerError!*zir.Inst { + const tree = scope.tree(); + const switch_src = tree.token_locs[switch_node.switch_token].start; + const use_ref = switchCaseUsesRef(switch_node); + + var block_scope: Scope.GenZIR = .{ + .parent = scope, + .decl = scope.ownerDecl().?, + .arena = scope.arena(), + .force_comptime = scope.isComptime(), + .instructions = .{}, + }; + setBlockResultLoc(&block_scope, rl); + defer block_scope.instructions.deinit(mod.gpa); + + var items = std.ArrayList(*zir.Inst).init(mod.gpa); + defer items.deinit(); + + // first we gather all the switch items and check else/'_' prongs + var else_src: ?usize = null; + var underscore_src: ?usize = null; + var first_range: ?*zir.Inst = null; + var simple_case_count: usize = 0; + for (switch_node.cases()) |uncasted_case| { + const case = uncasted_case.castTag(.SwitchCase).?; + const case_src = tree.token_locs[case.firstToken()].start; + assert(case.items_len != 0); + + // Check for else/_ prong, those are handled last. + if (case.items_len == 1 and case.items()[0].tag == .SwitchElse) { + if (else_src) |src| { + const msg = msg: { + const msg = try mod.errMsg( + scope, + case_src, + "multiple else prongs in switch expression", + .{}, + ); + errdefer msg.destroy(mod.gpa); + try mod.errNote(scope, src, msg, "previous else prong is here", .{}); + break :msg msg; + }; + return mod.failWithOwnedErrorMsg(scope, msg); + } + else_src = case_src; + continue; + } else if (case.items_len == 1 and case.items()[0].tag == .Identifier and + mem.eql(u8, tree.tokenSlice(case.items()[0].firstToken()), "_")) + { + if (underscore_src) |src| { + const msg = msg: { + const msg = try mod.errMsg( + scope, + case_src, + "multiple '_' prongs in switch expression", + .{}, + ); + errdefer msg.destroy(mod.gpa); + try mod.errNote(scope, src, msg, "previous '_' prong is here", .{}); + break :msg msg; + }; + return mod.failWithOwnedErrorMsg(scope, msg); + } + underscore_src = case_src; + continue; + } + + if (else_src) |some_else| { + if (underscore_src) |some_underscore| { + const msg = msg: { + const msg = try mod.errMsg( + scope, + switch_src, + "else and '_' prong in switch expression", + .{}, + ); + errdefer msg.destroy(mod.gpa); + try mod.errNote(scope, some_else, msg, "else prong is here", .{}); + try mod.errNote(scope, some_underscore, msg, "'_' prong is here", .{}); + break :msg msg; + }; + return mod.failWithOwnedErrorMsg(scope, msg); + } + } + + if (case.items_len == 1 and getRangeNode(case.items()[0]) == null) simple_case_count += 1; + + // generate all the switch items as comptime expressions + for (case.items()) |item| { + if (getRangeNode(item)) |range| { + const start = try comptimeExpr(mod, &block_scope.base, .none, range.lhs); + const end = try comptimeExpr(mod, &block_scope.base, .none, range.rhs); + const range_src = tree.token_locs[range.op_token].start; + const range_inst = try addZIRBinOp(mod, &block_scope.base, range_src, .switch_range, start, end); + try items.append(range_inst); + } else { + const item_inst = try comptimeExpr(mod, &block_scope.base, .none, item); + try items.append(item_inst); + } + } + } + + var special_prong: zir.Inst.SwitchBr.SpecialProng = .none; + if (else_src != null) special_prong = .@"else"; + if (underscore_src != null) special_prong = .underscore; + var cases = try block_scope.arena.alloc(zir.Inst.SwitchBr.Case, simple_case_count); + + const target_ptr = if (use_ref) try expr(mod, &block_scope.base, .ref, switch_node.expr) else null; + const target = if (target_ptr) |some| + try addZIRUnOp(mod, &block_scope.base, some.src, .deref, some) + else + try expr(mod, &block_scope.base, .none, switch_node.expr); + const switch_inst = try addZIRInst(mod, &block_scope.base, switch_src, zir.Inst.SwitchBr, .{ + .target = target, + .cases = cases, + .items = try block_scope.arena.dupe(*zir.Inst, items.items), + .else_body = undefined, // populated below + }, .{ + .range = first_range, + .special_prong = special_prong, + }); + + const block = try addZIRInstBlock(mod, scope, switch_src, .block, .{ + .instructions = try block_scope.arena.dupe(*zir.Inst, block_scope.instructions.items), + }); + + var case_scope: Scope.GenZIR = .{ + .parent = scope, + .decl = block_scope.decl, + .arena = block_scope.arena, + .force_comptime = block_scope.force_comptime, + .instructions = .{}, + }; + defer case_scope.instructions.deinit(mod.gpa); + + var else_scope: Scope.GenZIR = .{ + .parent = scope, + .decl = case_scope.decl, + .arena = case_scope.arena, + .force_comptime = case_scope.force_comptime, + .instructions = .{}, + }; + defer else_scope.instructions.deinit(mod.gpa); + + // Now generate all but the special cases + var special_case: ?*ast.Node.SwitchCase = null; + var items_index: usize = 0; + var case_index: usize = 0; + for (switch_node.cases()) |uncasted_case| { + const case = uncasted_case.castTag(.SwitchCase).?; + const case_src = tree.token_locs[case.firstToken()].start; + // reset without freeing to reduce allocations. + case_scope.instructions.items.len = 0; + + // Check for else/_ prong, those are handled last. + if (case.items_len == 1 and case.items()[0].tag == .SwitchElse) { + special_case = case; + continue; + } else if (case.items_len == 1 and case.items()[0].tag == .Identifier and + mem.eql(u8, tree.tokenSlice(case.items()[0].firstToken()), "_")) + { + special_case = case; + continue; + } + + // If this is a simple one item prong then it is handled by the switchbr. + if (case.items_len == 1 and getRangeNode(case.items()[0]) == null) { + const item = items.items[items_index]; + items_index += 1; + try switchCaseExpr(mod, &case_scope.base, block_scope.break_result_loc, block, case, target, target_ptr); + + cases[case_index] = .{ + .item = item, + .body = .{ .instructions = try scope.arena().dupe(*zir.Inst, case_scope.instructions.items) }, + }; + case_index += 1; + continue; + } + + // TODO if the case has few items and no ranges it might be better + // to just handle them as switch prongs. + + // Check if the target matches any of the items. + // 1, 2, 3..6 will result in + // target == 1 or target == 2 or (target >= 3 and target <= 6) + var any_ok: ?*zir.Inst = null; + for (case.items()) |item| { + if (getRangeNode(item)) |range| { + const range_src = tree.token_locs[range.op_token].start; + const range_inst = items.items[items_index].castTag(.switch_range).?; + items_index += 1; + + // target >= start and target <= end + const range_start_ok = try addZIRBinOp(mod, &else_scope.base, range_src, .cmp_gte, target, range_inst.positionals.lhs); + const range_end_ok = try addZIRBinOp(mod, &else_scope.base, range_src, .cmp_lte, target, range_inst.positionals.rhs); + const range_ok = try addZIRBinOp(mod, &else_scope.base, range_src, .bool_and, range_start_ok, range_end_ok); + + if (any_ok) |some| { + any_ok = try addZIRBinOp(mod, &else_scope.base, range_src, .bool_or, some, range_ok); + } else { + any_ok = range_ok; + } + continue; + } + + const item_inst = items.items[items_index]; + items_index += 1; + const cpm_ok = try addZIRBinOp(mod, &else_scope.base, item_inst.src, .cmp_eq, target, item_inst); + + if (any_ok) |some| { + any_ok = try addZIRBinOp(mod, &else_scope.base, item_inst.src, .bool_or, some, cpm_ok); + } else { + any_ok = cpm_ok; + } + } + + const condbr = try addZIRInstSpecial(mod, &case_scope.base, case_src, zir.Inst.CondBr, .{ + .condition = any_ok.?, + .then_body = undefined, // populated below + .else_body = undefined, // populated below + }, .{}); + const cond_block = try addZIRInstBlock(mod, &else_scope.base, case_src, .block, .{ + .instructions = try scope.arena().dupe(*zir.Inst, case_scope.instructions.items), + }); + + // reset cond_scope for then_body + case_scope.instructions.items.len = 0; + try switchCaseExpr(mod, &case_scope.base, block_scope.break_result_loc, block, case, target, target_ptr); + condbr.positionals.then_body = .{ + .instructions = try scope.arena().dupe(*zir.Inst, case_scope.instructions.items), + }; + + // reset cond_scope for else_body + case_scope.instructions.items.len = 0; + _ = try addZIRInst(mod, &case_scope.base, case_src, zir.Inst.BreakVoid, .{ + .block = cond_block, + }, .{}); + condbr.positionals.else_body = .{ + .instructions = try scope.arena().dupe(*zir.Inst, case_scope.instructions.items), + }; + } + + // Finally generate else block or a break. + if (special_case) |case| { + try switchCaseExpr(mod, &else_scope.base, block_scope.break_result_loc, block, case, target, target_ptr); + } else { + // Not handling all possible cases is a compile error. + _ = try addZIRNoOp(mod, &else_scope.base, switch_src, .unreachable_unsafe); + } + switch_inst.castTag(.switchbr).?.positionals.else_body = .{ + .instructions = try block_scope.arena.dupe(*zir.Inst, else_scope.instructions.items), + }; + + return &block.base; +} + +fn switchCaseExpr( + mod: *Module, + scope: *Scope, + rl: ResultLoc, + block: *zir.Inst.Block, + case: *ast.Node.SwitchCase, + target: *zir.Inst, + target_ptr: ?*zir.Inst, +) !void { + const tree = scope.tree(); + const case_src = tree.token_locs[case.firstToken()].start; + const sub_scope = blk: { + const uncasted_payload = case.payload orelse break :blk scope; + const payload = uncasted_payload.castTag(.PointerPayload).?; + const is_ptr = payload.ptr_token != null; + const value_name = tree.tokenSlice(payload.value_symbol.firstToken()); + if (mem.eql(u8, value_name, "_")) { + if (is_ptr) { + return mod.failTok(scope, payload.ptr_token.?, "pointer modifier invalid on discard", .{}); + } + break :blk scope; + } + return mod.failNode(scope, payload.value_symbol, "TODO implement switch value payload", .{}); + }; + + const case_body = try expr(mod, sub_scope, rl, case.expr); + if (!case_body.tag.isNoReturn()) { + _ = try addZIRInst(mod, sub_scope, case_src, zir.Inst.Break, .{ + .block = block, + .operand = case_body, + }, .{}); + } +} + fn ret(mod: *Module, scope: *Scope, cfe: *ast.Node.ControlFlowExpression) InnerError!*zir.Inst { const tree = scope.tree(); const src = tree.token_locs[cfe.ltoken].start; diff --git a/src/codegen/c.zig b/src/codegen/c.zig index 39fa80ea3d..cb3271a57f 100644 --- a/src/codegen/c.zig +++ b/src/codegen/c.zig @@ -414,11 +414,13 @@ pub fn genBody(o: *Object, body: ir.Body) error{ AnalysisFail, OutOfMemory }!voi .loop => try genLoop(o, inst.castTag(.loop).?), .condbr => try genCondBr(o, inst.castTag(.condbr).?), .br => try genBr(o, inst.castTag(.br).?), - .brvoid => try genBrVoid(o, inst.castTag(.brvoid).?.block), + .br_void => try genBrVoid(o, inst.castTag(.br_void).?.block), .switchbr => try genSwitchBr(o, inst.castTag(.switchbr).?), - // booland and boolor are non-short-circuit operations - .booland, .bitand => try genBinOp(o, inst.castTag(.booland).?, " & "), - .boolor, .bitor => try genBinOp(o, inst.castTag(.boolor).?, " | "), + // bool_and and bool_or are non-short-circuit operations + .bool_and => try genBinOp(o, inst.castTag(.bool_and).?, " & "), + .bool_or => try genBinOp(o, inst.castTag(.bool_or).?, " | "), + .bit_and => try genBinOp(o, inst.castTag(.bit_and).?, " & "), + .bit_or => try genBinOp(o, inst.castTag(.bit_or).?, " | "), .xor => try genBinOp(o, inst.castTag(.xor).?, " ^ "), .not => try genUnOp(o, inst.castTag(.not).?, "!"), else => |e| return o.dg.fail(o.dg.decl.src(), "TODO: C backend: implement codegen for {}", .{e}), diff --git a/src/zir.zig b/src/zir.zig index 2559fcdc8e..30bfeead9b 100644 --- a/src/zir.zig +++ b/src/zir.zig @@ -338,6 +338,12 @@ pub const Inst = struct { enum_type, /// Does nothing; returns a void value. void_value, + /// A switch expression. + switchbr, + /// A range in a switch case, `lhs...rhs`. + /// Only checks that `lhs >= rhs` if they are ints, everything else is + /// validated by the .switch instruction. + switch_range, pub fn Type(tag: Tag) type { return switch (tag) { @@ -435,6 +441,7 @@ pub const Inst = struct { .error_union_type, .merge_error_sets, .slice_start, + .switch_range, => BinOp, .block, @@ -478,6 +485,7 @@ pub const Inst = struct { .enum_type => EnumType, .union_type => UnionType, .struct_type => StructType, + .switchbr => SwitchBr, }; } @@ -605,6 +613,8 @@ pub const Inst = struct { .union_type, .struct_type, .void_value, + .switch_range, + .switchbr, => false, .@"break", @@ -1171,6 +1181,36 @@ pub const Inst = struct { none, }; }; + + pub const SwitchBr = struct { + pub const base_tag = Tag.switchbr; + base: Inst, + + positionals: struct { + target: *Inst, + /// List of all individual items and ranges + items: []*Inst, + cases: []Case, + else_body: Body, + }, + kw_args: struct { + /// Pointer to first range if such exists. + range: ?*Inst = null, + special_prong: SpecialProng = .none, + }, + + // Not anonymous due to stage1 limitations + pub const SpecialProng = enum { + none, + @"else", + underscore, + }; + + pub const Case = struct { + item: *Inst, + body: Body, + }; + }; }; pub const ErrorMsg = struct { @@ -1431,6 +1471,26 @@ const Writer = struct { } try stream.writeByte(']'); }, + []Inst.SwitchBr.Case => { + if (param.len == 0) { + return stream.writeAll("{}"); + } + try stream.writeAll("{\n"); + for (param) |*case, i| { + if (i != 0) { + try stream.writeAll(",\n"); + } + try stream.writeByteNTimes(' ', self.indent); + self.indent += 2; + try self.writeParamToStream(stream, &case.item); + try stream.writeAll(" => "); + try self.writeParamToStream(stream, &case.body); + self.indent -= 2; + } + try stream.writeByte('\n'); + try stream.writeByteNTimes(' ', self.indent - 2); + try stream.writeByte('}'); + }, else => |T| @compileError("unimplemented: rendering parameter of type " ++ @typeName(T)), } } diff --git a/src/zir_sema.zig b/src/zir_sema.zig index 301b95ad97..f373d7174d 100644 --- a/src/zir_sema.zig +++ b/src/zir_sema.zig @@ -154,6 +154,8 @@ pub fn analyzeInst(mod: *Module, scope: *Scope, old_inst: *zir.Inst) InnerError! .bool_and => return zirBoolOp(mod, scope, old_inst.castTag(.bool_and).?), .bool_or => return zirBoolOp(mod, scope, old_inst.castTag(.bool_or).?), .void_value => return mod.constVoid(scope, old_inst.src), + .switchbr => return zirSwitchBr(mod, scope, old_inst.castTag(.switchbr).?), + .switch_range => return zirSwitchRange(mod, scope, old_inst.castTag(.switch_range).?), .container_field_named, .container_field_typed, @@ -1535,6 +1537,232 @@ fn zirSliceStart(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerError! return mod.analyzeSlice(scope, inst.base.src, array_ptr, start, null, null); } +fn zirSwitchRange(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerError!*Inst { + const tracy = trace(@src()); + defer tracy.end(); + const start = try resolveInst(mod, scope, inst.positionals.lhs); + const end = try resolveInst(mod, scope, inst.positionals.rhs); + + switch (start.ty.zigTypeTag()) { + .Int, .ComptimeInt => {}, + else => return mod.constVoid(scope, inst.base.src), + } + switch (end.ty.zigTypeTag()) { + .Int, .ComptimeInt => {}, + else => return mod.constVoid(scope, inst.base.src), + } + // .switch_range must be inside a comptime scope + const start_val = start.value().?; + const end_val = end.value().?; + if (start_val.compare(.gte, end_val)) { + return mod.fail(scope, inst.base.src, "range start value must be smaller than the end value", .{}); + } + return mod.constVoid(scope, inst.base.src); +} + +fn zirSwitchBr(mod: *Module, scope: *Scope, inst: *zir.Inst.SwitchBr) InnerError!*Inst { + const tracy = trace(@src()); + defer tracy.end(); + const target = try resolveInst(mod, scope, inst.positionals.target); + try validateSwitch(mod, scope, target, inst); + + if (try mod.resolveDefinedValue(scope, target)) |target_val| { + for (inst.positionals.cases) |case| { + const resolved = try resolveInst(mod, scope, case.item); + const casted = try mod.coerce(scope, target.ty, resolved); + const item = try mod.resolveConstValue(scope, casted); + + if (target_val.eql(item)) { + try analyzeBody(mod, scope.cast(Scope.Block).?, case.body); + return mod.constNoReturn(scope, inst.base.src); + } + } + try analyzeBody(mod, scope.cast(Scope.Block).?, inst.positionals.else_body); + return mod.constNoReturn(scope, inst.base.src); + } + + if (inst.positionals.cases.len == 0) { + // no cases just analyze else_branch + try analyzeBody(mod, scope.cast(Scope.Block).?, inst.positionals.else_body); + return mod.constNoReturn(scope, inst.base.src); + } + + const parent_block = try mod.requireRuntimeBlock(scope, inst.base.src); + const cases = try parent_block.arena.alloc(Inst.SwitchBr.Case, inst.positionals.cases.len); + + var case_block: Scope.Block = .{ + .parent = parent_block, + .inst_table = parent_block.inst_table, + .func = parent_block.func, + .owner_decl = parent_block.owner_decl, + .src_decl = parent_block.src_decl, + .instructions = .{}, + .arena = parent_block.arena, + .inlining = parent_block.inlining, + .is_comptime = parent_block.is_comptime, + .branch_quota = parent_block.branch_quota, + }; + defer case_block.instructions.deinit(mod.gpa); + + for (inst.positionals.cases) |case, i| { + // Reset without freeing. + case_block.instructions.items.len = 0; + + const resolved = try resolveInst(mod, scope, case.item); + const casted = try mod.coerce(scope, target.ty, resolved); + const item = try mod.resolveConstValue(scope, casted); + + try analyzeBody(mod, &case_block, case.body); + + cases[i] = .{ + .item = item, + .body = .{ .instructions = try parent_block.arena.dupe(*Inst, case_block.instructions.items) }, + }; + } + + case_block.instructions.items.len = 0; + try analyzeBody(mod, &case_block, inst.positionals.else_body); + + const else_body: ir.Body = .{ + .instructions = try parent_block.arena.dupe(*Inst, case_block.instructions.items), + }; + + return mod.addSwitchBr(parent_block, inst.base.src, target, cases, else_body); +} + +fn validateSwitch(mod: *Module, scope: *Scope, target: *Inst, inst: *zir.Inst.SwitchBr) InnerError!void { + // validate usage of '_' prongs + if (inst.kw_args.special_prong == .underscore and target.ty.zigTypeTag() != .Enum) { + return mod.fail(scope, inst.base.src, "'_' prong only allowed when switching on non-exhaustive enums", .{}); + // TODO notes "'_' prong here" inst.positionals.cases[last].src + } + + // check that target type supports ranges + if (inst.kw_args.range) |range_inst| { + switch (target.ty.zigTypeTag()) { + .Int, .ComptimeInt => {}, + else => { + return mod.fail(scope, target.src, "ranges not allowed when switching on type {}", .{target.ty}); + // TODO notes "range used here" range_inst.src + }, + } + } + + // validate for duplicate items/missing else prong + switch (target.ty.zigTypeTag()) { + .Enum => return mod.fail(scope, inst.base.src, "TODO validateSwitch .Enum", .{}), + .ErrorSet => return mod.fail(scope, inst.base.src, "TODO validateSwitch .ErrorSet", .{}), + .Union => return mod.fail(scope, inst.base.src, "TODO validateSwitch .Union", .{}), + .Int, .ComptimeInt => { + var range_set = @import("RangeSet.zig").init(mod.gpa); + defer range_set.deinit(); + + for (inst.positionals.items) |item| { + const maybe_src = if (item.castTag(.switch_range)) |range| blk: { + const start_resolved = try resolveInst(mod, scope, range.positionals.lhs); + const start_casted = try mod.coerce(scope, target.ty, start_resolved); + const end_resolved = try resolveInst(mod, scope, range.positionals.rhs); + const end_casted = try mod.coerce(scope, target.ty, end_resolved); + + break :blk try range_set.add( + try mod.resolveConstValue(scope, start_casted), + try mod.resolveConstValue(scope, end_casted), + item.src, + ); + } else blk: { + const resolved = try resolveInst(mod, scope, item); + const casted = try mod.coerce(scope, target.ty, resolved); + const value = try mod.resolveConstValue(scope, casted); + break :blk try range_set.add(value, value, item.src); + }; + + if (maybe_src) |previous_src| { + return mod.fail(scope, item.src, "duplicate switch value", .{}); + // TODO notes "previous value is here" previous_src + } + } + + if (target.ty.zigTypeTag() == .Int) { + var arena = std.heap.ArenaAllocator.init(mod.gpa); + defer arena.deinit(); + + const start = try target.ty.minInt(&arena, mod.getTarget()); + const end = try target.ty.maxInt(&arena, mod.getTarget()); + if (try range_set.spans(start, end)) { + if (inst.kw_args.special_prong == .@"else") { + return mod.fail(scope, inst.base.src, "unreachable else prong, all cases already handled", .{}); + } + return; + } + } + + if (inst.kw_args.special_prong != .@"else") { + return mod.fail(scope, inst.base.src, "switch must handle all possibilities", .{}); + } + }, + .Bool => { + var true_count: u8 = 0; + var false_count: u8 = 0; + for (inst.positionals.items) |item| { + const resolved = try resolveInst(mod, scope, item); + const casted = try mod.coerce(scope, Type.initTag(.bool), resolved); + if ((try mod.resolveConstValue(scope, casted)).toBool()) { + true_count += 1; + } else { + false_count += 1; + } + + if (true_count + false_count > 2) { + return mod.fail(scope, item.src, "duplicate switch value", .{}); + } + } + if ((true_count + false_count < 2) and inst.kw_args.special_prong != .@"else") { + return mod.fail(scope, inst.base.src, "switch must handle all possibilities", .{}); + } + if ((true_count + false_count == 2) and inst.kw_args.special_prong == .@"else") { + return mod.fail(scope, inst.base.src, "unreachable else prong, all cases already handled", .{}); + } + }, + .EnumLiteral, .Void, .Fn, .Pointer, .Type => { + if (inst.kw_args.special_prong != .@"else") { + return mod.fail(scope, inst.base.src, "else prong required when switching on type '{}'", .{target.ty}); + } + + var seen_values = std.HashMap(Value, usize, Value.hash, Value.eql, std.hash_map.DefaultMaxLoadPercentage).init(mod.gpa); + defer seen_values.deinit(); + + for (inst.positionals.items) |item| { + const resolved = try resolveInst(mod, scope, item); + const casted = try mod.coerce(scope, target.ty, resolved); + const val = try mod.resolveConstValue(scope, casted); + + if (try seen_values.fetchPut(val, item.src)) |prev| { + return mod.fail(scope, item.src, "duplicate switch value", .{}); + // TODO notes "previous value here" prev.value + } + } + }, + + .ErrorUnion, + .NoReturn, + .Array, + .Struct, + .Undefined, + .Null, + .Optional, + .BoundFn, + .Opaque, + .Vector, + .Frame, + .AnyFrame, + .ComptimeFloat, + .Float, + => { + return mod.fail(scope, target.src, "invalid switch target type '{}'", .{target.ty}); + }, + } +} + fn zirImport(mod: *Module, scope: *Scope, inst: *zir.Inst.UnOp) InnerError!*Inst { const tracy = trace(@src()); defer tracy.end(); From a03f9548d3dd32876f99f5b7bdf1d678c5a5b98e Mon Sep 17 00:00:00 2001 From: Frank Denis Date: Sun, 31 Jan 2021 20:58:11 +0100 Subject: [PATCH 44/73] std/math/big/int: normalize after a right shift After a right shift, top limbs may be all zero. However, without normalization, the number of limbs is not going to change. In order to check if a big number is zero, we used to assume that the number of limbs is 1. Which may not be the case after right shifts, even if the actual value is zero. - Normalize after a right shift - Add a test for that issue - Check all the limbs in `eqlZero()`. It may not be necessary if callers always remember to normalize before calling the function. But checking all the limbs is very cheap and makes the function less bug-prone. --- lib/std/math/big/int.zig | 8 +++++--- lib/std/math/big/int_test.zig | 6 ++++++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/std/math/big/int.zig b/lib/std/math/big/int.zig index 3cd72dd8e4..81982eac51 100644 --- a/lib/std/math/big/int.zig +++ b/lib/std/math/big/int.zig @@ -549,8 +549,8 @@ pub const Mutable = struct { return; } - const r_len = llshr(r.limbs[0..], a.limbs[0..a.limbs.len], shift); - r.len = a.limbs.len - (shift / limb_bits); + llshr(r.limbs[0..], a.limbs[0..a.limbs.len], shift); + r.normalize(a.limbs.len - (shift / limb_bits)); r.positive = a.positive; } @@ -1348,7 +1348,9 @@ pub const Const = struct { /// Returns true if `a == 0`. pub fn eqZero(a: Const) bool { - return a.limbs.len == 1 and a.limbs[0] == 0; + var d: Limb = 0; + for (a.limbs) |limb| d |= limb; + return d == 0; } /// Returns true if `|a| == |b|`. diff --git a/lib/std/math/big/int_test.zig b/lib/std/math/big/int_test.zig index b73e9f90d6..179e55ff69 100644 --- a/lib/std/math/big/int_test.zig +++ b/lib/std/math/big/int_test.zig @@ -1287,6 +1287,12 @@ test "big.int shift-right multi" { try a.shiftRight(a, 67); testing.expect((try a.to(u64)) == 0x1fffe0001dddc222); + + try a.set(0xffff0000eeee1111dddd2222cccc3333); + try a.shiftRight(a, 63); + try a.shiftRight(a, 63); + try a.shiftRight(a, 2); + testing.expect(a.eqZero()); } test "big.int shift-left single" { From 16905d96f70045fd9d630219c85a2eb508db38b4 Mon Sep 17 00:00:00 2001 From: Vincent Rischmann Date: Mon, 1 Feb 2021 21:16:39 +0100 Subject: [PATCH 45/73] Fixes for std.Thread.Condition (#7883) * thread/condition: fix PthreadCondition compilation * thread/condition: add wait, signal and broadcast This is like std.Thread.Mutex which forwards calls to `impl`; avoids having to call `cond.impl` every time. * thread/condition: initialize the implementation --- lib/std/Thread/Condition.zig | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/lib/std/Thread/Condition.zig b/lib/std/Thread/Condition.zig index 9a8fafbb7c..a14b57f6b4 100644 --- a/lib/std/Thread/Condition.zig +++ b/lib/std/Thread/Condition.zig @@ -8,7 +8,7 @@ //! to wake up. Spurious wakeups are possible. //! This API supports static initialization and does not require deinitialization. -impl: Impl, +impl: Impl = .{}, const std = @import("../std.zig"); const Condition = @This(); @@ -17,6 +17,18 @@ const linux = std.os.linux; const Mutex = std.Thread.Mutex; const assert = std.debug.assert; +pub fn wait(cond: *Condition, mutex: *Mutex) void { + cond.impl.wait(mutex); +} + +pub fn signal(cond: *Condition) void { + cond.impl.signal(); +} + +pub fn broadcast(cond: *Condition) void { + cond.impl.broadcast(); +} + const Impl = if (std.builtin.single_threaded) SingleThreadedCondition else if (std.Target.current.os.tag == .windows) @@ -62,7 +74,7 @@ pub const PthreadCondition = struct { cond: std.c.pthread_cond_t = .{}, pub fn wait(cond: *PthreadCondition, mutex: *Mutex) void { - const rc = std.c.pthread_cond_wait(&cond.cond, &mutex.mutex); + const rc = std.c.pthread_cond_wait(&cond.cond, &mutex.impl.pthread_mutex); assert(rc == 0); } From 446ebddb937ccc8bea7060b74268e90702656fde Mon Sep 17 00:00:00 2001 From: joachimschmidt557 Date: Sun, 17 Jan 2021 11:04:25 +0100 Subject: [PATCH 46/73] stage2 ARM: save function arguments to stack for debugging This changes genArg to copy registers to the stack for better debugging. Thus, it requires genSetStack to be implemented in order for genArg to work. --- src/codegen.zig | 91 +++++++++++++++++++++++++++++++++---------------- 1 file changed, 62 insertions(+), 29 deletions(-) diff --git a/src/codegen.zig b/src/codegen.zig index 362b04ab26..904fda0deb 100644 --- a/src/codegen.zig +++ b/src/codegen.zig @@ -1567,6 +1567,59 @@ fn Function(comptime arch: std.Target.Cpu.Arch) type { } } + fn genArgDbgInfo(self: *Self, inst: *ir.Inst.Arg, mcv: MCValue) !void { + const name_with_null = inst.name[0 .. mem.lenZ(inst.name) + 1]; + + switch (mcv) { + .register => |reg| { + // Copy arg to stack for better debugging + const ty = inst.base.ty; + const abi_size = math.cast(u32, ty.abiSize(self.target.*)) catch { + return self.fail(inst.base.src, "type '{}' too big to fit into stack frame", .{ty}); + }; + const abi_align = ty.abiAlignment(self.target.*); + const stack_offset = try self.allocMem(&inst.base, abi_size, abi_align); + try self.genSetStack(inst.base.src, ty, stack_offset, MCValue{ .register = reg }); + const adjusted_stack_offset = math.negateCast(stack_offset + abi_size) catch { + return self.fail(inst.base.src, "Stack offset too large for arguments", .{}); + }; + + switch (self.debug_output) { + .dwarf => |dbg_out| { + switch (arch) { + .arm, .armeb => { + try dbg_out.dbg_info.append(link.File.Elf.abbrev_parameter); + + // Get length of the LEB128 stack offset + var counting_writer = std.io.countingWriter(std.io.null_writer); + leb128.writeILEB128(counting_writer.writer(), adjusted_stack_offset) catch unreachable; + + // DW.AT_location, DW.FORM_exprloc + // ULEB128 dwarf expression length + try leb128.writeULEB128(dbg_out.dbg_info.writer(), counting_writer.bytes_written + 1); + try dbg_out.dbg_info.append(DW.OP_breg11); + try leb128.writeILEB128(dbg_out.dbg_info.writer(), adjusted_stack_offset); + }, + else => { + try dbg_out.dbg_info.ensureCapacity(dbg_out.dbg_info.items.len + 3); + dbg_out.dbg_info.appendAssumeCapacity(link.File.Elf.abbrev_parameter); + dbg_out.dbg_info.appendSliceAssumeCapacity(&[2]u8{ // DW.AT_location, DW.FORM_exprloc + 1, // ULEB128 dwarf expression length + reg.dwarfLocOp(), + }); + }, + } + try dbg_out.dbg_info.ensureCapacity(dbg_out.dbg_info.items.len + 5 + name_with_null.len); + try self.addDbgInfoTypeReloc(inst.base.ty); // DW.AT_type, DW.FORM_ref4 + dbg_out.dbg_info.appendSliceAssumeCapacity(name_with_null); // DW.AT_name, DW.FORM_string + }, + .none => {}, + } + }, + else => {}, + } + } + fn genArg(self: *Self, inst: *ir.Inst.Arg) !MCValue { const arg_index = self.arg_index; self.arg_index += 1; @@ -1574,32 +1627,17 @@ fn Function(comptime arch: std.Target.Cpu.Arch) type { if (FreeRegInt == u0) { return self.fail(inst.base.src, "TODO implement Register enum for {}", .{self.target.cpu.arch}); } + + const result = self.args[arg_index]; + try self.genArgDbgInfo(inst, result); + if (inst.base.isUnused()) return MCValue.dead; - try self.registers.ensureCapacity(self.gpa, self.registers.count() + 1); - - const result = self.args[arg_index]; - - const name_with_null = inst.name[0 .. mem.lenZ(inst.name) + 1]; switch (result) { .register => |reg| { - self.registers.putAssumeCapacityNoClobber(toCanonicalReg(reg), &inst.base); + try self.registers.putNoClobber(self.gpa, toCanonicalReg(reg), &inst.base); self.markRegUsed(reg); - - switch (self.debug_output) { - .dwarf => |dbg_out| { - try dbg_out.dbg_info.ensureCapacity(dbg_out.dbg_info.items.len + 8 + name_with_null.len); - dbg_out.dbg_info.appendAssumeCapacity(link.File.Elf.abbrev_parameter); - dbg_out.dbg_info.appendSliceAssumeCapacity(&[2]u8{ // DW.AT_location, DW.FORM_exprloc - 1, // ULEB128 dwarf expression length - reg.dwarfLocOp(), - }); - try self.addDbgInfoTypeReloc(inst.base.ty); // DW.AT_type, DW.FORM_ref4 - dbg_out.dbg_info.appendSliceAssumeCapacity(name_with_null); // DW.AT_name, DW.FORM_string - }, - .none => {}, - } }, else => {}, } @@ -3705,10 +3743,8 @@ fn Function(comptime arch: std.Target.Cpu.Arch) type { var nsaa: u32 = 0; // Next stacked argument address for (param_types) |ty, i| { - if (ty.abiAlignment(self.target.*) == 8) { - // Round up NCRN to the next even number - ncrn += ncrn % 2; - } + if (ty.abiAlignment(self.target.*) == 8) + ncrn = std.mem.alignForwardGeneric(usize, ncrn, 2); const param_size = @intCast(u32, ty.abiSize(self.target.*)); if (std.math.divCeil(u32, param_size, 4) catch unreachable <= 4 - ncrn) { @@ -3722,11 +3758,8 @@ fn Function(comptime arch: std.Target.Cpu.Arch) type { return self.fail(src, "TODO MCValues split between registers and stack", .{}); } else { ncrn = 4; - if (ty.abiAlignment(self.target.*) == 8) { - if (nsaa % 8 != 0) { - nsaa += 8 - (nsaa % 8); - } - } + if (ty.abiAlignment(self.target.*) == 8) + nsaa = std.mem.alignForwardGeneric(u32, nsaa, 8); result.args[i] = .{ .stack_offset = nsaa }; nsaa += param_size; From 683d3f72427b39bea5827a0a1c1fc4c74dbe246e Mon Sep 17 00:00:00 2001 From: Cameron Conn Date: Mon, 1 Feb 2021 14:27:39 -0600 Subject: [PATCH 47/73] Don't read more bytes than exist in MsfStream (#7839) --- lib/std/pdb.zig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/std/pdb.zig b/lib/std/pdb.zig index 41356e84f5..6a47cd6e8b 100644 --- a/lib/std/pdb.zig +++ b/lib/std/pdb.zig @@ -662,6 +662,7 @@ const MsfStream = struct { fn read(self: *MsfStream, buffer: []u8) !usize { var block_id = @intCast(usize, self.pos / self.block_size); + if (block_id >= self.blocks.len) return 0; // End of Stream var block = self.blocks[block_id]; var offset = self.pos % self.block_size; @@ -680,6 +681,7 @@ const MsfStream = struct { if (offset == self.block_size) { offset = 0; block_id += 1; + if (block_id >= self.blocks.len) break; // End of Stream block = self.blocks[block_id]; try self.in_file.seekTo(block * self.block_size); } From c0685458a2f9463bf3c2276f9b5d9ca4b3157cd7 Mon Sep 17 00:00:00 2001 From: Luuk de Gram Date: Sun, 24 Jan 2021 10:54:51 +0100 Subject: [PATCH 48/73] Define wasm constants Update link.Wasm.zig to use std.wasm for its constants Make opcodes u8 and non-exhaustive Update test and rename 'spec' to 'wasm' --- lib/std/std.zig | 1 + lib/std/wasm.zig | 266 ++++++++++++++++++++++++++++++++++++++++++++++ src/link/Wasm.zig | 52 +++------ 3 files changed, 284 insertions(+), 35 deletions(-) create mode 100644 lib/std/wasm.zig diff --git a/lib/std/std.zig b/lib/std/std.zig index 780579debf..ca73adc36e 100644 --- a/lib/std/std.zig +++ b/lib/std/std.zig @@ -77,6 +77,7 @@ pub const testing = @import("testing.zig"); pub const time = @import("time.zig"); pub const unicode = @import("unicode.zig"); pub const valgrind = @import("valgrind.zig"); +pub const wasm = @import("wasm.zig"); pub const zig = @import("zig.zig"); pub const start = @import("start.zig"); diff --git a/lib/std/wasm.zig b/lib/std/wasm.zig new file mode 100644 index 0000000000..aa087c89c9 --- /dev/null +++ b/lib/std/wasm.zig @@ -0,0 +1,266 @@ +// SPDX-License-Identifier: MIT +// Copyright (c) 2015-2021 Zig Contributors +// This file is part of [zig](https://ziglang.org/), which is MIT licensed. +// The MIT license requires this copyright notice to be included in all copies +// and substantial portions of the software. +const testing = @import("std.zig").testing; + +/// Wasm instruction opcodes +/// +/// All instructions are defined as per spec: +/// https://webassembly.github.io/spec/core/appendix/index-instructions.html +pub const Opcode = enum(u8) { + @"unreachable" = 0x00, + nop = 0x01, + block = 0x02, + loop = 0x03, + @"if" = 0x04, + @"else" = 0x05, + end = 0x0B, + br = 0x0C, + br_if = 0x0D, + br_table = 0x0E, + @"return" = 0x0F, + call = 0x10, + call_indirect = 0x11, + drop = 0x1A, + select = 0x1B, + local_get = 0x20, + local_set = 0x21, + local_tee = 0x22, + global_get = 0x23, + global_set = 0x24, + i32_load = 0x28, + i64_load = 0x29, + f32_load = 0x2A, + f64_load = 0x2B, + i32_load8_s = 0x2C, + i32_load8_u = 0x2D, + i32_load16_s = 0x2E, + i32_load16_u = 0x2F, + i64_load8_s = 0x30, + i64_load8_u = 0x31, + i64_load16_s = 0x32, + i64_load16_u = 0x33, + i64_load32_s = 0x34, + i64_load32_u = 0x35, + i32_store = 0x36, + i64_store = 0x37, + f32_store = 0x38, + f64_store = 0x39, + i32_store8 = 0x3A, + i32_store16 = 0x3B, + i64_store8 = 0x3C, + i64_store16 = 0x3D, + i64_store32 = 0x3E, + memory_size = 0x3F, + memory_grow = 0x40, + i32_const = 0x41, + i64_const = 0x42, + f32_const = 0x43, + f64_const = 0x44, + i32_eqz = 0x45, + i32_eq = 0x46, + i32_ne = 0x47, + i32_lt_s = 0x48, + i32_lt_u = 0x49, + i32_gt_s = 0x4A, + i32_gt_u = 0x4B, + i32_le_s = 0x4C, + i32_le_u = 0x4D, + i32_ge_s = 0x4E, + i32_ge_u = 0x4F, + i64_eqz = 0x50, + i64_eq = 0x51, + i64_ne = 0x52, + i64_lt_s = 0x53, + i64_lt_u = 0x54, + i64_gt_s = 0x55, + i64_gt_u = 0x56, + i64_le_s = 0x57, + i64_le_u = 0x58, + i64_ge_s = 0x59, + i64_ge_u = 0x5A, + f32_eq = 0x5B, + f32_ne = 0x5C, + f32_lt = 0x5D, + f32_gt = 0x5E, + f32_le = 0x5F, + f32_ge = 0x60, + f64_eq = 0x61, + f64_ne = 0x62, + f64_lt = 0x63, + f64_gt = 0x64, + f64_le = 0x65, + f64_ge = 0x66, + i32_clz = 0x67, + i32_ctz = 0x68, + i32_popcnt = 0x69, + i32_add = 0x6A, + i32_sub = 0x6B, + i32_mul = 0x6C, + i32_div_s = 0x6D, + i32_div_u = 0x6E, + i32_rem_s = 0x6F, + i32_rem_u = 0x70, + i32_and = 0x71, + i32_or = 0x72, + i32_xor = 0x73, + i32_shl = 0x74, + i32_shr_s = 0x75, + i32_shr_u = 0x76, + i32_rotl = 0x77, + i32_rotr = 0x78, + i64_clz = 0x79, + i64_ctz = 0x7A, + i64_popcnt = 0x7B, + i64_add = 0x7C, + i64_sub = 0x7D, + i64_mul = 0x7E, + i64_div_s = 0x7F, + i64_div_u = 0x80, + i64_rem_s = 0x81, + i64_rem_u = 0x82, + i64_and = 0x83, + i64_or = 0x84, + i64_xor = 0x85, + i64_shl = 0x86, + i64_shr_s = 0x87, + i64_shr_u = 0x88, + i64_rotl = 0x89, + i64_rotr = 0x8A, + f32_abs = 0x8B, + f32_neg = 0x8C, + f32_ceil = 0x8D, + f32_floor = 0x8E, + f32_trunc = 0x8F, + f32_nearest = 0x90, + f32_sqrt = 0x91, + f32_add = 0x92, + f32_sub = 0x93, + f32_mul = 0x94, + f32_div = 0x95, + f32_min = 0x96, + f32_max = 0x97, + f32_copysign = 0x98, + f64_abs = 0x99, + f64_neg = 0x9A, + f64_ceil = 0x9B, + f64_floor = 0x9C, + f64_trunc = 0x9D, + f64_nearest = 0x9E, + f64_sqrt = 0x9F, + f64_add = 0xA0, + f64_sub = 0xA1, + f64_mul = 0xA2, + f64_div = 0xA3, + f64_min = 0xA4, + f64_max = 0xA5, + f64_copysign = 0xA6, + i32_wrap_i64 = 0xA7, + i32_trunc_f32_s = 0xA8, + i32_trunc_f32_u = 0xA9, + i32_trunc_f64_s = 0xB0, + i32_trunc_f64_u = 0xB1, + f32_convert_i32_s = 0xB2, + f32_convert_i32_u = 0xB3, + f32_convert_i64_s = 0xB4, + f32_convert_i64_u = 0xB5, + f32_demote_f64 = 0xB6, + f64_convert_i32_s = 0xB7, + f64_convert_i32_u = 0xB8, + f64_convert_i64_s = 0xB9, + f64_convert_i64_u = 0xBA, + f64_promote_f32 = 0xBB, + i32_reinterpret_f32 = 0xBC, + i64_reinterpret_f64 = 0xBD, + f32_reinterpret_i32 = 0xBE, + i64_reinterpret_i64 = 0xBF, + i32_extend8_s = 0xC0, + i32_extend16_s = 0xC1, + i64_extend8_s = 0xC2, + i64_extend16_s = 0xC3, + i64_extend32_s = 0xC4, + _, +}; + +/// Returns the integer value of an `Opcode`. Used by the Zig compiler +/// to write instructions to the wasm binary file +pub fn opcode(op: Opcode) u8 { + return @enumToInt(op); +} + +test "Wasm - opcodes" { + // Ensure our opcodes values remain intact as certain values are skipped due to them being reserved + const i32_const = opcode(.i32_const); + const end = opcode(.end); + const drop = opcode(.drop); + const local_get = opcode(.local_get); + const i64_extend32_s = opcode(.i64_extend32_s); + + testing.expectEqual(@as(u16, 0x41), i32_const); + testing.expectEqual(@as(u16, 0x0B), end); + testing.expectEqual(@as(u16, 0x1A), drop); + testing.expectEqual(@as(u16, 0x20), local_get); + testing.expectEqual(@as(u16, 0xC4), i64_extend32_s); +} + +/// Enum representing all Wasm value types as per spec: +/// https://webassembly.github.io/spec/core/binary/types.html +pub const Valtype = enum(u8) { + i32 = 0x7F, + i64 = 0x7E, + f32 = 0x7D, + f64 = 0x7C, +}; + +/// Returns the integer value of a `Valtype` +pub fn valtype(value: Valtype) u8 { + return @enumToInt(value); +} + +test "Wasm - valtypes" { + const _i32 = valtype(.i32); + const _i64 = valtype(.i64); + const _f32 = valtype(.f32); + const _f64 = valtype(.f64); + + testing.expectEqual(@as(u8, 0x7F), _i32); + testing.expectEqual(@as(u8, 0x7E), _i64); + testing.expectEqual(@as(u8, 0x7D), _f32); + testing.expectEqual(@as(u8, 0x7C), _f64); +} + +/// Wasm module sections as per spec: +/// https://webassembly.github.io/spec/core/binary/modules.html +pub const Section = enum(u8) { + custom, + type, + import, + function, + table, + memory, + global, + @"export", + start, + element, + code, + data, +}; + +/// Returns the integer value of a given `Section` +pub fn section(val: Section) u8 { + return @enumToInt(val); +} + +// types +pub const element_type: u8 = 0x70; +pub const function_type: u8 = 0x60; +pub const result_type: u8 = 0x40; + +/// Represents a block which will not return a value +pub const block_empty: u8 = 0x40; + +// binary constants +pub const magic = [_]u8{ 0x00, 0x61, 0x73, 0x6D }; // \0asm +pub const version = [_]u8{ 0x01, 0x00, 0x00, 0x00 }; // version 1 diff --git a/src/link/Wasm.zig b/src/link/Wasm.zig index fb356ad1aa..7d30fc377a 100644 --- a/src/link/Wasm.zig +++ b/src/link/Wasm.zig @@ -7,6 +7,7 @@ const assert = std.debug.assert; const fs = std.fs; const leb = std.leb; const log = std.log.scoped(.link); +const wasm = std.wasm; const Module = @import("../Module.zig"); const Compilation = @import("../Compilation.zig"); @@ -16,25 +17,6 @@ const trace = @import("../tracy.zig").trace; const build_options = @import("build_options"); const Cache = @import("../Cache.zig"); -/// Various magic numbers defined by the wasm spec -const spec = struct { - const magic = [_]u8{ 0x00, 0x61, 0x73, 0x6D }; // \0asm - const version = [_]u8{ 0x01, 0x00, 0x00, 0x00 }; // version 1 - - const custom_id = 0; - const types_id = 1; - const imports_id = 2; - const funcs_id = 3; - const tables_id = 4; - const memories_id = 5; - const globals_id = 6; - const exports_id = 7; - const start_id = 8; - const elements_id = 9; - const code_id = 10; - const data_id = 11; -}; - pub const base_tag = link.File.Tag.wasm; pub const FnData = struct { @@ -65,19 +47,19 @@ pub fn openPath(allocator: *Allocator, sub_path: []const u8, options: link.Optio const file = try options.emit.?.directory.handle.createFile(sub_path, .{ .truncate = true, .read = true }); errdefer file.close(); - const wasm = try createEmpty(allocator, options); - errdefer wasm.base.destroy(); + const wasm_bin = try createEmpty(allocator, options); + errdefer wasm_bin.base.destroy(); - wasm.base.file = file; + wasm_bin.base.file = file; - try file.writeAll(&(spec.magic ++ spec.version)); + try file.writeAll(&(wasm.magic ++ wasm.version)); - return wasm; + return wasm_bin; } pub fn createEmpty(gpa: *Allocator, options: link.Options) !*Wasm { - const wasm = try gpa.create(Wasm); - wasm.* = .{ + const wasm_bin = try gpa.create(Wasm); + wasm_bin.* = .{ .base = .{ .tag = .wasm, .options = options, @@ -85,7 +67,7 @@ pub fn createEmpty(gpa: *Allocator, options: link.Options) !*Wasm { .allocator = gpa, }, }; - return wasm; + return wasm_bin; } pub fn deinit(self: *Wasm) void { @@ -176,8 +158,8 @@ pub fn flushModule(self: *Wasm, comp: *Compilation) !void { const header_size = 5 + 1; // No need to rewrite the magic/version header - try file.setEndPos(@sizeOf(@TypeOf(spec.magic ++ spec.version))); - try file.seekTo(@sizeOf(@TypeOf(spec.magic ++ spec.version))); + try file.setEndPos(@sizeOf(@TypeOf(wasm.magic ++ wasm.version))); + try file.seekTo(@sizeOf(@TypeOf(wasm.magic ++ wasm.version))); // Type section { @@ -188,7 +170,7 @@ pub fn flushModule(self: *Wasm, comp: *Compilation) !void { try writeVecSectionHeader( file, header_offset, - spec.types_id, + .type, @intCast(u32, (try file.getPos()) - header_offset - header_size), @intCast(u32, self.funcs.items.len), ); @@ -202,7 +184,7 @@ pub fn flushModule(self: *Wasm, comp: *Compilation) !void { try writeVecSectionHeader( file, header_offset, - spec.funcs_id, + .function, @intCast(u32, (try file.getPos()) - header_offset - header_size), @intCast(u32, self.funcs.items.len), ); @@ -235,7 +217,7 @@ pub fn flushModule(self: *Wasm, comp: *Compilation) !void { try writeVecSectionHeader( file, header_offset, - spec.exports_id, + .@"export", @intCast(u32, (try file.getPos()) - header_offset - header_size), count, ); @@ -266,7 +248,7 @@ pub fn flushModule(self: *Wasm, comp: *Compilation) !void { try writeVecSectionHeader( file, header_offset, - spec.code_id, + .code, @intCast(u32, (try file.getPos()) - header_offset - header_size), @intCast(u32, self.funcs.items.len), ); @@ -549,9 +531,9 @@ fn reserveVecSectionHeader(file: fs.File) !u64 { return (try file.getPos()) - header_size; } -fn writeVecSectionHeader(file: fs.File, offset: u64, section: u8, size: u32, items: u32) !void { +fn writeVecSectionHeader(file: fs.File, offset: u64, section: wasm.Section, size: u32, items: u32) !void { var buf: [1 + 5 + 5]u8 = undefined; - buf[0] = section; + buf[0] = @enumToInt(section); leb.writeUnsignedFixed(5, buf[1..6], size); leb.writeUnsignedFixed(5, buf[6..], items); try file.pwriteAll(&buf, offset); From 5e81b048a0966815cc1911e33144ed6ffad37ba1 Mon Sep 17 00:00:00 2001 From: Ryan Liptak Date: Mon, 1 Feb 2021 09:11:06 -0800 Subject: [PATCH 49/73] docs: Clarify that @field can work on declarations --- doc/langref.html.in | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/doc/langref.html.in b/doc/langref.html.in index f75fc351d9..7759e26f3b 100644 --- a/doc/langref.html.in +++ b/doc/langref.html.in @@ -7533,19 +7533,21 @@ export fn @"A function name that is a complete sentence."() void {} {#header_open|@field#}

{#syntax#}@field(lhs: anytype, comptime field_name: []const u8) (field){#endsyntax#}
-

Performs field access by a compile-time string. +

Performs field access by a compile-time string. Works on both fields and declarations.

{#code_begin|test#} const std = @import("std"); const Point = struct { x: u32, - y: u32 + y: u32, + + pub var z: u32 = 1; }; test "field access by string" { const expect = std.testing.expect; - var p = Point {.x = 0, .y = 0}; + var p = Point{ .x = 0, .y = 0 }; @field(p, "x") = 4; @field(p, "y") = @field(p, "x") + 1; @@ -7553,6 +7555,15 @@ test "field access by string" { expect(@field(p, "x") == 4); expect(@field(p, "y") == 5); } + +test "decl access by string" { + const expect = std.testing.expect; + + expect(@field(Point, "z") == 1); + + @field(Point, "z") = 2; + expect(@field(Point, "z") == 2); +} {#code_end#} {#header_close#} From 1032a693211dd96abe349bfa76b43bb1f226cfda Mon Sep 17 00:00:00 2001 From: Martin Wickham Date: Sun, 31 Jan 2021 13:02:19 -0600 Subject: [PATCH 50/73] Dupe strings on all public api points for std.build --- lib/std/build.zig | 142 ++++++++++++++++++++++++---------- lib/std/build/check_file.zig | 4 +- lib/std/build/run.zig | 13 ++-- lib/std/build/translate_c.zig | 4 +- lib/std/build/write_file.zig | 5 +- 5 files changed, 116 insertions(+), 52 deletions(-) diff --git a/lib/std/build.zig b/lib/std/build.zig index 725ce694ac..0db9d4c24e 100644 --- a/lib/std/build.zig +++ b/lib/std/build.zig @@ -345,6 +345,14 @@ pub const Builder = struct { return self.allocator.dupe(u8, bytes) catch unreachable; } + pub fn dupeStrings(self: *Builder, strings: []const []const u8) [][]u8 { + const array = self.allocator.alloc([]u8, strings.len) catch unreachable; + for (strings) |s, i| { + array[i] = self.dupe(s); + } + return array; + } + pub fn dupePath(self: *Builder, bytes: []const u8) []u8 { const the_copy = self.dupe(bytes); for (the_copy) |*byte| { @@ -490,7 +498,9 @@ pub const Builder = struct { return error.InvalidStepName; } - pub fn option(self: *Builder, comptime T: type, name: []const u8, description: []const u8) ?T { + pub fn option(self: *Builder, comptime T: type, name_raw: []const u8, description_raw: []const u8) ?T { + const name = self.dupe(name_raw); + const description = self.dupe(description_raw); const type_id = comptime typeToEnum(T); const available_option = AvailableOption{ .name = name, @@ -623,7 +633,7 @@ pub const Builder = struct { const step_info = self.allocator.create(TopLevelStep) catch unreachable; step_info.* = TopLevelStep{ .step = Step.initNoOp(.TopLevel, name, self.allocator), - .description = description, + .description = self.dupe(description), }; self.top_level_steps.append(step_info) catch unreachable; return &step_info.step; @@ -760,7 +770,9 @@ pub const Builder = struct { return selected_target; } - pub fn addUserInputOption(self: *Builder, name: []const u8, value: []const u8) !bool { + pub fn addUserInputOption(self: *Builder, name_raw: []const u8, value_raw: []const u8) !bool { + const name = self.dupe(name_raw); + const value = self.dupe(value_raw); const gop = try self.user_input_options.getOrPut(name); if (!gop.found_existing) { gop.entry.value = UserInputOption{ @@ -801,7 +813,8 @@ pub const Builder = struct { return false; } - pub fn addUserInputFlag(self: *Builder, name: []const u8) !bool { + pub fn addUserInputFlag(self: *Builder, name_raw: []const u8) !bool { + const name = self.dupe(name_raw); const gop = try self.user_input_options.getOrPut(name); if (!gop.found_existing) { gop.entry.value = UserInputOption{ @@ -993,10 +1006,11 @@ pub const Builder = struct { } pub fn pushInstalledFile(self: *Builder, dir: InstallDir, dest_rel_path: []const u8) void { - self.installed_files.append(InstalledFile{ + const file = InstalledFile{ .dir = dir, .path = dest_rel_path, - }) catch unreachable; + }; + self.installed_files.append(file.dupe(self)) catch unreachable; } pub fn updateFile(self: *Builder, source_path: []const u8, dest_path: []const u8) !void { @@ -1139,7 +1153,7 @@ pub const Builder = struct { } pub fn addSearchPrefix(self: *Builder, search_prefix: []const u8) void { - self.search_prefixes.append(search_prefix) catch unreachable; + self.search_prefixes.append(self.dupePath(search_prefix)) catch unreachable; } pub fn getInstallPath(self: *Builder, dir: InstallDir, dest_rel_path: []const u8) []const u8 { @@ -1160,6 +1174,7 @@ pub const Builder = struct { fn execPkgConfigList(self: *Builder, out_code: *u8) ![]const PkgConfigPkg { const stdout = try self.execAllowFail(&[_][]const u8{ "pkg-config", "--list-all" }, out_code, .Ignore); var list = ArrayList(PkgConfigPkg).init(self.allocator); + errdefer list.deinit(); var line_it = mem.tokenize(stdout, "\r\n"); while (line_it.next()) |line| { if (mem.trim(u8, line, " \t").len == 0) continue; @@ -1169,7 +1184,7 @@ pub const Builder = struct { .desc = tok_it.rest(), }); } - return list.items; + return list.toOwnedSlice(); } fn getPkgConfigList(self: *Builder) ![]const PkgConfigPkg { @@ -1224,9 +1239,16 @@ pub const Pkg = struct { dependencies: ?[]const Pkg = null, }; -const CSourceFile = struct { +pub const CSourceFile = struct { source: FileSource, args: []const []const u8, + + fn dupe(self: CSourceFile, b: *Builder) CSourceFile { + return .{ + .source = self.source.dupe(b), + .args = b.dupeStrings(self.args), + }; + } }; const CSourceFiles = struct { @@ -1268,6 +1290,17 @@ pub const FileSource = union(enum) { .translate_c => |tc| tc.getOutputPath(), }; } + + pub fn dupe(self: FileSource, b: *Builder) FileSource { + return switch (self) { + .path => |p| .{ .path = b.dupe(p) }, + .write_file => |wf| .{ .write_file = .{ + .step = wf.step, + .basename = b.dupe(wf.basename), + } }, + .translate_c => |tc| .{ .translate_c = tc }, + }; + } }; const BuildOptionArtifactArg = struct { @@ -1443,12 +1476,14 @@ pub const LibExeObjStep = struct { fn initExtraArgs( builder: *Builder, - name: []const u8, - root_src: ?FileSource, + name_raw: []const u8, + root_src_raw: ?FileSource, kind: Kind, is_dynamic: bool, ver: ?Version, ) LibExeObjStep { + const name = builder.dupe(name_raw); + const root_src: ?FileSource = if (root_src_raw) |rsrc| rsrc.dupe(builder) else null; if (mem.indexOf(u8, name, "/") != null or mem.indexOf(u8, name, "\\") != null) { panic("invalid name: '{s}'. It looks like a file path, but it is supposed to be the library or application name.", .{name}); } @@ -1585,12 +1620,12 @@ pub const LibExeObjStep = struct { } pub fn setLinkerScriptPath(self: *LibExeObjStep, path: []const u8) void { - self.linker_script = path; + self.linker_script = self.builder.dupePath(path); } pub fn linkFramework(self: *LibExeObjStep, framework_name: []const u8) void { assert(self.target.isDarwin()); - self.frameworks.put(framework_name) catch unreachable; + self.frameworks.put(self.builder.dupe(framework_name)) catch unreachable; } /// Returns whether the library, executable, or object depends on a particular system library. @@ -1754,25 +1789,23 @@ pub const LibExeObjStep = struct { pub fn setNamePrefix(self: *LibExeObjStep, text: []const u8) void { assert(self.kind == Kind.Test); - self.name_prefix = text; + self.name_prefix = self.builder.dupe(text); } pub fn setFilter(self: *LibExeObjStep, text: ?[]const u8) void { assert(self.kind == Kind.Test); - self.filter = text; + self.filter = if (text) |t| self.builder.dupe(t) else null; } /// Handy when you have many C/C++ source files and want them all to have the same flags. pub fn addCSourceFiles(self: *LibExeObjStep, files: []const []const u8, flags: []const []const u8) void { const c_source_files = self.builder.allocator.create(CSourceFiles) catch unreachable; - const flags_copy = self.builder.allocator.alloc([]u8, flags.len) catch unreachable; - for (flags) |flag, i| { - flags_copy[i] = self.builder.dupe(flag); - } + const files_copy = self.builder.dupeStrings(files); + const flags_copy = self.builder.dupeStrings(flags); c_source_files.* = .{ - .files = files, + .files = files_copy, .flags = flags_copy, }; self.link_objects.append(LinkObject{ .CSourceFiles = c_source_files }) catch unreachable; @@ -1787,14 +1820,7 @@ pub const LibExeObjStep = struct { pub fn addCSourceFileSource(self: *LibExeObjStep, source: CSourceFile) void { const c_source_file = self.builder.allocator.create(CSourceFile) catch unreachable; - - const args_copy = self.builder.allocator.alloc([]u8, source.args.len) catch unreachable; - for (source.args) |arg, i| { - args_copy[i] = self.builder.dupe(arg); - } - - c_source_file.* = source; - c_source_file.args = args_copy; + c_source_file.* = source.dupe(self.builder); self.link_objects.append(LinkObject{ .CSourceFile = c_source_file }) catch unreachable; } @@ -1811,15 +1837,15 @@ pub const LibExeObjStep = struct { } pub fn overrideZigLibDir(self: *LibExeObjStep, dir_path: []const u8) void { - self.override_lib_dir = self.builder.dupe(dir_path); + self.override_lib_dir = self.builder.dupePath(dir_path); } pub fn setMainPkgPath(self: *LibExeObjStep, dir_path: []const u8) void { - self.main_pkg_path = dir_path; + self.main_pkg_path = self.builder.dupePath(dir_path); } pub fn setLibCFile(self: *LibExeObjStep, libc_file: ?[]const u8) void { - self.libc_file = libc_file; + self.libc_file = if (libc_file) |f| self.builder.dupe(f) else null; } /// Unless setOutputDir was called, this function must be called only in @@ -1879,8 +1905,9 @@ pub const LibExeObjStep = struct { } pub fn addAssemblyFileSource(self: *LibExeObjStep, source: FileSource) void { - self.link_objects.append(LinkObject{ .AssemblyFile = source }) catch unreachable; - source.addStepDependencies(&self.step); + const source_duped = source.dupe(self.builder); + self.link_objects.append(LinkObject{ .AssemblyFile = source_duped }) catch unreachable; + source_duped.addStepDependencies(&self.step); } pub fn addObjectFile(self: *LibExeObjStep, path: []const u8) void { @@ -1977,7 +2004,7 @@ pub const LibExeObjStep = struct { /// The value is the path in the cache dir. /// Adds a dependency automatically. pub fn addBuildOptionArtifact(self: *LibExeObjStep, name: []const u8, artifact: *LibExeObjStep) void { - self.build_options_artifact_args.append(.{ .name = name, .artifact = artifact }) catch unreachable; + self.build_options_artifact_args.append(.{ .name = self.builder.dupe(name), .artifact = artifact }) catch unreachable; self.step.dependOn(&artifact.step); } @@ -2047,7 +2074,11 @@ pub const LibExeObjStep = struct { pub fn setExecCmd(self: *LibExeObjStep, args: []const ?[]const u8) void { assert(self.kind == Kind.Test); - self.exec_cmd_args = args; + const duped_args = self.builder.allocator.alloc(?[]u8, args.len) catch unreachable; + for (args) |arg, i| { + duped_args[i] = if (arg) |a| self.builder.dupe(a) else null; + } + self.exec_cmd_args = duped_args; } fn linkLibraryOrObject(self: *LibExeObjStep, other: *LibExeObjStep) void { @@ -2665,9 +2696,9 @@ pub const InstallFileStep = struct { return InstallFileStep{ .builder = builder, .step = Step.init(.InstallFile, builder.fmt("install {s}", .{src_path}), builder.allocator, make), - .src_path = src_path, - .dir = dir, - .dest_rel_path = dest_rel_path, + .src_path = builder.dupePath(src_path), + .dir = dir.dupe(builder), + .dest_rel_path = builder.dupePath(dest_rel_path), }; } @@ -2684,6 +2715,16 @@ pub const InstallDirectoryOptions = struct { install_dir: InstallDir, install_subdir: []const u8, exclude_extensions: ?[]const []const u8 = null, + + fn dupe(self: InstallDirectoryOptions, b: *Builder) InstallDirectoryOptions { + return .{ + .source_dir = b.dupe(self.source_dir), + .install_dir = self.install_dir.dupe(b), + .install_subdir = b.dupe(self.install_subdir), + .exclude_extensions = if (self.exclude_extensions) |extensions| + b.dupeStrings(extensions) else null, + }; + } }; pub const InstallDirStep = struct { @@ -2699,7 +2740,7 @@ pub const InstallDirStep = struct { return InstallDirStep{ .builder = builder, .step = Step.init(.InstallDir, builder.fmt("install {s}/", .{options.source_dir}), builder.allocator, make), - .options = options, + .options = options.dupe(builder), }; } @@ -2735,7 +2776,7 @@ pub const LogStep = struct { return LogStep{ .builder = builder, .step = Step.init(.Log, builder.fmt("log {s}", .{data}), builder.allocator, make), - .data = data, + .data = builder.dupe(data), }; } @@ -2754,7 +2795,7 @@ pub const RemoveDirStep = struct { return RemoveDirStep{ .builder = builder, .step = Step.init(.RemoveDir, builder.fmt("RemoveDir {s}", .{dir_path}), builder.allocator, make), - .dir_path = dir_path, + .dir_path = builder.dupePath(dir_path), }; } @@ -2798,7 +2839,7 @@ pub const Step = struct { pub fn init(id: Id, name: []const u8, allocator: *Allocator, makeFn: fn (*Step) anyerror!void) Step { return Step{ .id = id, - .name = name, + .name = allocator.dupe(u8, name) catch unreachable, .makeFn = makeFn, .dependencies = ArrayList(*Step).init(allocator), .loop_flag = false, @@ -2905,11 +2946,28 @@ pub const InstallDir = union(enum) { Header: void, /// A path relative to the prefix Custom: []const u8, + + fn dupe(self: InstallDir, builder: *Builder) InstallDir { + if (self == .Custom) { + // Written with this temporary to avoid RLS problems + const duped_path = builder.dupe(self.Custom); + return .{ .Custom = duped_path }; + } else { + return self; + } + } }; pub const InstalledFile = struct { dir: InstallDir, path: []const u8, + + pub fn dupe(self: InstalledFile, builder: *Builder) InstalledFile { + return .{ + .dir = self.dir.dupe(builder), + .path = builder.dupe(self.path), + }; + } }; test "Builder.dupePkg()" { diff --git a/lib/std/build/check_file.zig b/lib/std/build/check_file.zig index 31966fad52..28c98547b7 100644 --- a/lib/std/build/check_file.zig +++ b/lib/std/build/check_file.zig @@ -27,8 +27,8 @@ pub const CheckFileStep = struct { self.* = CheckFileStep{ .builder = builder, .step = Step.init(.CheckFile, "CheckFile", builder.allocator, make), - .source = source, - .expected_matches = expected_matches, + .source = source.dupe(builder), + .expected_matches = builder.dupeStrings(expected_matches), }; self.source.addStepDependencies(&self.step); return self; diff --git a/lib/std/build/run.zig b/lib/std/build/run.zig index 8f8fa2eba0..ca39b0216e 100644 --- a/lib/std/build/run.zig +++ b/lib/std/build/run.zig @@ -76,7 +76,7 @@ pub const RunStep = struct { self.argv.append(Arg{ .WriteFile = .{ .step = write_file, - .file_name = file_name, + .file_name = self.builder.dupePath(file_name), }, }) catch unreachable; self.step.dependOn(&write_file.step); @@ -119,7 +119,7 @@ pub const RunStep = struct { const new_path = self.builder.fmt("{s}" ++ [1]u8{fs.path.delimiter} ++ "{s}", .{ pp, search_path }); env_map.set(key, new_path) catch unreachable; } else { - env_map.set(key, search_path) catch unreachable; + env_map.set(key, self.builder.dupePath(search_path)) catch unreachable; } } @@ -134,15 +134,18 @@ pub const RunStep = struct { pub fn setEnvironmentVariable(self: *RunStep, key: []const u8, value: []const u8) void { const env_map = self.getEnvMap(); - env_map.set(key, value) catch unreachable; + env_map.set( + self.builder.dupe(key), + self.builder.dupe(value), + ) catch unreachable; } pub fn expectStdErrEqual(self: *RunStep, bytes: []const u8) void { - self.stderr_action = .{ .expect_exact = bytes }; + self.stderr_action = .{ .expect_exact = self.builder.dupe(bytes) }; } pub fn expectStdOutEqual(self: *RunStep, bytes: []const u8) void { - self.stdout_action = .{ .expect_exact = bytes }; + self.stdout_action = .{ .expect_exact = self.builder.dupe(bytes) }; } fn stdIoActionToBehavior(action: StdIoAction) std.ChildProcess.StdIo { diff --git a/lib/std/build/translate_c.zig b/lib/std/build/translate_c.zig index b98b0ae9eb..4009079e3d 100644 --- a/lib/std/build/translate_c.zig +++ b/lib/std/build/translate_c.zig @@ -57,11 +57,11 @@ pub const TranslateCStep = struct { } pub fn addIncludeDir(self: *TranslateCStep, include_dir: []const u8) void { - self.include_dirs.append(include_dir) catch unreachable; + self.include_dirs.append(self.builder.dupePath(include_dir)) catch unreachable; } pub fn addCheckFile(self: *TranslateCStep, expected_matches: []const []const u8) *CheckFileStep { - return CheckFileStep.create(self.builder, .{ .translate_c = self }, expected_matches); + return CheckFileStep.create(self.builder, .{ .translate_c = self }, self.builder.dupeStrings(expected_matches)); } fn make(step: *Step) !void { diff --git a/lib/std/build/write_file.zig b/lib/std/build/write_file.zig index bbe6ec5086..6e88aa5633 100644 --- a/lib/std/build/write_file.zig +++ b/lib/std/build/write_file.zig @@ -32,7 +32,10 @@ pub const WriteFileStep = struct { } pub fn add(self: *WriteFileStep, basename: []const u8, bytes: []const u8) void { - self.files.append(.{ .basename = basename, .bytes = bytes }) catch unreachable; + self.files.append(.{ + .basename = self.builder.dupePath(basename), + .bytes = self.builder.dupe(bytes), + }) catch unreachable; } /// Unless setOutputDir was called, this function must be called only in From 06b29c854656a1f9320ee16024b1c3a6b78180a5 Mon Sep 17 00:00:00 2001 From: Jonathan Marler Date: Thu, 28 Jan 2021 19:15:38 -0700 Subject: [PATCH 51/73] std.json large number support --- lib/std/json.zig | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/lib/std/json.zig b/lib/std/json.zig index 6a4fb827f9..ff258c7f3a 100644 --- a/lib/std/json.zig +++ b/lib/std/json.zig @@ -1255,6 +1255,7 @@ pub const Value = union(enum) { Bool: bool, Integer: i64, Float: f64, + NumberString: []const u8, String: []const u8, Array: Array, Object: ObjectMap, @@ -1269,6 +1270,7 @@ pub const Value = union(enum) { .Bool => |inner| try stringify(inner, options, out_stream), .Integer => |inner| try stringify(inner, options, out_stream), .Float => |inner| try stringify(inner, options, out_stream), + .NumberString => |inner| try out_stream.writeAll(inner), .String => |inner| try stringify(inner, options, out_stream), .Array => |inner| try stringify(inner.items, options, out_stream), .Object => |inner| { @@ -1338,6 +1340,12 @@ test "Value.jsonStringify" { try (Value{ .Integer = 42 }).jsonStringify(.{}, fbs.writer()); testing.expectEqualSlices(u8, fbs.getWritten(), "42"); } + { + var buffer: [10]u8 = undefined; + var fbs = std.io.fixedBufferStream(&buffer); + try (Value{ .NumberString = "43" }).jsonStringify(.{}, fbs.writer()); + testing.expectEqualSlices(u8, fbs.getWritten(), "43"); + } { var buffer: [10]u8 = undefined; var fbs = std.io.fixedBufferStream(&buffer); @@ -1356,7 +1364,7 @@ test "Value.jsonStringify" { var vals = [_]Value{ .{ .Integer = 1 }, .{ .Integer = 2 }, - .{ .Integer = 3 }, + .{ .NumberString = "3" }, }; try (Value{ .Array = Array.fromOwnedSlice(undefined, &vals), @@ -2205,7 +2213,12 @@ pub const Parser = struct { fn parseNumber(p: *Parser, n: std.meta.TagPayload(Token, Token.Number), input: []const u8, i: usize) !Value { return if (n.is_integer) - Value{ .Integer = try std.fmt.parseInt(i64, n.slice(input, i), 10) } + Value{ + .Integer = std.fmt.parseInt(i64, n.slice(input, i), 10) catch |e| switch (e) { + error.Overflow => return Value{ .NumberString = n.slice(input, i) }, + error.InvalidCharacter => |err| return err, + }, + } else Value{ .Float = try std.fmt.parseFloat(f64, n.slice(input, i)) }; } @@ -2293,7 +2306,8 @@ test "json.parser.dynamic" { \\ "Animated" : false, \\ "IDs": [116, 943, 234, 38793], \\ "ArrayOfObject": [{"n": "m"}], - \\ "double": 1.3412 + \\ "double": 1.3412, + \\ "LargeInt": 18446744073709551615 \\ } \\} ; @@ -2325,6 +2339,9 @@ test "json.parser.dynamic" { const double = image.Object.get("double").?; testing.expect(double.Float == 1.3412); + + const large_int = image.Object.get("LargeInt").?; + testing.expect(mem.eql(u8, large_int.NumberString, "18446744073709551615")); } test "import more json tests" { From 70a7c14ca6576cfc8b8dfa540ec5fe1a1167200f Mon Sep 17 00:00:00 2001 From: Michael Dusan Date: Mon, 1 Feb 2021 16:57:41 -0500 Subject: [PATCH 52/73] update update_glibc to format strings with "{s}" --- tools/update_glibc.zig | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tools/update_glibc.zig b/tools/update_glibc.zig index 1e23bf0ff8..f86e47e8eb 100644 --- a/tools/update_glibc.zig +++ b/tools/update_glibc.zig @@ -157,7 +157,7 @@ pub fn main() !void { for (lib_names) |lib_name, lib_name_index| { const lib_prefix = if (std.mem.eql(u8, lib_name, "ld")) "" else "lib"; - const basename = try fmt.allocPrint(allocator, "{}{}.abilist", .{ lib_prefix, lib_name }); + const basename = try fmt.allocPrint(allocator, "{s}{s}.abilist", .{ lib_prefix, lib_name }); const abi_list_filename = blk: { const is_c = std.mem.eql(u8, lib_name, "c"); const is_m = std.mem.eql(u8, lib_name, "m"); @@ -185,7 +185,7 @@ pub fn main() !void { }; const max_bytes = 10 * 1024 * 1024; const contents = std.fs.cwd().readFileAlloc(allocator, abi_list_filename, max_bytes) catch |err| { - std.debug.warn("unable to open {}: {}\n", .{ abi_list_filename, err }); + std.debug.warn("unable to open {s}: {s}\n", .{ abi_list_filename, err }); std.process.exit(1); }; var lines_it = std.mem.tokenize(contents, "\n"); @@ -243,7 +243,7 @@ pub fn main() !void { const vers_txt = buffered.writer(); for (global_ver_list) |name, i| { _ = global_ver_set.put(name, i) catch unreachable; - try vers_txt.print("{}\n", .{name}); + try vers_txt.print("{s}\n", .{name}); } try buffered.flush(); } @@ -256,7 +256,7 @@ pub fn main() !void { for (global_fn_list) |name, i| { const entry = global_fn_set.getEntry(name).?; entry.value.index = i; - try fns_txt.print("{} {}\n", .{ name, entry.value.lib }); + try fns_txt.print("{s} {s}\n", .{ name, entry.value.lib }); } try buffered.flush(); } @@ -290,7 +290,7 @@ pub fn main() !void { const fn_vers_list = &target_functions.getEntry(@ptrToInt(abi_list)).?.value.fn_vers_list; for (abi_list.targets) |target, it_i| { if (it_i != 0) try abilist_txt.writeByte(' '); - try abilist_txt.print("{}-linux-{}", .{ @tagName(target.arch), @tagName(target.abi) }); + try abilist_txt.print("{s}-linux-{s}", .{ @tagName(target.arch), @tagName(target.abi) }); } try abilist_txt.writeByte('\n'); // next, each line implicitly corresponds to a function From 7a01d396ee4bb38e6421a852dc3f891d856dfda8 Mon Sep 17 00:00:00 2001 From: Frank Denis Date: Tue, 2 Feb 2021 09:58:43 +0100 Subject: [PATCH 53/73] siphash: update the link to the SipHash paper --- lib/std/crypto/siphash.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/std/crypto/siphash.zig b/lib/std/crypto/siphash.zig index 0fde28f69e..a091b0644d 100644 --- a/lib/std/crypto/siphash.zig +++ b/lib/std/crypto/siphash.zig @@ -10,7 +10,7 @@ // - protection against against DoS attacks for hash tables and bloom filters // - authentication of short-lived messages in online protocols // -// https://131002.net/siphash/ +// https://www.aumasson.jp/siphash/siphash.pdf const std = @import("../std.zig"); const assert = std.debug.assert; const testing = std.testing; From 8661a13b748d25d796c0246dad7ad2584d9b0824 Mon Sep 17 00:00:00 2001 From: Michael Dusan Date: Tue, 2 Feb 2021 10:00:13 -0500 Subject: [PATCH 54/73] fix superfluous fmt specifier in update_glibc --- tools/update_glibc.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/update_glibc.zig b/tools/update_glibc.zig index f86e47e8eb..77be81d6d5 100644 --- a/tools/update_glibc.zig +++ b/tools/update_glibc.zig @@ -185,7 +185,7 @@ pub fn main() !void { }; const max_bytes = 10 * 1024 * 1024; const contents = std.fs.cwd().readFileAlloc(allocator, abi_list_filename, max_bytes) catch |err| { - std.debug.warn("unable to open {s}: {s}\n", .{ abi_list_filename, err }); + std.debug.warn("unable to open {s}: {}\n", .{ abi_list_filename, err }); std.process.exit(1); }; var lines_it = std.mem.tokenize(contents, "\n"); From 2d447b57ccfd1a65383bf7ca9f882c7e69e94f2b Mon Sep 17 00:00:00 2001 From: Rocknest <35231115+Rocknest@users.noreply.github.com> Date: Wed, 3 Feb 2021 04:05:22 +0200 Subject: [PATCH 55/73] fix typo in comment --- lib/std/crypto/siphash.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/std/crypto/siphash.zig b/lib/std/crypto/siphash.zig index a091b0644d..67bb2a329a 100644 --- a/lib/std/crypto/siphash.zig +++ b/lib/std/crypto/siphash.zig @@ -7,7 +7,7 @@ // SipHash is a moderately fast pseudorandom function, returning a 64-bit or 128-bit tag for an arbitrary long input. // // Typical use cases include: -// - protection against against DoS attacks for hash tables and bloom filters +// - protection against DoS attacks for hash tables and bloom filters // - authentication of short-lived messages in online protocols // // https://www.aumasson.jp/siphash/siphash.pdf From 300ebbd56090d7c96478293354e24c0f3341ec85 Mon Sep 17 00:00:00 2001 From: Michael Dusan Date: Thu, 4 Feb 2021 12:39:06 -0500 Subject: [PATCH 56/73] =?UTF-8?q?target:=20map=20zig=20ppc32=20=E2=86=92?= =?UTF-8?q?=20llvm=20ppc?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - llvm does not accept `ppc32` as a CPU type closes #7947 --- lib/std/target/powerpc.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/std/target/powerpc.zig b/lib/std/target/powerpc.zig index 2ec559ca6e..2db7d30e8d 100644 --- a/lib/std/target/powerpc.zig +++ b/lib/std/target/powerpc.zig @@ -760,7 +760,7 @@ pub const cpu = struct { }; pub const ppc32 = CpuModel{ .name = "ppc32", - .llvm_name = "ppc32", + .llvm_name = "ppc", .features = featureSet(&[_]Feature{ .hard_float, }), From fc79cbcc80c67dac5c44697ab1b3ec7b548c715c Mon Sep 17 00:00:00 2001 From: Mitchell Kember Date: Fri, 5 Feb 2021 02:45:25 -0500 Subject: [PATCH 57/73] Use -isysroot on Catalina too, not just Big Sur This amends #7506 to apply to macOS versions since Catalina (10.15), rather than since Big Sur (11.0). --- src/main.zig | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main.zig b/src/main.zig index bfe0d6786b..14f63d9911 100644 --- a/src/main.zig +++ b/src/main.zig @@ -1536,8 +1536,9 @@ fn buildOutputType( } const has_sysroot = if (comptime std.Target.current.isDarwin()) outer: { - const at_least_big_sur = target_info.target.os.getVersionRange().semver.min.major >= 11; - if (at_least_big_sur) { + const min = target_info.target.os.getVersionRange().semver.min; + const at_least_catalina = min.major >= 11 or (min.major >= 10 and min.minor >= 15); + if (at_least_catalina) { const sdk_path = try std.zig.system.getSDKPath(arena); try clang_argv.ensureCapacity(clang_argv.items.len + 2); clang_argv.appendAssumeCapacity("-isysroot"); From e197a03124527035f1a92381eb6ef46d6f6d2c39 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sun, 7 Feb 2021 14:51:27 -0700 Subject: [PATCH 58/73] zig cc: recognize the `-s` flag to be "strip" --- src/Compilation.zig | 4 +++- src/clang_options_data.zig | 9 ++++++++- src/main.zig | 2 ++ tools/update_clang_options.zig | 4 ++++ 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/Compilation.zig b/src/Compilation.zig index c7bb260aa7..268c259c02 100644 --- a/src/Compilation.zig +++ b/src/Compilation.zig @@ -2348,7 +2348,9 @@ pub fn addCCArgs( else => {}, } - if (!comp.bin_file.options.strip) { + if (comp.bin_file.options.strip) { + try argv.append("-s"); + } else { try argv.append("-g"); switch (comp.bin_file.options.object_format) { .coff, .pe => try argv.append("-gcodeview"), diff --git a/src/clang_options_data.zig b/src/clang_options_data.zig index 4d89308545..0293a5327e 100644 --- a/src/clang_options_data.zig +++ b/src/clang_options_data.zig @@ -4305,7 +4305,14 @@ flagpd1("rewrite-macros"), flagpd1("rewrite-objc"), flagpd1("rewrite-test"), sepd1("rpath"), -flagpd1("s"), +.{ + .name = "s", + .syntax = .flag, + .zig_equivalent = .strip, + .pd1 = true, + .pd2 = false, + .psl = false, +}, .{ .name = "save-stats", .syntax = .flag, diff --git a/src/main.zig b/src/main.zig index 14f63d9911..c31252a96a 100644 --- a/src/main.zig +++ b/src/main.zig @@ -1186,6 +1186,7 @@ fn buildOutputType( .framework_dir => try framework_dirs.append(it.only_arg), .framework => try frameworks.append(it.only_arg), .nostdlibinc => want_native_include_dirs = false, + .strip => strip = true, } } // Parse linker args. @@ -3047,6 +3048,7 @@ pub const ClangArgIterator = struct { nostdlibinc, red_zone, no_red_zone, + strip, }; const Args = struct { diff --git a/tools/update_clang_options.zig b/tools/update_clang_options.zig index 2aeee6845b..1cb134a731 100644 --- a/tools/update_clang_options.zig +++ b/tools/update_clang_options.zig @@ -312,6 +312,10 @@ const known_options = [_]KnownOpt{ .name = "framework", .ident = "framework", }, + .{ + .name = "s", + .ident = "strip", + }, }; const blacklisted_options = [_][]const u8{}; From 1adac0a55bafbba864228ac38c4684612e84f522 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sun, 7 Feb 2021 15:08:27 -0700 Subject: [PATCH 59/73] never pass -s to clang We only use clang to produce object files; the idea of stripping is not relevant here. Fixes regression in previous commit. --- src/Compilation.zig | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/Compilation.zig b/src/Compilation.zig index 268c259c02..c7bb260aa7 100644 --- a/src/Compilation.zig +++ b/src/Compilation.zig @@ -2348,9 +2348,7 @@ pub fn addCCArgs( else => {}, } - if (comp.bin_file.options.strip) { - try argv.append("-s"); - } else { + if (!comp.bin_file.options.strip) { try argv.append("-g"); switch (comp.bin_file.options.object_format) { .coff, .pe => try argv.append("-gcodeview"), From 221f1d898c39e9ea25f1d7fc9642bfbb3c97e894 Mon Sep 17 00:00:00 2001 From: Evan Haas Date: Fri, 5 Feb 2021 15:37:18 -0800 Subject: [PATCH 60/73] translate-c: Improve function pointer handling Omit address-of operator if operand is a function. Improve handling of function-call translation when using function pointers Fixes #4124 --- src/clang.zig | 5 +++- src/translate_c.zig | 56 ++++++++++++++++++++++++++------------- src/zig_clang.cpp | 5 ++++ src/zig_clang.h | 2 ++ test/run_translated_c.zig | 56 +++++++++++++++++++++++++++++++++++++++ test/translate_c.zig | 4 +-- 6 files changed, 107 insertions(+), 21 deletions(-) diff --git a/src/clang.zig b/src/clang.zig index fc7a25fe12..954cfee6b2 100644 --- a/src/clang.zig +++ b/src/clang.zig @@ -848,7 +848,10 @@ pub const UnaryOperator = opaque { extern fn ZigClangUnaryOperator_getBeginLoc(*const UnaryOperator) SourceLocation; }; -pub const ValueDecl = opaque {}; +pub const ValueDecl = opaque { + pub const getType = ZigClangValueDecl_getType; + extern fn ZigClangValueDecl_getType(*const ValueDecl) QualType; +}; pub const VarDecl = opaque { pub const getLocation = ZigClangVarDecl_getLocation; diff --git a/src/translate_c.zig b/src/translate_c.zig index 11dbacefa2..e3652ddbfb 100644 --- a/src/translate_c.zig +++ b/src/translate_c.zig @@ -3208,6 +3208,38 @@ fn transArrayAccess(rp: RestorePoint, scope: *Scope, stmt: *const clang.ArraySub return maybeSuppressResult(rp, scope, result_used, &node.base); } +/// Check if an expression is ultimately a reference to a function declaration +/// (which means it should not be unwrapped with `.?` in translated code) +fn cIsFunctionDeclRef(expr: *const clang.Expr) bool { + switch (expr.getStmtClass()) { + .ParenExprClass => { + const op_expr = @ptrCast(*const clang.ParenExpr, expr).getSubExpr(); + return cIsFunctionDeclRef(op_expr); + }, + .DeclRefExprClass => { + const decl_ref = @ptrCast(*const clang.DeclRefExpr, expr); + const value_decl = decl_ref.getDecl(); + const qt = value_decl.getType(); + return qualTypeChildIsFnProto(qt); + }, + .ImplicitCastExprClass => { + const implicit_cast = @ptrCast(*const clang.ImplicitCastExpr, expr); + const cast_kind = implicit_cast.getCastKind(); + if (cast_kind == .BuiltinFnToFnPtr) return true; + if (cast_kind == .FunctionToPointerDecay) { + return cIsFunctionDeclRef(implicit_cast.getSubExpr()); + } + return false; + }, + .UnaryOperatorClass => { + const un_op = @ptrCast(*const clang.UnaryOperator, expr); + const opcode = un_op.getOpcode(); + return (opcode == .AddrOf or opcode == .Deref) and cIsFunctionDeclRef(un_op.getSubExpr()); + }, + else => return false, + } +} + fn transCallExpr(rp: RestorePoint, scope: *Scope, stmt: *const clang.CallExpr, result_used: ResultUsed) TransError!*ast.Node { const callee = stmt.getCallee(); var raw_fn_expr = try transExpr(rp, scope, callee, .used, .r_value); @@ -3215,24 +3247,9 @@ fn transCallExpr(rp: RestorePoint, scope: *Scope, stmt: *const clang.CallExpr, r var is_ptr = false; const fn_ty = qualTypeGetFnProto(callee.getType(), &is_ptr); - const fn_expr = if (is_ptr and fn_ty != null) blk: { - if (callee.getStmtClass() == .ImplicitCastExprClass) { - const implicit_cast = @ptrCast(*const clang.ImplicitCastExpr, callee); - const cast_kind = implicit_cast.getCastKind(); - if (cast_kind == .BuiltinFnToFnPtr) break :blk raw_fn_expr; - if (cast_kind == .FunctionToPointerDecay) { - const subexpr = implicit_cast.getSubExpr(); - if (subexpr.getStmtClass() == .DeclRefExprClass) { - const decl_ref = @ptrCast(*const clang.DeclRefExpr, subexpr); - const named_decl = decl_ref.getFoundDecl(); - if (@ptrCast(*const clang.Decl, named_decl).getKind() == .Function) { - break :blk raw_fn_expr; - } - } - } - } - break :blk try transCreateNodeUnwrapNull(rp.c, raw_fn_expr); - } else + const fn_expr = if (is_ptr and fn_ty != null and !cIsFunctionDeclRef(callee)) + try transCreateNodeUnwrapNull(rp.c, raw_fn_expr) + else raw_fn_expr; const num_args = stmt.getNumArgs(); @@ -3379,6 +3396,9 @@ fn transUnaryOperator(rp: RestorePoint, scope: *Scope, stmt: *const clang.UnaryO else return transCreatePreCrement(rp, scope, stmt, .AssignSub, .MinusEqual, "-=", used), .AddrOf => { + if (cIsFunctionDeclRef(op_expr)) { + return transExpr(rp, scope, op_expr, used, .r_value); + } const op_node = try transCreateNodeSimplePrefixOp(rp.c, .AddressOf, .Ampersand, "&"); op_node.rhs = try transExpr(rp, scope, op_expr, used, .r_value); return &op_node.base; diff --git a/src/zig_clang.cpp b/src/zig_clang.cpp index 9bd68859e8..8dc6a0823b 100644 --- a/src/zig_clang.cpp +++ b/src/zig_clang.cpp @@ -2773,6 +2773,11 @@ struct ZigClangSourceLocation ZigClangUnaryOperator_getBeginLoc(const struct Zig return bitcast(casted->getBeginLoc()); } +struct ZigClangQualType ZigClangValueDecl_getType(const struct ZigClangValueDecl *self) { + auto casted = reinterpret_cast(self); + return bitcast(casted->getType()); +} + const struct ZigClangExpr *ZigClangWhileStmt_getCond(const struct ZigClangWhileStmt *self) { auto casted = reinterpret_cast(self); return reinterpret_cast(casted->getCond()); diff --git a/src/zig_clang.h b/src/zig_clang.h index 42587b1719..6fe1da0bc1 100644 --- a/src/zig_clang.h +++ b/src/zig_clang.h @@ -1200,6 +1200,8 @@ ZIG_EXTERN_C struct ZigClangQualType ZigClangUnaryOperator_getType(const struct ZIG_EXTERN_C const struct ZigClangExpr *ZigClangUnaryOperator_getSubExpr(const struct ZigClangUnaryOperator *); ZIG_EXTERN_C struct ZigClangSourceLocation ZigClangUnaryOperator_getBeginLoc(const struct ZigClangUnaryOperator *); +ZIG_EXTERN_C struct ZigClangQualType ZigClangValueDecl_getType(const struct ZigClangValueDecl *); + ZIG_EXTERN_C const struct ZigClangExpr *ZigClangWhileStmt_getCond(const struct ZigClangWhileStmt *); ZIG_EXTERN_C const struct ZigClangStmt *ZigClangWhileStmt_getBody(const struct ZigClangWhileStmt *); diff --git a/test/run_translated_c.zig b/test/run_translated_c.zig index a99271eb41..a8a3a0e21b 100644 --- a/test/run_translated_c.zig +++ b/test/run_translated_c.zig @@ -818,4 +818,60 @@ pub fn addCases(cases: *tests.RunTranslatedCContext) void { \\ return 0; \\} , ""); + + cases.add("Address of function is no-op", + \\#include + \\#include + \\typedef int (*myfunc)(int); + \\int a(int arg) { return arg + 1;} + \\int b(int arg) { return arg + 2;} + \\int caller(myfunc fn, int arg) { + \\ return fn(arg); + \\} + \\int main() { + \\ myfunc arr[3] = {&a, &b, a}; + \\ myfunc foo = a; + \\ myfunc bar = &(a); + \\ if (foo != bar) abort(); + \\ if (arr[0] == arr[1]) abort(); + \\ if (arr[0] != arr[2]) abort(); + \\ if (caller(b, 40) != 42) abort(); + \\ if (caller(&b, 40) != 42) abort(); + \\ return 0; + \\} + , ""); + + cases.add("Obscure ways of calling functions; issue #4124", + \\#include + \\static int add(int a, int b) { + \\ return a + b; + \\} + \\typedef int (*adder)(int, int); + \\typedef void (*funcptr)(void); + \\int main() { + \\ if ((add)(1, 2) != 3) abort(); + \\ if ((&add)(1, 2) != 3) abort(); + \\ if (add(3, 1) != 4) abort(); + \\ if ((*add)(2, 3) != 5) abort(); + \\ if ((**add)(7, -1) != 6) abort(); + \\ if ((***add)(-2, 9) != 7) abort(); + \\ + \\ int (*ptr)(int a, int b); + \\ ptr = add; + \\ + \\ if (ptr(1, 2) != 3) abort(); + \\ if ((*ptr)(3, 1) != 4) abort(); + \\ if ((**ptr)(2, 3) != 5) abort(); + \\ if ((***ptr)(7, -1) != 6) abort(); + \\ if ((****ptr)(-2, 9) != 7) abort(); + \\ + \\ funcptr addr1 = (funcptr)(add); + \\ funcptr addr2 = (funcptr)(&add); + \\ + \\ if (addr1 != addr2) abort(); + \\ if (((int(*)(int, int))addr1)(1, 2) != 3) abort(); + \\ if (((adder)addr2)(1, 2) != 3) abort(); + \\ return 0; + \\} + , ""); } diff --git a/test/translate_c.zig b/test/translate_c.zig index 10ac76a2c5..75d00d12f4 100644 --- a/test/translate_c.zig +++ b/test/translate_c.zig @@ -2802,8 +2802,8 @@ pub fn addCases(cases: *tests.TranslateCContext) void { \\ fn_f64(3); \\ fn_bool(@as(c_int, 123) != 0); \\ fn_bool(@as(c_int, 0) != 0); - \\ fn_bool(@ptrToInt(&fn_int) != 0); - \\ fn_int(@intCast(c_int, @ptrToInt(&fn_int))); + \\ fn_bool(@ptrToInt(fn_int) != 0); + \\ fn_int(@intCast(c_int, @ptrToInt(fn_int))); \\ fn_ptr(@intToPtr(?*c_void, @as(c_int, 42))); \\} }); From c2beaba85a87b5985fe9f1676ad2bc4888dd6c1a Mon Sep 17 00:00:00 2001 From: joachimschmidt557 Date: Mon, 8 Feb 2021 22:29:41 +0100 Subject: [PATCH 61/73] stage2 ARM: fix callee_preserved_regs Previously, the registers included r0, r1, r2, r3 which are not included in the callee saved registers according to the Procedure Call Standard for the ARM Architecture. --- src/codegen/arm.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/codegen/arm.zig b/src/codegen/arm.zig index 94f1ae951d..d538d28c50 100644 --- a/src/codegen/arm.zig +++ b/src/codegen/arm.zig @@ -186,7 +186,7 @@ pub const Psr = enum { spsr, }; -pub const callee_preserved_regs = [_]Register{ .r0, .r1, .r2, .r3, .r4, .r5, .r6, .r7, .r8, .r10 }; +pub const callee_preserved_regs = [_]Register{ .r4, .r5, .r6, .r7, .r8, .r10 }; pub const c_abi_int_param_regs = [_]Register{ .r0, .r1, .r2, .r3 }; pub const c_abi_int_return_regs = [_]Register{ .r0, .r1 }; From 6a5a6386c60143258fc9970f52e26e3a974b52b5 Mon Sep 17 00:00:00 2001 From: joachimschmidt557 Date: Sun, 7 Feb 2021 20:01:11 +0100 Subject: [PATCH 62/73] stage2 ARM: fix register allocation in genArmBinOp Previously, this would reuse an operand even if reuseOperand returned false for both operands. genArmBinOpCode was also changed to be more Three-address code oriented in the process. --- src/codegen.zig | 79 ++++++++++++++++++++++++------------------------- 1 file changed, 39 insertions(+), 40 deletions(-) diff --git a/src/codegen.zig b/src/codegen.zig index 904fda0deb..63dbe3268e 100644 --- a/src/codegen.zig +++ b/src/codegen.zig @@ -1295,38 +1295,31 @@ fn Function(comptime arch: std.Target.Cpu.Arch) type { const rhs = try self.resolveInst(op_rhs); // Destination must be a register - // Source may be register, memory or an immediate - // - // So there are two options: (lhs is src and rhs is dest) - // or (rhs is src and lhs is dest) - const lhs_is_dest = blk: { - if (self.reuseOperand(inst, 0, lhs)) { - break :blk true; - } else if (self.reuseOperand(inst, 1, rhs)) { - break :blk false; - } else { - break :blk lhs == .register; - } - }; - var dst_mcv: MCValue = undefined; - var src_mcv: MCValue = undefined; - var src_inst: *ir.Inst = undefined; - if (lhs_is_dest) { + var lhs_mcv: MCValue = undefined; + var rhs_mcv: MCValue = undefined; + if (self.reuseOperand(inst, 0, lhs)) { // LHS is the destination // RHS is the source - src_inst = op_rhs; - src_mcv = rhs; - dst_mcv = if (lhs != .register) try self.copyToNewRegister(inst, lhs) else lhs; - } else { + lhs_mcv = if (lhs != .register) try self.copyToNewRegister(inst, lhs) else lhs; + rhs_mcv = rhs; + dst_mcv = lhs_mcv; + } else if (self.reuseOperand(inst, 1, rhs)) { // RHS is the destination // LHS is the source - src_inst = op_lhs; - src_mcv = lhs; - dst_mcv = if (rhs != .register) try self.copyToNewRegister(inst, rhs) else rhs; + lhs_mcv = lhs; + rhs_mcv = if (rhs != .register) try self.copyToNewRegister(inst, rhs) else rhs; + dst_mcv = rhs_mcv; + } else { + // TODO save 1 copy instruction by directly allocating the destination register + // LHS is the destination + // RHS is the source + lhs_mcv = try self.copyToNewRegister(inst, lhs); + rhs_mcv = rhs; + dst_mcv = lhs_mcv; } - try self.genArmBinOpCode(inst.src, dst_mcv.register, src_mcv, lhs_is_dest, op); + try self.genArmBinOpCode(inst.src, dst_mcv.register, lhs_mcv, rhs_mcv, op); return dst_mcv; } @@ -1334,11 +1327,17 @@ fn Function(comptime arch: std.Target.Cpu.Arch) type { self: *Self, src: usize, dst_reg: Register, - src_mcv: MCValue, - lhs_is_dest: bool, + lhs_mcv: MCValue, + rhs_mcv: MCValue, op: ir.Inst.Tag, ) !void { - const operand = switch (src_mcv) { + assert(lhs_mcv == .register or lhs_mcv == .register); + + const swap_lhs_and_rhs = rhs_mcv == .register and lhs_mcv != .register; + const op1 = if (swap_lhs_and_rhs) rhs_mcv.register else lhs_mcv.register; + const op2 = if (swap_lhs_and_rhs) lhs_mcv else rhs_mcv; + + const operand = switch (op2) { .none => unreachable, .undef => unreachable, .dead, .unreach => unreachable, @@ -1352,37 +1351,37 @@ fn Function(comptime arch: std.Target.Cpu.Arch) type { // Load immediate into register if it doesn't fit // as an operand break :blk Instruction.Operand.fromU32(@intCast(u32, imm)) orelse - Instruction.Operand.reg(try self.copyToTmpRegister(src, src_mcv), Instruction.Operand.Shift.none); + Instruction.Operand.reg(try self.copyToTmpRegister(src, op2), Instruction.Operand.Shift.none); }, - .register => |src_reg| Instruction.Operand.reg(src_reg, Instruction.Operand.Shift.none), + .register => |reg| Instruction.Operand.reg(reg, Instruction.Operand.Shift.none), .stack_offset, .embedded_in_code, .memory, - => Instruction.Operand.reg(try self.copyToTmpRegister(src, src_mcv), Instruction.Operand.Shift.none), + => Instruction.Operand.reg(try self.copyToTmpRegister(src, op2), Instruction.Operand.Shift.none), }; switch (op) { .add => { - writeInt(u32, try self.code.addManyAsArray(4), Instruction.add(.al, dst_reg, dst_reg, operand).toU32()); + writeInt(u32, try self.code.addManyAsArray(4), Instruction.add(.al, dst_reg, op1, operand).toU32()); }, .sub => { - if (lhs_is_dest) { - writeInt(u32, try self.code.addManyAsArray(4), Instruction.sub(.al, dst_reg, dst_reg, operand).toU32()); + if (swap_lhs_and_rhs) { + writeInt(u32, try self.code.addManyAsArray(4), Instruction.rsb(.al, dst_reg, op1, operand).toU32()); } else { - writeInt(u32, try self.code.addManyAsArray(4), Instruction.rsb(.al, dst_reg, dst_reg, operand).toU32()); + writeInt(u32, try self.code.addManyAsArray(4), Instruction.sub(.al, dst_reg, op1, operand).toU32()); } }, .bool_and, .bit_and => { - writeInt(u32, try self.code.addManyAsArray(4), Instruction.@"and"(.al, dst_reg, dst_reg, operand).toU32()); + writeInt(u32, try self.code.addManyAsArray(4), Instruction.@"and"(.al, dst_reg, op1, operand).toU32()); }, .bool_or, .bit_or => { - writeInt(u32, try self.code.addManyAsArray(4), Instruction.orr(.al, dst_reg, dst_reg, operand).toU32()); + writeInt(u32, try self.code.addManyAsArray(4), Instruction.orr(.al, dst_reg, op1, operand).toU32()); }, .not, .xor => { - writeInt(u32, try self.code.addManyAsArray(4), Instruction.eor(.al, dst_reg, dst_reg, operand).toU32()); + writeInt(u32, try self.code.addManyAsArray(4), Instruction.eor(.al, dst_reg, op1, operand).toU32()); }, .cmp_eq => { - writeInt(u32, try self.code.addManyAsArray(4), Instruction.cmp(.al, dst_reg, operand).toU32()); + writeInt(u32, try self.code.addManyAsArray(4), Instruction.cmp(.al, op1, operand).toU32()); }, else => unreachable, // not a binary instruction } @@ -2135,7 +2134,7 @@ fn Function(comptime arch: std.Target.Cpu.Arch) type { const src_mcv = rhs; const dst_mcv = if (lhs != .register) try self.copyToNewRegister(&inst.base, lhs) else lhs; - try self.genArmBinOpCode(inst.base.src, dst_mcv.register, src_mcv, true, .cmp_eq); + try self.genArmBinOpCode(inst.base.src, dst_mcv.register, dst_mcv, src_mcv, .cmp_eq); const info = inst.lhs.ty.intInfo(self.target.*); return switch (info.signedness) { .signed => MCValue{ .compare_flags_signed = op }, From 1480c428065c01c6feff22ce84021c2e0e30aa9b Mon Sep 17 00:00:00 2001 From: Jonathan Marler Date: Sun, 3 Jan 2021 02:20:37 -0700 Subject: [PATCH 63/73] require specifier for arrayish types --- lib/std/build.zig | 2 +- lib/std/fmt.zig | 85 +++++++++++++++++++++++------------- lib/std/testing.zig | 14 +++--- src/Module.zig | 2 +- src/codegen.zig | 2 +- src/zir_sema.zig | 2 +- test/cli.zig | 8 ++-- test/standalone/cat/main.zig | 2 +- 8 files changed, 71 insertions(+), 46 deletions(-) diff --git a/lib/std/build.zig b/lib/std/build.zig index 0db9d4c24e..77ca854f15 100644 --- a/lib/std/build.zig +++ b/lib/std/build.zig @@ -739,7 +739,7 @@ pub const Builder = struct { return args.default_target; }, else => |e| { - warn("Unable to parse target '{}': {s}\n\n", .{ triple, @errorName(e) }); + warn("Unable to parse target '{s}': {s}\n\n", .{ triple, @errorName(e) }); self.markInvalidUserInput(); return args.default_target; }, diff --git a/lib/std/fmt.zig b/lib/std/fmt.zig index 27e68ee9c1..c1b24cc6da 100644 --- a/lib/std/fmt.zig +++ b/lib/std/fmt.zig @@ -69,6 +69,7 @@ pub const FormatOptions = struct { /// - `c`: output integer as an ASCII character. Integer type must have 8 bits at max. /// - `u`: output integer as an UTF-8 sequence. Integer type must have 21 bits at max. /// - `*`: output the address of the value instead of the value itself. +/// - `any`: output a value of any type using its default format /// /// If a formatted user type contains a function of the type /// ``` @@ -387,17 +388,32 @@ pub fn formatAddress(value: anytype, options: FormatOptions, writer: anytype) @T return; } }, - .Array => |info| { - try writer.writeAll(@typeName(info.child) ++ "@"); - try formatInt(@ptrToInt(value), 16, false, FormatOptions{}, writer); - return; - }, else => {}, } @compileError("Cannot format non-pointer type " ++ @typeName(T) ++ " with * specifier"); } +// This ANY const is a workaround for: https://github.com/ziglang/zig/issues/7948 +const ANY = "any"; + +fn defaultSpec(comptime T: type) [:0]const u8 { + switch (@typeInfo(T)) { + .Array => |_| return ANY, + .Pointer => |ptr_info| switch (ptr_info.size) { + .One => switch (@typeInfo(ptr_info.child)) { + .Array => |_| return "*", + else => {}, + }, + .Many, .C => return "*", + .Slice => return ANY, + }, + .Optional => |info| return defaultSpec(info.child), + else => {}, + } + return ""; +} + pub fn formatType( value: anytype, comptime fmt: []const u8, @@ -405,18 +421,19 @@ pub fn formatType( writer: anytype, max_depth: usize, ) @TypeOf(writer).Error!void { - if (comptime std.mem.eql(u8, fmt, "*")) { + const actual_fmt = comptime if (std.mem.eql(u8, fmt, ANY)) defaultSpec(@TypeOf(value)) else fmt; + if (comptime std.mem.eql(u8, actual_fmt, "*")) { return formatAddress(value, options, writer); } const T = @TypeOf(value); if (comptime std.meta.trait.hasFn("format")(T)) { - return try value.format(fmt, options, writer); + return try value.format(actual_fmt, options, writer); } switch (@typeInfo(T)) { .ComptimeInt, .Int, .ComptimeFloat, .Float => { - return formatValue(value, fmt, options, writer); + return formatValue(value, actual_fmt, options, writer); }, .Void => { return formatBuf("void", options, writer); @@ -426,16 +443,16 @@ pub fn formatType( }, .Optional => { if (value) |payload| { - return formatType(payload, fmt, options, writer, max_depth); + return formatType(payload, actual_fmt, options, writer, max_depth); } else { return formatBuf("null", options, writer); } }, .ErrorUnion => { if (value) |payload| { - return formatType(payload, fmt, options, writer, max_depth); + return formatType(payload, actual_fmt, options, writer, max_depth); } else |err| { - return formatType(err, fmt, options, writer, max_depth); + return formatType(err, actual_fmt, options, writer, max_depth); } }, .ErrorSet => { @@ -461,7 +478,7 @@ pub fn formatType( } try writer.writeAll("("); - try formatType(@enumToInt(value), fmt, options, writer, max_depth); + try formatType(@enumToInt(value), actual_fmt, options, writer, max_depth); try writer.writeAll(")"); }, .Union => |info| { @@ -475,7 +492,7 @@ pub fn formatType( try writer.writeAll(" = "); inline for (info.fields) |u_field| { if (value == @field(UnionTagType, u_field.name)) { - try formatType(@field(value, u_field.name), fmt, options, writer, max_depth - 1); + try formatType(@field(value, u_field.name), ANY, options, writer, max_depth - 1); } } try writer.writeAll(" }"); @@ -497,48 +514,54 @@ pub fn formatType( } try writer.writeAll(f.name); try writer.writeAll(" = "); - try formatType(@field(value, f.name), fmt, options, writer, max_depth - 1); + try formatType(@field(value, f.name), ANY, options, writer, max_depth - 1); } try writer.writeAll(" }"); }, .Pointer => |ptr_info| switch (ptr_info.size) { .One => switch (@typeInfo(ptr_info.child)) { .Array => |info| { + if (actual_fmt.len == 0) + @compileError("cannot format array ref without a specifier (i.e. {s} or {*})"); if (info.child == u8) { - if (fmt.len > 0 and comptime mem.indexOfScalar(u8, "sxXeEzZ", fmt[0]) != null) { - return formatText(value, fmt, options, writer); + if (comptime mem.indexOfScalar(u8, "sxXeEzZ", actual_fmt[0]) != null) { + return formatText(value, actual_fmt, options, writer); } } - return format(writer, "{s}@{x}", .{ @typeName(ptr_info.child), @ptrToInt(value) }); + @compileError("Unknown format string: '" ++ actual_fmt ++ "'"); }, .Enum, .Union, .Struct => { - return formatType(value.*, fmt, options, writer, max_depth); + return formatType(value.*, actual_fmt, options, writer, max_depth); }, else => return format(writer, "{s}@{x}", .{ @typeName(ptr_info.child), @ptrToInt(value) }), }, .Many, .C => { + if (actual_fmt.len == 0) + @compileError("cannot format pointer without a specifier (i.e. {s} or {*})"); if (ptr_info.sentinel) |sentinel| { - return formatType(mem.span(value), fmt, options, writer, max_depth); + return formatType(mem.span(value), actual_fmt, options, writer, max_depth); } if (ptr_info.child == u8) { - if (fmt.len > 0 and comptime mem.indexOfScalar(u8, "sxXeEzZ", fmt[0]) != null) { - return formatText(mem.span(value), fmt, options, writer); + if (comptime mem.indexOfScalar(u8, "sxXeEzZ", actual_fmt[0]) != null) { + return formatText(mem.span(value), actual_fmt, options, writer); } } - return format(writer, "{s}@{x}", .{ @typeName(ptr_info.child), @ptrToInt(value) }); + @compileError("Unknown format string: '" ++ actual_fmt ++ "'"); }, .Slice => { + if (actual_fmt.len == 0) + @compileError("cannot format slice without a specifier (i.e. {s} or {any})"); if (max_depth == 0) { return writer.writeAll("{ ... }"); } if (ptr_info.child == u8) { - if (fmt.len > 0 and comptime mem.indexOfScalar(u8, "sxXeEzZ", fmt[0]) != null) { - return formatText(value, fmt, options, writer); + if (comptime mem.indexOfScalar(u8, "sxXeEzZ", actual_fmt[0]) != null) { + return formatText(value, actual_fmt, options, writer); } } try writer.writeAll("{ "); for (value) |elem, i| { - try formatType(elem, fmt, options, writer, max_depth - 1); + try formatType(elem, actual_fmt, options, writer, max_depth - 1); if (i != value.len - 1) { try writer.writeAll(", "); } @@ -547,17 +570,19 @@ pub fn formatType( }, }, .Array => |info| { + if (actual_fmt.len == 0) + @compileError("cannot format array without a specifier (i.e. {s} or {any})"); if (max_depth == 0) { return writer.writeAll("{ ... }"); } if (info.child == u8) { - if (fmt.len > 0 and comptime mem.indexOfScalar(u8, "sxXeEzZ", fmt[0]) != null) { - return formatText(&value, fmt, options, writer); + if (comptime mem.indexOfScalar(u8, "sxXeEzZ", actual_fmt[0]) != null) { + return formatText(&value, actual_fmt, options, writer); } } try writer.writeAll("{ "); for (value) |elem, i| { - try formatType(elem, fmt, options, writer, max_depth - 1); + try formatType(elem, actual_fmt, options, writer, max_depth - 1); if (i < value.len - 1) { try writer.writeAll(", "); } @@ -568,7 +593,7 @@ pub fn formatType( try writer.writeAll("{ "); var i: usize = 0; while (i < info.len) : (i += 1) { - try formatValue(value[i], fmt, options, writer); + try formatValue(value[i], actual_fmt, options, writer); if (i < info.len - 1) { try writer.writeAll(", "); } @@ -1668,7 +1693,7 @@ test "slice" { { var int_slice = [_]u32{ 1, 4096, 391891, 1111111111 }; var runtime_zero: usize = 0; - try expectFmt("int: { 1, 4096, 391891, 1111111111 }", "int: {}", .{int_slice[runtime_zero..]}); + try expectFmt("int: { 1, 4096, 391891, 1111111111 }", "int: {any}", .{int_slice[runtime_zero..]}); try expectFmt("int: { 1, 4096, 391891, 1111111111 }", "int: {d}", .{int_slice[runtime_zero..]}); try expectFmt("int: { 1, 1000, 5fad3, 423a35c7 }", "int: {x}", .{int_slice[runtime_zero..]}); try expectFmt("int: { 00001, 01000, 5fad3, 423a35c7 }", "int: {x:0>5}", .{int_slice[runtime_zero..]}); diff --git a/lib/std/testing.zig b/lib/std/testing.zig index 8df05ba7fe..1d89155a58 100644 --- a/lib/std/testing.zig +++ b/lib/std/testing.zig @@ -29,7 +29,7 @@ pub var zig_exe_path: []const u8 = undefined; /// and then aborts when actual_error_union is not expected_error. pub fn expectError(expected_error: anyerror, actual_error_union: anytype) void { if (actual_error_union) |actual_payload| { - std.debug.panic("expected error.{s}, found {}", .{ @errorName(expected_error), actual_payload }); + std.debug.panic("expected error.{s}, found {any}", .{ @errorName(expected_error), actual_payload }); } else |actual_error| { if (expected_error != actual_error) { std.debug.panic("expected error.{s}, found error.{s}", .{ @@ -88,7 +88,7 @@ pub fn expectEqual(expected: anytype, actual: @TypeOf(expected)) void { }, .Slice => { if (actual.ptr != expected.ptr) { - std.debug.panic("expected slice ptr {}, found {}", .{ expected.ptr, actual.ptr }); + std.debug.panic("expected slice ptr {*}, found {*}", .{ expected.ptr, actual.ptr }); } if (actual.len != expected.len) { std.debug.panic("expected slice len {}, found {}", .{ expected.len, actual.len }); @@ -145,11 +145,11 @@ pub fn expectEqual(expected: anytype, actual: @TypeOf(expected)) void { if (actual) |actual_payload| { expectEqual(expected_payload, actual_payload); } else { - std.debug.panic("expected {}, found null", .{expected_payload}); + std.debug.panic("expected {any}, found null", .{expected_payload}); } } else { if (actual) |actual_payload| { - std.debug.panic("expected null, found {}", .{actual_payload}); + std.debug.panic("expected null, found {any}", .{actual_payload}); } } }, @@ -159,11 +159,11 @@ pub fn expectEqual(expected: anytype, actual: @TypeOf(expected)) void { if (actual) |actual_payload| { expectEqual(expected_payload, actual_payload); } else |actual_err| { - std.debug.panic("expected {}, found {}", .{ expected_payload, actual_err }); + std.debug.panic("expected {any}, found {}", .{ expected_payload, actual_err }); } } else |expected_err| { if (actual) |actual_payload| { - std.debug.panic("expected {}, found {}", .{ expected_err, actual_payload }); + std.debug.panic("expected {}, found {any}", .{ expected_err, actual_payload }); } else |actual_err| { expectEqual(expected_err, actual_err); } @@ -279,7 +279,7 @@ pub fn expectEqualSlices(comptime T: type, expected: []const T, actual: []const var i: usize = 0; while (i < expected.len) : (i += 1) { if (!std.meta.eql(expected[i], actual[i])) { - std.debug.panic("index {} incorrect. expected {}, found {}", .{ i, expected[i], actual[i] }); + std.debug.panic("index {} incorrect. expected {any}, found {any}", .{ i, expected[i], actual[i] }); } } } diff --git a/src/Module.zig b/src/Module.zig index 8de03b54ab..a90998a386 100644 --- a/src/Module.zig +++ b/src/Module.zig @@ -2400,7 +2400,7 @@ fn getAnonTypeName(self: *Module, scope: *Scope, base_token: std.zig.ast.TokenIn else => unreachable, }; const loc = tree.tokenLocationLoc(0, tree.token_locs[base_token]); - return std.fmt.allocPrint(self.gpa, "{}:{}:{}", .{ base_name, loc.line, loc.column }); + return std.fmt.allocPrint(self.gpa, "{s}:{}:{}", .{ base_name, loc.line, loc.column }); } fn getNextAnonNameIndex(self: *Module) usize { diff --git a/src/codegen.zig b/src/codegen.zig index 63dbe3268e..9771386403 100644 --- a/src/codegen.zig +++ b/src/codegen.zig @@ -2223,7 +2223,7 @@ fn Function(comptime arch: std.Target.Cpu.Arch) type { writeInt(u32, try self.code.addManyAsArray(4), Instruction.cmp(.al, reg, op).toU32()); break :blk .ne; }, - else => return self.fail(inst.base.src, "TODO implement condbr {} when condition is {}", .{ self.target.cpu.arch, @tagName(cond) }), + else => return self.fail(inst.base.src, "TODO implement condbr {} when condition is {s}", .{ self.target.cpu.arch, @tagName(cond) }), }; const reloc = Reloc{ diff --git a/src/zir_sema.zig b/src/zir_sema.zig index f373d7174d..a8120108a4 100644 --- a/src/zir_sema.zig +++ b/src/zir_sema.zig @@ -1832,7 +1832,7 @@ fn zirBitwise(mod: *Module, scope: *Scope, inst: *zir.Inst.BinOp) InnerError!*In const is_int = scalar_tag == .Int or scalar_tag == .ComptimeInt; if (!is_int) { - return mod.fail(scope, inst.base.src, "invalid operands to binary bitwise expression: '{}' and '{}'", .{ @tagName(lhs.ty.zigTypeTag()), @tagName(rhs.ty.zigTypeTag()) }); + return mod.fail(scope, inst.base.src, "invalid operands to binary bitwise expression: '{s}' and '{s}'", .{ @tagName(lhs.ty.zigTypeTag()), @tagName(rhs.ty.zigTypeTag()) }); } if (casted_lhs.value()) |lhs_val| { diff --git a/test/cli.zig b/test/cli.zig index 33dbc2d62b..8dbef06887 100644 --- a/test/cli.zig +++ b/test/cli.zig @@ -51,9 +51,9 @@ fn unwrapArg(arg: UnwrapArgError![]u8) UnwrapArgError![]u8 { } fn printCmd(cwd: []const u8, argv: []const []const u8) void { - std.debug.warn("cd {} && ", .{cwd}); + std.debug.warn("cd {s} && ", .{cwd}); for (argv) |arg| { - std.debug.warn("{} ", .{arg}); + std.debug.warn("{s} ", .{arg}); } std.debug.warn("\n", .{}); } @@ -75,14 +75,14 @@ fn exec(cwd: []const u8, expect_0: bool, argv: []const []const u8) !ChildProcess if ((code != 0) == expect_0) { std.debug.warn("The following command exited with error code {}:\n", .{code}); printCmd(cwd, argv); - std.debug.warn("stderr:\n{}\n", .{result.stderr}); + std.debug.warn("stderr:\n{s}\n", .{result.stderr}); return error.CommandFailed; } }, else => { std.debug.warn("The following command terminated unexpectedly:\n", .{}); printCmd(cwd, argv); - std.debug.warn("stderr:\n{}\n", .{result.stderr}); + std.debug.warn("stderr:\n{s}\n", .{result.stderr}); return error.CommandFailed; }, } diff --git a/test/standalone/cat/main.zig b/test/standalone/cat/main.zig index 89e5fde3cd..80ec97877a 100644 --- a/test/standalone/cat/main.zig +++ b/test/standalone/cat/main.zig @@ -41,6 +41,6 @@ pub fn main() !void { } fn usage(exe: []const u8) !void { - warn("Usage: {} [FILE]...\n", .{exe}); + warn("Usage: {s} [FILE]...\n", .{exe}); return error.Invalid; } From a2ec77041bc4a58d922cd3f8db923b7272b1f8f7 Mon Sep 17 00:00:00 2001 From: Evan Haas Date: Mon, 8 Feb 2021 11:43:57 -0800 Subject: [PATCH 64/73] translate-c: call @boolToInt on return value when necessary In C, if a function has return type `int` and the return expression is a boolean expression, there is no implicit cast. Therefore the translated Zig code needs to call @boolToInt() on the result. Written with feedback from @Vexu Fixes #6215 --- src/translate_c.zig | 44 +++++++++++++++++++++++++++++++++++---- test/run_translated_c.zig | 35 +++++++++++++++++++++++++++++++ test/translate_c.zig | 8 +++---- 3 files changed, 79 insertions(+), 8 deletions(-) diff --git a/src/translate_c.zig b/src/translate_c.zig index e3652ddbfb..82a7695c13 100644 --- a/src/translate_c.zig +++ b/src/translate_c.zig @@ -78,6 +78,10 @@ const Scope = struct { mangle_count: u32 = 0, lbrace: ast.TokenIndex, + /// When the block corresponds to a function, keep track of the return type + /// so that the return expression can be cast, if necessary + return_type: ?clang.QualType = null, + fn init(c: *Context, parent: *Scope, labeled: bool) !Block { var blk = Block{ .base = .{ @@ -209,6 +213,21 @@ const Scope = struct { } } + fn findBlockReturnType(inner: *Scope, c: *Context) ?clang.QualType { + var scope = inner; + while (true) { + switch (scope.id) { + .Root => return null, + .Block => { + const block = @fieldParentPtr(Block, "base", scope); + if (block.return_type) |qt| return qt; + scope = scope.parent.?; + }, + else => scope = scope.parent.?, + } + } + } + fn getAlias(scope: *Scope, name: []const u8) []const u8 { return switch (scope.id) { .Root => return name, @@ -580,6 +599,8 @@ fn visitFnDecl(c: *Context, fn_decl: *const clang.FunctionDecl) Error!void { else => break fn_type, } } else unreachable; + const fn_ty = @ptrCast(*const clang.FunctionType, fn_type); + const return_qt = fn_ty.getReturnType(); const proto_node = switch (fn_type.getTypeClass()) { .FunctionProto => blk: { @@ -617,7 +638,9 @@ fn visitFnDecl(c: *Context, fn_decl: *const clang.FunctionDecl) Error!void { // actual function definition with body const body_stmt = fn_decl.getBody(); var block_scope = try Scope.Block.init(rp.c, &c.global_scope.base, false); + block_scope.return_type = return_qt; defer block_scope.deinit(); + var scope = &block_scope.base; var param_id: c_uint = 0; @@ -667,10 +690,7 @@ fn visitFnDecl(c: *Context, fn_decl: *const clang.FunctionDecl) Error!void { }; // add return statement if the function didn't have one blk: { - const fn_ty = @ptrCast(*const clang.FunctionType, fn_type); - if (fn_ty.getNoReturnAttr()) break :blk; - const return_qt = fn_ty.getReturnType(); if (isCVoid(return_qt)) break :blk; if (block_scope.statements.items.len > 0) { @@ -2018,16 +2038,32 @@ fn transIntegerLiteral( return maybeSuppressResult(rp, scope, result_used, &as_node.base); } +/// In C if a function has return type `int` and the return value is a boolean +/// expression, there is no implicit cast. So the translated Zig will need to +/// call @boolToInt +fn zigShouldCastBooleanReturnToInt(node: ?*ast.Node, qt: ?clang.QualType) bool { + if (node == null or qt == null) return false; + return isBoolRes(node.?) and cIsNativeInt(qt.?); +} + fn transReturnStmt( rp: RestorePoint, scope: *Scope, expr: *const clang.ReturnStmt, ) TransError!*ast.Node { const return_kw = try appendToken(rp.c, .Keyword_return, "return"); - const rhs: ?*ast.Node = if (expr.getRetValue()) |val_expr| + var rhs: ?*ast.Node = if (expr.getRetValue()) |val_expr| try transExprCoercing(rp, scope, val_expr, .used, .r_value) else null; + const return_qt = scope.findBlockReturnType(rp.c); + if (zigShouldCastBooleanReturnToInt(rhs, return_qt)) { + const bool_to_int_node = try rp.c.createBuiltinCall("@boolToInt", 1); + bool_to_int_node.params()[0] = rhs.?; + bool_to_int_node.rparen_token = try appendToken(rp.c, .RParen, ")"); + + rhs = &bool_to_int_node.base; + } const return_expr = try ast.Node.ControlFlowExpression.create(rp.c.arena, .{ .ltoken = return_kw, .tag = .Return, diff --git a/test/run_translated_c.zig b/test/run_translated_c.zig index a8a3a0e21b..e28bdc96f0 100644 --- a/test/run_translated_c.zig +++ b/test/run_translated_c.zig @@ -874,4 +874,39 @@ pub fn addCases(cases: *tests.RunTranslatedCContext) void { \\ return 0; \\} , ""); + + cases.add("Return boolean expression as int; issue #6215", + \\#include + \\#include + \\bool actual_bool(void) { return 4 - 1 < 4;} + \\char char_bool_ret(void) { return 0 || 1; } + \\short short_bool_ret(void) { return 0 < 1; } + \\int int_bool_ret(void) { return 1 && 1; } + \\long long_bool_ret(void) { return !(0 > 1); } + \\static int GLOBAL = 1; + \\int nested_scopes(int a, int b) { + \\ if (a == 1) { + \\ int target = 1; + \\ return b == target; + \\ } else { + \\ int target = 2; + \\ if (b == target) { + \\ return GLOBAL == 1; + \\ } + \\ return target == 2; + \\ } + \\} + \\int main(void) { + \\ if (!actual_bool()) abort(); + \\ if (!char_bool_ret()) abort(); + \\ if (!short_bool_ret()) abort(); + \\ if (!int_bool_ret()) abort(); + \\ if (!long_bool_ret()) abort(); + \\ if (!nested_scopes(1, 1)) abort(); + \\ if (nested_scopes(1, 2)) abort(); + \\ if (!nested_scopes(0, 2)) abort(); + \\ if (!nested_scopes(0, 3)) abort(); + \\ return 1 != 1; + \\} + , ""); } diff --git a/test/translate_c.zig b/test/translate_c.zig index 75d00d12f4..03ca87d5f6 100644 --- a/test/translate_c.zig +++ b/test/translate_c.zig @@ -1305,10 +1305,10 @@ pub fn addCases(cases: *tests.TranslateCContext) void { \\ var a: c_int = undefined; \\ var b: f32 = undefined; \\ var c: ?*c_void = undefined; - \\ return !(a == @as(c_int, 0)); - \\ return !(a != 0); - \\ return !(b != 0); - \\ return !(c != null); + \\ return @boolToInt(!(a == @as(c_int, 0))); + \\ return @boolToInt(!(a != 0)); + \\ return @boolToInt(!(b != 0)); + \\ return @boolToInt(!(c != null)); \\} }); From 6dc2236054dfcf911ce848f67a4078740a90783a Mon Sep 17 00:00:00 2001 From: Isaac Freund Date: Tue, 9 Feb 2021 22:15:21 +0100 Subject: [PATCH 65/73] musl: update to 1.2.2 --- .../aarch64-linux-musl/bits/alltypes.h | 6 + .../include/aarch64-linux-musl/bits/hwcap.h | 12 +- .../include/aarch64-linux-musl/bits/signal.h | 4 +- .../include/aarch64-linux-musl/bits/syscall.h | 10 +- .../include/aarch64-linux-musl/bits/user.h | 2 +- .../include/arm-linux-musl/bits/alltypes.h | 6 + .../include/arm-linux-musl/bits/syscall.h | 10 +- .../generic-musl}/bits/fcntl.h | 10 +- lib/libc/include/generic-musl/elf.h | 2 + .../include/generic-musl/netinet/if_ether.h | 1 + lib/libc/include/generic-musl/netinet/in.h | 5 +- lib/libc/include/generic-musl/netinet/tcp.h | 18 +- lib/libc/include/generic-musl/netinet/udp.h | 1 + lib/libc/include/generic-musl/sched.h | 1 + lib/libc/include/generic-musl/signal.h | 16 +- lib/libc/include/generic-musl/stdlib.h | 1 + lib/libc/include/generic-musl/sys/fanotify.h | 8 +- lib/libc/include/generic-musl/sys/ioctl.h | 9 +- lib/libc/include/generic-musl/sys/mman.h | 1 + .../include/generic-musl/sys/personality.h | 3 + lib/libc/include/generic-musl/sys/prctl.h | 3 + lib/libc/include/generic-musl/sys/random.h | 1 + lib/libc/include/generic-musl/termios.h | 4 + lib/libc/include/generic-musl/unistd.h | 2 + .../include/i386-linux-musl/bits/alltypes.h | 6 + .../include/i386-linux-musl/bits/syscall.h | 10 +- .../include/mips-linux-musl/bits/alltypes.h | 6 + .../include/mips-linux-musl/bits/syscall.h | 10 +- .../include/mips64-linux-musl/bits/alltypes.h | 6 + .../include/mips64-linux-musl/bits/fcntl.h | 2 +- .../include/mips64-linux-musl/bits/syscall.h | 10 +- .../powerpc-linux-musl/bits/alltypes.h | 6 + .../include/powerpc-linux-musl/bits/syscall.h | 10 +- .../powerpc64-linux-musl/bits/alltypes.h | 6 + .../powerpc64-linux-musl/bits/syscall.h | 10 +- .../riscv64-linux-musl/bits/alltypes.h | 6 + .../include/riscv64-linux-musl/bits/signal.h | 4 +- .../include/riscv64-linux-musl/bits/syscall.h | 8 + .../include/s390x-linux-musl/bits/alltypes.h | 14 + .../include/s390x-linux-musl/bits/float.h | 6 +- .../include/s390x-linux-musl/bits/syscall.h | 10 +- .../include/x86_64-linux-musl/bits/alltypes.h | 6 + .../include/x86_64-linux-musl/bits/syscall.h | 10 +- lib/libc/musl/arch/aarch64/bits/hwcap.h | 10 + lib/libc/musl/arch/aarch64/bits/signal.h | 4 +- lib/libc/musl/arch/aarch64/bits/syscall.h.in | 4 + lib/libc/musl/arch/aarch64/bits/user.h | 2 +- lib/libc/musl/arch/aarch64/pthread_arch.h | 9 +- lib/libc/musl/arch/arm/bits/syscall.h.in | 4 + lib/libc/musl/arch/arm/pthread_arch.h | 17 +- lib/libc/musl/arch/generic/bits/fcntl.h | 6 + lib/libc/musl/arch/i386/bits/syscall.h.in | 4 + lib/libc/musl/arch/i386/pthread_arch.h | 10 +- lib/libc/musl/arch/i386/syscall_arch.h | 2 - lib/libc/musl/arch/mips/bits/syscall.h.in | 4 + lib/libc/musl/arch/mips/pthread_arch.h | 10 +- lib/libc/musl/arch/mips/syscall_arch.h | 2 + lib/libc/musl/arch/mips64/bits/fcntl.h | 2 +- lib/libc/musl/arch/mips64/bits/syscall.h.in | 4 + lib/libc/musl/arch/mips64/pthread_arch.h | 10 +- lib/libc/musl/arch/powerpc/bits/syscall.h.in | 4 + lib/libc/musl/arch/powerpc/pthread_arch.h | 10 +- .../musl/arch/powerpc64/bits/syscall.h.in | 4 + lib/libc/musl/arch/powerpc64/pthread_arch.h | 10 +- lib/libc/musl/arch/riscv64/bits/fcntl.h | 38 -- lib/libc/musl/arch/riscv64/bits/signal.h | 4 +- lib/libc/musl/arch/riscv64/bits/syscall.h.in | 4 + lib/libc/musl/arch/riscv64/pthread_arch.h | 7 +- lib/libc/musl/arch/s390x/bits/alltypes.h.in | 4 + lib/libc/musl/arch/s390x/bits/float.h | 6 +- lib/libc/musl/arch/s390x/bits/syscall.h.in | 4 + lib/libc/musl/arch/s390x/pthread_arch.h | 10 +- lib/libc/musl/arch/s390x/syscall_arch.h | 2 - lib/libc/musl/arch/x86_64/bits/syscall.h.in | 4 + lib/libc/musl/arch/x86_64/pthread_arch.h | 10 +- lib/libc/musl/include/alltypes.h.in | 2 + lib/libc/musl/include/elf.h | 2 + lib/libc/musl/include/netinet/if_ether.h | 1 + lib/libc/musl/include/netinet/in.h | 5 +- lib/libc/musl/include/netinet/tcp.h | 18 +- lib/libc/musl/include/netinet/udp.h | 1 + lib/libc/musl/include/sched.h | 1 + lib/libc/musl/include/signal.h | 16 +- lib/libc/musl/include/stdlib.h | 1 + lib/libc/musl/include/sys/fanotify.h | 8 +- lib/libc/musl/include/sys/ioctl.h | 9 +- lib/libc/musl/include/sys/mman.h | 1 + lib/libc/musl/include/sys/personality.h | 3 + lib/libc/musl/include/sys/prctl.h | 3 + lib/libc/musl/include/sys/random.h | 1 + lib/libc/musl/include/termios.h | 4 + lib/libc/musl/include/unistd.h | 2 + lib/libc/musl/libc.s | 17 +- lib/libc/musl/src/aio/aio.c | 38 +- lib/libc/musl/src/aio/aio_suspend.c | 1 + lib/libc/musl/src/crypt/crypt_blowfish.c | 38 +- lib/libc/musl/src/env/__init_tls.c | 2 +- lib/libc/musl/src/env/__stack_chk_fail.c | 2 +- lib/libc/musl/src/exit/abort.c | 2 - lib/libc/musl/src/exit/abort_lock.c | 3 + lib/libc/musl/src/exit/assert.c | 1 - lib/libc/musl/src/exit/at_quick_exit.c | 2 + lib/libc/musl/src/exit/atexit.c | 7 + lib/libc/musl/src/include/stdlib.h | 6 + lib/libc/musl/src/include/unistd.h | 1 - lib/libc/musl/src/internal/aio_impl.h | 9 + lib/libc/musl/src/internal/fork_impl.h | 19 + lib/libc/musl/src/internal/libm.h | 3 + lib/libc/musl/src/internal/locale_impl.h | 2 + lib/libc/musl/src/internal/pthread_impl.h | 43 +- lib/libc/musl/src/internal/syscall.h | 30 +- lib/libc/musl/src/internal/version.h | 2 +- lib/libc/musl/src/ldso/dlerror.c | 20 +- lib/libc/musl/src/legacy/lutimes.c | 12 +- lib/libc/musl/src/linux/gettid.c | 8 + lib/libc/musl/src/linux/membarrier.c | 5 - lib/libc/musl/src/linux/setgroups.c | 30 +- lib/libc/musl/src/locale/dcngettext.c | 10 +- lib/libc/musl/src/locale/freelocale.c | 5 + lib/libc/musl/src/locale/locale_map.c | 22 +- lib/libc/musl/src/locale/newlocale.c | 32 +- lib/libc/musl/src/locale/setlocale.c | 11 +- lib/libc/musl/src/malloc/free.c | 6 + lib/libc/musl/src/malloc/libc_calloc.c | 4 + lib/libc/musl/src/malloc/lite_malloc.c | 19 +- lib/libc/musl/src/malloc/mallocng/glue.h | 18 +- .../src/malloc/mallocng/malloc_usable_size.c | 1 + .../musl/src/malloc/oldmalloc/aligned_alloc.c | 53 ++ lib/libc/musl/src/malloc/oldmalloc/malloc.c | 552 ++++++++++++++++++ .../musl/src/malloc/oldmalloc/malloc_impl.h | 39 ++ .../src/malloc/oldmalloc/malloc_usable_size.c | 9 + lib/libc/musl/src/malloc/realloc.c | 6 + lib/libc/musl/src/malloc/reallocarray.c | 13 + lib/libc/musl/src/math/__math_invalidl.c | 9 + lib/libc/musl/src/math/arm/fabs.c | 2 +- lib/libc/musl/src/math/arm/sqrt.c | 2 +- lib/libc/musl/src/math/sqrt.c | 320 +++++----- lib/libc/musl/src/math/sqrt_data.c | 19 + lib/libc/musl/src/math/sqrt_data.h | 13 + lib/libc/musl/src/math/sqrtf.c | 146 ++--- lib/libc/musl/src/math/sqrtl.c | 256 +++++++- lib/libc/musl/src/misc/ioctl.c | 18 +- lib/libc/musl/src/misc/realpath.c | 159 ++++- lib/libc/musl/src/misc/setrlimit.c | 37 +- lib/libc/musl/src/misc/syslog.c | 2 + lib/libc/musl/src/multibyte/wcsnrtombs.c | 46 +- lib/libc/musl/src/network/h_errno.c | 4 +- lib/libc/musl/src/network/herror.c | 2 +- lib/libc/musl/src/network/lookup_name.c | 11 +- lib/libc/musl/src/network/res_query.c | 16 +- lib/libc/musl/src/passwd/getgrouplist.c | 3 +- lib/libc/musl/src/prng/random.c | 2 + lib/libc/musl/src/process/_Fork.c | 38 ++ lib/libc/musl/src/process/fork.c | 94 ++- lib/libc/musl/src/process/posix_spawn.c | 16 +- lib/libc/musl/src/setjmp/aarch64/longjmp.s | 7 +- lib/libc/musl/src/setjmp/i386/longjmp.s | 12 +- lib/libc/musl/src/setjmp/x32/longjmp.s | 14 +- lib/libc/musl/src/setjmp/x32/setjmp.s | 2 +- lib/libc/musl/src/setjmp/x86_64/longjmp.s | 14 +- lib/libc/musl/src/setjmp/x86_64/setjmp.s | 2 +- lib/libc/musl/src/signal/sigaction.c | 36 +- lib/libc/musl/src/stdio/__stdio_close.c | 1 + lib/libc/musl/src/stdio/ofl.c | 2 + lib/libc/musl/src/string/strstr.c | 2 +- lib/libc/musl/src/termios/tcgetwinsize.c | 8 + lib/libc/musl/src/termios/tcsetwinsize.c | 8 + .../musl/src/thread/i386/__set_thread_area.s | 1 + lib/libc/musl/src/thread/pthread_attr_get.c | 2 +- .../musl/src/thread/pthread_cond_timedwait.c | 14 +- lib/libc/musl/src/thread/pthread_create.c | 27 +- .../musl/src/thread/pthread_mutex_destroy.c | 6 +- .../thread/pthread_mutexattr_setprotocol.c | 19 +- .../src/thread/pthread_mutexattr_setrobust.c | 20 +- lib/libc/musl/src/thread/s390x/clone.s | 6 + lib/libc/musl/src/thread/s390x/syscall_cp.s | 2 + lib/libc/musl/src/thread/sem_open.c | 15 +- lib/libc/musl/src/thread/synccall.c | 3 +- lib/libc/musl/src/thread/vmlock.c | 2 + lib/libc/musl/src/time/__tz.c | 9 +- lib/libc/musl/src/time/timer_create.c | 30 +- lib/libc/musl/src/unistd/close.c | 1 + lib/libc/musl/src/unistd/faccessat.c | 11 +- lib/libc/musl/src/unistd/readlink.c | 11 +- lib/libc/musl/src/unistd/readlinkat.c | 9 +- lib/libc/musl/src/unistd/setxid.c | 23 +- src/musl.zig | 14 + 187 files changed, 2487 insertions(+), 749 deletions(-) rename lib/libc/{musl/arch/x86_64 => include/generic-musl}/bits/fcntl.h (83%) delete mode 100644 lib/libc/musl/arch/riscv64/bits/fcntl.h create mode 100644 lib/libc/musl/src/exit/abort_lock.c create mode 100644 lib/libc/musl/src/internal/aio_impl.h create mode 100644 lib/libc/musl/src/internal/fork_impl.h create mode 100644 lib/libc/musl/src/linux/gettid.c create mode 100644 lib/libc/musl/src/malloc/free.c create mode 100644 lib/libc/musl/src/malloc/libc_calloc.c create mode 100644 lib/libc/musl/src/malloc/oldmalloc/aligned_alloc.c create mode 100644 lib/libc/musl/src/malloc/oldmalloc/malloc.c create mode 100644 lib/libc/musl/src/malloc/oldmalloc/malloc_impl.h create mode 100644 lib/libc/musl/src/malloc/oldmalloc/malloc_usable_size.c create mode 100644 lib/libc/musl/src/malloc/realloc.c create mode 100644 lib/libc/musl/src/malloc/reallocarray.c create mode 100644 lib/libc/musl/src/math/__math_invalidl.c create mode 100644 lib/libc/musl/src/math/sqrt_data.c create mode 100644 lib/libc/musl/src/math/sqrt_data.h create mode 100644 lib/libc/musl/src/process/_Fork.c create mode 100644 lib/libc/musl/src/termios/tcgetwinsize.c create mode 100644 lib/libc/musl/src/termios/tcsetwinsize.c diff --git a/lib/libc/include/aarch64-linux-musl/bits/alltypes.h b/lib/libc/include/aarch64-linux-musl/bits/alltypes.h index fd60fe3a0f..0a0a8c75c0 100644 --- a/lib/libc/include/aarch64-linux-musl/bits/alltypes.h +++ b/lib/libc/include/aarch64-linux-musl/bits/alltypes.h @@ -365,6 +365,12 @@ struct iovec { void *iov_base; size_t iov_len; }; #endif +#if defined(__NEED_struct_winsize) && !defined(__DEFINED_struct_winsize) +struct winsize { unsigned short ws_row, ws_col, ws_xpixel, ws_ypixel; }; +#define __DEFINED_struct_winsize +#endif + + #if defined(__NEED_socklen_t) && !defined(__DEFINED_socklen_t) typedef unsigned socklen_t; #define __DEFINED_socklen_t diff --git a/lib/libc/include/aarch64-linux-musl/bits/hwcap.h b/lib/libc/include/aarch64-linux-musl/bits/hwcap.h index 83abee2665..80a088ef35 100644 --- a/lib/libc/include/aarch64-linux-musl/bits/hwcap.h +++ b/lib/libc/include/aarch64-linux-musl/bits/hwcap.h @@ -37,4 +37,14 @@ #define HWCAP2_SVEPMULL (1 << 3) #define HWCAP2_SVEBITPERM (1 << 4) #define HWCAP2_SVESHA3 (1 << 5) -#define HWCAP2_SVESM4 (1 << 6) \ No newline at end of file +#define HWCAP2_SVESM4 (1 << 6) +#define HWCAP2_FLAGM2 (1 << 7) +#define HWCAP2_FRINT (1 << 8) +#define HWCAP2_SVEI8MM (1 << 9) +#define HWCAP2_SVEF32MM (1 << 10) +#define HWCAP2_SVEF64MM (1 << 11) +#define HWCAP2_SVEBF16 (1 << 12) +#define HWCAP2_I8MM (1 << 13) +#define HWCAP2_BF16 (1 << 14) +#define HWCAP2_DGH (1 << 15) +#define HWCAP2_RNG (1 << 16) \ No newline at end of file diff --git a/lib/libc/include/aarch64-linux-musl/bits/signal.h b/lib/libc/include/aarch64-linux-musl/bits/signal.h index cd13558bad..d3fc2bccff 100644 --- a/lib/libc/include/aarch64-linux-musl/bits/signal.h +++ b/lib/libc/include/aarch64-linux-musl/bits/signal.h @@ -11,7 +11,7 @@ typedef unsigned long greg_t; typedef unsigned long gregset_t[34]; typedef struct { - long double vregs[32]; + __uint128_t vregs[32]; unsigned int fpsr; unsigned int fpcr; } fpregset_t; @@ -34,7 +34,7 @@ struct fpsimd_context { struct _aarch64_ctx head; unsigned int fpsr; unsigned int fpcr; - long double vregs[32]; + __uint128_t vregs[32]; }; struct esr_context { struct _aarch64_ctx head; diff --git a/lib/libc/include/aarch64-linux-musl/bits/syscall.h b/lib/libc/include/aarch64-linux-musl/bits/syscall.h index 72392b874f..b15eb8bfd0 100644 --- a/lib/libc/include/aarch64-linux-musl/bits/syscall.h +++ b/lib/libc/include/aarch64-linux-musl/bits/syscall.h @@ -289,6 +289,10 @@ #define __NR_fspick 433 #define __NR_pidfd_open 434 #define __NR_clone3 435 +#define __NR_close_range 436 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 +#define __NR_faccessat2 439 #define SYS_io_setup 0 #define SYS_io_destroy 1 @@ -580,4 +584,8 @@ #define SYS_fsmount 432 #define SYS_fspick 433 #define SYS_pidfd_open 434 -#define SYS_clone3 435 \ No newline at end of file +#define SYS_clone3 435 +#define SYS_close_range 436 +#define SYS_openat2 437 +#define SYS_pidfd_getfd 438 +#define SYS_faccessat2 439 \ No newline at end of file diff --git a/lib/libc/include/aarch64-linux-musl/bits/user.h b/lib/libc/include/aarch64-linux-musl/bits/user.h index 2bd9dd5863..8f012a5512 100644 --- a/lib/libc/include/aarch64-linux-musl/bits/user.h +++ b/lib/libc/include/aarch64-linux-musl/bits/user.h @@ -6,7 +6,7 @@ struct user_regs_struct { }; struct user_fpsimd_struct { - long double vregs[32]; + __uint128_t vregs[32]; unsigned int fpsr; unsigned int fpcr; }; diff --git a/lib/libc/include/arm-linux-musl/bits/alltypes.h b/lib/libc/include/arm-linux-musl/bits/alltypes.h index a99e771958..aa8607d008 100644 --- a/lib/libc/include/arm-linux-musl/bits/alltypes.h +++ b/lib/libc/include/arm-linux-musl/bits/alltypes.h @@ -350,6 +350,12 @@ struct iovec { void *iov_base; size_t iov_len; }; #endif +#if defined(__NEED_struct_winsize) && !defined(__DEFINED_struct_winsize) +struct winsize { unsigned short ws_row, ws_col, ws_xpixel, ws_ypixel; }; +#define __DEFINED_struct_winsize +#endif + + #if defined(__NEED_socklen_t) && !defined(__DEFINED_socklen_t) typedef unsigned socklen_t; #define __DEFINED_socklen_t diff --git a/lib/libc/include/arm-linux-musl/bits/syscall.h b/lib/libc/include/arm-linux-musl/bits/syscall.h index 5429a867e3..479dd8a379 100644 --- a/lib/libc/include/arm-linux-musl/bits/syscall.h +++ b/lib/libc/include/arm-linux-musl/bits/syscall.h @@ -389,6 +389,10 @@ #define __NR_fspick 433 #define __NR_pidfd_open 434 #define __NR_clone3 435 +#define __NR_close_range 436 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 +#define __NR_faccessat2 439 #define __ARM_NR_breakpoint 0x0f0001 #define __ARM_NR_cacheflush 0x0f0002 @@ -787,4 +791,8 @@ #define SYS_fsmount 432 #define SYS_fspick 433 #define SYS_pidfd_open 434 -#define SYS_clone3 435 \ No newline at end of file +#define SYS_clone3 435 +#define SYS_close_range 436 +#define SYS_openat2 437 +#define SYS_pidfd_getfd 438 +#define SYS_faccessat2 439 \ No newline at end of file diff --git a/lib/libc/musl/arch/x86_64/bits/fcntl.h b/lib/libc/include/generic-musl/bits/fcntl.h similarity index 83% rename from lib/libc/musl/arch/x86_64/bits/fcntl.h rename to lib/libc/include/generic-musl/bits/fcntl.h index 1b88ad3917..77c9b4cbfe 100644 --- a/lib/libc/musl/arch/x86_64/bits/fcntl.h +++ b/lib/libc/include/generic-musl/bits/fcntl.h @@ -13,7 +13,7 @@ #define O_ASYNC 020000 #define O_DIRECT 040000 -#define O_LARGEFILE 0 +#define O_LARGEFILE 0100000 #define O_NOATIME 01000000 #define O_PATH 010000000 #define O_TMPFILE 020200000 @@ -30,11 +30,17 @@ #define F_SETSIG 10 #define F_GETSIG 11 +#if __LONG_MAX == 0x7fffffffL +#define F_GETLK 12 +#define F_SETLK 13 +#define F_SETLKW 14 +#else #define F_GETLK 5 #define F_SETLK 6 #define F_SETLKW 7 +#endif #define F_SETOWN_EX 15 #define F_GETOWN_EX 16 -#define F_GETOWNER_UIDS 17 +#define F_GETOWNER_UIDS 17 \ No newline at end of file diff --git a/lib/libc/include/generic-musl/elf.h b/lib/libc/include/generic-musl/elf.h index 7ab2c85fe2..ff7214ed48 100644 --- a/lib/libc/include/generic-musl/elf.h +++ b/lib/libc/include/generic-musl/elf.h @@ -603,6 +603,7 @@ typedef struct { #define PT_GNU_EH_FRAME 0x6474e550 #define PT_GNU_STACK 0x6474e551 #define PT_GNU_RELRO 0x6474e552 +#define PT_GNU_PROPERTY 0x6474e553 #define PT_LOSUNW 0x6ffffffa #define PT_SUNWBSS 0x6ffffffa #define PT_SUNWSTACK 0x6ffffffb @@ -1085,6 +1086,7 @@ typedef struct { #define NT_GNU_BUILD_ID 3 #define NT_GNU_GOLD_VERSION 4 +#define NT_GNU_PROPERTY_TYPE_0 5 diff --git a/lib/libc/include/generic-musl/netinet/if_ether.h b/lib/libc/include/generic-musl/netinet/if_ether.h index 8be01cd4ef..d1c0a03570 100644 --- a/lib/libc/include/generic-musl/netinet/if_ether.h +++ b/lib/libc/include/generic-musl/netinet/if_ether.h @@ -59,6 +59,7 @@ #define ETH_P_PREAUTH 0x88C7 #define ETH_P_TIPC 0x88CA #define ETH_P_LLDP 0x88CC +#define ETH_P_MRP 0x88E3 #define ETH_P_MACSEC 0x88E5 #define ETH_P_8021AH 0x88E7 #define ETH_P_MVRP 0x88F5 diff --git a/lib/libc/include/generic-musl/netinet/in.h b/lib/libc/include/generic-musl/netinet/in.h index e3bf81b8d3..a57f3a6c7c 100644 --- a/lib/libc/include/generic-musl/netinet/in.h +++ b/lib/libc/include/generic-musl/netinet/in.h @@ -101,8 +101,10 @@ uint16_t ntohs(uint16_t); #define IPPROTO_MH 135 #define IPPROTO_UDPLITE 136 #define IPPROTO_MPLS 137 +#define IPPROTO_ETHERNET 143 #define IPPROTO_RAW 255 -#define IPPROTO_MAX 256 +#define IPPROTO_MPTCP 262 +#define IPPROTO_MAX 263 #define IN6_IS_ADDR_UNSPECIFIED(a) \ (((uint32_t *) (a))[0] == 0 && ((uint32_t *) (a))[1] == 0 && \ @@ -200,6 +202,7 @@ uint16_t ntohs(uint16_t); #define IP_CHECKSUM 23 #define IP_BIND_ADDRESS_NO_PORT 24 #define IP_RECVFRAGSIZE 25 +#define IP_RECVERR_RFC4884 26 #define IP_MULTICAST_IF 32 #define IP_MULTICAST_TTL 33 #define IP_MULTICAST_LOOP 34 diff --git a/lib/libc/include/generic-musl/netinet/tcp.h b/lib/libc/include/generic-musl/netinet/tcp.h index f0bdb19232..9f514e33af 100644 --- a/lib/libc/include/generic-musl/netinet/tcp.h +++ b/lib/libc/include/generic-musl/netinet/tcp.h @@ -78,6 +78,8 @@ enum { TCP_NLA_DSACK_DUPS, TCP_NLA_REORD_SEEN, TCP_NLA_SRTT, + TCP_NLA_TIMEOUT_REHASH, + TCP_NLA_BYTES_NOTSENT, }; #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) @@ -181,6 +183,13 @@ struct tcphdr { #define TCP_CA_Recovery 3 #define TCP_CA_Loss 4 +enum tcp_fastopen_client_fail { + TFO_STATUS_UNSPEC, + TFO_COOKIE_UNAVAILABLE, + TFO_DATA_NOT_ACKED, + TFO_SYN_RETRANSMITTED, +}; + struct tcp_info { uint8_t tcpi_state; uint8_t tcpi_ca_state; @@ -189,7 +198,7 @@ struct tcp_info { uint8_t tcpi_backoff; uint8_t tcpi_options; uint8_t tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4; - uint8_t tcpi_delivery_rate_app_limited : 1; + uint8_t tcpi_delivery_rate_app_limited : 1, tcpi_fastopen_client_fail : 2; uint32_t tcpi_rto; uint32_t tcpi_ato; uint32_t tcpi_snd_mss; @@ -240,14 +249,15 @@ struct tcp_info { #define TCP_MD5SIG_MAXKEYLEN 80 -#define TCP_MD5SIG_FLAG_PREFIX 1 +#define TCP_MD5SIG_FLAG_PREFIX 0x1 +#define TCP_MD5SIG_FLAG_IFINDEX 0x2 struct tcp_md5sig { struct sockaddr_storage tcpm_addr; uint8_t tcpm_flags; uint8_t tcpm_prefixlen; uint16_t tcpm_keylen; - uint32_t __tcpm_pad; + int tcpm_ifindex; uint8_t tcpm_key[TCP_MD5SIG_MAXKEYLEN]; }; @@ -275,6 +285,8 @@ struct tcp_zerocopy_receive { uint64_t address; uint32_t length; uint32_t recv_skip_hint; + uint32_t inq; + int32_t err; }; #endif diff --git a/lib/libc/include/generic-musl/netinet/udp.h b/lib/libc/include/generic-musl/netinet/udp.h index 40ca6df985..0355761025 100644 --- a/lib/libc/include/generic-musl/netinet/udp.h +++ b/lib/libc/include/generic-musl/netinet/udp.h @@ -35,6 +35,7 @@ struct udphdr { #define UDP_ENCAP_GTP0 4 #define UDP_ENCAP_GTP1U 5 #define UDP_ENCAP_RXRPC 6 +#define TCP_ENCAP_ESPINTCP 7 #define SOL_UDP 17 diff --git a/lib/libc/include/generic-musl/sched.h b/lib/libc/include/generic-musl/sched.h index 6225d25d53..91431b5d07 100644 --- a/lib/libc/include/generic-musl/sched.h +++ b/lib/libc/include/generic-musl/sched.h @@ -49,6 +49,7 @@ int sched_yield(void); #ifdef _GNU_SOURCE #define CSIGNAL 0x000000ff +#define CLONE_NEWTIME 0x00000080 #define CLONE_VM 0x00000100 #define CLONE_FS 0x00000200 #define CLONE_FILES 0x00000400 diff --git a/lib/libc/include/generic-musl/signal.h b/lib/libc/include/generic-musl/signal.h index 99d473c50e..779f4f0609 100644 --- a/lib/libc/include/generic-musl/signal.h +++ b/lib/libc/include/generic-musl/signal.h @@ -180,14 +180,24 @@ struct sigevent { union sigval sigev_value; int sigev_signo; int sigev_notify; - void (*sigev_notify_function)(union sigval); - pthread_attr_t *sigev_notify_attributes; - char __pad[56-3*sizeof(long)]; + union { + char __pad[64 - 2*sizeof(int) - sizeof(union sigval)]; + pid_t sigev_notify_thread_id; + struct { + void (*sigev_notify_function)(union sigval); + pthread_attr_t *sigev_notify_attributes; + } __sev_thread; + } __sev_fields; }; +#define sigev_notify_thread_id __sev_fields.sigev_notify_thread_id +#define sigev_notify_function __sev_fields.__sev_thread.sigev_notify_function +#define sigev_notify_attributes __sev_fields.__sev_thread.sigev_notify_attributes + #define SIGEV_SIGNAL 0 #define SIGEV_NONE 1 #define SIGEV_THREAD 2 +#define SIGEV_THREAD_ID 4 int __libc_current_sigrtmin(void); int __libc_current_sigrtmax(void); diff --git a/lib/libc/include/generic-musl/stdlib.h b/lib/libc/include/generic-musl/stdlib.h index f7c4f9d8de..ee777fc915 100644 --- a/lib/libc/include/generic-musl/stdlib.h +++ b/lib/libc/include/generic-musl/stdlib.h @@ -145,6 +145,7 @@ int getloadavg(double *, int); int clearenv(void); #define WCOREDUMP(s) ((s) & 0x80) #define WIFCONTINUED(s) ((s) == 0xffff) +void *reallocarray (void *, size_t, size_t); #endif #ifdef _GNU_SOURCE diff --git a/lib/libc/include/generic-musl/sys/fanotify.h b/lib/libc/include/generic-musl/sys/fanotify.h index ba00797ca2..601e0e7206 100644 --- a/lib/libc/include/generic-musl/sys/fanotify.h +++ b/lib/libc/include/generic-musl/sys/fanotify.h @@ -55,8 +55,9 @@ struct fanotify_response { #define FAN_OPEN_PERM 0x10000 #define FAN_ACCESS_PERM 0x20000 #define FAN_OPEN_EXEC_PERM 0x40000 -#define FAN_ONDIR 0x40000000 +#define FAN_DIR_MODIFY 0x00080000 #define FAN_EVENT_ON_CHILD 0x08000000 +#define FAN_ONDIR 0x40000000 #define FAN_CLOSE (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE) #define FAN_MOVE (FAN_MOVED_FROM | FAN_MOVED_TO) #define FAN_CLOEXEC 0x01 @@ -70,6 +71,9 @@ struct fanotify_response { #define FAN_ENABLE_AUDIT 0x40 #define FAN_REPORT_TID 0x100 #define FAN_REPORT_FID 0x200 +#define FAN_REPORT_DIR_FID 0x00000400 +#define FAN_REPORT_NAME 0x00000800 +#define FAN_REPORT_DFID_NAME (FAN_REPORT_DIR_FID | FAN_REPORT_NAME) #define FAN_ALL_INIT_FLAGS (FAN_CLOEXEC | FAN_NONBLOCK | FAN_ALL_CLASS_BITS | FAN_UNLIMITED_QUEUE | FAN_UNLIMITED_MARKS) #define FAN_MARK_ADD 0x01 #define FAN_MARK_REMOVE 0x02 @@ -88,6 +92,8 @@ struct fanotify_response { #define FAN_ALL_OUTGOING_EVENTS (FAN_ALL_EVENTS | FAN_ALL_PERM_EVENTS | FAN_Q_OVERFLOW) #define FANOTIFY_METADATA_VERSION 3 #define FAN_EVENT_INFO_TYPE_FID 1 +#define FAN_EVENT_INFO_TYPE_DFID_NAME 2 +#define FAN_EVENT_INFO_TYPE_DFID 3 #define FAN_ALLOW 0x01 #define FAN_DENY 0x02 #define FAN_AUDIT 0x10 diff --git a/lib/libc/include/generic-musl/sys/ioctl.h b/lib/libc/include/generic-musl/sys/ioctl.h index 28c9b6e24f..a741ae18a8 100644 --- a/lib/libc/include/generic-musl/sys/ioctl.h +++ b/lib/libc/include/generic-musl/sys/ioctl.h @@ -4,6 +4,8 @@ extern "C" { #endif +#define __NEED_struct_winsize + #include #include @@ -47,13 +49,6 @@ extern "C" { #define TIOCSER_TEMT 1 -struct winsize { - unsigned short ws_row; - unsigned short ws_col; - unsigned short ws_xpixel; - unsigned short ws_ypixel; -}; - #define SIOCADDRT 0x890B #define SIOCDELRT 0x890C #define SIOCRTMSG 0x890D diff --git a/lib/libc/include/generic-musl/sys/mman.h b/lib/libc/include/generic-musl/sys/mman.h index 9bfd0a1075..a620fffea1 100644 --- a/lib/libc/include/generic-musl/sys/mman.h +++ b/lib/libc/include/generic-musl/sys/mman.h @@ -101,6 +101,7 @@ extern "C" { #ifdef _GNU_SOURCE #define MREMAP_MAYMOVE 1 #define MREMAP_FIXED 2 +#define MREMAP_DONTUNMAP 4 #define MLOCK_ONFAULT 0x01 diff --git a/lib/libc/include/generic-musl/sys/personality.h b/lib/libc/include/generic-musl/sys/personality.h index aafda2657b..8c8a278cae 100644 --- a/lib/libc/include/generic-musl/sys/personality.h +++ b/lib/libc/include/generic-musl/sys/personality.h @@ -5,7 +5,9 @@ extern "C" { #endif +#define UNAME26 0x0020000 #define ADDR_NO_RANDOMIZE 0x0040000 +#define FDPIC_FUNCPTRS 0x0080000 #define MMAP_PAGE_ZERO 0x0100000 #define ADDR_COMPAT_LAYOUT 0x0200000 #define READ_IMPLIES_EXEC 0x0400000 @@ -17,6 +19,7 @@ extern "C" { #define PER_LINUX 0 #define PER_LINUX_32BIT ADDR_LIMIT_32BIT +#define PER_LINUX_FDPIC FDPIC_FUNCPTRS #define PER_SVR4 (1 | STICKY_TIMEOUTS | MMAP_PAGE_ZERO) #define PER_SVR3 (2 | STICKY_TIMEOUTS | SHORT_INODE) #define PER_SCOSVR3 (3 | STICKY_TIMEOUTS | WHOLE_SECONDS | SHORT_INODE) diff --git a/lib/libc/include/generic-musl/sys/prctl.h b/lib/libc/include/generic-musl/sys/prctl.h index c5f79d86d2..bceebd8bcf 100644 --- a/lib/libc/include/generic-musl/sys/prctl.h +++ b/lib/libc/include/generic-musl/sys/prctl.h @@ -158,6 +158,9 @@ struct prctl_mm_map { #define PR_GET_TAGGED_ADDR_CTRL 56 #define PR_TAGGED_ADDR_ENABLE (1UL << 0) +#define PR_SET_IO_FLUSHER 57 +#define PR_GET_IO_FLUSHER 58 + int prctl (int, ...); #ifdef __cplusplus diff --git a/lib/libc/include/generic-musl/sys/random.h b/lib/libc/include/generic-musl/sys/random.h index f6141970f4..e5ee99a2ae 100644 --- a/lib/libc/include/generic-musl/sys/random.h +++ b/lib/libc/include/generic-musl/sys/random.h @@ -10,6 +10,7 @@ extern "C" { #define GRND_NONBLOCK 0x0001 #define GRND_RANDOM 0x0002 +#define GRND_INSECURE 0x0004 ssize_t getrandom(void *, size_t, unsigned); diff --git a/lib/libc/include/generic-musl/termios.h b/lib/libc/include/generic-musl/termios.h index 4a72bd4e07..735c759923 100644 --- a/lib/libc/include/generic-musl/termios.h +++ b/lib/libc/include/generic-musl/termios.h @@ -8,6 +8,7 @@ extern "C" { #include #define __NEED_pid_t +#define __NEED_struct_winsize #include @@ -27,6 +28,9 @@ int cfsetispeed (struct termios *, speed_t); int tcgetattr (int, struct termios *); int tcsetattr (int, int, const struct termios *); +int tcgetwinsize (int, struct winsize *); +int tcsetwinsize (int, const struct winsize *); + int tcsendbreak (int, int); int tcdrain (int); int tcflush (int, int); diff --git a/lib/libc/include/generic-musl/unistd.h b/lib/libc/include/generic-musl/unistd.h index c6b3f1a2ad..c6f5698b4e 100644 --- a/lib/libc/include/generic-musl/unistd.h +++ b/lib/libc/include/generic-musl/unistd.h @@ -82,6 +82,7 @@ unsigned sleep(unsigned); int pause(void); pid_t fork(void); +pid_t _Fork(void); int execve(const char *, char *const [], char *const []); int execv(const char *, char *const []); int execle(const char *, const char *, ...); @@ -190,6 +191,7 @@ int syncfs(int); int euidaccess(const char *, int); int eaccess(const char *, int); ssize_t copy_file_range(int, off_t *, int, off_t *, size_t, unsigned); +pid_t gettid(void); #endif #if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) diff --git a/lib/libc/include/i386-linux-musl/bits/alltypes.h b/lib/libc/include/i386-linux-musl/bits/alltypes.h index c330f5dd05..f430f25cff 100644 --- a/lib/libc/include/i386-linux-musl/bits/alltypes.h +++ b/lib/libc/include/i386-linux-musl/bits/alltypes.h @@ -380,6 +380,12 @@ struct iovec { void *iov_base; size_t iov_len; }; #endif +#if defined(__NEED_struct_winsize) && !defined(__DEFINED_struct_winsize) +struct winsize { unsigned short ws_row, ws_col, ws_xpixel, ws_ypixel; }; +#define __DEFINED_struct_winsize +#endif + + #if defined(__NEED_socklen_t) && !defined(__DEFINED_socklen_t) typedef unsigned socklen_t; #define __DEFINED_socklen_t diff --git a/lib/libc/include/i386-linux-musl/bits/syscall.h b/lib/libc/include/i386-linux-musl/bits/syscall.h index c9bfc7f95e..4a727513c1 100644 --- a/lib/libc/include/i386-linux-musl/bits/syscall.h +++ b/lib/libc/include/i386-linux-musl/bits/syscall.h @@ -426,6 +426,10 @@ #define __NR_fspick 433 #define __NR_pidfd_open 434 #define __NR_clone3 435 +#define __NR_close_range 436 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 +#define __NR_faccessat2 439 #define SYS_restart_syscall 0 #define SYS_exit 1 @@ -852,4 +856,8 @@ #define SYS_fsmount 432 #define SYS_fspick 433 #define SYS_pidfd_open 434 -#define SYS_clone3 435 \ No newline at end of file +#define SYS_clone3 435 +#define SYS_close_range 436 +#define SYS_openat2 437 +#define SYS_pidfd_getfd 438 +#define SYS_faccessat2 439 \ No newline at end of file diff --git a/lib/libc/include/mips-linux-musl/bits/alltypes.h b/lib/libc/include/mips-linux-musl/bits/alltypes.h index c714577aaa..46b309d668 100644 --- a/lib/libc/include/mips-linux-musl/bits/alltypes.h +++ b/lib/libc/include/mips-linux-musl/bits/alltypes.h @@ -350,6 +350,12 @@ struct iovec { void *iov_base; size_t iov_len; }; #endif +#if defined(__NEED_struct_winsize) && !defined(__DEFINED_struct_winsize) +struct winsize { unsigned short ws_row, ws_col, ws_xpixel, ws_ypixel; }; +#define __DEFINED_struct_winsize +#endif + + #if defined(__NEED_socklen_t) && !defined(__DEFINED_socklen_t) typedef unsigned socklen_t; #define __DEFINED_socklen_t diff --git a/lib/libc/include/mips-linux-musl/bits/syscall.h b/lib/libc/include/mips-linux-musl/bits/syscall.h index 3f2666e56f..982dcca465 100644 --- a/lib/libc/include/mips-linux-musl/bits/syscall.h +++ b/lib/libc/include/mips-linux-musl/bits/syscall.h @@ -408,6 +408,10 @@ #define __NR_fspick 4433 #define __NR_pidfd_open 4434 #define __NR_clone3 4435 +#define __NR_close_range 4436 +#define __NR_openat2 4437 +#define __NR_pidfd_getfd 4438 +#define __NR_faccessat2 4439 #define SYS_syscall 4000 #define SYS_exit 4001 @@ -818,4 +822,8 @@ #define SYS_fsmount 4432 #define SYS_fspick 4433 #define SYS_pidfd_open 4434 -#define SYS_clone3 4435 \ No newline at end of file +#define SYS_clone3 4435 +#define SYS_close_range 4436 +#define SYS_openat2 4437 +#define SYS_pidfd_getfd 4438 +#define SYS_faccessat2 4439 \ No newline at end of file diff --git a/lib/libc/include/mips64-linux-musl/bits/alltypes.h b/lib/libc/include/mips64-linux-musl/bits/alltypes.h index 9745553d16..4ab49779d8 100644 --- a/lib/libc/include/mips64-linux-musl/bits/alltypes.h +++ b/lib/libc/include/mips64-linux-musl/bits/alltypes.h @@ -355,6 +355,12 @@ struct iovec { void *iov_base; size_t iov_len; }; #endif +#if defined(__NEED_struct_winsize) && !defined(__DEFINED_struct_winsize) +struct winsize { unsigned short ws_row, ws_col, ws_xpixel, ws_ypixel; }; +#define __DEFINED_struct_winsize +#endif + + #if defined(__NEED_socklen_t) && !defined(__DEFINED_socklen_t) typedef unsigned socklen_t; #define __DEFINED_socklen_t diff --git a/lib/libc/include/mips64-linux-musl/bits/fcntl.h b/lib/libc/include/mips64-linux-musl/bits/fcntl.h index 30ca0e0ca1..cba13902f6 100644 --- a/lib/libc/include/mips64-linux-musl/bits/fcntl.h +++ b/lib/libc/include/mips64-linux-musl/bits/fcntl.h @@ -13,7 +13,7 @@ #define O_ASYNC 010000 #define O_DIRECT 0100000 -#define O_LARGEFILE 0 +#define O_LARGEFILE 020000 #define O_NOATIME 01000000 #define O_PATH 010000000 #define O_TMPFILE 020200000 diff --git a/lib/libc/include/mips64-linux-musl/bits/syscall.h b/lib/libc/include/mips64-linux-musl/bits/syscall.h index b3d86fe1d8..27a8226b71 100644 --- a/lib/libc/include/mips64-linux-musl/bits/syscall.h +++ b/lib/libc/include/mips64-linux-musl/bits/syscall.h @@ -338,6 +338,10 @@ #define __NR_fspick 5433 #define __NR_pidfd_open 5434 #define __NR_clone3 5435 +#define __NR_close_range 5436 +#define __NR_openat2 5437 +#define __NR_pidfd_getfd 5438 +#define __NR_faccessat2 5439 #define SYS_read 5000 #define SYS_write 5001 @@ -678,4 +682,8 @@ #define SYS_fsmount 5432 #define SYS_fspick 5433 #define SYS_pidfd_open 5434 -#define SYS_clone3 5435 \ No newline at end of file +#define SYS_clone3 5435 +#define SYS_close_range 5436 +#define SYS_openat2 5437 +#define SYS_pidfd_getfd 5438 +#define SYS_faccessat2 5439 \ No newline at end of file diff --git a/lib/libc/include/powerpc-linux-musl/bits/alltypes.h b/lib/libc/include/powerpc-linux-musl/bits/alltypes.h index f655b43e3d..43153d4170 100644 --- a/lib/libc/include/powerpc-linux-musl/bits/alltypes.h +++ b/lib/libc/include/powerpc-linux-musl/bits/alltypes.h @@ -353,6 +353,12 @@ struct iovec { void *iov_base; size_t iov_len; }; #endif +#if defined(__NEED_struct_winsize) && !defined(__DEFINED_struct_winsize) +struct winsize { unsigned short ws_row, ws_col, ws_xpixel, ws_ypixel; }; +#define __DEFINED_struct_winsize +#endif + + #if defined(__NEED_socklen_t) && !defined(__DEFINED_socklen_t) typedef unsigned socklen_t; #define __DEFINED_socklen_t diff --git a/lib/libc/include/powerpc-linux-musl/bits/syscall.h b/lib/libc/include/powerpc-linux-musl/bits/syscall.h index ce2818352c..3c935d00da 100644 --- a/lib/libc/include/powerpc-linux-musl/bits/syscall.h +++ b/lib/libc/include/powerpc-linux-musl/bits/syscall.h @@ -415,6 +415,10 @@ #define __NR_fspick 433 #define __NR_pidfd_open 434 #define __NR_clone3 435 +#define __NR_close_range 436 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 +#define __NR_faccessat2 439 #define SYS_restart_syscall 0 #define SYS_exit 1 @@ -832,4 +836,8 @@ #define SYS_fsmount 432 #define SYS_fspick 433 #define SYS_pidfd_open 434 -#define SYS_clone3 435 \ No newline at end of file +#define SYS_clone3 435 +#define SYS_close_range 436 +#define SYS_openat2 437 +#define SYS_pidfd_getfd 438 +#define SYS_faccessat2 439 \ No newline at end of file diff --git a/lib/libc/include/powerpc64-linux-musl/bits/alltypes.h b/lib/libc/include/powerpc64-linux-musl/bits/alltypes.h index 6177874ffa..e0deec33b3 100644 --- a/lib/libc/include/powerpc64-linux-musl/bits/alltypes.h +++ b/lib/libc/include/powerpc64-linux-musl/bits/alltypes.h @@ -349,6 +349,12 @@ struct iovec { void *iov_base; size_t iov_len; }; #endif +#if defined(__NEED_struct_winsize) && !defined(__DEFINED_struct_winsize) +struct winsize { unsigned short ws_row, ws_col, ws_xpixel, ws_ypixel; }; +#define __DEFINED_struct_winsize +#endif + + #if defined(__NEED_socklen_t) && !defined(__DEFINED_socklen_t) typedef unsigned socklen_t; #define __DEFINED_socklen_t diff --git a/lib/libc/include/powerpc64-linux-musl/bits/syscall.h b/lib/libc/include/powerpc64-linux-musl/bits/syscall.h index 4592aac64d..de64c3ef30 100644 --- a/lib/libc/include/powerpc64-linux-musl/bits/syscall.h +++ b/lib/libc/include/powerpc64-linux-musl/bits/syscall.h @@ -387,6 +387,10 @@ #define __NR_fspick 433 #define __NR_pidfd_open 434 #define __NR_clone3 435 +#define __NR_close_range 436 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 +#define __NR_faccessat2 439 #define SYS_restart_syscall 0 #define SYS_exit 1 @@ -776,4 +780,8 @@ #define SYS_fsmount 432 #define SYS_fspick 433 #define SYS_pidfd_open 434 -#define SYS_clone3 435 \ No newline at end of file +#define SYS_clone3 435 +#define SYS_close_range 436 +#define SYS_openat2 437 +#define SYS_pidfd_getfd 438 +#define SYS_faccessat2 439 \ No newline at end of file diff --git a/lib/libc/include/riscv64-linux-musl/bits/alltypes.h b/lib/libc/include/riscv64-linux-musl/bits/alltypes.h index 8db53c8293..0f79bc567d 100644 --- a/lib/libc/include/riscv64-linux-musl/bits/alltypes.h +++ b/lib/libc/include/riscv64-linux-musl/bits/alltypes.h @@ -355,6 +355,12 @@ struct iovec { void *iov_base; size_t iov_len; }; #endif +#if defined(__NEED_struct_winsize) && !defined(__DEFINED_struct_winsize) +struct winsize { unsigned short ws_row, ws_col, ws_xpixel, ws_ypixel; }; +#define __DEFINED_struct_winsize +#endif + + #if defined(__NEED_socklen_t) && !defined(__DEFINED_socklen_t) typedef unsigned socklen_t; #define __DEFINED_socklen_t diff --git a/lib/libc/include/riscv64-linux-musl/bits/signal.h b/lib/libc/include/riscv64-linux-musl/bits/signal.h index 87ae2ee7d1..5cf2d5895d 100644 --- a/lib/libc/include/riscv64-linux-musl/bits/signal.h +++ b/lib/libc/include/riscv64-linux-musl/bits/signal.h @@ -60,10 +60,10 @@ struct sigaltstack { size_t ss_size; }; -typedef struct ucontext_t +typedef struct __ucontext { unsigned long uc_flags; - struct ucontext_t *uc_link; + struct __ucontext *uc_link; stack_t uc_stack; sigset_t uc_sigmask; mcontext_t uc_mcontext; diff --git a/lib/libc/include/riscv64-linux-musl/bits/syscall.h b/lib/libc/include/riscv64-linux-musl/bits/syscall.h index 808207fb4b..27e10f5768 100644 --- a/lib/libc/include/riscv64-linux-musl/bits/syscall.h +++ b/lib/libc/include/riscv64-linux-musl/bits/syscall.h @@ -289,6 +289,10 @@ #define __NR_fspick 433 #define __NR_pidfd_open 434 #define __NR_clone3 435 +#define __NR_close_range 436 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 +#define __NR_faccessat2 439 #define __NR_sysriscv __NR_arch_specific_syscall #define __NR_riscv_flush_icache (__NR_sysriscv + 15) @@ -583,5 +587,9 @@ #define SYS_fspick 433 #define SYS_pidfd_open 434 #define SYS_clone3 435 +#define SYS_close_range 436 +#define SYS_openat2 437 +#define SYS_pidfd_getfd 438 +#define SYS_faccessat2 439 #define SYS_sysriscv __NR_arch_specific_syscall #define SYS_riscv_flush_icache (__NR_sysriscv + 15) \ No newline at end of file diff --git a/lib/libc/include/s390x-linux-musl/bits/alltypes.h b/lib/libc/include/s390x-linux-musl/bits/alltypes.h index 55dbfa500c..c1b9e7b694 100644 --- a/lib/libc/include/s390x-linux-musl/bits/alltypes.h +++ b/lib/libc/include/s390x-linux-musl/bits/alltypes.h @@ -13,11 +13,19 @@ typedef int wchar_t; #endif +#if defined(__FLT_EVAL_METHOD__) && __FLT_EVAL_METHOD__ == 1 #if defined(__NEED_float_t) && !defined(__DEFINED_float_t) typedef double float_t; #define __DEFINED_float_t #endif +#else +#if defined(__NEED_float_t) && !defined(__DEFINED_float_t) +typedef float float_t; +#define __DEFINED_float_t +#endif + +#endif #if defined(__NEED_double_t) && !defined(__DEFINED_double_t) typedef double double_t; #define __DEFINED_double_t @@ -344,6 +352,12 @@ struct iovec { void *iov_base; size_t iov_len; }; #endif +#if defined(__NEED_struct_winsize) && !defined(__DEFINED_struct_winsize) +struct winsize { unsigned short ws_row, ws_col, ws_xpixel, ws_ypixel; }; +#define __DEFINED_struct_winsize +#endif + + #if defined(__NEED_socklen_t) && !defined(__DEFINED_socklen_t) typedef unsigned socklen_t; #define __DEFINED_socklen_t diff --git a/lib/libc/include/s390x-linux-musl/bits/float.h b/lib/libc/include/s390x-linux-musl/bits/float.h index fc6f4bb8fa..127787d2cb 100644 --- a/lib/libc/include/s390x-linux-musl/bits/float.h +++ b/lib/libc/include/s390x-linux-musl/bits/float.h @@ -1,4 +1,8 @@ -#define FLT_EVAL_METHOD 1 +#ifdef __FLT_EVAL_METHOD__ +#define FLT_EVAL_METHOD __FLT_EVAL_METHOD__ +#else +#define FLT_EVAL_METHOD 0 +#endif #define LDBL_TRUE_MIN 6.47517511943802511092443895822764655e-4966L #define LDBL_MIN 3.36210314311209350626267781732175260e-4932L diff --git a/lib/libc/include/s390x-linux-musl/bits/syscall.h b/lib/libc/include/s390x-linux-musl/bits/syscall.h index 790f513736..2874c40203 100644 --- a/lib/libc/include/s390x-linux-musl/bits/syscall.h +++ b/lib/libc/include/s390x-linux-musl/bits/syscall.h @@ -352,6 +352,10 @@ #define __NR_fspick 433 #define __NR_pidfd_open 434 #define __NR_clone3 435 +#define __NR_close_range 436 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 +#define __NR_faccessat2 439 #define SYS_exit 1 #define SYS_fork 2 @@ -706,4 +710,8 @@ #define SYS_fsmount 432 #define SYS_fspick 433 #define SYS_pidfd_open 434 -#define SYS_clone3 435 \ No newline at end of file +#define SYS_clone3 435 +#define SYS_close_range 436 +#define SYS_openat2 437 +#define SYS_pidfd_getfd 438 +#define SYS_faccessat2 439 \ No newline at end of file diff --git a/lib/libc/include/x86_64-linux-musl/bits/alltypes.h b/lib/libc/include/x86_64-linux-musl/bits/alltypes.h index 7418a48234..c57d9bb42a 100644 --- a/lib/libc/include/x86_64-linux-musl/bits/alltypes.h +++ b/lib/libc/include/x86_64-linux-musl/bits/alltypes.h @@ -357,6 +357,12 @@ struct iovec { void *iov_base; size_t iov_len; }; #endif +#if defined(__NEED_struct_winsize) && !defined(__DEFINED_struct_winsize) +struct winsize { unsigned short ws_row, ws_col, ws_xpixel, ws_ypixel; }; +#define __DEFINED_struct_winsize +#endif + + #if defined(__NEED_socklen_t) && !defined(__DEFINED_socklen_t) typedef unsigned socklen_t; #define __DEFINED_socklen_t diff --git a/lib/libc/include/x86_64-linux-musl/bits/syscall.h b/lib/libc/include/x86_64-linux-musl/bits/syscall.h index e4dbe4b061..d91f553b77 100644 --- a/lib/libc/include/x86_64-linux-musl/bits/syscall.h +++ b/lib/libc/include/x86_64-linux-musl/bits/syscall.h @@ -345,6 +345,10 @@ #define __NR_fspick 433 #define __NR_pidfd_open 434 #define __NR_clone3 435 +#define __NR_close_range 436 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 +#define __NR_faccessat2 439 #define SYS_read 0 #define SYS_write 1 @@ -692,4 +696,8 @@ #define SYS_fsmount 432 #define SYS_fspick 433 #define SYS_pidfd_open 434 -#define SYS_clone3 435 \ No newline at end of file +#define SYS_clone3 435 +#define SYS_close_range 436 +#define SYS_openat2 437 +#define SYS_pidfd_getfd 438 +#define SYS_faccessat2 439 \ No newline at end of file diff --git a/lib/libc/musl/arch/aarch64/bits/hwcap.h b/lib/libc/musl/arch/aarch64/bits/hwcap.h index a7484028e0..7ab73f99b6 100644 --- a/lib/libc/musl/arch/aarch64/bits/hwcap.h +++ b/lib/libc/musl/arch/aarch64/bits/hwcap.h @@ -38,3 +38,13 @@ #define HWCAP2_SVEBITPERM (1 << 4) #define HWCAP2_SVESHA3 (1 << 5) #define HWCAP2_SVESM4 (1 << 6) +#define HWCAP2_FLAGM2 (1 << 7) +#define HWCAP2_FRINT (1 << 8) +#define HWCAP2_SVEI8MM (1 << 9) +#define HWCAP2_SVEF32MM (1 << 10) +#define HWCAP2_SVEF64MM (1 << 11) +#define HWCAP2_SVEBF16 (1 << 12) +#define HWCAP2_I8MM (1 << 13) +#define HWCAP2_BF16 (1 << 14) +#define HWCAP2_DGH (1 << 15) +#define HWCAP2_RNG (1 << 16) diff --git a/lib/libc/musl/arch/aarch64/bits/signal.h b/lib/libc/musl/arch/aarch64/bits/signal.h index b71261f568..5098c7341d 100644 --- a/lib/libc/musl/arch/aarch64/bits/signal.h +++ b/lib/libc/musl/arch/aarch64/bits/signal.h @@ -11,7 +11,7 @@ typedef unsigned long greg_t; typedef unsigned long gregset_t[34]; typedef struct { - long double vregs[32]; + __uint128_t vregs[32]; unsigned int fpsr; unsigned int fpcr; } fpregset_t; @@ -34,7 +34,7 @@ struct fpsimd_context { struct _aarch64_ctx head; unsigned int fpsr; unsigned int fpcr; - long double vregs[32]; + __uint128_t vregs[32]; }; struct esr_context { struct _aarch64_ctx head; diff --git a/lib/libc/musl/arch/aarch64/bits/syscall.h.in b/lib/libc/musl/arch/aarch64/bits/syscall.h.in index 93648afdfe..f9457c184a 100644 --- a/lib/libc/musl/arch/aarch64/bits/syscall.h.in +++ b/lib/libc/musl/arch/aarch64/bits/syscall.h.in @@ -289,4 +289,8 @@ #define __NR_fspick 433 #define __NR_pidfd_open 434 #define __NR_clone3 435 +#define __NR_close_range 436 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 +#define __NR_faccessat2 439 diff --git a/lib/libc/musl/arch/aarch64/bits/user.h b/lib/libc/musl/arch/aarch64/bits/user.h index d12cdf7fe5..8a1002aa67 100644 --- a/lib/libc/musl/arch/aarch64/bits/user.h +++ b/lib/libc/musl/arch/aarch64/bits/user.h @@ -6,7 +6,7 @@ struct user_regs_struct { }; struct user_fpsimd_struct { - long double vregs[32]; + __uint128_t vregs[32]; unsigned int fpsr; unsigned int fpcr; }; diff --git a/lib/libc/musl/arch/aarch64/pthread_arch.h b/lib/libc/musl/arch/aarch64/pthread_arch.h index e64b126d2c..3909616c37 100644 --- a/lib/libc/musl/arch/aarch64/pthread_arch.h +++ b/lib/libc/musl/arch/aarch64/pthread_arch.h @@ -1,12 +1,11 @@ -static inline struct pthread *__pthread_self() +static inline uintptr_t __get_tp() { - char *self; - __asm__ ("mrs %0,tpidr_el0" : "=r"(self)); - return (void*)(self - sizeof(struct pthread)); + uintptr_t tp; + __asm__ ("mrs %0,tpidr_el0" : "=r"(tp)); + return tp; } #define TLS_ABOVE_TP #define GAP_ABOVE_TP 16 -#define TP_ADJ(p) ((char *)(p) + sizeof(struct pthread)) #define MC_PC pc diff --git a/lib/libc/musl/arch/arm/bits/syscall.h.in b/lib/libc/musl/arch/arm/bits/syscall.h.in index 11d677635b..7e2fc26697 100644 --- a/lib/libc/musl/arch/arm/bits/syscall.h.in +++ b/lib/libc/musl/arch/arm/bits/syscall.h.in @@ -389,6 +389,10 @@ #define __NR_fspick 433 #define __NR_pidfd_open 434 #define __NR_clone3 435 +#define __NR_close_range 436 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 +#define __NR_faccessat2 439 #define __ARM_NR_breakpoint 0x0f0001 #define __ARM_NR_cacheflush 0x0f0002 diff --git a/lib/libc/musl/arch/arm/pthread_arch.h b/lib/libc/musl/arch/arm/pthread_arch.h index e689ea212a..157e2eae66 100644 --- a/lib/libc/musl/arch/arm/pthread_arch.h +++ b/lib/libc/musl/arch/arm/pthread_arch.h @@ -1,11 +1,11 @@ #if ((__ARM_ARCH_6K__ || __ARM_ARCH_6KZ__ || __ARM_ARCH_6ZK__) && !__thumb__) \ || __ARM_ARCH_7A__ || __ARM_ARCH_7R__ || __ARM_ARCH >= 7 -static inline pthread_t __pthread_self() +static inline uintptr_t __get_tp() { - char *p; - __asm__ ( "mrc p15,0,%0,c13,c0,3" : "=r"(p) ); - return (void *)(p-sizeof(struct pthread)); + uintptr_t tp; + __asm__ ( "mrc p15,0,%0,c13,c0,3" : "=r"(tp) ); + return tp; } #else @@ -16,18 +16,17 @@ static inline pthread_t __pthread_self() #define BLX "blx" #endif -static inline pthread_t __pthread_self() +static inline uintptr_t __get_tp() { extern hidden uintptr_t __a_gettp_ptr; - register uintptr_t p __asm__("r0"); - __asm__ ( BLX " %1" : "=r"(p) : "r"(__a_gettp_ptr) : "cc", "lr" ); - return (void *)(p-sizeof(struct pthread)); + register uintptr_t tp __asm__("r0"); + __asm__ ( BLX " %1" : "=r"(tp) : "r"(__a_gettp_ptr) : "cc", "lr" ); + return tp; } #endif #define TLS_ABOVE_TP #define GAP_ABOVE_TP 8 -#define TP_ADJ(p) ((char *)(p) + sizeof(struct pthread)) #define MC_PC arm_pc diff --git a/lib/libc/musl/arch/generic/bits/fcntl.h b/lib/libc/musl/arch/generic/bits/fcntl.h index ae233cc003..730a98cfe6 100644 --- a/lib/libc/musl/arch/generic/bits/fcntl.h +++ b/lib/libc/musl/arch/generic/bits/fcntl.h @@ -30,9 +30,15 @@ #define F_SETSIG 10 #define F_GETSIG 11 +#if __LONG_MAX == 0x7fffffffL #define F_GETLK 12 #define F_SETLK 13 #define F_SETLKW 14 +#else +#define F_GETLK 5 +#define F_SETLK 6 +#define F_SETLKW 7 +#endif #define F_SETOWN_EX 15 #define F_GETOWN_EX 16 diff --git a/lib/libc/musl/arch/i386/bits/syscall.h.in b/lib/libc/musl/arch/i386/bits/syscall.h.in index 1ae4e48a8f..abdb210d39 100644 --- a/lib/libc/musl/arch/i386/bits/syscall.h.in +++ b/lib/libc/musl/arch/i386/bits/syscall.h.in @@ -426,4 +426,8 @@ #define __NR_fspick 433 #define __NR_pidfd_open 434 #define __NR_clone3 435 +#define __NR_close_range 436 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 +#define __NR_faccessat2 439 diff --git a/lib/libc/musl/arch/i386/pthread_arch.h b/lib/libc/musl/arch/i386/pthread_arch.h index 6f600b9e01..a639c382ac 100644 --- a/lib/libc/musl/arch/i386/pthread_arch.h +++ b/lib/libc/musl/arch/i386/pthread_arch.h @@ -1,10 +1,8 @@ -static inline struct pthread *__pthread_self() +static inline uintptr_t __get_tp() { - struct pthread *self; - __asm__ ("movl %%gs:0,%0" : "=r" (self) ); - return self; + uintptr_t tp; + __asm__ ("movl %%gs:0,%0" : "=r" (tp) ); + return tp; } -#define TP_ADJ(p) (p) - #define MC_PC gregs[REG_EIP] diff --git a/lib/libc/musl/arch/i386/syscall_arch.h b/lib/libc/musl/arch/i386/syscall_arch.h index 69642e578a..f92b7aa9f4 100644 --- a/lib/libc/musl/arch/i386/syscall_arch.h +++ b/lib/libc/musl/arch/i386/syscall_arch.h @@ -87,5 +87,3 @@ static inline long __syscall6(long n, long a1, long a2, long a3, long a4, long a #define VDSO_CGT32_VER "LINUX_2.6" #define VDSO_CGT_SYM "__vdso_clock_gettime64" #define VDSO_CGT_VER "LINUX_2.6" - -#define SYSCALL_USE_SOCKETCALL diff --git a/lib/libc/musl/arch/mips/bits/syscall.h.in b/lib/libc/musl/arch/mips/bits/syscall.h.in index 86251bf31b..2bb03f067a 100644 --- a/lib/libc/musl/arch/mips/bits/syscall.h.in +++ b/lib/libc/musl/arch/mips/bits/syscall.h.in @@ -408,4 +408,8 @@ #define __NR_fspick 4433 #define __NR_pidfd_open 4434 #define __NR_clone3 4435 +#define __NR_close_range 4436 +#define __NR_openat2 4437 +#define __NR_pidfd_getfd 4438 +#define __NR_faccessat2 4439 diff --git a/lib/libc/musl/arch/mips/pthread_arch.h b/lib/libc/musl/arch/mips/pthread_arch.h index 1e7839ea67..c45347ab92 100644 --- a/lib/libc/musl/arch/mips/pthread_arch.h +++ b/lib/libc/musl/arch/mips/pthread_arch.h @@ -1,19 +1,19 @@ -static inline struct pthread *__pthread_self() +static inline uintptr_t __get_tp() { #if __mips_isa_rev < 2 - register char *tp __asm__("$3"); + register uintptr_t tp __asm__("$3"); __asm__ (".word 0x7c03e83b" : "=r" (tp) ); #else - char *tp; + uintptr_t tp; __asm__ ("rdhwr %0, $29" : "=r" (tp) ); #endif - return (pthread_t)(tp - 0x7000 - sizeof(struct pthread)); + return tp; } #define TLS_ABOVE_TP #define GAP_ABOVE_TP 0 -#define TP_ADJ(p) ((char *)(p) + sizeof(struct pthread) + 0x7000) +#define TP_OFFSET 0x7000 #define DTP_OFFSET 0x8000 #define MC_PC pc diff --git a/lib/libc/musl/arch/mips/syscall_arch.h b/lib/libc/musl/arch/mips/syscall_arch.h index 380a94b366..5b7c38de20 100644 --- a/lib/libc/musl/arch/mips/syscall_arch.h +++ b/lib/libc/musl/arch/mips/syscall_arch.h @@ -149,3 +149,5 @@ static inline long __syscall7(long n, long a, long b, long c, long d, long e, lo #define SO_SNDTIMEO_OLD 0x1005 #define SO_RCVTIMEO_OLD 0x1006 + +#undef SYS_socketcall diff --git a/lib/libc/musl/arch/mips64/bits/fcntl.h b/lib/libc/musl/arch/mips64/bits/fcntl.h index 3bcec15e0d..5da1eef80c 100644 --- a/lib/libc/musl/arch/mips64/bits/fcntl.h +++ b/lib/libc/musl/arch/mips64/bits/fcntl.h @@ -13,7 +13,7 @@ #define O_ASYNC 010000 #define O_DIRECT 0100000 -#define O_LARGEFILE 0 +#define O_LARGEFILE 020000 #define O_NOATIME 01000000 #define O_PATH 010000000 #define O_TMPFILE 020200000 diff --git a/lib/libc/musl/arch/mips64/bits/syscall.h.in b/lib/libc/musl/arch/mips64/bits/syscall.h.in index 9b406e9a4d..045e8238ad 100644 --- a/lib/libc/musl/arch/mips64/bits/syscall.h.in +++ b/lib/libc/musl/arch/mips64/bits/syscall.h.in @@ -338,4 +338,8 @@ #define __NR_fspick 5433 #define __NR_pidfd_open 5434 #define __NR_clone3 5435 +#define __NR_close_range 5436 +#define __NR_openat2 5437 +#define __NR_pidfd_getfd 5438 +#define __NR_faccessat2 5439 diff --git a/lib/libc/musl/arch/mips64/pthread_arch.h b/lib/libc/musl/arch/mips64/pthread_arch.h index 1e7839ea67..c45347ab92 100644 --- a/lib/libc/musl/arch/mips64/pthread_arch.h +++ b/lib/libc/musl/arch/mips64/pthread_arch.h @@ -1,19 +1,19 @@ -static inline struct pthread *__pthread_self() +static inline uintptr_t __get_tp() { #if __mips_isa_rev < 2 - register char *tp __asm__("$3"); + register uintptr_t tp __asm__("$3"); __asm__ (".word 0x7c03e83b" : "=r" (tp) ); #else - char *tp; + uintptr_t tp; __asm__ ("rdhwr %0, $29" : "=r" (tp) ); #endif - return (pthread_t)(tp - 0x7000 - sizeof(struct pthread)); + return tp; } #define TLS_ABOVE_TP #define GAP_ABOVE_TP 0 -#define TP_ADJ(p) ((char *)(p) + sizeof(struct pthread) + 0x7000) +#define TP_OFFSET 0x7000 #define DTP_OFFSET 0x8000 #define MC_PC pc diff --git a/lib/libc/musl/arch/powerpc/bits/syscall.h.in b/lib/libc/musl/arch/powerpc/bits/syscall.h.in index 8d4f79b524..5c6fae3e58 100644 --- a/lib/libc/musl/arch/powerpc/bits/syscall.h.in +++ b/lib/libc/musl/arch/powerpc/bits/syscall.h.in @@ -415,4 +415,8 @@ #define __NR_fspick 433 #define __NR_pidfd_open 434 #define __NR_clone3 435 +#define __NR_close_range 436 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 +#define __NR_faccessat2 439 diff --git a/lib/libc/musl/arch/powerpc/pthread_arch.h b/lib/libc/musl/arch/powerpc/pthread_arch.h index ae0f28d6d1..42e88b07e8 100644 --- a/lib/libc/musl/arch/powerpc/pthread_arch.h +++ b/lib/libc/musl/arch/powerpc/pthread_arch.h @@ -1,18 +1,16 @@ -static inline struct pthread *__pthread_self() +static inline uintptr_t __get_tp() { - register char *tp __asm__("r2"); + register uintptr_t tp __asm__("r2"); __asm__ ("" : "=r" (tp) ); - return (pthread_t)(tp - 0x7000 - sizeof(struct pthread)); + return tp; } #define TLS_ABOVE_TP #define GAP_ABOVE_TP 0 -#define TP_ADJ(p) ((char *)(p) + sizeof(struct pthread) + 0x7000) +#define TP_OFFSET 0x7000 #define DTP_OFFSET 0x8000 // the kernel calls the ip "nip", it's the first saved value after the 32 // GPRs. #define MC_PC gregs[32] - -#define CANARY canary_at_end diff --git a/lib/libc/musl/arch/powerpc64/bits/syscall.h.in b/lib/libc/musl/arch/powerpc64/bits/syscall.h.in index b935864c41..edf73d3d6b 100644 --- a/lib/libc/musl/arch/powerpc64/bits/syscall.h.in +++ b/lib/libc/musl/arch/powerpc64/bits/syscall.h.in @@ -387,4 +387,8 @@ #define __NR_fspick 433 #define __NR_pidfd_open 434 #define __NR_clone3 435 +#define __NR_close_range 436 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 +#define __NR_faccessat2 439 diff --git a/lib/libc/musl/arch/powerpc64/pthread_arch.h b/lib/libc/musl/arch/powerpc64/pthread_arch.h index 79c3ecd8af..1b7b90797f 100644 --- a/lib/libc/musl/arch/powerpc64/pthread_arch.h +++ b/lib/libc/musl/arch/powerpc64/pthread_arch.h @@ -1,18 +1,16 @@ -static inline struct pthread *__pthread_self() +static inline uintptr_t __get_tp() { - register char *tp __asm__("r13"); + register uintptr_t tp __asm__("r13"); __asm__ ("" : "=r" (tp) ); - return (pthread_t)(tp - 0x7000 - sizeof(struct pthread)); + return tp; } #define TLS_ABOVE_TP #define GAP_ABOVE_TP 0 -#define TP_ADJ(p) ((char *)(p) + sizeof(struct pthread) + 0x7000) +#define TP_OFFSET 0x7000 #define DTP_OFFSET 0x8000 // the kernel calls the ip "nip", it's the first saved value after the 32 // GPRs. #define MC_PC gp_regs[32] - -#define CANARY canary_at_end diff --git a/lib/libc/musl/arch/riscv64/bits/fcntl.h b/lib/libc/musl/arch/riscv64/bits/fcntl.h deleted file mode 100644 index ecb4d18fd1..0000000000 --- a/lib/libc/musl/arch/riscv64/bits/fcntl.h +++ /dev/null @@ -1,38 +0,0 @@ -#define O_CREAT 0100 -#define O_EXCL 0200 -#define O_NOCTTY 0400 -#define O_TRUNC 01000 -#define O_APPEND 02000 -#define O_NONBLOCK 04000 -#define O_DSYNC 010000 -#define O_SYNC 04010000 -#define O_RSYNC 04010000 -#define O_DIRECTORY 0200000 -#define O_NOFOLLOW 0400000 -#define O_CLOEXEC 02000000 - -#define O_ASYNC 020000 -#define O_DIRECT 040000 -#define O_LARGEFILE 0100000 -#define O_NOATIME 01000000 -#define O_PATH 010000000 -#define O_TMPFILE 020200000 -#define O_NDELAY O_NONBLOCK - -#define F_DUPFD 0 -#define F_GETFD 1 -#define F_SETFD 2 -#define F_GETFL 3 -#define F_SETFL 4 -#define F_GETLK 5 -#define F_SETLK 6 -#define F_SETLKW 7 -#define F_SETOWN 8 -#define F_GETOWN 9 -#define F_SETSIG 10 -#define F_GETSIG 11 - -#define F_SETOWN_EX 15 -#define F_GETOWN_EX 16 - -#define F_GETOWNER_UIDS 17 diff --git a/lib/libc/musl/arch/riscv64/bits/signal.h b/lib/libc/musl/arch/riscv64/bits/signal.h index b006334f78..287367db73 100644 --- a/lib/libc/musl/arch/riscv64/bits/signal.h +++ b/lib/libc/musl/arch/riscv64/bits/signal.h @@ -60,10 +60,10 @@ struct sigaltstack { size_t ss_size; }; -typedef struct ucontext_t +typedef struct __ucontext { unsigned long uc_flags; - struct ucontext_t *uc_link; + struct __ucontext *uc_link; stack_t uc_stack; sigset_t uc_sigmask; mcontext_t uc_mcontext; diff --git a/lib/libc/musl/arch/riscv64/bits/syscall.h.in b/lib/libc/musl/arch/riscv64/bits/syscall.h.in index 0043eeba3c..5def016b12 100644 --- a/lib/libc/musl/arch/riscv64/bits/syscall.h.in +++ b/lib/libc/musl/arch/riscv64/bits/syscall.h.in @@ -289,6 +289,10 @@ #define __NR_fspick 433 #define __NR_pidfd_open 434 #define __NR_clone3 435 +#define __NR_close_range 436 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 +#define __NR_faccessat2 439 #define __NR_sysriscv __NR_arch_specific_syscall #define __NR_riscv_flush_icache (__NR_sysriscv + 15) diff --git a/lib/libc/musl/arch/riscv64/pthread_arch.h b/lib/libc/musl/arch/riscv64/pthread_arch.h index db414b1702..a20d7fba0d 100644 --- a/lib/libc/musl/arch/riscv64/pthread_arch.h +++ b/lib/libc/musl/arch/riscv64/pthread_arch.h @@ -1,13 +1,12 @@ -static inline struct pthread *__pthread_self() +static inline uintptr_t __get_tp() { - char *tp; + uintptr_t tp; __asm__ __volatile__("mv %0, tp" : "=r"(tp)); - return (void *)(tp - sizeof(struct pthread)); + return tp; } #define TLS_ABOVE_TP #define GAP_ABOVE_TP 0 -#define TP_ADJ(p) ((char *)p + sizeof(struct pthread)) #define DTP_OFFSET 0x800 diff --git a/lib/libc/musl/arch/s390x/bits/alltypes.h.in b/lib/libc/musl/arch/s390x/bits/alltypes.h.in index 15d18c8f4a..6c0eb7f4b8 100644 --- a/lib/libc/musl/arch/s390x/bits/alltypes.h.in +++ b/lib/libc/musl/arch/s390x/bits/alltypes.h.in @@ -9,7 +9,11 @@ TYPEDEF int wchar_t; #endif +#if defined(__FLT_EVAL_METHOD__) && __FLT_EVAL_METHOD__ == 1 TYPEDEF double float_t; +#else +TYPEDEF float float_t; +#endif TYPEDEF double double_t; TYPEDEF struct { long long __ll; long double __ld; } max_align_t; diff --git a/lib/libc/musl/arch/s390x/bits/float.h b/lib/libc/musl/arch/s390x/bits/float.h index 90b73beed4..e188cb6197 100644 --- a/lib/libc/musl/arch/s390x/bits/float.h +++ b/lib/libc/musl/arch/s390x/bits/float.h @@ -1,4 +1,8 @@ -#define FLT_EVAL_METHOD 1 +#ifdef __FLT_EVAL_METHOD__ +#define FLT_EVAL_METHOD __FLT_EVAL_METHOD__ +#else +#define FLT_EVAL_METHOD 0 +#endif #define LDBL_TRUE_MIN 6.47517511943802511092443895822764655e-4966L #define LDBL_MIN 3.36210314311209350626267781732175260e-4932L diff --git a/lib/libc/musl/arch/s390x/bits/syscall.h.in b/lib/libc/musl/arch/s390x/bits/syscall.h.in index e89f378299..fb2e60e30b 100644 --- a/lib/libc/musl/arch/s390x/bits/syscall.h.in +++ b/lib/libc/musl/arch/s390x/bits/syscall.h.in @@ -352,4 +352,8 @@ #define __NR_fspick 433 #define __NR_pidfd_open 434 #define __NR_clone3 435 +#define __NR_close_range 436 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 +#define __NR_faccessat2 439 diff --git a/lib/libc/musl/arch/s390x/pthread_arch.h b/lib/libc/musl/arch/s390x/pthread_arch.h index e2251f1fa4..e54fec3fe6 100644 --- a/lib/libc/musl/arch/s390x/pthread_arch.h +++ b/lib/libc/musl/arch/s390x/pthread_arch.h @@ -1,14 +1,12 @@ -static inline struct pthread *__pthread_self() +static inline uintptr_t __get_tp() { - struct pthread *self; + uintptr_t tp; __asm__ ( "ear %0, %%a0\n" "sllg %0, %0, 32\n" "ear %0, %%a1\n" - : "=r"(self)); - return self; + : "=r"(tp)); + return tp; } -#define TP_ADJ(p) (p) - #define MC_PC psw.addr diff --git a/lib/libc/musl/arch/s390x/syscall_arch.h b/lib/libc/musl/arch/s390x/syscall_arch.h index afb99852eb..83cc9a27c6 100644 --- a/lib/libc/musl/arch/s390x/syscall_arch.h +++ b/lib/libc/musl/arch/s390x/syscall_arch.h @@ -72,5 +72,3 @@ static inline long __syscall6(long n, long a, long b, long c, long d, long e, lo register long r7 __asm__("r7") = f; __asm_syscall("+r"(r2), "r"(r1), "r"(r3), "r"(r4), "r"(r5), "r"(r6), "r"(r7)); } - -#define SYSCALL_USE_SOCKETCALL diff --git a/lib/libc/musl/arch/x86_64/bits/syscall.h.in b/lib/libc/musl/arch/x86_64/bits/syscall.h.in index 6a646ad346..a611795104 100644 --- a/lib/libc/musl/arch/x86_64/bits/syscall.h.in +++ b/lib/libc/musl/arch/x86_64/bits/syscall.h.in @@ -345,4 +345,8 @@ #define __NR_fspick 433 #define __NR_pidfd_open 434 #define __NR_clone3 435 +#define __NR_close_range 436 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 +#define __NR_faccessat2 439 diff --git a/lib/libc/musl/arch/x86_64/pthread_arch.h b/lib/libc/musl/arch/x86_64/pthread_arch.h index 65e880c62e..c8c63f2e7a 100644 --- a/lib/libc/musl/arch/x86_64/pthread_arch.h +++ b/lib/libc/musl/arch/x86_64/pthread_arch.h @@ -1,10 +1,8 @@ -static inline struct pthread *__pthread_self() +static inline uintptr_t __get_tp() { - struct pthread *self; - __asm__ ("mov %%fs:0,%0" : "=r" (self) ); - return self; + uintptr_t tp; + __asm__ ("mov %%fs:0,%0" : "=r" (tp) ); + return tp; } -#define TP_ADJ(p) (p) - #define MC_PC gregs[REG_RIP] diff --git a/lib/libc/musl/include/alltypes.h.in b/lib/libc/musl/include/alltypes.h.in index d9ff462e1e..d47aeea9aa 100644 --- a/lib/libc/musl/include/alltypes.h.in +++ b/lib/libc/musl/include/alltypes.h.in @@ -77,6 +77,8 @@ TYPEDEF struct __sigset_t { unsigned long __bits[128/sizeof(long)]; } sigset_t; STRUCT iovec { void *iov_base; size_t iov_len; }; +STRUCT winsize { unsigned short ws_row, ws_col, ws_xpixel, ws_ypixel; }; + TYPEDEF unsigned socklen_t; TYPEDEF unsigned short sa_family_t; diff --git a/lib/libc/musl/include/elf.h b/lib/libc/musl/include/elf.h index 549f92c1aa..b5e7befb02 100644 --- a/lib/libc/musl/include/elf.h +++ b/lib/libc/musl/include/elf.h @@ -603,6 +603,7 @@ typedef struct { #define PT_GNU_EH_FRAME 0x6474e550 #define PT_GNU_STACK 0x6474e551 #define PT_GNU_RELRO 0x6474e552 +#define PT_GNU_PROPERTY 0x6474e553 #define PT_LOSUNW 0x6ffffffa #define PT_SUNWBSS 0x6ffffffa #define PT_SUNWSTACK 0x6ffffffb @@ -1085,6 +1086,7 @@ typedef struct { #define NT_GNU_BUILD_ID 3 #define NT_GNU_GOLD_VERSION 4 +#define NT_GNU_PROPERTY_TYPE_0 5 diff --git a/lib/libc/musl/include/netinet/if_ether.h b/lib/libc/musl/include/netinet/if_ether.h index a08485e7f7..55a2ff1b17 100644 --- a/lib/libc/musl/include/netinet/if_ether.h +++ b/lib/libc/musl/include/netinet/if_ether.h @@ -59,6 +59,7 @@ #define ETH_P_PREAUTH 0x88C7 #define ETH_P_TIPC 0x88CA #define ETH_P_LLDP 0x88CC +#define ETH_P_MRP 0x88E3 #define ETH_P_MACSEC 0x88E5 #define ETH_P_8021AH 0x88E7 #define ETH_P_MVRP 0x88F5 diff --git a/lib/libc/musl/include/netinet/in.h b/lib/libc/musl/include/netinet/in.h index 103d2e044c..f9594339f0 100644 --- a/lib/libc/musl/include/netinet/in.h +++ b/lib/libc/musl/include/netinet/in.h @@ -101,8 +101,10 @@ uint16_t ntohs(uint16_t); #define IPPROTO_MH 135 #define IPPROTO_UDPLITE 136 #define IPPROTO_MPLS 137 +#define IPPROTO_ETHERNET 143 #define IPPROTO_RAW 255 -#define IPPROTO_MAX 256 +#define IPPROTO_MPTCP 262 +#define IPPROTO_MAX 263 #define IN6_IS_ADDR_UNSPECIFIED(a) \ (((uint32_t *) (a))[0] == 0 && ((uint32_t *) (a))[1] == 0 && \ @@ -200,6 +202,7 @@ uint16_t ntohs(uint16_t); #define IP_CHECKSUM 23 #define IP_BIND_ADDRESS_NO_PORT 24 #define IP_RECVFRAGSIZE 25 +#define IP_RECVERR_RFC4884 26 #define IP_MULTICAST_IF 32 #define IP_MULTICAST_TTL 33 #define IP_MULTICAST_LOOP 34 diff --git a/lib/libc/musl/include/netinet/tcp.h b/lib/libc/musl/include/netinet/tcp.h index 44a007aaf5..b7b997f5fd 100644 --- a/lib/libc/musl/include/netinet/tcp.h +++ b/lib/libc/musl/include/netinet/tcp.h @@ -78,6 +78,8 @@ enum { TCP_NLA_DSACK_DUPS, TCP_NLA_REORD_SEEN, TCP_NLA_SRTT, + TCP_NLA_TIMEOUT_REHASH, + TCP_NLA_BYTES_NOTSENT, }; #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) @@ -181,6 +183,13 @@ struct tcphdr { #define TCP_CA_Recovery 3 #define TCP_CA_Loss 4 +enum tcp_fastopen_client_fail { + TFO_STATUS_UNSPEC, + TFO_COOKIE_UNAVAILABLE, + TFO_DATA_NOT_ACKED, + TFO_SYN_RETRANSMITTED, +}; + struct tcp_info { uint8_t tcpi_state; uint8_t tcpi_ca_state; @@ -189,7 +198,7 @@ struct tcp_info { uint8_t tcpi_backoff; uint8_t tcpi_options; uint8_t tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4; - uint8_t tcpi_delivery_rate_app_limited : 1; + uint8_t tcpi_delivery_rate_app_limited : 1, tcpi_fastopen_client_fail : 2; uint32_t tcpi_rto; uint32_t tcpi_ato; uint32_t tcpi_snd_mss; @@ -240,14 +249,15 @@ struct tcp_info { #define TCP_MD5SIG_MAXKEYLEN 80 -#define TCP_MD5SIG_FLAG_PREFIX 1 +#define TCP_MD5SIG_FLAG_PREFIX 0x1 +#define TCP_MD5SIG_FLAG_IFINDEX 0x2 struct tcp_md5sig { struct sockaddr_storage tcpm_addr; uint8_t tcpm_flags; uint8_t tcpm_prefixlen; uint16_t tcpm_keylen; - uint32_t __tcpm_pad; + int tcpm_ifindex; uint8_t tcpm_key[TCP_MD5SIG_MAXKEYLEN]; }; @@ -275,6 +285,8 @@ struct tcp_zerocopy_receive { uint64_t address; uint32_t length; uint32_t recv_skip_hint; + uint32_t inq; + int32_t err; }; #endif diff --git a/lib/libc/musl/include/netinet/udp.h b/lib/libc/musl/include/netinet/udp.h index ffd8907962..40c3f2034d 100644 --- a/lib/libc/musl/include/netinet/udp.h +++ b/lib/libc/musl/include/netinet/udp.h @@ -35,6 +35,7 @@ struct udphdr { #define UDP_ENCAP_GTP0 4 #define UDP_ENCAP_GTP1U 5 #define UDP_ENCAP_RXRPC 6 +#define TCP_ENCAP_ESPINTCP 7 #define SOL_UDP 17 diff --git a/lib/libc/musl/include/sched.h b/lib/libc/musl/include/sched.h index 822f464efd..fda4b48460 100644 --- a/lib/libc/musl/include/sched.h +++ b/lib/libc/musl/include/sched.h @@ -49,6 +49,7 @@ int sched_yield(void); #ifdef _GNU_SOURCE #define CSIGNAL 0x000000ff +#define CLONE_NEWTIME 0x00000080 #define CLONE_VM 0x00000100 #define CLONE_FS 0x00000200 #define CLONE_FILES 0x00000400 diff --git a/lib/libc/musl/include/signal.h b/lib/libc/musl/include/signal.h index fbdf667b2f..9ed929e4f2 100644 --- a/lib/libc/musl/include/signal.h +++ b/lib/libc/musl/include/signal.h @@ -180,14 +180,24 @@ struct sigevent { union sigval sigev_value; int sigev_signo; int sigev_notify; - void (*sigev_notify_function)(union sigval); - pthread_attr_t *sigev_notify_attributes; - char __pad[56-3*sizeof(long)]; + union { + char __pad[64 - 2*sizeof(int) - sizeof(union sigval)]; + pid_t sigev_notify_thread_id; + struct { + void (*sigev_notify_function)(union sigval); + pthread_attr_t *sigev_notify_attributes; + } __sev_thread; + } __sev_fields; }; +#define sigev_notify_thread_id __sev_fields.sigev_notify_thread_id +#define sigev_notify_function __sev_fields.__sev_thread.sigev_notify_function +#define sigev_notify_attributes __sev_fields.__sev_thread.sigev_notify_attributes + #define SIGEV_SIGNAL 0 #define SIGEV_NONE 1 #define SIGEV_THREAD 2 +#define SIGEV_THREAD_ID 4 int __libc_current_sigrtmin(void); int __libc_current_sigrtmax(void); diff --git a/lib/libc/musl/include/stdlib.h b/lib/libc/musl/include/stdlib.h index 194c20339e..b54a051fe9 100644 --- a/lib/libc/musl/include/stdlib.h +++ b/lib/libc/musl/include/stdlib.h @@ -145,6 +145,7 @@ int getloadavg(double *, int); int clearenv(void); #define WCOREDUMP(s) ((s) & 0x80) #define WIFCONTINUED(s) ((s) == 0xffff) +void *reallocarray (void *, size_t, size_t); #endif #ifdef _GNU_SOURCE diff --git a/lib/libc/musl/include/sys/fanotify.h b/lib/libc/musl/include/sys/fanotify.h index b637c8f58a..10e5f15e24 100644 --- a/lib/libc/musl/include/sys/fanotify.h +++ b/lib/libc/musl/include/sys/fanotify.h @@ -55,8 +55,9 @@ struct fanotify_response { #define FAN_OPEN_PERM 0x10000 #define FAN_ACCESS_PERM 0x20000 #define FAN_OPEN_EXEC_PERM 0x40000 -#define FAN_ONDIR 0x40000000 +#define FAN_DIR_MODIFY 0x00080000 #define FAN_EVENT_ON_CHILD 0x08000000 +#define FAN_ONDIR 0x40000000 #define FAN_CLOSE (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE) #define FAN_MOVE (FAN_MOVED_FROM | FAN_MOVED_TO) #define FAN_CLOEXEC 0x01 @@ -70,6 +71,9 @@ struct fanotify_response { #define FAN_ENABLE_AUDIT 0x40 #define FAN_REPORT_TID 0x100 #define FAN_REPORT_FID 0x200 +#define FAN_REPORT_DIR_FID 0x00000400 +#define FAN_REPORT_NAME 0x00000800 +#define FAN_REPORT_DFID_NAME (FAN_REPORT_DIR_FID | FAN_REPORT_NAME) #define FAN_ALL_INIT_FLAGS (FAN_CLOEXEC | FAN_NONBLOCK | FAN_ALL_CLASS_BITS | FAN_UNLIMITED_QUEUE | FAN_UNLIMITED_MARKS) #define FAN_MARK_ADD 0x01 #define FAN_MARK_REMOVE 0x02 @@ -88,6 +92,8 @@ struct fanotify_response { #define FAN_ALL_OUTGOING_EVENTS (FAN_ALL_EVENTS | FAN_ALL_PERM_EVENTS | FAN_Q_OVERFLOW) #define FANOTIFY_METADATA_VERSION 3 #define FAN_EVENT_INFO_TYPE_FID 1 +#define FAN_EVENT_INFO_TYPE_DFID_NAME 2 +#define FAN_EVENT_INFO_TYPE_DFID 3 #define FAN_ALLOW 0x01 #define FAN_DENY 0x02 #define FAN_AUDIT 0x10 diff --git a/lib/libc/musl/include/sys/ioctl.h b/lib/libc/musl/include/sys/ioctl.h index c2ce3b4840..a9a2346ee7 100644 --- a/lib/libc/musl/include/sys/ioctl.h +++ b/lib/libc/musl/include/sys/ioctl.h @@ -4,6 +4,8 @@ extern "C" { #endif +#define __NEED_struct_winsize + #include #include @@ -47,13 +49,6 @@ extern "C" { #define TIOCSER_TEMT 1 -struct winsize { - unsigned short ws_row; - unsigned short ws_col; - unsigned short ws_xpixel; - unsigned short ws_ypixel; -}; - #define SIOCADDRT 0x890B #define SIOCDELRT 0x890C #define SIOCRTMSG 0x890D diff --git a/lib/libc/musl/include/sys/mman.h b/lib/libc/musl/include/sys/mman.h index 3bade72720..4d603e9104 100644 --- a/lib/libc/musl/include/sys/mman.h +++ b/lib/libc/musl/include/sys/mman.h @@ -101,6 +101,7 @@ extern "C" { #ifdef _GNU_SOURCE #define MREMAP_MAYMOVE 1 #define MREMAP_FIXED 2 +#define MREMAP_DONTUNMAP 4 #define MLOCK_ONFAULT 0x01 diff --git a/lib/libc/musl/include/sys/personality.h b/lib/libc/musl/include/sys/personality.h index 31d43dfe13..411dc47563 100644 --- a/lib/libc/musl/include/sys/personality.h +++ b/lib/libc/musl/include/sys/personality.h @@ -5,7 +5,9 @@ extern "C" { #endif +#define UNAME26 0x0020000 #define ADDR_NO_RANDOMIZE 0x0040000 +#define FDPIC_FUNCPTRS 0x0080000 #define MMAP_PAGE_ZERO 0x0100000 #define ADDR_COMPAT_LAYOUT 0x0200000 #define READ_IMPLIES_EXEC 0x0400000 @@ -17,6 +19,7 @@ extern "C" { #define PER_LINUX 0 #define PER_LINUX_32BIT ADDR_LIMIT_32BIT +#define PER_LINUX_FDPIC FDPIC_FUNCPTRS #define PER_SVR4 (1 | STICKY_TIMEOUTS | MMAP_PAGE_ZERO) #define PER_SVR3 (2 | STICKY_TIMEOUTS | SHORT_INODE) #define PER_SCOSVR3 (3 | STICKY_TIMEOUTS | WHOLE_SECONDS | SHORT_INODE) diff --git a/lib/libc/musl/include/sys/prctl.h b/lib/libc/musl/include/sys/prctl.h index d9c846e9c2..4b9fcc0508 100644 --- a/lib/libc/musl/include/sys/prctl.h +++ b/lib/libc/musl/include/sys/prctl.h @@ -158,6 +158,9 @@ struct prctl_mm_map { #define PR_GET_TAGGED_ADDR_CTRL 56 #define PR_TAGGED_ADDR_ENABLE (1UL << 0) +#define PR_SET_IO_FLUSHER 57 +#define PR_GET_IO_FLUSHER 58 + int prctl (int, ...); #ifdef __cplusplus diff --git a/lib/libc/musl/include/sys/random.h b/lib/libc/musl/include/sys/random.h index 4ee7bf2cc4..59e40ab897 100644 --- a/lib/libc/musl/include/sys/random.h +++ b/lib/libc/musl/include/sys/random.h @@ -10,6 +10,7 @@ extern "C" { #define GRND_NONBLOCK 0x0001 #define GRND_RANDOM 0x0002 +#define GRND_INSECURE 0x0004 ssize_t getrandom(void *, size_t, unsigned); diff --git a/lib/libc/musl/include/termios.h b/lib/libc/musl/include/termios.h index d73c780d41..cbb533010e 100644 --- a/lib/libc/musl/include/termios.h +++ b/lib/libc/musl/include/termios.h @@ -8,6 +8,7 @@ extern "C" { #include #define __NEED_pid_t +#define __NEED_struct_winsize #include @@ -27,6 +28,9 @@ int cfsetispeed (struct termios *, speed_t); int tcgetattr (int, struct termios *); int tcsetattr (int, int, const struct termios *); +int tcgetwinsize (int, struct winsize *); +int tcsetwinsize (int, const struct winsize *); + int tcsendbreak (int, int); int tcdrain (int); int tcflush (int, int); diff --git a/lib/libc/musl/include/unistd.h b/lib/libc/musl/include/unistd.h index 7bcbff943d..1306402603 100644 --- a/lib/libc/musl/include/unistd.h +++ b/lib/libc/musl/include/unistd.h @@ -82,6 +82,7 @@ unsigned sleep(unsigned); int pause(void); pid_t fork(void); +pid_t _Fork(void); int execve(const char *, char *const [], char *const []); int execv(const char *, char *const []); int execle(const char *, const char *, ...); @@ -190,6 +191,7 @@ int syncfs(int); int euidaccess(const char *, int); int eaccess(const char *, int); ssize_t copy_file_range(int, off_t *, int, off_t *, size_t, unsigned); +pid_t gettid(void); #endif #if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) diff --git a/lib/libc/musl/libc.s b/lib/libc/musl/libc.s index 09c5f5cabf..d00dea9f9f 100644 --- a/lib/libc/musl/libc.s +++ b/lib/libc/musl/libc.s @@ -105,6 +105,9 @@ in6addr_loopback: .globl _Exit .type _Exit, %function; _Exit: +.globl _Fork +.type _Fork, %function; +_Fork: .weak _IO_feof_unlocked .type _IO_feof_unlocked, %function; _IO_feof_unlocked: @@ -2116,6 +2119,9 @@ getsubopt: .globl gettext .type gettext, %function; gettext: +.globl gettid +.type gettid, %function; +gettid: .globl gettimeofday .type gettimeofday, %function; gettimeofday: @@ -2728,7 +2734,7 @@ lutimes: .weak madvise .type madvise, %function; madvise: -.globl malloc +.weak malloc .type malloc, %function; malloc: .globl malloc_usable_size @@ -3709,6 +3715,9 @@ readv: .globl realloc .type realloc, %function; realloc: +.globl reallocarray +.type reallocarray, %function; +reallocarray: .globl realpath .type realpath, %function; realpath: @@ -4543,6 +4552,9 @@ tcgetpgrp: .globl tcgetsid .type tcgetsid, %function; tcgetsid: +.globl tcgetwinsize +.type tcgetwinsize, %function; +tcgetwinsize: .globl tcsendbreak .type tcsendbreak, %function; tcsendbreak: @@ -4552,6 +4564,9 @@ tcsetattr: .globl tcsetpgrp .type tcsetpgrp, %function; tcsetpgrp: +.globl tcsetwinsize +.type tcsetwinsize, %function; +tcsetwinsize: .globl tdelete .type tdelete, %function; tdelete: diff --git a/lib/libc/musl/src/aio/aio.c b/lib/libc/musl/src/aio/aio.c index 6d34fa8693..a1a3e7914b 100644 --- a/lib/libc/musl/src/aio/aio.c +++ b/lib/libc/musl/src/aio/aio.c @@ -9,6 +9,12 @@ #include "syscall.h" #include "atomic.h" #include "pthread_impl.h" +#include "aio_impl.h" + +#define malloc __libc_malloc +#define calloc __libc_calloc +#define realloc __libc_realloc +#define free __libc_free /* The following is a threads-based implementation of AIO with minimal * dependence on implementation details. Most synchronization is @@ -70,6 +76,10 @@ static struct aio_queue *****map; static volatile int aio_fd_cnt; volatile int __aio_fut; +static size_t io_thread_stack_size; + +#define MAX(a,b) ((a)>(b) ? (a) : (b)) + static struct aio_queue *__aio_get_queue(int fd, int need) { if (fd < 0) { @@ -84,6 +94,10 @@ static struct aio_queue *__aio_get_queue(int fd, int need) pthread_rwlock_unlock(&maplock); if (fcntl(fd, F_GETFD) < 0) return 0; pthread_rwlock_wrlock(&maplock); + if (!io_thread_stack_size) { + unsigned long val = __getauxval(AT_MINSIGSTKSZ); + io_thread_stack_size = MAX(MINSIGSTKSZ+2048, val+512); + } if (!map) map = calloc(sizeof *map, (-1U/2+1)>>24); if (!map) goto out; if (!map[a]) map[a] = calloc(sizeof **map, 256); @@ -259,15 +273,6 @@ static void *io_thread_func(void *ctx) return 0; } -static size_t io_thread_stack_size = MINSIGSTKSZ+2048; -static pthread_once_t init_stack_size_once; - -static void init_stack_size() -{ - unsigned long val = __getauxval(AT_MINSIGSTKSZ); - if (val > MINSIGSTKSZ) io_thread_stack_size = val + 512; -} - static int submit(struct aiocb *cb, int op) { int ret = 0; @@ -293,7 +298,6 @@ static int submit(struct aiocb *cb, int op) else pthread_attr_init(&a); } else { - pthread_once(&init_stack_size_once, init_stack_size); pthread_attr_init(&a); pthread_attr_setstacksize(&a, io_thread_stack_size); pthread_attr_setguardsize(&a, 0); @@ -392,6 +396,20 @@ int __aio_close(int fd) return fd; } +void __aio_atfork(int who) +{ + if (who<0) { + pthread_rwlock_rdlock(&maplock); + return; + } + if (who>0 && map) for (int a=0; a<(-1U/2+1)>>24; a++) + if (map[a]) for (int b=0; b<256; b++) + if (map[a][b]) for (int c=0; c<256; c++) + if (map[a][b][c]) for (int d=0; d<256; d++) + map[a][b][c][d] = 0; + pthread_rwlock_unlock(&maplock); +} + weak_alias(aio_cancel, aio_cancel64); weak_alias(aio_error, aio_error64); weak_alias(aio_fsync, aio_fsync64); diff --git a/lib/libc/musl/src/aio/aio_suspend.c b/lib/libc/musl/src/aio/aio_suspend.c index 34b66f8787..1c1060e340 100644 --- a/lib/libc/musl/src/aio/aio_suspend.c +++ b/lib/libc/musl/src/aio/aio_suspend.c @@ -3,6 +3,7 @@ #include #include "atomic.h" #include "pthread_impl.h" +#include "aio_impl.h" int aio_suspend(const struct aiocb *const cbs[], int cnt, const struct timespec *ts) { diff --git a/lib/libc/musl/src/crypt/crypt_blowfish.c b/lib/libc/musl/src/crypt/crypt_blowfish.c index d3f798517e..d722607b02 100644 --- a/lib/libc/musl/src/crypt/crypt_blowfish.c +++ b/lib/libc/musl/src/crypt/crypt_blowfish.c @@ -15,7 +15,7 @@ * No copyright is claimed, and the software is hereby placed in the public * domain. In case this attempt to disclaim copyright and place the software * in the public domain is deemed null and void, then the software is - * Copyright (c) 1998-2012 Solar Designer and it is hereby released to the + * Copyright (c) 1998-2014 Solar Designer and it is hereby released to the * general public under the following terms: * * Redistribution and use in source and binary forms, with or without @@ -31,12 +31,12 @@ * you place this code and any modifications you make under a license * of your choice. * - * This implementation is mostly compatible with OpenBSD's bcrypt.c (prefix - * "$2a$") by Niels Provos , and uses some of his - * ideas. The password hashing algorithm was designed by David Mazieres - * . For more information on the level of compatibility, - * please refer to the comments in BF_set_key() below and to the included - * crypt(3) man page. + * This implementation is fully compatible with OpenBSD's bcrypt.c for prefix + * "$2b$", originally by Niels Provos , and it uses + * some of his ideas. The password hashing algorithm was designed by David + * Mazieres . For information on the level of + * compatibility for bcrypt hash prefixes other than "$2b$", please refer to + * the comments in BF_set_key() below and to the included crypt(3) man page. * * There's a paper on the algorithm that explains its design decisions: * @@ -533,6 +533,7 @@ static void BF_set_key(const char *key, BF_key expanded, BF_key initial, * Valid combinations of settings are: * * Prefix "$2a$": bug = 0, safety = 0x10000 + * Prefix "$2b$": bug = 0, safety = 0 * Prefix "$2x$": bug = 1, safety = 0 * Prefix "$2y$": bug = 0, safety = 0 */ @@ -596,12 +597,14 @@ static void BF_set_key(const char *key, BF_key expanded, BF_key initial, initial[0] ^= sign; } +static const unsigned char flags_by_subtype[26] = { + 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0 +}; + static char *BF_crypt(const char *key, const char *setting, char *output, BF_word min) { - static const unsigned char flags_by_subtype[26] = - {2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0}; struct { BF_ctx ctx; BF_key expanded_key; @@ -746,9 +749,11 @@ char *__crypt_blowfish(const char *key, const char *setting, char *output) { const char *test_key = "8b \xd0\xc1\xd2\xcf\xcc\xd8"; const char *test_setting = "$2a$00$abcdefghijklmnopqrstuu"; - static const char test_hash[2][34] = - {"VUrPmXD6q/nVSSp7pNDhCR9071IfIRe\0\x55", /* $2x$ */ - "i1D709vfamulimlGcq0qq3UvuUasvEa\0\x55"}; /* $2a$, $2y$ */ + static const char test_hashes[2][34] = { + "i1D709vfamulimlGcq0qq3UvuUasvEa\0\x55", /* 'a', 'b', 'y' */ + "VUrPmXD6q/nVSSp7pNDhCR9071IfIRe\0\x55", /* 'x' */ + }; + const char *test_hash = test_hashes[0]; char *retval; const char *p; int ok; @@ -768,8 +773,11 @@ char *__crypt_blowfish(const char *key, const char *setting, char *output) * detected by the self-test. */ memcpy(buf.s, test_setting, sizeof(buf.s)); - if (retval) + if (retval) { + unsigned int flags = flags_by_subtype[setting[2] - 'a']; + test_hash = test_hashes[flags & 1]; buf.s[2] = setting[2]; + } memset(buf.o, 0x55, sizeof(buf.o)); buf.o[sizeof(buf.o) - 1] = 0; p = BF_crypt(test_key, buf.s, buf.o, 1); @@ -777,7 +785,7 @@ char *__crypt_blowfish(const char *key, const char *setting, char *output) ok = (p == buf.o && !memcmp(p, buf.s, 7 + 22) && !memcmp(p + (7 + 22), - test_hash[buf.s[2] & 1], + test_hash, 31 + 1 + 1 + 1)); { diff --git a/lib/libc/musl/src/env/__init_tls.c b/lib/libc/musl/src/env/__init_tls.c index 772baba32d..a93141ed36 100644 --- a/lib/libc/musl/src/env/__init_tls.c +++ b/lib/libc/musl/src/env/__init_tls.c @@ -67,7 +67,7 @@ void *__copy_tls(unsigned char *mem) } #endif dtv[0] = libc.tls_cnt; - td->dtv = td->dtv_copy = dtv; + td->dtv = dtv; return td; } diff --git a/lib/libc/musl/src/env/__stack_chk_fail.c b/lib/libc/musl/src/env/__stack_chk_fail.c index e32596d10f..bf5a280ad9 100644 --- a/lib/libc/musl/src/env/__stack_chk_fail.c +++ b/lib/libc/musl/src/env/__stack_chk_fail.c @@ -9,7 +9,7 @@ void __init_ssp(void *entropy) if (entropy) memcpy(&__stack_chk_guard, entropy, sizeof(uintptr_t)); else __stack_chk_guard = (uintptr_t)&__stack_chk_guard * 1103515245; - __pthread_self()->CANARY = __stack_chk_guard; + __pthread_self()->canary = __stack_chk_guard; } void __stack_chk_fail(void) diff --git a/lib/libc/musl/src/exit/abort.c b/lib/libc/musl/src/exit/abort.c index e1980f10a5..f21f458eca 100644 --- a/lib/libc/musl/src/exit/abort.c +++ b/lib/libc/musl/src/exit/abort.c @@ -6,8 +6,6 @@ #include "lock.h" #include "ksigaction.h" -hidden volatile int __abort_lock[1]; - _Noreturn void abort(void) { raise(SIGABRT); diff --git a/lib/libc/musl/src/exit/abort_lock.c b/lib/libc/musl/src/exit/abort_lock.c new file mode 100644 index 0000000000..3af72c7b6a --- /dev/null +++ b/lib/libc/musl/src/exit/abort_lock.c @@ -0,0 +1,3 @@ +#include "pthread_impl.h" + +volatile int __abort_lock[1]; diff --git a/lib/libc/musl/src/exit/assert.c b/lib/libc/musl/src/exit/assert.c index 49b0dc3ec4..94edd82727 100644 --- a/lib/libc/musl/src/exit/assert.c +++ b/lib/libc/musl/src/exit/assert.c @@ -4,6 +4,5 @@ _Noreturn void __assert_fail(const char *expr, const char *file, int line, const char *func) { fprintf(stderr, "Assertion failed: %s (%s: %s: %d)\n", expr, file, func, line); - fflush(NULL); abort(); } diff --git a/lib/libc/musl/src/exit/at_quick_exit.c b/lib/libc/musl/src/exit/at_quick_exit.c index d3ce6522df..e4b5d78dbb 100644 --- a/lib/libc/musl/src/exit/at_quick_exit.c +++ b/lib/libc/musl/src/exit/at_quick_exit.c @@ -1,12 +1,14 @@ #include #include "libc.h" #include "lock.h" +#include "fork_impl.h" #define COUNT 32 static void (*funcs[COUNT])(void); static int count; static volatile int lock[1]; +volatile int *const __at_quick_exit_lockptr = lock; void __funcs_on_quick_exit() { diff --git a/lib/libc/musl/src/exit/atexit.c b/lib/libc/musl/src/exit/atexit.c index 160d277aeb..854e9fddbe 100644 --- a/lib/libc/musl/src/exit/atexit.c +++ b/lib/libc/musl/src/exit/atexit.c @@ -2,6 +2,12 @@ #include #include "libc.h" #include "lock.h" +#include "fork_impl.h" + +#define malloc __libc_malloc +#define calloc __libc_calloc +#define realloc undef +#define free undef /* Ensure that at least 32 atexit handlers can be registered without malloc */ #define COUNT 32 @@ -15,6 +21,7 @@ static struct fl static int slot; static volatile int lock[1]; +volatile int *const __atexit_lockptr = lock; void __funcs_on_exit() { diff --git a/lib/libc/musl/src/include/stdlib.h b/lib/libc/musl/src/include/stdlib.h index d38a5417f1..e9da20158c 100644 --- a/lib/libc/musl/src/include/stdlib.h +++ b/lib/libc/musl/src/include/stdlib.h @@ -9,4 +9,10 @@ hidden int __mkostemps(char *, int, int); hidden int __ptsname_r(int, char *, size_t); hidden char *__randname(char *); +hidden void *__libc_malloc(size_t); +hidden void *__libc_malloc_impl(size_t); +hidden void *__libc_calloc(size_t, size_t); +hidden void *__libc_realloc(void *, size_t); +hidden void __libc_free(void *); + #endif diff --git a/lib/libc/musl/src/include/unistd.h b/lib/libc/musl/src/include/unistd.h index 1b4605c7c6..7b52a9249e 100644 --- a/lib/libc/musl/src/include/unistd.h +++ b/lib/libc/musl/src/include/unistd.h @@ -8,7 +8,6 @@ extern char **__environ; hidden int __dup3(int, int, int); hidden int __mkostemps(char *, int, int); hidden int __execvpe(const char *, char *const *, char *const *); -hidden int __aio_close(int); hidden off_t __lseek(int, off_t, int); #endif diff --git a/lib/libc/musl/src/internal/aio_impl.h b/lib/libc/musl/src/internal/aio_impl.h new file mode 100644 index 0000000000..a865766544 --- /dev/null +++ b/lib/libc/musl/src/internal/aio_impl.h @@ -0,0 +1,9 @@ +#ifndef AIO_IMPL_H +#define AIO_IMPL_H + +extern hidden volatile int __aio_fut; + +extern hidden int __aio_close(int); +extern hidden void __aio_atfork(int); + +#endif diff --git a/lib/libc/musl/src/internal/fork_impl.h b/lib/libc/musl/src/internal/fork_impl.h new file mode 100644 index 0000000000..5892c13bf9 --- /dev/null +++ b/lib/libc/musl/src/internal/fork_impl.h @@ -0,0 +1,19 @@ +#include + +extern hidden volatile int *const __at_quick_exit_lockptr; +extern hidden volatile int *const __atexit_lockptr; +extern hidden volatile int *const __dlerror_lockptr; +extern hidden volatile int *const __gettext_lockptr; +extern hidden volatile int *const __locale_lockptr; +extern hidden volatile int *const __random_lockptr; +extern hidden volatile int *const __sem_open_lockptr; +extern hidden volatile int *const __stdio_ofl_lockptr; +extern hidden volatile int *const __syslog_lockptr; +extern hidden volatile int *const __timezone_lockptr; + +extern hidden volatile int *const __bump_lockptr; + +extern hidden volatile int *const __vmlock_lockptr; + +hidden void __malloc_atfork(int); +hidden void __ldso_atfork(int); diff --git a/lib/libc/musl/src/internal/libm.h b/lib/libc/musl/src/internal/libm.h index 7533f6baef..72ad17d8eb 100644 --- a/lib/libc/musl/src/internal/libm.h +++ b/lib/libc/musl/src/internal/libm.h @@ -267,5 +267,8 @@ hidden double __math_uflow(uint32_t); hidden double __math_oflow(uint32_t); hidden double __math_divzero(uint32_t); hidden double __math_invalid(double); +#if LDBL_MANT_DIG != DBL_MANT_DIG +hidden long double __math_invalidl(long double); +#endif #endif diff --git a/lib/libc/musl/src/internal/locale_impl.h b/lib/libc/musl/src/internal/locale_impl.h index 741a71c4d1..4431a92eb7 100644 --- a/lib/libc/musl/src/internal/locale_impl.h +++ b/lib/libc/musl/src/internal/locale_impl.h @@ -15,6 +15,8 @@ struct __locale_map { const struct __locale_map *next; }; +extern hidden volatile int __locale_lock[1]; + extern hidden const struct __locale_map __c_dot_utf8; extern hidden const struct __locale_struct __c_locale; extern hidden const struct __locale_struct __c_dot_utf8_locale; diff --git a/lib/libc/musl/src/internal/pthread_impl.h b/lib/libc/musl/src/internal/pthread_impl.h index 5742dfc55c..de2b9d8b47 100644 --- a/lib/libc/musl/src/internal/pthread_impl.h +++ b/lib/libc/musl/src/internal/pthread_impl.h @@ -11,16 +11,25 @@ #include "atomic.h" #include "futex.h" +#include "pthread_arch.h" + #define pthread __pthread struct pthread { /* Part 1 -- these fields may be external or * internal (accessed via asm) ABI. Do not change. */ struct pthread *self; +#ifndef TLS_ABOVE_TP uintptr_t *dtv; +#endif struct pthread *prev, *next; /* non-ABI */ uintptr_t sysinfo; - uintptr_t canary, canary2; +#ifndef TLS_ABOVE_TP +#ifdef CANARY_PAD + uintptr_t canary_pad; +#endif + uintptr_t canary; +#endif /* Part 2 -- implementation details, non-ABI. */ int tid; @@ -43,6 +52,7 @@ struct pthread { long off; volatile void *volatile pending; } robust_list; + int h_errno_val; volatile int timer_id; locale_t locale; volatile int killlock[1]; @@ -51,21 +61,19 @@ struct pthread { /* Part 3 -- the positions of these fields relative to * the end of the structure is external and internal ABI. */ - uintptr_t canary_at_end; - uintptr_t *dtv_copy; +#ifdef TLS_ABOVE_TP + uintptr_t canary; + uintptr_t *dtv; +#endif }; enum { - DT_EXITING = 0, + DT_EXITED = 0, + DT_EXITING, DT_JOINABLE, DT_DETACHED, }; -struct __timer { - int timerid; - pthread_t thread; -}; - #define __SU (sizeof(size_t)/sizeof(int)) #define _a_stacksize __u.__s[0] @@ -98,16 +106,22 @@ struct __timer { #define _b_waiters2 __u.__vi[4] #define _b_inst __u.__p[3] -#include "pthread_arch.h" - -#ifndef CANARY -#define CANARY canary +#ifndef TP_OFFSET +#define TP_OFFSET 0 #endif #ifndef DTP_OFFSET #define DTP_OFFSET 0 #endif +#ifdef TLS_ABOVE_TP +#define TP_ADJ(p) ((char *)(p) + sizeof(struct pthread) + TP_OFFSET) +#define __pthread_self() ((pthread_t)(__get_tp() - sizeof(struct __pthread) - TP_OFFSET)) +#else +#define TP_ADJ(p) (p) +#define __pthread_self() ((pthread_t)__get_tp()) +#endif + #ifndef tls_mod_off_t #define tls_mod_off_t size_t #endif @@ -141,7 +155,6 @@ hidden int __pthread_key_delete_impl(pthread_key_t); extern hidden volatile size_t __pthread_tsd_size; extern hidden void *__pthread_tsd_main[]; -extern hidden volatile int __aio_fut; extern hidden volatile int __eintr_valid_flag; hidden int __clone(int (*)(void *), void *, int, void *, ...); @@ -176,6 +189,8 @@ hidden void __tl_sync(pthread_t); extern hidden volatile int __thread_list_lock; +extern hidden volatile int __abort_lock[1]; + extern hidden unsigned __default_stacksize; extern hidden unsigned __default_guardsize; diff --git a/lib/libc/musl/src/internal/syscall.h b/lib/libc/musl/src/internal/syscall.h index 975a0031d4..d5f294d437 100644 --- a/lib/libc/musl/src/internal/syscall.h +++ b/lib/libc/musl/src/internal/syscall.h @@ -2,6 +2,7 @@ #define _INTERNAL_SYSCALL_H #include +#include #include #include "syscall_arch.h" @@ -57,15 +58,22 @@ hidden long __syscall_ret(unsigned long), #define __syscall_cp(...) __SYSCALL_DISP(__syscall_cp,__VA_ARGS__) #define syscall_cp(...) __syscall_ret(__syscall_cp(__VA_ARGS__)) -#ifndef SYSCALL_USE_SOCKETCALL -#define __socketcall(nm,a,b,c,d,e,f) __syscall(SYS_##nm, a, b, c, d, e, f) -#define __socketcall_cp(nm,a,b,c,d,e,f) __syscall_cp(SYS_##nm, a, b, c, d, e, f) -#else -#define __socketcall(nm,a,b,c,d,e,f) __syscall(SYS_socketcall, __SC_##nm, \ - ((long [6]){ (long)a, (long)b, (long)c, (long)d, (long)e, (long)f })) -#define __socketcall_cp(nm,a,b,c,d,e,f) __syscall_cp(SYS_socketcall, __SC_##nm, \ - ((long [6]){ (long)a, (long)b, (long)c, (long)d, (long)e, (long)f })) +static inline long __alt_socketcall(int sys, int sock, int cp, long a, long b, long c, long d, long e, long f) +{ + long r; + if (cp) r = __syscall_cp(sys, a, b, c, d, e, f); + else r = __syscall(sys, a, b, c, d, e, f); + if (r != -ENOSYS) return r; +#ifdef SYS_socketcall + if (cp) r = __syscall_cp(SYS_socketcall, sock, ((long[6]){a, b, c, d, e, f})); + else r = __syscall(SYS_socketcall, sock, ((long[6]){a, b, c, d, e, f})); #endif + return r; +} +#define __socketcall(nm, a, b, c, d, e, f) __alt_socketcall(SYS_##nm, __SC_##nm, 0, \ + (long)(a), (long)(b), (long)(c), (long)(d), (long)(e), (long)(f)) +#define __socketcall_cp(nm, a, b, c, d, e, f) __alt_socketcall(SYS_##nm, __SC_##nm, 1, \ + (long)(a), (long)(b), (long)(c), (long)(d), (long)(e), (long)(f)) /* fixup legacy 16-bit junk */ @@ -338,6 +346,12 @@ hidden long __syscall_ret(unsigned long), #define __SC_recvmmsg 19 #define __SC_sendmmsg 20 +/* This is valid only because all socket syscalls are made via + * socketcall, which always fills unused argument slots with zeros. */ +#ifndef SYS_accept +#define SYS_accept SYS_accept4 +#endif + #ifndef SO_RCVTIMEO_OLD #define SO_RCVTIMEO_OLD 20 #endif diff --git a/lib/libc/musl/src/internal/version.h b/lib/libc/musl/src/internal/version.h index 78b418ff72..b23e8e2963 100644 --- a/lib/libc/musl/src/internal/version.h +++ b/lib/libc/musl/src/internal/version.h @@ -1 +1 @@ -#define VERSION "1.2.1" +#define VERSION "1.2.2" diff --git a/lib/libc/musl/src/ldso/dlerror.c b/lib/libc/musl/src/ldso/dlerror.c index 3fcc777953..afe59253ea 100644 --- a/lib/libc/musl/src/ldso/dlerror.c +++ b/lib/libc/musl/src/ldso/dlerror.c @@ -4,6 +4,12 @@ #include "pthread_impl.h" #include "dynlink.h" #include "lock.h" +#include "fork_impl.h" + +#define malloc __libc_malloc +#define calloc __libc_calloc +#define realloc __libc_realloc +#define free __libc_free char *dlerror() { @@ -19,6 +25,7 @@ char *dlerror() static volatile int freebuf_queue_lock[1]; static void **freebuf_queue; +volatile int *const __dlerror_lockptr = freebuf_queue_lock; void __dl_thread_cleanup(void) { @@ -35,13 +42,16 @@ void __dl_thread_cleanup(void) hidden void __dl_vseterr(const char *fmt, va_list ap) { LOCK(freebuf_queue_lock); - while (freebuf_queue) { - void **p = freebuf_queue; - freebuf_queue = *p; - free(p); - } + void **q = freebuf_queue; + freebuf_queue = 0; UNLOCK(freebuf_queue_lock); + while (q) { + void **p = *q; + free(q); + q = p; + } + va_list ap2; va_copy(ap2, ap); pthread_t self = __pthread_self(); diff --git a/lib/libc/musl/src/legacy/lutimes.c b/lib/libc/musl/src/legacy/lutimes.c index 2e5502d1e3..dd465923ad 100644 --- a/lib/libc/musl/src/legacy/lutimes.c +++ b/lib/libc/musl/src/legacy/lutimes.c @@ -6,9 +6,11 @@ int lutimes(const char *filename, const struct timeval tv[2]) { struct timespec times[2]; - times[0].tv_sec = tv[0].tv_sec; - times[0].tv_nsec = tv[0].tv_usec * 1000; - times[1].tv_sec = tv[1].tv_sec; - times[1].tv_nsec = tv[1].tv_usec * 1000; - return utimensat(AT_FDCWD, filename, times, AT_SYMLINK_NOFOLLOW); + if (tv) { + times[0].tv_sec = tv[0].tv_sec; + times[0].tv_nsec = tv[0].tv_usec * 1000; + times[1].tv_sec = tv[1].tv_sec; + times[1].tv_nsec = tv[1].tv_usec * 1000; + } + return utimensat(AT_FDCWD, filename, tv ? times : 0, AT_SYMLINK_NOFOLLOW); } diff --git a/lib/libc/musl/src/linux/gettid.c b/lib/libc/musl/src/linux/gettid.c new file mode 100644 index 0000000000..70767137e9 --- /dev/null +++ b/lib/libc/musl/src/linux/gettid.c @@ -0,0 +1,8 @@ +#define _GNU_SOURCE +#include +#include "pthread_impl.h" + +pid_t gettid(void) +{ + return __pthread_self()->tid; +} diff --git a/lib/libc/musl/src/linux/membarrier.c b/lib/libc/musl/src/linux/membarrier.c index 9ebe906ed8..343f7360ee 100644 --- a/lib/libc/musl/src/linux/membarrier.c +++ b/lib/libc/musl/src/linux/membarrier.c @@ -9,13 +9,8 @@ static void dummy_0(void) { } -static void dummy_1(pthread_t t) -{ -} - weak_alias(dummy_0, __tl_lock); weak_alias(dummy_0, __tl_unlock); -weak_alias(dummy_1, __tl_sync); static sem_t barrier_sem; diff --git a/lib/libc/musl/src/linux/setgroups.c b/lib/libc/musl/src/linux/setgroups.c index 1248fdbfdc..47142f141f 100644 --- a/lib/libc/musl/src/linux/setgroups.c +++ b/lib/libc/musl/src/linux/setgroups.c @@ -1,8 +1,36 @@ #define _GNU_SOURCE #include +#include #include "syscall.h" +#include "libc.h" + +struct ctx { + size_t count; + const gid_t *list; + int ret; +}; + +static void do_setgroups(void *p) +{ + struct ctx *c = p; + if (c->ret<0) return; + int ret = __syscall(SYS_setgroups, c->count, c->list); + if (ret && !c->ret) { + /* If one thread fails to set groups after another has already + * succeeded, forcibly killing the process is the only safe + * thing to do. State is inconsistent and dangerous. Use + * SIGKILL because it is uncatchable. */ + __block_all_sigs(0); + __syscall(SYS_kill, __syscall(SYS_getpid), SIGKILL); + } + c->ret = ret; +} int setgroups(size_t count, const gid_t list[]) { - return syscall(SYS_setgroups, count, list); + /* ret is initially nonzero so that failure of the first thread does not + * trigger the safety kill above. */ + struct ctx c = { .count = count, .list = list, .ret = 1 }; + __synccall(do_setgroups, &c); + return __syscall_ret(c.ret); } diff --git a/lib/libc/musl/src/locale/dcngettext.c b/lib/libc/musl/src/locale/dcngettext.c index 4c30439389..d1e6c6d13a 100644 --- a/lib/libc/musl/src/locale/dcngettext.c +++ b/lib/libc/musl/src/locale/dcngettext.c @@ -10,6 +10,12 @@ #include "atomic.h" #include "pleval.h" #include "lock.h" +#include "fork_impl.h" + +#define malloc __libc_malloc +#define calloc __libc_calloc +#define realloc undef +#define free undef struct binding { struct binding *next; @@ -34,9 +40,11 @@ static char *gettextdir(const char *domainname, size_t *dirlen) return 0; } +static volatile int lock[1]; +volatile int *const __gettext_lockptr = lock; + char *bindtextdomain(const char *domainname, const char *dirname) { - static volatile int lock[1]; struct binding *p, *q; if (!domainname) return 0; diff --git a/lib/libc/musl/src/locale/freelocale.c b/lib/libc/musl/src/locale/freelocale.c index 802b8bfe1c..385d12069d 100644 --- a/lib/libc/musl/src/locale/freelocale.c +++ b/lib/libc/musl/src/locale/freelocale.c @@ -1,6 +1,11 @@ #include #include "locale_impl.h" +#define malloc undef +#define calloc undef +#define realloc undef +#define free __libc_free + void freelocale(locale_t l) { if (__loc_is_allocated(l)) free(l); diff --git a/lib/libc/musl/src/locale/locale_map.c b/lib/libc/musl/src/locale/locale_map.c index 2321bac0ea..da61f7fc03 100644 --- a/lib/libc/musl/src/locale/locale_map.c +++ b/lib/libc/musl/src/locale/locale_map.c @@ -1,9 +1,16 @@ #include #include #include +#include #include "locale_impl.h" #include "libc.h" #include "lock.h" +#include "fork_impl.h" + +#define malloc __libc_malloc +#define calloc undef +#define realloc undef +#define free undef const char *__lctrans_impl(const char *msg, const struct __locale_map *lm) { @@ -21,9 +28,11 @@ static const char envvars[][12] = { "LC_MESSAGES", }; +volatile int __locale_lock[1]; +volatile int *const __locale_lockptr = __locale_lock; + const struct __locale_map *__get_locale(int cat, const char *val) { - static volatile int lock[1]; static void *volatile loc_head; const struct __locale_map *p; struct __locale_map *new = 0; @@ -54,20 +63,12 @@ const struct __locale_map *__get_locale(int cat, const char *val) for (p=loc_head; p; p=p->next) if (!strcmp(val, p->name)) return p; - LOCK(lock); - - for (p=loc_head; p; p=p->next) - if (!strcmp(val, p->name)) { - UNLOCK(lock); - return p; - } - if (!libc.secure) path = getenv("MUSL_LOCPATH"); /* FIXME: add a default path? */ if (path) for (; *path; path=z+!!*z) { z = __strchrnul(path, ':'); - l = z - path - !!*z; + l = z - path; if (l >= sizeof buf - n - 2) continue; memcpy(buf, path, l); buf[l] = '/'; @@ -108,6 +109,5 @@ const struct __locale_map *__get_locale(int cat, const char *val) * requested name was "C" or "POSIX". */ if (!new && cat == LC_CTYPE) new = (void *)&__c_dot_utf8; - UNLOCK(lock); return new; } diff --git a/lib/libc/musl/src/locale/newlocale.c b/lib/libc/musl/src/locale/newlocale.c index d20a848983..9ac3cd386f 100644 --- a/lib/libc/musl/src/locale/newlocale.c +++ b/lib/libc/musl/src/locale/newlocale.c @@ -2,24 +2,23 @@ #include #include #include "locale_impl.h" +#include "lock.h" -static pthread_once_t default_locale_once; +#define malloc __libc_malloc +#define calloc undef +#define realloc undef +#define free undef + +static int default_locale_init_done; static struct __locale_struct default_locale, default_ctype_locale; -static void default_locale_init(void) -{ - for (int i=0; i LC_ALL) return 0; - LOCK(lock); + LOCK(__locale_lock); /* For LC_ALL, setlocale is required to return a string which * encodes the current setting for all categories. The format of @@ -36,7 +35,7 @@ char *setlocale(int cat, const char *name) } lm = __get_locale(i, part); if (lm == LOC_MAP_FAILED) { - UNLOCK(lock); + UNLOCK(__locale_lock); return 0; } tmp_locale.cat[i] = lm; @@ -57,14 +56,14 @@ char *setlocale(int cat, const char *name) s += l+1; } *--s = 0; - UNLOCK(lock); + UNLOCK(__locale_lock); return same==LC_ALL ? (char *)part : buf; } if (name) { lm = __get_locale(cat, name); if (lm == LOC_MAP_FAILED) { - UNLOCK(lock); + UNLOCK(__locale_lock); return 0; } libc.global_locale.cat[cat] = lm; @@ -73,7 +72,7 @@ char *setlocale(int cat, const char *name) } char *ret = lm ? (char *)lm->name : "C"; - UNLOCK(lock); + UNLOCK(__locale_lock); return ret; } diff --git a/lib/libc/musl/src/malloc/free.c b/lib/libc/musl/src/malloc/free.c new file mode 100644 index 0000000000..f17a952cb4 --- /dev/null +++ b/lib/libc/musl/src/malloc/free.c @@ -0,0 +1,6 @@ +#include + +void free(void *p) +{ + return __libc_free(p); +} diff --git a/lib/libc/musl/src/malloc/libc_calloc.c b/lib/libc/musl/src/malloc/libc_calloc.c new file mode 100644 index 0000000000..d25eabea47 --- /dev/null +++ b/lib/libc/musl/src/malloc/libc_calloc.c @@ -0,0 +1,4 @@ +#define calloc __libc_calloc +#define malloc __libc_malloc + +#include "calloc.c" diff --git a/lib/libc/musl/src/malloc/lite_malloc.c b/lib/libc/musl/src/malloc/lite_malloc.c index f8931ba597..43a988fbb8 100644 --- a/lib/libc/musl/src/malloc/lite_malloc.c +++ b/lib/libc/musl/src/malloc/lite_malloc.c @@ -6,6 +6,7 @@ #include "libc.h" #include "lock.h" #include "syscall.h" +#include "fork_impl.h" #define ALIGN 16 @@ -31,10 +32,12 @@ static int traverses_stack_p(uintptr_t old, uintptr_t new) return 0; } +static volatile int lock[1]; +volatile int *const __bump_lockptr = lock; + static void *__simple_malloc(size_t n) { static uintptr_t brk, cur, end; - static volatile int lock[1]; static unsigned mmap_step; size_t align=1; void *p; @@ -100,4 +103,16 @@ static void *__simple_malloc(size_t n) return p; } -weak_alias(__simple_malloc, malloc); +weak_alias(__simple_malloc, __libc_malloc_impl); + +void *__libc_malloc(size_t n) +{ + return __libc_malloc_impl(n); +} + +static void *default_malloc(size_t n) +{ + return __libc_malloc_impl(n); +} + +weak_alias(default_malloc, malloc); diff --git a/lib/libc/musl/src/malloc/mallocng/glue.h b/lib/libc/musl/src/malloc/mallocng/glue.h index 16acd1ea3b..151c48b804 100644 --- a/lib/libc/musl/src/malloc/mallocng/glue.h +++ b/lib/libc/musl/src/malloc/mallocng/glue.h @@ -20,6 +20,10 @@ #define is_allzero __malloc_allzerop #define dump_heap __dump_heap +#define malloc __libc_malloc_impl +#define realloc __libc_realloc +#define free __libc_free + #if USE_REAL_ASSERT #include #else @@ -56,7 +60,8 @@ __attribute__((__visibility__("hidden"))) extern int __malloc_lock[1]; #define LOCK_OBJ_DEF \ -int __malloc_lock[1]; +int __malloc_lock[1]; \ +void __malloc_atfork(int who) { malloc_atfork(who); } static inline void rdlock() { @@ -73,5 +78,16 @@ static inline void unlock() static inline void upgradelock() { } +static inline void resetlock() +{ + __malloc_lock[0] = 0; +} + +static inline void malloc_atfork(int who) +{ + if (who<0) rdlock(); + else if (who>0) resetlock(); + else unlock(); +} #endif diff --git a/lib/libc/musl/src/malloc/mallocng/malloc_usable_size.c b/lib/libc/musl/src/malloc/mallocng/malloc_usable_size.c index a440a4eab2..ce6a960c6f 100644 --- a/lib/libc/musl/src/malloc/mallocng/malloc_usable_size.c +++ b/lib/libc/musl/src/malloc/mallocng/malloc_usable_size.c @@ -3,6 +3,7 @@ size_t malloc_usable_size(void *p) { + if (!p) return 0; struct meta *g = get_meta(p); int idx = get_slot_index(p); size_t stride = get_stride(g); diff --git a/lib/libc/musl/src/malloc/oldmalloc/aligned_alloc.c b/lib/libc/musl/src/malloc/oldmalloc/aligned_alloc.c new file mode 100644 index 0000000000..4adca3b4f6 --- /dev/null +++ b/lib/libc/musl/src/malloc/oldmalloc/aligned_alloc.c @@ -0,0 +1,53 @@ +#include +#include +#include +#include "malloc_impl.h" + +void *aligned_alloc(size_t align, size_t len) +{ + unsigned char *mem, *new; + + if ((align & -align) != align) { + errno = EINVAL; + return 0; + } + + if (len > SIZE_MAX - align || + (__malloc_replaced && !__aligned_alloc_replaced)) { + errno = ENOMEM; + return 0; + } + + if (align <= SIZE_ALIGN) + return malloc(len); + + if (!(mem = malloc(len + align-1))) + return 0; + + new = (void *)((uintptr_t)mem + align-1 & -align); + if (new == mem) return mem; + + struct chunk *c = MEM_TO_CHUNK(mem); + struct chunk *n = MEM_TO_CHUNK(new); + + if (IS_MMAPPED(c)) { + /* Apply difference between aligned and original + * address to the "extra" field of mmapped chunk. */ + n->psize = c->psize + (new-mem); + n->csize = c->csize - (new-mem); + return new; + } + + struct chunk *t = NEXT_CHUNK(c); + + /* Split the allocated chunk into two chunks. The aligned part + * that will be used has the size in its footer reduced by the + * difference between the aligned and original addresses, and + * the resulting size copied to its header. A new header and + * footer are written for the split-off part to be freed. */ + n->psize = c->csize = C_INUSE | (new-mem); + n->csize = t->psize -= new-mem; + + __bin_chunk(c); + return new; +} diff --git a/lib/libc/musl/src/malloc/oldmalloc/malloc.c b/lib/libc/musl/src/malloc/oldmalloc/malloc.c new file mode 100644 index 0000000000..53f5f959ec --- /dev/null +++ b/lib/libc/musl/src/malloc/oldmalloc/malloc.c @@ -0,0 +1,552 @@ +#define _GNU_SOURCE +#include +#include +#include +#include +#include +#include +#include "libc.h" +#include "atomic.h" +#include "pthread_impl.h" +#include "malloc_impl.h" +#include "fork_impl.h" + +#define malloc __libc_malloc +#define realloc __libc_realloc +#define free __libc_free + +#if defined(__GNUC__) && defined(__PIC__) +#define inline inline __attribute__((always_inline)) +#endif + +static struct { + volatile uint64_t binmap; + struct bin bins[64]; + volatile int split_merge_lock[2]; +} mal; + +/* Synchronization tools */ + +static inline void lock(volatile int *lk) +{ + int need_locks = libc.need_locks; + if (need_locks) { + while(a_swap(lk, 1)) __wait(lk, lk+1, 1, 1); + if (need_locks < 0) libc.need_locks = 0; + } +} + +static inline void unlock(volatile int *lk) +{ + if (lk[0]) { + a_store(lk, 0); + if (lk[1]) __wake(lk, 1, 1); + } +} + +static inline void lock_bin(int i) +{ + lock(mal.bins[i].lock); + if (!mal.bins[i].head) + mal.bins[i].head = mal.bins[i].tail = BIN_TO_CHUNK(i); +} + +static inline void unlock_bin(int i) +{ + unlock(mal.bins[i].lock); +} + +static int first_set(uint64_t x) +{ +#if 1 + return a_ctz_64(x); +#else + static const char debruijn64[64] = { + 0, 1, 2, 53, 3, 7, 54, 27, 4, 38, 41, 8, 34, 55, 48, 28, + 62, 5, 39, 46, 44, 42, 22, 9, 24, 35, 59, 56, 49, 18, 29, 11, + 63, 52, 6, 26, 37, 40, 33, 47, 61, 45, 43, 21, 23, 58, 17, 10, + 51, 25, 36, 32, 60, 20, 57, 16, 50, 31, 19, 15, 30, 14, 13, 12 + }; + static const char debruijn32[32] = { + 0, 1, 23, 2, 29, 24, 19, 3, 30, 27, 25, 11, 20, 8, 4, 13, + 31, 22, 28, 18, 26, 10, 7, 12, 21, 17, 9, 6, 16, 5, 15, 14 + }; + if (sizeof(long) < 8) { + uint32_t y = x; + if (!y) { + y = x>>32; + return 32 + debruijn32[(y&-y)*0x076be629 >> 27]; + } + return debruijn32[(y&-y)*0x076be629 >> 27]; + } + return debruijn64[(x&-x)*0x022fdd63cc95386dull >> 58]; +#endif +} + +static const unsigned char bin_tab[60] = { + 32,33,34,35,36,36,37,37,38,38,39,39, + 40,40,40,40,41,41,41,41,42,42,42,42,43,43,43,43, + 44,44,44,44,44,44,44,44,45,45,45,45,45,45,45,45, + 46,46,46,46,46,46,46,46,47,47,47,47,47,47,47,47, +}; + +static int bin_index(size_t x) +{ + x = x / SIZE_ALIGN - 1; + if (x <= 32) return x; + if (x < 512) return bin_tab[x/8-4]; + if (x > 0x1c00) return 63; + return bin_tab[x/128-4] + 16; +} + +static int bin_index_up(size_t x) +{ + x = x / SIZE_ALIGN - 1; + if (x <= 32) return x; + x--; + if (x < 512) return bin_tab[x/8-4] + 1; + return bin_tab[x/128-4] + 17; +} + +#if 0 +void __dump_heap(int x) +{ + struct chunk *c; + int i; + for (c = (void *)mal.heap; CHUNK_SIZE(c); c = NEXT_CHUNK(c)) + fprintf(stderr, "base %p size %zu (%d) flags %d/%d\n", + c, CHUNK_SIZE(c), bin_index(CHUNK_SIZE(c)), + c->csize & 15, + NEXT_CHUNK(c)->psize & 15); + for (i=0; i<64; i++) { + if (mal.bins[i].head != BIN_TO_CHUNK(i) && mal.bins[i].head) { + fprintf(stderr, "bin %d: %p\n", i, mal.bins[i].head); + if (!(mal.binmap & 1ULL< len ? b-len : 0; + if (new>a && old len ? b-len : 0; + if (new>a && old SIZE_MAX/2 - PAGE_SIZE) { + errno = ENOMEM; + return 0; + } + n += -n & PAGE_SIZE-1; + + if (!brk) { + brk = __syscall(SYS_brk, 0); + brk += -brk & PAGE_SIZE-1; + } + + if (n < SIZE_MAX-brk && !traverses_stack_p(brk, brk+n) + && __syscall(SYS_brk, brk+n)==brk+n) { + *pn = n; + brk += n; + return (void *)(brk-n); + } + + size_t min = (size_t)PAGE_SIZE << mmap_step/2; + if (n < min) n = min; + void *area = __mmap(0, n, PROT_READ|PROT_WRITE, + MAP_PRIVATE|MAP_ANONYMOUS, -1, 0); + if (area == MAP_FAILED) return 0; + *pn = n; + mmap_step++; + return area; +} + +static struct chunk *expand_heap(size_t n) +{ + static void *end; + void *p; + struct chunk *w; + + /* The argument n already accounts for the caller's chunk + * overhead needs, but if the heap can't be extended in-place, + * we need room for an extra zero-sized sentinel chunk. */ + n += SIZE_ALIGN; + + p = __expand_heap(&n); + if (!p) return 0; + + /* If not just expanding existing space, we need to make a + * new sentinel chunk below the allocated space. */ + if (p != end) { + /* Valid/safe because of the prologue increment. */ + n -= SIZE_ALIGN; + p = (char *)p + SIZE_ALIGN; + w = MEM_TO_CHUNK(p); + w->psize = 0 | C_INUSE; + } + + /* Record new heap end and fill in footer. */ + end = (char *)p + n; + w = MEM_TO_CHUNK(end); + w->psize = n | C_INUSE; + w->csize = 0 | C_INUSE; + + /* Fill in header, which may be new or may be replacing a + * zero-size sentinel header at the old end-of-heap. */ + w = MEM_TO_CHUNK(p); + w->csize = n | C_INUSE; + + return w; +} + +static int adjust_size(size_t *n) +{ + /* Result of pointer difference must fit in ptrdiff_t. */ + if (*n-1 > PTRDIFF_MAX - SIZE_ALIGN - PAGE_SIZE) { + if (*n) { + errno = ENOMEM; + return -1; + } else { + *n = SIZE_ALIGN; + return 0; + } + } + *n = (*n + OVERHEAD + SIZE_ALIGN - 1) & SIZE_MASK; + return 0; +} + +static void unbin(struct chunk *c, int i) +{ + if (c->prev == c->next) + a_and_64(&mal.binmap, ~(1ULL<prev->next = c->next; + c->next->prev = c->prev; + c->csize |= C_INUSE; + NEXT_CHUNK(c)->psize |= C_INUSE; +} + +static void bin_chunk(struct chunk *self, int i) +{ + self->next = BIN_TO_CHUNK(i); + self->prev = mal.bins[i].tail; + self->next->prev = self; + self->prev->next = self; + if (self->prev == BIN_TO_CHUNK(i)) + a_or_64(&mal.binmap, 1ULL<= n1 - DONTCARE) return; + + next = NEXT_CHUNK(self); + split = (void *)((char *)self + n); + + split->psize = n | C_INUSE; + split->csize = n1-n; + next->psize = n1-n; + self->csize = n | C_INUSE; + + int i = bin_index(n1-n); + lock_bin(i); + + bin_chunk(split, i); + + unlock_bin(i); +} + +void *malloc(size_t n) +{ + struct chunk *c; + int i, j; + uint64_t mask; + + if (adjust_size(&n) < 0) return 0; + + if (n > MMAP_THRESHOLD) { + size_t len = n + OVERHEAD + PAGE_SIZE - 1 & -PAGE_SIZE; + char *base = __mmap(0, len, PROT_READ|PROT_WRITE, + MAP_PRIVATE|MAP_ANONYMOUS, -1, 0); + if (base == (void *)-1) return 0; + c = (void *)(base + SIZE_ALIGN - OVERHEAD); + c->csize = len - (SIZE_ALIGN - OVERHEAD); + c->psize = SIZE_ALIGN - OVERHEAD; + return CHUNK_TO_MEM(c); + } + + i = bin_index_up(n); + if (i<63 && (mal.binmap & (1ULL<psize; + char *base = (char *)self - extra; + size_t oldlen = n0 + extra; + size_t newlen = n + extra; + /* Crash on realloc of freed chunk */ + if (extra & 1) a_crash(); + if (newlen < PAGE_SIZE && (new = malloc(n-OVERHEAD))) { + n0 = n; + goto copy_free_ret; + } + newlen = (newlen + PAGE_SIZE-1) & -PAGE_SIZE; + if (oldlen == newlen) return p; + base = __mremap(base, oldlen, newlen, MREMAP_MAYMOVE); + if (base == (void *)-1) + goto copy_realloc; + self = (void *)(base + extra); + self->csize = newlen - extra; + return CHUNK_TO_MEM(self); + } + + next = NEXT_CHUNK(self); + + /* Crash on corrupted footer (likely from buffer overflow) */ + if (next->psize != self->csize) a_crash(); + + if (n < n0) { + int i = bin_index_up(n); + int j = bin_index(n0); + if (icsize = split->psize = n | C_INUSE; + split->csize = next->psize = n0-n | C_INUSE; + __bin_chunk(split); + return CHUNK_TO_MEM(self); + } + + lock(mal.split_merge_lock); + + size_t nsize = next->csize & C_INUSE ? 0 : CHUNK_SIZE(next); + if (n0+nsize >= n) { + int i = bin_index(nsize); + lock_bin(i); + if (!(next->csize & C_INUSE)) { + unbin(next, i); + unlock_bin(i); + next = NEXT_CHUNK(next); + self->csize = next->psize = n0+nsize | C_INUSE; + trim(self, n); + unlock(mal.split_merge_lock); + return CHUNK_TO_MEM(self); + } + unlock_bin(i); + } + unlock(mal.split_merge_lock); + +copy_realloc: + /* As a last resort, allocate a new chunk and copy to it. */ + new = malloc(n-OVERHEAD); + if (!new) return 0; +copy_free_ret: + memcpy(new, p, (npsize != self->csize) a_crash(); + + lock(mal.split_merge_lock); + + size_t osize = CHUNK_SIZE(self), size = osize; + + /* Since we hold split_merge_lock, only transition from free to + * in-use can race; in-use to free is impossible */ + size_t psize = self->psize & C_INUSE ? 0 : CHUNK_PSIZE(self); + size_t nsize = next->csize & C_INUSE ? 0 : CHUNK_SIZE(next); + + if (psize) { + int i = bin_index(psize); + lock_bin(i); + if (!(self->psize & C_INUSE)) { + struct chunk *prev = PREV_CHUNK(self); + unbin(prev, i); + self = prev; + size += psize; + } + unlock_bin(i); + } + if (nsize) { + int i = bin_index(nsize); + lock_bin(i); + if (!(next->csize & C_INUSE)) { + unbin(next, i); + next = NEXT_CHUNK(next); + size += nsize; + } + unlock_bin(i); + } + + int i = bin_index(size); + lock_bin(i); + + self->csize = size; + next->psize = size; + bin_chunk(self, i); + unlock(mal.split_merge_lock); + + /* Replace middle of large chunks with fresh zero pages */ + if (size > RECLAIM && (size^(size-osize)) > size-osize) { + uintptr_t a = (uintptr_t)self + SIZE_ALIGN+PAGE_SIZE-1 & -PAGE_SIZE; + uintptr_t b = (uintptr_t)next - SIZE_ALIGN & -PAGE_SIZE; +#if 1 + __madvise((void *)a, b-a, MADV_DONTNEED); +#else + __mmap((void *)a, b-a, PROT_READ|PROT_WRITE, + MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED, -1, 0); +#endif + } + + unlock_bin(i); +} + +static void unmap_chunk(struct chunk *self) +{ + size_t extra = self->psize; + char *base = (char *)self - extra; + size_t len = CHUNK_SIZE(self) + extra; + /* Crash on double free */ + if (extra & 1) a_crash(); + __munmap(base, len); +} + +void free(void *p) +{ + if (!p) return; + + struct chunk *self = MEM_TO_CHUNK(p); + + if (IS_MMAPPED(self)) + unmap_chunk(self); + else + __bin_chunk(self); +} + +void __malloc_donate(char *start, char *end) +{ + size_t align_start_up = (SIZE_ALIGN-1) & (-(uintptr_t)start - OVERHEAD); + size_t align_end_down = (SIZE_ALIGN-1) & (uintptr_t)end; + + /* Getting past this condition ensures that the padding for alignment + * and header overhead will not overflow and will leave a nonzero + * multiple of SIZE_ALIGN bytes between start and end. */ + if (end - start <= OVERHEAD + align_start_up + align_end_down) + return; + start += align_start_up + OVERHEAD; + end -= align_end_down; + + struct chunk *c = MEM_TO_CHUNK(start), *n = MEM_TO_CHUNK(end); + c->psize = n->csize = C_INUSE; + c->csize = n->psize = C_INUSE | (end-start); + __bin_chunk(c); +} + +void __malloc_atfork(int who) +{ + if (who<0) { + lock(mal.split_merge_lock); + for (int i=0; i<64; i++) + lock(mal.bins[i].lock); + } else if (!who) { + for (int i=0; i<64; i++) + unlock(mal.bins[i].lock); + unlock(mal.split_merge_lock); + } else { + for (int i=0; i<64; i++) + mal.bins[i].lock[0] = mal.bins[i].lock[1] = 0; + mal.split_merge_lock[1] = 0; + mal.split_merge_lock[0] = 0; + } +} diff --git a/lib/libc/musl/src/malloc/oldmalloc/malloc_impl.h b/lib/libc/musl/src/malloc/oldmalloc/malloc_impl.h new file mode 100644 index 0000000000..e1cf4774c1 --- /dev/null +++ b/lib/libc/musl/src/malloc/oldmalloc/malloc_impl.h @@ -0,0 +1,39 @@ +#ifndef MALLOC_IMPL_H +#define MALLOC_IMPL_H + +#include +#include "dynlink.h" + +struct chunk { + size_t psize, csize; + struct chunk *next, *prev; +}; + +struct bin { + volatile int lock[2]; + struct chunk *head; + struct chunk *tail; +}; + +#define SIZE_ALIGN (4*sizeof(size_t)) +#define SIZE_MASK (-SIZE_ALIGN) +#define OVERHEAD (2*sizeof(size_t)) +#define MMAP_THRESHOLD (0x1c00*SIZE_ALIGN) +#define DONTCARE 16 +#define RECLAIM 163840 + +#define CHUNK_SIZE(c) ((c)->csize & -2) +#define CHUNK_PSIZE(c) ((c)->psize & -2) +#define PREV_CHUNK(c) ((struct chunk *)((char *)(c) - CHUNK_PSIZE(c))) +#define NEXT_CHUNK(c) ((struct chunk *)((char *)(c) + CHUNK_SIZE(c))) +#define MEM_TO_CHUNK(p) (struct chunk *)((char *)(p) - OVERHEAD) +#define CHUNK_TO_MEM(c) (void *)((char *)(c) + OVERHEAD) +#define BIN_TO_CHUNK(i) (MEM_TO_CHUNK(&mal.bins[i].head)) + +#define C_INUSE ((size_t)1) + +#define IS_MMAPPED(c) !((c)->csize & (C_INUSE)) + +hidden void __bin_chunk(struct chunk *); + +#endif diff --git a/lib/libc/musl/src/malloc/oldmalloc/malloc_usable_size.c b/lib/libc/musl/src/malloc/oldmalloc/malloc_usable_size.c new file mode 100644 index 0000000000..672b518ad0 --- /dev/null +++ b/lib/libc/musl/src/malloc/oldmalloc/malloc_usable_size.c @@ -0,0 +1,9 @@ +#include +#include "malloc_impl.h" + +hidden void *(*const __realloc_dep)(void *, size_t) = realloc; + +size_t malloc_usable_size(void *p) +{ + return p ? CHUNK_SIZE(MEM_TO_CHUNK(p)) - OVERHEAD : 0; +} diff --git a/lib/libc/musl/src/malloc/realloc.c b/lib/libc/musl/src/malloc/realloc.c new file mode 100644 index 0000000000..fb0e8b7c47 --- /dev/null +++ b/lib/libc/musl/src/malloc/realloc.c @@ -0,0 +1,6 @@ +#include + +void *realloc(void *p, size_t n) +{ + return __libc_realloc(p, n); +} diff --git a/lib/libc/musl/src/malloc/reallocarray.c b/lib/libc/musl/src/malloc/reallocarray.c new file mode 100644 index 0000000000..4a6ebe4604 --- /dev/null +++ b/lib/libc/musl/src/malloc/reallocarray.c @@ -0,0 +1,13 @@ +#define _BSD_SOURCE +#include +#include + +void *reallocarray(void *ptr, size_t m, size_t n) +{ + if (n && m > -1 / n) { + errno = ENOMEM; + return 0; + } + + return realloc(ptr, m * n); +} diff --git a/lib/libc/musl/src/math/__math_invalidl.c b/lib/libc/musl/src/math/__math_invalidl.c new file mode 100644 index 0000000000..1fca99de4f --- /dev/null +++ b/lib/libc/musl/src/math/__math_invalidl.c @@ -0,0 +1,9 @@ +#include +#include "libm.h" + +#if LDBL_MANT_DIG != DBL_MANT_DIG +long double __math_invalidl(long double x) +{ + return (x - x) / (x - x); +} +#endif diff --git a/lib/libc/musl/src/math/arm/fabs.c b/lib/libc/musl/src/math/arm/fabs.c index f890520a5c..6e1d367d3d 100644 --- a/lib/libc/musl/src/math/arm/fabs.c +++ b/lib/libc/musl/src/math/arm/fabs.c @@ -1,6 +1,6 @@ #include -#if __ARM_PCS_VFP +#if __ARM_PCS_VFP && __ARM_FP&8 double fabs(double x) { diff --git a/lib/libc/musl/src/math/arm/sqrt.c b/lib/libc/musl/src/math/arm/sqrt.c index 874af9606c..567e2e9101 100644 --- a/lib/libc/musl/src/math/arm/sqrt.c +++ b/lib/libc/musl/src/math/arm/sqrt.c @@ -1,6 +1,6 @@ #include -#if __ARM_PCS_VFP || (__VFP_FP__ && !__SOFTFP__) +#if (__ARM_PCS_VFP || (__VFP_FP__ && !__SOFTFP__)) && (__ARM_FP&8) double sqrt(double x) { diff --git a/lib/libc/musl/src/math/sqrt.c b/lib/libc/musl/src/math/sqrt.c index f1f6d76c78..5ba2655962 100644 --- a/lib/libc/musl/src/math/sqrt.c +++ b/lib/libc/musl/src/math/sqrt.c @@ -1,184 +1,158 @@ -/* origin: FreeBSD /usr/src/lib/msun/src/e_sqrt.c */ -/* - * ==================================================== - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. - * - * Developed at SunSoft, a Sun Microsystems, Inc. business. - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - */ -/* sqrt(x) - * Return correctly rounded sqrt. - * ------------------------------------------ - * | Use the hardware sqrt if you have one | - * ------------------------------------------ - * Method: - * Bit by bit method using integer arithmetic. (Slow, but portable) - * 1. Normalization - * Scale x to y in [1,4) with even powers of 2: - * find an integer k such that 1 <= (y=x*2^(2k)) < 4, then - * sqrt(x) = 2^k * sqrt(y) - * 2. Bit by bit computation - * Let q = sqrt(y) truncated to i bit after binary point (q = 1), - * i 0 - * i+1 2 - * s = 2*q , and y = 2 * ( y - q ). (1) - * i i i i - * - * To compute q from q , one checks whether - * i+1 i - * - * -(i+1) 2 - * (q + 2 ) <= y. (2) - * i - * -(i+1) - * If (2) is false, then q = q ; otherwise q = q + 2 . - * i+1 i i+1 i - * - * With some algebric manipulation, it is not difficult to see - * that (2) is equivalent to - * -(i+1) - * s + 2 <= y (3) - * i i - * - * The advantage of (3) is that s and y can be computed by - * i i - * the following recurrence formula: - * if (3) is false - * - * s = s , y = y ; (4) - * i+1 i i+1 i - * - * otherwise, - * -i -(i+1) - * s = s + 2 , y = y - s - 2 (5) - * i+1 i i+1 i i - * - * One may easily use induction to prove (4) and (5). - * Note. Since the left hand side of (3) contain only i+2 bits, - * it does not necessary to do a full (53-bit) comparison - * in (3). - * 3. Final rounding - * After generating the 53 bits result, we compute one more bit. - * Together with the remainder, we can decide whether the - * result is exact, bigger than 1/2ulp, or less than 1/2ulp - * (it will never equal to 1/2ulp). - * The rounding mode can be detected by checking whether - * huge + tiny is equal to huge, and whether huge - tiny is - * equal to huge for some floating point number "huge" and "tiny". - * - * Special cases: - * sqrt(+-0) = +-0 ... exact - * sqrt(inf) = inf - * sqrt(-ve) = NaN ... with invalid signal - * sqrt(NaN) = NaN ... with invalid signal for signaling NaN - */ - +#include +#include #include "libm.h" +#include "sqrt_data.h" -static const double tiny = 1.0e-300; +#define FENV_SUPPORT 1 + +/* returns a*b*2^-32 - e, with error 0 <= e < 1. */ +static inline uint32_t mul32(uint32_t a, uint32_t b) +{ + return (uint64_t)a*b >> 32; +} + +/* returns a*b*2^-64 - e, with error 0 <= e < 3. */ +static inline uint64_t mul64(uint64_t a, uint64_t b) +{ + uint64_t ahi = a>>32; + uint64_t alo = a&0xffffffff; + uint64_t bhi = b>>32; + uint64_t blo = b&0xffffffff; + return ahi*bhi + (ahi*blo >> 32) + (alo*bhi >> 32); +} double sqrt(double x) { - double z; - int32_t sign = (int)0x80000000; - int32_t ix0,s0,q,m,t,i; - uint32_t r,t1,s1,ix1,q1; + uint64_t ix, top, m; - EXTRACT_WORDS(ix0, ix1, x); - - /* take care of Inf and NaN */ - if ((ix0&0x7ff00000) == 0x7ff00000) { - return x*x + x; /* sqrt(NaN)=NaN, sqrt(+inf)=+inf, sqrt(-inf)=sNaN */ - } - /* take care of zero */ - if (ix0 <= 0) { - if (((ix0&~sign)|ix1) == 0) - return x; /* sqrt(+-0) = +-0 */ - if (ix0 < 0) - return (x-x)/(x-x); /* sqrt(-ve) = sNaN */ - } - /* normalize x */ - m = ix0>>20; - if (m == 0) { /* subnormal x */ - while (ix0 == 0) { - m -= 21; - ix0 |= (ix1>>11); - ix1 <<= 21; - } - for (i=0; (ix0&0x00100000) == 0; i++) - ix0<<=1; - m -= i - 1; - ix0 |= ix1>>(32-i); - ix1 <<= i; - } - m -= 1023; /* unbias exponent */ - ix0 = (ix0&0x000fffff)|0x00100000; - if (m & 1) { /* odd m, double x to make it even */ - ix0 += ix0 + ((ix1&sign)>>31); - ix1 += ix1; - } - m >>= 1; /* m = [m/2] */ - - /* generate sqrt(x) bit by bit */ - ix0 += ix0 + ((ix1&sign)>>31); - ix1 += ix1; - q = q1 = s0 = s1 = 0; /* [q,q1] = sqrt(x) */ - r = 0x00200000; /* r = moving bit from right to left */ - - while (r != 0) { - t = s0 + r; - if (t <= ix0) { - s0 = t + r; - ix0 -= t; - q += r; - } - ix0 += ix0 + ((ix1&sign)>>31); - ix1 += ix1; - r >>= 1; + /* special case handling. */ + ix = asuint64(x); + top = ix >> 52; + if (predict_false(top - 0x001 >= 0x7ff - 0x001)) { + /* x < 0x1p-1022 or inf or nan. */ + if (ix * 2 == 0) + return x; + if (ix == 0x7ff0000000000000) + return x; + if (ix > 0x7ff0000000000000) + return __math_invalid(x); + /* x is subnormal, normalize it. */ + ix = asuint64(x * 0x1p52); + top = ix >> 52; + top -= 52; } - r = sign; - while (r != 0) { - t1 = s1 + r; - t = s0; - if (t < ix0 || (t == ix0 && t1 <= ix1)) { - s1 = t1 + r; - if ((t1&sign) == sign && (s1&sign) == 0) - s0++; - ix0 -= t; - if (ix1 < t1) - ix0--; - ix1 -= t1; - q1 += r; - } - ix0 += ix0 + ((ix1&sign)>>31); - ix1 += ix1; - r >>= 1; - } + /* argument reduction: + x = 4^e m; with integer e, and m in [1, 4) + m: fixed point representation [2.62] + 2^e is the exponent part of the result. */ + int even = top & 1; + m = (ix << 11) | 0x8000000000000000; + if (even) m >>= 1; + top = (top + 0x3ff) >> 1; - /* use floating add to find out rounding direction */ - if ((ix0|ix1) != 0) { - z = 1.0 - tiny; /* raise inexact flag */ - if (z >= 1.0) { - z = 1.0 + tiny; - if (q1 == (uint32_t)0xffffffff) { - q1 = 0; - q++; - } else if (z > 1.0) { - if (q1 == (uint32_t)0xfffffffe) - q++; - q1 += 2; - } else - q1 += q1 & 1; - } + /* approximate r ~ 1/sqrt(m) and s ~ sqrt(m) when m in [1,4) + + initial estimate: + 7bit table lookup (1bit exponent and 6bit significand). + + iterative approximation: + using 2 goldschmidt iterations with 32bit int arithmetics + and a final iteration with 64bit int arithmetics. + + details: + + the relative error (e = r0 sqrt(m)-1) of a linear estimate + (r0 = a m + b) is |e| < 0.085955 ~ 0x1.6p-4 at best, + a table lookup is faster and needs one less iteration + 6 bit lookup table (128b) gives |e| < 0x1.f9p-8 + 7 bit lookup table (256b) gives |e| < 0x1.fdp-9 + for single and double prec 6bit is enough but for quad + prec 7bit is needed (or modified iterations). to avoid + one more iteration >=13bit table would be needed (16k). + + a newton-raphson iteration for r is + w = r*r + u = 3 - m*w + r = r*u/2 + can use a goldschmidt iteration for s at the end or + s = m*r + + first goldschmidt iteration is + s = m*r + u = 3 - s*r + r = r*u/2 + s = s*u/2 + next goldschmidt iteration is + u = 3 - s*r + r = r*u/2 + s = s*u/2 + and at the end r is not computed only s. + + they use the same amount of operations and converge at the + same quadratic rate, i.e. if + r1 sqrt(m) - 1 = e, then + r2 sqrt(m) - 1 = -3/2 e^2 - 1/2 e^3 + the advantage of goldschmidt is that the mul for s and r + are independent (computed in parallel), however it is not + "self synchronizing": it only uses the input m in the + first iteration so rounding errors accumulate. at the end + or when switching to larger precision arithmetics rounding + errors dominate so the first iteration should be used. + + the fixed point representations are + m: 2.30 r: 0.32, s: 2.30, d: 2.30, u: 2.30, three: 2.30 + and after switching to 64 bit + m: 2.62 r: 0.64, s: 2.62, d: 2.62, u: 2.62, three: 2.62 */ + + static const uint64_t three = 0xc0000000; + uint64_t r, s, d, u, i; + + i = (ix >> 46) % 128; + r = (uint32_t)__rsqrt_tab[i] << 16; + /* |r sqrt(m) - 1| < 0x1.fdp-9 */ + s = mul32(m>>32, r); + /* |s/sqrt(m) - 1| < 0x1.fdp-9 */ + d = mul32(s, r); + u = three - d; + r = mul32(r, u) << 1; + /* |r sqrt(m) - 1| < 0x1.7bp-16 */ + s = mul32(s, u) << 1; + /* |s/sqrt(m) - 1| < 0x1.7bp-16 */ + d = mul32(s, r); + u = three - d; + r = mul32(r, u) << 1; + /* |r sqrt(m) - 1| < 0x1.3704p-29 (measured worst-case) */ + r = r << 32; + s = mul64(m, r); + d = mul64(s, r); + u = (three<<32) - d; + s = mul64(s, u); /* repr: 3.61 */ + /* -0x1p-57 < s - sqrt(m) < 0x1.8001p-61 */ + s = (s - 2) >> 9; /* repr: 12.52 */ + /* -0x1.09p-52 < s - sqrt(m) < -0x1.fffcp-63 */ + + /* s < sqrt(m) < s + 0x1.09p-52, + compute nearest rounded result: + the nearest result to 52 bits is either s or s+0x1p-52, + we can decide by comparing (2^52 s + 0.5)^2 to 2^104 m. */ + uint64_t d0, d1, d2; + double y, t; + d0 = (m << 42) - s*s; + d1 = s - d0; + d2 = d1 + s + 1; + s += d1 >> 63; + s &= 0x000fffffffffffff; + s |= top << 52; + y = asdouble(s); + if (FENV_SUPPORT) { + /* handle rounding modes and inexact exception: + only (s+1)^2 == 2^42 m case is exact otherwise + add a tiny value to cause the fenv effects. */ + uint64_t tiny = predict_false(d2==0) ? 0 : 0x0010000000000000; + tiny |= (d1^d2) & 0x8000000000000000; + t = asdouble(tiny); + y = eval_as_double(y + t); } - ix0 = (q>>1) + 0x3fe00000; - ix1 = q1>>1; - if (q&1) - ix1 |= sign; - INSERT_WORDS(z, ix0 + ((uint32_t)m << 20), ix1); - return z; + return y; } diff --git a/lib/libc/musl/src/math/sqrt_data.c b/lib/libc/musl/src/math/sqrt_data.c new file mode 100644 index 0000000000..61bc22f430 --- /dev/null +++ b/lib/libc/musl/src/math/sqrt_data.c @@ -0,0 +1,19 @@ +#include "sqrt_data.h" +const uint16_t __rsqrt_tab[128] = { +0xb451,0xb2f0,0xb196,0xb044,0xaef9,0xadb6,0xac79,0xab43, +0xaa14,0xa8eb,0xa7c8,0xa6aa,0xa592,0xa480,0xa373,0xa26b, +0xa168,0xa06a,0x9f70,0x9e7b,0x9d8a,0x9c9d,0x9bb5,0x9ad1, +0x99f0,0x9913,0x983a,0x9765,0x9693,0x95c4,0x94f8,0x9430, +0x936b,0x92a9,0x91ea,0x912e,0x9075,0x8fbe,0x8f0a,0x8e59, +0x8daa,0x8cfe,0x8c54,0x8bac,0x8b07,0x8a64,0x89c4,0x8925, +0x8889,0x87ee,0x8756,0x86c0,0x862b,0x8599,0x8508,0x8479, +0x83ec,0x8361,0x82d8,0x8250,0x81c9,0x8145,0x80c2,0x8040, +0xff02,0xfd0e,0xfb25,0xf947,0xf773,0xf5aa,0xf3ea,0xf234, +0xf087,0xeee3,0xed47,0xebb3,0xea27,0xe8a3,0xe727,0xe5b2, +0xe443,0xe2dc,0xe17a,0xe020,0xdecb,0xdd7d,0xdc34,0xdaf1, +0xd9b3,0xd87b,0xd748,0xd61a,0xd4f1,0xd3cd,0xd2ad,0xd192, +0xd07b,0xcf69,0xce5b,0xcd51,0xcc4a,0xcb48,0xca4a,0xc94f, +0xc858,0xc764,0xc674,0xc587,0xc49d,0xc3b7,0xc2d4,0xc1f4, +0xc116,0xc03c,0xbf65,0xbe90,0xbdbe,0xbcef,0xbc23,0xbb59, +0xba91,0xb9cc,0xb90a,0xb84a,0xb78c,0xb6d0,0xb617,0xb560, +}; diff --git a/lib/libc/musl/src/math/sqrt_data.h b/lib/libc/musl/src/math/sqrt_data.h new file mode 100644 index 0000000000..260c7f9c29 --- /dev/null +++ b/lib/libc/musl/src/math/sqrt_data.h @@ -0,0 +1,13 @@ +#ifndef _SQRT_DATA_H +#define _SQRT_DATA_H + +#include +#include + +/* if x in [1,2): i = (int)(64*x); + if x in [2,4): i = (int)(32*x-64); + __rsqrt_tab[i]*2^-16 is estimating 1/sqrt(x) with small relative error: + |__rsqrt_tab[i]*0x1p-16*sqrt(x) - 1| < -0x1.fdp-9 < 2^-8 */ +extern hidden const uint16_t __rsqrt_tab[128]; + +#endif diff --git a/lib/libc/musl/src/math/sqrtf.c b/lib/libc/musl/src/math/sqrtf.c index d6ace38aa6..740d81cbab 100644 --- a/lib/libc/musl/src/math/sqrtf.c +++ b/lib/libc/musl/src/math/sqrtf.c @@ -1,83 +1,83 @@ -/* origin: FreeBSD /usr/src/lib/msun/src/e_sqrtf.c */ -/* - * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com. - */ -/* - * ==================================================== - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. - * - * Developed at SunPro, a Sun Microsystems, Inc. business. - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - */ - +#include +#include #include "libm.h" +#include "sqrt_data.h" -static const float tiny = 1.0e-30; +#define FENV_SUPPORT 1 + +static inline uint32_t mul32(uint32_t a, uint32_t b) +{ + return (uint64_t)a*b >> 32; +} + +/* see sqrt.c for more detailed comments. */ float sqrtf(float x) { - float z; - int32_t sign = (int)0x80000000; - int32_t ix,s,q,m,t,i; - uint32_t r; + uint32_t ix, m, m1, m0, even, ey; - GET_FLOAT_WORD(ix, x); - - /* take care of Inf and NaN */ - if ((ix&0x7f800000) == 0x7f800000) - return x*x + x; /* sqrt(NaN)=NaN, sqrt(+inf)=+inf, sqrt(-inf)=sNaN */ - - /* take care of zero */ - if (ix <= 0) { - if ((ix&~sign) == 0) - return x; /* sqrt(+-0) = +-0 */ - if (ix < 0) - return (x-x)/(x-x); /* sqrt(-ve) = sNaN */ - } - /* normalize x */ - m = ix>>23; - if (m == 0) { /* subnormal x */ - for (i = 0; (ix&0x00800000) == 0; i++) - ix<<=1; - m -= i - 1; - } - m -= 127; /* unbias exponent */ - ix = (ix&0x007fffff)|0x00800000; - if (m&1) /* odd m, double x to make it even */ - ix += ix; - m >>= 1; /* m = [m/2] */ - - /* generate sqrt(x) bit by bit */ - ix += ix; - q = s = 0; /* q = sqrt(x) */ - r = 0x01000000; /* r = moving bit from right to left */ - - while (r != 0) { - t = s + r; - if (t <= ix) { - s = t+r; - ix -= t; - q += r; - } - ix += ix; - r >>= 1; + ix = asuint(x); + if (predict_false(ix - 0x00800000 >= 0x7f800000 - 0x00800000)) { + /* x < 0x1p-126 or inf or nan. */ + if (ix * 2 == 0) + return x; + if (ix == 0x7f800000) + return x; + if (ix > 0x7f800000) + return __math_invalidf(x); + /* x is subnormal, normalize it. */ + ix = asuint(x * 0x1p23f); + ix -= 23 << 23; } - /* use floating add to find out rounding direction */ - if (ix != 0) { - z = 1.0f - tiny; /* raise inexact flag */ - if (z >= 1.0f) { - z = 1.0f + tiny; - if (z > 1.0f) - q += 2; - else - q += q & 1; - } + /* x = 4^e m; with int e and m in [1, 4). */ + even = ix & 0x00800000; + m1 = (ix << 8) | 0x80000000; + m0 = (ix << 7) & 0x7fffffff; + m = even ? m0 : m1; + + /* 2^e is the exponent part of the return value. */ + ey = ix >> 1; + ey += 0x3f800000 >> 1; + ey &= 0x7f800000; + + /* compute r ~ 1/sqrt(m), s ~ sqrt(m) with 2 goldschmidt iterations. */ + static const uint32_t three = 0xc0000000; + uint32_t r, s, d, u, i; + i = (ix >> 17) % 128; + r = (uint32_t)__rsqrt_tab[i] << 16; + /* |r*sqrt(m) - 1| < 0x1p-8 */ + s = mul32(m, r); + /* |s/sqrt(m) - 1| < 0x1p-8 */ + d = mul32(s, r); + u = three - d; + r = mul32(r, u) << 1; + /* |r*sqrt(m) - 1| < 0x1.7bp-16 */ + s = mul32(s, u) << 1; + /* |s/sqrt(m) - 1| < 0x1.7bp-16 */ + d = mul32(s, r); + u = three - d; + s = mul32(s, u); + /* -0x1.03p-28 < s/sqrt(m) - 1 < 0x1.fp-31 */ + s = (s - 1)>>6; + /* s < sqrt(m) < s + 0x1.08p-23 */ + + /* compute nearest rounded result. */ + uint32_t d0, d1, d2; + float y, t; + d0 = (m << 16) - s*s; + d1 = s - d0; + d2 = d1 + s + 1; + s += d1 >> 31; + s &= 0x007fffff; + s |= ey; + y = asfloat(s); + if (FENV_SUPPORT) { + /* handle rounding and inexact exception. */ + uint32_t tiny = predict_false(d2==0) ? 0 : 0x01000000; + tiny |= (d1^d2) & 0x80000000; + t = asfloat(tiny); + y = eval_as_float(y + t); } - ix = (q>>1) + 0x3f000000; - SET_FLOAT_WORD(z, ix + ((uint32_t)m << 23)); - return z; + return y; } diff --git a/lib/libc/musl/src/math/sqrtl.c b/lib/libc/musl/src/math/sqrtl.c index 83a8f80c99..1b9f19c7d4 100644 --- a/lib/libc/musl/src/math/sqrtl.c +++ b/lib/libc/musl/src/math/sqrtl.c @@ -1,7 +1,259 @@ +#include #include +#include +#include "libm.h" + +#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024 +long double sqrtl(long double x) +{ + return sqrt(x); +} +#elif (LDBL_MANT_DIG == 113 || LDBL_MANT_DIG == 64) && LDBL_MAX_EXP == 16384 +#include "sqrt_data.h" + +#define FENV_SUPPORT 1 + +typedef struct { + uint64_t hi; + uint64_t lo; +} u128; + +/* top: 16 bit sign+exponent, x: significand. */ +static inline long double mkldbl(uint64_t top, u128 x) +{ + union ldshape u; +#if LDBL_MANT_DIG == 113 + u.i2.hi = x.hi; + u.i2.lo = x.lo; + u.i2.hi &= 0x0000ffffffffffff; + u.i2.hi |= top << 48; +#elif LDBL_MANT_DIG == 64 + u.i.se = top; + u.i.m = x.lo; + /* force the top bit on non-zero (and non-subnormal) results. */ + if (top & 0x7fff) + u.i.m |= 0x8000000000000000; +#endif + return u.f; +} + +/* return: top 16 bit is sign+exp and following bits are the significand. */ +static inline u128 asu128(long double x) +{ + union ldshape u = {.f=x}; + u128 r; +#if LDBL_MANT_DIG == 113 + r.hi = u.i2.hi; + r.lo = u.i2.lo; +#elif LDBL_MANT_DIG == 64 + r.lo = u.i.m<<49; + /* ignore the top bit: pseudo numbers are not handled. */ + r.hi = u.i.m>>15; + r.hi &= 0x0000ffffffffffff; + r.hi |= (uint64_t)u.i.se << 48; +#endif + return r; +} + +/* returns a*b*2^-32 - e, with error 0 <= e < 1. */ +static inline uint32_t mul32(uint32_t a, uint32_t b) +{ + return (uint64_t)a*b >> 32; +} + +/* returns a*b*2^-64 - e, with error 0 <= e < 3. */ +static inline uint64_t mul64(uint64_t a, uint64_t b) +{ + uint64_t ahi = a>>32; + uint64_t alo = a&0xffffffff; + uint64_t bhi = b>>32; + uint64_t blo = b&0xffffffff; + return ahi*bhi + (ahi*blo >> 32) + (alo*bhi >> 32); +} + +static inline u128 add64(u128 a, uint64_t b) +{ + u128 r; + r.lo = a.lo + b; + r.hi = a.hi; + if (r.lo < a.lo) + r.hi++; + return r; +} + +static inline u128 add128(u128 a, u128 b) +{ + u128 r; + r.lo = a.lo + b.lo; + r.hi = a.hi + b.hi; + if (r.lo < a.lo) + r.hi++; + return r; +} + +static inline u128 sub64(u128 a, uint64_t b) +{ + u128 r; + r.lo = a.lo - b; + r.hi = a.hi; + if (a.lo < b) + r.hi--; + return r; +} + +static inline u128 sub128(u128 a, u128 b) +{ + u128 r; + r.lo = a.lo - b.lo; + r.hi = a.hi - b.hi; + if (a.lo < b.lo) + r.hi--; + return r; +} + +/* a<= 64) { + a.hi = a.lo<<(n-64); + a.lo = 0; + } else { + a.hi = (a.hi<>(64-n)); + a.lo = a.lo<>n, 0 <= n <= 127 */ +static inline u128 rsh(u128 a, int n) +{ + if (n == 0) + return a; + if (n >= 64) { + a.lo = a.hi>>(n-64); + a.hi = 0; + } else { + a.lo = (a.lo>>n) | (a.hi<<(64-n)); + a.hi = a.hi>>n; + } + return a; +} + +/* returns a*b exactly. */ +static inline u128 mul64_128(uint64_t a, uint64_t b) +{ + u128 r; + uint64_t ahi = a>>32; + uint64_t alo = a&0xffffffff; + uint64_t bhi = b>>32; + uint64_t blo = b&0xffffffff; + uint64_t lo1 = ((ahi*blo)&0xffffffff) + ((alo*bhi)&0xffffffff) + (alo*blo>>32); + uint64_t lo2 = (alo*blo)&0xffffffff; + r.hi = ahi*bhi + (ahi*blo>>32) + (alo*bhi>>32) + (lo1>>32); + r.lo = (lo1<<32) + lo2; + return r; +} + +/* returns a*b*2^-128 - e, with error 0 <= e < 7. */ +static inline u128 mul128(u128 a, u128 b) +{ + u128 hi = mul64_128(a.hi, b.hi); + uint64_t m1 = mul64(a.hi, b.lo); + uint64_t m2 = mul64(a.lo, b.hi); + return add64(add64(hi, m1), m2); +} + +/* returns a*b % 2^128. */ +static inline u128 mul128_tail(u128 a, u128 b) +{ + u128 lo = mul64_128(a.lo, b.lo); + lo.hi += a.hi*b.lo + a.lo*b.hi; + return lo; +} + + +/* see sqrt.c for detailed comments. */ long double sqrtl(long double x) { - /* FIXME: implement in C, this is for LDBL_MANT_DIG == 64 only */ - return sqrt(x); + u128 ix, ml; + uint64_t top; + + ix = asu128(x); + top = ix.hi >> 48; + if (predict_false(top - 0x0001 >= 0x7fff - 0x0001)) { + /* x < 0x1p-16382 or inf or nan. */ + if (2*ix.hi == 0 && ix.lo == 0) + return x; + if (ix.hi == 0x7fff000000000000 && ix.lo == 0) + return x; + if (top >= 0x7fff) + return __math_invalidl(x); + /* x is subnormal, normalize it. */ + ix = asu128(x * 0x1p112); + top = ix.hi >> 48; + top -= 112; + } + + /* x = 4^e m; with int e and m in [1, 4) */ + int even = top & 1; + ml = lsh(ix, 15); + ml.hi |= 0x8000000000000000; + if (even) ml = rsh(ml, 1); + top = (top + 0x3fff) >> 1; + + /* r ~ 1/sqrt(m) */ + static const uint64_t three = 0xc0000000; + uint64_t r, s, d, u, i; + i = (ix.hi >> 42) % 128; + r = (uint32_t)__rsqrt_tab[i] << 16; + /* |r sqrt(m) - 1| < 0x1p-8 */ + s = mul32(ml.hi>>32, r); + d = mul32(s, r); + u = three - d; + r = mul32(u, r) << 1; + /* |r sqrt(m) - 1| < 0x1.7bp-16, switch to 64bit */ + r = r<<32; + s = mul64(ml.hi, r); + d = mul64(s, r); + u = (three<<32) - d; + r = mul64(u, r) << 1; + /* |r sqrt(m) - 1| < 0x1.a5p-31 */ + s = mul64(u, s) << 1; + d = mul64(s, r); + u = (three<<32) - d; + r = mul64(u, r) << 1; + /* |r sqrt(m) - 1| < 0x1.c001p-59, switch to 128bit */ + + static const u128 threel = {.hi=three<<32, .lo=0}; + u128 rl, sl, dl, ul; + rl.hi = r; + rl.lo = 0; + sl = mul128(ml, rl); + dl = mul128(sl, rl); + ul = sub128(threel, dl); + sl = mul128(ul, sl); /* repr: 3.125 */ + /* -0x1p-116 < s - sqrt(m) < 0x3.8001p-125 */ + sl = rsh(sub64(sl, 4), 125-(LDBL_MANT_DIG-1)); + /* s < sqrt(m) < s + 1 ULP + tiny */ + + long double y; + u128 d2, d1, d0; + d0 = sub128(lsh(ml, 2*(LDBL_MANT_DIG-1)-126), mul128_tail(sl,sl)); + d1 = sub128(sl, d0); + d2 = add128(add64(sl, 1), d1); + sl = add64(sl, d1.hi >> 63); + y = mkldbl(top, sl); + if (FENV_SUPPORT) { + /* handle rounding modes and inexact exception. */ + top = predict_false((d2.hi|d2.lo)==0) ? 0 : 1; + top |= ((d1.hi^d2.hi)&0x8000000000000000) >> 48; + y += mkldbl(top, (u128){0}); + } + return y; } +#else +#error unsupported long double format +#endif diff --git a/lib/libc/musl/src/misc/ioctl.c b/lib/libc/musl/src/misc/ioctl.c index 8947751147..492828119a 100644 --- a/lib/libc/musl/src/misc/ioctl.c +++ b/lib/libc/musl/src/misc/ioctl.c @@ -4,6 +4,7 @@ #include #include #include +#include #include #include "syscall.h" @@ -28,6 +29,12 @@ struct ioctl_compat_map { * number producing macros; only size of result is meaningful. */ #define new_misaligned(n) struct { int i; time_t t; char c[(n)-4]; } +struct v4l2_event { + uint32_t a; + uint64_t b[8]; + uint32_t c[2], ts[2], d[9]; +}; + static const struct ioctl_compat_map compat_map[] = { { SIOCGSTAMP, SIOCGSTAMP_OLD, 8, R, 0, OFFS(0, 4) }, { SIOCGSTAMPNS, SIOCGSTAMPNS_OLD, 8, R, 0, OFFS(0, 4) }, @@ -49,13 +56,14 @@ static const struct ioctl_compat_map compat_map[] = { { 0, 0, 8, WR, 1, OFFS(0,4) }, /* snd_pcm_mmap_control */ /* VIDIOC_QUERYBUF, VIDIOC_QBUF, VIDIOC_DQBUF, VIDIOC_PREPARE_BUF */ - { _IOWR('V', 9, new_misaligned(72)), _IOWR('V', 9, char[72]), 72, WR, 0, OFFS(20) }, - { _IOWR('V', 15, new_misaligned(72)), _IOWR('V', 15, char[72]), 72, WR, 0, OFFS(20) }, - { _IOWR('V', 17, new_misaligned(72)), _IOWR('V', 17, char[72]), 72, WR, 0, OFFS(20) }, - { _IOWR('V', 93, new_misaligned(72)), _IOWR('V', 93, char[72]), 72, WR, 0, OFFS(20) }, + { _IOWR('V', 9, new_misaligned(68)), _IOWR('V', 9, char[68]), 68, WR, 1, OFFS(20, 24) }, + { _IOWR('V', 15, new_misaligned(68)), _IOWR('V', 15, char[68]), 68, WR, 1, OFFS(20, 24) }, + { _IOWR('V', 17, new_misaligned(68)), _IOWR('V', 17, char[68]), 68, WR, 1, OFFS(20, 24) }, + { _IOWR('V', 93, new_misaligned(68)), _IOWR('V', 93, char[68]), 68, WR, 1, OFFS(20, 24) }, /* VIDIOC_DQEVENT */ - { _IOR('V', 89, new_misaligned(96)), _IOR('V', 89, char[96]), 96, R, 0, OFFS(76,80) }, + { _IOR('V', 89, new_misaligned(120)), _IOR('V', 89, struct v4l2_event), sizeof(struct v4l2_event), + R, 0, OFFS(offsetof(struct v4l2_event, ts[0]), offsetof(struct v4l2_event, ts[1])) }, /* VIDIOC_OMAP3ISP_STAT_REQ */ { _IOWR('V', 192+6, char[32]), _IOWR('V', 192+6, char[24]), 22, WR, 0, OFFS(0,4) }, diff --git a/lib/libc/musl/src/misc/realpath.c b/lib/libc/musl/src/misc/realpath.c index d2708e59da..db8b74dc8d 100644 --- a/lib/libc/musl/src/misc/realpath.c +++ b/lib/libc/musl/src/misc/realpath.c @@ -1,43 +1,156 @@ #include #include -#include -#include #include #include #include -#include "syscall.h" + +static size_t slash_len(const char *s) +{ + const char *s0 = s; + while (*s == '/') s++; + return s-s0; +} char *realpath(const char *restrict filename, char *restrict resolved) { - int fd; - ssize_t r; - struct stat st1, st2; - char buf[15+3*sizeof(int)]; - char tmp[PATH_MAX]; + char stack[PATH_MAX+1]; + char output[PATH_MAX]; + size_t p, q, l, l0, cnt=0, nup=0; + int check_dir=0; if (!filename) { errno = EINVAL; return 0; } + l = strnlen(filename, sizeof stack); + if (!l) { + errno = ENOENT; + return 0; + } + if (l >= PATH_MAX) goto toolong; + p = sizeof stack - l - 1; + q = 0; + memcpy(stack+p, filename, l+1); - fd = sys_open(filename, O_PATH|O_NONBLOCK|O_CLOEXEC); - if (fd < 0) return 0; - __procfdname(buf, fd); + /* Main loop. Each iteration pops the next part from stack of + * remaining path components and consumes any slashes that follow. + * If not a link, it's moved to output; if a link, contents are + * pushed to the stack. */ +restart: + for (; ; p+=slash_len(stack+p)) { + /* If stack starts with /, the whole component is / or // + * and the output state must be reset. */ + if (stack[p] == '/') { + check_dir=0; + nup=0; + q=0; + output[q++] = '/'; + p++; + /* Initial // is special. */ + if (stack[p] == '/' && stack[p+1] != '/') + output[q++] = '/'; + continue; + } - r = readlink(buf, tmp, sizeof tmp - 1); - if (r < 0) goto err; - tmp[r] = 0; + char *z = __strchrnul(stack+p, '/'); + l0 = l = z-(stack+p); - fstat(fd, &st1); - r = stat(tmp, &st2); - if (r<0 || st1.st_dev != st2.st_dev || st1.st_ino != st2.st_ino) { - if (!r) errno = ELOOP; - goto err; + if (!l && !check_dir) break; + + /* Skip any . component but preserve check_dir status. */ + if (l==1 && stack[p]=='.') { + p += l; + continue; + } + + /* Copy next component onto output at least temporarily, to + * call readlink, but wait to advance output position until + * determining it's not a link. */ + if (q && output[q-1] != '/') { + if (!p) goto toolong; + stack[--p] = '/'; + l++; + } + if (q+l >= PATH_MAX) goto toolong; + memcpy(output+q, stack+p, l); + output[q+l] = 0; + p += l; + + int up = 0; + if (l0==2 && stack[p-2]=='.' && stack[p-1]=='.') { + up = 1; + /* Any non-.. path components we could cancel start + * after nup repetitions of the 3-byte string "../"; + * if there are none, accumulate .. components to + * later apply to cwd, if needed. */ + if (q <= 3*nup) { + nup++; + q += l; + continue; + } + /* When previous components are already known to be + * directories, processing .. can skip readlink. */ + if (!check_dir) goto skip_readlink; + } + ssize_t k = readlink(output, stack, p); + if (k==p) goto toolong; + if (!k) { + errno = ENOENT; + return 0; + } + if (k<0) { + if (errno != EINVAL) return 0; +skip_readlink: + check_dir = 0; + if (up) { + while(q && output[q-1]!='/') q--; + if (q>1 && (q>2 || output[0]!='/')) q--; + continue; + } + if (l0) q += l; + check_dir = stack[p]; + continue; + } + if (++cnt == SYMLOOP_MAX) { + errno = ELOOP; + return 0; + } + + /* If link contents end in /, strip any slashes already on + * stack to avoid /->// or //->/// or spurious toolong. */ + if (stack[k-1]=='/') while (stack[p]=='/') p++; + p -= k; + memmove(stack+p, stack, k); + + /* Skip the stack advancement in case we have a new + * absolute base path. */ + goto restart; } - __syscall(SYS_close, fd); - return resolved ? strcpy(resolved, tmp) : strdup(tmp); -err: - __syscall(SYS_close, fd); + output[q] = 0; + + if (output[0] != '/') { + if (!getcwd(stack, sizeof stack)) return 0; + l = strlen(stack); + /* Cancel any initial .. components. */ + p = 0; + while (nup--) { + while(l>1 && stack[l-1]!='/') l--; + if (l>1) l--; + p += 2; + if (p= PATH_MAX) goto toolong; + memmove(output + l, output + p, q - p + 1); + memcpy(output, stack, l); + q = l + q-p; + } + + if (resolved) return memcpy(resolved, output, q+1); + else return strdup(output); + +toolong: + errno = ENAMETOOLONG; return 0; } diff --git a/lib/libc/musl/src/misc/setrlimit.c b/lib/libc/musl/src/misc/setrlimit.c index 7a66ab2975..8340aee096 100644 --- a/lib/libc/musl/src/misc/setrlimit.c +++ b/lib/libc/musl/src/misc/setrlimit.c @@ -6,25 +6,8 @@ #define MIN(a, b) ((a)<(b) ? (a) : (b)) #define FIX(x) do{ if ((x)>=SYSCALL_RLIM_INFINITY) (x)=RLIM_INFINITY; }while(0) -static int __setrlimit(int resource, const struct rlimit *rlim) -{ - unsigned long k_rlim[2]; - struct rlimit tmp; - if (SYSCALL_RLIM_INFINITY != RLIM_INFINITY) { - tmp = *rlim; - FIX(tmp.rlim_cur); - FIX(tmp.rlim_max); - rlim = &tmp; - } - int ret = __syscall(SYS_prlimit64, 0, resource, rlim, 0); - if (ret != -ENOSYS) return ret; - k_rlim[0] = MIN(rlim->rlim_cur, MIN(-1UL, SYSCALL_RLIM_INFINITY)); - k_rlim[1] = MIN(rlim->rlim_max, MIN(-1UL, SYSCALL_RLIM_INFINITY)); - return __syscall(SYS_setrlimit, resource, k_rlim); -} - struct ctx { - const struct rlimit *rlim; + unsigned long lim[2]; int res; int err; }; @@ -33,12 +16,26 @@ static void do_setrlimit(void *p) { struct ctx *c = p; if (c->err>0) return; - c->err = -__setrlimit(c->res, c->rlim); + c->err = -__syscall(SYS_setrlimit, c->res, c->lim); } int setrlimit(int resource, const struct rlimit *rlim) { - struct ctx c = { .res = resource, .rlim = rlim, .err = -1 }; + struct rlimit tmp; + if (SYSCALL_RLIM_INFINITY != RLIM_INFINITY) { + tmp = *rlim; + FIX(tmp.rlim_cur); + FIX(tmp.rlim_max); + rlim = &tmp; + } + int ret = __syscall(SYS_prlimit64, 0, resource, rlim, 0); + if (ret != -ENOSYS) return __syscall_ret(ret); + + struct ctx c = { + .lim[0] = MIN(rlim->rlim_cur, MIN(-1UL, SYSCALL_RLIM_INFINITY)), + .lim[1] = MIN(rlim->rlim_max, MIN(-1UL, SYSCALL_RLIM_INFINITY)), + .res = resource, .err = -1 + }; __synccall(do_setrlimit, &c); if (c.err) { if (c.err>0) errno = c.err; diff --git a/lib/libc/musl/src/misc/syslog.c b/lib/libc/musl/src/misc/syslog.c index 13d4b0a6d7..7dc0c1be50 100644 --- a/lib/libc/musl/src/misc/syslog.c +++ b/lib/libc/musl/src/misc/syslog.c @@ -10,6 +10,7 @@ #include #include #include "lock.h" +#include "fork_impl.h" static volatile int lock[1]; static char log_ident[32]; @@ -17,6 +18,7 @@ static int log_opt; static int log_facility = LOG_USER; static int log_mask = 0xff; static int log_fd = -1; +volatile int *const __syslog_lockptr = lock; int setlogmask(int maskpri) { diff --git a/lib/libc/musl/src/multibyte/wcsnrtombs.c b/lib/libc/musl/src/multibyte/wcsnrtombs.c index 676932b5dc..95e25e708d 100644 --- a/lib/libc/musl/src/multibyte/wcsnrtombs.c +++ b/lib/libc/musl/src/multibyte/wcsnrtombs.c @@ -1,41 +1,33 @@ #include +#include +#include size_t wcsnrtombs(char *restrict dst, const wchar_t **restrict wcs, size_t wn, size_t n, mbstate_t *restrict st) { - size_t l, cnt=0, n2; - char *s, buf[256]; const wchar_t *ws = *wcs; - const wchar_t *tmp_ws; - - if (!dst) s = buf, n = sizeof buf; - else s = dst; - - while ( ws && n && ( (n2=wn)>=n || n2>32 ) ) { - if (n2>=n) n2=n; - tmp_ws = ws; - l = wcsrtombs(s, &ws, n2, 0); - if (!(l+1)) { - cnt = l; - n = 0; + size_t cnt = 0; + if (!dst) n=0; + while (ws && wn) { + char tmp[MB_LEN_MAX]; + size_t l = wcrtomb(nn) break; + memcpy(dst, tmp, l); + } + dst += l; n -= l; } - wn = ws ? wn - (ws - tmp_ws) : 0; - cnt += l; - } - if (ws) while (n && wn) { - l = wcrtomb(s, *ws, 0); - if ((l+1)<=1) { - if (!l) ws = 0; - else cnt = l; + if (!*ws) { + ws = 0; break; } - ws++; wn--; - /* safe - this loop runs fewer than sizeof(buf) times */ - s+=l; n-=l; + ws++; + wn--; cnt += l; } if (dst) *wcs = ws; diff --git a/lib/libc/musl/src/network/h_errno.c b/lib/libc/musl/src/network/h_errno.c index 4f700ceaf1..638f771803 100644 --- a/lib/libc/musl/src/network/h_errno.c +++ b/lib/libc/musl/src/network/h_errno.c @@ -1,9 +1,11 @@ #include +#include "pthread_impl.h" #undef h_errno int h_errno; int *__h_errno_location(void) { - return &h_errno; + if (!__pthread_self()->stack) return &h_errno; + return &__pthread_self()->h_errno_val; } diff --git a/lib/libc/musl/src/network/herror.c b/lib/libc/musl/src/network/herror.c index 65f25ff3f4..87f8cff4fd 100644 --- a/lib/libc/musl/src/network/herror.c +++ b/lib/libc/musl/src/network/herror.c @@ -4,5 +4,5 @@ void herror(const char *msg) { - fprintf(stderr, "%s%s%s", msg?msg:"", msg?": ":"", hstrerror(h_errno)); + fprintf(stderr, "%s%s%s\n", msg?msg:"", msg?": ":"", hstrerror(h_errno)); } diff --git a/lib/libc/musl/src/network/lookup_name.c b/lib/libc/musl/src/network/lookup_name.c index aae0d95a04..aa558c197a 100644 --- a/lib/libc/musl/src/network/lookup_name.c +++ b/lib/libc/musl/src/network/lookup_name.c @@ -50,7 +50,7 @@ static int name_from_hosts(struct address buf[static MAXADDRS], char canon[stati { char line[512]; size_t l = strlen(name); - int cnt = 0, badfam = 0; + int cnt = 0, badfam = 0, have_canon = 0; unsigned char _buf[1032]; FILE _f, *f = __fopen_rb_ca("/etc/hosts", &_f, _buf, sizeof _buf); if (!f) switch (errno) { @@ -80,14 +80,19 @@ static int name_from_hosts(struct address buf[static MAXADDRS], char canon[stati continue; default: badfam = EAI_NONAME; - continue; + break; } + if (have_canon) continue; + /* Extract first name as canonical name */ for (; *p && isspace(*p); p++); for (z=p; *z && !isspace(*z); z++); *z = 0; - if (is_valid_hostname(p)) memcpy(canon, p, z-p+1); + if (is_valid_hostname(p)) { + have_canon = 1; + memcpy(canon, p, z-p+1); + } } __fclose_ca(f); return cnt ? cnt : badfam; diff --git a/lib/libc/musl/src/network/res_query.c b/lib/libc/musl/src/network/res_query.c index 2f4da2e2e7..506dc23126 100644 --- a/lib/libc/musl/src/network/res_query.c +++ b/lib/libc/musl/src/network/res_query.c @@ -1,3 +1,4 @@ +#define _BSD_SOURCE #include #include @@ -6,7 +7,20 @@ int res_query(const char *name, int class, int type, unsigned char *dest, int le unsigned char q[280]; int ql = __res_mkquery(0, name, class, type, 0, 0, 0, q, sizeof q); if (ql < 0) return ql; - return __res_send(q, ql, dest, len); + int r = __res_send(q, ql, dest, len); + if (r<12) { + h_errno = TRY_AGAIN; + return -1; + } + if ((dest[3] & 15) == 3) { + h_errno = HOST_NOT_FOUND; + return -1; + } + if ((dest[3] & 15) == 0 && !dest[6] && !dest[7]) { + h_errno = NO_DATA; + return -1; + } + return r; } weak_alias(res_query, res_search); diff --git a/lib/libc/musl/src/passwd/getgrouplist.c b/lib/libc/musl/src/passwd/getgrouplist.c index 43e518245f..301824cec5 100644 --- a/lib/libc/musl/src/passwd/getgrouplist.c +++ b/lib/libc/musl/src/passwd/getgrouplist.c @@ -31,7 +31,8 @@ int getgrouplist(const char *user, gid_t gid, gid_t *groups, int *ngroups) if (resp[INITGRFOUND]) { nscdbuf = calloc(resp[INITGRNGRPS], sizeof(uint32_t)); if (!nscdbuf) goto cleanup; - if (!fread(nscdbuf, sizeof(*nscdbuf)*resp[INITGRNGRPS], 1, f)) { + size_t nbytes = sizeof(*nscdbuf)*resp[INITGRNGRPS]; + if (nbytes && !fread(nscdbuf, nbytes, 1, f)) { if (!ferror(f)) errno = EIO; goto cleanup; } diff --git a/lib/libc/musl/src/prng/random.c b/lib/libc/musl/src/prng/random.c index 633a17f690..d3780fa7ea 100644 --- a/lib/libc/musl/src/prng/random.c +++ b/lib/libc/musl/src/prng/random.c @@ -1,6 +1,7 @@ #include #include #include "lock.h" +#include "fork_impl.h" /* this code uses the same lagged fibonacci generator as the @@ -23,6 +24,7 @@ static int i = 3; static int j = 0; static uint32_t *x = init+1; static volatile int lock[1]; +volatile int *const __random_lockptr = lock; static uint32_t lcg31(uint32_t x) { return (1103515245*x + 12345) & 0x7fffffff; diff --git a/lib/libc/musl/src/process/_Fork.c b/lib/libc/musl/src/process/_Fork.c new file mode 100644 index 0000000000..da06386815 --- /dev/null +++ b/lib/libc/musl/src/process/_Fork.c @@ -0,0 +1,38 @@ +#include +#include +#include "syscall.h" +#include "libc.h" +#include "lock.h" +#include "pthread_impl.h" +#include "aio_impl.h" + +static void dummy(int x) { } +weak_alias(dummy, __aio_atfork); + +pid_t _Fork(void) +{ + pid_t ret; + sigset_t set; + __block_all_sigs(&set); + __aio_atfork(-1); + LOCK(__abort_lock); +#ifdef SYS_fork + ret = __syscall(SYS_fork); +#else + ret = __syscall(SYS_clone, SIGCHLD, 0); +#endif + if (!ret) { + pthread_t self = __pthread_self(); + self->tid = __syscall(SYS_gettid); + self->robust_list.off = 0; + self->robust_list.pending = 0; + self->next = self->prev = self; + __thread_list_lock = 0; + libc.threads_minus_1 = 0; + if (libc.need_locks) libc.need_locks = -1; + } + UNLOCK(__abort_lock); + __aio_atfork(!ret); + __restore_sigs(&set); + return __syscall_ret(ret); +} diff --git a/lib/libc/musl/src/process/fork.c b/lib/libc/musl/src/process/fork.c index 7e984ff8c3..54bc289202 100644 --- a/lib/libc/musl/src/process/fork.c +++ b/lib/libc/musl/src/process/fork.c @@ -1,38 +1,86 @@ #include -#include -#include -#include "syscall.h" +#include #include "libc.h" +#include "lock.h" #include "pthread_impl.h" +#include "fork_impl.h" -static void dummy(int x) -{ -} +static volatile int *const dummy_lockptr = 0; +weak_alias(dummy_lockptr, __at_quick_exit_lockptr); +weak_alias(dummy_lockptr, __atexit_lockptr); +weak_alias(dummy_lockptr, __dlerror_lockptr); +weak_alias(dummy_lockptr, __gettext_lockptr); +weak_alias(dummy_lockptr, __locale_lockptr); +weak_alias(dummy_lockptr, __random_lockptr); +weak_alias(dummy_lockptr, __sem_open_lockptr); +weak_alias(dummy_lockptr, __stdio_ofl_lockptr); +weak_alias(dummy_lockptr, __syslog_lockptr); +weak_alias(dummy_lockptr, __timezone_lockptr); +weak_alias(dummy_lockptr, __bump_lockptr); + +weak_alias(dummy_lockptr, __vmlock_lockptr); + +static volatile int *const *const atfork_locks[] = { + &__at_quick_exit_lockptr, + &__atexit_lockptr, + &__dlerror_lockptr, + &__gettext_lockptr, + &__locale_lockptr, + &__random_lockptr, + &__sem_open_lockptr, + &__stdio_ofl_lockptr, + &__syslog_lockptr, + &__timezone_lockptr, + &__bump_lockptr, +}; + +static void dummy(int x) { } weak_alias(dummy, __fork_handler); +weak_alias(dummy, __malloc_atfork); +weak_alias(dummy, __ldso_atfork); + +static void dummy_0(void) { } +weak_alias(dummy_0, __tl_lock); +weak_alias(dummy_0, __tl_unlock); pid_t fork(void) { - pid_t ret; sigset_t set; __fork_handler(-1); - __block_all_sigs(&set); -#ifdef SYS_fork - ret = __syscall(SYS_fork); -#else - ret = __syscall(SYS_clone, SIGCHLD, 0); -#endif - if (!ret) { - pthread_t self = __pthread_self(); - self->tid = __syscall(SYS_gettid); - self->robust_list.off = 0; - self->robust_list.pending = 0; - self->next = self->prev = self; - __thread_list_lock = 0; - libc.threads_minus_1 = 0; - if (libc.need_locks) libc.need_locks = -1; + __block_app_sigs(&set); + int need_locks = libc.need_locks > 0; + if (need_locks) { + __ldso_atfork(-1); + __inhibit_ptc(); + for (int i=0; inext; + pid_t ret = _Fork(); + int errno_save = errno; + if (need_locks) { + if (!ret) { + for (pthread_t td=next; td!=self; td=td->next) + td->tid = -1; + if (__vmlock_lockptr) { + __vmlock_lockptr[0] = 0; + __vmlock_lockptr[1] = 0; + } + } + __tl_unlock(); + __malloc_atfork(!ret); + for (int i=0; i #include #include "syscall.h" +#include "lock.h" #include "pthread_impl.h" #include "fdop.h" @@ -170,9 +171,6 @@ int posix_spawn(pid_t *restrict res, const char *restrict path, int ec=0, cs; struct args args; - if (pipe2(args.p, O_CLOEXEC)) - return errno; - pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &cs); args.path = path; @@ -182,9 +180,20 @@ int posix_spawn(pid_t *restrict res, const char *restrict path, args.envp = envp; pthread_sigmask(SIG_BLOCK, SIGALL_SET, &args.oldmask); + /* The lock guards both against seeing a SIGABRT disposition change + * by abort and against leaking the pipe fd to fork-without-exec. */ + LOCK(__abort_lock); + + if (pipe2(args.p, O_CLOEXEC)) { + UNLOCK(__abort_lock); + ec = errno; + goto fail; + } + pid = __clone(child, stack+sizeof stack, CLONE_VM|CLONE_VFORK|SIGCHLD, &args); close(args.p[1]); + UNLOCK(__abort_lock); if (pid > 0) { if (read(args.p[0], &ec, sizeof ec) != sizeof ec) ec = 0; @@ -197,6 +206,7 @@ int posix_spawn(pid_t *restrict res, const char *restrict path, if (!ec && res) *res = pid; +fail: pthread_sigmask(SIG_SETMASK, &args.oldmask, 0); pthread_setcancelstate(cs, 0); diff --git a/lib/libc/musl/src/setjmp/aarch64/longjmp.s b/lib/libc/musl/src/setjmp/aarch64/longjmp.s index 7c4655fa96..0af9c50ee5 100644 --- a/lib/libc/musl/src/setjmp/aarch64/longjmp.s +++ b/lib/libc/musl/src/setjmp/aarch64/longjmp.s @@ -18,7 +18,6 @@ longjmp: ldp d12, d13, [x0,#144] ldp d14, d15, [x0,#160] - mov x0, x1 - cbnz x1, 1f - mov x0, #1 -1: br x30 + cmp w1, 0 + csinc w0, w1, wzr, ne + br x30 diff --git a/lib/libc/musl/src/setjmp/i386/longjmp.s b/lib/libc/musl/src/setjmp/i386/longjmp.s index 772d28ddb2..8188f06bcd 100644 --- a/lib/libc/musl/src/setjmp/i386/longjmp.s +++ b/lib/libc/musl/src/setjmp/i386/longjmp.s @@ -6,15 +6,11 @@ _longjmp: longjmp: mov 4(%esp),%edx mov 8(%esp),%eax - test %eax,%eax - jnz 1f - inc %eax -1: + cmp $1,%eax + adc $0, %al mov (%edx),%ebx mov 4(%edx),%esi mov 8(%edx),%edi mov 12(%edx),%ebp - mov 16(%edx),%ecx - mov %ecx,%esp - mov 20(%edx),%ecx - jmp *%ecx + mov 16(%edx),%esp + jmp *20(%edx) diff --git a/lib/libc/musl/src/setjmp/x32/longjmp.s b/lib/libc/musl/src/setjmp/x32/longjmp.s index e175a4b960..1b2661c3e5 100644 --- a/lib/libc/musl/src/setjmp/x32/longjmp.s +++ b/lib/libc/musl/src/setjmp/x32/longjmp.s @@ -5,18 +5,14 @@ .type longjmp,@function _longjmp: longjmp: - mov %rsi,%rax /* val will be longjmp return */ - test %rax,%rax - jnz 1f - inc %rax /* if val==0, val=1 per longjmp semantics */ -1: + xor %eax,%eax + cmp $1,%esi /* CF = val ? 0 : 1 */ + adc %esi,%eax /* eax = val + !val */ mov (%rdi),%rbx /* rdi is the jmp_buf, restore regs from it */ mov 8(%rdi),%rbp mov 16(%rdi),%r12 mov 24(%rdi),%r13 mov 32(%rdi),%r14 mov 40(%rdi),%r15 - mov 48(%rdi),%rdx /* this ends up being the stack pointer */ - mov %rdx,%rsp - mov 56(%rdi),%rdx /* this is the instruction pointer */ - jmp *%rdx /* goto saved address without altering rsp */ + mov 48(%rdi),%rsp + jmp *56(%rdi) /* goto saved address without altering rsp */ diff --git a/lib/libc/musl/src/setjmp/x32/setjmp.s b/lib/libc/musl/src/setjmp/x32/setjmp.s index 98f58b8d65..d95e485355 100644 --- a/lib/libc/musl/src/setjmp/x32/setjmp.s +++ b/lib/libc/musl/src/setjmp/x32/setjmp.s @@ -18,5 +18,5 @@ setjmp: mov %rdx,48(%rdi) mov (%rsp),%rdx /* save return addr ptr for new rip */ mov %rdx,56(%rdi) - xor %rax,%rax /* always return 0 */ + xor %eax,%eax /* always return 0 */ ret diff --git a/lib/libc/musl/src/setjmp/x86_64/longjmp.s b/lib/libc/musl/src/setjmp/x86_64/longjmp.s index e175a4b960..1b2661c3e5 100644 --- a/lib/libc/musl/src/setjmp/x86_64/longjmp.s +++ b/lib/libc/musl/src/setjmp/x86_64/longjmp.s @@ -5,18 +5,14 @@ .type longjmp,@function _longjmp: longjmp: - mov %rsi,%rax /* val will be longjmp return */ - test %rax,%rax - jnz 1f - inc %rax /* if val==0, val=1 per longjmp semantics */ -1: + xor %eax,%eax + cmp $1,%esi /* CF = val ? 0 : 1 */ + adc %esi,%eax /* eax = val + !val */ mov (%rdi),%rbx /* rdi is the jmp_buf, restore regs from it */ mov 8(%rdi),%rbp mov 16(%rdi),%r12 mov 24(%rdi),%r13 mov 32(%rdi),%r14 mov 40(%rdi),%r15 - mov 48(%rdi),%rdx /* this ends up being the stack pointer */ - mov %rdx,%rsp - mov 56(%rdi),%rdx /* this is the instruction pointer */ - jmp *%rdx /* goto saved address without altering rsp */ + mov 48(%rdi),%rsp + jmp *56(%rdi) /* goto saved address without altering rsp */ diff --git a/lib/libc/musl/src/setjmp/x86_64/setjmp.s b/lib/libc/musl/src/setjmp/x86_64/setjmp.s index 98f58b8d65..d95e485355 100644 --- a/lib/libc/musl/src/setjmp/x86_64/setjmp.s +++ b/lib/libc/musl/src/setjmp/x86_64/setjmp.s @@ -18,5 +18,5 @@ setjmp: mov %rdx,48(%rdi) mov (%rsp),%rdx /* save return addr ptr for new rip */ mov %rdx,56(%rdi) - xor %rax,%rax /* always return 0 */ + xor %eax,%eax /* always return 0 */ ret diff --git a/lib/libc/musl/src/signal/sigaction.c b/lib/libc/musl/src/signal/sigaction.c index c109bea0cf..2203471b24 100644 --- a/lib/libc/musl/src/signal/sigaction.c +++ b/lib/libc/musl/src/signal/sigaction.c @@ -7,12 +7,6 @@ #include "lock.h" #include "ksigaction.h" -static volatile int dummy_lock[1] = { 0 }; - -extern hidden volatile int __abort_lock[1]; - -weak_alias(dummy_lock, __abort_lock); - static int unmask_done; static unsigned long handler_set[_NSIG/(8*sizeof(long))]; @@ -26,7 +20,6 @@ volatile int __eintr_valid_flag; int __libc_sigaction(int sig, const struct sigaction *restrict sa, struct sigaction *restrict old) { struct k_sigaction ksa, ksa_old; - unsigned long set[_NSIG/(8*sizeof(long))]; if (sa) { if ((uintptr_t)sa->sa_handler > 1UL) { a_or_l(handler_set+(sig-1)/(8*sizeof(long)), @@ -50,24 +43,12 @@ int __libc_sigaction(int sig, const struct sigaction *restrict sa, struct sigact a_store(&__eintr_valid_flag, 1); } } - /* Changing the disposition of SIGABRT to anything but - * SIG_DFL requires a lock, so that it cannot be changed - * while abort is terminating the process after simply - * calling raise(SIGABRT) failed to do so. */ - if (sa->sa_handler != SIG_DFL && sig == SIGABRT) { - __block_all_sigs(&set); - LOCK(__abort_lock); - } ksa.handler = sa->sa_handler; ksa.flags = sa->sa_flags | SA_RESTORER; ksa.restorer = (sa->sa_flags & SA_SIGINFO) ? __restore_rt : __restore; memcpy(&ksa.mask, &sa->sa_mask, _NSIG/8); } int r = __syscall(SYS_rt_sigaction, sig, sa?&ksa:0, old?&ksa_old:0, _NSIG/8); - if (sig == SIGABRT && sa && sa->sa_handler != SIG_DFL) { - UNLOCK(__abort_lock); - __restore_sigs(&set); - } if (old && !r) { old->sa_handler = ksa_old.handler; old->sa_flags = ksa_old.flags; @@ -78,11 +59,26 @@ int __libc_sigaction(int sig, const struct sigaction *restrict sa, struct sigact int __sigaction(int sig, const struct sigaction *restrict sa, struct sigaction *restrict old) { + unsigned long set[_NSIG/(8*sizeof(long))]; + if (sig-32U < 3 || sig-1U >= _NSIG-1) { errno = EINVAL; return -1; } - return __libc_sigaction(sig, sa, old); + + /* Doing anything with the disposition of SIGABRT requires a lock, + * so that it cannot be changed while abort is terminating the + * process and so any change made by abort can't be observed. */ + if (sig == SIGABRT) { + __block_all_sigs(&set); + LOCK(__abort_lock); + } + int r = __libc_sigaction(sig, sa, old); + if (sig == SIGABRT) { + UNLOCK(__abort_lock); + __restore_sigs(&set); + } + return r; } weak_alias(__sigaction, sigaction); diff --git a/lib/libc/musl/src/stdio/__stdio_close.c b/lib/libc/musl/src/stdio/__stdio_close.c index 79452bdb64..3029132851 100644 --- a/lib/libc/musl/src/stdio/__stdio_close.c +++ b/lib/libc/musl/src/stdio/__stdio_close.c @@ -1,4 +1,5 @@ #include "stdio_impl.h" +#include "aio_impl.h" static int dummy(int fd) { diff --git a/lib/libc/musl/src/stdio/ofl.c b/lib/libc/musl/src/stdio/ofl.c index f2d3215a9e..aad3d171df 100644 --- a/lib/libc/musl/src/stdio/ofl.c +++ b/lib/libc/musl/src/stdio/ofl.c @@ -1,8 +1,10 @@ #include "stdio_impl.h" #include "lock.h" +#include "fork_impl.h" static FILE *ofl_head; static volatile int ofl_lock[1]; +volatile int *const __stdio_ofl_lockptr = ofl_lock; FILE **__ofl_lock() { diff --git a/lib/libc/musl/src/string/strstr.c b/lib/libc/musl/src/string/strstr.c index 43a0207a72..96657bc231 100644 --- a/lib/libc/musl/src/string/strstr.c +++ b/lib/libc/musl/src/string/strstr.c @@ -96,7 +96,7 @@ static char *twoway_strstr(const unsigned char *h, const unsigned char *n) for (;;) { /* Update incremental end-of-haystack pointer */ if (z-h < l) { - /* Fast estimate for MIN(l,63) */ + /* Fast estimate for MAX(l,63) */ size_t grow = l | 63; const unsigned char *z2 = memchr(z, 0, grow); if (z2) { diff --git a/lib/libc/musl/src/termios/tcgetwinsize.c b/lib/libc/musl/src/termios/tcgetwinsize.c new file mode 100644 index 0000000000..9b3a65a40d --- /dev/null +++ b/lib/libc/musl/src/termios/tcgetwinsize.c @@ -0,0 +1,8 @@ +#include +#include +#include "syscall.h" + +int tcgetwinsize(int fd, struct winsize *wsz) +{ + return syscall(SYS_ioctl, fd, TIOCGWINSZ, wsz); +} diff --git a/lib/libc/musl/src/termios/tcsetwinsize.c b/lib/libc/musl/src/termios/tcsetwinsize.c new file mode 100644 index 0000000000..e01d0e2546 --- /dev/null +++ b/lib/libc/musl/src/termios/tcsetwinsize.c @@ -0,0 +1,8 @@ +#include +#include +#include "syscall.h" + +int tcsetwinsize(int fd, const struct winsize *wsz) +{ + return syscall(SYS_ioctl, fd, TIOCSWINSZ, wsz); +} diff --git a/lib/libc/musl/src/thread/i386/__set_thread_area.s b/lib/libc/musl/src/thread/i386/__set_thread_area.s index c2c21dd5d6..aa6852beb6 100644 --- a/lib/libc/musl/src/thread/i386/__set_thread_area.s +++ b/lib/libc/musl/src/thread/i386/__set_thread_area.s @@ -28,6 +28,7 @@ __set_thread_area: ret 2: mov %ebx,%ecx + xor %eax,%eax xor %ebx,%ebx xor %edx,%edx mov %ebx,(%esp) diff --git a/lib/libc/musl/src/thread/pthread_attr_get.c b/lib/libc/musl/src/thread/pthread_attr_get.c index 4aa5afdb28..f12ff44254 100644 --- a/lib/libc/musl/src/thread/pthread_attr_get.c +++ b/lib/libc/musl/src/thread/pthread_attr_get.c @@ -70,7 +70,7 @@ int pthread_condattr_getpshared(const pthread_condattr_t *restrict a, int *restr int pthread_mutexattr_getprotocol(const pthread_mutexattr_t *restrict a, int *restrict protocol) { - *protocol = PTHREAD_PRIO_NONE; + *protocol = a->__attr / 8U % 2; return 0; } int pthread_mutexattr_getpshared(const pthread_mutexattr_t *restrict a, int *restrict pshared) diff --git a/lib/libc/musl/src/thread/pthread_cond_timedwait.c b/lib/libc/musl/src/thread/pthread_cond_timedwait.c index d15012406d..6b761455c4 100644 --- a/lib/libc/musl/src/thread/pthread_cond_timedwait.c +++ b/lib/libc/musl/src/thread/pthread_cond_timedwait.c @@ -146,14 +146,18 @@ relock: if (oldstate == WAITING) goto done; - if (!node.next) a_inc(&m->_m_waiters); + if (!node.next && !(m->_m_type & 8)) + a_inc(&m->_m_waiters); /* Unlock the barrier that's holding back the next waiter, and * either wake it or requeue it to the mutex. */ - if (node.prev) - unlock_requeue(&node.prev->barrier, &m->_m_lock, m->_m_type & 128); - else - a_dec(&m->_m_waiters); + if (node.prev) { + int val = m->_m_lock; + if (val>0) a_cas(&m->_m_lock, val, val|0x80000000); + unlock_requeue(&node.prev->barrier, &m->_m_lock, m->_m_type & (8|128)); + } else if (!(m->_m_type & 8)) { + a_dec(&m->_m_waiters); + } /* Since a signal was consumed, cancellation is not permitted. */ if (e == ECANCELED) e = 0; diff --git a/lib/libc/musl/src/thread/pthread_create.c b/lib/libc/musl/src/thread/pthread_create.c index 10f1b7d8cd..6f187ee89d 100644 --- a/lib/libc/musl/src/thread/pthread_create.c +++ b/lib/libc/musl/src/thread/pthread_create.c @@ -69,12 +69,25 @@ _Noreturn void __pthread_exit(void *result) __pthread_tsd_run_dtors(); + __block_app_sigs(&set); + + /* This atomic potentially competes with a concurrent pthread_detach + * call; the loser is responsible for freeing thread resources. */ + int state = a_cas(&self->detach_state, DT_JOINABLE, DT_EXITING); + + if (state==DT_DETACHED && self->map_base) { + /* Since __unmapself bypasses the normal munmap code path, + * explicitly wait for vmlock holders first. This must be + * done before any locks are taken, to avoid lock ordering + * issues that could lead to deadlock. */ + __vm_wait(); + } + /* Access to target the exiting thread with syscalls that use * its kernel tid is controlled by killlock. For detached threads, * any use past this point would have undefined behavior, but for * joinable threads it's a valid usage that must be handled. * Signals must be blocked since pthread_kill must be AS-safe. */ - __block_app_sigs(&set); LOCK(self->killlock); /* The thread list lock must be AS-safe, and thus depends on @@ -87,6 +100,7 @@ _Noreturn void __pthread_exit(void *result) if (self->next == self) { __tl_unlock(); UNLOCK(self->killlock); + self->detach_state = state; __restore_sigs(&set); exit(0); } @@ -125,10 +139,6 @@ _Noreturn void __pthread_exit(void *result) self->prev->next = self->next; self->prev = self->next = self; - /* This atomic potentially competes with a concurrent pthread_detach - * call; the loser is responsible for freeing thread resources. */ - int state = a_cas(&self->detach_state, DT_JOINABLE, DT_EXITING); - if (state==DT_DETACHED && self->map_base) { /* Detached threads must block even implementation-internal * signals, since they will not have a stack in their last @@ -140,16 +150,13 @@ _Noreturn void __pthread_exit(void *result) if (self->robust_list.off) __syscall(SYS_set_robust_list, 0, 3*sizeof(long)); - /* Since __unmapself bypasses the normal munmap code path, - * explicitly wait for vmlock holders first. */ - __vm_wait(); - /* The following call unmaps the thread's stack mapping * and then exits without touching the stack. */ __unmapself(self->map_base, self->map_size); } /* Wake any joiner. */ + a_store(&self->detach_state, DT_EXITED); __wake(&self->detach_state, 1, 1); /* After the kernel thread exits, its tid may be reused. Clear it @@ -314,7 +321,7 @@ int __pthread_create(pthread_t *restrict res, const pthread_attr_t *restrict att new->detach_state = DT_JOINABLE; } new->robust_list.head = &new->robust_list.head; - new->CANARY = self->CANARY; + new->canary = self->canary; new->sysinfo = self->sysinfo; /* Setup argument structure for the new thread on its stack. diff --git a/lib/libc/musl/src/thread/pthread_mutex_destroy.c b/lib/libc/musl/src/thread/pthread_mutex_destroy.c index 6d49e68989..8d1bf77b87 100644 --- a/lib/libc/musl/src/thread/pthread_mutex_destroy.c +++ b/lib/libc/musl/src/thread/pthread_mutex_destroy.c @@ -1,6 +1,10 @@ -#include +#include "pthread_impl.h" int pthread_mutex_destroy(pthread_mutex_t *mutex) { + /* If the mutex being destroyed is process-shared and has nontrivial + * type (tracking ownership), it might be in the pending slot of a + * robust_list; wait for quiescence. */ + if (mutex->_m_type > 128) __vm_wait(); return 0; } diff --git a/lib/libc/musl/src/thread/pthread_mutexattr_setprotocol.c b/lib/libc/musl/src/thread/pthread_mutexattr_setprotocol.c index 511cc32d8f..8b80c1ce9b 100644 --- a/lib/libc/musl/src/thread/pthread_mutexattr_setprotocol.c +++ b/lib/libc/musl/src/thread/pthread_mutexattr_setprotocol.c @@ -1,24 +1,23 @@ #include "pthread_impl.h" #include "syscall.h" -static pthread_once_t check_pi_once; -static int check_pi_result; - -static void check_pi() -{ - volatile int lk = 0; - check_pi_result = -__syscall(SYS_futex, &lk, FUTEX_LOCK_PI, 0, 0); -} +static volatile int check_pi_result = -1; int pthread_mutexattr_setprotocol(pthread_mutexattr_t *a, int protocol) { + int r; switch (protocol) { case PTHREAD_PRIO_NONE: a->__attr &= ~8; return 0; case PTHREAD_PRIO_INHERIT: - pthread_once(&check_pi_once, check_pi); - if (check_pi_result) return check_pi_result; + r = check_pi_result; + if (r < 0) { + volatile int lk = 0; + r = -__syscall(SYS_futex, &lk, FUTEX_LOCK_PI, 0, 0); + a_store(&check_pi_result, r); + } + if (r) return r; a->__attr |= 8; return 0; case PTHREAD_PRIO_PROTECT: diff --git a/lib/libc/musl/src/thread/pthread_mutexattr_setrobust.c b/lib/libc/musl/src/thread/pthread_mutexattr_setrobust.c index 04db92a626..30a9ac3bea 100644 --- a/lib/libc/musl/src/thread/pthread_mutexattr_setrobust.c +++ b/lib/libc/musl/src/thread/pthread_mutexattr_setrobust.c @@ -1,22 +1,20 @@ #include "pthread_impl.h" #include "syscall.h" -static pthread_once_t check_robust_once; -static int check_robust_result; - -static void check_robust() -{ - void *p; - size_t l; - check_robust_result = -__syscall(SYS_get_robust_list, 0, &p, &l); -} +static volatile int check_robust_result = -1; int pthread_mutexattr_setrobust(pthread_mutexattr_t *a, int robust) { if (robust > 1U) return EINVAL; if (robust) { - pthread_once(&check_robust_once, check_robust); - if (check_robust_result) return check_robust_result; + int r = check_robust_result; + if (r < 0) { + void *p; + size_t l; + r = -__syscall(SYS_get_robust_list, 0, &p, &l); + a_store(&check_robust_result, r); + } + if (r) return r; a->__attr |= 4; return 0; } diff --git a/lib/libc/musl/src/thread/s390x/clone.s b/lib/libc/musl/src/thread/s390x/clone.s index 577748eab3..2125f20b83 100644 --- a/lib/libc/musl/src/thread/s390x/clone.s +++ b/lib/libc/musl/src/thread/s390x/clone.s @@ -17,6 +17,9 @@ __clone: # if (!tid) syscall(SYS_exit, a(d)); # return tid; + # preserve call-saved register used as syscall arg + stg %r6, 48(%r15) + # create initial stack frame for new thread nill %r3, 0xfff8 aghi %r3, -160 @@ -35,6 +38,9 @@ __clone: lg %r6, 160(%r15) svc 120 + # restore call-saved register + lg %r6, 48(%r15) + # if error or if we're the parent, return ltgr %r2, %r2 bnzr %r14 diff --git a/lib/libc/musl/src/thread/s390x/syscall_cp.s b/lib/libc/musl/src/thread/s390x/syscall_cp.s index c1da40de88..d094cbf5ae 100644 --- a/lib/libc/musl/src/thread/s390x/syscall_cp.s +++ b/lib/libc/musl/src/thread/s390x/syscall_cp.s @@ -14,6 +14,7 @@ __cp_begin: icm %r2, 15, 0(%r2) jne __cp_cancel + stg %r6, 48(%r15) stg %r7, 56(%r15) lgr %r1, %r3 lgr %r2, %r4 @@ -26,6 +27,7 @@ __cp_begin: __cp_end: lg %r7, 56(%r15) + lg %r6, 48(%r15) br %r14 __cp_cancel: diff --git a/lib/libc/musl/src/thread/sem_open.c b/lib/libc/musl/src/thread/sem_open.c index de8555c5a6..0ad29de96c 100644 --- a/lib/libc/musl/src/thread/sem_open.c +++ b/lib/libc/musl/src/thread/sem_open.c @@ -12,6 +12,12 @@ #include #include #include "lock.h" +#include "fork_impl.h" + +#define malloc __libc_malloc +#define calloc __libc_calloc +#define realloc undef +#define free undef static struct { ino_t ino; @@ -19,6 +25,7 @@ static struct { int refcnt; } *semtab; static volatile int lock[1]; +volatile int *const __sem_open_lockptr = lock; #define FLAGS (O_RDWR|O_NOFOLLOW|O_CLOEXEC|O_NONBLOCK) @@ -163,10 +170,12 @@ int sem_close(sem_t *sem) int i; LOCK(lock); for (i=0; itid) + goto single_threaded; callback = func; context = ctx; diff --git a/lib/libc/musl/src/thread/vmlock.c b/lib/libc/musl/src/thread/vmlock.c index 75f3cb7619..fa0a8e3c2e 100644 --- a/lib/libc/musl/src/thread/vmlock.c +++ b/lib/libc/musl/src/thread/vmlock.c @@ -1,6 +1,8 @@ #include "pthread_impl.h" +#include "fork_impl.h" static volatile int vmlock[2]; +volatile int *const __vmlock_lockptr = vmlock; void __vm_wait() { diff --git a/lib/libc/musl/src/time/__tz.c b/lib/libc/musl/src/time/__tz.c index 49a7371ebc..09a6317e6b 100644 --- a/lib/libc/musl/src/time/__tz.c +++ b/lib/libc/musl/src/time/__tz.c @@ -6,6 +6,12 @@ #include #include "libc.h" #include "lock.h" +#include "fork_impl.h" + +#define malloc __libc_malloc +#define calloc undef +#define realloc undef +#define free undef long __timezone = 0; int __daylight = 0; @@ -30,6 +36,7 @@ static char *old_tz = old_tz_buf; static size_t old_tz_size = sizeof old_tz_buf; static volatile int lock[1]; +volatile int *const __timezone_lockptr = lock; static int getint(const char **p) { @@ -178,7 +185,7 @@ static void do_tzset() zi = map; if (map) { int scale = 2; - if (sizeof(time_t) > 4 && map[4]=='2') { + if (map[4]!='1') { size_t skip = zi_dotprod(zi+20, VEC(1,1,8,5,6,1), 6); trans = zi+skip+44+44; scale++; diff --git a/lib/libc/musl/src/time/timer_create.c b/lib/libc/musl/src/time/timer_create.c index 455d49fc50..4bef239051 100644 --- a/lib/libc/musl/src/time/timer_create.c +++ b/lib/libc/musl/src/time/timer_create.c @@ -2,6 +2,7 @@ #include #include #include "pthread_impl.h" +#include "atomic.h" struct ksigevent { union sigval sigev_value; @@ -32,19 +33,6 @@ static void cleanup_fromsig(void *p) longjmp(p, 1); } -static void timer_handler(int sig, siginfo_t *si, void *ctx) -{ -} - -static void install_handler() -{ - struct sigaction sa = { - .sa_sigaction = timer_handler, - .sa_flags = SA_SIGINFO | SA_RESTART - }; - __libc_sigaction(SIGTIMER, &sa, 0); -} - static void *start(void *arg) { pthread_t self = __pthread_self(); @@ -71,7 +59,7 @@ static void *start(void *arg) int timer_create(clockid_t clk, struct sigevent *restrict evp, timer_t *restrict res) { - static pthread_once_t once = PTHREAD_ONCE_INIT; + volatile static int init = 0; pthread_t td; pthread_attr_t attr; int r; @@ -83,11 +71,15 @@ int timer_create(clockid_t clk, struct sigevent *restrict evp, timer_t *restrict switch (evp ? evp->sigev_notify : SIGEV_SIGNAL) { case SIGEV_NONE: case SIGEV_SIGNAL: + case SIGEV_THREAD_ID: if (evp) { ksev.sigev_value = evp->sigev_value; ksev.sigev_signo = evp->sigev_signo; ksev.sigev_notify = evp->sigev_notify; - ksev.sigev_tid = 0; + if (evp->sigev_notify == SIGEV_THREAD_ID) + ksev.sigev_tid = evp->sigev_notify_thread_id; + else + ksev.sigev_tid = 0; ksevp = &ksev; } if (syscall(SYS_timer_create, clk, ksevp, &timerid) < 0) @@ -95,7 +87,11 @@ int timer_create(clockid_t clk, struct sigevent *restrict evp, timer_t *restrict *res = (void *)(intptr_t)timerid; break; case SIGEV_THREAD: - pthread_once(&once, install_handler); + if (!init) { + struct sigaction sa = { .sa_handler = SIG_DFL }; + __libc_sigaction(SIGTIMER, &sa, 0); + a_store(&init, 1); + } if (evp->sigev_notify_attributes) attr = *evp->sigev_notify_attributes; else @@ -115,7 +111,7 @@ int timer_create(clockid_t clk, struct sigevent *restrict evp, timer_t *restrict ksev.sigev_value.sival_ptr = 0; ksev.sigev_signo = SIGTIMER; - ksev.sigev_notify = 4; /* SIGEV_THREAD_ID */ + ksev.sigev_notify = SIGEV_THREAD_ID; ksev.sigev_tid = td->tid; if (syscall(SYS_timer_create, clk, &ksev, &timerid) < 0) timerid = -1; diff --git a/lib/libc/musl/src/unistd/close.c b/lib/libc/musl/src/unistd/close.c index 5b38e01946..a2105f5060 100644 --- a/lib/libc/musl/src/unistd/close.c +++ b/lib/libc/musl/src/unistd/close.c @@ -1,5 +1,6 @@ #include #include +#include "aio_impl.h" #include "syscall.h" static int dummy(int fd) diff --git a/lib/libc/musl/src/unistd/faccessat.c b/lib/libc/musl/src/unistd/faccessat.c index 76bbd4c72a..557503eb6d 100644 --- a/lib/libc/musl/src/unistd/faccessat.c +++ b/lib/libc/musl/src/unistd/faccessat.c @@ -25,12 +25,17 @@ static int checker(void *p) int faccessat(int fd, const char *filename, int amode, int flag) { - if (!flag || (flag==AT_EACCESS && getuid()==geteuid() && getgid()==getegid())) - return syscall(SYS_faccessat, fd, filename, amode, flag); + if (flag) { + int ret = __syscall(SYS_faccessat2, fd, filename, amode, flag); + if (ret != -ENOSYS) return __syscall_ret(ret); + } - if (flag != AT_EACCESS) + if (flag & ~AT_EACCESS) return __syscall_ret(-EINVAL); + if (!flag || (getuid()==geteuid() && getgid()==getegid())) + return syscall(SYS_faccessat, fd, filename, amode); + char stack[1024]; sigset_t set; pid_t pid; diff --git a/lib/libc/musl/src/unistd/readlink.c b/lib/libc/musl/src/unistd/readlink.c index a152d52492..32f4537f97 100644 --- a/lib/libc/musl/src/unistd/readlink.c +++ b/lib/libc/musl/src/unistd/readlink.c @@ -4,9 +4,16 @@ ssize_t readlink(const char *restrict path, char *restrict buf, size_t bufsize) { + char dummy[1]; + if (!bufsize) { + buf = dummy; + bufsize = 1; + } #ifdef SYS_readlink - return syscall(SYS_readlink, path, buf, bufsize); + int r = __syscall(SYS_readlink, path, buf, bufsize); #else - return syscall(SYS_readlinkat, AT_FDCWD, path, buf, bufsize); + int r = __syscall(SYS_readlinkat, AT_FDCWD, path, buf, bufsize); #endif + if (buf == dummy && r > 0) r = 0; + return __syscall_ret(r); } diff --git a/lib/libc/musl/src/unistd/readlinkat.c b/lib/libc/musl/src/unistd/readlinkat.c index 9af45cd5a4..f79d3d1428 100644 --- a/lib/libc/musl/src/unistd/readlinkat.c +++ b/lib/libc/musl/src/unistd/readlinkat.c @@ -3,5 +3,12 @@ ssize_t readlinkat(int fd, const char *restrict path, char *restrict buf, size_t bufsize) { - return syscall(SYS_readlinkat, fd, path, buf, bufsize); + char dummy[1]; + if (!bufsize) { + buf = dummy; + bufsize = 1; + } + int r = __syscall(SYS_readlinkat, fd, path, buf, bufsize); + if (buf == dummy && r > 0) r = 0; + return __syscall_ret(r); } diff --git a/lib/libc/musl/src/unistd/setxid.c b/lib/libc/musl/src/unistd/setxid.c index 0239f8afa9..487c1a160a 100644 --- a/lib/libc/musl/src/unistd/setxid.c +++ b/lib/libc/musl/src/unistd/setxid.c @@ -1,20 +1,19 @@ #include -#include +#include #include "syscall.h" #include "libc.h" -#include "pthread_impl.h" struct ctx { int id, eid, sid; - int nr, err; + int nr, ret; }; static void do_setxid(void *p) { struct ctx *c = p; - if (c->err>0) return; - int ret = -__syscall(c->nr, c->id, c->eid, c->sid); - if (ret && !c->err) { + if (c->ret<0) return; + int ret = __syscall(c->nr, c->id, c->eid, c->sid); + if (ret && !c->ret) { /* If one thread fails to set ids after another has already * succeeded, forcibly killing the process is the only safe * thing to do. State is inconsistent and dangerous. Use @@ -22,18 +21,14 @@ static void do_setxid(void *p) __block_all_sigs(0); __syscall(SYS_kill, __syscall(SYS_getpid), SIGKILL); } - c->err = ret; + c->ret = ret; } int __setxid(int nr, int id, int eid, int sid) { - /* err is initially nonzero so that failure of the first thread does not + /* ret is initially nonzero so that failure of the first thread does not * trigger the safety kill above. */ - struct ctx c = { .nr = nr, .id = id, .eid = eid, .sid = sid, .err = -1 }; + struct ctx c = { .nr = nr, .id = id, .eid = eid, .sid = sid, .ret = 1 }; __synccall(do_setxid, &c); - if (c.err) { - if (c.err>0) errno = c.err; - return -1; - } - return 0; + return __syscall_ret(c.ret); } diff --git a/src/musl.zig b/src/musl.zig index 0cb6983e28..0f0e3b271a 100644 --- a/src/musl.zig +++ b/src/musl.zig @@ -522,6 +522,7 @@ const src_files = [_][]const u8{ "musl/src/errno/strerror.c", "musl/src/exit/_Exit.c", "musl/src/exit/abort.c", + "musl/src/exit/abort_lock.c", "musl/src/exit/arm/__aeabi_atexit.c", "musl/src/exit/assert.c", "musl/src/exit/at_quick_exit.c", @@ -658,6 +659,7 @@ const src_files = [_][]const u8{ "musl/src/linux/flock.c", "musl/src/linux/getdents.c", "musl/src/linux/getrandom.c", + "musl/src/linux/gettid.c", "musl/src/linux/inotify.c", "musl/src/linux/ioperm.c", "musl/src/linux/iopl.c", @@ -731,6 +733,8 @@ const src_files = [_][]const u8{ "musl/src/locale/wcscoll.c", "musl/src/locale/wcsxfrm.c", "musl/src/malloc/calloc.c", + "musl/src/malloc/free.c", + "musl/src/malloc/libc_calloc.c", "musl/src/malloc/lite_malloc.c", "musl/src/malloc/mallocng/aligned_alloc.c", "musl/src/malloc/mallocng/donate.c", @@ -739,7 +743,12 @@ const src_files = [_][]const u8{ "musl/src/malloc/mallocng/malloc_usable_size.c", "musl/src/malloc/mallocng/realloc.c", "musl/src/malloc/memalign.c", + "musl/src/malloc/oldmalloc/aligned_alloc.c", + "musl/src/malloc/oldmalloc/malloc.c", + "musl/src/malloc/oldmalloc/malloc_usable_size.c", "musl/src/malloc/posix_memalign.c", + "musl/src/malloc/realloc.c", + "musl/src/malloc/reallocarray.c", "musl/src/malloc/replaced.c", "musl/src/math/__cos.c", "musl/src/math/__cosdf.c", @@ -754,6 +763,7 @@ const src_files = [_][]const u8{ "musl/src/math/__math_divzerof.c", "musl/src/math/__math_invalid.c", "musl/src/math/__math_invalidf.c", + "musl/src/math/__math_invalidl.c", "musl/src/math/__math_oflow.c", "musl/src/math/__math_oflowf.c", "musl/src/math/__math_uflow.c", @@ -1137,6 +1147,7 @@ const src_files = [_][]const u8{ "musl/src/math/sinhl.c", "musl/src/math/sinl.c", "musl/src/math/sqrt.c", + "musl/src/math/sqrt_data.c", "musl/src/math/sqrtf.c", "musl/src/math/sqrtl.c", "musl/src/math/tan.c", @@ -1406,6 +1417,7 @@ const src_files = [_][]const u8{ "musl/src/prng/random.c", "musl/src/prng/seed48.c", "musl/src/prng/srand48.c", + "musl/src/process/_Fork.c", "musl/src/process/arm/vfork.s", "musl/src/process/execl.c", "musl/src/process/execle.c", @@ -1833,8 +1845,10 @@ const src_files = [_][]const u8{ "musl/src/termios/tcflush.c", "musl/src/termios/tcgetattr.c", "musl/src/termios/tcgetsid.c", + "musl/src/termios/tcgetwinsize.c", "musl/src/termios/tcsendbreak.c", "musl/src/termios/tcsetattr.c", + "musl/src/termios/tcsetwinsize.c", "musl/src/thread/__lock.c", "musl/src/thread/__set_thread_area.c", "musl/src/thread/__syscall_cp.c", From 61bcac108cecba0ab8e1b442bd71c51306c0e9fc Mon Sep 17 00:00:00 2001 From: Jonathan Marler Date: Wed, 10 Feb 2021 13:45:07 -0700 Subject: [PATCH 66/73] Add more mingw def files I've added more of the ".def" files from mingw. The list is based on all the libraries referenced by the win32metadata project. (see https://github.com/marlersoft/zigwin32). --- lib/libc/mingw/lib-common/activeds.def | 39 + lib/libc/mingw/lib-common/advpack.def | 91 + .../api-ms-win-appmodel-runtime-l1-1-1.def | 19 + .../api-ms-win-core-comm-l1-1-1.def | 23 + .../api-ms-win-core-comm-l1-1-2.def | 24 + .../api-ms-win-core-errorhandling-l1-1-3.def | 17 + .../api-ms-win-core-featurestaging-l1-1-0.def | 9 + .../api-ms-win-core-featurestaging-l1-1-1.def | 10 + .../api-ms-win-core-file-fromapp-l1-1-0.def | 15 + .../api-ms-win-core-handle-l1-1-0.def | 9 + .../api-ms-win-core-libraryloader-l2-1-0.def | 6 + .../api-ms-win-core-memory-l1-1-3.def | 35 + .../api-ms-win-core-memory-l1-1-5.def | 37 + .../api-ms-win-core-memory-l1-1-6.def | 39 + .../api-ms-win-core-memory-l1-1-7.def | 40 + .../api-ms-win-core-path-l1-1-0.def | 26 + .../api-ms-win-core-psm-appnotify-l1-1-0.def | 6 + .../api-ms-win-core-realtime-l1-1-1.def | 9 + .../api-ms-win-core-realtime-l1-1-2.def | 12 + .../api-ms-win-core-slapi-l1-1-0.def | 6 + .../api-ms-win-core-synch-l1-2-0.def | 59 + .../api-ms-win-core-sysinfo-l1-2-0.def | 31 + .../api-ms-win-core-sysinfo-l1-2-3.def | 33 + .../api-ms-win-core-winrt-error-l1-1-0.def | 15 + .../api-ms-win-core-winrt-error-l1-1-1.def | 22 + .../api-ms-win-core-winrt-l1-1-0.def | 13 + ...-ms-win-core-winrt-registration-l1-1-0.def | 6 + .../api-ms-win-core-winrt-robuffer-l1-1-0.def | 5 + ...n-core-winrt-roparameterizediid-l1-1-0.def | 7 + .../api-ms-win-core-winrt-string-l1-1-0.def | 31 + .../api-ms-win-core-wow64-l1-1-1.def | 6 + .../api-ms-win-devices-config-l1-1-1.def | 17 + ...ms-win-gaming-deviceinformation-l1-1-0.def | 5 + ...ms-win-gaming-expandedresources-l1-1-0.def | 7 + .../api-ms-win-gaming-tcui-l1-1-0.def | 11 + .../api-ms-win-gaming-tcui-l1-1-2.def | 20 + .../api-ms-win-gaming-tcui-l1-1-3.def | 22 + .../api-ms-win-gaming-tcui-l1-1-4.def | 30 + ...-win-security-isolatedcontainer-l1-1-0.def | 5 + .../api-ms-win-shcore-stream-winrt-l1-1-0.def | 7 + lib/libc/mingw/lib-common/authz.def | 77 + lib/libc/mingw/lib-common/bluetoothapis.def | 103 + lib/libc/mingw/lib-common/cabinet.def | 32 + lib/libc/mingw/lib-common/cfgmgr32.def | 285 ++ lib/libc/mingw/lib-common/clusapi.def | 203 + lib/libc/mingw/lib-common/credui.def | 33 + lib/libc/mingw/lib-common/cryptui.def | 69 + lib/libc/mingw/lib-common/cryptxml.def | 26 + lib/libc/mingw/lib-common/cscapi.def | 14 + lib/libc/mingw/lib-common/d2d1.def | 19 + lib/libc/mingw/lib-common/d3d10.def | 31 + lib/libc/mingw/lib-common/d3d11.def | 58 + lib/libc/mingw/lib-common/d3d12.def | 19 + lib/libc/mingw/lib-common/d3d9.def | 23 + lib/libc/mingw/lib-common/d3dcompiler_47.def | 36 + lib/libc/mingw/lib-common/davclnt.def | 28 + lib/libc/mingw/lib-common/dcomp.def | 19 + lib/libc/mingw/lib-common/ddraw.def | 27 + lib/libc/mingw/lib-common/dfscli.def | 36 + lib/libc/mingw/lib-common/dhcpcsvc.def | 74 + lib/libc/mingw/lib-common/dhcpsapi.def | 216 + lib/libc/mingw/lib-common/dinput8.def | 13 + lib/libc/mingw/lib-common/dnsapi.def | 295 ++ lib/libc/mingw/lib-common/dsound.def | 20 + lib/libc/mingw/lib-common/dsprop.def | 31 + lib/libc/mingw/lib-common/dsrole.def | 21 + lib/libc/mingw/lib-common/dssec.def | 14 + lib/libc/mingw/lib-common/dsuiext.def | 17 + lib/libc/mingw/lib-common/dwmapi.def | 48 + lib/libc/mingw/lib-common/dwrite.def | 8 + lib/libc/mingw/lib-common/dxgi.def | 54 + lib/libc/mingw/lib-common/dxva2.def | 40 + lib/libc/mingw/lib-common/eappcfg.def | 22 + lib/libc/mingw/lib-common/eappprxy.def | 23 + lib/libc/mingw/lib-common/elscore.def | 12 + lib/libc/mingw/lib-common/evr.def | 31 + lib/libc/mingw/lib-common/fltlib.def | 37 + lib/libc/mingw/lib-common/fontsub.def | 10 + lib/libc/mingw/lib-common/gpedit.def | 18 + lib/libc/mingw/lib-common/hid.def | 52 + lib/libc/mingw/lib-common/hlink.def | 40 + lib/libc/mingw/lib-common/icm32.def | 29 + lib/libc/mingw/lib-common/icmui.def | 12 + lib/libc/mingw/lib-common/ksuser.def | 15 + lib/libc/mingw/lib-common/ktmw32.def | 51 + lib/libc/mingw/lib-common/loadperf.def | 21 + lib/libc/mingw/lib-common/logoncli.def | 91 + lib/libc/mingw/lib-common/mapi32.def | 177 + lib/libc/mingw/lib-common/mf.def | 97 + lib/libc/mingw/lib-common/mfplat.def | 205 + lib/libc/mingw/lib-common/mfreadwrite.def | 7 + lib/libc/mingw/lib-common/mgmtapi.def | 17 + lib/libc/mingw/lib-common/mmdevapi.def | 3 + lib/libc/mingw/lib-common/msacm32.def | 51 + lib/libc/mingw/lib-common/msdmo.def | 23 + lib/libc/mingw/lib-common/msdrm.def | 98 + lib/libc/mingw/lib-common/msi.def | 297 ++ lib/libc/mingw/lib-common/msimg32.def | 13 + lib/libc/mingw/lib-common/msports.def | 19 + lib/libc/mingw/lib-common/mstask.def | 21 + lib/libc/mingw/lib-common/mtxdm.def | 9 + lib/libc/mingw/lib-common/ndfapi.def | 31 + lib/libc/mingw/lib-common/netutils.def | 29 + lib/libc/mingw/lib-common/normaliz.def | 12 + lib/libc/mingw/lib-common/ntdsapi.def | 130 + lib/libc/mingw/lib-common/oleacc.def | 31 + lib/libc/mingw/lib-common/oledlg.def | 30 + lib/libc/mingw/lib-common/p2p.def | 119 + lib/libc/mingw/lib-common/p2pgraph.def | 47 + lib/libc/mingw/lib-common/powrprof.def | 116 + lib/libc/mingw/lib-common/prntvpt.def | 35 + lib/libc/mingw/lib-common/propsys.def | 226 + lib/libc/mingw/lib-common/qwave.def | 21 + lib/libc/mingw/lib-common/resutils.def | 128 + lib/libc/mingw/lib-common/rstrtmgr.def | 19 + lib/libc/mingw/lib-common/samcli.def | 43 + lib/libc/mingw/lib-common/schannel.def | 42 + lib/libc/mingw/lib-common/schedcli.def | 11 + lib/libc/mingw/lib-common/secur32.def | 113 + lib/libc/mingw/lib-common/sensapi.def | 11 + lib/libc/mingw/lib-common/setupapi.def | 766 ++++ lib/libc/mingw/lib-common/slcext.def | 28 + lib/libc/mingw/lib-common/slwga.def | 9 + lib/libc/mingw/lib-common/snmpapi.def | 46 + lib/libc/mingw/lib-common/srvcli.def | 64 + lib/libc/mingw/lib-common/sspicli.def | 107 + lib/libc/mingw/lib-common/t2embed.def | 22 + lib/libc/mingw/lib-common/tapi32.def | 286 ++ lib/libc/mingw/lib-common/tbs.def | 25 + lib/libc/mingw/lib-common/tdh.def | 43 + lib/libc/mingw/lib-common/traffic.def | 29 + lib/libc/mingw/lib-common/txfw32.def | 16 + lib/libc/mingw/lib-common/usp10.def | 51 + lib/libc/mingw/lib-common/uxtheme.def | 88 + lib/libc/mingw/lib-common/virtdisk.def | 33 + lib/libc/mingw/lib-common/websocket.def | 15 + lib/libc/mingw/lib-common/wecapi.def | 26 + lib/libc/mingw/lib-common/wevtapi.def | 53 + lib/libc/mingw/lib-common/windowscodecs.def | 116 + lib/libc/mingw/lib-common/winhttp.def | 89 + lib/libc/mingw/lib-common/wininet.def | 300 ++ lib/libc/mingw/lib-common/winusb.def | 41 + lib/libc/mingw/lib-common/wkscli.def | 30 + lib/libc/mingw/lib-common/wlanapi.def | 178 + lib/libc/mingw/lib-common/wscapi.def | 38 + lib/libc/mingw/lib-common/wtsapi32.def | 75 + lib/libc/mingw/lib32/aclui.def | 7 + lib/libc/mingw/lib32/activeds.def | 36 + .../api-ms-win-appmodel-runtime-l1-1-1.def | 19 + .../lib32/api-ms-win-core-comm-l1-1-1.def | 23 + .../lib32/api-ms-win-core-comm-l1-1-2.def | 24 + .../api-ms-win-core-errorhandling-l1-1-3.def | 17 + .../api-ms-win-core-featurestaging-l1-1-0.def | 9 + .../api-ms-win-core-featurestaging-l1-1-1.def | 10 + .../api-ms-win-core-file-fromapp-l1-1-0.def | 15 + .../lib32/api-ms-win-core-handle-l1-1-0.def | 9 + .../api-ms-win-core-libraryloader-l2-1-0.def | 6 + .../lib32/api-ms-win-core-memory-l1-1-3.def | 35 + .../lib32/api-ms-win-core-memory-l1-1-4.def | 35 + .../lib32/api-ms-win-core-memory-l1-1-5.def | 37 + .../lib32/api-ms-win-core-memory-l1-1-6.def | 39 + .../lib32/api-ms-win-core-memory-l1-1-7.def | 40 + .../lib32/api-ms-win-core-path-l1-1-0.def | 26 + .../api-ms-win-core-psm-appnotify-l1-1-0.def | 6 + .../lib32/api-ms-win-core-realtime-l1-1-1.def | 9 + .../lib32/api-ms-win-core-realtime-l1-1-2.def | 12 + .../lib32/api-ms-win-core-slapi-l1-1-0.def | 6 + .../lib32/api-ms-win-core-synch-l1-2-0.def | 59 + .../lib32/api-ms-win-core-sysinfo-l1-2-0.def | 31 + .../lib32/api-ms-win-core-sysinfo-l1-2-3.def | 33 + .../api-ms-win-core-winrt-error-l1-1-0.def | 15 + .../api-ms-win-core-winrt-error-l1-1-1.def | 22 + .../lib32/api-ms-win-core-winrt-l1-1-0.def | 13 + ...-ms-win-core-winrt-registration-l1-1-0.def | 6 + .../api-ms-win-core-winrt-robuffer-l1-1-0.def | 5 + ...n-core-winrt-roparameterizediid-l1-1-0.def | 7 + .../api-ms-win-core-winrt-string-l1-1-0.def | 30 + .../lib32/api-ms-win-core-wow64-l1-1-1.def | 6 + .../api-ms-win-devices-config-l1-1-1.def | 17 + ...ms-win-gaming-deviceinformation-l1-1-0.def | 5 + ...ms-win-gaming-expandedresources-l1-1-0.def | 7 + .../lib32/api-ms-win-gaming-tcui-l1-1-0.def | 11 + .../lib32/api-ms-win-gaming-tcui-l1-1-2.def | 20 + .../lib32/api-ms-win-gaming-tcui-l1-1-3.def | 22 + .../lib32/api-ms-win-gaming-tcui-l1-1-4.def | 30 + ...-win-security-isolatedcontainer-l1-1-0.def | 5 + .../api-ms-win-shcore-stream-winrt-l1-1-0.def | 7 + lib/libc/mingw/lib32/authz.def | 53 + lib/libc/mingw/lib32/avicap32.def | 8 + lib/libc/mingw/lib32/avifil32.def | 77 + lib/libc/mingw/lib32/bluetoothapis.def | 103 + lib/libc/mingw/lib32/bthprops.def | 70 + lib/libc/mingw/lib32/cabinet.def | 21 + lib/libc/mingw/lib32/cfgmgr32.def | 257 ++ lib/libc/mingw/lib32/clfsw32.def | 69 + lib/libc/mingw/lib32/clusapi.def | 136 + lib/libc/mingw/lib32/credui.def | 31 + lib/libc/mingw/lib32/cryptxml.def | 26 + lib/libc/mingw/lib32/cscapi.def | 11 + lib/libc/mingw/lib32/d2d1.def | 12 + lib/libc/mingw/lib32/d3d10.def | 31 + lib/libc/mingw/lib32/d3d11.def | 59 + lib/libc/mingw/lib32/d3d12.def | 19 + lib/libc/mingw/lib32/d3d9.def | 16 + lib/libc/mingw/lib32/d3dcompiler_47.def | 36 + lib/libc/mingw/lib32/davclnt.def | 30 + lib/libc/mingw/lib32/dcomp.def | 19 + lib/libc/mingw/lib32/ddraw.def | 15 + lib/libc/mingw/lib32/dfscli.def | 36 + lib/libc/mingw/lib32/dhcpcsvc.def | 71 + lib/libc/mingw/lib32/dhcpcsvc6.def | 17 + lib/libc/mingw/lib32/dhcpsapi.def | 144 + lib/libc/mingw/lib32/dinput8.def | 3 + lib/libc/mingw/lib32/dnsapi.def | 295 ++ lib/libc/mingw/lib32/dsound.def | 12 + lib/libc/mingw/lib32/dsrole.def | 21 + lib/libc/mingw/lib32/dssec.def | 13 + lib/libc/mingw/lib32/dwmapi.def | 48 + lib/libc/mingw/lib32/dwrite.def | 8 + lib/libc/mingw/lib32/dxgi.def | 51 + lib/libc/mingw/lib32/dxva2.def | 44 + lib/libc/mingw/lib32/eappcfg.def | 20 + lib/libc/mingw/lib32/eappprxy.def | 23 + lib/libc/mingw/lib32/elscore.def | 12 + lib/libc/mingw/lib32/esent.def | 557 +++ lib/libc/mingw/lib32/evr.def | 34 + lib/libc/mingw/lib32/faultrep.def | 5 + lib/libc/mingw/lib32/fwpuclnt.def | 146 + lib/libc/mingw/lib32/gpedit.def | 20 + lib/libc/mingw/lib32/hid.def | 47 + lib/libc/mingw/lib32/httpapi.def | 44 + lib/libc/mingw/lib32/icmui.def | 4 + lib/libc/mingw/lib32/iscsidsc.def | 79 + lib/libc/mingw/lib32/ksuser.def | 6 + lib/libc/mingw/lib32/ktmw32.def | 51 + lib/libc/mingw/lib32/logoncli.def | 80 + lib/libc/mingw/lib32/mapi32.def | 164 + lib/libc/mingw/lib32/mf.def | 73 + lib/libc/mingw/lib32/mfplat.def | 133 + lib/libc/mingw/lib32/mfreadwrite.def | 7 + lib/libc/mingw/lib32/mgmtapi.def | 14 + lib/libc/mingw/lib32/mmdevapi.def | 3 + lib/libc/mingw/lib32/mprapi.def | 141 + lib/libc/mingw/lib32/msacm32.def | 46 + lib/libc/mingw/lib32/mscms.def | 100 + lib/libc/mingw/lib32/msctfmonitor.def | 89 + lib/libc/mingw/lib32/msdmo.def | 17 + lib/libc/mingw/lib32/msdrm.def | 95 + lib/libc/mingw/lib32/msi.def | 288 ++ lib/libc/mingw/lib32/msimg32.def | 5 + lib/libc/mingw/lib32/mstask.def | 33 + lib/libc/mingw/lib32/msvfw32.def | 49 + lib/libc/mingw/lib32/ndfapi.def | 25 + lib/libc/mingw/lib32/netutils.def | 29 + lib/libc/mingw/lib32/newdev.def | 6 + lib/libc/mingw/lib32/normaliz.def | 12 + lib/libc/mingw/lib32/ntdsapi.def | 119 + lib/libc/mingw/lib32/oleacc.def | 31 + lib/libc/mingw/lib32/oledlg.def | 30 + lib/libc/mingw/lib32/p2p.def | 118 + lib/libc/mingw/lib32/p2pgraph.def | 45 + lib/libc/mingw/lib32/pdh.def | 135 + lib/libc/mingw/lib32/powrprof.def | 103 + lib/libc/mingw/lib32/prntvpt.def | 35 + lib/libc/mingw/lib32/propsys.def | 226 + lib/libc/mingw/lib32/quartz.def | 7 + lib/libc/mingw/lib32/qwave.def | 21 + lib/libc/mingw/lib32/rasapi32.def | 146 + lib/libc/mingw/lib32/rasdlg.def | 8 + lib/libc/mingw/lib32/rstrtmgr.def | 19 + lib/libc/mingw/lib32/rtm.def | 18 + lib/libc/mingw/lib32/samcli.def | 42 + lib/libc/mingw/lib32/schannel.def | 40 + lib/libc/mingw/lib32/schedcli.def | 11 + lib/libc/mingw/lib32/secur32.def | 111 + lib/libc/mingw/lib32/slc.def | 55 + lib/libc/mingw/lib32/slcext.def | 28 + lib/libc/mingw/lib32/slwga.def | 9 + lib/libc/mingw/lib32/snmpapi.def | 40 + lib/libc/mingw/lib32/spoolss.def | 217 + lib/libc/mingw/lib32/srvcli.def | 46 + lib/libc/mingw/lib32/sspicli.def | 104 + lib/libc/mingw/lib32/t2embed.def | 27 + lib/libc/mingw/lib32/tapi32.def | 285 ++ lib/libc/mingw/lib32/tbs.def | 13 + lib/libc/mingw/lib32/tdh.def | 43 + lib/libc/mingw/lib32/txfw32.def | 16 + lib/libc/mingw/lib32/usp10.def | 51 + lib/libc/mingw/lib32/uxtheme.def | 81 + lib/libc/mingw/lib32/virtdisk.def | 33 + lib/libc/mingw/lib32/vssapi.def | 160 + lib/libc/mingw/lib32/wdsclientapi.def | 46 + lib/libc/mingw/lib32/wdstptc.def | 22 + lib/libc/mingw/lib32/websocket.def | 15 + lib/libc/mingw/lib32/wecapi.def | 24 + lib/libc/mingw/lib32/wer.def | 84 + lib/libc/mingw/lib32/wevtapi.def | 52 + lib/libc/mingw/lib32/windowscodecs.def | 116 + lib/libc/mingw/lib32/winhttp.def | 76 + lib/libc/mingw/lib32/wininet.def | 313 ++ lib/libc/mingw/lib32/winusb.def | 41 + lib/libc/mingw/lib32/wkscli.def | 30 + lib/libc/mingw/lib32/wlanapi.def | 43 + lib/libc/mingw/lib32/wsdapi.def | 41 + lib/libc/mingw/lib32/wsnmp32.def | 48 + lib/libc/mingw/lib32/wtsapi32.def | 50 + lib/libc/mingw/lib64/aclui.def | 11 + lib/libc/mingw/lib64/apphelp.def | 166 + lib/libc/mingw/lib64/avicap32.def | 14 + lib/libc/mingw/lib64/avifil32.def | 84 + lib/libc/mingw/lib64/bthprops.def | 70 + lib/libc/mingw/lib64/clfsw32.def | 69 + lib/libc/mingw/lib64/comsvcs.def | 29 + lib/libc/mingw/lib64/dciman32.def | 28 + lib/libc/mingw/lib64/dhcpcsvc6.def | 17 + lib/libc/mingw/lib64/esent.def | 318 ++ lib/libc/mingw/lib64/faultrep.def | 19 + lib/libc/mingw/lib64/fwpuclnt.def | 146 + lib/libc/mingw/lib64/httpapi.def | 73 + lib/libc/mingw/lib64/iscsidsc.def | 79 + lib/libc/mingw/lib64/mprapi.def | 140 + lib/libc/mingw/lib64/mscms.def | 100 + lib/libc/mingw/lib64/msctfmonitor.def | 89 + lib/libc/mingw/lib64/msvfw32.def | 55 + lib/libc/mingw/lib64/newdev.def | 20 + lib/libc/mingw/lib64/ntlanman.def | 39 + lib/libc/mingw/lib64/pdh.def | 173 + lib/libc/mingw/lib64/quartz.def | 17 + lib/libc/mingw/lib64/query.def | 1447 +++++++ lib/libc/mingw/lib64/rasapi32.def | 150 + lib/libc/mingw/lib64/rasdlg.def | 45 + lib/libc/mingw/lib64/rtm.def | 120 + lib/libc/mingw/lib64/sfc.def | 16 + lib/libc/mingw/lib64/shdocvw.def | 36 + lib/libc/mingw/lib64/slc.def | 55 + lib/libc/mingw/lib64/spoolss.def | 223 + lib/libc/mingw/lib64/vssapi.def | 160 + lib/libc/mingw/lib64/wdsclientapi.def | 46 + lib/libc/mingw/lib64/wdstptc.def | 22 + lib/libc/mingw/lib64/wer.def | 84 + lib/libc/mingw/lib64/winfax.def | 64 + lib/libc/mingw/lib64/winsta.def | 111 + lib/libc/mingw/lib64/wsdapi.def | 41 + lib/libc/mingw/libarm32/aclui.def | 15 + lib/libc/mingw/libarm32/apphelp.def | 260 ++ lib/libc/mingw/libarm32/certpoleng.def | 15 + lib/libc/mingw/libarm32/clfsw32.def | 70 + lib/libc/mingw/libarm32/comsvcs.def | 25 + lib/libc/mingw/libarm32/d3d10_1.def | 37 + lib/libc/mingw/libarm32/deviceaccess.def | 8 + lib/libc/mingw/libarm32/dhcpcsvc6.def | 29 + lib/libc/mingw/libarm32/drt.def | 28 + lib/libc/mingw/libarm32/drtprov.def | 16 + lib/libc/mingw/libarm32/drttransport.def | 9 + lib/libc/mingw/libarm32/dsparse.def | 26 + lib/libc/mingw/libarm32/efswrt.def | 11 + lib/libc/mingw/libarm32/esent.def | 363 ++ lib/libc/mingw/libarm32/faultrep.def | 17 + lib/libc/mingw/libarm32/fhsvcctl.def | 20 + lib/libc/mingw/libarm32/fwpuclnt.def | 259 ++ lib/libc/mingw/libarm32/httpapi.def | 46 + lib/libc/mingw/libarm32/magnification.def | 26 + lib/libc/mingw/libarm32/mdmregistration.def | 15 + lib/libc/mingw/libarm32/mfcore.def | 49 + lib/libc/mingw/libarm32/mfplay.def | 9 + lib/libc/mingw/libarm32/mfsrcsnk.def | 9 + lib/libc/mingw/libarm32/mprapi.def | 164 + lib/libc/mingw/libarm32/mscms.def | 113 + lib/libc/mingw/libarm32/msctfmonitor.def | 10 + lib/libc/mingw/libarm32/newdev.def | 27 + lib/libc/mingw/libarm32/ninput.def | 37 + lib/libc/mingw/libarm32/ntlanman.def | 25 + .../libarm32/ondemandconnroutehelper.def | 13 + lib/libc/mingw/libarm32/pdh.def | 136 + lib/libc/mingw/libarm32/query.def | 51 + lib/libc/mingw/libarm32/rasapi32.def | 134 + lib/libc/mingw/libarm32/rasdlg.def | 32 + lib/libc/mingw/libarm32/rometadata.def | 8 + lib/libc/mingw/libarm32/sas.def | 8 + lib/libc/mingw/libarm32/sfc.def | 23 + lib/libc/mingw/libarm32/shdocvw.def | 129 + lib/libc/mingw/libarm32/slc.def | 48 + lib/libc/mingw/libarm32/spoolss.def | 205 + lib/libc/mingw/libarm32/uiautomationcore.def | 102 + lib/libc/mingw/libarm32/vssapi.def | 89 + lib/libc/mingw/libarm32/wcmapi.def | 31 + lib/libc/mingw/libarm32/webservices.def | 200 + lib/libc/mingw/libarm32/wer.def | 129 + lib/libc/mingw/libarm32/winbio.def | 68 + lib/libc/mingw/libarm32/winsta.def | 173 + lib/libc/mingw/libarm32/wldp.def | 12 + lib/libc/mingw/libarm32/wofutil.def | 14 + lib/libc/mingw/libarm32/wsclient.def | 38 + lib/libc/mingw/libarm32/wsdapi.def | 52 + lib/libc/mingw/libarm32/wsmsvc.def | 3676 +++++++++++++++++ lib/libc/mingw/libarm32/wsnmp32.def | 58 + lib/libc/mingw/libarm32/xmllite.def | 13 + 397 files changed, 28202 insertions(+) create mode 100644 lib/libc/mingw/lib-common/activeds.def create mode 100644 lib/libc/mingw/lib-common/advpack.def create mode 100644 lib/libc/mingw/lib-common/api-ms-win-appmodel-runtime-l1-1-1.def create mode 100644 lib/libc/mingw/lib-common/api-ms-win-core-comm-l1-1-1.def create mode 100644 lib/libc/mingw/lib-common/api-ms-win-core-comm-l1-1-2.def create mode 100644 lib/libc/mingw/lib-common/api-ms-win-core-errorhandling-l1-1-3.def create mode 100644 lib/libc/mingw/lib-common/api-ms-win-core-featurestaging-l1-1-0.def create mode 100644 lib/libc/mingw/lib-common/api-ms-win-core-featurestaging-l1-1-1.def create mode 100644 lib/libc/mingw/lib-common/api-ms-win-core-file-fromapp-l1-1-0.def create mode 100644 lib/libc/mingw/lib-common/api-ms-win-core-handle-l1-1-0.def create mode 100644 lib/libc/mingw/lib-common/api-ms-win-core-libraryloader-l2-1-0.def create mode 100644 lib/libc/mingw/lib-common/api-ms-win-core-memory-l1-1-3.def create mode 100644 lib/libc/mingw/lib-common/api-ms-win-core-memory-l1-1-5.def create mode 100644 lib/libc/mingw/lib-common/api-ms-win-core-memory-l1-1-6.def create mode 100644 lib/libc/mingw/lib-common/api-ms-win-core-memory-l1-1-7.def create mode 100644 lib/libc/mingw/lib-common/api-ms-win-core-path-l1-1-0.def create mode 100644 lib/libc/mingw/lib-common/api-ms-win-core-psm-appnotify-l1-1-0.def create mode 100644 lib/libc/mingw/lib-common/api-ms-win-core-realtime-l1-1-1.def create mode 100644 lib/libc/mingw/lib-common/api-ms-win-core-realtime-l1-1-2.def create mode 100644 lib/libc/mingw/lib-common/api-ms-win-core-slapi-l1-1-0.def create mode 100644 lib/libc/mingw/lib-common/api-ms-win-core-synch-l1-2-0.def create mode 100644 lib/libc/mingw/lib-common/api-ms-win-core-sysinfo-l1-2-0.def create mode 100644 lib/libc/mingw/lib-common/api-ms-win-core-sysinfo-l1-2-3.def create mode 100644 lib/libc/mingw/lib-common/api-ms-win-core-winrt-error-l1-1-0.def create mode 100644 lib/libc/mingw/lib-common/api-ms-win-core-winrt-error-l1-1-1.def create mode 100644 lib/libc/mingw/lib-common/api-ms-win-core-winrt-l1-1-0.def create mode 100644 lib/libc/mingw/lib-common/api-ms-win-core-winrt-registration-l1-1-0.def create mode 100644 lib/libc/mingw/lib-common/api-ms-win-core-winrt-robuffer-l1-1-0.def create mode 100644 lib/libc/mingw/lib-common/api-ms-win-core-winrt-roparameterizediid-l1-1-0.def create mode 100644 lib/libc/mingw/lib-common/api-ms-win-core-winrt-string-l1-1-0.def create mode 100644 lib/libc/mingw/lib-common/api-ms-win-core-wow64-l1-1-1.def create mode 100644 lib/libc/mingw/lib-common/api-ms-win-devices-config-l1-1-1.def create mode 100644 lib/libc/mingw/lib-common/api-ms-win-gaming-deviceinformation-l1-1-0.def create mode 100644 lib/libc/mingw/lib-common/api-ms-win-gaming-expandedresources-l1-1-0.def create mode 100644 lib/libc/mingw/lib-common/api-ms-win-gaming-tcui-l1-1-0.def create mode 100644 lib/libc/mingw/lib-common/api-ms-win-gaming-tcui-l1-1-2.def create mode 100644 lib/libc/mingw/lib-common/api-ms-win-gaming-tcui-l1-1-3.def create mode 100644 lib/libc/mingw/lib-common/api-ms-win-gaming-tcui-l1-1-4.def create mode 100644 lib/libc/mingw/lib-common/api-ms-win-security-isolatedcontainer-l1-1-0.def create mode 100644 lib/libc/mingw/lib-common/api-ms-win-shcore-stream-winrt-l1-1-0.def create mode 100644 lib/libc/mingw/lib-common/authz.def create mode 100644 lib/libc/mingw/lib-common/bluetoothapis.def create mode 100644 lib/libc/mingw/lib-common/cabinet.def create mode 100644 lib/libc/mingw/lib-common/cfgmgr32.def create mode 100644 lib/libc/mingw/lib-common/clusapi.def create mode 100644 lib/libc/mingw/lib-common/credui.def create mode 100644 lib/libc/mingw/lib-common/cryptui.def create mode 100644 lib/libc/mingw/lib-common/cryptxml.def create mode 100644 lib/libc/mingw/lib-common/cscapi.def create mode 100644 lib/libc/mingw/lib-common/d2d1.def create mode 100644 lib/libc/mingw/lib-common/d3d10.def create mode 100644 lib/libc/mingw/lib-common/d3d11.def create mode 100644 lib/libc/mingw/lib-common/d3d12.def create mode 100644 lib/libc/mingw/lib-common/d3d9.def create mode 100644 lib/libc/mingw/lib-common/d3dcompiler_47.def create mode 100644 lib/libc/mingw/lib-common/davclnt.def create mode 100644 lib/libc/mingw/lib-common/dcomp.def create mode 100644 lib/libc/mingw/lib-common/ddraw.def create mode 100644 lib/libc/mingw/lib-common/dfscli.def create mode 100644 lib/libc/mingw/lib-common/dhcpcsvc.def create mode 100644 lib/libc/mingw/lib-common/dhcpsapi.def create mode 100644 lib/libc/mingw/lib-common/dinput8.def create mode 100644 lib/libc/mingw/lib-common/dnsapi.def create mode 100644 lib/libc/mingw/lib-common/dsound.def create mode 100644 lib/libc/mingw/lib-common/dsprop.def create mode 100644 lib/libc/mingw/lib-common/dsrole.def create mode 100644 lib/libc/mingw/lib-common/dssec.def create mode 100644 lib/libc/mingw/lib-common/dsuiext.def create mode 100644 lib/libc/mingw/lib-common/dwmapi.def create mode 100644 lib/libc/mingw/lib-common/dwrite.def create mode 100644 lib/libc/mingw/lib-common/dxgi.def create mode 100644 lib/libc/mingw/lib-common/dxva2.def create mode 100644 lib/libc/mingw/lib-common/eappcfg.def create mode 100644 lib/libc/mingw/lib-common/eappprxy.def create mode 100644 lib/libc/mingw/lib-common/elscore.def create mode 100644 lib/libc/mingw/lib-common/evr.def create mode 100644 lib/libc/mingw/lib-common/fltlib.def create mode 100644 lib/libc/mingw/lib-common/fontsub.def create mode 100644 lib/libc/mingw/lib-common/gpedit.def create mode 100644 lib/libc/mingw/lib-common/hid.def create mode 100644 lib/libc/mingw/lib-common/hlink.def create mode 100644 lib/libc/mingw/lib-common/icm32.def create mode 100644 lib/libc/mingw/lib-common/icmui.def create mode 100644 lib/libc/mingw/lib-common/ksuser.def create mode 100644 lib/libc/mingw/lib-common/ktmw32.def create mode 100644 lib/libc/mingw/lib-common/loadperf.def create mode 100644 lib/libc/mingw/lib-common/logoncli.def create mode 100644 lib/libc/mingw/lib-common/mapi32.def create mode 100644 lib/libc/mingw/lib-common/mf.def create mode 100644 lib/libc/mingw/lib-common/mfplat.def create mode 100644 lib/libc/mingw/lib-common/mfreadwrite.def create mode 100644 lib/libc/mingw/lib-common/mgmtapi.def create mode 100644 lib/libc/mingw/lib-common/mmdevapi.def create mode 100644 lib/libc/mingw/lib-common/msacm32.def create mode 100644 lib/libc/mingw/lib-common/msdmo.def create mode 100644 lib/libc/mingw/lib-common/msdrm.def create mode 100644 lib/libc/mingw/lib-common/msi.def create mode 100644 lib/libc/mingw/lib-common/msimg32.def create mode 100644 lib/libc/mingw/lib-common/msports.def create mode 100644 lib/libc/mingw/lib-common/mstask.def create mode 100644 lib/libc/mingw/lib-common/mtxdm.def create mode 100644 lib/libc/mingw/lib-common/ndfapi.def create mode 100644 lib/libc/mingw/lib-common/netutils.def create mode 100644 lib/libc/mingw/lib-common/normaliz.def create mode 100644 lib/libc/mingw/lib-common/ntdsapi.def create mode 100644 lib/libc/mingw/lib-common/oleacc.def create mode 100644 lib/libc/mingw/lib-common/oledlg.def create mode 100644 lib/libc/mingw/lib-common/p2p.def create mode 100644 lib/libc/mingw/lib-common/p2pgraph.def create mode 100644 lib/libc/mingw/lib-common/powrprof.def create mode 100644 lib/libc/mingw/lib-common/prntvpt.def create mode 100644 lib/libc/mingw/lib-common/propsys.def create mode 100644 lib/libc/mingw/lib-common/qwave.def create mode 100644 lib/libc/mingw/lib-common/resutils.def create mode 100644 lib/libc/mingw/lib-common/rstrtmgr.def create mode 100644 lib/libc/mingw/lib-common/samcli.def create mode 100644 lib/libc/mingw/lib-common/schannel.def create mode 100644 lib/libc/mingw/lib-common/schedcli.def create mode 100644 lib/libc/mingw/lib-common/secur32.def create mode 100644 lib/libc/mingw/lib-common/sensapi.def create mode 100644 lib/libc/mingw/lib-common/setupapi.def create mode 100644 lib/libc/mingw/lib-common/slcext.def create mode 100644 lib/libc/mingw/lib-common/slwga.def create mode 100644 lib/libc/mingw/lib-common/snmpapi.def create mode 100644 lib/libc/mingw/lib-common/srvcli.def create mode 100644 lib/libc/mingw/lib-common/sspicli.def create mode 100644 lib/libc/mingw/lib-common/t2embed.def create mode 100644 lib/libc/mingw/lib-common/tapi32.def create mode 100644 lib/libc/mingw/lib-common/tbs.def create mode 100644 lib/libc/mingw/lib-common/tdh.def create mode 100644 lib/libc/mingw/lib-common/traffic.def create mode 100644 lib/libc/mingw/lib-common/txfw32.def create mode 100644 lib/libc/mingw/lib-common/usp10.def create mode 100644 lib/libc/mingw/lib-common/uxtheme.def create mode 100644 lib/libc/mingw/lib-common/virtdisk.def create mode 100644 lib/libc/mingw/lib-common/websocket.def create mode 100644 lib/libc/mingw/lib-common/wecapi.def create mode 100644 lib/libc/mingw/lib-common/wevtapi.def create mode 100644 lib/libc/mingw/lib-common/windowscodecs.def create mode 100644 lib/libc/mingw/lib-common/winhttp.def create mode 100644 lib/libc/mingw/lib-common/wininet.def create mode 100644 lib/libc/mingw/lib-common/winusb.def create mode 100644 lib/libc/mingw/lib-common/wkscli.def create mode 100644 lib/libc/mingw/lib-common/wlanapi.def create mode 100644 lib/libc/mingw/lib-common/wscapi.def create mode 100644 lib/libc/mingw/lib-common/wtsapi32.def create mode 100644 lib/libc/mingw/lib32/aclui.def create mode 100644 lib/libc/mingw/lib32/activeds.def create mode 100644 lib/libc/mingw/lib32/api-ms-win-appmodel-runtime-l1-1-1.def create mode 100644 lib/libc/mingw/lib32/api-ms-win-core-comm-l1-1-1.def create mode 100644 lib/libc/mingw/lib32/api-ms-win-core-comm-l1-1-2.def create mode 100644 lib/libc/mingw/lib32/api-ms-win-core-errorhandling-l1-1-3.def create mode 100644 lib/libc/mingw/lib32/api-ms-win-core-featurestaging-l1-1-0.def create mode 100644 lib/libc/mingw/lib32/api-ms-win-core-featurestaging-l1-1-1.def create mode 100644 lib/libc/mingw/lib32/api-ms-win-core-file-fromapp-l1-1-0.def create mode 100644 lib/libc/mingw/lib32/api-ms-win-core-handle-l1-1-0.def create mode 100644 lib/libc/mingw/lib32/api-ms-win-core-libraryloader-l2-1-0.def create mode 100644 lib/libc/mingw/lib32/api-ms-win-core-memory-l1-1-3.def create mode 100644 lib/libc/mingw/lib32/api-ms-win-core-memory-l1-1-4.def create mode 100644 lib/libc/mingw/lib32/api-ms-win-core-memory-l1-1-5.def create mode 100644 lib/libc/mingw/lib32/api-ms-win-core-memory-l1-1-6.def create mode 100644 lib/libc/mingw/lib32/api-ms-win-core-memory-l1-1-7.def create mode 100644 lib/libc/mingw/lib32/api-ms-win-core-path-l1-1-0.def create mode 100644 lib/libc/mingw/lib32/api-ms-win-core-psm-appnotify-l1-1-0.def create mode 100644 lib/libc/mingw/lib32/api-ms-win-core-realtime-l1-1-1.def create mode 100644 lib/libc/mingw/lib32/api-ms-win-core-realtime-l1-1-2.def create mode 100644 lib/libc/mingw/lib32/api-ms-win-core-slapi-l1-1-0.def create mode 100644 lib/libc/mingw/lib32/api-ms-win-core-synch-l1-2-0.def create mode 100644 lib/libc/mingw/lib32/api-ms-win-core-sysinfo-l1-2-0.def create mode 100644 lib/libc/mingw/lib32/api-ms-win-core-sysinfo-l1-2-3.def create mode 100644 lib/libc/mingw/lib32/api-ms-win-core-winrt-error-l1-1-0.def create mode 100644 lib/libc/mingw/lib32/api-ms-win-core-winrt-error-l1-1-1.def create mode 100644 lib/libc/mingw/lib32/api-ms-win-core-winrt-l1-1-0.def create mode 100644 lib/libc/mingw/lib32/api-ms-win-core-winrt-registration-l1-1-0.def create mode 100644 lib/libc/mingw/lib32/api-ms-win-core-winrt-robuffer-l1-1-0.def create mode 100644 lib/libc/mingw/lib32/api-ms-win-core-winrt-roparameterizediid-l1-1-0.def create mode 100644 lib/libc/mingw/lib32/api-ms-win-core-winrt-string-l1-1-0.def create mode 100644 lib/libc/mingw/lib32/api-ms-win-core-wow64-l1-1-1.def create mode 100644 lib/libc/mingw/lib32/api-ms-win-devices-config-l1-1-1.def create mode 100644 lib/libc/mingw/lib32/api-ms-win-gaming-deviceinformation-l1-1-0.def create mode 100644 lib/libc/mingw/lib32/api-ms-win-gaming-expandedresources-l1-1-0.def create mode 100644 lib/libc/mingw/lib32/api-ms-win-gaming-tcui-l1-1-0.def create mode 100644 lib/libc/mingw/lib32/api-ms-win-gaming-tcui-l1-1-2.def create mode 100644 lib/libc/mingw/lib32/api-ms-win-gaming-tcui-l1-1-3.def create mode 100644 lib/libc/mingw/lib32/api-ms-win-gaming-tcui-l1-1-4.def create mode 100644 lib/libc/mingw/lib32/api-ms-win-security-isolatedcontainer-l1-1-0.def create mode 100644 lib/libc/mingw/lib32/api-ms-win-shcore-stream-winrt-l1-1-0.def create mode 100644 lib/libc/mingw/lib32/authz.def create mode 100644 lib/libc/mingw/lib32/avicap32.def create mode 100644 lib/libc/mingw/lib32/avifil32.def create mode 100644 lib/libc/mingw/lib32/bluetoothapis.def create mode 100644 lib/libc/mingw/lib32/bthprops.def create mode 100644 lib/libc/mingw/lib32/cabinet.def create mode 100644 lib/libc/mingw/lib32/cfgmgr32.def create mode 100644 lib/libc/mingw/lib32/clfsw32.def create mode 100644 lib/libc/mingw/lib32/clusapi.def create mode 100644 lib/libc/mingw/lib32/credui.def create mode 100644 lib/libc/mingw/lib32/cryptxml.def create mode 100644 lib/libc/mingw/lib32/cscapi.def create mode 100644 lib/libc/mingw/lib32/d2d1.def create mode 100644 lib/libc/mingw/lib32/d3d10.def create mode 100644 lib/libc/mingw/lib32/d3d11.def create mode 100644 lib/libc/mingw/lib32/d3d12.def create mode 100644 lib/libc/mingw/lib32/d3d9.def create mode 100644 lib/libc/mingw/lib32/d3dcompiler_47.def create mode 100644 lib/libc/mingw/lib32/davclnt.def create mode 100644 lib/libc/mingw/lib32/dcomp.def create mode 100644 lib/libc/mingw/lib32/ddraw.def create mode 100644 lib/libc/mingw/lib32/dfscli.def create mode 100644 lib/libc/mingw/lib32/dhcpcsvc.def create mode 100644 lib/libc/mingw/lib32/dhcpcsvc6.def create mode 100644 lib/libc/mingw/lib32/dhcpsapi.def create mode 100644 lib/libc/mingw/lib32/dinput8.def create mode 100644 lib/libc/mingw/lib32/dnsapi.def create mode 100644 lib/libc/mingw/lib32/dsound.def create mode 100644 lib/libc/mingw/lib32/dsrole.def create mode 100644 lib/libc/mingw/lib32/dssec.def create mode 100644 lib/libc/mingw/lib32/dwmapi.def create mode 100644 lib/libc/mingw/lib32/dwrite.def create mode 100644 lib/libc/mingw/lib32/dxgi.def create mode 100644 lib/libc/mingw/lib32/dxva2.def create mode 100644 lib/libc/mingw/lib32/eappcfg.def create mode 100644 lib/libc/mingw/lib32/eappprxy.def create mode 100644 lib/libc/mingw/lib32/elscore.def create mode 100644 lib/libc/mingw/lib32/esent.def create mode 100644 lib/libc/mingw/lib32/evr.def create mode 100644 lib/libc/mingw/lib32/faultrep.def create mode 100644 lib/libc/mingw/lib32/fwpuclnt.def create mode 100644 lib/libc/mingw/lib32/gpedit.def create mode 100644 lib/libc/mingw/lib32/hid.def create mode 100644 lib/libc/mingw/lib32/httpapi.def create mode 100644 lib/libc/mingw/lib32/icmui.def create mode 100644 lib/libc/mingw/lib32/iscsidsc.def create mode 100644 lib/libc/mingw/lib32/ksuser.def create mode 100644 lib/libc/mingw/lib32/ktmw32.def create mode 100644 lib/libc/mingw/lib32/logoncli.def create mode 100644 lib/libc/mingw/lib32/mapi32.def create mode 100644 lib/libc/mingw/lib32/mf.def create mode 100644 lib/libc/mingw/lib32/mfplat.def create mode 100644 lib/libc/mingw/lib32/mfreadwrite.def create mode 100644 lib/libc/mingw/lib32/mgmtapi.def create mode 100644 lib/libc/mingw/lib32/mmdevapi.def create mode 100644 lib/libc/mingw/lib32/mprapi.def create mode 100644 lib/libc/mingw/lib32/msacm32.def create mode 100644 lib/libc/mingw/lib32/mscms.def create mode 100644 lib/libc/mingw/lib32/msctfmonitor.def create mode 100644 lib/libc/mingw/lib32/msdmo.def create mode 100644 lib/libc/mingw/lib32/msdrm.def create mode 100644 lib/libc/mingw/lib32/msi.def create mode 100644 lib/libc/mingw/lib32/msimg32.def create mode 100644 lib/libc/mingw/lib32/mstask.def create mode 100644 lib/libc/mingw/lib32/msvfw32.def create mode 100644 lib/libc/mingw/lib32/ndfapi.def create mode 100644 lib/libc/mingw/lib32/netutils.def create mode 100644 lib/libc/mingw/lib32/newdev.def create mode 100644 lib/libc/mingw/lib32/normaliz.def create mode 100644 lib/libc/mingw/lib32/ntdsapi.def create mode 100644 lib/libc/mingw/lib32/oleacc.def create mode 100644 lib/libc/mingw/lib32/oledlg.def create mode 100644 lib/libc/mingw/lib32/p2p.def create mode 100644 lib/libc/mingw/lib32/p2pgraph.def create mode 100644 lib/libc/mingw/lib32/pdh.def create mode 100644 lib/libc/mingw/lib32/powrprof.def create mode 100644 lib/libc/mingw/lib32/prntvpt.def create mode 100644 lib/libc/mingw/lib32/propsys.def create mode 100644 lib/libc/mingw/lib32/quartz.def create mode 100644 lib/libc/mingw/lib32/qwave.def create mode 100644 lib/libc/mingw/lib32/rasapi32.def create mode 100644 lib/libc/mingw/lib32/rasdlg.def create mode 100644 lib/libc/mingw/lib32/rstrtmgr.def create mode 100644 lib/libc/mingw/lib32/rtm.def create mode 100644 lib/libc/mingw/lib32/samcli.def create mode 100644 lib/libc/mingw/lib32/schannel.def create mode 100644 lib/libc/mingw/lib32/schedcli.def create mode 100644 lib/libc/mingw/lib32/secur32.def create mode 100644 lib/libc/mingw/lib32/slc.def create mode 100644 lib/libc/mingw/lib32/slcext.def create mode 100644 lib/libc/mingw/lib32/slwga.def create mode 100644 lib/libc/mingw/lib32/snmpapi.def create mode 100644 lib/libc/mingw/lib32/spoolss.def create mode 100644 lib/libc/mingw/lib32/srvcli.def create mode 100644 lib/libc/mingw/lib32/sspicli.def create mode 100644 lib/libc/mingw/lib32/t2embed.def create mode 100644 lib/libc/mingw/lib32/tapi32.def create mode 100644 lib/libc/mingw/lib32/tbs.def create mode 100644 lib/libc/mingw/lib32/tdh.def create mode 100644 lib/libc/mingw/lib32/txfw32.def create mode 100644 lib/libc/mingw/lib32/usp10.def create mode 100644 lib/libc/mingw/lib32/uxtheme.def create mode 100644 lib/libc/mingw/lib32/virtdisk.def create mode 100644 lib/libc/mingw/lib32/vssapi.def create mode 100644 lib/libc/mingw/lib32/wdsclientapi.def create mode 100644 lib/libc/mingw/lib32/wdstptc.def create mode 100644 lib/libc/mingw/lib32/websocket.def create mode 100644 lib/libc/mingw/lib32/wecapi.def create mode 100644 lib/libc/mingw/lib32/wer.def create mode 100644 lib/libc/mingw/lib32/wevtapi.def create mode 100644 lib/libc/mingw/lib32/windowscodecs.def create mode 100644 lib/libc/mingw/lib32/winhttp.def create mode 100644 lib/libc/mingw/lib32/wininet.def create mode 100644 lib/libc/mingw/lib32/winusb.def create mode 100644 lib/libc/mingw/lib32/wkscli.def create mode 100644 lib/libc/mingw/lib32/wlanapi.def create mode 100644 lib/libc/mingw/lib32/wsdapi.def create mode 100644 lib/libc/mingw/lib32/wsnmp32.def create mode 100644 lib/libc/mingw/lib32/wtsapi32.def create mode 100644 lib/libc/mingw/lib64/aclui.def create mode 100644 lib/libc/mingw/lib64/apphelp.def create mode 100644 lib/libc/mingw/lib64/avicap32.def create mode 100644 lib/libc/mingw/lib64/avifil32.def create mode 100644 lib/libc/mingw/lib64/bthprops.def create mode 100644 lib/libc/mingw/lib64/clfsw32.def create mode 100644 lib/libc/mingw/lib64/comsvcs.def create mode 100644 lib/libc/mingw/lib64/dciman32.def create mode 100644 lib/libc/mingw/lib64/dhcpcsvc6.def create mode 100644 lib/libc/mingw/lib64/esent.def create mode 100644 lib/libc/mingw/lib64/faultrep.def create mode 100644 lib/libc/mingw/lib64/fwpuclnt.def create mode 100644 lib/libc/mingw/lib64/httpapi.def create mode 100644 lib/libc/mingw/lib64/iscsidsc.def create mode 100644 lib/libc/mingw/lib64/mprapi.def create mode 100644 lib/libc/mingw/lib64/mscms.def create mode 100644 lib/libc/mingw/lib64/msctfmonitor.def create mode 100644 lib/libc/mingw/lib64/msvfw32.def create mode 100644 lib/libc/mingw/lib64/newdev.def create mode 100644 lib/libc/mingw/lib64/ntlanman.def create mode 100644 lib/libc/mingw/lib64/pdh.def create mode 100644 lib/libc/mingw/lib64/quartz.def create mode 100644 lib/libc/mingw/lib64/query.def create mode 100644 lib/libc/mingw/lib64/rasapi32.def create mode 100644 lib/libc/mingw/lib64/rasdlg.def create mode 100644 lib/libc/mingw/lib64/rtm.def create mode 100644 lib/libc/mingw/lib64/sfc.def create mode 100644 lib/libc/mingw/lib64/shdocvw.def create mode 100644 lib/libc/mingw/lib64/slc.def create mode 100644 lib/libc/mingw/lib64/spoolss.def create mode 100644 lib/libc/mingw/lib64/vssapi.def create mode 100644 lib/libc/mingw/lib64/wdsclientapi.def create mode 100644 lib/libc/mingw/lib64/wdstptc.def create mode 100644 lib/libc/mingw/lib64/wer.def create mode 100644 lib/libc/mingw/lib64/winfax.def create mode 100644 lib/libc/mingw/lib64/winsta.def create mode 100644 lib/libc/mingw/lib64/wsdapi.def create mode 100644 lib/libc/mingw/libarm32/aclui.def create mode 100644 lib/libc/mingw/libarm32/apphelp.def create mode 100644 lib/libc/mingw/libarm32/certpoleng.def create mode 100644 lib/libc/mingw/libarm32/clfsw32.def create mode 100644 lib/libc/mingw/libarm32/comsvcs.def create mode 100644 lib/libc/mingw/libarm32/d3d10_1.def create mode 100644 lib/libc/mingw/libarm32/deviceaccess.def create mode 100644 lib/libc/mingw/libarm32/dhcpcsvc6.def create mode 100644 lib/libc/mingw/libarm32/drt.def create mode 100644 lib/libc/mingw/libarm32/drtprov.def create mode 100644 lib/libc/mingw/libarm32/drttransport.def create mode 100644 lib/libc/mingw/libarm32/dsparse.def create mode 100644 lib/libc/mingw/libarm32/efswrt.def create mode 100644 lib/libc/mingw/libarm32/esent.def create mode 100644 lib/libc/mingw/libarm32/faultrep.def create mode 100644 lib/libc/mingw/libarm32/fhsvcctl.def create mode 100644 lib/libc/mingw/libarm32/fwpuclnt.def create mode 100644 lib/libc/mingw/libarm32/httpapi.def create mode 100644 lib/libc/mingw/libarm32/magnification.def create mode 100644 lib/libc/mingw/libarm32/mdmregistration.def create mode 100644 lib/libc/mingw/libarm32/mfcore.def create mode 100644 lib/libc/mingw/libarm32/mfplay.def create mode 100644 lib/libc/mingw/libarm32/mfsrcsnk.def create mode 100644 lib/libc/mingw/libarm32/mprapi.def create mode 100644 lib/libc/mingw/libarm32/mscms.def create mode 100644 lib/libc/mingw/libarm32/msctfmonitor.def create mode 100644 lib/libc/mingw/libarm32/newdev.def create mode 100644 lib/libc/mingw/libarm32/ninput.def create mode 100644 lib/libc/mingw/libarm32/ntlanman.def create mode 100644 lib/libc/mingw/libarm32/ondemandconnroutehelper.def create mode 100644 lib/libc/mingw/libarm32/pdh.def create mode 100644 lib/libc/mingw/libarm32/query.def create mode 100644 lib/libc/mingw/libarm32/rasapi32.def create mode 100644 lib/libc/mingw/libarm32/rasdlg.def create mode 100644 lib/libc/mingw/libarm32/rometadata.def create mode 100644 lib/libc/mingw/libarm32/sas.def create mode 100644 lib/libc/mingw/libarm32/sfc.def create mode 100644 lib/libc/mingw/libarm32/shdocvw.def create mode 100644 lib/libc/mingw/libarm32/slc.def create mode 100644 lib/libc/mingw/libarm32/spoolss.def create mode 100644 lib/libc/mingw/libarm32/uiautomationcore.def create mode 100644 lib/libc/mingw/libarm32/vssapi.def create mode 100644 lib/libc/mingw/libarm32/wcmapi.def create mode 100644 lib/libc/mingw/libarm32/webservices.def create mode 100644 lib/libc/mingw/libarm32/wer.def create mode 100644 lib/libc/mingw/libarm32/winbio.def create mode 100644 lib/libc/mingw/libarm32/winsta.def create mode 100644 lib/libc/mingw/libarm32/wldp.def create mode 100644 lib/libc/mingw/libarm32/wofutil.def create mode 100644 lib/libc/mingw/libarm32/wsclient.def create mode 100644 lib/libc/mingw/libarm32/wsdapi.def create mode 100644 lib/libc/mingw/libarm32/wsmsvc.def create mode 100644 lib/libc/mingw/libarm32/wsnmp32.def create mode 100644 lib/libc/mingw/libarm32/xmllite.def diff --git a/lib/libc/mingw/lib-common/activeds.def b/lib/libc/mingw/lib-common/activeds.def new file mode 100644 index 0000000000..a0a2c72075 --- /dev/null +++ b/lib/libc/mingw/lib-common/activeds.def @@ -0,0 +1,39 @@ +; +; Exports of file ACTIVEDS.dll +; +; Autogenerated by gen_exportdef +; Written by Kai Tietz, 2007 +; +LIBRARY ACTIVEDS.dll +EXPORTS +ADsGetObject +ADsBuildEnumerator +ADsFreeEnumerator +ADsEnumerateNext +ADsBuildVarArrayStr +ADsBuildVarArrayInt +ADsOpenObject +DllCanUnloadNow +DllGetClassObject +ADsSetLastError +ADsGetLastError +AllocADsMem +FreeADsMem +ReallocADsMem +AllocADsStr +FreeADsStr +ReallocADsStr +ADsEncodeBinaryData +PropVariantToAdsType +AdsTypeToPropVariant +AdsFreeAdsValues +ADsDecodeBinaryData +AdsTypeToPropVariant2 +PropVariantToAdsType2 +ConvertSecDescriptorToVariant +ConvertSecurityDescriptorToSecDes +BinarySDToSecurityDescriptor +SecurityDescriptorToBinarySD +ConvertTrusteeToSid +DllRegisterServer +DllUnregisterServer diff --git a/lib/libc/mingw/lib-common/advpack.def b/lib/libc/mingw/lib-common/advpack.def new file mode 100644 index 0000000000..2c9de94414 --- /dev/null +++ b/lib/libc/mingw/lib-common/advpack.def @@ -0,0 +1,91 @@ +LIBRARY "ADVPACK.dll" +EXPORTS +DelNodeRunDLL32 +DelNodeRunDLL32A +DoInfInstall +DoInfInstallA +DoInfInstallW +FileSaveRestore +FileSaveRestoreA +LaunchINFSectionA +LaunchINFSectionEx +LaunchINFSectionExA +RegisterOCX +RegisterOCXW +AddDelBackupEntry +AddDelBackupEntryA +AddDelBackupEntryW +AdvInstallFile +AdvInstallFileA +AdvInstallFileW +CloseINFEngine +DelNode +DelNodeA +DelNodeRunDLL32 +DelNodeRunDLL32W +DelNodeW +DoInfInstall +ExecuteCab +ExecuteCabA +ExecuteCabW +ExtractFiles +ExtractFilesA +ExtractFilesW +FileSaveMarkNotExist +FileSaveMarkNotExistA +FileSaveMarkNotExistW +FileSaveRestore +FileSaveRestoreOnINF +FileSaveRestoreOnINFA +FileSaveRestoreOnINFW +FileSaveRestoreW +GetVersionFromFile +GetVersionFromFileA +GetVersionFromFileEx +GetVersionFromFileExA +GetVersionFromFileExW +GetVersionFromFileW +IsNTAdmin +LaunchINFSection +LaunchINFSectionEx +LaunchINFSectionExW +LaunchINFSectionW +NeedReboot +NeedRebootInit +OpenINFEngine +OpenINFEngineA +OpenINFEngineW +RebootCheckOnInstall +RebootCheckOnInstallA +RebootCheckOnInstallW +RegInstall +RegInstallA +RegInstallW +RegRestoreAll +RegRestoreAllA +RegRestoreAllW +RegSaveRestore +RegSaveRestoreA +RegSaveRestoreOnINF +RegSaveRestoreOnINFA +RegSaveRestoreOnINFW +RegSaveRestoreW +RegisterOCX +RunSetupCommand +RunSetupCommandA +RunSetupCommandW +SetPerUserSecValues +SetPerUserSecValuesA +SetPerUserSecValuesW +TranslateInfString +TranslateInfStringA +TranslateInfStringEx +TranslateInfStringExA +TranslateInfStringExW +TranslateInfStringW +UserInstStubWrapper +UserInstStubWrapperA +UserInstStubWrapperW +UserUnInstStubWrapper +UserUnInstStubWrapperA +UserUnInstStubWrapperW diff --git a/lib/libc/mingw/lib-common/api-ms-win-appmodel-runtime-l1-1-1.def b/lib/libc/mingw/lib-common/api-ms-win-appmodel-runtime-l1-1-1.def new file mode 100644 index 0000000000..143477f43c --- /dev/null +++ b/lib/libc/mingw/lib-common/api-ms-win-appmodel-runtime-l1-1-1.def @@ -0,0 +1,19 @@ +LIBRARY api-ms-win-appmodel-runtime-l1-1-1 + +EXPORTS + +FormatApplicationUserModelId +GetCurrentApplicationUserModelId +GetCurrentPackageFamilyName +GetCurrentPackageId +PackageFamilyNameFromFullName +PackageFamilyNameFromId +PackageFullNameFromId +PackageIdFromFullName +PackageNameAndPublisherIdFromFamilyName +ParseApplicationUserModelId +VerifyApplicationUserModelId +VerifyPackageFamilyName +VerifyPackageFullName +VerifyPackageId +VerifyPackageRelativeApplicationId diff --git a/lib/libc/mingw/lib-common/api-ms-win-core-comm-l1-1-1.def b/lib/libc/mingw/lib-common/api-ms-win-core-comm-l1-1-1.def new file mode 100644 index 0000000000..5a3d6900b8 --- /dev/null +++ b/lib/libc/mingw/lib-common/api-ms-win-core-comm-l1-1-1.def @@ -0,0 +1,23 @@ +LIBRARY api-ms-win-core-comm-l1-1-1 + +EXPORTS + +ClearCommBreak +ClearCommError +EscapeCommFunction +GetCommConfig +GetCommMask +GetCommModemStatus +GetCommProperties +GetCommState +GetCommTimeouts +OpenCommPort +PurgeComm +SetCommBreak +SetCommConfig +SetCommMask +SetCommState +SetCommTimeouts +SetupComm +TransmitCommChar +WaitCommEvent diff --git a/lib/libc/mingw/lib-common/api-ms-win-core-comm-l1-1-2.def b/lib/libc/mingw/lib-common/api-ms-win-core-comm-l1-1-2.def new file mode 100644 index 0000000000..8893715bba --- /dev/null +++ b/lib/libc/mingw/lib-common/api-ms-win-core-comm-l1-1-2.def @@ -0,0 +1,24 @@ +LIBRARY api-ms-win-core-comm-l1-1-2 + +EXPORTS + +ClearCommBreak +ClearCommError +EscapeCommFunction +GetCommConfig +GetCommMask +GetCommModemStatus +GetCommPorts +GetCommProperties +GetCommState +GetCommTimeouts +OpenCommPort +PurgeComm +SetCommBreak +SetCommConfig +SetCommMask +SetCommState +SetCommTimeouts +SetupComm +TransmitCommChar +WaitCommEvent diff --git a/lib/libc/mingw/lib-common/api-ms-win-core-errorhandling-l1-1-3.def b/lib/libc/mingw/lib-common/api-ms-win-core-errorhandling-l1-1-3.def new file mode 100644 index 0000000000..7f0541e3e2 --- /dev/null +++ b/lib/libc/mingw/lib-common/api-ms-win-core-errorhandling-l1-1-3.def @@ -0,0 +1,17 @@ +LIBRARY api-ms-win-core-errorhandling-l1-1-3 + +EXPORTS + +AddVectoredExceptionHandler +FatalAppExitA +FatalAppExitW +GetLastError +GetThreadErrorMode +RaiseException +RaiseFailFastException +RemoveVectoredExceptionHandler +SetErrorMode +SetLastError +SetThreadErrorMode +SetUnhandledExceptionFilter +UnhandledExceptionFilter diff --git a/lib/libc/mingw/lib-common/api-ms-win-core-featurestaging-l1-1-0.def b/lib/libc/mingw/lib-common/api-ms-win-core-featurestaging-l1-1-0.def new file mode 100644 index 0000000000..9ad6c2ad38 --- /dev/null +++ b/lib/libc/mingw/lib-common/api-ms-win-core-featurestaging-l1-1-0.def @@ -0,0 +1,9 @@ +LIBRARY api-ms-win-core-featurestaging-l1-1-0 + +EXPORTS + +GetFeatureEnabledState +RecordFeatureError +RecordFeatureUsage +SubscribeFeatureStateChangeNotification +UnsubscribeFeatureStateChangeNotification diff --git a/lib/libc/mingw/lib-common/api-ms-win-core-featurestaging-l1-1-1.def b/lib/libc/mingw/lib-common/api-ms-win-core-featurestaging-l1-1-1.def new file mode 100644 index 0000000000..76ebcd8396 --- /dev/null +++ b/lib/libc/mingw/lib-common/api-ms-win-core-featurestaging-l1-1-1.def @@ -0,0 +1,10 @@ +LIBRARY api-ms-win-core-featurestaging-l1-1-1 + +EXPORTS + +GetFeatureEnabledState +GetFeatureVariant +RecordFeatureError +RecordFeatureUsage +SubscribeFeatureStateChangeNotification +UnsubscribeFeatureStateChangeNotification diff --git a/lib/libc/mingw/lib-common/api-ms-win-core-file-fromapp-l1-1-0.def b/lib/libc/mingw/lib-common/api-ms-win-core-file-fromapp-l1-1-0.def new file mode 100644 index 0000000000..d5b2c33d11 --- /dev/null +++ b/lib/libc/mingw/lib-common/api-ms-win-core-file-fromapp-l1-1-0.def @@ -0,0 +1,15 @@ +LIBRARY api-ms-win-core-file-fromapp-l1-1-0 + +EXPORTS + +CopyFileFromAppW +CreateDirectoryFromAppW +CreateFile2FromAppW +CreateFileFromAppW +DeleteFileFromAppW +FindFirstFileExFromAppW +GetFileAttributesExFromAppW +MoveFileFromAppW +RemoveDirectoryFromAppW +ReplaceFileFromAppW +SetFileAttributesFromAppW diff --git a/lib/libc/mingw/lib-common/api-ms-win-core-handle-l1-1-0.def b/lib/libc/mingw/lib-common/api-ms-win-core-handle-l1-1-0.def new file mode 100644 index 0000000000..ae6df29659 --- /dev/null +++ b/lib/libc/mingw/lib-common/api-ms-win-core-handle-l1-1-0.def @@ -0,0 +1,9 @@ +LIBRARY api-ms-win-core-handle-l1-1-0 + +EXPORTS + +CloseHandle +CompareObjectHandles +DuplicateHandle +GetHandleInformation +SetHandleInformation diff --git a/lib/libc/mingw/lib-common/api-ms-win-core-libraryloader-l2-1-0.def b/lib/libc/mingw/lib-common/api-ms-win-core-libraryloader-l2-1-0.def new file mode 100644 index 0000000000..eba35f6ad8 --- /dev/null +++ b/lib/libc/mingw/lib-common/api-ms-win-core-libraryloader-l2-1-0.def @@ -0,0 +1,6 @@ +LIBRARY api-ms-win-core-libraryloader-l2-1-0 + +EXPORTS + +LoadPackagedLibrary +QueryOptionalDelayLoadedAPI diff --git a/lib/libc/mingw/lib-common/api-ms-win-core-memory-l1-1-3.def b/lib/libc/mingw/lib-common/api-ms-win-core-memory-l1-1-3.def new file mode 100644 index 0000000000..b91301618e --- /dev/null +++ b/lib/libc/mingw/lib-common/api-ms-win-core-memory-l1-1-3.def @@ -0,0 +1,35 @@ +LIBRARY api-ms-win-core-memory-l1-1-3 + +EXPORTS + +CreateFileMappingFromApp +CreateFileMappingW +DiscardVirtualMemory +FlushViewOfFile +GetLargePageMinimum +GetProcessWorkingSetSizeEx +GetWriteWatch +MapViewOfFile +MapViewOfFileEx +MapViewOfFileFromApp +OfferVirtualMemory +OpenFileMappingFromApp +OpenFileMappingW +ReadProcessMemory +ReclaimVirtualMemory +ResetWriteWatch +SetProcessValidCallTargets +SetProcessWorkingSetSizeEx +UnmapViewOfFile +UnmapViewOfFileEx +VirtualAlloc +VirtualAllocFromApp +VirtualFree +VirtualFreeEx +VirtualLock +VirtualProtect +VirtualProtectFromApp +VirtualQuery +VirtualQueryEx +VirtualUnlock +WriteProcessMemory diff --git a/lib/libc/mingw/lib-common/api-ms-win-core-memory-l1-1-5.def b/lib/libc/mingw/lib-common/api-ms-win-core-memory-l1-1-5.def new file mode 100644 index 0000000000..4b20b8b96b --- /dev/null +++ b/lib/libc/mingw/lib-common/api-ms-win-core-memory-l1-1-5.def @@ -0,0 +1,37 @@ +LIBRARY api-ms-win-core-memory-l1-1-5 + +EXPORTS + +CreateFileMappingFromApp +CreateFileMappingW +DiscardVirtualMemory +FlushViewOfFile +GetLargePageMinimum +GetProcessWorkingSetSizeEx +GetWriteWatch +MapViewOfFile +MapViewOfFileEx +MapViewOfFileFromApp +OfferVirtualMemory +OpenFileMappingFromApp +OpenFileMappingW +ReadProcessMemory +ReclaimVirtualMemory +ResetWriteWatch +SetProcessValidCallTargets +SetProcessWorkingSetSizeEx +UnmapViewOfFile +UnmapViewOfFile2 +UnmapViewOfFileEx +VirtualAlloc +VirtualAllocFromApp +VirtualFree +VirtualFreeEx +VirtualLock +VirtualProtect +VirtualProtectFromApp +VirtualQuery +VirtualQueryEx +VirtualUnlock +VirtualUnlockEx +WriteProcessMemory diff --git a/lib/libc/mingw/lib-common/api-ms-win-core-memory-l1-1-6.def b/lib/libc/mingw/lib-common/api-ms-win-core-memory-l1-1-6.def new file mode 100644 index 0000000000..5b3de9cadb --- /dev/null +++ b/lib/libc/mingw/lib-common/api-ms-win-core-memory-l1-1-6.def @@ -0,0 +1,39 @@ +LIBRARY api-ms-win-core-memory-l1-1-6 + +EXPORTS + +CreateFileMappingFromApp +CreateFileMappingW +DiscardVirtualMemory +FlushViewOfFile +GetLargePageMinimum +GetProcessWorkingSetSizeEx +GetWriteWatch +MapViewOfFile +MapViewOfFile3FromApp +MapViewOfFileEx +MapViewOfFileFromApp +OfferVirtualMemory +OpenFileMappingFromApp +OpenFileMappingW +ReadProcessMemory +ReclaimVirtualMemory +ResetWriteWatch +SetProcessValidCallTargets +SetProcessWorkingSetSizeEx +UnmapViewOfFile +UnmapViewOfFile2 +UnmapViewOfFileEx +VirtualAlloc +VirtualAlloc2FromApp +VirtualAllocFromApp +VirtualFree +VirtualFreeEx +VirtualLock +VirtualProtect +VirtualProtectFromApp +VirtualQuery +VirtualQueryEx +VirtualUnlock +VirtualUnlockEx +WriteProcessMemory diff --git a/lib/libc/mingw/lib-common/api-ms-win-core-memory-l1-1-7.def b/lib/libc/mingw/lib-common/api-ms-win-core-memory-l1-1-7.def new file mode 100644 index 0000000000..86624f6c75 --- /dev/null +++ b/lib/libc/mingw/lib-common/api-ms-win-core-memory-l1-1-7.def @@ -0,0 +1,40 @@ +LIBRARY api-ms-win-core-memory-l1-1-7 + +EXPORTS + +CreateFileMappingFromApp +CreateFileMappingW +DiscardVirtualMemory +FlushViewOfFile +GetLargePageMinimum +GetProcessWorkingSetSizeEx +GetWriteWatch +MapViewOfFile +MapViewOfFile3FromApp +MapViewOfFileEx +MapViewOfFileFromApp +OfferVirtualMemory +OpenFileMappingFromApp +OpenFileMappingW +ReadProcessMemory +ReclaimVirtualMemory +ResetWriteWatch +SetProcessValidCallTargets +SetProcessValidCallTargetsForMappedView +SetProcessWorkingSetSizeEx +UnmapViewOfFile +UnmapViewOfFile2 +UnmapViewOfFileEx +VirtualAlloc +VirtualAlloc2FromApp +VirtualAllocFromApp +VirtualFree +VirtualFreeEx +VirtualLock +VirtualProtect +VirtualProtectFromApp +VirtualQuery +VirtualQueryEx +VirtualUnlock +VirtualUnlockEx +WriteProcessMemory diff --git a/lib/libc/mingw/lib-common/api-ms-win-core-path-l1-1-0.def b/lib/libc/mingw/lib-common/api-ms-win-core-path-l1-1-0.def new file mode 100644 index 0000000000..42ca163355 --- /dev/null +++ b/lib/libc/mingw/lib-common/api-ms-win-core-path-l1-1-0.def @@ -0,0 +1,26 @@ +LIBRARY api-ms-win-core-path-l1-1-0 + +EXPORTS + +PathAllocCanonicalize +PathAllocCombine +PathCchAddBackslash +PathCchAddBackslashEx +PathCchAddExtension +PathCchAppend +PathCchAppendEx +PathCchCanonicalize +PathCchCanonicalizeEx +PathCchCombine +PathCchCombineEx +PathCchFindExtension +PathCchIsRoot +PathCchRemoveBackslash +PathCchRemoveBackslashEx +PathCchRemoveExtension +PathCchRemoveFileSpec +PathCchRenameExtension +PathCchSkipRoot +PathCchStripPrefix +PathCchStripToRoot +PathIsUNCEx diff --git a/lib/libc/mingw/lib-common/api-ms-win-core-psm-appnotify-l1-1-0.def b/lib/libc/mingw/lib-common/api-ms-win-core-psm-appnotify-l1-1-0.def new file mode 100644 index 0000000000..fbddce139b --- /dev/null +++ b/lib/libc/mingw/lib-common/api-ms-win-core-psm-appnotify-l1-1-0.def @@ -0,0 +1,6 @@ +LIBRARY api-ms-win-core-psm-appnotify-l1-1-0 + +EXPORTS + +RegisterAppStateChangeNotification +UnregisterAppStateChangeNotification diff --git a/lib/libc/mingw/lib-common/api-ms-win-core-realtime-l1-1-1.def b/lib/libc/mingw/lib-common/api-ms-win-core-realtime-l1-1-1.def new file mode 100644 index 0000000000..c41a39b4d7 --- /dev/null +++ b/lib/libc/mingw/lib-common/api-ms-win-core-realtime-l1-1-1.def @@ -0,0 +1,9 @@ +LIBRARY api-ms-win-core-realtime-l1-1-1 + +EXPORTS + +QueryInterruptTime +QueryInterruptTimePrecise +QueryThreadCycleTime +QueryUnbiasedInterruptTime +QueryUnbiasedInterruptTimePrecise diff --git a/lib/libc/mingw/lib-common/api-ms-win-core-realtime-l1-1-2.def b/lib/libc/mingw/lib-common/api-ms-win-core-realtime-l1-1-2.def new file mode 100644 index 0000000000..a5122dc173 --- /dev/null +++ b/lib/libc/mingw/lib-common/api-ms-win-core-realtime-l1-1-2.def @@ -0,0 +1,12 @@ +LIBRARY api-ms-win-core-realtime-l1-1-2 + +EXPORTS + +ConvertAuxiliaryCounterToPerformanceCounter +ConvertPerformanceCounterToAuxiliaryCounter +QueryAuxiliaryCounterFrequency +QueryInterruptTime +QueryInterruptTimePrecise +QueryThreadCycleTime +QueryUnbiasedInterruptTime +QueryUnbiasedInterruptTimePrecise diff --git a/lib/libc/mingw/lib-common/api-ms-win-core-slapi-l1-1-0.def b/lib/libc/mingw/lib-common/api-ms-win-core-slapi-l1-1-0.def new file mode 100644 index 0000000000..89413f9f12 --- /dev/null +++ b/lib/libc/mingw/lib-common/api-ms-win-core-slapi-l1-1-0.def @@ -0,0 +1,6 @@ +LIBRARY api-ms-win-core-slapi-l1-1-0 + +EXPORTS + +SLQueryLicenseValueFromApp +SLQueryLicenseValueFromApp2 diff --git a/lib/libc/mingw/lib-common/api-ms-win-core-synch-l1-2-0.def b/lib/libc/mingw/lib-common/api-ms-win-core-synch-l1-2-0.def new file mode 100644 index 0000000000..d860c9b0f1 --- /dev/null +++ b/lib/libc/mingw/lib-common/api-ms-win-core-synch-l1-2-0.def @@ -0,0 +1,59 @@ +LIBRARY api-ms-win-core-synch-l1-2-0 + +EXPORTS + +AcquireSRWLockExclusive +AcquireSRWLockShared +CancelWaitableTimer +CreateEventA +CreateEventExA +CreateEventExW +CreateEventW +CreateMutexA +CreateMutexExA +CreateMutexExW +CreateMutexW +CreateSemaphoreExW +CreateWaitableTimerExW +DeleteCriticalSection +EnterCriticalSection +InitializeConditionVariable +InitializeCriticalSection +InitializeCriticalSectionAndSpinCount +InitializeCriticalSectionEx +InitializeSRWLock +InitOnceBeginInitialize +InitOnceComplete +InitOnceExecuteOnce +InitOnceInitialize +LeaveCriticalSection +OpenEventA +OpenEventW +OpenMutexW +OpenSemaphoreW +OpenWaitableTimerW +ReleaseMutex +ReleaseSemaphore +ReleaseSRWLockExclusive +ReleaseSRWLockShared +ResetEvent +SetCriticalSectionSpinCount +SetEvent +SetWaitableTimer +SetWaitableTimerEx +SignalObjectAndWait +Sleep +SleepConditionVariableCS +SleepConditionVariableSRW +SleepEx +TryAcquireSRWLockExclusive +TryAcquireSRWLockShared +TryEnterCriticalSection +WaitForMultipleObjectsEx +WaitForSingleObject +WaitForSingleObjectEx +WaitOnAddress +WakeAllConditionVariable +WakeByAddressAll +WakeByAddressSingle +WakeConditionVariable diff --git a/lib/libc/mingw/lib-common/api-ms-win-core-sysinfo-l1-2-0.def b/lib/libc/mingw/lib-common/api-ms-win-core-sysinfo-l1-2-0.def new file mode 100644 index 0000000000..62240852f2 --- /dev/null +++ b/lib/libc/mingw/lib-common/api-ms-win-core-sysinfo-l1-2-0.def @@ -0,0 +1,31 @@ +LIBRARY api-ms-win-core-sysinfo-l1-2-0 + +EXPORTS + +EnumSystemFirmwareTables +GetComputerNameExA +GetComputerNameExW +GetLocalTime +GetLogicalProcessorInformation +GetLogicalProcessorInformationEx +GetNativeSystemInfo +GetProductInfo +GetSystemDirectoryA +GetSystemDirectoryW +GetSystemFirmwareTable +GetSystemInfo +GetSystemTime +GetSystemTimeAdjustment +GetSystemTimeAsFileTime +GetSystemTimePreciseAsFileTime +GetTickCount +GetTickCount64 +GetVersion +GetVersionExA +GetVersionExW +GetWindowsDirectoryA +GetWindowsDirectoryW +GlobalMemoryStatusEx +SetLocalTime +SetSystemTime +VerSetConditionMask diff --git a/lib/libc/mingw/lib-common/api-ms-win-core-sysinfo-l1-2-3.def b/lib/libc/mingw/lib-common/api-ms-win-core-sysinfo-l1-2-3.def new file mode 100644 index 0000000000..45a59f6ee0 --- /dev/null +++ b/lib/libc/mingw/lib-common/api-ms-win-core-sysinfo-l1-2-3.def @@ -0,0 +1,33 @@ +LIBRARY api-ms-win-core-sysinfo-l1-2-3 + +EXPORTS + +EnumSystemFirmwareTables +GetComputerNameExA +GetComputerNameExW +GetIntegratedDisplaySize +GetLocalTime +GetLogicalProcessorInformation +GetLogicalProcessorInformationEx +GetNativeSystemInfo +GetPhysicallyInstalledSystemMemory +GetProductInfo +GetSystemDirectoryA +GetSystemDirectoryW +GetSystemFirmwareTable +GetSystemInfo +GetSystemTime +GetSystemTimeAdjustment +GetSystemTimeAsFileTime +GetSystemTimePreciseAsFileTime +GetTickCount +GetTickCount64 +GetVersion +GetVersionExA +GetVersionExW +GetWindowsDirectoryA +GetWindowsDirectoryW +GlobalMemoryStatusEx +SetLocalTime +SetSystemTime +VerSetConditionMask diff --git a/lib/libc/mingw/lib-common/api-ms-win-core-winrt-error-l1-1-0.def b/lib/libc/mingw/lib-common/api-ms-win-core-winrt-error-l1-1-0.def new file mode 100644 index 0000000000..e84af147f4 --- /dev/null +++ b/lib/libc/mingw/lib-common/api-ms-win-core-winrt-error-l1-1-0.def @@ -0,0 +1,15 @@ +LIBRARY api-ms-win-core-winrt-error-l1-1-0 + +EXPORTS + +GetRestrictedErrorInfo +RoCaptureErrorContext +RoFailFastWithErrorContext +RoGetErrorReportingFlags +RoOriginateError +RoOriginateErrorW +RoResolveRestrictedErrorInfoReference +RoSetErrorReportingFlags +RoTransformError +RoTransformErrorW +SetRestrictedErrorInfo diff --git a/lib/libc/mingw/lib-common/api-ms-win-core-winrt-error-l1-1-1.def b/lib/libc/mingw/lib-common/api-ms-win-core-winrt-error-l1-1-1.def new file mode 100644 index 0000000000..bd5ef539c6 --- /dev/null +++ b/lib/libc/mingw/lib-common/api-ms-win-core-winrt-error-l1-1-1.def @@ -0,0 +1,22 @@ +LIBRARY api-ms-win-core-winrt-error-l1-1-1 + +EXPORTS + +GetRestrictedErrorInfo +IsErrorPropagationEnabled +RoCaptureErrorContext +RoClearError +RoFailFastWithErrorContext +RoGetErrorReportingFlags +RoGetMatchingRestrictedErrorInfo +RoInspectCapturedStackBackTrace +RoInspectThreadErrorInfo +RoOriginateError +RoOriginateErrorW +RoOriginateLanguageException +RoReportFailedDelegate +RoReportUnhandledError +RoSetErrorReportingFlags +RoTransformError +RoTransformErrorW +SetRestrictedErrorInfo diff --git a/lib/libc/mingw/lib-common/api-ms-win-core-winrt-l1-1-0.def b/lib/libc/mingw/lib-common/api-ms-win-core-winrt-l1-1-0.def new file mode 100644 index 0000000000..9e841a5a7f --- /dev/null +++ b/lib/libc/mingw/lib-common/api-ms-win-core-winrt-l1-1-0.def @@ -0,0 +1,13 @@ +LIBRARY api-ms-win-core-winrt-l1-1-0 + +EXPORTS + +RoActivateInstance +RoGetActivationFactory +RoGetApartmentIdentifier +RoInitialize +RoRegisterActivationFactories +RoRegisterForApartmentShutdown +RoRevokeActivationFactories +RoUninitialize +RoUnregisterForApartmentShutdown diff --git a/lib/libc/mingw/lib-common/api-ms-win-core-winrt-registration-l1-1-0.def b/lib/libc/mingw/lib-common/api-ms-win-core-winrt-registration-l1-1-0.def new file mode 100644 index 0000000000..a7ad121a9a --- /dev/null +++ b/lib/libc/mingw/lib-common/api-ms-win-core-winrt-registration-l1-1-0.def @@ -0,0 +1,6 @@ +LIBRARY api-ms-win-core-winrt-registration-l1-1-0 + +EXPORTS + +RoGetActivatableClassRegistration +RoGetServerActivatableClasses diff --git a/lib/libc/mingw/lib-common/api-ms-win-core-winrt-robuffer-l1-1-0.def b/lib/libc/mingw/lib-common/api-ms-win-core-winrt-robuffer-l1-1-0.def new file mode 100644 index 0000000000..8e6e25f30a --- /dev/null +++ b/lib/libc/mingw/lib-common/api-ms-win-core-winrt-robuffer-l1-1-0.def @@ -0,0 +1,5 @@ +LIBRARY api-ms-win-core-winrt-robuffer-l1-1-0 + +EXPORTS + +RoGetBufferMarshaler diff --git a/lib/libc/mingw/lib-common/api-ms-win-core-winrt-roparameterizediid-l1-1-0.def b/lib/libc/mingw/lib-common/api-ms-win-core-winrt-roparameterizediid-l1-1-0.def new file mode 100644 index 0000000000..b09d4444d2 --- /dev/null +++ b/lib/libc/mingw/lib-common/api-ms-win-core-winrt-roparameterizediid-l1-1-0.def @@ -0,0 +1,7 @@ +LIBRARY api-ms-win-core-winrt-roparameterizediid-l1-1-0 + +EXPORTS + +RoFreeParameterizedTypeExtra +RoGetParameterizedTypeInstanceIID +RoParameterizedTypeExtraGetTypeSignature diff --git a/lib/libc/mingw/lib-common/api-ms-win-core-winrt-string-l1-1-0.def b/lib/libc/mingw/lib-common/api-ms-win-core-winrt-string-l1-1-0.def new file mode 100644 index 0000000000..c1636e1c64 --- /dev/null +++ b/lib/libc/mingw/lib-common/api-ms-win-core-winrt-string-l1-1-0.def @@ -0,0 +1,31 @@ +LIBRARY api-ms-win-core-winrt-string-l1-1-0 + +EXPORTS + +HSTRING_UserFree +HSTRING_UserFree64 +HSTRING_UserMarshal +HSTRING_UserMarshal64 +HSTRING_UserSize +HSTRING_UserSize64 +HSTRING_UserUnmarshal +HSTRING_UserUnmarshal64 +WindowsCompareStringOrdinal +WindowsConcatString +WindowsCreateString +WindowsCreateStringReference +WindowsDeleteString +WindowsDeleteStringBuffer +WindowsDuplicateString +WindowsGetStringLen +WindowsGetStringRawBuffer +WindowsInspectString +WindowsIsStringEmpty +WindowsPreallocateStringBuffer +WindowsPromoteStringBuffer +WindowsReplaceString +WindowsStringHasEmbeddedNull +WindowsSubstring +WindowsSubstringWithSpecifiedLength +WindowsTrimStringEnd +WindowsTrimStringStart diff --git a/lib/libc/mingw/lib-common/api-ms-win-core-wow64-l1-1-1.def b/lib/libc/mingw/lib-common/api-ms-win-core-wow64-l1-1-1.def new file mode 100644 index 0000000000..bd6fe2dc35 --- /dev/null +++ b/lib/libc/mingw/lib-common/api-ms-win-core-wow64-l1-1-1.def @@ -0,0 +1,6 @@ +LIBRARY api-ms-win-core-wow64-l1-1-1 + +EXPORTS + +IsWow64Process +IsWow64Process2 diff --git a/lib/libc/mingw/lib-common/api-ms-win-devices-config-l1-1-1.def b/lib/libc/mingw/lib-common/api-ms-win-devices-config-l1-1-1.def new file mode 100644 index 0000000000..f9d52afdc0 --- /dev/null +++ b/lib/libc/mingw/lib-common/api-ms-win-devices-config-l1-1-1.def @@ -0,0 +1,17 @@ +LIBRARY api-ms-win-devices-config-l1-1-1 + +EXPORTS + +CM_Get_Device_ID_List_SizeW +CM_Get_Device_ID_ListW +CM_Get_Device_IDW +CM_Get_Device_Interface_List_SizeW +CM_Get_Device_Interface_ListW +CM_Get_Device_Interface_PropertyW +CM_Get_DevNode_PropertyW +CM_Get_DevNode_Status +CM_Get_Parent +CM_Locate_DevNodeW +CM_MapCrToWin32Err +CM_Register_Notification +CM_Unregister_Notification diff --git a/lib/libc/mingw/lib-common/api-ms-win-gaming-deviceinformation-l1-1-0.def b/lib/libc/mingw/lib-common/api-ms-win-gaming-deviceinformation-l1-1-0.def new file mode 100644 index 0000000000..35f1de3263 --- /dev/null +++ b/lib/libc/mingw/lib-common/api-ms-win-gaming-deviceinformation-l1-1-0.def @@ -0,0 +1,5 @@ +LIBRARY api-ms-win-gaming-deviceinformation-l1-1-0 + +EXPORTS + +GetGamingDeviceModelInformation diff --git a/lib/libc/mingw/lib-common/api-ms-win-gaming-expandedresources-l1-1-0.def b/lib/libc/mingw/lib-common/api-ms-win-gaming-expandedresources-l1-1-0.def new file mode 100644 index 0000000000..f5914c1908 --- /dev/null +++ b/lib/libc/mingw/lib-common/api-ms-win-gaming-expandedresources-l1-1-0.def @@ -0,0 +1,7 @@ +LIBRARY api-ms-win-gaming-expandedresources-l1-1-0 + +EXPORTS + +GetExpandedResourceExclusiveCpuCount +HasExpandedResources +ReleaseExclusiveCpuSets diff --git a/lib/libc/mingw/lib-common/api-ms-win-gaming-tcui-l1-1-0.def b/lib/libc/mingw/lib-common/api-ms-win-gaming-tcui-l1-1-0.def new file mode 100644 index 0000000000..aa949963d0 --- /dev/null +++ b/lib/libc/mingw/lib-common/api-ms-win-gaming-tcui-l1-1-0.def @@ -0,0 +1,11 @@ +LIBRARY api-ms-win-gaming-tcui-l1-1-0 + +EXPORTS + +ProcessPendingGameUI +ShowChangeFriendRelationshipUI +ShowGameInviteUI +ShowPlayerPickerUI +ShowProfileCardUI +ShowTitleAchievementsUI +TryCancelPendingGameUI diff --git a/lib/libc/mingw/lib-common/api-ms-win-gaming-tcui-l1-1-2.def b/lib/libc/mingw/lib-common/api-ms-win-gaming-tcui-l1-1-2.def new file mode 100644 index 0000000000..c7392196c6 --- /dev/null +++ b/lib/libc/mingw/lib-common/api-ms-win-gaming-tcui-l1-1-2.def @@ -0,0 +1,20 @@ +LIBRARY api-ms-win-gaming-tcui-l1-1-2 + +EXPORTS + +CheckGamingPrivilegeSilently +CheckGamingPrivilegeSilentlyForUser +CheckGamingPrivilegeWithUI +CheckGamingPrivilegeWithUIForUser +ProcessPendingGameUI +ShowChangeFriendRelationshipUI +ShowChangeFriendRelationshipUIForUser +ShowGameInviteUI +ShowGameInviteUIForUser +ShowPlayerPickerUI +ShowPlayerPickerUIForUser +ShowProfileCardUI +ShowProfileCardUIForUser +ShowTitleAchievementsUI +ShowTitleAchievementsUIForUser +TryCancelPendingGameUI diff --git a/lib/libc/mingw/lib-common/api-ms-win-gaming-tcui-l1-1-3.def b/lib/libc/mingw/lib-common/api-ms-win-gaming-tcui-l1-1-3.def new file mode 100644 index 0000000000..0e78187da0 --- /dev/null +++ b/lib/libc/mingw/lib-common/api-ms-win-gaming-tcui-l1-1-3.def @@ -0,0 +1,22 @@ +LIBRARY api-ms-win-gaming-tcui-l1-1-3 + +EXPORTS + +CheckGamingPrivilegeSilently +CheckGamingPrivilegeSilentlyForUser +CheckGamingPrivilegeWithUI +CheckGamingPrivilegeWithUIForUser +ProcessPendingGameUI +ShowChangeFriendRelationshipUI +ShowChangeFriendRelationshipUIForUser +ShowGameInviteUI +ShowGameInviteUIForUser +ShowGameInviteUIWithContext +ShowGameInviteUIWithContextForUser +ShowPlayerPickerUI +ShowPlayerPickerUIForUser +ShowProfileCardUI +ShowProfileCardUIForUser +ShowTitleAchievementsUI +ShowTitleAchievementsUIForUser +TryCancelPendingGameUI diff --git a/lib/libc/mingw/lib-common/api-ms-win-gaming-tcui-l1-1-4.def b/lib/libc/mingw/lib-common/api-ms-win-gaming-tcui-l1-1-4.def new file mode 100644 index 0000000000..ac04f5e963 --- /dev/null +++ b/lib/libc/mingw/lib-common/api-ms-win-gaming-tcui-l1-1-4.def @@ -0,0 +1,30 @@ +LIBRARY api-ms-win-gaming-tcui-l1-1-4 + +EXPORTS + +CheckGamingPrivilegeSilently +CheckGamingPrivilegeSilentlyForUser +CheckGamingPrivilegeWithUI +CheckGamingPrivilegeWithUIForUser +ProcessPendingGameUI +ShowChangeFriendRelationshipUI +ShowChangeFriendRelationshipUIForUser +ShowCustomizeUserProfileUI +ShowCustomizeUserProfileUIForUser +ShowFindFriendsUI +ShowFindFriendsUIForUser +ShowGameInfoUI +ShowGameInfoUIForUser +ShowGameInviteUI +ShowGameInviteUIForUser +ShowGameInviteUIWithContext +ShowGameInviteUIWithContextForUser +ShowPlayerPickerUI +ShowPlayerPickerUIForUser +ShowProfileCardUI +ShowProfileCardUIForUser +ShowTitleAchievementsUI +ShowTitleAchievementsUIForUser +ShowUserSettingsUI +ShowUserSettingsUIForUser +TryCancelPendingGameUI diff --git a/lib/libc/mingw/lib-common/api-ms-win-security-isolatedcontainer-l1-1-0.def b/lib/libc/mingw/lib-common/api-ms-win-security-isolatedcontainer-l1-1-0.def new file mode 100644 index 0000000000..f9ae366998 --- /dev/null +++ b/lib/libc/mingw/lib-common/api-ms-win-security-isolatedcontainer-l1-1-0.def @@ -0,0 +1,5 @@ +LIBRARY api-ms-win-security-isolatedcontainer-l1-1-0 + +EXPORTS + +IsProcessInIsolatedContainer diff --git a/lib/libc/mingw/lib-common/api-ms-win-shcore-stream-winrt-l1-1-0.def b/lib/libc/mingw/lib-common/api-ms-win-shcore-stream-winrt-l1-1-0.def new file mode 100644 index 0000000000..c0ed75874b --- /dev/null +++ b/lib/libc/mingw/lib-common/api-ms-win-shcore-stream-winrt-l1-1-0.def @@ -0,0 +1,7 @@ +LIBRARY api-ms-win-shcore-stream-winrt-l1-1-0 + +EXPORTS + +CreateRandomAccessStreamOnFile +CreateRandomAccessStreamOverStream +CreateStreamOverRandomAccessStream diff --git a/lib/libc/mingw/lib-common/authz.def b/lib/libc/mingw/lib-common/authz.def new file mode 100644 index 0000000000..6a5fd7ed04 --- /dev/null +++ b/lib/libc/mingw/lib-common/authz.def @@ -0,0 +1,77 @@ +; +; Definition file of AUTHZ.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "AUTHZ.dll" +EXPORTS +AuthzAccessCheck +AuthzAddSidsToContext +AuthzCachedAccessCheck +AuthzComputeEffectivePermission +AuthzEnumerateSecurityEventSources +AuthzEvaluateSacl +AuthzFreeAuditEvent +AuthzFreeCentralAccessPolicyCache +AuthzFreeContext +AuthzFreeHandle +AuthzFreeResourceManager +AuthzGetInformationFromContext +AuthzInitializeCompoundContext +AuthzInitializeContextFromAuthzContext +AuthzInitializeContextFromSid +AuthzInitializeContextFromToken +AuthzInitializeObjectAccessAuditEvent +AuthzInitializeObjectAccessAuditEvent2 +AuthzInitializeRemoteAccessCheck +AuthzInitializeRemoteResourceManager +AuthzInitializeResourceManager +AuthzInitializeResourceManagerEx +AuthzInstallSecurityEventSource +AuthzModifyClaims +AuthzModifySecurityAttributes +AuthzModifySids +AuthzOpenObjectAudit +AuthzRegisterCapChangeNotification +AuthzRegisterSecurityEventSource +AuthzReportSecurityEvent +AuthzReportSecurityEventFromParams +AuthzSetAppContainerInformation +AuthzShutdownRemoteAccessCheck +AuthzUninstallSecurityEventSource +AuthzUnregisterCapChangeNotification +AuthzUnregisterSecurityEventSource +AuthziAccessCheckEx +AuthziAllocateAuditParams +AuthziCheckContextMembership +AuthziFreeAuditEventType +AuthziFreeAuditParams +AuthziFreeAuditQueue +AuthziGenerateAdminAlertAuditW +AuthziInitializeAuditEvent +AuthziInitializeAuditEventType +AuthziInitializeAuditParams +AuthziInitializeAuditParamsFromArray +AuthziInitializeAuditParamsWithRM +AuthziInitializeAuditQueue +AuthziInitializeContextFromSid +AuthziLogAuditEvent +AuthziModifyAuditEvent +AuthziModifyAuditEvent2 +AuthziModifyAuditEventType +AuthziModifyAuditQueue +AuthziQueryAuditPolicy +AuthziSetAuditPolicy +AuthziModifySecurityAttributes +AuthziQuerySecurityAttributes +AuthziSourceAudit +FreeClaimDefinitions +FreeClaimDictionary +GenerateNewCAPID +GetCentralAccessPoliciesByCapID +GetCentralAccessPoliciesByDN +GetClaimDefinitions +GetClaimDomainInfo +GetDefaultCAPESecurityDescriptor +InitializeClaimDictionary +RefreshClaimDictionary diff --git a/lib/libc/mingw/lib-common/bluetoothapis.def b/lib/libc/mingw/lib-common/bluetoothapis.def new file mode 100644 index 0000000000..afa395e807 --- /dev/null +++ b/lib/libc/mingw/lib-common/bluetoothapis.def @@ -0,0 +1,103 @@ +; +; Definition file of BluetoothApis.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "BluetoothApis.dll" +EXPORTS +BluetoothAddressToString +BluetoothDisconnectDevice +BluetoothEnableDiscovery +BluetoothEnableIncomingConnections +BluetoothEnumerateInstalledServices +BluetoothEnumerateInstalledServicesEx +BluetoothEnumerateLocalServices +BluetoothFindBrowseGroupClose +BluetoothFindClassIdClose +BluetoothFindDeviceClose +BluetoothFindFirstBrowseGroup +BluetoothFindFirstClassId +BluetoothFindFirstDevice +BluetoothFindFirstProfileDescriptor +BluetoothFindFirstProtocolDescriptorStack +BluetoothFindFirstProtocolEntry +BluetoothFindFirstRadio +BluetoothFindFirstService +BluetoothFindFirstServiceEx +BluetoothFindNextBrowseGroup +BluetoothFindNextClassId +BluetoothFindNextDevice +BluetoothFindNextProfileDescriptor +BluetoothFindNextProtocolDescriptorStack +BluetoothFindNextProtocolEntry +BluetoothFindNextRadio +BluetoothFindNextService +BluetoothFindProfileDescriptorClose +BluetoothFindProtocolDescriptorStackClose +BluetoothFindProtocolEntryClose +BluetoothFindRadioClose +BluetoothFindServiceClose +BluetoothGATTAbortReliableWrite +BluetoothGATTBeginReliableWrite +BluetoothGATTEndReliableWrite +BluetoothGATTGetCharacteristicValue +BluetoothGATTGetCharacteristics +BluetoothGATTGetDescriptorValue +BluetoothGATTGetDescriptors +BluetoothGATTGetIncludedServices +BluetoothGATTGetServices +BluetoothGATTRegisterEvent +BluetoothGATTSetCharacteristicValue +BluetoothGATTSetDescriptorValue +BluetoothGATTUnregisterEvent +BluetoothGetDeviceInfo +BluetoothGetLocalServiceInfo +BluetoothGetRadioInfo +BluetoothGetServicePnpInstance +BluetoothIsConnectable +BluetoothIsDiscoverable +BluetoothIsVersionAvailable +BluetoothRegisterForAuthentication +BluetoothRegisterForAuthenticationEx +BluetoothRemoveDevice +BluetoothSdpEnumAttributes +BluetoothSdpGetAttributeValue +BluetoothSdpGetContainerElementData +BluetoothSdpGetElementData +BluetoothSdpGetString +BluetoothSendAuthenticationResponse +BluetoothSendAuthenticationResponseEx +BluetoothSetLocalServiceInfo +BluetoothSetServiceState +BluetoothSetServiceStateEx +BluetoothUnregisterAuthentication +BluetoothUpdateDeviceRecord +BthpCheckForUnsupportedGuid +BthpCleanupBRDeviceNode +BthpCleanupDeviceLocalServices +BthpCleanupDeviceRemoteServices +BthpCleanupLEDeviceNodes +BthpEnableA2DPIfPresent +BthpEnableAllServices +BthpEnableConnectableAndDiscoverable +BthpEnableRadioSoftware +BthpFindPnpInfo +BthpGATTCloseSession +BthpInnerRecord +BthpIsBluetoothServiceRunning +BthpIsConnectableByDefault +BthpIsDiscoverable +BthpIsDiscoverableByDefault +BthpIsRadioSoftwareEnabled +BthpIsTopOfServiceGroup +BthpMapStatusToErr +BthpNextRecord +BthpRegisterForAuthentication +BthpSetServiceState +BthpSetServiceStateEx +BthpTranspose16Bits +BthpTranspose32Bits +BthpTransposeAndExtendBytes +FindNextOpenVCOMPort +InstallIncomingComPort +ShouldForceAuthentication diff --git a/lib/libc/mingw/lib-common/cabinet.def b/lib/libc/mingw/lib-common/cabinet.def new file mode 100644 index 0000000000..70baa7f7c2 --- /dev/null +++ b/lib/libc/mingw/lib-common/cabinet.def @@ -0,0 +1,32 @@ +; +; Definition file of Cabinet.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "Cabinet.dll" +EXPORTS +GetDllVersion +Extract +DeleteExtractedFiles +FCICreate +FCIAddFile +FCIFlushFolder +FCIFlushCabinet +FCIDestroy +FDICreate +FDIIsCabinet +FDICopy +FDIDestroy +FDITruncateCabinet +CreateCompressor +SetCompressorInformation +QueryCompressorInformation +Compress +ResetCompressor +CloseCompressor +CreateDecompressor +SetDecompressorInformation +QueryDecompressorInformation +Decompress +ResetDecompressor +CloseDecompressor diff --git a/lib/libc/mingw/lib-common/cfgmgr32.def b/lib/libc/mingw/lib-common/cfgmgr32.def new file mode 100644 index 0000000000..2d81a70bb5 --- /dev/null +++ b/lib/libc/mingw/lib-common/cfgmgr32.def @@ -0,0 +1,285 @@ +; +; Definition file of CFGMGR32.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "CFGMGR32.dll" +EXPORTS +CMP_GetBlockedDriverInfo +CMP_GetServerSideDeviceInstallFlags +CMP_Init_Detection +CMP_RegisterNotification +CMP_RegisterServiceNotification +CMP_Register_Notification +CMP_Report_LogOn +CMP_UnregisterNotification +CMP_WaitNoPendingInstallEvents +CMP_WaitServicesAvailable +CM_Add_Driver_PackageW +CM_Add_Driver_Package_ExW +CM_Add_Empty_Log_Conf +CM_Add_Empty_Log_Conf_Ex +CM_Add_IDA +CM_Add_IDW +CM_Add_ID_ExA +CM_Add_ID_ExW +CM_Add_Range +CM_Add_Res_Des +CM_Add_Res_Des_Ex +CM_Apply_PowerScheme +CM_Connect_MachineA +CM_Connect_MachineW +CM_Create_DevNodeA +CM_Create_DevNodeW +CM_Create_DevNode_ExA +CM_Create_DevNode_ExW +CM_Create_Range_List +CM_Delete_Class_Key +CM_Delete_Class_Key_Ex +CM_Delete_DevNode_Key +CM_Delete_DevNode_Key_Ex +CM_Delete_Device_Interface_KeyA +CM_Delete_Device_Interface_KeyW +CM_Delete_Device_Interface_Key_ExA +CM_Delete_Device_Interface_Key_ExW +CM_Delete_Driver_PackageW +CM_Delete_Driver_Package_ExW +CM_Delete_PowerScheme +CM_Delete_Range +CM_Detect_Resource_Conflict +CM_Detect_Resource_Conflict_Ex +CM_Disable_DevNode +CM_Disable_DevNode_Ex +CM_Disconnect_Machine +CM_Dup_Range_List +CM_Duplicate_PowerScheme +CM_Enable_DevNode +CM_Enable_DevNode_Ex +CM_Enumerate_Classes +CM_Enumerate_Classes_Ex +CM_Enumerate_EnumeratorsA +CM_Enumerate_EnumeratorsW +CM_Enumerate_Enumerators_ExA +CM_Enumerate_Enumerators_ExW +CM_Find_Range +CM_First_Range +CM_Free_Log_Conf +CM_Free_Log_Conf_Ex +CM_Free_Log_Conf_Handle +CM_Free_Range_List +CM_Free_Res_Des +CM_Free_Res_Des_Ex +CM_Free_Res_Des_Handle +CM_Free_Resource_Conflict_Handle +CM_Get_Child +CM_Get_Child_Ex +CM_Get_Class_Key_NameA +CM_Get_Class_Key_NameW +CM_Get_Class_Key_Name_ExA +CM_Get_Class_Key_Name_ExW +CM_Get_Class_NameA +CM_Get_Class_NameW +CM_Get_Class_Name_ExA +CM_Get_Class_Name_ExW +CM_Get_Class_PropertyW +CM_Get_Class_Property_ExW +CM_Get_Class_Property_Keys +CM_Get_Class_Property_Keys_Ex +CM_Get_Class_Registry_PropertyA +CM_Get_Class_Registry_PropertyW +CM_Get_Depth +CM_Get_Depth_Ex +CM_Get_DevNode_Custom_PropertyA +CM_Get_DevNode_Custom_PropertyW +CM_Get_DevNode_Custom_Property_ExA +CM_Get_DevNode_Custom_Property_ExW +CM_Get_DevNode_PropertyW +CM_Get_DevNode_Property_ExW +CM_Get_DevNode_Property_Keys +CM_Get_DevNode_Property_Keys_Ex +CM_Get_DevNode_Registry_PropertyA +CM_Get_DevNode_Registry_PropertyW +CM_Get_DevNode_Registry_Property_ExA +CM_Get_DevNode_Registry_Property_ExW +CM_Get_DevNode_Status +CM_Get_DevNode_Status_Ex +CM_Get_Device_IDA +CM_Get_Device_IDW +CM_Get_Device_ID_ExA +CM_Get_Device_ID_ExW +CM_Get_Device_ID_ListA +CM_Get_Device_ID_ListW +CM_Get_Device_ID_List_ExA +CM_Get_Device_ID_List_ExW +CM_Get_Device_ID_List_SizeA +CM_Get_Device_ID_List_SizeW +CM_Get_Device_ID_List_Size_ExA +CM_Get_Device_ID_List_Size_ExW +CM_Get_Device_ID_Size +CM_Get_Device_ID_Size_Ex +CM_Get_Device_Interface_AliasA +CM_Get_Device_Interface_AliasW +CM_Get_Device_Interface_Alias_ExA +CM_Get_Device_Interface_Alias_ExW +CM_Get_Device_Interface_ListA +CM_Get_Device_Interface_ListW +CM_Get_Device_Interface_List_ExA +CM_Get_Device_Interface_List_ExW +CM_Get_Device_Interface_List_SizeA +CM_Get_Device_Interface_List_SizeW +CM_Get_Device_Interface_List_Size_ExA +CM_Get_Device_Interface_List_Size_ExW +CM_Get_Device_Interface_PropertyW +CM_Get_Device_Interface_Property_ExW +CM_Get_Device_Interface_Property_KeysW +CM_Get_Device_Interface_Property_Keys_ExW +CM_Get_First_Log_Conf +CM_Get_First_Log_Conf_Ex +CM_Get_Global_State +CM_Get_Global_State_Ex +CM_Get_HW_Prof_FlagsA +CM_Get_HW_Prof_FlagsW +CM_Get_HW_Prof_Flags_ExA +CM_Get_HW_Prof_Flags_ExW +CM_Get_Hardware_Profile_InfoA +CM_Get_Hardware_Profile_InfoW +CM_Get_Hardware_Profile_Info_ExA +CM_Get_Hardware_Profile_Info_ExW +CM_Get_Log_Conf_Priority +CM_Get_Log_Conf_Priority_Ex +CM_Get_Next_Log_Conf +CM_Get_Next_Log_Conf_Ex +CM_Get_Next_Res_Des +CM_Get_Next_Res_Des_Ex +CM_Get_Parent +CM_Get_Parent_Ex +CM_Get_Res_Des_Data +CM_Get_Res_Des_Data_Ex +CM_Get_Res_Des_Data_Size +CM_Get_Res_Des_Data_Size_Ex +CM_Get_Resource_Conflict_Count +CM_Get_Resource_Conflict_DetailsA +CM_Get_Resource_Conflict_DetailsW +CM_Get_Sibling +CM_Get_Sibling_Ex +CM_Get_Version +CM_Get_Version_Ex +CM_Import_PowerScheme +CM_Install_DevNodeW +CM_Install_DevNode_ExW +CM_Intersect_Range_List +CM_Invert_Range_List +CM_Is_Dock_Station_Present +CM_Is_Dock_Station_Present_Ex +CM_Is_Version_Available +CM_Is_Version_Available_Ex +CM_Locate_DevNodeA +CM_Locate_DevNodeW +CM_Locate_DevNode_ExA +CM_Locate_DevNode_ExW +CM_MapCrToSpErr +CM_MapCrToWin32Err +CM_Merge_Range_List +CM_Modify_Res_Des +CM_Modify_Res_Des_Ex +CM_Move_DevNode +CM_Move_DevNode_Ex +CM_Next_Range +CM_Open_Class_KeyA +CM_Open_Class_KeyW +CM_Open_Class_Key_ExA +CM_Open_Class_Key_ExW +CM_Open_DevNode_Key +CM_Open_DevNode_Key_Ex +CM_Open_Device_Interface_KeyA +CM_Open_Device_Interface_KeyW +CM_Open_Device_Interface_Key_ExA +CM_Open_Device_Interface_Key_ExW +CM_Query_And_Remove_SubTreeA +CM_Query_And_Remove_SubTreeW +CM_Query_And_Remove_SubTree_ExA +CM_Query_And_Remove_SubTree_ExW +CM_Query_Arbitrator_Free_Data +CM_Query_Arbitrator_Free_Data_Ex +CM_Query_Arbitrator_Free_Size +CM_Query_Arbitrator_Free_Size_Ex +CM_Query_Remove_SubTree +CM_Query_Remove_SubTree_Ex +CM_Query_Resource_Conflict_List +CM_Reenumerate_DevNode +CM_Reenumerate_DevNode_Ex +CM_Register_Device_Driver +CM_Register_Device_Driver_Ex +CM_Register_Device_InterfaceA +CM_Register_Device_InterfaceW +CM_Register_Device_Interface_ExA +CM_Register_Device_Interface_ExW +CM_Register_Notification +CM_Remove_SubTree +CM_Remove_SubTree_Ex +CM_Request_Device_EjectA +CM_Request_Device_EjectW +CM_Request_Device_Eject_ExA +CM_Request_Device_Eject_ExW +CM_Request_Eject_PC +CM_Request_Eject_PC_Ex +CM_RestoreAll_DefaultPowerSchemes +CM_Restore_DefaultPowerScheme +CM_Run_Detection +CM_Run_Detection_Ex +CM_Set_ActiveScheme +CM_Set_Class_PropertyW +CM_Set_Class_Property_ExW +CM_Set_Class_Registry_PropertyA +CM_Set_Class_Registry_PropertyW +CM_Set_DevNode_Problem +CM_Set_DevNode_Problem_Ex +CM_Set_DevNode_PropertyW +CM_Set_DevNode_Property_ExW +CM_Set_DevNode_Registry_PropertyA +CM_Set_DevNode_Registry_PropertyW +CM_Set_DevNode_Registry_Property_ExA +CM_Set_DevNode_Registry_Property_ExW +CM_Set_Device_Interface_PropertyW +CM_Set_Device_Interface_Property_ExW +CM_Set_HW_Prof +CM_Set_HW_Prof_Ex +CM_Set_HW_Prof_FlagsA +CM_Set_HW_Prof_FlagsW +CM_Set_HW_Prof_Flags_ExA +CM_Set_HW_Prof_Flags_ExW +CM_Setup_DevNode +CM_Setup_DevNode_Ex +CM_Test_Range_Available +CM_Uninstall_DevNode +CM_Uninstall_DevNode_Ex +CM_Unregister_Device_InterfaceA +CM_Unregister_Device_InterfaceW +CM_Unregister_Device_Interface_ExA +CM_Unregister_Device_Interface_ExW +CM_Unregister_Notification +CM_Write_UserPowerKey +DevCloseObjectQuery +DevCreateObjectQuery +DevCreateObjectQueryEx +DevCreateObjectQueryFromId +DevCreateObjectQueryFromIdEx +DevCreateObjectQueryFromIds +DevCreateObjectQueryFromIdsEx +DevFindProperty +DevFreeObjectProperties +DevFreeObjects +DevGetObjectProperties +DevGetObjectPropertiesEx +DevGetObjects +DevGetObjectsEx +DevSetObjectProperties +SwDeviceClose +SwDeviceCreate +SwDeviceGetLifetime +SwDeviceInterfacePropertySet +SwDeviceInterfaceRegister +SwDeviceInterfaceSetState +SwDevicePropertySet +SwDeviceSetLifetime +SwMemFree diff --git a/lib/libc/mingw/lib-common/clusapi.def b/lib/libc/mingw/lib-common/clusapi.def new file mode 100644 index 0000000000..8351a74928 --- /dev/null +++ b/lib/libc/mingw/lib-common/clusapi.def @@ -0,0 +1,203 @@ +; +; Definition file of CLUSAPI.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "CLUSAPI.dll" +EXPORTS +CCHlpAddNodeUpdateCluster +CCHlpConfigureNode +CCHlpCreateClusterNameCOIfNotExists +CCHlpGetClusterServiceSecret +CCHlpGetDNSHostLabel +CCHlpRestoreClusterVirtualObjectToInitialState +AddClusterNode +AddClusterResourceDependency +AddClusterResourceNode +AddResourceToClusterSharedVolumes +BackupClusterDatabase +CanResourceBeDependent +CancelClusterGroupOperation +ChangeClusterResourceGroup +CloseCluster +CloseClusterGroup +CloseClusterNetInterface +CloseClusterNetwork +CloseClusterNode +CloseClusterNotifyPort +CloseClusterResource +ClusterCloseEnum +ClusterCloseEnumEx +ClusterControl +ClusterEnum +ClusterEnumEx +ClusterFreeMemory +ClusterFreeMrrResponse +ClusterGetEnumCount +ClusterGetEnumCountEx +ClusterGroupCloseEnum +ClusterGroupCloseEnumEx +ClusterGroupControl +ClusterGroupEnum +ClusterGroupEnumEx +ClusterGroupGetEnumCount +ClusterGroupGetEnumCountEx +ClusterGroupOpenEnum +ClusterGroupOpenEnumEx +ClusterNetInterfaceControl +ClusterNetworkCloseEnum +ClusterNetworkControl +ClusterNetworkEnum +ClusterNetworkGetEnumCount +ClusterNetworkOpenEnum +ClusterNodeCloseEnum +ClusterNodeCloseEnumEx +ClusterNodeControl +ClusterNodeEnum +ClusterNodeEnumEx +ClusterNodeGetEnumCount +ClusterNodeGetEnumCountEx +ClusterNodeOpenEnum +ClusterNodeOpenEnumEx +ClusterOpenEnum +ClusterOpenEnumEx +ClusterRegBatchAddCommand +ClusterRegBatchCloseNotification +ClusterRegBatchReadCommand +ClusterRegCloseBatch +ClusterRegCloseBatchEx +ClusterRegCloseBatchNotifyPort +ClusterRegCloseKey +ClusterRegCloseReadBatch +ClusterRegCloseReadBatchReply +ClusterRegCreateBatch +ClusterRegCreateBatchNotifyPort +ClusterRegCreateKey +ClusterRegCreateKeyForceSync +ClusterRegCreateReadBatch +ClusterRegDeleteKey +ClusterRegDeleteKeyForceSync +ClusterRegDeleteValue +ClusterRegDeleteValueForceSync +ClusterRegEnumKey +ClusterRegEnumValue +ClusterRegGetBatchNotification +ClusterRegGetKeySecurity +ClusterRegOpenKey +ClusterRegQueryAllValues +ClusterRegQueryInfoKey +ClusterRegQueryValue +ClusterRegReadBatchAddCommand +ClusterRegReadBatchReplyNextCommand +ClusterRegSetKeySecurity +ClusterRegSetValue +ClusterRegSetValueForceSync +ClusterRegSyncDatabase +ClusterResourceCloseEnum +ClusterResourceCloseEnumEx +ClusterResourceControl +ClusterResourceEnum +ClusterResourceEnumEx +ClusterResourceGetEnumCount +ClusterResourceGetEnumCountEx +ClusterResourceOpenEnum +ClusterResourceOpenEnumEx +ClusterResourceTypeCloseEnum +ClusterResourceTypeControl +ClusterResourceTypeEnum +ClusterResourceTypeGetEnumCount +ClusterResourceTypeOpenEnum +ClusterSendReceiveMrr +ClusterSharedVolumeClearBackupState +ClusterSharedVolumeSetSnapshotState +ClusterStmFindDisk +CreateCluster +CreateClusterGroup +CreateClusterGroupEx +CreateClusterManagementPoint +CreateClusterNotifyPort +CreateClusterNotifyPortV2 +CreateClusterResource +CreateClusterResourceType +CreateClusterResourceWithId +DeleteClusterGroup +DeleteClusterResource +DeleteClusterResourceType +DestroyCluster +DestroyClusterGroup +EvictClusterNode +EvictClusterNodeEx +FailClusterResource +GetClusterFromGroup +GetClusterFromNetInterface +GetClusterFromNetwork +GetClusterFromNode +GetClusterFromResource +GetClusterGroupKey +GetClusterGroupState +GetClusterInformation +GetClusterKey +GetClusterNetInterface +GetClusterNetInterfaceKey +GetClusterNetInterfaceState +GetClusterNetworkId +GetClusterNetworkKey +GetClusterNetworkState +GetClusterNodeId +GetClusterNodeKey +GetClusterNodeState +GetClusterNotify +GetClusterNotifyV2 +GetClusterQuorumResource +GetClusterResourceDependencyExpression +GetClusterResourceKey +GetClusterResourceNetworkName +GetClusterResourceState +GetClusterResourceTypeKey +GetClusterSharedVolumeNameForFile +GetNodeClusterState +GetNotifyEventHandle +IsFileOnClusterSharedVolume +MoveClusterGroup +MoveClusterGroupEx +OfflineClusterGroup +OfflineClusterGroupEx +OfflineClusterResource +OfflineClusterResourceEx +OnlineClusterGroup +OnlineClusterGroupEx +OnlineClusterResource +OnlineClusterResourceEx +OpenCluster +OpenClusterEx +OpenClusterEx2 +OpenClusterGroup +OpenClusterGroupEx +OpenClusterNetInterface +OpenClusterNetInterfaceEx +OpenClusterNetwork +OpenClusterNetworkEx +OpenClusterNode +OpenClusterNodeEx +OpenClusterResource +OpenClusterResourceEx +PauseClusterNode +PauseClusterNodeEx +RegisterClusterNotify +RegisterClusterNotifyV2 +RemoveClusterResourceDependency +RemoveClusterResourceNode +RemoveResourceFromClusterSharedVolumes +RestartClusterResource +RestoreClusterDatabase +ResumeClusterNode +ResumeClusterNodeEx +SetClusterGroupName +SetClusterGroupNodeList +SetClusterName +SetClusterNetworkName +SetClusterNetworkPriorityOrder +SetClusterQuorumResource +SetClusterResourceDependencyExpression +SetClusterResourceName +SetClusterServiceAccountPassword diff --git a/lib/libc/mingw/lib-common/credui.def b/lib/libc/mingw/lib-common/credui.def new file mode 100644 index 0000000000..6566530cb5 --- /dev/null +++ b/lib/libc/mingw/lib-common/credui.def @@ -0,0 +1,33 @@ +; +; Definition file of credui.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "credui.dll" +EXPORTS +CredPackAuthenticationBufferA +CredPackAuthenticationBufferW +CredUICmdLinePromptForCredentialsA +CredUICmdLinePromptForCredentialsW +CredUIConfirmCredentialsA +CredUIConfirmCredentialsW +CredUIInitControls +CredUIParseUserNameA +CredUIParseUserNameW +CredUIPromptForCredentialsA +CredUIPromptForCredentialsW +CredUIPromptForWindowsCredentialsA +CredUIPromptForWindowsCredentialsW +CredUIPromptForWindowsCredentialsWorker +CredUIReadSSOCredA +CredUIReadSSOCredW +CredUIStoreSSOCredA +CredUIStoreSSOCredW +CredUnPackAuthenticationBufferA +CredUnPackAuthenticationBufferW +SspiGetCredUIContext +SspiIsPromptingNeeded +SspiPromptForCredentialsA +SspiPromptForCredentialsW +SspiUnmarshalCredUIContext +SspiUpdateCredentials diff --git a/lib/libc/mingw/lib-common/cryptui.def b/lib/libc/mingw/lib-common/cryptui.def new file mode 100644 index 0000000000..666e326c0c --- /dev/null +++ b/lib/libc/mingw/lib-common/cryptui.def @@ -0,0 +1,69 @@ +LIBRARY "CRYPTUI.dll" +EXPORTS +AddChainToStore +CertDllProtectedRootMessageBox +CompareCertificate +CryptUIDlgAddPolicyServer +CryptUIDlgAddPolicyServerWithPriority +CryptUIDlgPropertyPolicy +DisplayHtmlHelp +FormatDateStringAutoLayout +GetUnknownErrorString +InvokeHelpLink +MyFormatEnhancedKeyUsageString +ACUIProviderInvokeUI +CertSelectionGetSerializedBlob +CommonInit +CryptDllProtectPrompt +CryptUIDlgCertMgr +CryptUIDlgFreeCAContext +CryptUIDlgFreePolicyServerContext +CryptUIDlgSelectCA +CryptUIDlgSelectCertificateA +CryptUIDlgSelectCertificateFromStore +CryptUIDlgSelectCertificateW +CryptUIDlgSelectPolicyServer +CryptUIDlgSelectStoreA +CryptUIDlgSelectStoreW +CryptUIDlgViewCRLA +CryptUIDlgViewCRLW +CryptUIDlgViewCTLA +CryptUIDlgViewCTLW +CryptUIDlgViewCertificateA +CryptUIDlgViewCertificatePropertiesA +CryptUIDlgViewCertificatePropertiesW +CryptUIDlgViewCertificateW +CryptUIDlgViewContext +CryptUIDlgViewSignerInfoA +CryptUIDlgViewSignerInfoW +CryptUIFreeCertificatePropertiesPagesA +CryptUIFreeCertificatePropertiesPagesW +CryptUIFreeViewSignaturesPagesA +CryptUIFreeViewSignaturesPagesW +CryptUIGetCertificatePropertiesPagesA +CryptUIGetCertificatePropertiesPagesW +CryptUIGetViewSignaturesPagesA +CryptUIGetViewSignaturesPagesW +CryptUIStartCertMgr +CryptUIViewExpiringCerts +CryptUIWizBuildCTL +CryptUIWizCertRequest +CryptUIWizCreateCertRequestNoDS +CryptUIWizDigitalSign +CryptUIWizExport +CryptUIWizFreeCertRequestNoDS +CryptUIWizFreeDigitalSignContext +CryptUIWizImport +CryptUIWizImportInternal +CryptUIWizQueryCertRequestNoDS +CryptUIWizSubmitCertRequestNoDS +DllRegisterServer +DllUnregisterServer +EnrollmentCOMObjectFactory_getInstance +I_CryptUIProtect +I_CryptUIProtectFailure +IsWizardExtensionAvailable +LocalEnroll +LocalEnrollNoDS +RetrievePKCS7FromCA +WizardFree diff --git a/lib/libc/mingw/lib-common/cryptxml.def b/lib/libc/mingw/lib-common/cryptxml.def new file mode 100644 index 0000000000..b467869ec3 --- /dev/null +++ b/lib/libc/mingw/lib-common/cryptxml.def @@ -0,0 +1,26 @@ +; +; Definition file of CRYPTXML.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "CRYPTXML.dll" +EXPORTS +CryptXmlAddObject +CryptXmlClose +CryptXmlCreateReference +CryptXmlDigestReference +CryptXmlEncode +CryptXmlEnumAlgorithmInfo +CryptXmlFindAlgorithmInfo +CryptXmlGetAlgorithmInfo +CryptXmlGetDocContext +CryptXmlGetReference +CryptXmlGetSignature +CryptXmlGetStatus +CryptXmlGetTransforms +CryptXmlImportPublicKey +CryptXmlOpenToDecode +CryptXmlOpenToEncode +CryptXmlSetHMACSecret +CryptXmlSign +CryptXmlVerifySignature diff --git a/lib/libc/mingw/lib-common/cscapi.def b/lib/libc/mingw/lib-common/cscapi.def new file mode 100644 index 0000000000..b919322282 --- /dev/null +++ b/lib/libc/mingw/lib-common/cscapi.def @@ -0,0 +1,14 @@ +; +; Definition file of CSCAPI.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "CSCAPI.dll" +EXPORTS +CscNetApiGetInterface +CscSearchApiGetInterface +OfflineFilesEnable +OfflineFilesGetShareCachingMode +OfflineFilesQueryStatus +OfflineFilesQueryStatusEx +OfflineFilesStart diff --git a/lib/libc/mingw/lib-common/d2d1.def b/lib/libc/mingw/lib-common/d2d1.def new file mode 100644 index 0000000000..8d5b753c66 --- /dev/null +++ b/lib/libc/mingw/lib-common/d2d1.def @@ -0,0 +1,19 @@ +; +; Definition file of d2d1.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "d2d1.dll" +EXPORTS +D2D1CreateFactory +D2D1MakeRotateMatrix +D2D1MakeSkewMatrix +D2D1IsMatrixInvertible +D2D1InvertMatrix +D2D1ConvertColorSpace +D2D1CreateDevice +D2D1CreateDeviceContext +D2D1SinCos +D2D1Tan +D2D1Vec3Length +D2D1ComputeMaximumScaleFactor diff --git a/lib/libc/mingw/lib-common/d3d10.def b/lib/libc/mingw/lib-common/d3d10.def new file mode 100644 index 0000000000..be904546ef --- /dev/null +++ b/lib/libc/mingw/lib-common/d3d10.def @@ -0,0 +1,31 @@ +LIBRARY "d3d10.dll" +EXPORTS +D3D10CompileEffectFromMemory +D3D10CompileShader +D3D10CreateBlob +D3D10CreateDevice +D3D10CreateDeviceAndSwapChain +D3D10CreateEffectFromMemory +D3D10CreateEffectPoolFromMemory +D3D10CreateStateBlock +D3D10DisassembleEffect +D3D10DisassembleShader +D3D10GetGeometryShaderProfile +D3D10GetInputAndOutputSignatureBlob +D3D10GetInputSignatureBlob +D3D10GetOutputSignatureBlob +D3D10GetPixelShaderProfile +D3D10GetShaderDebugInfo +D3D10GetVersion +D3D10GetVertexShaderProfile +D3D10PreprocessShader +D3D10ReflectShader +D3D10RegisterLayers +D3D10StateBlockMaskDifference +D3D10StateBlockMaskDisableAll +D3D10StateBlockMaskDisableCapture +D3D10StateBlockMaskEnableAll +D3D10StateBlockMaskEnableCapture +D3D10StateBlockMaskGetSetting +D3D10StateBlockMaskIntersect +D3D10StateBlockMaskUnion diff --git a/lib/libc/mingw/lib-common/d3d11.def b/lib/libc/mingw/lib-common/d3d11.def new file mode 100644 index 0000000000..fb0cddbeb5 --- /dev/null +++ b/lib/libc/mingw/lib-common/d3d11.def @@ -0,0 +1,58 @@ +; +; Definition file of d3d11.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "d3d11.dll" +EXPORTS +D3D11CreateDeviceForD3D12 +D3DKMTCloseAdapter +D3DKMTDestroyAllocation +D3DKMTDestroyContext +D3DKMTDestroyDevice +D3DKMTDestroySynchronizationObject +D3DKMTQueryAdapterInfo +D3DKMTSetDisplayPrivateDriverFormat +D3DKMTSignalSynchronizationObject +D3DKMTUnlock +D3DKMTWaitForSynchronizationObject +EnableFeatureLevelUpgrade +OpenAdapter10 +OpenAdapter10_2 +CreateDirect3D11DeviceFromDXGIDevice +CreateDirect3D11SurfaceFromDXGISurface +D3D11CoreCreateDevice +D3D11CoreCreateLayeredDevice +D3D11CoreGetLayeredDeviceSize +D3D11CoreRegisterLayers +D3D11CreateDevice +D3D11CreateDeviceAndSwapChain +D3D11On12CreateDevice +D3DKMTCreateAllocation +D3DKMTCreateContext +D3DKMTCreateDevice +D3DKMTCreateSynchronizationObject +D3DKMTEscape +D3DKMTGetContextSchedulingPriority +D3DKMTGetDeviceState +D3DKMTGetDisplayModeList +D3DKMTGetMultisampleMethodList +D3DKMTGetRuntimeData +D3DKMTGetSharedPrimaryHandle +D3DKMTLock +D3DKMTOpenAdapterFromHdc +D3DKMTOpenResource +D3DKMTPresent +D3DKMTQueryAllocationResidency +D3DKMTQueryResourceInfo +D3DKMTRender +D3DKMTSetAllocationPriority +D3DKMTSetContextSchedulingPriority +D3DKMTSetDisplayMode +D3DKMTSetGammaRamp +D3DKMTSetVidPnSourceOwner +D3DKMTWaitForVerticalBlankEvent +D3DPerformance_BeginEvent +D3DPerformance_EndEvent +D3DPerformance_GetStatus +D3DPerformance_SetMarker diff --git a/lib/libc/mingw/lib-common/d3d12.def b/lib/libc/mingw/lib-common/d3d12.def new file mode 100644 index 0000000000..dbb88e6157 --- /dev/null +++ b/lib/libc/mingw/lib-common/d3d12.def @@ -0,0 +1,19 @@ +LIBRARY "d3d12.dll" +EXPORTS +GetBehaviorValue +D3D12CreateDevice +D3D12GetDebugInterface +SetAppCompatStringPointer +D3D12CoreCreateLayeredDevice +D3D12CoreGetLayeredDeviceSize +D3D12CoreRegisterLayers +D3D12CreateRootSignatureDeserializer +D3D12CreateVersionedRootSignatureDeserializer +D3D12DeviceRemovedExtendedData DATA +D3D12EnableExperimentalFeatures +D3D12PIXEventsReplaceBlock +D3D12PIXGetThreadInfo +D3D12PIXNotifyWakeFromFenceSignal +D3D12PIXReportCounter +D3D12SerializeRootSignature +D3D12SerializeVersionedRootSignature diff --git a/lib/libc/mingw/lib-common/d3d9.def b/lib/libc/mingw/lib-common/d3d9.def new file mode 100644 index 0000000000..a4fbf14e27 --- /dev/null +++ b/lib/libc/mingw/lib-common/d3d9.def @@ -0,0 +1,23 @@ +; +; Definition file of d3d9.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "d3d9.dll" +EXPORTS +ord_16 @16 +Direct3DShaderValidatorCreate9 +PSGPError +PSGPSampleTexture +D3DPERF_BeginEvent +D3DPERF_EndEvent +D3DPERF_GetStatus +D3DPERF_QueryRepeatFrame +D3DPERF_SetMarker +D3DPERF_SetOptions +D3DPERF_SetRegion +DebugSetLevel +DebugSetMute +Direct3D9EnableMaximizedWindowedModeShim +Direct3DCreate9 +Direct3DCreate9Ex diff --git a/lib/libc/mingw/lib-common/d3dcompiler_47.def b/lib/libc/mingw/lib-common/d3dcompiler_47.def new file mode 100644 index 0000000000..e6e9161ab0 --- /dev/null +++ b/lib/libc/mingw/lib-common/d3dcompiler_47.def @@ -0,0 +1,36 @@ +; +; Definition file of D3DCOMPILER_47.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "D3DCOMPILER_47.dll" +EXPORTS +D3DAssemble +DebugSetMute +D3DCompile +D3DCompile2 +D3DCompileFromFile +D3DCompressShaders +D3DCreateBlob +D3DCreateFunctionLinkingGraph +D3DCreateLinker +D3DDecompressShaders +D3DDisassemble +D3DDisassemble10Effect +D3DDisassemble11Trace +D3DDisassembleRegion +D3DGetBlobPart +D3DGetDebugInfo +D3DGetInputAndOutputSignatureBlob +D3DGetInputSignatureBlob +D3DGetOutputSignatureBlob +D3DGetTraceInstructionOffsets +D3DLoadModule +D3DPreprocess +D3DReadFileToBlob +D3DReflect +D3DReflectLibrary +D3DReturnFailure1 +D3DSetBlobPart +D3DStripShader +D3DWriteBlobToFile diff --git a/lib/libc/mingw/lib-common/davclnt.def b/lib/libc/mingw/lib-common/davclnt.def new file mode 100644 index 0000000000..1f6062515c --- /dev/null +++ b/lib/libc/mingw/lib-common/davclnt.def @@ -0,0 +1,28 @@ +; +; Definition file of davclnt.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "davclnt.dll" +EXPORTS +DavCancelConnectionsToServer +DavFreeUsedDiskSpace +DavGetDiskSpaceUsage +DavGetTheLockOwnerOfTheFile +DavInvalidateCache +DavRegisterAuthCallback +DavSetCookieW +DavUnregisterAuthCallback +NPAddConnection +NPAddConnection3 +NPCancelConnection +NPCloseEnum +NPEnumResource +NPFormatNetworkName +NPGetCaps +NPGetConnection +NPGetResourceInformation +NPGetResourceParent +NPGetUniversalName +NPGetUser +NPOpenEnum diff --git a/lib/libc/mingw/lib-common/dcomp.def b/lib/libc/mingw/lib-common/dcomp.def new file mode 100644 index 0000000000..4aa4723aba --- /dev/null +++ b/lib/libc/mingw/lib-common/dcomp.def @@ -0,0 +1,19 @@ +; +; Definition file of dcomp.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "dcomp.dll" +EXPORTS +DCompositionAttachMouseDragToHwnd +DCompositionAttachMouseWheelToHwnd +DCompositionCreateDevice +DCompositionCreateDevice2 +DCompositionCreateDevice3 +DCompositionCreateSurfaceHandle +DllCanUnloadNow +DllGetActivationFactory +DllGetClassObject +DwmEnableMMCSS +DwmFlush +DwmpEnableDDASupport diff --git a/lib/libc/mingw/lib-common/ddraw.def b/lib/libc/mingw/lib-common/ddraw.def new file mode 100644 index 0000000000..768b73e4ed --- /dev/null +++ b/lib/libc/mingw/lib-common/ddraw.def @@ -0,0 +1,27 @@ +; +; Definition file of DDRAW.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "DDRAW.dll" +EXPORTS +AcquireDDThreadLock +CompleteCreateSysmemSurface +D3DParseUnknownCommand +DDGetAttachedSurfaceLcl +DDInternalLock +DDInternalUnlock +DSoundHelp +DirectDrawCreate +DirectDrawCreateClipper +DirectDrawCreateEx +DirectDrawEnumerateA +DirectDrawEnumerateExA +DirectDrawEnumerateExW +DirectDrawEnumerateW +GetDDSurfaceLocal +GetOLEThunkData +GetSurfaceFromDC +RegisterSpecialCase +ReleaseDDThreadLock +SetAppCompatData diff --git a/lib/libc/mingw/lib-common/dfscli.def b/lib/libc/mingw/lib-common/dfscli.def new file mode 100644 index 0000000000..acf0e863f9 --- /dev/null +++ b/lib/libc/mingw/lib-common/dfscli.def @@ -0,0 +1,36 @@ +; +; Definition file of dfscli.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "dfscli.dll" +EXPORTS +I_NetDfsIsThisADomainName +NetDfsAdd +NetDfsAddFtRoot +NetDfsAddRootTarget +NetDfsAddStdRoot +NetDfsAddStdRootForced +NetDfsEnum +NetDfsGetClientInfo +NetDfsGetDcAddress +NetDfsGetFtContainerSecurity +NetDfsGetInfo +NetDfsGetSecurity +NetDfsGetStdContainerSecurity +NetDfsGetSupportedNamespaceVersion +NetDfsManagerGetConfigInfo +NetDfsManagerInitialize +NetDfsManagerSendSiteInfo +NetDfsMove +NetDfsRemove +NetDfsRemoveFtRoot +NetDfsRemoveFtRootForced +NetDfsRemoveRootTarget +NetDfsRemoveStdRoot +NetDfsRename +NetDfsSetClientInfo +NetDfsSetFtContainerSecurity +NetDfsSetInfo +NetDfsSetSecurity +NetDfsSetStdContainerSecurity diff --git a/lib/libc/mingw/lib-common/dhcpcsvc.def b/lib/libc/mingw/lib-common/dhcpcsvc.def new file mode 100644 index 0000000000..a0a3c8f375 --- /dev/null +++ b/lib/libc/mingw/lib-common/dhcpcsvc.def @@ -0,0 +1,74 @@ +; +; Definition file of dhcpcsvc.DLL +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "dhcpcsvc.DLL" +EXPORTS +DhcpAcquireParameters +DhcpAcquireParametersByBroadcast +DhcpCApiCleanup +DhcpCApiInitialize +DhcpClient_Generalize +DhcpDeRegisterConnectionStateNotification +DhcpDeRegisterOptions +DhcpDeRegisterParamChange +DhcpDelPersistentRequestParams +DhcpEnableDhcp +DhcpEnableTracing +DhcpEnumClasses +DhcpEnumInterfaces +DhcpFallbackRefreshParams +DhcpFreeEnumeratedInterfaces +DhcpFreeLeaseInfo +DhcpFreeLeaseInfoArray +DhcpFreeMem +DhcpGetClassId +DhcpGetClientId +DhcpGetDhcpServicedConnections +DhcpGetFallbackParams +DhcpGetNotificationStatus +DhcpGetOriginalSubnetMask +DhcpGetTraceArray +DhcpGlobalIsShuttingDown DATA +DhcpGlobalServiceSyncEvent DATA +DhcpGlobalTerminateEvent DATA +DhcpHandlePnPEvent +DhcpIsEnabled +DhcpLeaseIpAddress +DhcpLeaseIpAddressEx +DhcpNotifyConfigChange +DhcpNotifyConfigChangeEx +DhcpNotifyMediaReconnected +DhcpOpenGlobalEvent +DhcpPersistentRequestParams +DhcpQueryLeaseInfo +DhcpQueryLeaseInfoArray +DhcpQueryLeaseInfoEx +DhcpRegisterConnectionStateNotification +DhcpRegisterOptions +DhcpRegisterParamChange +DhcpReleaseIpAddressLease +DhcpReleaseIpAddressLeaseEx +DhcpReleaseParameters +DhcpRemoveDNSRegistrations +DhcpRenewIpAddressLease +DhcpRenewIpAddressLeaseEx +DhcpRequestCachedParams +DhcpRequestOptions +DhcpRequestParams +DhcpSetClassId +DhcpSetClientId +DhcpSetFallbackParams +DhcpSetMSFTVendorSpecificOptions +DhcpStaticRefreshParams +DhcpUndoRequestParams +Dhcpv4CheckServerAvailability +Dhcpv4EnableDhcpEx +McastApiCleanup +McastApiStartup +McastEnumerateScopes +McastGenUID +McastReleaseAddress +McastRenewAddress +McastRequestAddress diff --git a/lib/libc/mingw/lib-common/dhcpsapi.def b/lib/libc/mingw/lib-common/dhcpsapi.def new file mode 100644 index 0000000000..a38b7490ca --- /dev/null +++ b/lib/libc/mingw/lib-common/dhcpsapi.def @@ -0,0 +1,216 @@ +; +; Definition file of DHCPSAPI.DLL +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "DHCPSAPI.DLL" +EXPORTS +DhcpAddFilterV4 +DhcpAddMScopeElement +DhcpAddSecurityGroup +DhcpAddServer +DhcpAddSubnetElement +DhcpAddSubnetElementV4 +DhcpAddSubnetElementV5 +DhcpAddSubnetElementV6 +DhcpAuditLogGetParams +DhcpAuditLogSetParams +DhcpCreateClass +DhcpCreateClassV6 +DhcpCreateClientInfo +DhcpCreateClientInfoV4 +DhcpCreateClientInfoVQ +DhcpCreateOption +DhcpCreateOptionV5 +DhcpCreateOptionV6 +DhcpCreateSubnet +DhcpCreateSubnetV6 +DhcpCreateSubnetVQ +DhcpDeleteClass +DhcpDeleteClassV6 +DhcpDeleteClientInfo +DhcpDeleteClientInfoV6 +DhcpDeleteFilterV4 +DhcpDeleteMClientInfo +DhcpDeleteMScope +DhcpDeleteServer +DhcpDeleteSubnet +DhcpDeleteSubnetV6 +DhcpDeleteSuperScopeV4 +DhcpDsCleanup +DhcpDsClearHostServerEntries +DhcpDsInit +DhcpEnumClasses +DhcpEnumClassesV6 +DhcpEnumFilterV4 +DhcpEnumMScopeClients +DhcpEnumMScopeElements +DhcpEnumMScopes +DhcpEnumOptionValues +DhcpEnumOptionValuesV5 +DhcpEnumOptionValuesV6 +DhcpEnumOptions +DhcpEnumOptionsV5 +DhcpEnumOptionsV6 +DhcpEnumServers +DhcpEnumSubnetClients +DhcpEnumSubnetClientsFilterStatusInfo +DhcpEnumSubnetClientsV4 +DhcpEnumSubnetClientsV5 +DhcpEnumSubnetClientsV6 +DhcpEnumSubnetClientsVQ +DhcpEnumSubnetElements +DhcpEnumSubnetElementsV4 +DhcpEnumSubnetElementsV5 +DhcpEnumSubnetElementsV6 +DhcpEnumSubnets +DhcpEnumSubnetsV6 +DhcpGetAllOptionValues +DhcpGetAllOptionValuesV6 +DhcpGetAllOptions +DhcpGetAllOptionsV6 +DhcpGetClassInfo +DhcpGetClientInfo +DhcpGetClientInfoV4 +DhcpGetClientInfoV6 +DhcpGetClientInfoVQ +DhcpGetClientOptions +DhcpGetFilterV4 +DhcpGetMCastMibInfo +DhcpGetMScopeInfo +DhcpGetMibInfo +DhcpGetMibInfoV5 +DhcpGetMibInfoV6 +DhcpGetMibInfoVQ +DhcpGetOptionInfo +DhcpGetOptionInfoV5 +DhcpGetOptionInfoV6 +DhcpGetOptionValue +DhcpGetOptionValueV5 +DhcpGetOptionValueV6 +DhcpGetServerBindingInfo +DhcpGetServerBindingInfoV6 +DhcpGetServerSpecificStrings +DhcpGetSubnetDelayOffer +DhcpGetSubnetInfo +DhcpGetSubnetInfoV6 +DhcpGetSubnetInfoVQ +DhcpGetSuperScopeInfoV4 +DhcpGetThreadOptions +DhcpGetVersion +DhcpHlprAddV4PolicyCondition +DhcpHlprAddV4PolicyExpr +DhcpHlprAddV4PolicyRange +DhcpHlprCreateV4Policy +DhcpHlprCreateV4PolicyEx +DhcpHlprFindV4DhcpProperty +DhcpHlprFreeV4DhcpProperty +DhcpHlprFreeV4DhcpPropertyArray +DhcpHlprFreeV4Policy +DhcpHlprFreeV4PolicyArray +DhcpHlprFreeV4PolicyEx +DhcpHlprFreeV4PolicyExArray +DhcpHlprIsV4PolicySingleUC +DhcpHlprIsV4PolicyValid +DhcpHlprIsV4PolicyWellFormed +DhcpHlprModifyV4PolicyExpr +DhcpHlprResetV4PolicyExpr +DhcpModifyClass +DhcpModifyClassV6 +DhcpRemoveMScopeElement +DhcpRemoveOption +DhcpRemoveOptionV5 +DhcpRemoveOptionV6 +DhcpRemoveOptionValue +DhcpRemoveOptionValueV5 +DhcpRemoveOptionValueV6 +DhcpRemoveSubnetElement +DhcpRemoveSubnetElementV4 +DhcpRemoveSubnetElementV5 +DhcpRemoveSubnetElementV6 +DhcpRpcFreeMemory +DhcpScanDatabase +DhcpScanMDatabase +DhcpServerAuditlogParamsFree +DhcpServerBackupDatabase +DhcpServerGetConfig +DhcpServerGetConfigV4 +DhcpServerGetConfigV6 +DhcpServerGetConfigVQ +DhcpServerQueryAttribute +DhcpServerQueryAttributes +DhcpServerQueryDnsRegCredentials +DhcpServerRedoAuthorization +DhcpServerRestoreDatabase +DhcpServerSetConfig +DhcpServerSetConfigV4 +DhcpServerSetConfigV6 +DhcpServerSetConfigVQ +DhcpServerSetDnsRegCredentials +DhcpServerSetDnsRegCredentialsV5 +DhcpSetClientInfo +DhcpSetClientInfoV4 +DhcpSetClientInfoV6 +DhcpSetClientInfoVQ +DhcpSetFilterV4 +DhcpSetMScopeInfo +DhcpSetOptionInfo +DhcpSetOptionInfoV5 +DhcpSetOptionInfoV6 +DhcpSetOptionValue +DhcpSetOptionValueV5 +DhcpSetOptionValueV6 +DhcpSetOptionValues +DhcpSetOptionValuesV5 +DhcpSetServerBindingInfo +DhcpSetServerBindingInfoV6 +DhcpSetSubnetDelayOffer +DhcpSetSubnetInfo +DhcpSetSubnetInfoV6 +DhcpSetSubnetInfoVQ +DhcpSetSuperScopeV4 +DhcpSetThreadOptions +DhcpV4AddPolicyRange +DhcpV4CreateClientInfo +DhcpV4CreateClientInfoEx +DhcpV4CreatePolicy +DhcpV4CreatePolicyEx +DhcpV4DeletePolicy +DhcpV4EnumPolicies +DhcpV4EnumPoliciesEx +DhcpV4EnumSubnetClients +DhcpV4EnumSubnetClientsEx +DhcpV4EnumSubnetReservations +DhcpV4FailoverAddScopeToRelationship +DhcpV4FailoverCreateRelationship +DhcpV4FailoverDeleteRelationship +DhcpV4FailoverDeleteScopeFromRelationship +DhcpV4FailoverEnumRelationship +DhcpV4FailoverGetAddressStatus +DhcpV4FailoverGetClientInfo +DhcpV4FailoverGetRelationship +DhcpV4FailoverGetScopeRelationship +DhcpV4FailoverGetScopeStatistics +DhcpV4FailoverGetSystemTime +DhcpV4FailoverSetRelationship +DhcpV4FailoverTriggerAddrAllocation +DhcpV4GetAllOptionValues +DhcpV4GetClientInfo +DhcpV4GetClientInfoEx +DhcpV4GetFreeIPAddress +DhcpV4GetOptionValue +DhcpV4GetPolicy +DhcpV4GetPolicyEx +DhcpV4QueryPolicyEnforcement +DhcpV4RemoveOptionValue +DhcpV4RemovePolicyRange +DhcpV4SetOptionValue +DhcpV4SetOptionValues +DhcpV4SetPolicy +DhcpV4SetPolicyEnforcement +DhcpV4SetPolicyEx +DhcpV6CreateClientInfo +DhcpV6GetFreeIPAddress +DhcpV6GetStatelessStatistics +DhcpV6GetStatelessStoreParams +DhcpV6SetStatelessStoreParams diff --git a/lib/libc/mingw/lib-common/dinput8.def b/lib/libc/mingw/lib-common/dinput8.def new file mode 100644 index 0000000000..7ba9b3399b --- /dev/null +++ b/lib/libc/mingw/lib-common/dinput8.def @@ -0,0 +1,13 @@ +; +; Exports of file DINPUT8.dll +; +; Autogenerated by gen_exportdef +; Written by Kai Tietz, 2007 +; +LIBRARY DINPUT8.dll +EXPORTS +DirectInput8Create +DllCanUnloadNow +DllGetClassObject +DllRegisterServer +DllUnregisterServer diff --git a/lib/libc/mingw/lib-common/dnsapi.def b/lib/libc/mingw/lib-common/dnsapi.def new file mode 100644 index 0000000000..929deecd68 --- /dev/null +++ b/lib/libc/mingw/lib-common/dnsapi.def @@ -0,0 +1,295 @@ +; +; Definition file of DNSAPI.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "DNSAPI.dll" +EXPORTS +AdaptiveTimeout_ClearInterfaceSpecificConfiguration +AdaptiveTimeout_ResetAdaptiveTimeout +AddRefQueryBlobEx +BreakRecordsIntoBlob +Coalesce_UpdateNetVersion +CombineRecordsInBlob +DeRefQueryBlobEx +DelaySortDAServerlist +DnsAcquireContextHandle_A +DnsAcquireContextHandle_W +DnsAllocateRecord +DnsApiAlloc +DnsApiAllocZero +DnsApiFree +DnsApiHeapReset +DnsApiRealloc +DnsApiSetDebugGlobals +DnsAsyncRegisterHostAddrs +DnsAsyncRegisterInit +DnsAsyncRegisterTerm +DnsCancelQuery +DnsCheckNrptRuleIntegrity +DnsCheckNrptRules +DnsConnectionDeletePolicyEntries +DnsConnectionDeletePolicyEntriesPrivate +DnsConnectionDeleteProxyInfo +DnsConnectionFreeNameList +DnsConnectionFreeProxyInfo +DnsConnectionFreeProxyInfoEx +DnsConnectionFreeProxyList +DnsConnectionGetHandleForHostUrlPrivate +DnsConnectionGetNameList +DnsConnectionGetProxyInfo +DnsConnectionGetProxyInfoForHostUrl +DnsConnectionGetProxyList +DnsConnectionSetPolicyEntries +DnsConnectionSetPolicyEntriesPrivate +DnsConnectionSetProxyInfo +DnsConnectionUpdateIfIndexTable +DnsCopyStringEx +DnsCreateReverseNameStringForIpAddress +DnsCreateStandardDnsNameCopy +DnsCreateStringCopy +DnsDeRegisterLocal +DnsDhcpRegisterAddrs +DnsDhcpRegisterHostAddrs +DnsDhcpRegisterInit +DnsDhcpRegisterTerm +DnsDhcpRemoveRegistrations +DnsDhcpSrvRegisterHostAddr +DnsDhcpSrvRegisterHostAddrEx +DnsDhcpSrvRegisterHostName +DnsDhcpSrvRegisterHostNameEx +DnsDhcpSrvRegisterInit +DnsDhcpSrvRegisterInitEx +DnsDhcpSrvRegisterInitialize +DnsDhcpSrvRegisterTerm +DnsDisableIdnEncoding +DnsDowncaseDnsNameLabel +DnsExtractRecordsFromMessage_UTF8 +DnsExtractRecordsFromMessage_W +DnsFindAuthoritativeZone +DnsFlushResolverCache +DnsFlushResolverCacheEntry_A +DnsFlushResolverCacheEntry_UTF8 +DnsFlushResolverCacheEntry_W +DnsFree +DnsFreeAdaptersInfo +DnsFreeConfigStructure +DnsFreeNrptRule +DnsFreeNrptRuleNamesList +DnsFreePolicyConfig +DnsFreeProxyName +DnsGetAdaptersInfo +DnsGetApplicationIdentifier +DnsGetBufferLengthForStringCopy +DnsGetCacheDataTable +DnsGetCacheDataTableEx +DnsGetDnsServerList +DnsGetDomainName +DnsGetInterfaceSettings +DnsGetLastFailedUpdateInfo +DnsGetNrptRuleNamesList +DnsGetPolicyTableInfo +DnsGetPolicyTableInfoPrivate +DnsGetPrimaryDomainName_A +DnsGetProxyInfoPrivate +DnsGetProxyInformation +DnsGetQueryRetryTimeouts +DnsGetSettings +DnsGlobals DATA +DnsIpv6AddressToString +DnsIpv6StringToAddress +DnsIsAMailboxType +DnsIsNSECType +DnsIsStatusRcode +DnsIsStringCountValidForTextType +DnsLogEvent +DnsMapRcodeToStatus +DnsModifyRecordsInSet_A +DnsModifyRecordsInSet_UTF8 +DnsModifyRecordsInSet_W +DnsNameCompareEx_A +DnsNameCompareEx_UTF8 +DnsNameCompareEx_W +DnsNameCompare_A +DnsNameCompare_UTF8 +DnsNameCompare_W +DnsNameCopy +DnsNameCopyAllocate +DnsNetworkInfo_CreateFromFAZ +DnsNetworkInformation_CreateFromFAZ +DnsNotifyResolver +DnsNotifyResolverClusterIp +DnsNotifyResolverEx +DnsQueryConfig +DnsQueryConfigAllocEx +DnsQueryConfigDword +DnsQueryEx +DnsQueryExA +DnsQueryExUTF8 +DnsQueryExW +DnsQuery_A +DnsQuery_UTF8 +DnsQuery_W +DnsRecordBuild_UTF8 +DnsRecordBuild_W +DnsRecordCompare +DnsRecordCopyEx +DnsRecordListFree +DnsRecordListUnmapV4MappedAAAAInPlace +DnsRecordSetCompare +DnsRecordSetCopyEx +DnsRecordSetDetach +DnsRecordStringForType +DnsRecordStringForWritableType +DnsRecordTypeForName +DnsRegisterLocal +DnsReleaseContextHandle +DnsRemoveNrptRule +DnsRemoveRegistrations +DnsReplaceRecordSetA +DnsReplaceRecordSetUTF8 +DnsReplaceRecordSetW +DnsResetQueryRetryTimeouts +DnsResolverOp +DnsResolverQueryHvsi +DnsScreenLocalAddrsForRegistration +DnsServiceBrowse +DnsServiceBrowseCancel +DnsServiceConstructInstance +DnsServiceCopyInstance +DnsServiceDeRegister +DnsServiceFreeInstance +DnsServiceRegister +DnsServiceRegisterCancel +DnsServiceResolve +DnsServiceResolveCancel +DnsSetConfigDword +DnsSetConfigValue +DnsSetInterfaceSettings +DnsSetNrptRule +DnsSetNrptRules +DnsSetQueryRetryTimeouts +DnsSetSettings +DnsStartMulticastQuery +DnsStatusString +DnsStopMulticastQuery +DnsStringCopyAllocateEx +DnsTraceServerConfig +DnsUnicodeToUtf8 +DnsUpdate +DnsUpdateMachinePresence +DnsUpdateTest_A +DnsUpdateTest_UTF8 +DnsUpdateTest_W +DnsUtf8ToUnicode +DnsValidateNameOrIp_TempW +DnsValidateName_A +DnsValidateName_UTF8 +DnsValidateName_W +DnsValidateServerArray_A +DnsValidateServerArray_W +DnsValidateServerStatus +DnsValidateServer_A +DnsValidateServer_W +DnsValidateUtf8Byte +DnsWriteQuestionToBuffer_UTF8 +DnsWriteQuestionToBuffer_W +DnsWriteReverseNameStringForIpAddress +Dns_AddRecordsToMessage +Dns_AllocateMsgBuf +Dns_BuildPacket +Dns_CacheServiceCleanup +Dns_CacheServiceInit +Dns_CacheServiceStopIssued +Dns_CleanupWinsock +Dns_CloseConnection +Dns_CloseSocket +Dns_CreateMulticastSocket +Dns_CreateSocket +Dns_CreateSocketEx +Dns_ExtractRecordsFromMessage +Dns_FindAuthoritativeZoneLib +Dns_FreeMsgBuf +Dns_GetRandomXid +Dns_InitializeMsgBuf +Dns_InitializeMsgRemoteSockaddr +Dns_InitializeWinsock +Dns_OpenTcpConnectionAndSend +Dns_ParseMessage +Dns_ParsePacketRecord +Dns_PingAdapterServers +Dns_ReadPacketName +Dns_ReadPacketNameAllocate +Dns_ReadRecordStructureFromPacket +Dns_RecvTcp +Dns_ResetNetworkInfo +Dns_SendAndRecvUdp +Dns_SendEx +Dns_SetRecordDatalength +Dns_SetRecordsSection +Dns_SetRecordsTtl +Dns_SkipPacketName +Dns_SkipToRecord +Dns_UpdateLib +Dns_UpdateLibEx +Dns_WriteDottedNameToPacket +Dns_WriteQuestionToMessage +Dns_WriteRecordStructureToPacketEx +ExtraInfo_Init +Faz_AreServerListsInSameNameSpace +FlushDnsPolicyUnreachableStatus +GetCurrentTimeInSeconds +HostsFile_Close +HostsFile_Open +HostsFile_ReadLine +IpHelp_IsAddrOnLink +Local_GetRecordsForLocalName +Local_GetRecordsForLocalNameEx +NetInfo_Build +NetInfo_Clean +NetInfo_Copy +NetInfo_CopyNetworkIndex +NetInfo_CreatePerNetworkNetinfo +NetInfo_Free +NetInfo_GetAdapterByAddress +NetInfo_GetAdapterByInterfaceIndex +NetInfo_GetAdapterByName +NetInfo_IsAddrConfig +NetInfo_IsForUpdate +NetInfo_IsTcpipConfigChange +NetInfo_ResetServerPriorities +NetInfo_UpdateDnsInterfaceConfigChange +NetInfo_UpdateNetworkProperties +NetInfo_UpdateServerReachability +QueryDirectEx +Query_Cancel +Query_Main +Reg_FreeUpdateInfo +Reg_GetValueEx +Reg_ReadGlobalsEx +Reg_ReadUpdateInfo +Security_ContextListTimeout +Send_AndRecvUdpWithParam +Send_MessagePrivate +Send_MessagePrivateEx +Send_OpenTcpConnectionAndSend +Socket_CacheCleanup +Socket_CacheInit +Socket_CleanupWinsock +Socket_ClearMessageSockets +Socket_CloseEx +Socket_CloseMessageSockets +Socket_Create +Socket_CreateMulticast +Socket_InitWinsock +Socket_JoinMulticast +Socket_RecvFrom +Socket_SetMulticastInterface +Socket_SetMulticastLoopBack +Socket_SetTtl +Socket_TcpListen +Trace_Reset +Update_ReplaceAddressRecordsW +Util_IsIp6Running +Util_IsRunningOnXboxOne +WriteDnsNrptRulesToRegistry diff --git a/lib/libc/mingw/lib-common/dsound.def b/lib/libc/mingw/lib-common/dsound.def new file mode 100644 index 0000000000..54997c76b4 --- /dev/null +++ b/lib/libc/mingw/lib-common/dsound.def @@ -0,0 +1,20 @@ +; +; Exports of file DSOUND.dll +; +; Autogenerated by gen_exportdef +; Written by Kai Tietz, 2007 +; +LIBRARY DSOUND.dll +EXPORTS +DirectSoundCreate +DirectSoundEnumerateA +DirectSoundEnumerateW +DllCanUnloadNow +DllGetClassObject +DirectSoundCaptureCreate +DirectSoundCaptureEnumerateA +DirectSoundCaptureEnumerateW +GetDeviceID +DirectSoundFullDuplexCreate +DirectSoundCreate8 +DirectSoundCaptureCreate8 diff --git a/lib/libc/mingw/lib-common/dsprop.def b/lib/libc/mingw/lib-common/dsprop.def new file mode 100644 index 0000000000..a0df5b32a1 --- /dev/null +++ b/lib/libc/mingw/lib-common/dsprop.def @@ -0,0 +1,31 @@ +; +; Exports of file dsprop.dll +; +; Autogenerated by gen_exportdef +; Written by Kai Tietz, 2007 +; +LIBRARY dsprop.dll +EXPORTS +CheckADsError +CrackName +DSPROP_GetGCSearchOnDomain +ErrMsg +ErrMsgParam +FindSheet +MsgBox +ReportError +Smart_PADS_ATTR_INFO__Empty +ADsPropCheckIfWritable +ADsPropCreateNotifyObj +ADsPropGetInitInfo +ADsPropSendErrorMessage +ADsPropSetHwnd +ADsPropSetHwndWithTitle +ADsPropShowErrorDialog +BringSheetToForeground +DllCanUnloadNow +DllGetClassObject +DllRegisterServer +DllUnregisterServer +IsSheetAlreadyUp +PostADsPropSheet diff --git a/lib/libc/mingw/lib-common/dsrole.def b/lib/libc/mingw/lib-common/dsrole.def new file mode 100644 index 0000000000..5ecffde38e --- /dev/null +++ b/lib/libc/mingw/lib-common/dsrole.def @@ -0,0 +1,21 @@ +; +; Definition file of dsrole.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "dsrole.dll" +EXPORTS +DsRoleAbortDownlevelServerUpgrade +DsRoleCancel +DsRoleDcAsDc +DsRoleDcAsReplica +DsRoleDemoteDc +DsRoleDnsNameToFlatName +DsRoleFreeMemory +DsRoleGetDatabaseFacts +DsRoleGetDcOperationProgress +DsRoleGetDcOperationResults +DsRoleGetPrimaryDomainInformation +DsRoleIfmHandleFree +DsRoleServerSaveStateForUpgrade +DsRoleUpgradeDownlevelServer diff --git a/lib/libc/mingw/lib-common/dssec.def b/lib/libc/mingw/lib-common/dssec.def new file mode 100644 index 0000000000..dd5bd92db5 --- /dev/null +++ b/lib/libc/mingw/lib-common/dssec.def @@ -0,0 +1,14 @@ +; +; Exports of file DSSEC.dll +; +; Autogenerated by gen_exportdef +; Written by Kai Tietz, 2007 +; +LIBRARY DSSEC.dll +EXPORTS +DSCreateISecurityInfoObject +DSCreateSecurityPage +DSEditSecurity +DSCreateISecurityInfoObjectEx +DllCanUnloadNow +DllGetClassObject diff --git a/lib/libc/mingw/lib-common/dsuiext.def b/lib/libc/mingw/lib-common/dsuiext.def new file mode 100644 index 0000000000..605789c44d --- /dev/null +++ b/lib/libc/mingw/lib-common/dsuiext.def @@ -0,0 +1,17 @@ +; +; Exports of file dsuiext.dll +; +; Autogenerated by gen_exportdef +; Written by Kai Tietz, 2007 +; +LIBRARY dsuiext.dll +EXPORTS +DsBrowseForContainerA +DsBrowseForContainerW +DllCanUnloadNow +DllGetClassObject +DllInstall +DllRegisterServer +DllUnregisterServer +DsGetIcon +DsGetFriendlyClassName diff --git a/lib/libc/mingw/lib-common/dwmapi.def b/lib/libc/mingw/lib-common/dwmapi.def new file mode 100644 index 0000000000..6575c8492b --- /dev/null +++ b/lib/libc/mingw/lib-common/dwmapi.def @@ -0,0 +1,48 @@ +; +; Definition file of dwmapi.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "dwmapi.dll" +EXPORTS +DwmpDxGetWindowSharedSurface +DwmpDxUpdateWindowSharedSurface +DwmEnableComposition +DwmAttachMilContent +DwmDefWindowProc +DwmDetachMilContent +DwmEnableBlurBehindWindow +DwmEnableMMCSS +DwmExtendFrameIntoClientArea +DwmFlush +DwmGetColorizationColor +DwmpDxBindSwapChain +DwmpDxUnbindSwapChain +DwmpDxgiIsThreadDesktopComposited +DwmGetCompositionTimingInfo +DwmGetGraphicsStreamClient +DwmpDxUpdateWindowRedirectionBltSurface +DwmpRenderFlick +DwmpAllocateSecurityDescriptor +DwmpFreeSecurityDescriptor +DwmpEnableDDASupport +DwmGetGraphicsStreamTransformHint +DwmTetherTextContact +DwmGetTransportAttributes +DwmGetWindowAttribute +DwmInvalidateIconicBitmaps +DwmIsCompositionEnabled +DwmModifyPreviousDxFrameDuration +DwmQueryThumbnailSourceSize +DwmRegisterThumbnail +DwmRenderGesture +DwmSetDxFrameDuration +DwmSetIconicLivePreviewBitmap +DwmSetIconicThumbnail +DwmSetPresentParameters +DwmSetWindowAttribute +DwmShowContact +DwmTetherContact +DwmTransitionOwnedWindow +DwmUnregisterThumbnail +DwmUpdateThumbnailProperties diff --git a/lib/libc/mingw/lib-common/dwrite.def b/lib/libc/mingw/lib-common/dwrite.def new file mode 100644 index 0000000000..38be64c270 --- /dev/null +++ b/lib/libc/mingw/lib-common/dwrite.def @@ -0,0 +1,8 @@ +; +; Definition file of DWrite.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "DWrite.dll" +EXPORTS +DWriteCreateFactory diff --git a/lib/libc/mingw/lib-common/dxgi.def b/lib/libc/mingw/lib-common/dxgi.def new file mode 100644 index 0000000000..bbdaa85646 --- /dev/null +++ b/lib/libc/mingw/lib-common/dxgi.def @@ -0,0 +1,54 @@ +LIBRARY "dxgi.dll" +EXPORTS +CompatString +CompatValue +D3DKMTCloseAdapter +D3DKMTDestroyAllocation +D3DKMTDestroyContext +D3DKMTDestroyDevice +D3DKMTDestroySynchronizationObject +D3DKMTQueryAdapterInfo +D3DKMTSetDisplayPrivateDriverFormat +D3DKMTSignalSynchronizationObject +D3DKMTUnlock +D3DKMTWaitForSynchronizationObject +DXGIDumpJournal +DXGIRevertToSxS +OpenAdapter10 +OpenAdapter10_2 +SetAppCompatStringPointer +CreateDXGIFactory +CreateDXGIFactory1 +CreateDXGIFactory2 +D3DKMTCreateAllocation +D3DKMTCreateContext +D3DKMTCreateDevice +D3DKMTCreateSynchronizationObject +D3DKMTEscape +D3DKMTGetContextSchedulingPriority +D3DKMTGetDeviceState +D3DKMTGetDisplayModeList +D3DKMTGetMultisampleMethodList +D3DKMTGetRuntimeData +D3DKMTGetSharedPrimaryHandle +D3DKMTLock +D3DKMTOpenAdapterFromHdc +D3DKMTOpenResource +D3DKMTPresent +D3DKMTQueryAllocationResidency +D3DKMTQueryResourceInfo +D3DKMTRender +D3DKMTSetAllocationPriority +D3DKMTSetContextSchedulingPriority +D3DKMTSetDisplayMode +D3DKMTSetGammaRamp +D3DKMTSetVidPnSourceOwner +D3DKMTWaitForSynchronizationObject +D3DKMTWaitForVerticalBlankEvent +DXGID3D10CreateDevice +DXGID3D10CreateLayeredDevice +DXGID3D10ETWRundown +DXGID3D10GetLayeredDeviceSize +DXGID3D10RegisterLayers +DXGIGetDebugInterface1 +DXGIReportAdapterConfiguration diff --git a/lib/libc/mingw/lib-common/dxva2.def b/lib/libc/mingw/lib-common/dxva2.def new file mode 100644 index 0000000000..5f88023f11 --- /dev/null +++ b/lib/libc/mingw/lib-common/dxva2.def @@ -0,0 +1,40 @@ +LIBRARY "dxva2.dll" +EXPORTS +CapabilitiesRequestAndCapabilitiesReply +DXVA2CreateDirect3DDeviceManager9 +DXVA2CreateVideoService +DXVAHD_CreateDevice +DegaussMonitor +DestroyPhysicalMonitor +DestroyPhysicalMonitors +GetCapabilitiesStringLength +GetMonitorBrightness +GetMonitorCapabilities +GetMonitorColorTemperature +GetMonitorContrast +GetMonitorDisplayAreaPosition +GetMonitorDisplayAreaSize +GetMonitorRedGreenOrBlueDrive +GetMonitorRedGreenOrBlueGain +GetMonitorTechnologyType +GetNumberOfPhysicalMonitorsFromHMONITOR +GetNumberOfPhysicalMonitorsFromIDirect3DDevice9 +GetPhysicalMonitorsFromHMONITOR +GetPhysicalMonitorsFromIDirect3DDevice9 +GetTimingReport +GetVCPFeatureAndVCPFeatureReply +OPMGetVideoOutputsFromHMONITOR +OPMGetVideoOutputsFromIDirect3DDevice9Object +RestoreMonitorFactoryColorDefaults +RestoreMonitorFactoryDefaults +SaveCurrentMonitorSettings +SaveCurrentSettings +SetMonitorBrightness +SetMonitorColorTemperature +SetMonitorContrast +SetMonitorDisplayAreaPosition +SetMonitorDisplayAreaSize +SetMonitorRedGreenOrBlueDrive +SetMonitorRedGreenOrBlueGain +SetVCPFeature +UABGetCertificate diff --git a/lib/libc/mingw/lib-common/eappcfg.def b/lib/libc/mingw/lib-common/eappcfg.def new file mode 100644 index 0000000000..6ce689df1f --- /dev/null +++ b/lib/libc/mingw/lib-common/eappcfg.def @@ -0,0 +1,22 @@ +; +; Definition file of eappcfg.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "eappcfg.dll" +EXPORTS +EapHostPeerConfigBlob2Xml +EapHostPeerConfigXml2Blob +EapHostPeerCreateMethodConfiguration +EapHostPeerCredentialsXml2Blob +EapHostPeerFreeErrorMemory +EapHostPeerFreeMemory +EapHostPeerGetMethodProperties +EapHostPeerGetMethods +EapHostPeerInvokeConfigUI +EapHostPeerInvokeIdentityUI +EapHostPeerInvokeInteractiveUI +EapHostPeerQueryCredentialInputFields +EapHostPeerQueryInteractiveUIInputFields +EapHostPeerQueryUIBlobFromInteractiveUIInputFields +EapHostPeerQueryUserBlobFromCredentialInputFields diff --git a/lib/libc/mingw/lib-common/eappprxy.def b/lib/libc/mingw/lib-common/eappprxy.def new file mode 100644 index 0000000000..e7bd7bc931 --- /dev/null +++ b/lib/libc/mingw/lib-common/eappprxy.def @@ -0,0 +1,23 @@ +; +; Definition file of eappprxy.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "eappprxy.dll" +EXPORTS +EapHostPeerBeginSession +EapHostPeerClearConnection +EapHostPeerEndSession +EapHostPeerFreeEapError +EapHostPeerFreeRuntimeMemory +EapHostPeerGetAuthStatus +EapHostPeerGetIdentity +EapHostPeerGetResponseAttributes +EapHostPeerGetResult +EapHostPeerGetSendPacket +EapHostPeerGetUIContext +EapHostPeerInitialize +EapHostPeerProcessReceivedPacket +EapHostPeerSetResponseAttributes +EapHostPeerSetUIContext +EapHostPeerUninitialize diff --git a/lib/libc/mingw/lib-common/elscore.def b/lib/libc/mingw/lib-common/elscore.def new file mode 100644 index 0000000000..e4b0f63f27 --- /dev/null +++ b/lib/libc/mingw/lib-common/elscore.def @@ -0,0 +1,12 @@ +; +; Definition file of elscore.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "elscore.dll" +EXPORTS +MappingDoAction +MappingFreePropertyBag +MappingFreeServices +MappingGetServices +MappingRecognizeText diff --git a/lib/libc/mingw/lib-common/evr.def b/lib/libc/mingw/lib-common/evr.def new file mode 100644 index 0000000000..5ff1294259 --- /dev/null +++ b/lib/libc/mingw/lib-common/evr.def @@ -0,0 +1,31 @@ +; +; Definition file of EVR.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "EVR.dll" +EXPORTS +MFConvertColorInfoFromDXVA +MFConvertColorInfoToDXVA +MFConvertFromFP16Array +MFConvertToFP16Array +MFCopyImage +MFCreateDXSurfaceBuffer +MFCreateVideoMediaType +MFCreateVideoMediaTypeFromBitMapInfoHeader +MFCreateVideoMediaTypeFromSubtype +MFCreateVideoMediaTypeFromVideoInfoHeader +MFCreateVideoMediaTypeFromVideoInfoHeader2 +MFCreateVideoMixer +MFCreateVideoMixerAndPresenter +MFCreateVideoOTA +MFCreateVideoPresenter +MFCreateVideoPresenter2 +MFCreateVideoSampleAllocator +MFCreateVideoSampleFromSurface +MFGetPlaneSize +MFGetStrideForBitmapInfoHeader +MFGetUncompressedVideoFormat +MFInitVideoFormat +MFInitVideoFormat_RGB +MFIsFormatYUV diff --git a/lib/libc/mingw/lib-common/fltlib.def b/lib/libc/mingw/lib-common/fltlib.def new file mode 100644 index 0000000000..a1cb0b627b --- /dev/null +++ b/lib/libc/mingw/lib-common/fltlib.def @@ -0,0 +1,37 @@ +; +; Exports of file FLTLIB.DLL +; +; Autogenerated by gen_exportdef +; Written by Kai Tietz, 2007 +; +LIBRARY FLTLIB.DLL +EXPORTS +FilterAttach +FilterAttachAtAltitude +FilterClose +FilterConnectCommunicationPort +FilterCreate +FilterDetach +FilterFindClose +FilterFindFirst +FilterFindNext +FilterGetDosName +FilterGetInformation +FilterGetMessage +FilterInstanceClose +FilterInstanceCreate +FilterInstanceFindClose +FilterInstanceFindFirst +FilterInstanceFindNext +FilterInstanceGetInformation +FilterLoad +FilterReplyMessage +FilterSendMessage +FilterUnload +FilterVolumeClose +FilterVolumeFindClose +FilterVolumeFindFirst +FilterVolumeFindNext +FilterVolumeInstanceFindClose +FilterVolumeInstanceFindFirst +FilterVolumeInstanceFindNext diff --git a/lib/libc/mingw/lib-common/fontsub.def b/lib/libc/mingw/lib-common/fontsub.def new file mode 100644 index 0000000000..c6180cf929 --- /dev/null +++ b/lib/libc/mingw/lib-common/fontsub.def @@ -0,0 +1,10 @@ +; +; Exports of file FONTSUB.dll +; +; Autogenerated by gen_exportdef +; Written by Kai Tietz, 2007 +; +LIBRARY FONTSUB.dll +EXPORTS +CreateFontPackage +MergeFontPackage diff --git a/lib/libc/mingw/lib-common/gpedit.def b/lib/libc/mingw/lib-common/gpedit.def new file mode 100644 index 0000000000..8b4c6743dd --- /dev/null +++ b/lib/libc/mingw/lib-common/gpedit.def @@ -0,0 +1,18 @@ +; +; Exports of file GPEDIT.DLL +; +; Autogenerated by gen_exportdef +; Written by Kai Tietz, 2007 +; +LIBRARY GPEDIT.DLL +EXPORTS +BrowseForGPO +CreateGPOLink +DeleteAllGPOLinks +DeleteGPOLink +DllCanUnloadNow +DllGetClassObject +DllRegisterServer +DllUnregisterServer +ExportRSoPData +ImportRSoPData diff --git a/lib/libc/mingw/lib-common/hid.def b/lib/libc/mingw/lib-common/hid.def new file mode 100644 index 0000000000..1be39fc185 --- /dev/null +++ b/lib/libc/mingw/lib-common/hid.def @@ -0,0 +1,52 @@ +; +; Exports of file HID.DLL +; +; Autogenerated by gen_exportdef +; Written by Kai Tietz, 2007 +; +LIBRARY HID.DLL +EXPORTS +HidD_FlushQueue +HidD_FreePreparsedData +HidD_GetAttributes +HidD_GetConfiguration +HidD_GetFeature +HidD_GetHidGuid +HidD_GetIndexedString +HidD_GetInputReport +HidD_GetManufacturerString +HidD_GetMsGenreDescriptor +HidD_GetNumInputBuffers +HidD_GetPhysicalDescriptor +HidD_GetPreparsedData +HidD_GetProductString +HidD_GetSerialNumberString +HidD_Hello +HidD_SetConfiguration +HidD_SetFeature +HidD_SetNumInputBuffers +HidD_SetOutputReport +HidP_GetButtonCaps +HidP_GetCaps +HidP_GetData +HidP_GetExtendedAttributes +HidP_GetLinkCollectionNodes +HidP_GetScaledUsageValue +HidP_GetSpecificButtonCaps +HidP_GetSpecificValueCaps +HidP_GetUsageValue +HidP_GetUsageValueArray +HidP_GetUsages +HidP_GetUsagesEx +HidP_GetValueCaps +HidP_InitializeReportForID +HidP_MaxDataListLength +HidP_MaxUsageListLength +HidP_SetData +HidP_SetScaledUsageValue +HidP_SetUsageValue +HidP_SetUsageValueArray +HidP_SetUsages +HidP_TranslateUsagesToI8042ScanCodes +HidP_UnsetUsages +HidP_UsageListDifference diff --git a/lib/libc/mingw/lib-common/hlink.def b/lib/libc/mingw/lib-common/hlink.def new file mode 100644 index 0000000000..445c67037d --- /dev/null +++ b/lib/libc/mingw/lib-common/hlink.def @@ -0,0 +1,40 @@ +; +; Exports of file hlink.dll +; +; Autogenerated by gen_exportdef +; Written by Kai Tietz, 2007 +; +LIBRARY hlink.dll +EXPORTS +HlinkCreateFromMoniker +HlinkCreateFromString +HlinkCreateFromData +HlinkCreateBrowseContext +HlinkClone +HlinkNavigateToStringReference +HlinkOnNavigate +HlinkNavigate +HlinkUpdateStackItem +HlinkOnRenameDocument +DllCanUnloadNow +HlinkResolveMonikerForData +HlinkResolveStringForData +OleSaveToStreamEx +DllGetClassObject +HlinkParseDisplayName +DllRegisterServer +HlinkQueryCreateFromData +HlinkSetSpecialReference +HlinkGetSpecialReference +HlinkCreateShortcut +HlinkResolveShortcut +HlinkIsShortcut +HlinkResolveShortcutToString +HlinkCreateShortcutFromString +HlinkGetValueFromParams +HlinkCreateShortcutFromMoniker +HlinkResolveShortcutToMoniker +HlinkTranslateURL +HlinkCreateExtensionServices +HlinkPreprocessMoniker +DllUnregisterServer diff --git a/lib/libc/mingw/lib-common/icm32.def b/lib/libc/mingw/lib-common/icm32.def new file mode 100644 index 0000000000..1b2873a260 --- /dev/null +++ b/lib/libc/mingw/lib-common/icm32.def @@ -0,0 +1,29 @@ +; +; Exports of file ICM32.dll +; +; Autogenerated by gen_exportdef +; Written by Kai Tietz, 2007 +; +LIBRARY ICM32.dll +EXPORTS +CMCheckColors +CMCheckColorsInGamut +CMCheckRGBs +CMCreateDeviceLinkProfile +CMCreateMultiProfileTransform +CMCreateProfile +CMCreateProfileW +CMCreateTransform +CMCreateTransformExt +CMCreateTransformExtW +CMCreateTransformW +CMDeleteTransform +CMGetInfo +CMIsProfileValid +CMTranslateColors +CMTranslateRGB +CMTranslateRGBs +CMTranslateRGBsExt +CMConvertColorNameToIndex +CMConvertIndexToColorName +CMGetNamedProfileInfo diff --git a/lib/libc/mingw/lib-common/icmui.def b/lib/libc/mingw/lib-common/icmui.def new file mode 100644 index 0000000000..6c1bc82df6 --- /dev/null +++ b/lib/libc/mingw/lib-common/icmui.def @@ -0,0 +1,12 @@ +; +; Exports of file ICMUI.DLL +; +; Autogenerated by gen_exportdef +; Written by Kai Tietz, 2007 +; +LIBRARY ICMUI.DLL +EXPORTS +DllCanUnloadNow +DllGetClassObject +SetupColorMatchingA +SetupColorMatchingW diff --git a/lib/libc/mingw/lib-common/ksuser.def b/lib/libc/mingw/lib-common/ksuser.def new file mode 100644 index 0000000000..92a684c0ef --- /dev/null +++ b/lib/libc/mingw/lib-common/ksuser.def @@ -0,0 +1,15 @@ +; +; Definition file of ksuser.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "ksuser.dll" +EXPORTS +KsCreateAllocator +KsCreateAllocator2 +KsCreateClock +KsCreateClock2 +KsCreatePin +KsCreatePin2 +KsCreateTopologyNode +KsCreateTopologyNode2 diff --git a/lib/libc/mingw/lib-common/ktmw32.def b/lib/libc/mingw/lib-common/ktmw32.def new file mode 100644 index 0000000000..fd338ecd63 --- /dev/null +++ b/lib/libc/mingw/lib-common/ktmw32.def @@ -0,0 +1,51 @@ +; +; Definition file of ktmw32.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "ktmw32.dll" +EXPORTS +CommitComplete +CommitEnlistment +CommitTransaction +CommitTransactionAsync +CreateEnlistment +CreateResourceManager +CreateTransaction +CreateTransactionManager +GetCurrentClockTransactionManager +GetEnlistmentId +GetEnlistmentRecoveryInformation +GetNotificationResourceManager +GetNotificationResourceManagerAsync +GetTransactionId +GetTransactionInformation +GetTransactionManagerId +OpenEnlistment +OpenResourceManager +OpenTransaction +OpenTransactionManager +OpenTransactionManagerById +PrePrepareComplete +PrePrepareEnlistment +PrepareComplete +PrepareEnlistment +PrivCreateTransaction +PrivIsLogWritableTransactionManager +PrivPropagationComplete +PrivPropagationFailed +PrivRegisterProtocolAddressInformation +ReadOnlyEnlistment +RecoverEnlistment +RecoverResourceManager +RecoverTransactionManager +RenameTransactionManager +RollbackComplete +RollbackEnlistment +RollbackTransaction +RollbackTransactionAsync +RollforwardTransactionManager +SetEnlistmentRecoveryInformation +SetResourceManagerCompletionPort +SetTransactionInformation +SinglePhaseReject diff --git a/lib/libc/mingw/lib-common/loadperf.def b/lib/libc/mingw/lib-common/loadperf.def new file mode 100644 index 0000000000..513cc56923 --- /dev/null +++ b/lib/libc/mingw/lib-common/loadperf.def @@ -0,0 +1,21 @@ +; +; Definition file of loadperf.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "loadperf.dll" +EXPORTS +BackupPerfRegistryToFileW +InstallPerfDllA +InstallPerfDllW +LoadPerfCounterTextStringsA +LoadPerfCounterTextStringsW +LpAcquireInstallationMutex +LpReleaseInstallationMutex +RestorePerfRegistryFromFileW +SetServiceAsTrustedA +SetServiceAsTrustedW +UnloadPerfCounterTextStringsA +UnloadPerfCounterTextStringsW +UpdatePerfNameFilesA +UpdatePerfNameFilesW diff --git a/lib/libc/mingw/lib-common/logoncli.def b/lib/libc/mingw/lib-common/logoncli.def new file mode 100644 index 0000000000..662b8c1d40 --- /dev/null +++ b/lib/libc/mingw/lib-common/logoncli.def @@ -0,0 +1,91 @@ +; +; Definition file of logoncli.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "logoncli.dll" +EXPORTS +AuthzrExtAccessCheck +AuthzrExtFreeContext +AuthzrExtFreeResourceManager +AuthzrExtGetInformationFromContext +AuthzrExtInitializeCompoundContext +AuthzrExtInitializeContextFromSid +AuthzrExtInitializeRemoteResourceManager +AuthzrExtModifyClaims +DsAddressToSiteNamesA +DsAddressToSiteNamesExA +DsAddressToSiteNamesExW +DsAddressToSiteNamesW +DsDeregisterDnsHostRecordsA +DsDeregisterDnsHostRecordsW +DsEnumerateDomainTrustsA +DsEnumerateDomainTrustsW +DsGetDcCloseW +DsGetDcNameA +DsGetDcNameW +DsGetDcNameWithAccountA +DsGetDcNameWithAccountW +DsGetDcNextA +DsGetDcNextW +DsGetDcOpenA +DsGetDcOpenW +DsGetDcSiteCoverageA +DsGetDcSiteCoverageW +DsGetForestTrustInformationW +DsGetSiteNameA +DsGetSiteNameW +DsMergeForestTrustInformationW +DsValidateSubnetNameA +DsValidateSubnetNameW +I_DsUpdateReadOnlyServerDnsRecords +I_NetAccountDeltas +I_NetAccountSync +I_NetChainSetClientAttributes +I_NetChainSetClientAttributes2 +I_NetDatabaseDeltas +I_NetDatabaseRedo +I_NetDatabaseSync +I_NetDatabaseSync2 +I_NetGetDCList +I_NetGetForestTrustInformation +I_NetLogonControl +I_NetLogonControl2 +I_NetLogonGetCapabilities +I_NetLogonGetDomainInfo +I_NetLogonSamLogoff +I_NetLogonSamLogon +I_NetLogonSamLogonEx +I_NetLogonSamLogonWithFlags +I_NetLogonSendToSam +I_NetLogonUasLogoff +I_NetLogonUasLogon +I_NetServerAuthenticate +I_NetServerAuthenticate2 +I_NetServerAuthenticate3 +I_NetServerGetTrustInfo +I_NetServerPasswordGet +I_NetServerPasswordSet +I_NetServerPasswordSet2 +I_NetServerReqChallenge +I_NetServerTrustPasswordsGet +I_NetlogonComputeClientDigest +I_NetlogonComputeClientSignature +I_NetlogonComputeServerDigest +I_NetlogonComputeServerSignature +I_NetlogonGetTrustRid +I_RpcExtInitializeExtensionPoint +NetAddServiceAccount +NetEnumerateServiceAccounts +NetEnumerateTrustedDomains +NetGetAnyDCName +NetGetDCName +NetIsServiceAccount +NetLogonGetTimeServiceParentDomain +NetLogonSetServiceBits +NetQueryServiceAccount +NetRemoveServiceAccount +NlBindingAddServerToCache +NlBindingRemoveServerFromCache +NlBindingSetAuthInfo +NlSetDsIsCloningPDC diff --git a/lib/libc/mingw/lib-common/mapi32.def b/lib/libc/mingw/lib-common/mapi32.def new file mode 100644 index 0000000000..8b68b1159a --- /dev/null +++ b/lib/libc/mingw/lib-common/mapi32.def @@ -0,0 +1,177 @@ +; +; Definition file of MAPI32.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "MAPI32.dll" +EXPORTS +ord_8 @8 +MAPILogonEx +MAPIAllocateBuffer +MAPIAllocateMore +MAPIFreeBuffer +MAPIAdminProfiles +MAPIInitialize +MAPIUninitialize +PRProviderInit +LAUNCHWIZARD +LaunchWizard +MAPIOpenFormMgr +MAPIOpenLocalFormContainer +ScInitMapiUtil +DeinitMapiUtil +ScGenerateMuid +HrAllocAdviseSink +WrapProgress +HrThisThreadAdviseSink +ScBinFromHexBounded +FBinFromHex +HexFromBin +BuildDisplayTable +SwapPlong +SwapPword +MAPIInitIdle +MAPIDeinitIdle +InstallFilterHook +FtgRegisterIdleRoutine +EnableIdleRoutine +DeregisterIdleRoutine +ChangeIdleRoutine +MAPIGetDefaultMalloc +CreateIProp +CreateTable +MNLS_lstrlenW +MNLS_lstrcmpW +MNLS_lstrcpyW +MNLS_CompareStringW +MNLS_MultiByteToWideChar +MNLS_WideCharToMultiByte +MNLS_IsBadStringPtrW +FEqualNames +WrapStoreEntryID +IsBadBoundedStringPtr +HrQueryAllRows +PropCopyMore +UlPropSize +FPropContainsProp +FPropCompareProp +LPropCompareProp +HrAddColumns +HrAddColumnsEx +FtAddFt +FtAdcFt +FtSubFt +FtMulDw +FtMulDwDw +FtNegFt +FtDivFtBogus +UlAddRef +UlRelease +SzFindCh +SzFindLastCh +SzFindSz +UFromSz +HrGetOneProp +HrSetOneProp +FPropExists +PpropFindProp +FreePadrlist +FreeProws +HrSzFromEntryID +HrEntryIDFromSz +HrComposeEID +HrDecomposeEID +HrComposeMsgID +HrDecomposeMsgID +OpenStreamOnFile +OpenTnefStream +OpenTnefStreamEx +GetTnefStreamCodepage +UlFromSzHex +UNKOBJ_ScAllocate +UNKOBJ_ScAllocateMore +UNKOBJ_Free +UNKOBJ_FreeRows +UNKOBJ_ScCOAllocate +UNKOBJ_ScCOReallocate +UNKOBJ_COFree +UNKOBJ_ScSzFromIdsAlloc +ScCountNotifications +ScCopyNotifications +ScRelocNotifications +ScCountProps +ScCopyProps +ScRelocProps +LpValFindProp +ScDupPropset +FBadRglpszA +FBadRglpszW +FBadRowSet +FBadRglpNameID +FBadPropTag +FBadRow +FBadProp +FBadColumnSet +RTFSync +WrapCompressedRTFStream +__ValidateParameters +__CPPValidateParameters +FBadSortOrderSet +FBadEntryList +FBadRestriction +ScUNCFromLocalPath +ScLocalPathFromUNC +HrIStorageFromStream +HrValidateIPMSubtree +OpenIMsgSession +CloseIMsgSession +OpenIMsgOnIStg +SetAttribIMsgOnIStg +GetAttribIMsgOnIStg +MapStorageSCode +ScMAPIXFromCMC +ScMAPIXFromSMAPI +EncodeID +FDecodeID +CchOfEncoding +CbOfEncoded +MAPISendDocuments +MAPILogon +MAPILogoff +MAPISendMail +MAPISaveMail +MAPIReadMail +MAPIFindNext +MAPIDeleteMail +MAPIAddress +MAPIDetails +MAPIResolveName +BMAPISendMail +BMAPISaveMail +BMAPIReadMail +BMAPIGetReadMail +BMAPIFindNext +BMAPIAddress +BMAPIGetAddress +BMAPIDetails +BMAPIResolveName +cmc_act_on +cmc_free +cmc_list +cmc_logoff +cmc_logon +cmc_look_up +cmc_query_configuration +cmc_read +cmc_send +cmc_send_documents +HrDispatchNotifications +HrValidateParametersV +HrValidateParametersValist +ScCreateConversationIndex +HrGetOmiProvidersFlags +HrSetOmiProvidersFlagsInvalid +GetOutlookVersion +FixMAPI +FGetComponentPath +MAPISendMailW diff --git a/lib/libc/mingw/lib-common/mf.def b/lib/libc/mingw/lib-common/mf.def new file mode 100644 index 0000000000..972f081676 --- /dev/null +++ b/lib/libc/mingw/lib-common/mf.def @@ -0,0 +1,97 @@ +; +; Definition file of MF.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "MF.dll" +EXPORTS +AppendPropVariant +ConvertPropVariant +CopyPropertyStore +CreateNamedPropertyStore +ExtractPropVariant +MFCreate3GPMediaSink +MFCreateAC3MediaSink +MFCreateADTSMediaSink +MFCreateASFByteStreamPlugin +MFCreateASFContentInfo +MFCreateASFIndexer +MFCreateASFIndexerByteStream +MFCreateASFMediaSink +MFCreateASFMediaSinkActivate +MFCreateASFMultiplexer +MFCreateASFProfile +MFCreateASFProfileFromPresentationDescriptor +MFCreateASFSplitter +MFCreateASFStreamSelector +MFCreateASFStreamingMediaSink +MFCreateASFStreamingMediaSinkActivate +MFCreateAggregateSource +MFCreateAppSourceProxy +MFCreateAudioRenderer +MFCreateAudioRendererActivate +MFCreateByteCacheFile +MFCreateCacheManager +MFCreateCredentialCache +MFCreateDeviceSource +MFCreateDeviceSourceActivate +MFCreateDrmNetNDSchemePlugin +MFCreateFMPEG4MediaSink +MFCreateFileBlockMap +MFCreateFileSchemePlugin +MFCreateHttpSchemePlugin +MFCreateLPCMByteStreamPlugin +MFCreateMP3ByteStreamPlugin +MFCreateMP3MediaSink +MFCreateMPEG4MediaSink +MFCreateMediaProcessor +MFCreateMediaSession +MFCreateMuxSink +MFCreateNSCByteStreamPlugin +MFCreateNetSchemePlugin +MFCreatePMPHost +MFCreatePMPMediaSession +MFCreatePMPServer +MFCreatePresentationClock +MFCreatePresentationDescriptorFromASFProfile +MFCreateProtectedEnvironmentAccess +MFCreateProxyLocator +MFCreateRemoteDesktopPlugin +MFCreateSAMIByteStreamPlugin +MFCreateSampleCopierMFT +MFCreateSampleGrabberSinkActivate +MFCreateSecureHttpSchemePlugin +MFCreateSequencerSegmentOffset +MFCreateSequencerSource +MFCreateSequencerSourceRemoteStream +MFCreateSimpleTypeHandler +MFCreateSoundEventSchemePlugin +MFCreateSourceResolver +MFCreateStandardQualityManager +MFCreateTopoLoader +MFCreateTopology +MFCreateTopologyNode +MFCreateTranscodeProfile +MFCreateTranscodeSinkActivate +MFCreateTranscodeTopology +MFCreateTranscodeTopologyFromByteStream +MFCreateUrlmonSchemePlugin +MFCreateVideoRenderer +MFCreateVideoRendererActivate +MFCreateWMAEncoderActivate +MFCreateWMVEncoderActivate +MFEnumDeviceSources +MFGetLocalId +MFGetMultipleServiceProviders +MFGetService +MFGetSupportedMimeTypes +MFGetSupportedSchemes +MFGetSystemId +MFGetTopoNodeCurrentType +MFLoadSignedLibrary +MFRR_CreateActivate +MFReadSequencerSegmentOffset +MFRequireProtectedEnvironment +MFShutdownObject +MFTranscodeGetAudioOutputAvailableTypes +MergePropertyStore diff --git a/lib/libc/mingw/lib-common/mfplat.def b/lib/libc/mingw/lib-common/mfplat.def new file mode 100644 index 0000000000..3dff9675ed --- /dev/null +++ b/lib/libc/mingw/lib-common/mfplat.def @@ -0,0 +1,205 @@ +LIBRARY "MFPlat.DLL" +EXPORTS +FormatTagFromWfx +MFCreateGuid +MFGetIoPortHandle +MFEnumLocalMFTRegistrations +MFGetPlatformFlags +MFGetPlatformVersion +MFGetRandomNumber +MFIsFeatureEnabled +MFIsQueueThread +MFPlatformBigEndian +MFPlatformLittleEndian +MFTraceError +MFllMulDiv +ValidateWaveFormat +CopyPropVariant +CreatePropVariant +CreatePropertyStore +DestroyPropVariant +GetAMSubtypeFromD3DFormat +GetD3DFormatFromMFSubtype +LFGetGlobalPool +MFAddPeriodicCallback +MFAllocateSerialWorkQueue +MFAllocateWorkQueue +MFAllocateWorkQueueEx +MFAppendCollection +MFAverageTimePerFrameToFrameRate +MFBeginCreateFile +MFBeginGetHostByName +MFBeginRegisterWorkQueueWithMMCSS +MFBeginRegisterWorkQueueWithMMCSSEx +MFBeginUnregisterWorkQueueWithMMCSS +MFBlockThread +MFCalculateBitmapImageSize +MFCalculateImageSize +MFCancelCreateFile +MFCancelWorkItem +MFClearLocalMFTs +MFCompareFullToPartialMediaType +MFCompareSockaddrAddresses +MFConvertColorInfoFromDXVA +MFConvertColorInfoToDXVA +MFConvertFromFP16Array +MFConvertToFP16Array +MFCopyImage +MFCreate2DMediaBuffer +MFCreateAMMediaTypeFromMFMediaType +MFCreateAlignedMemoryBuffer +MFCreateAsyncResult +MFCreateAttributes +MFCreateAudioMediaType +MFCreateCollection +MFCreateDXGIDeviceManager +MFCreateDXGISurfaceBuffer +MFCreateDXSurfaceBuffer +MFCreateEventQueue +MFCreateFile +MFCreateFileFromHandle +MFCreateLegacyMediaBufferOnMFMediaBuffer +MFCreateMFByteStreamOnStream +MFCreateMFByteStreamOnStreamEx +MFCreateMFByteStreamWrapper +MFCreateMFVideoFormatFromMFMediaType +MFCreateMediaBufferFromMediaType +MFCreateMediaBufferWrapper +MFCreateMediaEvent +MFCreateMediaEventResult +MFCreateMediaExtensionActivate +MFCreateMediaExtensionActivateNoInit +MFCreateMediaType +MFCreateMediaTypeFromProperties +MFCreateMediaTypeFromRepresentation +MFCreateMemoryBuffer +MFCreateMemoryStream +MFCreatePathFromURL +MFCreatePresentationDescriptor +MFCreatePropertiesFromMediaType +MFCreateReusableByteStream +MFCreateSample +MFCreateSocket +MFCreateSocketListener +MFCreateSourceResolver +MFCreateSourceResolverInternal +MFCreateStreamDescriptor +MFCreateStreamOnMFByteStream +MFCreateStreamOnMFByteStreamEx +MFCreateSystemTimeSource +MFCreateSystemUnderlyingClock +MFCreateTempFile +MFCreateTrackedSample +MFCreateTransformActivate +MFCreateURLFromPath +MFCreateUdpSockets +MFCreateVideoMediaType +MFCreateVideoMediaTypeFromBitMapInfoHeader +MFCreateVideoMediaTypeFromBitMapInfoHeaderEx +MFCreateVideoMediaTypeFromSubtype +MFCreateVideoMediaTypeFromVideoInfoHeader +MFCreateVideoMediaTypeFromVideoInfoHeader2 +MFCreateVideoSampleAllocatorEx +MFCreateWICBitmapBuffer +MFCreateWaveFormatExFromMFMediaType +MFDeserializeAttributesFromStream +MFDeserializeEvent +MFDeserializeMediaTypeFromStream +MFDeserializePresentationDescriptor +MFEndCreateFile +MFEndGetHostByName +MFEndRegisterWorkQueueWithMMCSS +MFEndUnregisterWorkQueueWithMMCSS +MFFrameRateToAverageTimePerFrame +MFFreeAdaptersAddresses +MFGetAdaptersAddresses +MFGetAttributesAsBlob +MFGetAttributesAsBlobSize +MFGetConfigurationDWORD +MFGetConfigurationPolicy +MFGetConfigurationStore +MFGetConfigurationString +MFGetContentProtectionSystemCLSID +MFGetMFTMerit +MFGetNumericNameFromSockaddr +MFGetPlaneSize +MFGetPlatform +MFGetPluginControl +MFGetPrivateWorkqueues +MFGetSockaddrFromNumericName +MFGetStrideForBitmapInfoHeader +MFGetSupportedMimeTypes +MFGetSupportedSchemes +MFGetSystemTime +MFGetTimerPeriodicity +MFGetUncompressedVideoFormat +MFGetWorkQueueMMCSSClass +MFGetWorkQueueMMCSSPriority +MFGetWorkQueueMMCSSTaskId +MFHeapAlloc +MFHeapFree +MFInitAMMediaTypeFromMFMediaType +MFInitAttributesFromBlob +MFInitMediaTypeFromAMMediaType +MFInitMediaTypeFromMFVideoFormat +MFInitMediaTypeFromMPEG1VideoInfo +MFInitMediaTypeFromMPEG2VideoInfo +MFInitMediaTypeFromVideoInfoHeader +MFInitMediaTypeFromVideoInfoHeader2 +MFInitMediaTypeFromWaveFormatEx +MFInitVideoFormat +MFInitVideoFormat_RGB +MFInvokeCallback +MFJoinIoPort +MFIsBottomUpFormat +MFIsLocallyRegisteredMimeType +MFJoinWorkQueue +MFLockDXGIDeviceManager +MFLockPlatform +MFLockSharedWorkQueue +MFLockWorkQueue +MFMapDX9FormatToDXGIFormat +MFMapDXGIFormatToDX9Format +MFPutWaitingWorkItem +MFPutWorkItem +MFPutWorkItem2 +MFPutWorkItemEx +MFPutWorkItemEx2 +MFRecordError +MFRegisterLocalByteStreamHandler +MFRegisterLocalSchemeHandler +MFRegisterPlatformWithMMCSS +MFRemovePeriodicCallback +MFScheduleWorkItem +MFScheduleWorkItemEx +MFSerializeAttributesToStream +MFSerializeEvent +MFSerializeMediaTypeToStream +MFSerializePresentationDescriptor +MFSetSockaddrAny +MFShutdown +MFStartup +MFStreamDescriptorProtectMediaType +MFTEnum +MFTEnumEx +MFTGetInfo +MFTRegister +MFTRegisterLocal +MFTRegisterLocalByCLSID +MFTUnregister +MFTUnregisterLocal +MFTUnregisterLocalByCLSID +MFTraceError +MFTraceFuncEnter +MFUnblockThread +MFUnjoinWorkQueue +MFUnlockDXGIDeviceManager +MFUnlockPlatform +MFUnlockWorkQueue +MFUnregisterPlatformFromMMCSS +MFUnwrapMediaType +MFValidateMediaTypeSize +MFWrapMediaType +MFllMulDiv +PropVariantFromStream +PropVariantToStream diff --git a/lib/libc/mingw/lib-common/mfreadwrite.def b/lib/libc/mingw/lib-common/mfreadwrite.def new file mode 100644 index 0000000000..40d9728b99 --- /dev/null +++ b/lib/libc/mingw/lib-common/mfreadwrite.def @@ -0,0 +1,7 @@ +LIBRARY "MFReadWrite.dll" +EXPORTS +MFCreateSinkWriterFromMediaSink +MFCreateSinkWriterFromURL +MFCreateSourceReaderFromByteStream +MFCreateSourceReaderFromMediaSource +MFCreateSourceReaderFromURL diff --git a/lib/libc/mingw/lib-common/mgmtapi.def b/lib/libc/mingw/lib-common/mgmtapi.def new file mode 100644 index 0000000000..2c4a67fbb5 --- /dev/null +++ b/lib/libc/mingw/lib-common/mgmtapi.def @@ -0,0 +1,17 @@ +; +; Exports of file mgmtapi.dll +; +; Autogenerated by gen_exportdef +; Written by Kai Tietz, 2007 +; +LIBRARY mgmtapi.dll +EXPORTS +SnmpMgrClose +SnmpMgrCtl +SnmpMgrGetTrap +SnmpMgrGetTrapEx +SnmpMgrOidToStr +SnmpMgrOpen +SnmpMgrRequest +SnmpMgrStrToOid +SnmpMgrTrapListen diff --git a/lib/libc/mingw/lib-common/mmdevapi.def b/lib/libc/mingw/lib-common/mmdevapi.def new file mode 100644 index 0000000000..4affff516d --- /dev/null +++ b/lib/libc/mingw/lib-common/mmdevapi.def @@ -0,0 +1,3 @@ +LIBRARY "mmdevapi.dll" +EXPORTS +ActivateAudioInterfaceAsync diff --git a/lib/libc/mingw/lib-common/msacm32.def b/lib/libc/mingw/lib-common/msacm32.def new file mode 100644 index 0000000000..b040149c03 --- /dev/null +++ b/lib/libc/mingw/lib-common/msacm32.def @@ -0,0 +1,51 @@ +; +; Definition file of MSACM32.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "MSACM32.dll" +EXPORTS +XRegThunkEntry +acmDriverAddA +acmDriverAddW +acmDriverClose +acmDriverDetailsA +acmDriverDetailsW +acmDriverEnum +acmDriverID +acmDriverMessage +acmDriverOpen +acmDriverPriority +acmDriverRemove +acmFilterChooseA +acmFilterChooseW +acmFilterDetailsA +acmFilterDetailsW +acmFilterEnumA +acmFilterEnumW +acmFilterTagDetailsA +acmFilterTagDetailsW +acmFilterTagEnumA +acmFilterTagEnumW +acmFormatChooseA +acmFormatChooseW +acmFormatDetailsA +acmFormatDetailsW +acmFormatEnumA +acmFormatEnumW +acmFormatSuggest +acmFormatTagDetailsA +acmFormatTagDetailsW +acmFormatTagEnumA +acmFormatTagEnumW +acmGetVersion +acmMessage32 +acmMetrics +acmStreamClose +acmStreamConvert +acmStreamMessage +acmStreamOpen +acmStreamPrepareHeader +acmStreamReset +acmStreamSize +acmStreamUnprepareHeader diff --git a/lib/libc/mingw/lib-common/msdmo.def b/lib/libc/mingw/lib-common/msdmo.def new file mode 100644 index 0000000000..958b3c1978 --- /dev/null +++ b/lib/libc/mingw/lib-common/msdmo.def @@ -0,0 +1,23 @@ +; +; Exports of file msdmo.dll +; +; Autogenerated by gen_exportdef +; Written by Kai Tietz, 2007 +; +LIBRARY msdmo.dll +EXPORTS +DMOEnum +DMOGetName +DMOGetTypes +DMOGuidToStrA +DMOGuidToStrW +DMORegister +DMOStrToGuidA +DMOStrToGuidW +DMOUnregister +MoCopyMediaType +MoCreateMediaType +MoDeleteMediaType +MoDuplicateMediaType +MoFreeMediaType +MoInitMediaType diff --git a/lib/libc/mingw/lib-common/msdrm.def b/lib/libc/mingw/lib-common/msdrm.def new file mode 100644 index 0000000000..7476cab4d3 --- /dev/null +++ b/lib/libc/mingw/lib-common/msdrm.def @@ -0,0 +1,98 @@ +; +; Definition file of msdrm.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "msdrm.dll" +EXPORTS +DRMAcquireAdvisories +DRMAcquireIssuanceLicenseTemplate +DRMAcquireLicense +DRMActivate +DRMAddLicense +DRMAddRightWithUser +DRMAttest +DRMCheckSecurity +DRMClearAllRights +DRMCloseEnvironmentHandle +DRMCloseHandle +DRMClosePubHandle +DRMCloseQueryHandle +DRMCloseSession +DRMConstructCertificateChain +DRMCreateBoundLicense +DRMCreateClientSession +DRMCreateEnablingBitsDecryptor +DRMCreateEnablingBitsEncryptor +DRMCreateEnablingPrincipal +DRMCreateIssuanceLicense +DRMCreateLicenseStorageSession +DRMCreateRight +DRMCreateUser +DRMDecode +DRMDeconstructCertificateChain +DRMDecrypt +DRMDeleteLicense +DRMDuplicateEnvironmentHandle +DRMDuplicateHandle +DRMDuplicatePubHandle +DRMDuplicateSession +DRMEncode +DRMEncrypt +DRMEnumerateLicense +DRMGetApplicationSpecificData +DRMGetBoundLicenseAttribute +DRMGetBoundLicenseAttributeCount +DRMGetBoundLicenseObject +DRMGetBoundLicenseObjectCount +DRMGetCertificateChainCount +DRMGetClientVersion +DRMGetEnvironmentInfo +DRMGetInfo +DRMGetIntervalTime +DRMGetIssuanceLicenseInfo +DRMGetIssuanceLicenseTemplate +DRMGetMetaData +DRMGetNameAndDescription +DRMGetOwnerLicense +DRMGetProcAddress +DRMGetRevocationPoint +DRMGetRightExtendedInfo +DRMGetRightInfo +DRMGetSecurityProvider +DRMGetServiceLocation +DRMGetSignedIssuanceLicense +DRMGetSignedIssuanceLicenseEx +DRMGetTime +DRMGetUnboundLicenseAttribute +DRMGetUnboundLicenseAttributeCount +DRMGetUnboundLicenseObject +DRMGetUnboundLicenseObjectCount +DRMGetUsagePolicy +DRMGetUserInfo +DRMGetUserRights +DRMGetUsers +DRMInitEnvironment +DRMIsActivated +DRMIsWindowProtected +DRMLoadLibrary +DRMParseUnboundLicense +DRMRegisterContent +DRMRegisterProtectedWindow +DRMRegisterRevocationList +DRMRepair +DRMSetApplicationSpecificData +DRMSetGlobalOptions +DRMSetIntervalTime +DRMSetMetaData +DRMSetNameAndDescription +DRMSetRevocationPoint +DRMSetUsagePolicy +DRMVerify +DRMpCloseFile +DRMpFileInitialize +DRMpFileIsProtected +DRMpFileProtect +DRMpFileUnprotect +DRMpFreeMemory +__AddMachineCertToLicenseStore diff --git a/lib/libc/mingw/lib-common/msi.def b/lib/libc/mingw/lib-common/msi.def new file mode 100644 index 0000000000..fc9dac11c1 --- /dev/null +++ b/lib/libc/mingw/lib-common/msi.def @@ -0,0 +1,297 @@ +; +; Definition file of msi.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "msi.dll" +EXPORTS +MsiAdvertiseProductA +MsiAdvertiseProductW +MsiCloseAllHandles +MsiCloseHandle +MsiCollectUserInfoA +MsiCollectUserInfoW +MsiConfigureFeatureA +MsiConfigureFeatureFromDescriptorA +MsiConfigureFeatureFromDescriptorW +MsiConfigureFeatureW +MsiConfigureProductA +MsiConfigureProductW +MsiCreateRecord +MsiDatabaseApplyTransformA +MsiDatabaseApplyTransformW +MsiDatabaseCommit +MsiDatabaseExportA +MsiDatabaseExportW +MsiDatabaseGenerateTransformA +MsiDatabaseGenerateTransformW +MsiDatabaseGetPrimaryKeysA +MsiDatabaseGetPrimaryKeysW +MsiDatabaseImportA +MsiDatabaseImportW +MsiDatabaseMergeA +MsiDatabaseMergeW +MsiDatabaseOpenViewA +MsiDatabaseOpenViewW +MsiDoActionA +MsiDoActionW +MsiEnableUIPreview +MsiEnumClientsA +MsiEnumClientsW +MsiEnumComponentQualifiersA +MsiEnumComponentQualifiersW +MsiEnumComponentsA +MsiEnumComponentsW +MsiEnumFeaturesA +MsiEnumFeaturesW +MsiEnumProductsA +MsiEnumProductsW +MsiEvaluateConditionA +MsiEvaluateConditionW +MsiGetLastErrorRecord +MsiGetActiveDatabase +MsiGetComponentStateA +MsiGetComponentStateW +MsiGetDatabaseState +MsiGetFeatureCostA +MsiGetFeatureCostW +MsiGetFeatureInfoA +MsiGetFeatureInfoW +MsiGetFeatureStateA +MsiGetFeatureStateW +MsiGetFeatureUsageA +MsiGetFeatureUsageW +MsiGetFeatureValidStatesA +MsiGetFeatureValidStatesW +MsiGetLanguage +MsiGetMode +MsiGetProductCodeA +MsiGetProductCodeW +MsiGetProductInfoA +MsiGetProductInfoFromScriptA +MsiGetProductInfoFromScriptW +MsiGetProductInfoW +MsiGetProductPropertyA +MsiGetProductPropertyW +MsiGetPropertyA +MsiGetPropertyW +MsiGetSourcePathA +MsiGetSourcePathW +MsiGetSummaryInformationA +MsiGetSummaryInformationW +MsiGetTargetPathA +MsiGetTargetPathW +MsiGetUserInfoA +MsiGetUserInfoW +MsiInstallMissingComponentA +MsiInstallMissingComponentW +MsiInstallMissingFileA +MsiInstallMissingFileW +MsiInstallProductA +MsiInstallProductW +MsiLocateComponentA +MsiLocateComponentW +MsiOpenDatabaseA +MsiOpenDatabaseW +MsiOpenPackageA +MsiOpenPackageW +MsiOpenProductA +MsiOpenProductW +MsiPreviewBillboardA +MsiPreviewBillboardW +MsiPreviewDialogA +MsiPreviewDialogW +MsiProcessAdvertiseScriptA +MsiProcessAdvertiseScriptW +MsiProcessMessage +MsiProvideComponentA +MsiProvideComponentFromDescriptorA +MsiProvideComponentFromDescriptorW +MsiProvideComponentW +MsiProvideQualifiedComponentA +MsiProvideQualifiedComponentW +MsiQueryFeatureStateA +MsiQueryFeatureStateW +MsiQueryProductStateA +MsiQueryProductStateW +MsiRecordDataSize +MsiRecordGetFieldCount +MsiRecordGetInteger +MsiRecordGetStringA +MsiRecordGetStringW +MsiRecordIsNull +MsiRecordReadStream +MsiRecordSetInteger +MsiRecordSetStreamA +MsiRecordSetStreamW +MsiRecordSetStringA +MsiRecordSetStringW +MsiReinstallFeatureA +MsiReinstallFeatureFromDescriptorA +MsiReinstallFeatureFromDescriptorW +MsiReinstallFeatureW +MsiReinstallProductA +MsiReinstallProductW +MsiSequenceA +MsiSequenceW +MsiSetComponentStateA +MsiSetComponentStateW +MsiSetExternalUIA +MsiSetExternalUIW +MsiSetFeatureStateA +MsiSetFeatureStateW +MsiSetInstallLevel +MsiSetInternalUI +MsiVerifyDiskSpace +MsiSetMode +MsiSetPropertyA +MsiSetPropertyW +MsiSetTargetPathA +MsiSetTargetPathW +MsiSummaryInfoGetPropertyA +MsiSummaryInfoGetPropertyCount +MsiSummaryInfoGetPropertyW +MsiSummaryInfoPersist +MsiSummaryInfoSetPropertyA +MsiSummaryInfoSetPropertyW +MsiUseFeatureA +MsiUseFeatureW +MsiVerifyPackageA +MsiVerifyPackageW +MsiViewClose +MsiViewExecute +MsiViewFetch +MsiViewGetErrorA +MsiViewGetErrorW +MsiViewModify +MsiDatabaseIsTablePersistentA +MsiDatabaseIsTablePersistentW +MsiViewGetColumnInfo +MsiRecordClearData +MsiEnableLogA +MsiEnableLogW +MsiFormatRecordA +MsiFormatRecordW +MsiGetComponentPathA +MsiGetComponentPathW +MsiApplyPatchA +MsiApplyPatchW +MsiAdvertiseScriptA +MsiAdvertiseScriptW +MsiGetPatchInfoA +MsiGetPatchInfoW +MsiEnumPatchesA +MsiEnumPatchesW +MsiGetProductCodeFromPackageCodeA +MsiGetProductCodeFromPackageCodeW +MsiCreateTransformSummaryInfoA +MsiCreateTransformSummaryInfoW +MsiQueryFeatureStateFromDescriptorA +MsiQueryFeatureStateFromDescriptorW +MsiConfigureProductExA +MsiConfigureProductExW +MsiInvalidateFeatureCache +MsiUseFeatureExA +MsiUseFeatureExW +MsiGetFileVersionA +MsiGetFileVersionW +MsiLoadStringA +MsiLoadStringW +MsiMessageBoxA +MsiMessageBoxW +MsiDecomposeDescriptorA +MsiDecomposeDescriptorW +MsiProvideQualifiedComponentExA +MsiProvideQualifiedComponentExW +MsiEnumRelatedProductsA +MsiEnumRelatedProductsW +MsiSetFeatureAttributesA +MsiSetFeatureAttributesW +MsiSourceListClearAllA +MsiSourceListClearAllW +MsiSourceListAddSourceA +MsiSourceListAddSourceW +MsiSourceListForceResolutionA +MsiSourceListForceResolutionW +MsiIsProductElevatedA +MsiIsProductElevatedW +MsiGetShortcutTargetA +MsiGetShortcutTargetW +MsiGetFileHashA +MsiGetFileHashW +MsiEnumComponentCostsA +MsiEnumComponentCostsW +MsiCreateAndVerifyInstallerDirectory +MsiGetFileSignatureInformationA +MsiGetFileSignatureInformationW +MsiProvideAssemblyA +MsiProvideAssemblyW +MsiAdvertiseProductExA +MsiAdvertiseProductExW +MsiNotifySidChangeA +MsiNotifySidChangeW +MsiOpenPackageExA +MsiOpenPackageExW +MsiDeleteUserDataA +MsiDeleteUserDataW +Migrate10CachedPackagesA +Migrate10CachedPackagesW +MsiRemovePatchesA +MsiRemovePatchesW +MsiApplyMultiplePatchesA +MsiApplyMultiplePatchesW +MsiExtractPatchXMLDataA +MsiExtractPatchXMLDataW +MsiGetPatchInfoExA +MsiGetPatchInfoExW +MsiEnumProductsExA +MsiEnumProductsExW +MsiGetProductInfoExA +MsiGetProductInfoExW +MsiQueryComponentStateA +MsiQueryComponentStateW +MsiQueryFeatureStateExA +MsiQueryFeatureStateExW +MsiDeterminePatchSequenceA +MsiDeterminePatchSequenceW +MsiSourceListAddSourceExA +MsiSourceListAddSourceExW +MsiSourceListClearSourceA +MsiSourceListClearSourceW +MsiSourceListClearAllExA +MsiSourceListClearAllExW +MsiSourceListForceResolutionExA +MsiSourceListForceResolutionExW +MsiSourceListEnumSourcesA +MsiSourceListEnumSourcesW +MsiSourceListGetInfoA +MsiSourceListGetInfoW +MsiSourceListSetInfoA +MsiSourceListSetInfoW +MsiEnumPatchesExA +MsiEnumPatchesExW +MsiSourceListEnumMediaDisksA +MsiSourceListEnumMediaDisksW +MsiSourceListAddMediaDiskA +MsiSourceListAddMediaDiskW +MsiSourceListClearMediaDiskA +MsiSourceListClearMediaDiskW +MsiDetermineApplicablePatchesA +MsiDetermineApplicablePatchesW +MsiMessageBoxExA +MsiMessageBoxExW +MsiSetExternalUIRecord +MsiGetPatchFileListA +MsiGetPatchFileListW +MsiBeginTransactionA +MsiBeginTransactionW +MsiEndTransaction +MsiJoinTransaction +MsiSetOfflineContextW +MsiEnumComponentsExA +MsiEnumComponentsExW +MsiEnumClientsExA +MsiEnumClientsExW +MsiGetComponentPathExA +MsiGetComponentPathExW +QueryInstanceCount diff --git a/lib/libc/mingw/lib-common/msimg32.def b/lib/libc/mingw/lib-common/msimg32.def new file mode 100644 index 0000000000..c6075081ba --- /dev/null +++ b/lib/libc/mingw/lib-common/msimg32.def @@ -0,0 +1,13 @@ +; +; Exports of file MSIMG32.dll +; +; Autogenerated by gen_exportdef +; Written by Kai Tietz, 2007 +; +LIBRARY MSIMG32.dll +EXPORTS +vSetDdrawflag +AlphaBlend +DllInitialize +GradientFill +TransparentBlt diff --git a/lib/libc/mingw/lib-common/msports.def b/lib/libc/mingw/lib-common/msports.def new file mode 100644 index 0000000000..7836cf32d7 --- /dev/null +++ b/lib/libc/mingw/lib-common/msports.def @@ -0,0 +1,19 @@ +; +; Exports of file MSPORTS.DLL +; +; Autogenerated by gen_exportdef +; Written by Kai Tietz, 2007 +; +LIBRARY MSPORTS.DLL +EXPORTS +ComDBClaimNextFreePort +ComDBClaimPort +ComDBClose +ComDBGetCurrentPortUsage +ComDBOpen +ComDBReleasePort +ComDBResizeDatabase +ParallelPortPropPageProvider +PortsClassInstaller +SerialDisplayAdvancedSettings +SerialPortPropPageProvider diff --git a/lib/libc/mingw/lib-common/mstask.def b/lib/libc/mingw/lib-common/mstask.def new file mode 100644 index 0000000000..d386874876 --- /dev/null +++ b/lib/libc/mingw/lib-common/mstask.def @@ -0,0 +1,21 @@ +; +; Exports of file mstask.dll +; +; Autogenerated by gen_exportdef +; Written by Kai Tietz, 2007 +; +LIBRARY mstask.dll +EXPORTS +ConvertAtJobsToTasks +DllCanUnloadNow +DllGetClassObject +GetNetScheduleAccountInformation +NetrJobAdd +NetrJobDel +NetrJobEnum +NetrJobGetInfo +SAGetAccountInformation +SAGetNSAccountInformation +SASetAccountInformation +SASetNSAccountInformation +SetNetScheduleAccountInformation diff --git a/lib/libc/mingw/lib-common/mtxdm.def b/lib/libc/mingw/lib-common/mtxdm.def new file mode 100644 index 0000000000..faef6499b4 --- /dev/null +++ b/lib/libc/mingw/lib-common/mtxdm.def @@ -0,0 +1,9 @@ +; +; Exports of file MTxDM.dll +; +; Autogenerated by gen_exportdef +; Written by Kai Tietz, 2007 +; +LIBRARY MTxDM.dll +EXPORTS +GetDispenserManager diff --git a/lib/libc/mingw/lib-common/ndfapi.def b/lib/libc/mingw/lib-common/ndfapi.def new file mode 100644 index 0000000000..f4f3c353d6 --- /dev/null +++ b/lib/libc/mingw/lib-common/ndfapi.def @@ -0,0 +1,31 @@ +; +; Definition file of NDFAPI.DLL +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "NDFAPI.DLL" +EXPORTS +NdfRunDllDiagnoseIncident +NdfRunDllDiagnoseNetConnectionIncident +NdfRunDllDiagnoseWithAnswerFile +NdfRunDllDuplicateIPDefendingSystem +NdfRunDllDuplicateIPOffendingSystem +NdfRunDllHelpTopic +NdfCancelIncident +NdfCloseIncident +NdfCreateConnectivityIncident +NdfCreateDNSIncident +NdfCreateGroupingIncident +NdfCreateInboundIncident +NdfCreateIncident +NdfCreateNetConnectionIncident +NdfCreatePnrpIncident +NdfCreateSharingIncident +NdfCreateWebIncident +NdfCreateWebIncidentEx +NdfCreateWinSockIncident +NdfDiagnoseIncident +NdfExecuteDiagnosis +NdfGetTraceFile +NdfRepairIncident +NdfRepairIncidentEx diff --git a/lib/libc/mingw/lib-common/netutils.def b/lib/libc/mingw/lib-common/netutils.def new file mode 100644 index 0000000000..9351512d2d --- /dev/null +++ b/lib/libc/mingw/lib-common/netutils.def @@ -0,0 +1,29 @@ +; +; Definition file of netutils.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "netutils.dll" +EXPORTS +NetApiBufferAllocate +NetApiBufferFree +NetApiBufferReallocate +NetApiBufferSize +NetRemoteComputerSupports +NetapipBufferAllocate +NetpIsComputerNameValid +NetpIsDomainNameValid +NetpIsGroupNameValid +NetpIsRemote +NetpIsRemoteNameValid +NetpIsShareNameValid +NetpIsUncComputerNameValid +NetpIsUserNameValid +NetpwListCanonicalize +NetpwListTraverse +NetpwNameCanonicalize +NetpwNameCompare +NetpwNameValidate +NetpwPathCanonicalize +NetpwPathCompare +NetpwPathType diff --git a/lib/libc/mingw/lib-common/normaliz.def b/lib/libc/mingw/lib-common/normaliz.def new file mode 100644 index 0000000000..89663f4b80 --- /dev/null +++ b/lib/libc/mingw/lib-common/normaliz.def @@ -0,0 +1,12 @@ +; +; Definition file of Normaliz.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "Normaliz.dll" +EXPORTS +IdnToAscii +IdnToNameprepUnicode +IdnToUnicode +IsNormalizedString +NormalizeString diff --git a/lib/libc/mingw/lib-common/ntdsapi.def b/lib/libc/mingw/lib-common/ntdsapi.def new file mode 100644 index 0000000000..8815d2bfc7 --- /dev/null +++ b/lib/libc/mingw/lib-common/ntdsapi.def @@ -0,0 +1,130 @@ +; +; Definition file of NTDSAPI.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "NTDSAPI.dll" +EXPORTS +DsAddCloneDCW +DsAddSidHistoryA +DsAddSidHistoryW +DsBindA +DsBindByInstanceA +DsBindByInstanceW +DsBindToISTGA +DsBindToISTGW +DsBindW +DsBindWithCredA +DsBindWithCredW +DsBindWithSpnA +DsBindWithSpnExA +DsBindWithSpnExW +DsBindWithSpnExWWorker +DsBindWithSpnW +DsBindingSetTimeout +DsClientMakeSpnForTargetServerA +DsClientMakeSpnForTargetServerW +DsCrackNamesA +DsCrackNamesW +DsCrackNamesWWorker +DsCrackSpn2A +DsCrackSpn2W +DsCrackSpn3W +DsCrackSpn4W +DsCrackSpnA +DsCrackSpnW +DsCrackUnquotedMangledRdnA +DsCrackUnquotedMangledRdnW +DsFinishDemotionW +DsFreeCloneDcResult +DsFreeDomainControllerInfoA +DsFreeDomainControllerInfoW +DsFreeDomainControllerInfoWWorker +DsFreeNameResultA +DsFreeNameResultW +DsFreeNameResultWWorker +DsFreePasswordCredentials +DsFreePasswordCredentialsWorker +DsFreeSchemaGuidMapA +DsFreeSchemaGuidMapW +DsFreeSpnArrayA +DsFreeSpnArrayW +DsGetBindAddrW +DsGetBindAnnotW +DsGetBindInstGuid +DsGetDomainControllerInfoA +DsGetDomainControllerInfoW +DsGetDomainControllerInfoWWorker +DsGetRdnW +DsGetSpnA +DsGetSpnW +DsInheritSecurityIdentityA +DsInheritSecurityIdentityW +DsInitDemotionW +DsIsMangledDnA +DsIsMangledDnW +DsIsMangledRdnValueA +DsIsMangledRdnValueW +DsListDomainsInSiteA +DsListDomainsInSiteW +DsListInfoForServerA +DsListInfoForServerW +DsListRolesA +DsListRolesW +DsListServersForDomainInSiteA +DsListServersForDomainInSiteW +DsListServersInSiteA +DsListServersInSiteW +DsListSitesA +DsListSitesW +DsLogEntry +DsMakePasswordCredentialsA +DsMakePasswordCredentialsW +DsMakePasswordCredentialsWWorker +DsMakeSpnA +DsMakeSpnW +DsMapSchemaGuidsA +DsMapSchemaGuidsW +DsQuerySitesByCostA +DsQuerySitesByCostW +DsQuerySitesFree +DsQuoteRdnValueA +DsQuoteRdnValueW +DsRemoveDsDomainA +DsRemoveDsDomainW +DsRemoveDsServerA +DsRemoveDsServerW +DsReplicaAddA +DsReplicaAddW +DsReplicaConsistencyCheck +DsReplicaDelA +DsReplicaDelW +DsReplicaDemotionW +DsReplicaFreeInfo +DsReplicaGetInfo2W +DsReplicaGetInfoW +DsReplicaModifyA +DsReplicaModifyW +DsReplicaSyncA +DsReplicaSyncAllA +DsReplicaSyncAllW +DsReplicaSyncW +DsReplicaUpdateRefsA +DsReplicaUpdateRefsW +DsReplicaVerifyObjectsA +DsReplicaVerifyObjectsW +DsServerRegisterSpnA +DsServerRegisterSpnW +DsUnBindA +DsUnBindW +DsUnBindWWorker +DsUnquoteRdnValueA +DsUnquoteRdnValueW +DsWriteAccountSpnA +DsWriteAccountSpnW +DsaopBind +DsaopBindWithCred +DsaopBindWithSpn +DsaopExecuteScript +DsaopPrepareScript +DsaopUnBind diff --git a/lib/libc/mingw/lib-common/oleacc.def b/lib/libc/mingw/lib-common/oleacc.def new file mode 100644 index 0000000000..45dd4247ab --- /dev/null +++ b/lib/libc/mingw/lib-common/oleacc.def @@ -0,0 +1,31 @@ +; +; Definition file of OLEACC.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "OLEACC.dll" +EXPORTS +AccGetRunningUtilityState +AccNotifyTouchInteraction +AccSetRunningUtilityState +AccessibleChildren +AccessibleObjectFromEvent +AccessibleObjectFromPoint +AccessibleObjectFromWindow +AccessibleObjectFromWindowTimeout +CreateStdAccessibleObject +CreateStdAccessibleProxyA +CreateStdAccessibleProxyW +GetOleaccVersionInfo +GetProcessHandleFromHwnd +GetRoleTextA +GetRoleTextW +GetStateTextA +GetStateTextW +IID_IAccessible +IID_IAccessibleHandler +LIBID_Accessibility +LresultFromObject +ObjectFromLresult +PropMgrClient_LookupProp +WindowFromAccessibleObject diff --git a/lib/libc/mingw/lib-common/oledlg.def b/lib/libc/mingw/lib-common/oledlg.def new file mode 100644 index 0000000000..7bbdbb7b68 --- /dev/null +++ b/lib/libc/mingw/lib-common/oledlg.def @@ -0,0 +1,30 @@ +; +; Definition file of oledlg.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "oledlg.dll" +EXPORTS +OleUIAddVerbMenuA +OleUICanConvertOrActivateAs +OleUIInsertObjectA +OleUIPasteSpecialA +OleUIEditLinksA +OleUIChangeIconA +OleUIConvertA +OleUIBusyA +OleUIUpdateLinksA +OleUIPromptUserA +OleUIObjectPropertiesA +OleUIChangeSourceA +OleUIAddVerbMenuW +OleUIBusyW +OleUIChangeIconW +OleUIChangeSourceW +OleUIConvertW +OleUIEditLinksW +OleUIInsertObjectW +OleUIObjectPropertiesW +OleUIPasteSpecialW +OleUIPromptUserW +OleUIUpdateLinksW diff --git a/lib/libc/mingw/lib-common/p2p.def b/lib/libc/mingw/lib-common/p2p.def new file mode 100644 index 0000000000..e5ba098661 --- /dev/null +++ b/lib/libc/mingw/lib-common/p2p.def @@ -0,0 +1,119 @@ +; +; Definition file of P2P.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "P2P.dll" +EXPORTS +PeerGroupHandlePowerEvent +PeerCollabAddContact +PeerCollabAsyncInviteContact +PeerCollabAsyncInviteEndpoint +PeerCollabCancelInvitation +PeerCollabCloseHandle +PeerCollabDeleteContact +PeerCollabDeleteEndpointData +PeerCollabDeleteObject +PeerCollabEnumApplicationRegistrationInfo +PeerCollabEnumApplications +PeerCollabEnumContacts +PeerCollabEnumEndpoints +PeerCollabEnumObjects +PeerCollabEnumPeopleNearMe +PeerCollabExportContact +PeerCollabGetAppLaunchInfo +PeerCollabGetApplicationRegistrationInfo +PeerCollabGetContact +PeerCollabGetEndpointName +PeerCollabGetEventData +PeerCollabGetInvitationResponse +PeerCollabGetPresenceInfo +PeerCollabGetSigninOptions +PeerCollabInviteContact +PeerCollabInviteEndpoint +PeerCollabParseContact +PeerCollabQueryContactData +PeerCollabRefreshEndpointData +PeerCollabRegisterApplication +PeerCollabRegisterEvent +PeerCollabSetEndpointName +PeerCollabSetObject +PeerCollabSetPresenceInfo +PeerCollabShutdown +PeerCollabSignin +PeerCollabSignout +PeerCollabStartup +PeerCollabSubscribeEndpointData +PeerCollabUnregisterApplication +PeerCollabUnregisterEvent +PeerCollabUnsubscribeEndpointData +PeerCollabUpdateContact +PeerCreatePeerName +PeerEndEnumeration +PeerEnumGroups +PeerEnumIdentities +PeerFreeData +PeerGetItemCount +PeerGetNextItem +PeerGroupAddRecord +PeerGroupClose +PeerGroupCloseDirectConnection +PeerGroupConnect +PeerGroupConnectByAddress +PeerGroupCreate +PeerGroupCreateInvitation +PeerGroupCreatePasswordInvitation +PeerGroupDelete +PeerGroupDeleteRecord +PeerGroupEnumConnections +PeerGroupEnumMembers +PeerGroupEnumRecords +PeerGroupExportConfig +PeerGroupExportDatabase +PeerGroupGetEventData +PeerGroupGetProperties +PeerGroupGetRecord +PeerGroupGetStatus +PeerGroupImportConfig +PeerGroupImportDatabase +PeerGroupIssueCredentials +PeerGroupJoin +PeerGroupOpen +PeerGroupOpenDirectConnection +PeerGroupParseInvitation +PeerGroupPasswordJoin +PeerGroupPeerTimeToUniversalTime +PeerGroupRegisterEvent +PeerGroupResumePasswordAuthentication +PeerGroupSearchRecords +PeerGroupSendData +PeerGroupSetProperties +PeerGroupShutdown +PeerGroupStartup +PeerGroupUniversalTimeToPeerTime +PeerGroupUnregisterEvent +PeerGroupUpdateRecord +PeerHostNameToPeerName +PeerIdentityCreate +PeerIdentityDelete +PeerIdentityExport +PeerIdentityGetCert +PeerIdentityGetCryptKey +PeerIdentityGetDefault +PeerIdentityGetFriendlyName +PeerIdentityGetXML +PeerIdentityImport +PeerIdentitySetFriendlyName +PeerNameToPeerHostName +PeerPnrpEndResolve +PeerPnrpGetCloudInfo +PeerPnrpGetEndpoint +PeerPnrpRegister +PeerPnrpResolve +PeerPnrpShutdown +PeerPnrpStartResolve +PeerPnrpStartup +PeerPnrpUnregister +PeerPnrpUpdateRegistration +PeerSSPAddCredentials +PeerSSPRemoveCredentials diff --git a/lib/libc/mingw/lib-common/p2pgraph.def b/lib/libc/mingw/lib-common/p2pgraph.def new file mode 100644 index 0000000000..c4fbd08d8a --- /dev/null +++ b/lib/libc/mingw/lib-common/p2pgraph.def @@ -0,0 +1,47 @@ +; +; Definition file of P2PGRAPH.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "P2PGRAPH.dll" +EXPORTS +PeerGraphForceStopPresencePrivate +pMemoryHelper DATA +PeerGraphAddRecord +PeerGraphClose +PeerGraphCloseDirectConnection +PeerGraphConnect +PeerGraphCreate +PeerGraphDelete +PeerGraphDeleteRecord +PeerGraphEndEnumeration +PeerGraphEnumConnections +PeerGraphEnumNodes +PeerGraphEnumRecords +PeerGraphExportDatabase +PeerGraphFreeData +PeerGraphGetEventData +PeerGraphGetItemCount +PeerGraphGetNextItem +PeerGraphGetNodeInfo +PeerGraphGetProperties +PeerGraphGetRecord +PeerGraphGetStatus +PeerGraphImportDatabase +PeerGraphListen +PeerGraphOpen +PeerGraphOpenDirectConnection +PeerGraphPeerTimeToUniversalTime +PeerGraphRegisterEvent +PeerGraphSearchRecords +PeerGraphSendData +PeerGraphSetNodeAttributes +PeerGraphSetPresence +PeerGraphSetProperties +PeerGraphShutdown +PeerGraphStartup +PeerGraphSuspendTimers +PeerGraphUniversalTimeToPeerTime +PeerGraphUnregisterEvent +PeerGraphUpdateRecord +PeerGraphValidateDeferredRecords diff --git a/lib/libc/mingw/lib-common/powrprof.def b/lib/libc/mingw/lib-common/powrprof.def new file mode 100644 index 0000000000..8e8c03d4b8 --- /dev/null +++ b/lib/libc/mingw/lib-common/powrprof.def @@ -0,0 +1,116 @@ +; +; Definition file of POWRPROF.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "POWRPROF.dll" +EXPORTS +CallNtPowerInformation +CanUserWritePwrScheme +DeletePwrScheme +DevicePowerClose +DevicePowerEnumDevices +DevicePowerOpen +DevicePowerSetDeviceState +EnumPwrSchemes +GUIDFormatToGlobalPowerPolicy +GUIDFormatToPowerPolicy +GetActivePwrScheme +GetCurrentPowerPolicies +GetPwrCapabilities +GetPwrDiskSpindownRange +IsAdminOverrideActive +IsPwrHibernateAllowed +IsPwrShutdownAllowed +IsPwrSuspendAllowed +LoadCurrentPwrScheme +MergeLegacyPwrScheme +PowerApplyPowerRequestOverride +PowerApplySettingChanges +PowerCanRestoreIndividualDefaultPowerScheme +PowerCreatePossibleSetting +PowerCreateSetting +PowerCustomizePlatformPowerSettings +PowerDebugDifPowerPolicies +PowerDebugDifSystemPowerPolicies +PowerDebugDumpPowerPolicy +PowerDebugDumpPowerScheme +PowerDebugDumpSystemPowerCapabilities +PowerDebugDumpSystemPowerPolicy +PowerDeleteScheme +PowerDeterminePlatformRole +PowerDeterminePlatformRoleEx +PowerDuplicateScheme +PowerEnumerate +PowerGetActiveScheme +PowerImportPowerScheme +PowerInternalDeleteScheme +PowerInternalDuplicateScheme +PowerInternalImportPowerScheme +PowerInternalRestoreDefaultPowerSchemes +PowerInternalRestoreIndividualDefaultPowerScheme +PowerInternalSetActiveScheme +PowerInternalWriteToUserPowerKey +PowerInformationWithPrivileges +PowerIsSettingRangeDefined +PowerOpenSystemPowerKey +PowerOpenUserPowerKey +PowerPolicyToGUIDFormat +PowerReadACDefaultIndex +PowerReadACValue +PowerReadACValueIndex +PowerReadDCDefaultIndex +PowerReadDCValue +PowerReadDCValueIndex +PowerReadDescription +PowerReadFriendlyName +PowerReadIconResourceSpecifier +PowerReadPossibleDescription +PowerReadPossibleFriendlyName +PowerReadPossibleValue +PowerReadSecurityDescriptor +PowerReadSettingAttributes +PowerReadValueIncrement +PowerReadValueMax +PowerReadValueMin +PowerReadValueUnitsSpecifier +PowerRegisterSuspendResumeNotification +PowerRemovePowerSetting +PowerReplaceDefaultPowerSchemes +PowerReportThermalEvent +PowerRestoreDefaultPowerSchemes +PowerRestoreIndividualDefaultPowerScheme +PowerSetActiveScheme +PowerSetAlsBrightnessOffset +PowerSettingAccessCheck +PowerSettingAccessCheckEx +PowerSettingRegisterNotification +PowerSettingRegisterNotificationEx +PowerSettingUnregisterNotification +PowerUnregisterSuspendResumeNotification +PowerWriteACDefaultIndex +PowerWriteACValueIndex +PowerWriteDCDefaultIndex +PowerWriteDCValueIndex +PowerWriteDescription +PowerWriteFriendlyName +PowerWriteIconResourceSpecifier +PowerWritePossibleDescription +PowerWritePossibleFriendlyName +PowerWritePossibleValue +PowerWriteSecurityDescriptor +PowerWriteSettingAttributes +PowerWriteValueIncrement +PowerWriteValueMax +PowerWriteValueMin +PowerWriteValueUnitsSpecifier +ReadGlobalPwrPolicy +ReadProcessorPwrScheme +ReadPwrScheme +SetActivePwrScheme +SetSuspendState +Sysprep_Generalize_Power +ValidatePowerPolicies +WriteGlobalPwrPolicy +WriteProcessorPwrScheme +WritePwrScheme diff --git a/lib/libc/mingw/lib-common/prntvpt.def b/lib/libc/mingw/lib-common/prntvpt.def new file mode 100644 index 0000000000..5a2d512897 --- /dev/null +++ b/lib/libc/mingw/lib-common/prntvpt.def @@ -0,0 +1,35 @@ +LIBRARY "prntvpt.dll" +EXPORTS +PTQuerySchemaVersionSupport +PTOpenProvider +PTOpenProviderEx +PTCloseProvider +BindPTProviderThunk +PTGetPrintCapabilities +PTMergeAndValidatePrintTicket +PTConvertPrintTicketToDevMode +PTConvertDevModeToPrintTicket +PTReleaseMemory +PTGetPrintDeviceCapabilities +PTGetPrintDeviceResources +ConvertDevModeToPrintTicketThunk +ConvertDevModeToPrintTicketThunk2 +ConvertPrintTicketToDevModeThunk +ConvertPrintTicketToDevModeThunk2 +DllCanUnloadNow +DllGetClassObject +DllMain +DllRegisterServer +DllUnregisterServer +GetDeviceDefaultPrintTicketThunk +GetDeviceNamespacesThunk +GetPrintCapabilitiesThunk +GetPrintCapabilitiesThunk2 +GetPrintDeviceCapabilitiesThunk +GetPrintDeviceCapabilitiesThunk2 +GetPrintDeviceResourcesThunk +GetPrintDeviceResourcesThunk2 +GetSchemaVersionThunk +MergeAndValidatePrintTicketThunk +MergeAndValidatePrintTicketThunk2 +UnbindPTProviderThunk diff --git a/lib/libc/mingw/lib-common/propsys.def b/lib/libc/mingw/lib-common/propsys.def new file mode 100644 index 0000000000..911ec39bf1 --- /dev/null +++ b/lib/libc/mingw/lib-common/propsys.def @@ -0,0 +1,226 @@ +LIBRARY "PROPSYS.dll" +EXPORTS +SHGetPropertyStoreForWindow +ClearPropVariantArray +ClearVariantArray +DllCanUnloadNow +DllGetClassObject +DllRegisterServer +DllUnregisterServer +GetProxyDllInfo +InitPropVariantFromBooleanVector +InitPropVariantFromBuffer +InitPropVariantFromCLSID +InitPropVariantFromDoubleVector +InitPropVariantFromFileTime +InitPropVariantFromFileTimeVector +InitPropVariantFromGUIDAsString +InitPropVariantFromInt16Vector +InitPropVariantFromInt32Vector +InitPropVariantFromInt64Vector +InitPropVariantFromPropVariantVectorElem +InitPropVariantFromResource +InitPropVariantFromStrRet +InitPropVariantFromStringAsVector +InitPropVariantFromStringVector +InitPropVariantFromUInt16Vector +InitPropVariantFromUInt32Vector +InitPropVariantFromUInt64Vector +InitPropVariantVectorFromPropVariant +InitVariantFromBooleanArray +InitVariantFromBuffer +InitVariantFromDoubleArray +InitVariantFromFileTime +InitVariantFromFileTimeArray +InitVariantFromGUIDAsString +InitVariantFromInt16Array +InitVariantFromInt32Array +InitVariantFromInt64Array +InitVariantFromResource +InitVariantFromStrRet +InitVariantFromStringArray +InitVariantFromUInt16Array +InitVariantFromUInt32Array +InitVariantFromUInt64Array +InitVariantFromVariantArrayElem +PSCoerceToCanonicalValue +PSCreateAdapterFromPropertyStore +PSCreateDelayedMultiplexPropertyStore +PSCreateMemoryPropertyStore +PSCreateMultiplexPropertyStore +PSCreatePropertyChangeArray +PSCreatePropertyStoreFromObject +PSCreatePropertyStoreFromPropertySetStorage +PSCreateSimplePropertyChange +PSEnumeratePropertyDescriptions +PSFormatForDisplay +PSFormatForDisplayAlloc +PSFormatPropertyValue +PSGetImageReferenceForValue +PSGetItemPropertyHandler +PSGetItemPropertyHandlerWithCreateObject +PSGetNameFromPropertyKey +PSGetNamedPropertyFromPropertyStorage +PSGetPropertyDescription +PSGetPropertyDescriptionByName +PSGetPropertyDescriptionListFromString +PSGetPropertyFromPropertyStorage +PSGetPropertyKeyFromName +PSGetPropertySystem +PSGetPropertyValue +PSLookupPropertyHandlerCLSID +PSPropertyBag_Delete +PSPropertyBag_ReadBOOL +PSPropertyBag_ReadBSTR +PSPropertyBag_ReadDWORD +PSPropertyBag_ReadGUID +PSPropertyBag_ReadInt +PSPropertyBag_ReadLONG +PSPropertyBag_ReadPOINTL +PSPropertyBag_ReadPOINTS +PSPropertyBag_ReadPropertyKey +PSPropertyBag_ReadRECTL +PSPropertyBag_ReadSHORT +PSPropertyBag_ReadStr +PSPropertyBag_ReadStrAlloc +PSPropertyBag_ReadStream +PSPropertyBag_ReadType +PSPropertyBag_ReadULONGLONG +PSPropertyBag_ReadUnknown +PSPropertyBag_WriteBOOL +PSPropertyBag_WriteBSTR +PSPropertyBag_WriteDWORD +PSPropertyBag_WriteGUID +PSPropertyBag_WriteInt +PSPropertyBag_WriteLONG +PSPropertyBag_WritePOINTL +PSPropertyBag_WritePOINTS +PSPropertyBag_WritePropertyKey +PSPropertyBag_WriteRECTL +PSPropertyBag_WriteSHORT +PSPropertyBag_WriteStr +PSPropertyBag_WriteStream +PSPropertyBag_WriteULONGLONG +PSPropertyBag_WriteUnknown +PSPropertyKeyFromString +PSRefreshPropertySchema +PSRegisterPropertySchema +PSSetPropertyValue +PSStringFromPropertyKey +PSUnregisterPropertySchema +PropVariantChangeType +PropVariantCompareEx +PropVariantGetBooleanElem +PropVariantGetDoubleElem +PropVariantGetElementCount +PropVariantGetFileTimeElem +PropVariantGetInt16Elem +PropVariantGetInt32Elem +PropVariantGetInt64Elem +PropVariantGetStringElem +PropVariantGetUInt16Elem +PropVariantGetUInt32Elem +PropVariantGetUInt64Elem +PropVariantToBSTR +PropVariantToBoolean +PropVariantToBooleanVector +PropVariantToBooleanVectorAlloc +PropVariantToBooleanWithDefault +PropVariantToBuffer +PropVariantToDouble +PropVariantToDoubleVector +PropVariantToDoubleVectorAlloc +PropVariantToDoubleWithDefault +PropVariantToFileTime +PropVariantToFileTimeVector +PropVariantToFileTimeVectorAlloc +PropVariantToGUID +PropVariantToInt16 +PropVariantToInt16Vector +PropVariantToInt16VectorAlloc +PropVariantToInt16WithDefault +PropVariantToInt32 +PropVariantToInt32Vector +PropVariantToInt32VectorAlloc +PropVariantToInt32WithDefault +PropVariantToInt64 +PropVariantToInt64Vector +PropVariantToInt64VectorAlloc +PropVariantToInt64WithDefault +PropVariantToStrRet +PropVariantToString +PropVariantToStringAlloc +PropVariantToStringVector +PropVariantToStringVectorAlloc +PropVariantToStringWithDefault +PropVariantToUInt16 +PropVariantToUInt16Vector +PropVariantToUInt16VectorAlloc +PropVariantToUInt16WithDefault +PropVariantToUInt32 +PropVariantToUInt32Vector +PropVariantToUInt32VectorAlloc +PropVariantToUInt32WithDefault +PropVariantToUInt64 +PropVariantToUInt64Vector +PropVariantToUInt64VectorAlloc +PropVariantToUInt64WithDefault +PropVariantToVariant +PropVariantToWinRTPropertyValue +StgDeserializePropVariant +StgSerializePropVariant +VariantCompare +VariantGetBooleanElem +VariantGetDoubleElem +VariantGetElementCount +VariantGetInt16Elem +VariantGetInt32Elem +VariantGetInt64Elem +VariantGetStringElem +VariantGetUInt16Elem +VariantGetUInt32Elem +VariantGetUInt64Elem +VariantToBoolean +VariantToBooleanArray +VariantToBooleanArrayAlloc +VariantToBooleanWithDefault +VariantToBuffer +VariantToDosDateTime +VariantToDouble +VariantToDoubleArray +VariantToDoubleArrayAlloc +VariantToDoubleWithDefault +VariantToFileTime +VariantToGUID +VariantToInt16 +VariantToInt16Array +VariantToInt16ArrayAlloc +VariantToInt16WithDefault +VariantToInt32 +VariantToInt32Array +VariantToInt32ArrayAlloc +VariantToInt32WithDefault +VariantToInt64 +VariantToInt64Array +VariantToInt64ArrayAlloc +VariantToInt64WithDefault +VariantToPropVariant +VariantToStrRet +VariantToString +VariantToStringAlloc +VariantToStringArray +VariantToStringArrayAlloc +VariantToStringWithDefault +VariantToUInt16 +VariantToUInt16Array +VariantToUInt16ArrayAlloc +VariantToUInt16WithDefault +VariantToUInt32 +VariantToUInt32Array +VariantToUInt32ArrayAlloc +VariantToUInt32WithDefault +VariantToUInt64 +VariantToUInt64Array +VariantToUInt64ArrayAlloc +VariantToUInt64WithDefault +WinRTPropertyValueToPropVariant diff --git a/lib/libc/mingw/lib-common/qwave.def b/lib/libc/mingw/lib-common/qwave.def new file mode 100644 index 0000000000..f95058dd0f --- /dev/null +++ b/lib/libc/mingw/lib-common/qwave.def @@ -0,0 +1,21 @@ +; +; Definition file of qwave.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "qwave.dll" +EXPORTS +QDLHPathDiagnostics +QDLHStartDiagnosingPath +QOSAddSocketToFlow +QOSCancel +QOSCloseHandle +QOSCreateHandle +QOSEnumerateFlows +QOSNotifyFlow +QOSQueryFlow +QOSRemoveSocketFromFlow +QOSSetFlow +QOSStartTrackingClient +QOSStopTrackingClient +ServiceMain diff --git a/lib/libc/mingw/lib-common/resutils.def b/lib/libc/mingw/lib-common/resutils.def new file mode 100644 index 0000000000..faf4d09d36 --- /dev/null +++ b/lib/libc/mingw/lib-common/resutils.def @@ -0,0 +1,128 @@ +; +; Definition file of RESUTILS.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "RESUTILS.dll" +EXPORTS +CloseClusterCryptProvider +ClusWorkerCheckTerminate +ClusWorkerCreate +ClusWorkerStart +ClusWorkerTerminate +ClusterClearBackupStateForSharedVolume +ClusterDecrypt +ClusterEncrypt +ClusterEnumTasks +ClusterFileShareCreate +ClusterFileShareDelete +ClusterFileShareUpdate +ClusterFreeTaskInfo +ClusterFreeTaskList +ClusterGetTaskNode +ClusterGetVolumeNameForVolumeMountPoint +ClusterGetVolumePathName +ClusterIsClusterDisk +ClusterIsPathOnSharedVolume +ClusterPrepareSharedVolumeForBackup +ClusterSharedVolumeCheckSnapshotPresence +ClusterSharedVolumeCreateSnapshot +ClusterSharedVolumeReleaseSnapshot +ClusterTaskChangeFromXML +ClusterTaskChangeFromXMLFile +ClusterTaskChange_TS_V1 +ClusterTaskCreateFromXML +ClusterTaskCreateFromXMLFile +ClusterTaskCreate_TS_V1 +ClusterTaskDelete +ClusterTaskDelete_TS_V1 +ClusterTaskExists_TS_V1 +ClusterTaskQuery +CreateClusterStorageSpacesClustering +CreateClusterStorageSpacesResourceLocator +CreateClusterStorageSpacesSubProvider +FreeClusterCrypt +OpenClusterCryptProvider +ResUtilAddUnknownProperties +ResUtilCreateDirectoryTree +ResUtilDupParameterBlock +ResUtilDupString +ResUtilEnumPrivateProperties +ResUtilEnumProperties +ResUtilEnumResources +ResUtilEnumResourcesEx +ResUtilEnumResourcesEx2 +ResUtilExpandEnvironmentStrings +ResUtilFindBinaryProperty +ResUtilFindDependentDiskResourceDriveLetter +ResUtilFindDwordProperty +ResUtilFindExpandSzProperty +ResUtilFindExpandedSzProperty +ResUtilFindFileTimeProperty +ResUtilFindLongProperty +ResUtilFindMultiSzProperty +ResUtilFindSzProperty +ResUtilFreeEnvironment +ResUtilFreeParameterBlock +ResUtilGetAllProperties +ResUtilGetBinaryProperty +ResUtilGetBinaryValue +ResUtilGetClusterRoleState +ResUtilGetCoreClusterResources +ResUtilGetCoreClusterResourcesEx +ResUtilGetDwordProperty +ResUtilGetDwordValue +ResUtilGetEnvironmentWithNetName +ResUtilGetFileTimeProperty +ResUtilGetLongProperty +ResUtilGetMultiSzProperty +ResUtilGetPrivateProperties +ResUtilGetProperties +ResUtilGetPropertiesToParameterBlock +ResUtilGetProperty +ResUtilGetPropertyFormats +ResUtilGetPropertySize +ResUtilGetQwordValue +ResUtilGetResourceDependency +ResUtilGetResourceDependencyByClass +ResUtilGetResourceDependencyByClassEx +ResUtilGetResourceDependencyByName +ResUtilGetResourceDependencyByNameAndClass +ResUtilGetResourceDependencyByNameEx +ResUtilGetResourceDependencyEx +ResUtilGetResourceDependentIPAddressProps +ResUtilGetResourceName +ResUtilGetResourceNameDependency +ResUtilGetResourceNameDependencyEx +ResUtilGetSzProperty +ResUtilGetSzValue +ResUtilIsPathValid +ResUtilIsResourceClassEqual +ResUtilPropertyListFromParameterBlock +ResUtilRemoveResourceServiceEnvironment +ResUtilResourceTypesEqual +ResUtilResourcesEqual +ResUtilSetBinaryValue +ResUtilSetDwordValue +ResUtilSetExpandSzValue +ResUtilSetMultiSzValue +ResUtilSetPrivatePropertyList +ResUtilSetPropertyParameterBlock +ResUtilSetPropertyParameterBlockEx +ResUtilSetPropertyTable +ResUtilSetPropertyTableEx +ResUtilSetQwordValue +ResUtilSetResourceServiceEnvironment +ResUtilSetResourceServiceStartParameters +ResUtilSetResourceServiceStartParametersEx +ResUtilSetSzValue +ResUtilSetUnknownProperties +ResUtilSetValueEx +ResUtilStartResourceService +ResUtilStopResourceService +ResUtilStopService +ResUtilTerminateServiceProcessFromResDll +ResUtilVerifyPrivatePropertyList +ResUtilVerifyPropertyTable +ResUtilVerifyResourceService +ResUtilVerifyService diff --git a/lib/libc/mingw/lib-common/rstrtmgr.def b/lib/libc/mingw/lib-common/rstrtmgr.def new file mode 100644 index 0000000000..6a035641f8 --- /dev/null +++ b/lib/libc/mingw/lib-common/rstrtmgr.def @@ -0,0 +1,19 @@ +; +; Definition file of RstrtMgr.DLL +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "RstrtMgr.DLL" +EXPORTS +RmAddFilter +RmCancelCurrentTask +RmEndSession +RmGetFilterList +RmGetList +RmJoinSession +RmRegisterResources +RmRemoveFilter +RmReserveHeap +RmRestart +RmShutdown +RmStartSession diff --git a/lib/libc/mingw/lib-common/samcli.def b/lib/libc/mingw/lib-common/samcli.def new file mode 100644 index 0000000000..be27577802 --- /dev/null +++ b/lib/libc/mingw/lib-common/samcli.def @@ -0,0 +1,43 @@ +; +; Definition file of samcli.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "samcli.dll" +EXPORTS +NetGetDisplayInformationIndex +NetGroupAdd +NetGroupAddUser +NetGroupDel +NetGroupDelUser +NetGroupEnum +NetGroupGetInfo +NetGroupGetUsers +NetGroupSetInfo +NetGroupSetUsers +NetLocalGroupAdd +NetLocalGroupAddMember +NetLocalGroupAddMembers +NetLocalGroupDel +NetLocalGroupDelMember +NetLocalGroupDelMembers +NetLocalGroupEnum +NetLocalGroupGetInfo +NetLocalGroupGetMembers +NetLocalGroupSetInfo +NetLocalGroupSetMembers +NetQueryDisplayInformation +NetUserAdd +NetUserChangePassword +NetUserDel +NetUserEnum +NetUserGetGroups +NetUserGetInfo +NetUserGetInternetIdentityInfo +NetUserGetLocalGroups +NetUserModalsGet +NetUserModalsSet +NetUserSetGroups +NetUserSetInfo +NetValidatePasswordPolicy +NetValidatePasswordPolicyFree diff --git a/lib/libc/mingw/lib-common/schannel.def b/lib/libc/mingw/lib-common/schannel.def new file mode 100644 index 0000000000..4be72f0e73 --- /dev/null +++ b/lib/libc/mingw/lib-common/schannel.def @@ -0,0 +1,42 @@ +LIBRARY SCHANNEL.dll +EXPORTS +SpLsaModeInitialize +AcceptSecurityContext +AcquireCredentialsHandleA +AcquireCredentialsHandleW +ApplyControlToken +CloseSslPerformanceData +CollectSslPerformanceData +CompleteAuthToken +DeleteSecurityContext +EnumerateSecurityPackagesA +EnumerateSecurityPackagesW +FreeContextBuffer +FreeCredentialsHandle +ImpersonateSecurityContext +InitSecurityInterfaceA +InitSecurityInterfaceW +InitializeSecurityContextA +InitializeSecurityContextW +MakeSignature +OpenSslPerformanceData +QueryContextAttributesA +QueryContextAttributesW +QuerySecurityPackageInfoA +QuerySecurityPackageInfoW +RevertSecurityContext +SealMessage +SpLsaModeInitialize +SpUserModeInitialize +SslCrackCertificate +SslEmptyCacheA +SslEmptyCacheW +SslFreeCertificate +SslFreeCustomBuffer +SslGenerateKeyPair +SslGenerateRandomBits +SslGetMaximumKeySize +SslGetServerIdentity +SslLoadCertificate +UnsealMessage +VerifySignature diff --git a/lib/libc/mingw/lib-common/schedcli.def b/lib/libc/mingw/lib-common/schedcli.def new file mode 100644 index 0000000000..ce5ff1dd3d --- /dev/null +++ b/lib/libc/mingw/lib-common/schedcli.def @@ -0,0 +1,11 @@ +; +; Definition file of schedcli.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "schedcli.dll" +EXPORTS +NetScheduleJobAdd +NetScheduleJobDel +NetScheduleJobEnum +NetScheduleJobGetInfo diff --git a/lib/libc/mingw/lib-common/secur32.def b/lib/libc/mingw/lib-common/secur32.def new file mode 100644 index 0000000000..04c43ad3d9 --- /dev/null +++ b/lib/libc/mingw/lib-common/secur32.def @@ -0,0 +1,113 @@ +; +; Definition file of Secur32.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "Secur32.dll" +EXPORTS +SecDeleteUserModeContext +SecInitUserModeContext +CloseLsaPerformanceData +CollectLsaPerformanceData +OpenLsaPerformanceData +AcceptSecurityContext +AcquireCredentialsHandleA +AcquireCredentialsHandleW +AddCredentialsA +AddCredentialsW +AddSecurityPackageA +AddSecurityPackageW +ApplyControlToken +ChangeAccountPasswordA +ChangeAccountPasswordW +CompleteAuthToken +CredMarshalTargetInfo +CredParseUserNameWithType +CredUnmarshalTargetInfo +DecryptMessage +DeleteSecurityContext +DeleteSecurityPackageA +DeleteSecurityPackageW +EncryptMessage +EnumerateSecurityPackagesA +EnumerateSecurityPackagesW +ExportSecurityContext +FreeContextBuffer +FreeCredentialsHandle +GetComputerObjectNameA +GetComputerObjectNameW +GetSecurityUserInfo +GetUserNameExA +GetUserNameExW +ImpersonateSecurityContext +ImportSecurityContextA +ImportSecurityContextW +InitSecurityInterfaceA +InitSecurityInterfaceW +InitializeSecurityContextA +InitializeSecurityContextW +LsaCallAuthenticationPackage +LsaConnectUntrusted +LsaDeregisterLogonProcess +LsaEnumerateLogonSessions +LsaFreeReturnBuffer +LsaGetLogonSessionData +LsaLogonUser +LsaLookupAuthenticationPackage +LsaRegisterLogonProcess +LsaRegisterPolicyChangeNotification +LsaUnregisterPolicyChangeNotification +MakeSignature +QueryContextAttributesA +QueryContextAttributesW +QueryCredentialsAttributesA +QueryCredentialsAttributesW +QuerySecurityContextToken +QuerySecurityPackageInfoA +QuerySecurityPackageInfoW +RevertSecurityContext +SaslAcceptSecurityContext +SaslEnumerateProfilesA +SaslEnumerateProfilesW +SaslGetContextOption +SaslGetProfilePackageA +SaslGetProfilePackageW +SaslIdentifyPackageA +SaslIdentifyPackageW +SaslInitializeSecurityContextA +SaslInitializeSecurityContextW +SaslSetContextOption +SealMessage +SecCacheSspiPackages +SeciAllocateAndSetCallFlags +SeciAllocateAndSetIPAddress +SeciFreeCallContext +SecpFreeMemory +SecpSetIPAddress +SecpTranslateName +SecpTranslateNameEx +SetContextAttributesA +SetContextAttributesW +SetCredentialsAttributesA +SetCredentialsAttributesW +SspiCompareAuthIdentities +SspiCopyAuthIdentity +SspiDecryptAuthIdentity +SspiEncodeAuthIdentityAsStrings +SspiEncodeStringsAsAuthIdentity +SspiEncryptAuthIdentity +SspiExcludePackage +SspiFreeAuthIdentity +SspiGetTargetHostName +SspiIsAuthIdentityEncrypted +SspiLocalFree +SspiMarshalAuthIdentity +SspiPrepareForCredRead +SspiPrepareForCredWrite +SspiUnmarshalAuthIdentity +SspiValidateAuthIdentity +SspiZeroAuthIdentity +TranslateNameA +TranslateNameW +UnsealMessage +VerifySignature diff --git a/lib/libc/mingw/lib-common/sensapi.def b/lib/libc/mingw/lib-common/sensapi.def new file mode 100644 index 0000000000..a2a0d95569 --- /dev/null +++ b/lib/libc/mingw/lib-common/sensapi.def @@ -0,0 +1,11 @@ +; +; Exports of file SensApi.dll +; +; Autogenerated by gen_exportdef +; Written by Kai Tietz, 2007 +; +LIBRARY SensApi.dll +EXPORTS +IsDestinationReachableA +IsDestinationReachableW +IsNetworkAlive diff --git a/lib/libc/mingw/lib-common/setupapi.def b/lib/libc/mingw/lib-common/setupapi.def new file mode 100644 index 0000000000..495f1e8078 --- /dev/null +++ b/lib/libc/mingw/lib-common/setupapi.def @@ -0,0 +1,766 @@ +; +; Definition file of SETUPAPI.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "SETUPAPI.dll" +EXPORTS +CMP_GetBlockedDriverInfo +CMP_GetServerSideDeviceInstallFlags +CMP_Init_Detection +CMP_RegisterNotification +CMP_Report_LogOn +CMP_UnregisterNotification +CMP_WaitNoPendingInstallEvents +CMP_WaitServicesAvailable +CM_Add_Driver_PackageW +CM_Add_Empty_Log_Conf +CM_Add_Empty_Log_Conf_Ex +CM_Add_IDA +CM_Add_IDW +CM_Add_ID_ExA +CM_Add_ID_ExW +CM_Add_Range +CM_Add_Res_Des +CM_Add_Res_Des_Ex +CM_Apply_PowerScheme +CM_Connect_MachineA +CM_Connect_MachineW +CM_Create_DevNodeA +CM_Create_DevNodeW +CM_Create_DevNode_ExA +CM_Create_DevNode_ExW +CM_Create_Range_List +CM_Delete_Class_Key +CM_Delete_Class_Key_Ex +CM_Delete_DevNode_Key +CM_Delete_DevNode_Key_Ex +CM_Delete_Device_Interface_KeyA +CM_Delete_Device_Interface_KeyW +CM_Delete_Device_Interface_Key_ExA +CM_Delete_Device_Interface_Key_ExW +CM_Delete_Driver_PackageW +CM_Delete_PowerScheme +CM_Delete_Range +CM_Detect_Resource_Conflict +CM_Detect_Resource_Conflict_Ex +CM_Disable_DevNode +CM_Disable_DevNode_Ex +CM_Disconnect_Machine +CM_Dup_Range_List +CM_Duplicate_PowerScheme +CM_Enable_DevNode +CM_Enable_DevNode_Ex +CM_Enumerate_Classes +CM_Enumerate_Classes_Ex +CM_Enumerate_EnumeratorsA +CM_Enumerate_EnumeratorsW +CM_Enumerate_Enumerators_ExA +CM_Enumerate_Enumerators_ExW +CM_Find_Range +CM_First_Range +CM_Free_Log_Conf +CM_Free_Log_Conf_Ex +CM_Free_Log_Conf_Handle +CM_Free_Range_List +CM_Free_Res_Des +CM_Free_Res_Des_Ex +CM_Free_Res_Des_Handle +CM_Free_Resource_Conflict_Handle +CM_Get_Child +CM_Get_Child_Ex +CM_Get_Class_Key_NameA +CM_Get_Class_Key_NameW +CM_Get_Class_Key_Name_ExA +CM_Get_Class_Key_Name_ExW +CM_Get_Class_NameA +CM_Get_Class_NameW +CM_Get_Class_Name_ExA +CM_Get_Class_Name_ExW +CM_Get_Class_Registry_PropertyA +CM_Get_Class_Registry_PropertyW +CM_Get_Depth +CM_Get_Depth_Ex +CM_Get_DevNode_Custom_PropertyA +CM_Get_DevNode_Custom_PropertyW +CM_Get_DevNode_Custom_Property_ExA +CM_Get_DevNode_Custom_Property_ExW +CM_Get_DevNode_Registry_PropertyA +CM_Get_DevNode_Registry_PropertyW +CM_Get_DevNode_Registry_Property_ExA +CM_Get_DevNode_Registry_Property_ExW +CM_Get_DevNode_Status +CM_Get_DevNode_Status_Ex +CM_Get_Device_IDA +CM_Get_Device_IDW +CM_Get_Device_ID_ExA +CM_Get_Device_ID_ExW +CM_Get_Device_ID_ListA +CM_Get_Device_ID_ListW +CM_Get_Device_ID_List_ExA +CM_Get_Device_ID_List_ExW +CM_Get_Device_ID_List_SizeA +CM_Get_Device_ID_List_SizeW +CM_Get_Device_ID_List_Size_ExA +CM_Get_Device_ID_List_Size_ExW +CM_Get_Device_ID_Size +CM_Get_Device_ID_Size_Ex +CM_Get_Device_Interface_AliasA +CM_Get_Device_Interface_AliasW +CM_Get_Device_Interface_Alias_ExA +CM_Get_Device_Interface_Alias_ExW +CM_Get_Device_Interface_ListA +CM_Get_Device_Interface_ListW +CM_Get_Device_Interface_List_ExA +CM_Get_Device_Interface_List_ExW +CM_Get_Device_Interface_List_SizeA +CM_Get_Device_Interface_List_SizeW +CM_Get_Device_Interface_List_Size_ExA +CM_Get_Device_Interface_List_Size_ExW +CM_Get_First_Log_Conf +CM_Get_First_Log_Conf_Ex +CM_Get_Global_State +CM_Get_Global_State_Ex +CM_Get_HW_Prof_FlagsA +CM_Get_HW_Prof_FlagsW +CM_Get_HW_Prof_Flags_ExA +CM_Get_HW_Prof_Flags_ExW +CM_Get_Hardware_Profile_InfoA +CM_Get_Hardware_Profile_InfoW +CM_Get_Hardware_Profile_Info_ExA +CM_Get_Hardware_Profile_Info_ExW +CM_Get_Log_Conf_Priority +CM_Get_Log_Conf_Priority_Ex +CM_Get_Next_Log_Conf +CM_Get_Next_Log_Conf_Ex +CM_Get_Next_Res_Des +CM_Get_Next_Res_Des_Ex +CM_Get_Parent +CM_Get_Parent_Ex +CM_Get_Res_Des_Data +CM_Get_Res_Des_Data_Ex +CM_Get_Res_Des_Data_Size +CM_Get_Res_Des_Data_Size_Ex +CM_Get_Resource_Conflict_Count +CM_Get_Resource_Conflict_DetailsA +CM_Get_Resource_Conflict_DetailsW +CM_Get_Sibling +CM_Get_Sibling_Ex +CM_Get_Version +CM_Get_Version_Ex +CM_Import_PowerScheme +CM_Install_DevNodeW +CM_Install_DevNode_ExW +CM_Intersect_Range_List +CM_Invert_Range_List +CM_Is_Dock_Station_Present +CM_Is_Dock_Station_Present_Ex +CM_Is_Version_Available +CM_Is_Version_Available_Ex +CM_Locate_DevNodeA +CM_Locate_DevNodeW +CM_Locate_DevNode_ExA +CM_Locate_DevNode_ExW +CM_Merge_Range_List +CM_Modify_Res_Des +CM_Modify_Res_Des_Ex +CM_Move_DevNode +CM_Move_DevNode_Ex +CM_Next_Range +CM_Open_Class_KeyA +CM_Open_Class_KeyW +CM_Open_Class_Key_ExA +CM_Open_Class_Key_ExW +CM_Open_DevNode_Key +CM_Open_DevNode_Key_Ex +CM_Open_Device_Interface_KeyA +CM_Open_Device_Interface_KeyW +CM_Open_Device_Interface_Key_ExA +CM_Open_Device_Interface_Key_ExW +CM_Query_And_Remove_SubTreeA +CM_Query_And_Remove_SubTreeW +CM_Query_And_Remove_SubTree_ExA +CM_Query_And_Remove_SubTree_ExW +CM_Query_Arbitrator_Free_Data +CM_Query_Arbitrator_Free_Data_Ex +CM_Query_Arbitrator_Free_Size +CM_Query_Arbitrator_Free_Size_Ex +CM_Query_Remove_SubTree +CM_Query_Remove_SubTree_Ex +CM_Query_Resource_Conflict_List +CM_Reenumerate_DevNode +CM_Reenumerate_DevNode_Ex +CM_Register_Device_Driver +CM_Register_Device_Driver_Ex +CM_Register_Device_InterfaceA +CM_Register_Device_InterfaceW +CM_Register_Device_Interface_ExA +CM_Register_Device_Interface_ExW +CM_Remove_SubTree +CM_Remove_SubTree_Ex +CM_Request_Device_EjectA +CM_Request_Device_EjectW +CM_Request_Device_Eject_ExA +CM_Request_Device_Eject_ExW +CM_Request_Eject_PC +CM_Request_Eject_PC_Ex +CM_RestoreAll_DefaultPowerSchemes +CM_Restore_DefaultPowerScheme +CM_Run_Detection +CM_Run_Detection_Ex +CM_Set_ActiveScheme +CM_Set_Class_Registry_PropertyA +CM_Set_Class_Registry_PropertyW +CM_Set_DevNode_Problem +CM_Set_DevNode_Problem_Ex +CM_Set_DevNode_Registry_PropertyA +CM_Set_DevNode_Registry_PropertyW +CM_Set_DevNode_Registry_Property_ExA +CM_Set_DevNode_Registry_Property_ExW +CM_Set_HW_Prof +CM_Set_HW_Prof_Ex +CM_Set_HW_Prof_FlagsA +CM_Set_HW_Prof_FlagsW +CM_Set_HW_Prof_Flags_ExA +CM_Set_HW_Prof_Flags_ExW +CM_Setup_DevNode +CM_Setup_DevNode_Ex +CM_Test_Range_Available +CM_Uninstall_DevNode +CM_Uninstall_DevNode_Ex +CM_Unregister_Device_InterfaceA +CM_Unregister_Device_InterfaceW +CM_Unregister_Device_Interface_ExA +CM_Unregister_Device_Interface_ExW +CM_Write_UserPowerKey +DoesUserHavePrivilege +DriverStoreAddDriverPackageA +DriverStoreAddDriverPackageW +DriverStoreDeleteDriverPackageA +DriverStoreDeleteDriverPackageW +DriverStoreEnumDriverPackageA +DriverStoreEnumDriverPackageW +DriverStoreFindDriverPackageA +DriverStoreFindDriverPackageW +ExtensionPropSheetPageProc +InstallCatalog +InstallHinfSection +InstallHinfSectionA +InstallHinfSectionW +IsUserAdmin +MyFree +MyMalloc +MyRealloc +PnpEnumDrpFile +PnpIsFileAclIntact +PnpIsFileContentIntact +PnpIsFilePnpDriver +PnpRepairWindowsProtectedDriver +Remote_CMP_GetServerSideDeviceInstallFlags +Remote_CMP_WaitServicesAvailable +Remote_CM_Add_Empty_Log_Conf +Remote_CM_Add_ID +Remote_CM_Add_Res_Des +Remote_CM_Connect_Machine_Worker +Remote_CM_Create_DevNode +Remote_CM_Delete_Class_Key +Remote_CM_Delete_DevNode_Key +Remote_CM_Delete_Device_Interface_Key +Remote_CM_Disable_DevNode +Remote_CM_Disconnect_Machine_Worker +Remote_CM_Enable_DevNode +Remote_CM_Enumerate_Classes +Remote_CM_Enumerate_Enumerators +Remote_CM_Free_Log_Conf +Remote_CM_Free_Res_Des +Remote_CM_Get_Child +Remote_CM_Get_Class_Name +Remote_CM_Get_Class_Property +Remote_CM_Get_Class_Property_Keys +Remote_CM_Get_Class_Registry_Property +Remote_CM_Get_Depth +Remote_CM_Get_DevNode_Custom_Property +Remote_CM_Get_DevNode_Property +Remote_CM_Get_DevNode_Property_Keys +Remote_CM_Get_DevNode_Registry_Property +Remote_CM_Get_DevNode_Status +Remote_CM_Get_Device_ID_List +Remote_CM_Get_Device_ID_List_Size +Remote_CM_Get_Device_Interface_Alias +Remote_CM_Get_Device_Interface_List +Remote_CM_Get_Device_Interface_List_Size +Remote_CM_Get_Device_Interface_Property +Remote_CM_Get_Device_Interface_Property_Keys +Remote_CM_Get_First_Log_Conf +Remote_CM_Get_Global_State +Remote_CM_Get_HW_Prof_Flags +Remote_CM_Get_Hardware_Profile_Info +Remote_CM_Get_Log_Conf_Priority +Remote_CM_Get_Next_Log_Conf +Remote_CM_Get_Next_Res_Des +Remote_CM_Get_Parent +Remote_CM_Get_Res_Des_Data +Remote_CM_Get_Res_Des_Data_Size +Remote_CM_Get_Sibling +Remote_CM_Get_Version +Remote_CM_Install_DevNode +Remote_CM_Is_Dock_Station_Present +Remote_CM_Is_Version_Available +Remote_CM_Locate_DevNode_Worker +Remote_CM_Modify_Res_Des +Remote_CM_Open_Class_Key +Remote_CM_Open_DevNode_Key +Remote_CM_Open_Device_Interface_Key +Remote_CM_Query_And_Remove_SubTree +Remote_CM_Query_Arbitrator_Free_Data +Remote_CM_Query_Arbitrator_Free_Size +Remote_CM_Query_Resource_Conflict_List_Worker +Remote_CM_Reenumerate_DevNode +Remote_CM_Register_Device_Driver +Remote_CM_Register_Device_Interface +Remote_CM_Request_Device_Eject +Remote_CM_Request_Eject_PC +Remote_CM_Run_Detection +Remote_CM_Set_Class_Property +Remote_CM_Set_Class_Registry_Property +Remote_CM_Set_DevNode_Problem +Remote_CM_Set_DevNode_Property +Remote_CM_Set_DevNode_Registry_Property +Remote_CM_Set_Device_Interface_Property +Remote_CM_Set_HW_Prof +Remote_CM_Set_HW_Prof_Flags +Remote_CM_Setup_DevNode +Remote_CM_Uninstall_DevNode +Remote_CM_Unregister_Device_Interface +SetupAddInstallSectionToDiskSpaceListA +SetupAddInstallSectionToDiskSpaceListW +SetupAddSectionToDiskSpaceListA +SetupAddSectionToDiskSpaceListW +SetupAddToDiskSpaceListA +SetupAddToDiskSpaceListW +SetupAddToSourceListA +SetupAddToSourceListW +SetupAdjustDiskSpaceListA +SetupAdjustDiskSpaceListW +SetupBackupErrorA +SetupBackupErrorW +SetupCancelTemporarySourceList +SetupCloseFileQueue +SetupCloseInfFile +SetupCloseLog +SetupCommitFileQueue +SetupCommitFileQueueA +SetupCommitFileQueueW +SetupConfigureWmiFromInfSectionA +SetupConfigureWmiFromInfSectionW +SetupCopyErrorA +SetupCopyErrorW +SetupCopyOEMInfA +SetupCopyOEMInfW +SetupCreateDiskSpaceListA +SetupCreateDiskSpaceListW +SetupDecompressOrCopyFileA +SetupDecompressOrCopyFileW +SetupDefaultQueueCallback +SetupDefaultQueueCallbackA +SetupDefaultQueueCallbackW +SetupDeleteErrorA +SetupDeleteErrorW +SetupDestroyDiskSpaceList +SetupDiApplyPowerScheme +SetupDiAskForOEMDisk +SetupDiBuildClassInfoList +SetupDiBuildClassInfoListExA +SetupDiBuildClassInfoListExW +SetupDiBuildDriverInfoList +SetupDiCallClassInstaller +SetupDiCancelDriverInfoSearch +SetupDiChangeState +SetupDiClassGuidsFromNameA +SetupDiClassGuidsFromNameExA +SetupDiClassGuidsFromNameExW +SetupDiClassGuidsFromNameW +SetupDiClassNameFromGuidA +SetupDiClassNameFromGuidExA +SetupDiClassNameFromGuidExW +SetupDiClassNameFromGuidW +SetupDiCreateDevRegKeyA +SetupDiCreateDevRegKeyW +SetupDiCreateDeviceInfoA +SetupDiCreateDeviceInfoList +SetupDiCreateDeviceInfoListExA +SetupDiCreateDeviceInfoListExW +SetupDiCreateDeviceInfoW +SetupDiCreateDeviceInterfaceA +SetupDiCreateDeviceInterfaceRegKeyA +SetupDiCreateDeviceInterfaceRegKeyW +SetupDiCreateDeviceInterfaceW +SetupDiDeleteDevRegKey +SetupDiDeleteDeviceInfo +SetupDiDeleteDeviceInterfaceData +SetupDiDeleteDeviceInterfaceRegKey +SetupDiDestroyClassImageList +SetupDiDestroyDeviceInfoList +SetupDiDestroyDriverInfoList +SetupDiDrawMiniIcon +SetupDiEnumDeviceInfo +SetupDiEnumDeviceInterfaces +SetupDiEnumDriverInfoA +SetupDiEnumDriverInfoW +SetupDiGetActualModelsSectionA +SetupDiGetActualModelsSectionW +SetupDiGetActualSectionToInstallA +SetupDiGetActualSectionToInstallExA +SetupDiGetActualSectionToInstallExW +SetupDiGetActualSectionToInstallW +SetupDiGetClassBitmapIndex +SetupDiGetClassDescriptionA +SetupDiGetClassDescriptionExA +SetupDiGetClassDescriptionExW +SetupDiGetClassDescriptionW +SetupDiGetClassDevPropertySheetsA +SetupDiGetClassDevPropertySheetsW +SetupDiGetClassDevsA +SetupDiGetClassDevsExA +SetupDiGetClassDevsExW +SetupDiGetClassDevsW +SetupDiGetClassImageIndex +SetupDiGetClassImageList +SetupDiGetClassImageListExA +SetupDiGetClassImageListExW +SetupDiGetClassInstallParamsA +SetupDiGetClassInstallParamsW +SetupDiGetClassPropertyExW +SetupDiGetClassPropertyKeys +SetupDiGetClassPropertyKeysExW +SetupDiGetClassPropertyW +SetupDiGetClassRegistryPropertyA +SetupDiGetClassRegistryPropertyW +SetupDiGetCustomDevicePropertyA +SetupDiGetCustomDevicePropertyW +SetupDiGetDeviceInfoListClass +SetupDiGetDeviceInfoListDetailA +SetupDiGetDeviceInfoListDetailW +SetupDiGetDeviceInstallParamsA +SetupDiGetDeviceInstallParamsW +SetupDiGetDeviceInstanceIdA +SetupDiGetDeviceInstanceIdW +SetupDiGetDeviceInterfaceAlias +SetupDiGetDeviceInterfaceDetailA +SetupDiGetDeviceInterfaceDetailW +SetupDiGetDeviceInterfacePropertyKeys +SetupDiGetDeviceInterfacePropertyW +SetupDiGetDevicePropertyKeys +SetupDiGetDevicePropertyW +SetupDiGetDeviceRegistryPropertyA +SetupDiGetDeviceRegistryPropertyW +SetupDiGetDriverInfoDetailA +SetupDiGetDriverInfoDetailW +SetupDiGetDriverInstallParamsA +SetupDiGetDriverInstallParamsW +SetupDiGetHwProfileFriendlyNameA +SetupDiGetHwProfileFriendlyNameExA +SetupDiGetHwProfileFriendlyNameExW +SetupDiGetHwProfileFriendlyNameW +SetupDiGetHwProfileList +SetupDiGetHwProfileListExA +SetupDiGetHwProfileListExW +SetupDiGetINFClassA +SetupDiGetINFClassW +SetupDiGetSelectedDevice +SetupDiGetSelectedDriverA +SetupDiGetSelectedDriverW +SetupDiGetWizardPage +SetupDiInstallClassA +SetupDiInstallClassExA +SetupDiInstallClassExW +SetupDiInstallClassW +SetupDiInstallDevice +SetupDiInstallDeviceInterfaces +SetupDiInstallDriverFiles +SetupDiLoadClassIcon +SetupDiLoadDeviceIcon +SetupDiMoveDuplicateDevice +SetupDiOpenClassRegKey +SetupDiOpenClassRegKeyExA +SetupDiOpenClassRegKeyExW +SetupDiOpenDevRegKey +SetupDiOpenDeviceInfoA +SetupDiOpenDeviceInfoW +SetupDiOpenDeviceInterfaceA +SetupDiOpenDeviceInterfaceRegKey +SetupDiOpenDeviceInterfaceW +SetupDiRegisterCoDeviceInstallers +SetupDiRegisterDeviceInfo +SetupDiRemoveDevice +SetupDiRemoveDeviceInterface +SetupDiReportAdditionalSoftwareRequested +SetupDiReportDeviceInstallError +SetupDiReportDriverNotFoundError +SetupDiReportDriverPackageImportationError +SetupDiReportGenericDriverInstalled +SetupDiReportPnPDeviceProblem +SetupDiRestartDevices +SetupDiSelectBestCompatDrv +SetupDiSelectDevice +SetupDiSelectOEMDrv +SetupDiSetClassInstallParamsA +SetupDiSetClassInstallParamsW +SetupDiSetClassPropertyExW +SetupDiSetClassPropertyW +SetupDiSetClassRegistryPropertyA +SetupDiSetClassRegistryPropertyW +SetupDiSetDeviceInstallParamsA +SetupDiSetDeviceInstallParamsW +SetupDiSetDeviceInterfaceDefault +SetupDiSetDeviceInterfacePropertyW +SetupDiSetDevicePropertyW +SetupDiSetDeviceRegistryPropertyA +SetupDiSetDeviceRegistryPropertyW +SetupDiSetDriverInstallParamsA +SetupDiSetDriverInstallParamsW +SetupDiSetSelectedDevice +SetupDiSetSelectedDriverA +SetupDiSetSelectedDriverW +SetupDiUnremoveDevice +SetupDuplicateDiskSpaceListA +SetupDuplicateDiskSpaceListW +SetupEnumInfSectionsA +SetupEnumInfSectionsW +SetupEnumPublishedInfA +SetupEnumPublishedInfW +SetupFindFirstLineA +SetupFindFirstLineW +SetupFindNextLine +SetupFindNextMatchLineA +SetupFindNextMatchLineW +SetupFreeSourceListA +SetupFreeSourceListW +SetupGetBackupInformationA +SetupGetBackupInformationW +SetupGetBinaryField +SetupGetFieldCount +SetupGetFileCompressionInfoA +SetupGetFileCompressionInfoExA +SetupGetFileCompressionInfoExW +SetupGetFileCompressionInfoW +SetupGetFileQueueCount +SetupGetFileQueueFlags +SetupGetInfDriverStoreLocationA +SetupGetInfDriverStoreLocationW +SetupGetInfFileListA +SetupGetInfFileListW +SetupGetInfInformationA +SetupGetInfInformationW +SetupGetInfPublishedNameA +SetupGetInfPublishedNameW +SetupGetInfSections +SetupGetIntField +SetupGetLineByIndexA +SetupGetLineByIndexW +SetupGetLineCountA +SetupGetLineCountW +SetupGetLineTextA +SetupGetLineTextW +SetupGetMultiSzFieldA +SetupGetMultiSzFieldW +SetupGetNonInteractiveMode +SetupGetSourceFileLocationA +SetupGetSourceFileLocationW +SetupGetSourceFileSizeA +SetupGetSourceFileSizeW +SetupGetSourceInfoA +SetupGetSourceInfoW +SetupGetStringFieldA +SetupGetStringFieldW +SetupGetTargetPathA +SetupGetTargetPathW +SetupGetThreadLogToken +SetupInitDefaultQueueCallback +SetupInitDefaultQueueCallbackEx +SetupInitializeFileLogA +SetupInitializeFileLogW +SetupInstallFileA +SetupInstallFileExA +SetupInstallFileExW +SetupInstallFileW +SetupInstallFilesFromInfSectionA +SetupInstallFilesFromInfSectionW +SetupInstallFromInfSectionA +SetupInstallFromInfSectionW +SetupInstallLogCloseEventGroup +SetupInstallLogCreateEventGroup +SetupInstallServicesFromInfSectionA +SetupInstallServicesFromInfSectionExA +SetupInstallServicesFromInfSectionExW +SetupInstallServicesFromInfSectionW +SetupIterateCabinetA +SetupIterateCabinetW +SetupLogErrorA +SetupLogErrorW +SetupLogFileA +SetupLogFileW +SetupOpenAppendInfFileA +SetupOpenAppendInfFileW +SetupOpenFileQueue +SetupOpenInfFileA +SetupOpenInfFileW +SetupOpenLog +SetupOpenMasterInf +SetupPrepareQueueForRestoreA +SetupPrepareQueueForRestoreW +SetupPromptForDiskA +SetupPromptForDiskW +SetupPromptReboot +SetupQueryDrivesInDiskSpaceListA +SetupQueryDrivesInDiskSpaceListW +SetupQueryFileLogA +SetupQueryFileLogW +SetupQueryInfFileInformationA +SetupQueryInfFileInformationW +SetupQueryInfOriginalFileInformationA +SetupQueryInfOriginalFileInformationW +SetupQueryInfVersionInformationA +SetupQueryInfVersionInformationW +SetupQuerySourceListA +SetupQuerySourceListW +SetupQuerySpaceRequiredOnDriveA +SetupQuerySpaceRequiredOnDriveW +SetupQueueCopyA +SetupQueueCopyIndirectA +SetupQueueCopyIndirectW +SetupQueueCopySectionA +SetupQueueCopySectionW +SetupQueueCopyW +SetupQueueDefaultCopyA +SetupQueueDefaultCopyW +SetupQueueDeleteA +SetupQueueDeleteSectionA +SetupQueueDeleteSectionW +SetupQueueDeleteW +SetupQueueRenameA +SetupQueueRenameSectionA +SetupQueueRenameSectionW +SetupQueueRenameW +SetupRemoveFileLogEntryA +SetupRemoveFileLogEntryW +SetupRemoveFromDiskSpaceListA +SetupRemoveFromDiskSpaceListW +SetupRemoveFromSourceListA +SetupRemoveFromSourceListW +SetupRemoveInstallSectionFromDiskSpaceListA +SetupRemoveInstallSectionFromDiskSpaceListW +SetupRemoveSectionFromDiskSpaceListA +SetupRemoveSectionFromDiskSpaceListW +SetupRenameErrorA +SetupRenameErrorW +SetupScanFileQueue +SetupScanFileQueueA +SetupScanFileQueueW +SetupSetDirectoryIdA +SetupSetDirectoryIdExA +SetupSetDirectoryIdExW +SetupSetDirectoryIdW +SetupSetFileQueueAlternatePlatformA +SetupSetFileQueueAlternatePlatformW +SetupSetFileQueueFlags +SetupSetNonInteractiveMode +SetupSetPlatformPathOverrideA +SetupSetPlatformPathOverrideW +SetupSetSourceListA +SetupSetSourceListW +SetupSetThreadLogToken +SetupTermDefaultQueueCallback +SetupTerminateFileLog +SetupUninstallNewlyCopiedInfs +SetupUninstallOEMInfA +SetupUninstallOEMInfW +SetupVerifyInfFileA +SetupVerifyInfFileW +SetupWriteTextLog +SetupWriteTextLogError +SetupWriteTextLogInfLine +UnicodeToMultiByte +VerifyCatalogFile +pGetDriverPackageHash +pSetupAccessRunOnceNodeList +pSetupAddMiniIconToList +pSetupAddTagToGroupOrderListEntry +pSetupAppendPath +pSetupCaptureAndConvertAnsiArg +pSetupCenterWindowRelativeToParent +pSetupCloseTextLogSection +pSetupConcatenatePaths +pSetupCreateTextLogSectionA +pSetupCreateTextLogSectionW +pSetupDestroyRunOnceNodeList +pSetupDiBuildInfoDataFromStrongName +pSetupDiCrimsonLogDeviceInstall +pSetupDiEnumSelectedDrivers +pSetupDiGetDriverInfoExtensionId +pSetupDiGetStrongNameForDriverNode +pSetupDiInvalidateHelperModules +pSetupDoLastKnownGoodBackup +pSetupDoesUserHavePrivilege +pSetupDuplicateString +pSetupEnablePrivilege +pSetupFree +pSetupGetCurrentDriverSigningPolicy +pSetupGetDriverDate +pSetupGetDriverVersion +pSetupGetField +pSetupGetFileTitle +pSetupGetGlobalFlags +pSetupGetIndirectStringsFromDriverInfo +pSetupGetInfSections +pSetupGetQueueFlags +pSetupGetRealSystemTime +pSetupGuidFromString +pSetupHandleFailedVerification +pSetupInfGetDigitalSignatureInfo +pSetupInfIsInbox +pSetupInfSetDigitalSignatureInfo +pSetupInstallCatalog +pSetupIsBiDiLocalizedSystemEx +pSetupIsGuidNull +pSetupIsLocalSystem +pSetupIsUserAdmin +pSetupIsUserTrustedInstaller +pSetupLoadIndirectString +pSetupMakeSurePathExists +pSetupMalloc +pSetupModifyGlobalFlags +pSetupMultiByteToUnicode +pSetupOpenAndMapFileForRead +pSetupOutOfMemory +pSetupQueryMultiSzValueToArray +pSetupRealloc +pSetupRegistryDelnode +pSetupRetrieveServiceConfig +pSetupSetArrayToMultiSzValue +pSetupSetDriverPackageRestorePoint +pSetupSetGlobalFlags +pSetupSetQueueFlags +pSetupShouldDeviceBeExcluded +pSetupStringFromGuid +pSetupStringTableAddString +pSetupStringTableAddStringEx +pSetupStringTableDestroy +pSetupStringTableDuplicate +pSetupStringTableEnum +pSetupStringTableGetExtraData +pSetupStringTableInitialize +pSetupStringTableInitializeEx +pSetupStringTableLookUpString +pSetupStringTableLookUpStringEx +pSetupStringTableSetExtraData +pSetupStringTableStringFromId +pSetupStringTableStringFromIdEx +pSetupUnicodeToMultiByte +pSetupUninstallCatalog +pSetupUnmapAndCloseFile +pSetupValidateDriverPackage +pSetupVerifyCatalogFile +pSetupVerifyQueuedCatalogs +pSetupWriteLogEntry +pSetupWriteLogError diff --git a/lib/libc/mingw/lib-common/slcext.def b/lib/libc/mingw/lib-common/slcext.def new file mode 100644 index 0000000000..e9a8f3496c --- /dev/null +++ b/lib/libc/mingw/lib-common/slcext.def @@ -0,0 +1,28 @@ +; +; Definition file of slcext.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "slcext.dll" +EXPORTS +;ord_300 @300 +;ord_301 @301 +;ord_302 @302 +;ord_303 @303 +;ord_304 @304 +SLAcquireGenuineTicket +SLActivateProduct +SLDepositTokenActivationResponse +SLFreeTokenActivationCertificates +SLFreeTokenActivationGrants +SLGenerateTokenActivationChallenge +SLGetPackageProductKey +SLGetPackageProperties +SLGetPackageToken +SLGetReferralInformation +SLGetServerStatus +SLGetTokenActivationCertificates +SLGetTokenActivationGrants +SLInstallPackage +SLSignTokenActivationChallenge +SLUninstallPackage diff --git a/lib/libc/mingw/lib-common/slwga.def b/lib/libc/mingw/lib-common/slwga.def new file mode 100644 index 0000000000..7784cacb7a --- /dev/null +++ b/lib/libc/mingw/lib-common/slwga.def @@ -0,0 +1,9 @@ +; +; Definition file of SLWGA.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "SLWGA.dll" +EXPORTS +;ord_227 @227 +SLIsGenuineLocal diff --git a/lib/libc/mingw/lib-common/snmpapi.def b/lib/libc/mingw/lib-common/snmpapi.def new file mode 100644 index 0000000000..d5828bc4fb --- /dev/null +++ b/lib/libc/mingw/lib-common/snmpapi.def @@ -0,0 +1,46 @@ +; +; Exports of file snmpapi.dll +; +; Autogenerated by gen_exportdef +; Written by Kai Tietz, 2007 +; +LIBRARY snmpapi.dll +EXPORTS +SnmpSvcAddrIsIpx +SnmpSvcAddrToSocket +SnmpSvcGetEnterpriseOID +SnmpSvcGetUptime +SnmpSvcGetUptimeFromTime +SnmpSvcInitUptime +SnmpSvcSetLogLevel +SnmpSvcSetLogType +SnmpTfxClose +SnmpTfxOpen +SnmpTfxQuery +SnmpUtilAnsiToUnicode +SnmpUtilAsnAnyCpy +SnmpUtilAsnAnyFree +SnmpUtilDbgPrint +SnmpUtilIdsToA +SnmpUtilMemAlloc +SnmpUtilMemFree +SnmpUtilMemReAlloc +SnmpUtilOctetsCmp +SnmpUtilOctetsCpy +SnmpUtilOctetsFree +SnmpUtilOctetsNCmp +SnmpUtilOidAppend +SnmpUtilOidCmp +SnmpUtilOidCpy +SnmpUtilOidFree +SnmpUtilOidNCmp +SnmpUtilOidToA +SnmpUtilPrintAsnAny +SnmpUtilPrintOid +SnmpUtilUTF8ToUnicode +SnmpUtilUnicodeToAnsi +SnmpUtilUnicodeToUTF8 +SnmpUtilVarBindCpy +SnmpUtilVarBindFree +SnmpUtilVarBindListCpy +SnmpUtilVarBindListFree diff --git a/lib/libc/mingw/lib-common/srvcli.def b/lib/libc/mingw/lib-common/srvcli.def new file mode 100644 index 0000000000..736290d80d --- /dev/null +++ b/lib/libc/mingw/lib-common/srvcli.def @@ -0,0 +1,64 @@ +; +; Definition file of srvcli.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "srvcli.dll" +EXPORTS +I_NetDfsGetVersion +I_NetServerSetServiceBits +I_NetServerSetServiceBitsEx +LocalAliasGet +LocalFileClose +LocalFileEnum +LocalFileEnumEx +LocalFileGetInfo +LocalFileGetInfoEx +LocalSessionDel +LocalSessionEnum +LocalSessionEnumEx +LocalSessionGetInfo +LocalSessionGetInfoEx +LocalShareAdd +LocalShareDelEx +LocalShareEnum +LocalShareEnumEx +LocalShareGetInfo +LocalShareGetInfoEx +LocalShareSetInfo +NetConnectionEnum +NetFileClose +NetFileEnum +NetFileGetInfo +NetRemoteTOD +NetServerAliasAdd +NetServerAliasDel +NetServerAliasEnum +NetServerComputerNameAdd +NetServerComputerNameDel +NetServerDiskEnum +NetServerGetInfo +NetServerSetInfo +NetServerStatisticsGet +NetServerTransportAdd +NetServerTransportAddEx +NetServerTransportDel +NetServerTransportEnum +NetSessionDel +NetSessionEnum +NetSessionGetInfo +NetShareAdd +NetShareCheck +NetShareDel +NetShareDelEx +NetShareDelSticky +NetShareEnum +NetShareEnumSticky +NetShareGetInfo +NetShareSetInfo +NetpsNameCanonicalize +NetpsNameCompare +NetpsNameValidate +NetpsPathCanonicalize +NetpsPathCompare +NetpsPathType diff --git a/lib/libc/mingw/lib-common/sspicli.def b/lib/libc/mingw/lib-common/sspicli.def new file mode 100644 index 0000000000..8557b5e578 --- /dev/null +++ b/lib/libc/mingw/lib-common/sspicli.def @@ -0,0 +1,107 @@ +; +; Definition file of SspiCli.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "SspiCli.dll" +EXPORTS +SecDeleteUserModeContext +SecInitUserModeContext +SspiUnmarshalAuthIdentityInternal +AcceptSecurityContext +AcquireCredentialsHandleA +AcquireCredentialsHandleW +AddCredentialsA +AddCredentialsW +AddSecurityPackageA +AddSecurityPackageW +ApplyControlToken +ChangeAccountPasswordA +ChangeAccountPasswordW +CompleteAuthToken +CredMarshalTargetInfo +CredUnmarshalTargetInfo +DecryptMessage +DeleteSecurityContext +DeleteSecurityPackageA +DeleteSecurityPackageW +EncryptMessage +EnumerateSecurityPackagesA +EnumerateSecurityPackagesW +ExportSecurityContext +FreeContextBuffer +FreeCredentialsHandle +GetSecurityUserInfo +GetUserNameExA +GetUserNameExW +ImpersonateSecurityContext +ImportSecurityContextA +ImportSecurityContextW +InitSecurityInterfaceA +InitSecurityInterfaceW +InitializeSecurityContextA +InitializeSecurityContextW +LogonUserExExW +LsaCallAuthenticationPackage +LsaConnectUntrusted +LsaDeregisterLogonProcess +LsaEnumerateLogonSessions +LsaFreeReturnBuffer +LsaGetLogonSessionData +LsaLogonUser +LsaLookupAuthenticationPackage +LsaRegisterLogonProcess +LsaRegisterPolicyChangeNotification +LsaUnregisterPolicyChangeNotification +MakeSignature +QueryContextAttributesA +QueryContextAttributesW +QueryCredentialsAttributesA +QueryCredentialsAttributesW +QuerySecurityContextToken +QuerySecurityPackageInfoA +QuerySecurityPackageInfoW +RevertSecurityContext +SaslAcceptSecurityContext +SaslEnumerateProfilesA +SaslEnumerateProfilesW +SaslGetContextOption +SaslGetProfilePackageA +SaslGetProfilePackageW +SaslIdentifyPackageA +SaslIdentifyPackageW +SaslInitializeSecurityContextA +SaslInitializeSecurityContextW +SaslSetContextOption +SealMessage +SecCacheSspiPackages +SeciAllocateAndSetCallFlags +SeciAllocateAndSetIPAddress +SeciFreeCallContext +SeciIsProtectedUser +SetContextAttributesA +SetContextAttributesW +SetCredentialsAttributesA +SetCredentialsAttributesW +SspiCompareAuthIdentities +SspiCopyAuthIdentity +SspiDecryptAuthIdentity +SspiDecryptAuthIdentityEx +SspiEncodeAuthIdentityAsStrings +SspiEncodeStringsAsAuthIdentity +SspiEncryptAuthIdentity +SspiEncryptAuthIdentityEx +SspiExcludePackage +SspiFreeAuthIdentity +SspiGetComputerNameForSPN +SspiGetTargetHostName +SspiIsAuthIdentityEncrypted +SspiLocalFree +SspiMarshalAuthIdentity +SspiPrepareForCredRead +SspiPrepareForCredWrite +SspiUnmarshalAuthIdentity +SspiValidateAuthIdentity +SspiZeroAuthIdentity +UnsealMessage +VerifySignature diff --git a/lib/libc/mingw/lib-common/t2embed.def b/lib/libc/mingw/lib-common/t2embed.def new file mode 100644 index 0000000000..d11f792af9 --- /dev/null +++ b/lib/libc/mingw/lib-common/t2embed.def @@ -0,0 +1,22 @@ +; +; Exports of file t2embed.dll +; +; Autogenerated by gen_exportdef +; Written by Kai Tietz, 2007 +; +LIBRARY t2embed.dll +EXPORTS +TTCharToUnicode +TTDeleteEmbeddedFont +TTEmbedFont +TTEmbedFontEx +TTEmbedFontFromFileA +TTEnableEmbeddingForFacename +TTGetEmbeddedFontInfo +TTGetEmbeddingType +TTGetNewFontName +TTIsEmbeddingEnabled +TTIsEmbeddingEnabledForFacename +TTLoadEmbeddedFont +TTRunValidationTests +TTRunValidationTestsEx diff --git a/lib/libc/mingw/lib-common/tapi32.def b/lib/libc/mingw/lib-common/tapi32.def new file mode 100644 index 0000000000..9907663108 --- /dev/null +++ b/lib/libc/mingw/lib-common/tapi32.def @@ -0,0 +1,286 @@ +; +; Exports of file TAPI32.dll +; +; Autogenerated by gen_exportdef +; Written by Kai Tietz, 2007 +; +LIBRARY TAPI32.dll +EXPORTS +GetTapi16CallbackMsg +LAddrParamsInited +LOpenDialAsst +LocWizardDlgProc +MMCAddProvider +MMCConfigProvider +MMCGetAvailableProviders +MMCGetDeviceFlags +MMCGetLineInfo +MMCGetLineStatus +MMCGetPhoneInfo +MMCGetPhoneStatus +MMCGetProviderList +MMCGetServerConfig +MMCInitialize +MMCRemoveProvider +MMCSetLineInfo +MMCSetPhoneInfo +MMCSetServerConfig +MMCShutdown +NonAsyncEventThread +TAPIWndProc +TUISPIDLLCallback +internalConfig +internalCreateDefLocation +internalNewLocationW +internalPerformance +internalRemoveLocation +internalRenameLocationW +lineAccept +lineAddProvider +lineAddProviderA +lineAddProviderW +lineAddToConference +lineAgentSpecific +lineAnswer +lineBlindTransfer +lineBlindTransferA +lineBlindTransferW +lineClose +lineCompleteCall +lineCompleteTransfer +lineConfigDialog +lineConfigDialogA +lineConfigDialogEdit +lineConfigDialogEditA +lineConfigDialogEditW +lineConfigDialogW +lineConfigProvider +lineCreateAgentA +lineCreateAgentSessionA +lineCreateAgentSessionW +lineCreateAgentW +lineDeallocateCall +lineDevSpecific +lineDevSpecificFeature +lineDial +lineDialA +lineDialW +lineDrop +lineForward +lineForwardA +lineForwardW +lineGatherDigits +lineGatherDigitsA +lineGatherDigitsW +lineGenerateDigits +lineGenerateDigitsA +lineGenerateDigitsW +lineGenerateTone +lineGetAddressCaps +lineGetAddressCapsA +lineGetAddressCapsW +lineGetAddressID +lineGetAddressIDA +lineGetAddressIDW +lineGetAddressStatus +lineGetAddressStatusA +lineGetAddressStatusW +lineGetAgentActivityListA +lineGetAgentActivityListW +lineGetAgentCapsA +lineGetAgentCapsW +lineGetAgentGroupListA +lineGetAgentGroupListW +lineGetAgentInfo +lineGetAgentSessionInfo +lineGetAgentSessionList +lineGetAgentStatusA +lineGetAgentStatusW +lineGetAppPriority +lineGetAppPriorityA +lineGetAppPriorityW +lineGetCallInfo +lineGetCallInfoA +lineGetCallInfoW +lineGetCallStatus +lineGetConfRelatedCalls +lineGetCountry +lineGetCountryA +lineGetCountryW +lineGetDevCaps +lineGetDevCapsA +lineGetDevCapsW +lineGetDevConfig +lineGetDevConfigA +lineGetDevConfigW +lineGetGroupListA +lineGetGroupListW +lineGetID +lineGetIDA +lineGetIDW +lineGetIcon +lineGetIconA +lineGetIconW +lineGetLineDevStatus +lineGetLineDevStatusA +lineGetLineDevStatusW +lineGetMessage +lineGetNewCalls +lineGetNumRings +lineGetProviderList +lineGetProviderListA +lineGetProviderListW +lineGetProxyStatus +lineGetQueueInfo +lineGetQueueListA +lineGetQueueListW +lineGetRequest +lineGetRequestA +lineGetRequestW +lineGetStatusMessages +lineGetTranslateCaps +lineGetTranslateCapsA +lineGetTranslateCapsW +lineHandoff +lineHandoffA +lineHandoffW +lineHold +lineInitialize +lineInitializeExA +lineInitializeExW +lineMakeCall +lineMakeCallA +lineMakeCallW +lineMonitorDigits +lineMonitorMedia +lineMonitorTones +lineNegotiateAPIVersion +lineNegotiateExtVersion +lineOpen +lineOpenA +lineOpenW +linePark +lineParkA +lineParkW +linePickup +linePickupA +linePickupW +linePrepareAddToConference +linePrepareAddToConferenceA +linePrepareAddToConferenceW +lineProxyMessage +lineProxyResponse +lineRedirect +lineRedirectA +lineRedirectW +lineRegisterRequestRecipient +lineReleaseUserUserInfo +lineRemoveFromConference +lineRemoveProvider +lineSecureCall +lineSendUserUserInfo +lineSetAgentActivity +lineSetAgentGroup +lineSetAgentMeasurementPeriod +lineSetAgentSessionState +lineSetAgentState +lineSetAgentStateEx +lineSetAppPriority +lineSetAppPriorityA +lineSetAppPriorityW +lineSetAppSpecific +lineSetCallData +lineSetCallParams +lineSetCallPrivilege +lineSetCallQualityOfService +lineSetCallTreatment +lineSetCurrentLocation +lineSetDevConfig +lineSetDevConfigA +lineSetDevConfigW +lineSetLineDevStatus +lineSetMediaControl +lineSetMediaMode +lineSetNumRings +lineSetQueueMeasurementPeriod +lineSetStatusMessages +lineSetTerminal +lineSetTollList +lineSetTollListA +lineSetTollListW +lineSetupConference +lineSetupConferenceA +lineSetupConferenceW +lineSetupTransfer +lineSetupTransferA +lineSetupTransferW +lineShutdown +lineSwapHold +lineTranslateAddress +lineTranslateAddressA +lineTranslateAddressW +lineTranslateDialog +lineTranslateDialogA +lineTranslateDialogW +lineUncompleteCall +lineUnhold +lineUnpark +lineUnparkA +lineUnparkW +phoneClose +phoneConfigDialog +phoneConfigDialogA +phoneConfigDialogW +phoneDevSpecific +phoneGetButtonInfo +phoneGetButtonInfoA +phoneGetButtonInfoW +phoneGetData +phoneGetDevCaps +phoneGetDevCapsA +phoneGetDevCapsW +phoneGetDisplay +phoneGetGain +phoneGetHookSwitch +phoneGetID +phoneGetIDA +phoneGetIDW +phoneGetIcon +phoneGetIconA +phoneGetIconW +phoneGetLamp +phoneGetMessage +phoneGetRing +phoneGetStatus +phoneGetStatusA +phoneGetStatusMessages +phoneGetStatusW +phoneGetVolume +phoneInitialize +phoneInitializeExA +phoneInitializeExW +phoneNegotiateAPIVersion +phoneNegotiateExtVersion +phoneOpen +phoneSetButtonInfo +phoneSetButtonInfoA +phoneSetButtonInfoW +phoneSetData +phoneSetDisplay +phoneSetGain +phoneSetHookSwitch +phoneSetLamp +phoneSetRing +phoneSetStatusMessages +phoneSetVolume +phoneShutdown +tapiGetLocationInfo +tapiGetLocationInfoA +tapiGetLocationInfoW +tapiRequestDrop +tapiRequestMakeCall +tapiRequestMakeCallA +tapiRequestMakeCallW +tapiRequestMediaCall +tapiRequestMediaCallA +tapiRequestMediaCallW diff --git a/lib/libc/mingw/lib-common/tbs.def b/lib/libc/mingw/lib-common/tbs.def new file mode 100644 index 0000000000..a4093d9890 --- /dev/null +++ b/lib/libc/mingw/lib-common/tbs.def @@ -0,0 +1,25 @@ +; +; Definition file of tbs.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "tbs.dll" +EXPORTS +Tbsi_Create_Attestation_From_Log +Tbsi_Get_TCG_Logs +GetDeviceID +GetDeviceIDString +GetDeviceIDWithTimeout +Tbsi_Context_Create +Tbsi_FilterLog +Tbsi_GetDeviceInfo +Tbsi_Get_OwnerAuth +Tbsi_Get_TCG_Log +Tbsi_Physical_Presence_Command +Tbsi_Revoke_Attestation +Tbsi_ShaHash +Tbsip_Cancel_Commands +Tbsip_Context_Close +Tbsip_Submit_Command +Tbsip_Submit_Command_NonBlocking +Tbsip_TestMorBit diff --git a/lib/libc/mingw/lib-common/tdh.def b/lib/libc/mingw/lib-common/tdh.def new file mode 100644 index 0000000000..f720a99c9b --- /dev/null +++ b/lib/libc/mingw/lib-common/tdh.def @@ -0,0 +1,43 @@ +; +; Definition file of tdh.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "tdh.dll" +EXPORTS +TdhAggregatePayloadFilters +TdhApplyPayloadFilter +TdhCleanupPayloadEventFilterDescriptor +TdhCloseDecodingHandle +TdhCreatePayloadFilter +TdhDeletePayloadFilter +TdhEnumerateManifestProviderEvents +TdhEnumerateProviderFieldInformation +TdhEnumerateProviderFilters +TdhEnumerateProviders +TdhEnumerateRemoteWBEMProviderFieldInformation +TdhEnumerateRemoteWBEMProviders +TdhFormatProperty +TdhGetAllEventsInformation +TdhGetDecodingParameter +TdhGetEventInformation +TdhGetEventMapInformation +TdhGetManifestEventInformation +TdhGetProperty +TdhGetPropertyOffsetAndSize +TdhGetPropertySize +TdhGetWppMessage +TdhGetWppProperty +TdhLoadManifest +TdhLoadManifestFromBinary +TdhLoadManifestFromMemory +TdhOpenDecodingHandle +TdhQueryProviderFieldInformation +TdhQueryRemoteWBEMProviderFieldInformation +TdhSetDecodingParameter +TdhUnloadManifest +TdhUnloadManifestFromMemory +TdhValidatePayloadFilter +TdhpFindMatchClassFromWBEM +TdhpGetBestTraceEventInfoWBEM +TdhpGetEventMapInfoWBEM diff --git a/lib/libc/mingw/lib-common/traffic.def b/lib/libc/mingw/lib-common/traffic.def new file mode 100644 index 0000000000..b2f5ab7912 --- /dev/null +++ b/lib/libc/mingw/lib-common/traffic.def @@ -0,0 +1,29 @@ +; +; Definition file of TRAFFIC.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "TRAFFIC.dll" +EXPORTS +TcAddFilter +TcAddFlow +TcCloseInterface +TcDeleteFilter +TcDeleteFlow +TcDeregisterClient +TcEnumerateFlows +TcEnumerateInterfaces +TcGetFlowNameA +TcGetFlowNameW +TcGetInterfaceList +TcModifyFlow +TcOpenInterfaceA +TcOpenInterfaceW +TcQueryFlowA +TcQueryFlowW +TcQueryInterface +TcRegisterClient +TcSetFlowA +TcSetFlowW +TcSetInterface +TcSetSocketFlow diff --git a/lib/libc/mingw/lib-common/txfw32.def b/lib/libc/mingw/lib-common/txfw32.def new file mode 100644 index 0000000000..0e0a63d669 --- /dev/null +++ b/lib/libc/mingw/lib-common/txfw32.def @@ -0,0 +1,16 @@ +; +; Definition file of txfw32.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "txfw32.dll" +EXPORTS +TxfGetThreadMiniVersionForCreate +TxfLogCreateFileReadContext +TxfLogCreateRangeReadContext +TxfLogDestroyReadContext +TxfLogReadRecords +TxfLogRecordGetFileName +TxfLogRecordGetGenericType +TxfReadMetadataInfo +TxfSetThreadMiniVersionForCreate diff --git a/lib/libc/mingw/lib-common/usp10.def b/lib/libc/mingw/lib-common/usp10.def new file mode 100644 index 0000000000..30596db5d6 --- /dev/null +++ b/lib/libc/mingw/lib-common/usp10.def @@ -0,0 +1,51 @@ +; +; Definition file of USP10.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "USP10.dll" +EXPORTS +LpkPresent +ScriptApplyDigitSubstitution +ScriptApplyLogicalWidth +ScriptBreak +ScriptCPtoX +ScriptCacheGetHeight +ScriptFreeCache +ScriptGetCMap +ScriptGetFontAlternateGlyphs +ScriptGetFontFeatureTags +ScriptGetFontLanguageTags +ScriptGetFontProperties +ScriptGetFontScriptTags +ScriptGetGlyphABCWidth +ScriptGetLogicalWidths +ScriptGetProperties +ScriptIsComplex +ScriptItemize +ScriptItemizeOpenType +ScriptJustify +ScriptLayout +ScriptPlace +ScriptPlaceOpenType +ScriptPositionSingleGlyph +ScriptRecordDigitSubstitution +ScriptShape +ScriptShapeOpenType +ScriptStringAnalyse +ScriptStringCPtoX +ScriptStringFree +ScriptStringGetLogicalWidths +ScriptStringGetOrder +ScriptStringOut +ScriptStringValidate +ScriptStringXtoCP +ScriptString_pLogAttr +ScriptString_pSize +ScriptString_pcOutChars +ScriptSubstituteSingleGlyph +ScriptTextOut +ScriptXtoCP +UspAllocCache +UspAllocTemp +UspFreeMem diff --git a/lib/libc/mingw/lib-common/uxtheme.def b/lib/libc/mingw/lib-common/uxtheme.def new file mode 100644 index 0000000000..bf7369d76b --- /dev/null +++ b/lib/libc/mingw/lib-common/uxtheme.def @@ -0,0 +1,88 @@ +; +; Definition file of UxTheme.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "UxTheme.dll" +EXPORTS +BeginPanningFeedback +EndPanningFeedback +UpdatePanningFeedback +BeginBufferedAnimation +BeginBufferedPaint +BufferedPaintClear +BufferedPaintInit +BufferedPaintRenderAnimation +BufferedPaintSetAlpha +DrawThemeBackgroundEx +BufferedPaintStopAllAnimations +BufferedPaintUnInit +CloseThemeData +DrawThemeBackground +DrawThemeEdge +DrawThemeIcon +OpenThemeDataEx +DrawThemeParentBackground +DrawThemeParentBackgroundEx +DrawThemeText +GetImmersiveColorFromColorSetEx +GetImmersiveUserColorSetPreference +DrawThemeTextEx +GetUserColorPreference +GetColorFromPreference +EnableThemeDialogTexture +EnableTheming +EndBufferedAnimation +EndBufferedPaint +GetBufferedPaintBits +GetBufferedPaintDC +GetBufferedPaintTargetDC +GetBufferedPaintTargetRect +GetCurrentThemeName +GetThemeAnimationProperty +GetThemeAnimationTransform +GetThemeAppProperties +GetThemeBackgroundContentRect +GetThemeBackgroundExtent +GetThemeBackgroundRegion +GetThemeBitmap +GetThemeBool +GetThemeColor +GetThemeDocumentationProperty +GetThemeEnumValue +GetThemeFilename +GetThemeFont +GetThemeInt +GetThemeIntList +GetThemeMargins +GetThemeMetric +GetThemePartSize +GetThemePosition +GetThemePropertyOrigin +GetThemeRect +GetThemeStream +GetThemeString +GetThemeSysBool +GetThemeSysColor +GetThemeSysColorBrush +GetThemeSysFont +GetThemeSysInt +GetThemeSysSize +GetThemeSysString +GetThemeTextExtent +GetThemeTextMetrics +GetThemeTimingFunction +GetThemeTransitionDuration +GetWindowTheme +HitTestThemeBackground +IsAppThemed +IsCompositionActive +IsThemeActive +IsThemeBackgroundPartiallyTransparent +IsThemeDialogTextureEnabled +IsThemePartDefined +OpenThemeData +SetThemeAppProperties +SetWindowTheme +SetWindowThemeAttribute +ThemeInitApiHook diff --git a/lib/libc/mingw/lib-common/virtdisk.def b/lib/libc/mingw/lib-common/virtdisk.def new file mode 100644 index 0000000000..6432c2d96a --- /dev/null +++ b/lib/libc/mingw/lib-common/virtdisk.def @@ -0,0 +1,33 @@ +; +; Definition file of VirtDisk.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "VirtDisk.dll" +EXPORTS +AddVirtualDiskParent +ApplySnapshotVhdSet +AttachVirtualDisk +BreakMirrorVirtualDisk +CompactVirtualDisk +CreateVirtualDisk +DeleteSnapshotVhdSet +DeleteVirtualDiskMetadata +DetachVirtualDisk +EnumerateVirtualDiskMetadata +ExpandVirtualDisk +GetAllAttachedVirtualDiskPhysicalPaths +GetStorageDependencyInformation +GetVirtualDiskInformation +GetVirtualDiskMetadata +GetVirtualDiskOperationProgress +GetVirtualDiskPhysicalPath +MergeVirtualDisk +MirrorVirtualDisk +ModifyVhdSet +OpenVirtualDisk +QueryChangesVirtualDisk +ResizeVirtualDisk +SetVirtualDiskInformation +SetVirtualDiskMetadata +TakeSnapshotVhdSet diff --git a/lib/libc/mingw/lib-common/websocket.def b/lib/libc/mingw/lib-common/websocket.def new file mode 100644 index 0000000000..65ba4cd5a5 --- /dev/null +++ b/lib/libc/mingw/lib-common/websocket.def @@ -0,0 +1,15 @@ +LIBRARY "websocket.dll" +EXPORTS +WebSocketAbortHandle +WebSocketBeginClientHandshake +WebSocketBeginServerHandshake +WebSocketCompleteAction +WebSocketCreateClientHandle +WebSocketCreateServerHandle +WebSocketDeleteHandle +WebSocketEndClientHandshake +WebSocketEndServerHandshake +WebSocketGetAction +WebSocketGetGlobalProperty +WebSocketReceive +WebSocketSend diff --git a/lib/libc/mingw/lib-common/wecapi.def b/lib/libc/mingw/lib-common/wecapi.def new file mode 100644 index 0000000000..055be19cbb --- /dev/null +++ b/lib/libc/mingw/lib-common/wecapi.def @@ -0,0 +1,26 @@ +; +; Definition file of WecApi.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "WecApi.dll" +EXPORTS +pszDbgAllocMsgA +vDbgLogError +EcIsConfigRequired +EcQuickConfig +EcClose +EcDeleteSubscription +EcEnumNextSubscription +EcGetObjectArrayProperty +EcGetObjectArraySize +EcGetSubscriptionProperty +EcGetSubscriptionRunTimeStatus +EcInsertObjectArrayElement +EcOpenSubscription +EcOpenSubscriptionEnum +EcRemoveObjectArrayElement +EcRetrySubscription +EcSaveSubscription +EcSetObjectArrayProperty +EcSetSubscriptionProperty diff --git a/lib/libc/mingw/lib-common/wevtapi.def b/lib/libc/mingw/lib-common/wevtapi.def new file mode 100644 index 0000000000..3b50e545da --- /dev/null +++ b/lib/libc/mingw/lib-common/wevtapi.def @@ -0,0 +1,53 @@ +; +; Definition file of wevtapi.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "wevtapi.dll" +EXPORTS +EvtIntSysprepCleanup +EvtSetObjectArrayProperty +EvtArchiveExportedLog +EvtCancel +EvtClearLog +EvtClose +EvtCreateBookmark +EvtCreateRenderContext +EvtExportLog +EvtFormatMessage +EvtGetChannelConfigProperty +EvtGetEventInfo +EvtGetEventMetadataProperty +EvtGetExtendedStatus +EvtGetLogInfo +EvtGetObjectArrayProperty +EvtGetObjectArraySize +EvtGetPublisherMetadataProperty +EvtGetQueryInfo +EvtIntAssertConfig +EvtIntCreateBinXMLFromCustomXML +EvtIntCreateLocalLogfile +EvtIntGetClassicLogDisplayName +EvtIntRenderResourceEventTemplate +EvtIntReportAuthzEventAndSourceAsync +EvtIntReportEventAndSourceAsync +EvtIntRetractConfig +EvtIntWriteXmlEventToLocalLogfile +EvtNext +EvtNextChannelPath +EvtNextEventMetadata +EvtNextPublisherId +EvtOpenChannelConfig +EvtOpenChannelEnum +EvtOpenEventMetadataEnum +EvtOpenLog +EvtOpenPublisherEnum +EvtOpenPublisherMetadata +EvtOpenSession +EvtQuery +EvtRender +EvtSaveChannelConfig +EvtSeek +EvtSetChannelConfigProperty +EvtSubscribe +EvtUpdateBookmark diff --git a/lib/libc/mingw/lib-common/windowscodecs.def b/lib/libc/mingw/lib-common/windowscodecs.def new file mode 100644 index 0000000000..ca49c8b8d9 --- /dev/null +++ b/lib/libc/mingw/lib-common/windowscodecs.def @@ -0,0 +1,116 @@ +LIBRARY "WindowsCodecs.dll" +EXPORTS +IEnumString_Next_WIC_Proxy +IEnumString_Reset_WIC_Proxy +IPropertyBag2_Write_Proxy +IWICBitmapClipper_Initialize_Proxy +IWICBitmapCodecInfo_DoesSupportAnimation_Proxy +IWICBitmapCodecInfo_DoesSupportLossless_Proxy +IWICBitmapCodecInfo_DoesSupportMultiframe_Proxy +IWICBitmapCodecInfo_GetContainerFormat_Proxy +IWICBitmapCodecInfo_GetDeviceManufacturer_Proxy +IWICBitmapCodecInfo_GetDeviceModels_Proxy +IWICBitmapCodecInfo_GetFileExtensions_Proxy +IWICBitmapCodecInfo_GetMimeTypes_Proxy +IWICBitmapDecoder_CopyPalette_Proxy +IWICBitmapDecoder_GetColorContexts_Proxy +IWICBitmapDecoder_GetDecoderInfo_Proxy +IWICBitmapDecoder_GetFrameCount_Proxy +IWICBitmapDecoder_GetFrame_Proxy +IWICBitmapDecoder_GetMetadataQueryReader_Proxy +IWICBitmapDecoder_GetPreview_Proxy +IWICBitmapDecoder_GetThumbnail_Proxy +IWICBitmapEncoder_Commit_Proxy +IWICBitmapEncoder_CreateNewFrame_Proxy +IWICBitmapEncoder_GetEncoderInfo_Proxy +IWICBitmapEncoder_GetMetadataQueryWriter_Proxy +IWICBitmapEncoder_Initialize_Proxy +IWICBitmapEncoder_SetPalette_Proxy +IWICBitmapEncoder_SetThumbnail_Proxy +IWICBitmapFlipRotator_Initialize_Proxy +IWICBitmapFrameDecode_GetColorContexts_Proxy +IWICBitmapFrameDecode_GetMetadataQueryReader_Proxy +IWICBitmapFrameDecode_GetThumbnail_Proxy +IWICBitmapFrameEncode_Commit_Proxy +IWICBitmapFrameEncode_GetMetadataQueryWriter_Proxy +IWICBitmapFrameEncode_Initialize_Proxy +IWICBitmapFrameEncode_SetColorContexts_Proxy +IWICBitmapFrameEncode_SetResolution_Proxy +IWICBitmapFrameEncode_SetSize_Proxy +IWICBitmapFrameEncode_SetThumbnail_Proxy +IWICBitmapFrameEncode_WriteSource_Proxy +IWICBitmapLock_GetDataPointer_STA_Proxy +IWICBitmapLock_GetStride_Proxy +IWICBitmapScaler_Initialize_Proxy +IWICBitmapSource_CopyPalette_Proxy +IWICBitmapSource_CopyPixels_Proxy +IWICBitmapSource_GetPixelFormat_Proxy +IWICBitmapSource_GetResolution_Proxy +IWICBitmapSource_GetSize_Proxy +IWICBitmap_Lock_Proxy +IWICBitmap_SetPalette_Proxy +IWICBitmap_SetResolution_Proxy +IWICColorContext_InitializeFromMemory_Proxy +IWICComponentFactory_CreateMetadataWriterFromReader_Proxy +IWICComponentFactory_CreateQueryWriterFromBlockWriter_Proxy +IWICComponentInfo_GetAuthor_Proxy +IWICComponentInfo_GetCLSID_Proxy +IWICComponentInfo_GetFriendlyName_Proxy +IWICComponentInfo_GetSpecVersion_Proxy +IWICComponentInfo_GetVersion_Proxy +IWICFastMetadataEncoder_Commit_Proxy +IWICFastMetadataEncoder_GetMetadataQueryWriter_Proxy +IWICFormatConverter_Initialize_Proxy +IWICImagingFactory_CreateBitmapClipper_Proxy +IWICImagingFactory_CreateBitmapFlipRotator_Proxy +IWICImagingFactory_CreateBitmapFromHBITMAP_Proxy +IWICImagingFactory_CreateBitmapFromHICON_Proxy +IWICImagingFactory_CreateBitmapFromMemory_Proxy +IWICImagingFactory_CreateBitmapFromSource_Proxy +IWICImagingFactory_CreateBitmapScaler_Proxy +IWICImagingFactory_CreateBitmap_Proxy +IWICImagingFactory_CreateComponentInfo_Proxy +IWICImagingFactory_CreateDecoderFromFileHandle_Proxy +IWICImagingFactory_CreateDecoderFromFilename_Proxy +IWICImagingFactory_CreateDecoderFromStream_Proxy +IWICImagingFactory_CreateEncoder_Proxy +IWICImagingFactory_CreateFastMetadataEncoderFromDecoder_Proxy +IWICImagingFactory_CreateFastMetadataEncoderFromFrameDecode_Proxy +IWICImagingFactory_CreateFormatConverter_Proxy +IWICImagingFactory_CreatePalette_Proxy +IWICImagingFactory_CreateQueryWriterFromReader_Proxy +IWICImagingFactory_CreateQueryWriter_Proxy +IWICImagingFactory_CreateStream_Proxy +IWICMetadataBlockReader_GetCount_Proxy +IWICMetadataBlockReader_GetReaderByIndex_Proxy +IWICMetadataQueryReader_GetContainerFormat_Proxy +IWICMetadataQueryReader_GetEnumerator_Proxy +IWICMetadataQueryReader_GetLocation_Proxy +IWICMetadataQueryReader_GetMetadataByName_Proxy +IWICMetadataQueryWriter_RemoveMetadataByName_Proxy +IWICMetadataQueryWriter_SetMetadataByName_Proxy +IWICPalette_GetColorCount_Proxy +IWICPalette_GetColors_Proxy +IWICPalette_GetType_Proxy +IWICPalette_HasAlpha_Proxy +IWICPalette_InitializeCustom_Proxy +IWICPalette_InitializeFromBitmap_Proxy +IWICPalette_InitializeFromPalette_Proxy +IWICPalette_InitializePredefined_Proxy +IWICPixelFormatInfo_GetBitsPerPixel_Proxy +IWICPixelFormatInfo_GetChannelCount_Proxy +IWICPixelFormatInfo_GetChannelMask_Proxy +IWICStream_InitializeFromIStream_Proxy +IWICStream_InitializeFromMemory_Proxy +WICConvertBitmapSource +WICCreateBitmapFromSection +WICCreateBitmapFromSectionEx +WICCreateColorContext_Proxy +WICCreateImagingFactory_Proxy +WICGetMetadataContentSize +WICMapGuidToShortName +WICMapSchemaToName +WICMapShortNameToGuid +WICMatchMetadataContent +WICSerializeMetadataContent +WICSetEncoderFormat_Proxy diff --git a/lib/libc/mingw/lib-common/winhttp.def b/lib/libc/mingw/lib-common/winhttp.def new file mode 100644 index 0000000000..20c0b72aba --- /dev/null +++ b/lib/libc/mingw/lib-common/winhttp.def @@ -0,0 +1,89 @@ +; +; Definition file of WINHTTP.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "WINHTTP.dll" +EXPORTS +WinHttpPacJsWorkerMain +DllCanUnloadNow +DllGetClassObject +Private1 +SvchostPushServiceGlobals +WinHttpAddRequestHeaders +WinHttpAddRequestHeadersEx +WinHttpAutoProxySvcMain +WinHttpCheckPlatform +WinHttpCloseHandle +WinHttpConnect +WinHttpConnectionDeletePolicyEntries +WinHttpConnectionDeleteProxyInfo +WinHttpConnectionFreeNameList +WinHttpConnectionFreeProxyInfo +WinHttpConnectionFreeProxyList +WinHttpConnectionGetNameList +WinHttpConnectionGetProxyInfo +WinHttpConnectionGetProxyList +WinHttpConnectionSetPolicyEntries +WinHttpConnectionSetProxyInfo +WinHttpConnectionUpdateIfIndexTable +WinHttpCrackUrl +WinHttpCreateProxyResolver +WinHttpCreateUrl +WinHttpDetectAutoProxyConfigUrl +WinHttpFreeProxyResult +WinHttpFreeProxyResultEx +WinHttpFreeProxySettings +WinHttpGetDefaultProxyConfiguration +WinHttpGetIEProxyConfigForCurrentUser +WinHttpGetProxyForUrl +WinHttpGetProxyForUrlEx +WinHttpGetProxyForUrlEx2 +WinHttpGetProxyForUrlHvsi +WinHttpGetProxyResult +WinHttpGetProxyResultEx +WinHttpGetProxySettingsVersion +WinHttpGetTunnelSocket +WinHttpOpen +WinHttpOpenRequest +WinHttpPalAcquireNextInterface +WinHttpPalAcquireNextInterfaceAsync +WinHttpPalCancelRequest +WinHttpPalCreateCmSessionReference +WinHttpPalCreateRequestCtx +WinHttpPalDllInit +WinHttpPalDllUnload +WinHttpPalFreeProxyInfo +WinHttpPalFreeRequestCtx +WinHttpPalGetProxyCreds +WinHttpPalGetProxyForCurrentInterface +WinHttpPalIsImplemented +WinHttpPalOnSendRequestComplete +WinHttpProbeConnectivity +WinHttpQueryAuthSchemes +WinHttpQueryDataAvailable +WinHttpQueryHeaders +WinHttpQueryOption +WinHttpReadData +WinHttpReadProxySettings +WinHttpReadProxySettingsHvsi +WinHttpReceiveResponse +WinHttpResetAutoProxy +WinHttpSaveProxyCredentials +WinHttpSendRequest +WinHttpSetCredentials +WinHttpSetDefaultProxyConfiguration +WinHttpSetOption +WinHttpSetProxySettingsPerUser +WinHttpSetStatusCallback +WinHttpSetTimeouts +WinHttpTimeFromSystemTime +WinHttpTimeToSystemTime +WinHttpWebSocketClose +WinHttpWebSocketCompleteUpgrade +WinHttpWebSocketQueryCloseStatus +WinHttpWebSocketReceive +WinHttpWebSocketSend +WinHttpWebSocketShutdown +WinHttpWriteData +WinHttpWriteProxySettings diff --git a/lib/libc/mingw/lib-common/wininet.def b/lib/libc/mingw/lib-common/wininet.def new file mode 100644 index 0000000000..74c64ec429 --- /dev/null +++ b/lib/libc/mingw/lib-common/wininet.def @@ -0,0 +1,300 @@ +; +; Definition file of WININET.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "WININET.dll" +EXPORTS +DispatchAPICall +AppCacheCheckManifest +AppCacheCloseHandle +AppCacheCreateAndCommitFile +AppCacheDeleteGroup +AppCacheDeleteIEGroup +AppCacheDuplicateHandle +AppCacheFinalize +AppCacheFreeDownloadList +AppCacheFreeGroupList +AppCacheFreeIESpace +AppCacheFreeSpace +AppCacheGetDownloadList +AppCacheGetFallbackUrl +AppCacheGetGroupList +AppCacheGetIEGroupList +AppCacheGetInfo +AppCacheGetManifestUrl +AppCacheLookup +CommitUrlCacheEntryA +CommitUrlCacheEntryBinaryBlob +CommitUrlCacheEntryW +CreateMD5SSOHash +CreateUrlCacheContainerA +CreateUrlCacheContainerW +CreateUrlCacheEntryA +CreateUrlCacheEntryExW +CreateUrlCacheEntryW +CreateUrlCacheGroup +DeleteIE3Cache +DeleteUrlCacheContainerA +DeleteUrlCacheContainerW +DeleteUrlCacheEntry +DeleteUrlCacheEntryA +DeleteUrlCacheEntryW +DeleteUrlCacheGroup +DeleteWpadCacheForNetworks +DetectAutoProxyUrl +FindCloseUrlCache +FindFirstUrlCacheContainerA +FindFirstUrlCacheContainerW +FindFirstUrlCacheEntryA +FindFirstUrlCacheEntryExA +FindFirstUrlCacheEntryExW +FindFirstUrlCacheEntryW +FindFirstUrlCacheGroup +FindNextUrlCacheContainerA +FindNextUrlCacheContainerW +FindNextUrlCacheEntryA +FindNextUrlCacheEntryExA +FindNextUrlCacheEntryExW +FindNextUrlCacheEntryW +FindNextUrlCacheGroup +ForceNexusLookup +ForceNexusLookupExW +FreeUrlCacheSpaceA +FreeUrlCacheSpaceW +FtpCommandA +FtpCommandW +FtpCreateDirectoryA +FtpCreateDirectoryW +FtpDeleteFileA +FtpDeleteFileW +FtpFindFirstFileA +FtpFindFirstFileW +FtpGetCurrentDirectoryA +FtpGetCurrentDirectoryW +FtpGetFileA +FtpGetFileEx +FtpGetFileSize +FtpGetFileW +FtpOpenFileA +FtpOpenFileW +FtpPutFileA +FtpPutFileEx +FtpPutFileW +FtpRemoveDirectoryA +FtpRemoveDirectoryW +FtpRenameFileA +FtpRenameFileW +FtpSetCurrentDirectoryA +FtpSetCurrentDirectoryW +GetProxyDllInfo +GetUrlCacheConfigInfoA +GetUrlCacheConfigInfoW +GetUrlCacheEntryBinaryBlob +GetUrlCacheEntryInfoA +GetUrlCacheEntryInfoExA +GetUrlCacheEntryInfoExW +GetUrlCacheEntryInfoW +GetUrlCacheGroupAttributeA +GetUrlCacheGroupAttributeW +GetUrlCacheHeaderData +GopherCreateLocatorA +GopherCreateLocatorW +GopherFindFirstFileA +GopherFindFirstFileW +GopherGetAttributeA +GopherGetAttributeW +GopherGetLocatorTypeA +GopherGetLocatorTypeW +GopherOpenFileA +GopherOpenFileW +HttpAddRequestHeadersA +HttpAddRequestHeadersW +HttpCheckDavCompliance +HttpCloseDependencyHandle +HttpDuplicateDependencyHandle +HttpEndRequestA +HttpEndRequestW +HttpGetServerCredentials +HttpGetTunnelSocket +HttpIndicatePageLoadComplete +HttpIsHostHstsEnabled +HttpOpenDependencyHandle +HttpOpenRequestA +HttpOpenRequestW +HttpPushClose +HttpPushEnable +HttpPushWait +HttpQueryInfoA +HttpQueryInfoW +HttpSendRequestA +HttpSendRequestExA +HttpSendRequestExW +HttpSendRequestW +HttpWebSocketClose +HttpWebSocketCompleteUpgrade +HttpWebSocketQueryCloseStatus +HttpWebSocketReceive +HttpWebSocketSend +HttpWebSocketShutdown +IncrementUrlCacheHeaderData +InternetAlgIdToStringA +InternetAlgIdToStringW +InternetAttemptConnect +InternetAutodial +InternetAutodialCallback +InternetAutodialHangup +InternetCanonicalizeUrlA +InternetCanonicalizeUrlW +InternetCheckConnectionA +InternetCheckConnectionW +InternetClearAllPerSiteCookieDecisions +InternetCloseHandle +InternetCombineUrlA +InternetCombineUrlW +InternetConfirmZoneCrossing +InternetConfirmZoneCrossingA +InternetConfirmZoneCrossingW +InternetConnectA +InternetConnectW +InternetConvertUrlFromWireToWideChar +InternetCrackUrlA +InternetCrackUrlW +InternetCreateUrlA +InternetCreateUrlW +InternetDial +InternetDialA +InternetDialW +InternetEnumPerSiteCookieDecisionA +InternetEnumPerSiteCookieDecisionW +InternetErrorDlg +InternetFindNextFileA +InternetFindNextFileW +InternetFortezzaCommand +InternetFreeCookies +InternetFreeProxyInfoList +InternetGetCertByURL +InternetGetCertByURLA +InternetGetConnectedState +InternetGetConnectedStateEx +InternetGetConnectedStateExA +InternetGetConnectedStateExW +InternetGetCookieA +InternetGetCookieEx2 +InternetGetCookieExA +InternetGetCookieExW +InternetGetCookieW +InternetGetLastResponseInfoA +InternetGetLastResponseInfoW +InternetGetPerSiteCookieDecisionA +InternetGetPerSiteCookieDecisionW +InternetGetProxyForUrl +InternetGetSecurityInfoByURL +InternetGetSecurityInfoByURLA +InternetGetSecurityInfoByURLW +InternetGoOnline +InternetGoOnlineA +InternetGoOnlineW +InternetHangUp +InternetInitializeAutoProxyDll +InternetLockRequestFile +InternetOpenA +InternetOpenUrlA +InternetOpenUrlW +InternetOpenW +InternetQueryDataAvailable +InternetQueryFortezzaStatus +InternetQueryOptionA +InternetQueryOptionW +InternetReadFile +InternetReadFileExA +InternetReadFileExW +InternetSecurityProtocolToStringA +InternetSecurityProtocolToStringW +InternetSetCookieA +InternetSetCookieEx2 +InternetSetCookieExA +InternetSetCookieExW +InternetSetCookieW +InternetSetDialState +InternetSetDialStateA +InternetSetDialStateW +InternetSetFilePointer +InternetSetOptionA +InternetSetOptionExA +InternetSetOptionExW +InternetSetOptionW +InternetSetPerSiteCookieDecisionA +InternetSetPerSiteCookieDecisionW +InternetSetStatusCallback +InternetSetStatusCallbackA +InternetSetStatusCallbackW +InternetShowSecurityInfoByURL +InternetShowSecurityInfoByURLA +InternetShowSecurityInfoByURLW +InternetTimeFromSystemTime +InternetTimeFromSystemTimeA +InternetTimeFromSystemTimeW +InternetTimeToSystemTime +InternetTimeToSystemTimeA +InternetTimeToSystemTimeW +InternetUnlockRequestFile +InternetWriteFile +InternetWriteFileExA +InternetWriteFileExW +IsHostInProxyBypassList +IsUrlCacheEntryExpiredA +IsUrlCacheEntryExpiredW +LoadUrlCacheContent +ParseX509EncodedCertificateForListBoxEntry +PrivacyGetZonePreferenceW +PrivacySetZonePreferenceW +ReadUrlCacheEntryStream +ReadUrlCacheEntryStreamEx +RegisterUrlCacheNotification +ResumeSuspendedDownload +RetrieveUrlCacheEntryFileA +RetrieveUrlCacheEntryFileW +RetrieveUrlCacheEntryStreamA +RetrieveUrlCacheEntryStreamW +RunOnceUrlCache +SetUrlCacheConfigInfoA +SetUrlCacheConfigInfoW +SetUrlCacheEntryGroup +SetUrlCacheEntryGroupA +SetUrlCacheEntryGroupW +SetUrlCacheEntryInfoA +SetUrlCacheEntryInfoW +SetUrlCacheGroupAttributeA +SetUrlCacheGroupAttributeW +SetUrlCacheHeaderData +ShowCertificate +ShowClientAuthCerts +ShowSecurityInfo +ShowX509EncodedCertificate +UnlockUrlCacheEntryFile +UnlockUrlCacheEntryFileA +UnlockUrlCacheEntryFileW +UnlockUrlCacheEntryStream +UpdateUrlCacheContentPath +UrlCacheCheckEntriesExist +UrlCacheCloseEntryHandle +UrlCacheContainerSetEntryMaximumAge +UrlCacheCreateContainer +UrlCacheFindFirstEntry +UrlCacheFindNextEntry +UrlCacheFreeEntryInfo +UrlCacheFreeGlobalSpace +UrlCacheGetContentPaths +UrlCacheGetEntryInfo +UrlCacheGetGlobalCacheSize +UrlCacheGetGlobalLimit +UrlCacheReadEntryStream +UrlCacheReloadSettings +UrlCacheRetrieveEntryFile +UrlCacheRetrieveEntryStream +UrlCacheServer +UrlCacheSetGlobalLimit +UrlCacheUpdateEntryExtraData +UrlZonesDetach +_GetFileExtensionFromUrl diff --git a/lib/libc/mingw/lib-common/winusb.def b/lib/libc/mingw/lib-common/winusb.def new file mode 100644 index 0000000000..71579b25df --- /dev/null +++ b/lib/libc/mingw/lib-common/winusb.def @@ -0,0 +1,41 @@ +; +; Definition file of WINUSB.DLL +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "WINUSB.DLL" +EXPORTS +WinUsb_AbortPipe +WinUsb_AbortPipeAsync +WinUsb_ControlTransfer +WinUsb_FlushPipe +WinUsb_Free +WinUsb_GetAdjustedFrameNumber +WinUsb_GetAssociatedInterface +WinUsb_GetCurrentAlternateSetting +WinUsb_GetCurrentFrameNumber +WinUsb_GetDescriptor +WinUsb_GetOverlappedResult +WinUsb_GetPipePolicy +WinUsb_GetPowerPolicy +WinUsb_Initialize +WinUsb_ParseConfigurationDescriptor +WinUsb_ParseDescriptors +WinUsb_QueryDeviceInformation +WinUsb_QueryInterfaceSettings +WinUsb_QueryPipe +WinUsb_QueryPipeEx +WinUsb_ReadIsochPipe +WinUsb_ReadIsochPipeAsap +WinUsb_ReadPipe +WinUsb_RegisterIsochBuffer +WinUsb_ResetPipe +WinUsb_ResetPipeAsync +WinUsb_SetCurrentAlternateSetting +WinUsb_SetCurrentAlternateSettingAsync +WinUsb_SetPipePolicy +WinUsb_SetPowerPolicy +WinUsb_UnregisterIsochBuffer +WinUsb_WriteIsochPipe +WinUsb_WriteIsochPipeAsap +WinUsb_WritePipe diff --git a/lib/libc/mingw/lib-common/wkscli.def b/lib/libc/mingw/lib-common/wkscli.def new file mode 100644 index 0000000000..9aac7f2802 --- /dev/null +++ b/lib/libc/mingw/lib-common/wkscli.def @@ -0,0 +1,30 @@ +; +; Definition file of wkscli.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "wkscli.dll" +EXPORTS +NetAddAlternateComputerName +NetEnumerateComputerNames +NetGetJoinInformation +NetGetJoinableOUs +NetJoinDomain +NetRemoveAlternateComputerName +NetRenameMachineInDomain +NetSetPrimaryComputerName +NetUnjoinDomain +NetUseAdd +NetUseDel +NetUseEnum +NetUseGetInfo +NetValidateName +NetWkstaGetInfo +NetWkstaSetInfo +NetWkstaStatisticsGet +NetWkstaTransportAdd +NetWkstaTransportDel +NetWkstaTransportEnum +NetWkstaUserEnum +NetWkstaUserGetInfo +NetWkstaUserSetInfo diff --git a/lib/libc/mingw/lib-common/wlanapi.def b/lib/libc/mingw/lib-common/wlanapi.def new file mode 100644 index 0000000000..2cc27852aa --- /dev/null +++ b/lib/libc/mingw/lib-common/wlanapi.def @@ -0,0 +1,178 @@ +; +; Definition file of wlanapi.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "wlanapi.dll" +EXPORTS +WFDGetSessionEndpointPairsInt +QueryNetconStatus +QueryNetconVirtualCharacteristic +WFDAcceptConnectRequestAndOpenSessionInt +WFDAcceptGroupRequestAndOpenSessionInt +WFDCancelConnectorPairWithOOB +WFDCancelListenerPairWithOOB +WFDCancelOpenSession +WFDCancelOpenSessionInt +WFDCloseHandle +WFDCloseHandleInt +WFDCloseLegacySessionInt +WFDCloseOOBPairingSession +WFDCloseSession +WFDCloseSessionInt +WFDConfigureFirewallForSessionInt +WFDDeclineConnectRequestInt +WFDDeclineGroupRequestInt +WFDDiscoverDevicesInt +WFDFlushVisibleDeviceListInt +WFDForceDisconnectInt +WFDForceDisconnectLegacyPeerInt +WFDFreeMemoryInt +WFDGetDefaultGroupProfileInt +WFDGetOOBBlob +WFDGetProfileKeyInfoInt +WFDGetVisibleDevicesInt +WFDIsInterfaceWiFiDirect +WFDIsWiFiDirectRunningOnWiFiAdapter +WFDLowPrivCancelOpenSessionInt +WFDLowPrivCloseHandleInt +WFDLowPrivCloseSessionInt +WFDLowPrivConfigureFirewallForSessionInt +WFDLowPrivGetSessionEndpointPairsInt +WFDLowPrivIsWfdSupportedInt +WFDLowPrivOpenHandleInt +WFDLowPrivRegisterNotificationInt +WFDLowPrivStartOpenSessionByInterfaceIdInt +WFDOpenHandle +WFDOpenHandleInt +WFDOpenLegacySession +WFDOpenLegacySessionInt +WFDPairCancelByDeviceAddressInt +WFDPairCancelInt +WFDPairEnumerateCeremoniesInt +WFDPairSelectCeremonyInt +WFDPairWithDeviceAndOpenSessionExInt +WFDPairWithDeviceAndOpenSessionInt +WFDParseOOBBlob +WFDParseProfileXmlInt +WFDQueryPropertyInt +WFDRegisterNotificationInt +WFDSetAdditionalIEsInt +WFDSetPropertyInt +WFDSetSecondaryDeviceTypeListInt +WFDStartConnectorPairWithOOB +WFDStartListenerPairWithOOB +WFDStartOpenSession +WFDStartOpenSessionInt +WFDStartUsingGroupInt +WFDStopDiscoverDevicesInt +WFDStopUsingGroupInt +WFDUpdateDeviceVisibility +WlanAllocateMemory +WlanCancelPlap +WlanCloseHandle +WlanConnect +WlanConnectEx +WlanConnectWithInput +WlanDeinitPlapParams +WlanDeleteProfile +WlanDisconnect +WlanDoPlap +WlanDoesBssMatchSecurity +WlanEnumAllInterfaces +WlanEnumInterfaces +WlanExtractPsdIEDataList +WlanFreeMemory +WlanGenerateProfileXmlBasicSettings +WlanGetAvailableNetworkList +WlanGetFilterList +WlanGetInterfaceCapability +WlanGetMFPNegotiated +WlanGetNetworkBssList +WlanGetProfile +WlanGetProfileCustomUserData +WlanGetProfileEapUserDataInfo +WlanGetProfileIndex +WlanGetProfileKeyInfo +WlanGetProfileList +WlanGetProfileMetadata +WlanGetProfileSsidList +WlanGetRadioInformation +WlanGetSecuritySettings +WlanGetStoredRadioState +WlanHostedNetworkForceStart +WlanHostedNetworkForceStop +WlanHostedNetworkFreeWCNSettings +WlanHostedNetworkHlpQueryEverUsed +WlanHostedNetworkInitSettings +WlanHostedNetworkQueryProperty +WlanHostedNetworkQuerySecondaryKey +WlanHostedNetworkQueryStatus +WlanHostedNetworkQueryWCNSettings +WlanHostedNetworkRefreshSecuritySettings +WlanHostedNetworkSetProperty +WlanHostedNetworkSetSecondaryKey +WlanHostedNetworkSetWCNSettings +WlanHostedNetworkStartUsing +WlanHostedNetworkStopUsing +WlanIhvControl +WlanInitPlapParams +WlanInternalScan +WlanIsActiveConsoleUser +WlanIsNetworkSuppressed +WlanIsUIRequestPending +WlanLowPrivCloseHandle +WlanLowPrivEnumInterfaces +WlanLowPrivFreeMemory +WlanLowPrivOpenHandle +WlanLowPrivQueryInterface +WlanLowPrivSetInterface +WlanNotifyVsIeProviderInt +WlanOpenHandle +WlanParseProfileXmlBasicSettings +WlanPrivateGetAvailableNetworkList +WlanQueryAutoConfigParameter +WlanQueryCreateAllUserProfileRestricted +WlanQueryInterface +WlanQueryPlapCredentials +WlanQueryPreConnectInput +WlanQueryVirtualInterfaceType +WlanReasonCodeToString +WlanRefreshConnections +WlanRegisterNotification +WlanRegisterVirtualStationNotification +WlanRemoveUIForwardingNetworkList +WlanRenameProfile +WlanSaveTemporaryProfile +WlanScan +WlanSendUIResponse +WlanSetAllUserProfileRestricted +WlanSetAutoConfigParameter +WlanSetFilterList +WlanSetInterface +WlanSetProfile +WlanSetProfileCustomUserData +WlanSetProfileEapUserData +WlanSetProfileEapXmlUserData +WlanSetProfileList +WlanSetProfileMetadata +WlanSetProfilePosition +WlanSetPsdIEDataList +WlanSetSecuritySettings +WlanSetUIForwardingNetworkList +WlanSignalValueToBar +WlanSsidToDisplayName +WlanStartAP +WlanStopAP +WlanStoreRadioStateOnEnteringAirPlaneMode +WlanStringToSsid +WlanTryUpgradeCurrentConnectionAuthCipher +WlanUpdateProfileWithAuthCipher +WlanUtf8SsidToDisplayName +WlanWcmGetInterface +WlanWcmGetProfileList +WlanWcmSetInterface +WlanWfdGOSetWCNSettings +WlanWfdGetPeerInfo +WlanWfdStartGO +WlanWfdStopGO diff --git a/lib/libc/mingw/lib-common/wscapi.def b/lib/libc/mingw/lib-common/wscapi.def new file mode 100644 index 0000000000..a41bf816a2 --- /dev/null +++ b/lib/libc/mingw/lib-common/wscapi.def @@ -0,0 +1,38 @@ +; +; Definition file of WSCAPI.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "WSCAPI.dll" +EXPORTS +wscShowAMSCN +CLSID_WSCProductList +IID_IWSCProductList +IID_IWscProduct +LIBID_wscAPILib +WscGetAntiMalwareUri +WscGetSecurityProviderHealth +WscQueryAntiMalwareUri +WscRegisterForChanges +WscRegisterForUserNotifications +WscUnRegisterChanges +wscAntiSpywareGetStatus +wscAntiVirusExpiredBeyondThreshold +wscAntiVirusGetStatus +wscAutoUpdatesEnableScheduledMode +wscAutoUpdatesGetStatus +wscFirewallGetStatus +wscGeneralSecurityGetStatus +wscGetAlertStatus +wscIcfEnable +wscIeSettingsFix +wscIsDefenderAntivirusSupported +wscLuaSettingsFix +wscOverrideComponentStatus +wscPing +wscProductInfoFree +wscRegisterChangeNotification +wscRegisterSecurityProduct +wscUnRegisterChangeNotification +wscUnregisterSecurityProduct +wscUpdateProductStatus diff --git a/lib/libc/mingw/lib-common/wtsapi32.def b/lib/libc/mingw/lib-common/wtsapi32.def new file mode 100644 index 0000000000..ac1afac782 --- /dev/null +++ b/lib/libc/mingw/lib-common/wtsapi32.def @@ -0,0 +1,75 @@ +; +; Definition file of WTSAPI32.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "WTSAPI32.dll" +EXPORTS +QueryActiveSession +QueryUserToken +RegisterUsertokenForNoWinlogon +WTSCloseServer +WTSConnectSessionA +WTSConnectSessionW +WTSCreateListenerA +WTSCreateListenerW +WTSDisconnectSession +WTSEnableChildSessions +WTSEnumerateListenersA +WTSEnumerateListenersW +WTSEnumerateProcessesA +WTSEnumerateProcessesExA +WTSEnumerateProcessesExW +WTSEnumerateProcessesW +WTSEnumerateServersA +WTSEnumerateServersW +WTSEnumerateSessionsA +WTSEnumerateSessionsExA +WTSEnumerateSessionsExW +WTSEnumerateSessionsW +WTSFreeMemory +WTSFreeMemoryExA +WTSFreeMemoryExW +WTSGetChildSessionId +WTSGetListenerSecurityA +WTSGetListenerSecurityW +WTSIsChildSessionsEnabled +WTSLogoffSession +WTSOpenServerA +WTSOpenServerExA +WTSOpenServerExW +WTSOpenServerW +WTSQueryListenerConfigA +WTSQueryListenerConfigW +WTSQuerySessionInformationA +WTSQuerySessionInformationW +WTSQueryUserConfigA +WTSQueryUserConfigW +WTSQueryUserToken +WTSRegisterSessionNotification +WTSRegisterSessionNotificationEx +WTSSendMessageA +WTSSendMessageW +WTSSetListenerSecurityA +WTSSetListenerSecurityW +WTSSetRenderHint +WTSSetSessionInformationA +WTSSetSessionInformationW +WTSSetUserConfigA +WTSSetUserConfigW +WTSShutdownSystem +WTSStartRemoteControlSessionA +WTSStartRemoteControlSessionW +WTSStopRemoteControlSession +WTSTerminateProcess +WTSUnRegisterSessionNotification +WTSUnRegisterSessionNotificationEx +WTSVirtualChannelClose +WTSVirtualChannelOpen +WTSVirtualChannelOpenEx +WTSVirtualChannelPurgeInput +WTSVirtualChannelPurgeOutput +WTSVirtualChannelQuery +WTSVirtualChannelRead +WTSVirtualChannelWrite +WTSWaitSystemEvent diff --git a/lib/libc/mingw/lib32/aclui.def b/lib/libc/mingw/lib32/aclui.def new file mode 100644 index 0000000000..834d5fd14c --- /dev/null +++ b/lib/libc/mingw/lib32/aclui.def @@ -0,0 +1,7 @@ +LIBRARY ACLUI.dll + +EXPORTS +CreateSecurityPage@4 +EditSecurity@8 +IID_ISecurityInformation DATA + diff --git a/lib/libc/mingw/lib32/activeds.def b/lib/libc/mingw/lib32/activeds.def new file mode 100644 index 0000000000..be895630e4 --- /dev/null +++ b/lib/libc/mingw/lib32/activeds.def @@ -0,0 +1,36 @@ +; +; Definition file of ACTIVEDS.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "ACTIVEDS.dll" +EXPORTS +ADsGetObject@12 +ADsBuildEnumerator@8 +ADsFreeEnumerator@4 +ADsEnumerateNext@16 +ADsBuildVarArrayStr@12 +ADsBuildVarArrayInt@12 +ADsOpenObject@24 +DllCanUnloadNow@0 +DllGetClassObject@12 +ADsSetLastError@12 +ADsGetLastError@20 +AllocADsMem@4 +FreeADsMem@4 +ReallocADsMem@12 +AllocADsStr@4 +FreeADsStr@4 +ReallocADsStr@8 +ADsEncodeBinaryData@12 +PropVariantToAdsType@16 +AdsTypeToPropVariant@12 +AdsFreeAdsValues@8 +ADsDecodeBinaryData@12 +AdsTypeToPropVariant2@28 +PropVariantToAdsType2@32 +ConvertSecDescriptorToVariant@24 +ConvertSecurityDescriptorToSecDes@28 +BinarySDToSecurityDescriptor@24 +SecurityDescriptorToBinarySD@40 +ConvertTrusteeToSid@28 diff --git a/lib/libc/mingw/lib32/api-ms-win-appmodel-runtime-l1-1-1.def b/lib/libc/mingw/lib32/api-ms-win-appmodel-runtime-l1-1-1.def new file mode 100644 index 0000000000..8e3959cff0 --- /dev/null +++ b/lib/libc/mingw/lib32/api-ms-win-appmodel-runtime-l1-1-1.def @@ -0,0 +1,19 @@ +LIBRARY api-ms-win-appmodel-runtime-l1-1-1 + +EXPORTS + +FormatApplicationUserModelId@16 +GetCurrentApplicationUserModelId@8 +GetCurrentPackageFamilyName@8 +GetCurrentPackageId@8 +PackageFamilyNameFromFullName@12 +PackageFamilyNameFromId@12 +PackageFullNameFromId@12 +PackageIdFromFullName@16 +PackageNameAndPublisherIdFromFamilyName@20 +ParseApplicationUserModelId@20 +VerifyApplicationUserModelId@ +VerifyPackageFamilyName@ +VerifyPackageFullName@ +VerifyPackageId@ +VerifyPackageRelativeApplicationId@ diff --git a/lib/libc/mingw/lib32/api-ms-win-core-comm-l1-1-1.def b/lib/libc/mingw/lib32/api-ms-win-core-comm-l1-1-1.def new file mode 100644 index 0000000000..66b7c52fd4 --- /dev/null +++ b/lib/libc/mingw/lib32/api-ms-win-core-comm-l1-1-1.def @@ -0,0 +1,23 @@ +LIBRARY api-ms-win-core-comm-l1-1-1 + +EXPORTS + +ClearCommBreak@4 +ClearCommError@12 +EscapeCommFunction@8 +GetCommConfig@12 +GetCommMask@8 +GetCommModemStatus@8 +GetCommProperties@8 +GetCommState@8 +GetCommTimeouts@8 +OpenCommPort@ +PurgeComm@8 +SetCommBreak@4 +SetCommConfig@12 +SetCommMask@8 +SetCommState@8 +SetCommTimeouts@8 +SetupComm@12 +TransmitCommChar@8 +WaitCommEvent@12 diff --git a/lib/libc/mingw/lib32/api-ms-win-core-comm-l1-1-2.def b/lib/libc/mingw/lib32/api-ms-win-core-comm-l1-1-2.def new file mode 100644 index 0000000000..2ef835d9b1 --- /dev/null +++ b/lib/libc/mingw/lib32/api-ms-win-core-comm-l1-1-2.def @@ -0,0 +1,24 @@ +LIBRARY api-ms-win-core-comm-l1-1-2 + +EXPORTS + +ClearCommBreak@4 +ClearCommError@12 +EscapeCommFunction@8 +GetCommConfig@12 +GetCommMask@8 +GetCommModemStatus@8 +GetCommPorts@ +GetCommProperties@8 +GetCommState@8 +GetCommTimeouts@8 +OpenCommPort@ +PurgeComm@8 +SetCommBreak@4 +SetCommConfig@12 +SetCommMask@8 +SetCommState@8 +SetCommTimeouts@8 +SetupComm@12 +TransmitCommChar@8 +WaitCommEvent@12 diff --git a/lib/libc/mingw/lib32/api-ms-win-core-errorhandling-l1-1-3.def b/lib/libc/mingw/lib32/api-ms-win-core-errorhandling-l1-1-3.def new file mode 100644 index 0000000000..de1fc9ad78 --- /dev/null +++ b/lib/libc/mingw/lib32/api-ms-win-core-errorhandling-l1-1-3.def @@ -0,0 +1,17 @@ +LIBRARY api-ms-win-core-errorhandling-l1-1-3 + +EXPORTS + +AddVectoredExceptionHandler@8 +FatalAppExitA@8 +FatalAppExitW@8 +GetLastError@0 +GetThreadErrorMode@0 +RaiseException@16 +RaiseFailFastException@12 +RemoveVectoredExceptionHandler@4 +SetErrorMode@4 +SetLastError@4 +SetThreadErrorMode@8 +SetUnhandledExceptionFilter@4 +UnhandledExceptionFilter@4 diff --git a/lib/libc/mingw/lib32/api-ms-win-core-featurestaging-l1-1-0.def b/lib/libc/mingw/lib32/api-ms-win-core-featurestaging-l1-1-0.def new file mode 100644 index 0000000000..5cede3d02a --- /dev/null +++ b/lib/libc/mingw/lib32/api-ms-win-core-featurestaging-l1-1-0.def @@ -0,0 +1,9 @@ +LIBRARY api-ms-win-core-featurestaging-l1-1-0 + +EXPORTS + +GetFeatureEnabledState@8 +RecordFeatureError@8 +RecordFeatureUsage@16 +SubscribeFeatureStateChangeNotification@12 +UnsubscribeFeatureStateChangeNotification@4 diff --git a/lib/libc/mingw/lib32/api-ms-win-core-featurestaging-l1-1-1.def b/lib/libc/mingw/lib32/api-ms-win-core-featurestaging-l1-1-1.def new file mode 100644 index 0000000000..d02a8623a0 --- /dev/null +++ b/lib/libc/mingw/lib32/api-ms-win-core-featurestaging-l1-1-1.def @@ -0,0 +1,10 @@ +LIBRARY api-ms-win-core-featurestaging-l1-1-1 + +EXPORTS + +GetFeatureEnabledState@8 +GetFeatureVariant@16 +RecordFeatureError@8 +RecordFeatureUsage@16 +SubscribeFeatureStateChangeNotification@12 +UnsubscribeFeatureStateChangeNotification@4 diff --git a/lib/libc/mingw/lib32/api-ms-win-core-file-fromapp-l1-1-0.def b/lib/libc/mingw/lib32/api-ms-win-core-file-fromapp-l1-1-0.def new file mode 100644 index 0000000000..20a4dbfcc0 --- /dev/null +++ b/lib/libc/mingw/lib32/api-ms-win-core-file-fromapp-l1-1-0.def @@ -0,0 +1,15 @@ +LIBRARY api-ms-win-core-file-fromapp-l1-1-0 + +EXPORTS + +CopyFileFromAppW@ +CreateDirectoryFromAppW@ +CreateFile2FromAppW@ +CreateFileFromAppW@ +DeleteFileFromAppW@ +FindFirstFileExFromAppW@ +GetFileAttributesExFromAppW@ +MoveFileFromAppW@ +RemoveDirectoryFromAppW@ +ReplaceFileFromAppW@ +SetFileAttributesFromAppW@ diff --git a/lib/libc/mingw/lib32/api-ms-win-core-handle-l1-1-0.def b/lib/libc/mingw/lib32/api-ms-win-core-handle-l1-1-0.def new file mode 100644 index 0000000000..7d71381a51 --- /dev/null +++ b/lib/libc/mingw/lib32/api-ms-win-core-handle-l1-1-0.def @@ -0,0 +1,9 @@ +LIBRARY api-ms-win-core-handle-l1-1-0 + +EXPORTS + +CloseHandle@4 +CompareObjectHandles@8 +DuplicateHandle@28 +GetHandleInformation@8 +SetHandleInformation@12 diff --git a/lib/libc/mingw/lib32/api-ms-win-core-libraryloader-l2-1-0.def b/lib/libc/mingw/lib32/api-ms-win-core-libraryloader-l2-1-0.def new file mode 100644 index 0000000000..92382c0fb3 --- /dev/null +++ b/lib/libc/mingw/lib32/api-ms-win-core-libraryloader-l2-1-0.def @@ -0,0 +1,6 @@ +LIBRARY api-ms-win-core-libraryloader-l2-1-0 + +EXPORTS + +LoadPackagedLibrary@8 +QueryOptionalDelayLoadedAPI@16 diff --git a/lib/libc/mingw/lib32/api-ms-win-core-memory-l1-1-3.def b/lib/libc/mingw/lib32/api-ms-win-core-memory-l1-1-3.def new file mode 100644 index 0000000000..65ee28b4d6 --- /dev/null +++ b/lib/libc/mingw/lib32/api-ms-win-core-memory-l1-1-3.def @@ -0,0 +1,35 @@ +LIBRARY api-ms-win-core-memory-l1-1-3 + +EXPORTS + +CreateFileMappingFromApp@24 +CreateFileMappingW@24 +DiscardVirtualMemory@8 +FlushViewOfFile@8 +GetLargePageMinimum@0 +GetProcessWorkingSetSizeEx@16 +GetWriteWatch@24 +MapViewOfFile@20 +MapViewOfFileEx@24 +MapViewOfFileFromApp@20 +OfferVirtualMemory@12 +OpenFileMappingFromApp@12 +OpenFileMappingW@12 +ReadProcessMemory@20 +ReclaimVirtualMemory@8 +ResetWriteWatch@8 +SetProcessValidCallTargets +SetProcessWorkingSetSizeEx@16 +UnmapViewOfFile@4 +UnmapViewOfFileEx@8 +VirtualAlloc@16 +VirtualAllocFromApp@16 +VirtualFree@12 +VirtualFreeEx@16 +VirtualLock@8 +VirtualProtect@16 +VirtualProtectFromApp@16 +VirtualQuery@12 +VirtualQueryEx@16 +VirtualUnlock@8 +WriteProcessMemory@20 diff --git a/lib/libc/mingw/lib32/api-ms-win-core-memory-l1-1-4.def b/lib/libc/mingw/lib32/api-ms-win-core-memory-l1-1-4.def new file mode 100644 index 0000000000..ee097f448a --- /dev/null +++ b/lib/libc/mingw/lib32/api-ms-win-core-memory-l1-1-4.def @@ -0,0 +1,35 @@ +LIBRARY api-ms-win-core-memory-l1-1-4 + +EXPORTS + +CreateFileMappingFromApp@24 +CreateFileMappingW@24 +DiscardVirtualMemory@8 +FlushViewOfFile@8 +GetLargePageMinimum@0 +GetProcessWorkingSetSizeEx@16 +GetWriteWatch@24 +MapViewOfFile@20 +MapViewOfFileEx@24 +MapViewOfFileFromApp@20 +OfferVirtualMemory@12 +OpenFileMappingFromApp@12 +OpenFileMappingW@12 +ReadProcessMemory@20 +ReclaimVirtualMemory@8 +ResetWriteWatch@8 +SetProcessValidCallTargets +SetProcessWorkingSetSizeEx@16 +UnmapViewOfFile@4 +UnmapViewOfFileEx@8 +VirtualAlloc@16 +VirtualAllocFromApp@16 +VirtualFree@12 +VirtualFreeEx@16 +VirtualLock@8 +VirtualProtect@16 +VirtualProtectFromApp@16 +VirtualQuery@12 +VirtualQueryEx@16 +VirtualUnlock@8 +WriteProcessMemory@20 diff --git a/lib/libc/mingw/lib32/api-ms-win-core-memory-l1-1-5.def b/lib/libc/mingw/lib32/api-ms-win-core-memory-l1-1-5.def new file mode 100644 index 0000000000..2be4ec5349 --- /dev/null +++ b/lib/libc/mingw/lib32/api-ms-win-core-memory-l1-1-5.def @@ -0,0 +1,37 @@ +LIBRARY api-ms-win-core-memory-l1-1-5 + +EXPORTS + +CreateFileMappingFromApp@24 +CreateFileMappingW@24 +DiscardVirtualMemory@8 +FlushViewOfFile@8 +GetLargePageMinimum@0 +GetProcessWorkingSetSizeEx@16 +GetWriteWatch@24 +MapViewOfFile@20 +MapViewOfFileEx@24 +MapViewOfFileFromApp@20 +OfferVirtualMemory@12 +OpenFileMappingFromApp@12 +OpenFileMappingW@12 +ReadProcessMemory@20 +ReclaimVirtualMemory@8 +ResetWriteWatch@8 +SetProcessValidCallTargets +SetProcessWorkingSetSizeEx@16 +UnmapViewOfFile@4 +UnmapViewOfFile2@ +UnmapViewOfFileEx@8 +VirtualAlloc@16 +VirtualAllocFromApp@16 +VirtualFree@12 +VirtualFreeEx@16 +VirtualLock@8 +VirtualProtect@16 +VirtualProtectFromApp@16 +VirtualQuery@12 +VirtualQueryEx@16 +VirtualUnlock@8 +VirtualUnlockEx@ +WriteProcessMemory@20 diff --git a/lib/libc/mingw/lib32/api-ms-win-core-memory-l1-1-6.def b/lib/libc/mingw/lib32/api-ms-win-core-memory-l1-1-6.def new file mode 100644 index 0000000000..f4e2d125d1 --- /dev/null +++ b/lib/libc/mingw/lib32/api-ms-win-core-memory-l1-1-6.def @@ -0,0 +1,39 @@ +LIBRARY api-ms-win-core-memory-l1-1-6 + +EXPORTS + +CreateFileMappingFromApp@24 +CreateFileMappingW@24 +DiscardVirtualMemory@8 +FlushViewOfFile@8 +GetLargePageMinimum@0 +GetProcessWorkingSetSizeEx@16 +GetWriteWatch@24 +MapViewOfFile@20 +MapViewOfFile3FromApp@ +MapViewOfFileEx@24 +MapViewOfFileFromApp@20 +OfferVirtualMemory@12 +OpenFileMappingFromApp@12 +OpenFileMappingW@12 +ReadProcessMemory@20 +ReclaimVirtualMemory@8 +ResetWriteWatch@8 +SetProcessValidCallTargets +SetProcessWorkingSetSizeEx@16 +UnmapViewOfFile@4 +UnmapViewOfFile2@ +UnmapViewOfFileEx@8 +VirtualAlloc@16 +VirtualAlloc2FromApp@ +VirtualAllocFromApp@16 +VirtualFree@12 +VirtualFreeEx@16 +VirtualLock@8 +VirtualProtect@16 +VirtualProtectFromApp@16 +VirtualQuery@12 +VirtualQueryEx@16 +VirtualUnlock@8 +VirtualUnlockEx@ +WriteProcessMemory@20 diff --git a/lib/libc/mingw/lib32/api-ms-win-core-memory-l1-1-7.def b/lib/libc/mingw/lib32/api-ms-win-core-memory-l1-1-7.def new file mode 100644 index 0000000000..1664ce16d3 --- /dev/null +++ b/lib/libc/mingw/lib32/api-ms-win-core-memory-l1-1-7.def @@ -0,0 +1,40 @@ +LIBRARY api-ms-win-core-memory-l1-1-7 + +EXPORTS + +CreateFileMappingFromApp@24 +CreateFileMappingW@24 +DiscardVirtualMemory@8 +FlushViewOfFile@8 +GetLargePageMinimum@0 +GetProcessWorkingSetSizeEx@16 +GetWriteWatch@24 +MapViewOfFile@20 +MapViewOfFile3FromApp@ +MapViewOfFileEx@24 +MapViewOfFileFromApp@20 +OfferVirtualMemory@12 +OpenFileMappingFromApp@12 +OpenFileMappingW@12 +ReadProcessMemory@20 +ReclaimVirtualMemory@8 +ResetWriteWatch@8 +SetProcessValidCallTargets +SetProcessValidCallTargetsForMappedView@ +SetProcessWorkingSetSizeEx@16 +UnmapViewOfFile@4 +UnmapViewOfFile2@ +UnmapViewOfFileEx@8 +VirtualAlloc@16 +VirtualAlloc2FromApp@ +VirtualAllocFromApp@16 +VirtualFree@12 +VirtualFreeEx@16 +VirtualLock@8 +VirtualProtect@16 +VirtualProtectFromApp@16 +VirtualQuery@12 +VirtualQueryEx@16 +VirtualUnlock@8 +VirtualUnlockEx@ +WriteProcessMemory@20 diff --git a/lib/libc/mingw/lib32/api-ms-win-core-path-l1-1-0.def b/lib/libc/mingw/lib32/api-ms-win-core-path-l1-1-0.def new file mode 100644 index 0000000000..61b2465ff0 --- /dev/null +++ b/lib/libc/mingw/lib32/api-ms-win-core-path-l1-1-0.def @@ -0,0 +1,26 @@ +LIBRARY api-ms-win-core-path-l1-1-0 + +EXPORTS + +PathAllocCanonicalize@ +PathAllocCombine@ +PathCchAddBackslash@ +PathCchAddBackslashEx@ +PathCchAddExtension@ +PathCchAppend@ +PathCchAppendEx@ +PathCchCanonicalize@ +PathCchCanonicalizeEx@ +PathCchCombine@ +PathCchCombineEx@ +PathCchFindExtension@ +PathCchIsRoot@ +PathCchRemoveBackslash@ +PathCchRemoveBackslashEx@ +PathCchRemoveExtension@ +PathCchRemoveFileSpec@ +PathCchRenameExtension@ +PathCchSkipRoot@ +PathCchStripPrefix@ +PathCchStripToRoot@ +PathIsUNCEx@ diff --git a/lib/libc/mingw/lib32/api-ms-win-core-psm-appnotify-l1-1-0.def b/lib/libc/mingw/lib32/api-ms-win-core-psm-appnotify-l1-1-0.def new file mode 100644 index 0000000000..0e7222a581 --- /dev/null +++ b/lib/libc/mingw/lib32/api-ms-win-core-psm-appnotify-l1-1-0.def @@ -0,0 +1,6 @@ +LIBRARY api-ms-win-core-psm-appnotify-l1-1-0 + +EXPORTS + +RegisterAppStateChangeNotification@ +UnregisterAppStateChangeNotification@ diff --git a/lib/libc/mingw/lib32/api-ms-win-core-realtime-l1-1-1.def b/lib/libc/mingw/lib32/api-ms-win-core-realtime-l1-1-1.def new file mode 100644 index 0000000000..3088ac9d8d --- /dev/null +++ b/lib/libc/mingw/lib32/api-ms-win-core-realtime-l1-1-1.def @@ -0,0 +1,9 @@ +LIBRARY api-ms-win-core-realtime-l1-1-1 + +EXPORTS + +QueryInterruptTime@4 +QueryInterruptTimePrecise@4 +QueryThreadCycleTime@8 +QueryUnbiasedInterruptTime@4 +QueryUnbiasedInterruptTimePrecise@4 diff --git a/lib/libc/mingw/lib32/api-ms-win-core-realtime-l1-1-2.def b/lib/libc/mingw/lib32/api-ms-win-core-realtime-l1-1-2.def new file mode 100644 index 0000000000..0e0c3a6fae --- /dev/null +++ b/lib/libc/mingw/lib32/api-ms-win-core-realtime-l1-1-2.def @@ -0,0 +1,12 @@ +LIBRARY api-ms-win-core-realtime-l1-1-2 + +EXPORTS + +ConvertAuxiliaryCounterToPerformanceCounter@ +ConvertPerformanceCounterToAuxiliaryCounter@ +QueryAuxiliaryCounterFrequency@ +QueryInterruptTime@4 +QueryInterruptTimePrecise@4 +QueryThreadCycleTime@8 +QueryUnbiasedInterruptTime@4 +QueryUnbiasedInterruptTimePrecise@4 diff --git a/lib/libc/mingw/lib32/api-ms-win-core-slapi-l1-1-0.def b/lib/libc/mingw/lib32/api-ms-win-core-slapi-l1-1-0.def new file mode 100644 index 0000000000..0d46898305 --- /dev/null +++ b/lib/libc/mingw/lib32/api-ms-win-core-slapi-l1-1-0.def @@ -0,0 +1,6 @@ +LIBRARY api-ms-win-core-slapi-l1-1-0 + +EXPORTS + +SLQueryLicenseValueFromApp@20 +SLQueryLicenseValueFromApp2@4 diff --git a/lib/libc/mingw/lib32/api-ms-win-core-synch-l1-2-0.def b/lib/libc/mingw/lib32/api-ms-win-core-synch-l1-2-0.def new file mode 100644 index 0000000000..f7e4275dc7 --- /dev/null +++ b/lib/libc/mingw/lib32/api-ms-win-core-synch-l1-2-0.def @@ -0,0 +1,59 @@ +LIBRARY api-ms-win-core-synch-l1-2-0 + +EXPORTS + +AcquireSRWLockExclusive@4 +AcquireSRWLockShared@4 +CancelWaitableTimer@4 +CreateEventA@16 +CreateEventExA@16 +CreateEventExW@16 +CreateEventW@16 +CreateMutexA@12 +CreateMutexExA@16 +CreateMutexExW@16 +CreateMutexW@12 +CreateSemaphoreExW@24 +CreateWaitableTimerExW@16 +DeleteCriticalSection@4 +EnterCriticalSection@4 +InitializeConditionVariable@4 +InitializeCriticalSection@4 +InitializeCriticalSectionAndSpinCount@8 +InitializeCriticalSectionEx@12 +InitializeSRWLock@4 +InitOnceBeginInitialize@16 +InitOnceComplete@12 +InitOnceExecuteOnce@16 +InitOnceInitialize@4 +LeaveCriticalSection@4 +OpenEventA@12 +OpenEventW@12 +OpenMutexW@12 +OpenSemaphoreW@12 +OpenWaitableTimerW@12 +ReleaseMutex@4 +ReleaseSemaphore@12 +ReleaseSRWLockExclusive@4 +ReleaseSRWLockShared@4 +ResetEvent@4 +SetCriticalSectionSpinCount@8 +SetEvent@4 +SetWaitableTimer@24 +SetWaitableTimerEx@28 +SignalObjectAndWait@16 +Sleep@4 +SleepConditionVariableCS@12 +SleepConditionVariableSRW@16 +SleepEx@8 +TryAcquireSRWLockExclusive@4 +TryAcquireSRWLockShared@4 +TryEnterCriticalSection@4 +WaitForMultipleObjectsEx@20 +WaitForSingleObject@8 +WaitForSingleObjectEx@12 +WaitOnAddress@16 +WakeAllConditionVariable@4 +WakeByAddressAll@4 +WakeByAddressSingle@4 +WakeConditionVariable@4 diff --git a/lib/libc/mingw/lib32/api-ms-win-core-sysinfo-l1-2-0.def b/lib/libc/mingw/lib32/api-ms-win-core-sysinfo-l1-2-0.def new file mode 100644 index 0000000000..25e0b0ec93 --- /dev/null +++ b/lib/libc/mingw/lib32/api-ms-win-core-sysinfo-l1-2-0.def @@ -0,0 +1,31 @@ +LIBRARY api-ms-win-core-sysinfo-l1-2-0 + +EXPORTS + +EnumSystemFirmwareTables@12 +GetComputerNameExA@12 +GetComputerNameExW@12 +GetLocalTime@4 +GetLogicalProcessorInformation@8 +GetLogicalProcessorInformationEx@12 +GetNativeSystemInfo@4 +GetProductInfo@20 +GetSystemDirectoryA@8 +GetSystemDirectoryW@8 +GetSystemFirmwareTable@16 +GetSystemInfo@4 +GetSystemTime@4 +GetSystemTimeAdjustment@12 +GetSystemTimeAsFileTime@4 +GetSystemTimePreciseAsFileTime@4 +GetTickCount@0 +GetTickCount64@0 +GetVersion@0 +GetVersionExA@4 +GetVersionExW@4 +GetWindowsDirectoryA@8 +GetWindowsDirectoryW@8 +GlobalMemoryStatusEx@4 +SetLocalTime@4 +SetSystemTime@4 +VerSetConditionMask@16 diff --git a/lib/libc/mingw/lib32/api-ms-win-core-sysinfo-l1-2-3.def b/lib/libc/mingw/lib32/api-ms-win-core-sysinfo-l1-2-3.def new file mode 100644 index 0000000000..fba6ab14f6 --- /dev/null +++ b/lib/libc/mingw/lib32/api-ms-win-core-sysinfo-l1-2-3.def @@ -0,0 +1,33 @@ +LIBRARY api-ms-win-core-sysinfo-l1-2-3 + +EXPORTS + +EnumSystemFirmwareTables@12 +GetComputerNameExA@12 +GetComputerNameExW@12 +GetIntegratedDisplaySize@4 +GetLocalTime@4 +GetLogicalProcessorInformation@8 +GetLogicalProcessorInformationEx@12 +GetNativeSystemInfo@4 +GetPhysicallyInstalledSystemMemory@4 +GetProductInfo@20 +GetSystemDirectoryA@8 +GetSystemDirectoryW@8 +GetSystemFirmwareTable@16 +GetSystemInfo@4 +GetSystemTime@4 +GetSystemTimeAdjustment@12 +GetSystemTimeAsFileTime@4 +GetSystemTimePreciseAsFileTime@4 +GetTickCount@0 +GetTickCount64@0 +GetVersion@0 +GetVersionExA@4 +GetVersionExW@4 +GetWindowsDirectoryA@8 +GetWindowsDirectoryW@8 +GlobalMemoryStatusEx@4 +SetLocalTime@4 +SetSystemTime@4 +VerSetConditionMask@16 diff --git a/lib/libc/mingw/lib32/api-ms-win-core-winrt-error-l1-1-0.def b/lib/libc/mingw/lib32/api-ms-win-core-winrt-error-l1-1-0.def new file mode 100644 index 0000000000..a5a341d225 --- /dev/null +++ b/lib/libc/mingw/lib32/api-ms-win-core-winrt-error-l1-1-0.def @@ -0,0 +1,15 @@ +LIBRARY api-ms-win-core-winrt-error-l1-1-0 + +EXPORTS + +GetRestrictedErrorInfo@4 +RoCaptureErrorContext@4 +RoFailFastWithErrorContext@4 +RoGetErrorReportingFlags@4 +RoOriginateError@8 +RoOriginateErrorW@12 +RoResolveRestrictedErrorInfoReference@8 +RoSetErrorReportingFlags@4 +RoTransformError@12 +RoTransformErrorW@16 +SetRestrictedErrorInfo@4 diff --git a/lib/libc/mingw/lib32/api-ms-win-core-winrt-error-l1-1-1.def b/lib/libc/mingw/lib32/api-ms-win-core-winrt-error-l1-1-1.def new file mode 100644 index 0000000000..3be66b0154 --- /dev/null +++ b/lib/libc/mingw/lib32/api-ms-win-core-winrt-error-l1-1-1.def @@ -0,0 +1,22 @@ +LIBRARY api-ms-win-core-winrt-error-l1-1-1 + +EXPORTS + +GetRestrictedErrorInfo@4 +IsErrorPropagationEnabled@0 +RoCaptureErrorContext@4 +RoClearError@0 +RoFailFastWithErrorContext@4 +RoGetErrorReportingFlags@4 +RoGetMatchingRestrictedErrorInfo@8 +RoInspectCapturedStackBackTrace@24 +RoInspectThreadErrorInfo@20 +RoOriginateError@8 +RoOriginateErrorW@12 +RoOriginateLanguageException@12 +RoReportFailedDelegate@8 +RoReportUnhandledError@4 +RoSetErrorReportingFlags@4 +RoTransformError@12 +RoTransformErrorW@16 +SetRestrictedErrorInfo@4 diff --git a/lib/libc/mingw/lib32/api-ms-win-core-winrt-l1-1-0.def b/lib/libc/mingw/lib32/api-ms-win-core-winrt-l1-1-0.def new file mode 100644 index 0000000000..5cafea3384 --- /dev/null +++ b/lib/libc/mingw/lib32/api-ms-win-core-winrt-l1-1-0.def @@ -0,0 +1,13 @@ +LIBRARY api-ms-win-core-winrt-l1-1-0 + +EXPORTS + +RoActivateInstance@8 +RoGetActivationFactory@12 +RoGetApartmentIdentifier@4 +RoInitialize@4 +RoRegisterActivationFactories@16 +RoRegisterForApartmentShutdown@12 +RoRevokeActivationFactories@4 +RoUninitialize@0 +RoUnregisterForApartmentShutdown@4 diff --git a/lib/libc/mingw/lib32/api-ms-win-core-winrt-registration-l1-1-0.def b/lib/libc/mingw/lib32/api-ms-win-core-winrt-registration-l1-1-0.def new file mode 100644 index 0000000000..7e9cbf3921 --- /dev/null +++ b/lib/libc/mingw/lib32/api-ms-win-core-winrt-registration-l1-1-0.def @@ -0,0 +1,6 @@ +LIBRARY api-ms-win-core-winrt-registration-l1-1-0 + +EXPORTS + +RoGetActivatableClassRegistration@8 +RoGetServerActivatableClasses@12 diff --git a/lib/libc/mingw/lib32/api-ms-win-core-winrt-robuffer-l1-1-0.def b/lib/libc/mingw/lib32/api-ms-win-core-winrt-robuffer-l1-1-0.def new file mode 100644 index 0000000000..c0a4a12043 --- /dev/null +++ b/lib/libc/mingw/lib32/api-ms-win-core-winrt-robuffer-l1-1-0.def @@ -0,0 +1,5 @@ +LIBRARY api-ms-win-core-winrt-robuffer-l1-1-0 + +EXPORTS + +RoGetBufferMarshaler@4 diff --git a/lib/libc/mingw/lib32/api-ms-win-core-winrt-roparameterizediid-l1-1-0.def b/lib/libc/mingw/lib32/api-ms-win-core-winrt-roparameterizediid-l1-1-0.def new file mode 100644 index 0000000000..bf1217cd75 --- /dev/null +++ b/lib/libc/mingw/lib32/api-ms-win-core-winrt-roparameterizediid-l1-1-0.def @@ -0,0 +1,7 @@ +LIBRARY api-ms-win-core-winrt-roparameterizediid-l1-1-0 + +EXPORTS + +RoFreeParameterizedTypeExtra@4 +RoGetParameterizedTypeInstanceIID@20 +RoParameterizedTypeExtraGetTypeSignature@4 diff --git a/lib/libc/mingw/lib32/api-ms-win-core-winrt-string-l1-1-0.def b/lib/libc/mingw/lib32/api-ms-win-core-winrt-string-l1-1-0.def new file mode 100644 index 0000000000..14fa14ce93 --- /dev/null +++ b/lib/libc/mingw/lib32/api-ms-win-core-winrt-string-l1-1-0.def @@ -0,0 +1,30 @@ +LIBRARY api-ms-win-core-winrt-string-l1-1-0 + +EXPORTS + +HSTRING_UserFree@8 +HSTRING_UserFree64 +HSTRING_UserMarshal@12 +HSTRING_UserMarshal64 +HSTRING_UserSize@12 +HSTRING_UserSize64 +HSTRING_UserUnmarshal@12 +HSTRING_UserUnmarshal64 +WindowsCompareStringOrdinal@12 +WindowsConcatString@12 +WindowsCreateString@12 +WindowsCreateStringReference@16 +WindowsDeleteString@4 +WindowsDeleteStringBuffer@4 +WindowsDuplicateString@8 +WindowsGetStringLen@4 +WindowsGetStringRawBuffer@8 +WindowsIsStringEmpty@4 +WindowsPreallocateStringBuffer@12 +WindowsPromoteStringBuffer@8 +WindowsReplaceString@16 +WindowsStringHasEmbeddedNull@8 +WindowsSubstring@12 +WindowsSubstringWithSpecifiedLength@16 +WindowsTrimStringEnd@12 +WindowsTrimStringStart@12 diff --git a/lib/libc/mingw/lib32/api-ms-win-core-wow64-l1-1-1.def b/lib/libc/mingw/lib32/api-ms-win-core-wow64-l1-1-1.def new file mode 100644 index 0000000000..fe4fbbce3f --- /dev/null +++ b/lib/libc/mingw/lib32/api-ms-win-core-wow64-l1-1-1.def @@ -0,0 +1,6 @@ +LIBRARY api-ms-win-core-wow64-l1-1-1 + +EXPORTS + +IsWow64Process@8 +IsWow64Process2@12 diff --git a/lib/libc/mingw/lib32/api-ms-win-devices-config-l1-1-1.def b/lib/libc/mingw/lib32/api-ms-win-devices-config-l1-1-1.def new file mode 100644 index 0000000000..03c04309d9 --- /dev/null +++ b/lib/libc/mingw/lib32/api-ms-win-devices-config-l1-1-1.def @@ -0,0 +1,17 @@ +LIBRARY api-ms-win-devices-config-l1-1-1 + +EXPORTS + +CM_Get_Device_ID_List_SizeW@ +CM_Get_Device_ID_ListW@ +CM_Get_Device_IDW@ +CM_Get_Device_Interface_List_SizeW@ +CM_Get_Device_Interface_ListW@ +CM_Get_Device_Interface_PropertyW@ +CM_Get_DevNode_PropertyW@ +CM_Get_DevNode_Status@ +CM_Get_Parent@ +CM_Locate_DevNodeW@ +CM_MapCrToWin32Err@ +CM_Register_Notification@ +CM_Unregister_Notification@ diff --git a/lib/libc/mingw/lib32/api-ms-win-gaming-deviceinformation-l1-1-0.def b/lib/libc/mingw/lib32/api-ms-win-gaming-deviceinformation-l1-1-0.def new file mode 100644 index 0000000000..767ec6bc08 --- /dev/null +++ b/lib/libc/mingw/lib32/api-ms-win-gaming-deviceinformation-l1-1-0.def @@ -0,0 +1,5 @@ +LIBRARY api-ms-win-gaming-deviceinformation-l1-1-0 + +EXPORTS + +GetGamingDeviceModelInformation@ diff --git a/lib/libc/mingw/lib32/api-ms-win-gaming-expandedresources-l1-1-0.def b/lib/libc/mingw/lib32/api-ms-win-gaming-expandedresources-l1-1-0.def new file mode 100644 index 0000000000..1c160a2c58 --- /dev/null +++ b/lib/libc/mingw/lib32/api-ms-win-gaming-expandedresources-l1-1-0.def @@ -0,0 +1,7 @@ +LIBRARY api-ms-win-gaming-expandedresources-l1-1-0 + +EXPORTS + +GetExpandedResourceExclusiveCpuCount@ +HasExpandedResources@ +ReleaseExclusiveCpuSets@ diff --git a/lib/libc/mingw/lib32/api-ms-win-gaming-tcui-l1-1-0.def b/lib/libc/mingw/lib32/api-ms-win-gaming-tcui-l1-1-0.def new file mode 100644 index 0000000000..ba5e6d4065 --- /dev/null +++ b/lib/libc/mingw/lib32/api-ms-win-gaming-tcui-l1-1-0.def @@ -0,0 +1,11 @@ +LIBRARY api-ms-win-gaming-tcui-l1-1-0 + +EXPORTS + +ProcessPendingGameUI@4 +ShowChangeFriendRelationshipUI@12 +ShowGameInviteUI@24 +ShowPlayerPickerUI@36 +ShowProfileCardUI@12 +ShowTitleAchievementsUI@12 +TryCancelPendingGameUI@0 diff --git a/lib/libc/mingw/lib32/api-ms-win-gaming-tcui-l1-1-2.def b/lib/libc/mingw/lib32/api-ms-win-gaming-tcui-l1-1-2.def new file mode 100644 index 0000000000..4ee72ad7d4 --- /dev/null +++ b/lib/libc/mingw/lib32/api-ms-win-gaming-tcui-l1-1-2.def @@ -0,0 +1,20 @@ +LIBRARY api-ms-win-gaming-tcui-l1-1-2 + +EXPORTS + +CheckGamingPrivilegeSilently@16 +CheckGamingPrivilegeSilentlyForUser@20 +CheckGamingPrivilegeWithUI@24 +CheckGamingPrivilegeWithUIForUser@28 +ProcessPendingGameUI@4 +ShowChangeFriendRelationshipUI@12 +ShowChangeFriendRelationshipUIForUser@16 +ShowGameInviteUI@24 +ShowGameInviteUIForUser@28 +ShowPlayerPickerUI@36 +ShowPlayerPickerUIForUser@40 +ShowProfileCardUI@12 +ShowProfileCardUIForUser@16 +ShowTitleAchievementsUI@12 +ShowTitleAchievementsUIForUser@16 +TryCancelPendingGameUI@0 diff --git a/lib/libc/mingw/lib32/api-ms-win-gaming-tcui-l1-1-3.def b/lib/libc/mingw/lib32/api-ms-win-gaming-tcui-l1-1-3.def new file mode 100644 index 0000000000..4dc0614774 --- /dev/null +++ b/lib/libc/mingw/lib32/api-ms-win-gaming-tcui-l1-1-3.def @@ -0,0 +1,22 @@ +LIBRARY api-ms-win-gaming-tcui-l1-1-3 + +EXPORTS + +CheckGamingPrivilegeSilently@16 +CheckGamingPrivilegeSilentlyForUser@20 +CheckGamingPrivilegeWithUI@24 +CheckGamingPrivilegeWithUIForUser@28 +ProcessPendingGameUI@4 +ShowChangeFriendRelationshipUI@12 +ShowChangeFriendRelationshipUIForUser@16 +ShowGameInviteUI@24 +ShowGameInviteUIForUser@28 +ShowGameInviteUIWithContext@ +ShowGameInviteUIWithContextForUser@ +ShowPlayerPickerUI@36 +ShowPlayerPickerUIForUser@40 +ShowProfileCardUI@12 +ShowProfileCardUIForUser@16 +ShowTitleAchievementsUI@12 +ShowTitleAchievementsUIForUser@16 +TryCancelPendingGameUI@0 diff --git a/lib/libc/mingw/lib32/api-ms-win-gaming-tcui-l1-1-4.def b/lib/libc/mingw/lib32/api-ms-win-gaming-tcui-l1-1-4.def new file mode 100644 index 0000000000..084619ac25 --- /dev/null +++ b/lib/libc/mingw/lib32/api-ms-win-gaming-tcui-l1-1-4.def @@ -0,0 +1,30 @@ +LIBRARY api-ms-win-gaming-tcui-l1-1-4 + +EXPORTS + +CheckGamingPrivilegeSilently@16 +CheckGamingPrivilegeSilentlyForUser@20 +CheckGamingPrivilegeWithUI@24 +CheckGamingPrivilegeWithUIForUser@28 +ProcessPendingGameUI@4 +ShowChangeFriendRelationshipUI@12 +ShowChangeFriendRelationshipUIForUser@16 +ShowCustomizeUserProfileUI@ +ShowCustomizeUserProfileUIForUser@ +ShowFindFriendsUI@ +ShowFindFriendsUIForUser@ +ShowGameInfoUI@ +ShowGameInfoUIForUser@ +ShowGameInviteUI@24 +ShowGameInviteUIForUser@28 +ShowGameInviteUIWithContext@ +ShowGameInviteUIWithContextForUser@ +ShowPlayerPickerUI@36 +ShowPlayerPickerUIForUser@40 +ShowProfileCardUI@12 +ShowProfileCardUIForUser@16 +ShowTitleAchievementsUI@12 +ShowTitleAchievementsUIForUser@16 +ShowUserSettingsUI@ +ShowUserSettingsUIForUser@ +TryCancelPendingGameUI@0 diff --git a/lib/libc/mingw/lib32/api-ms-win-security-isolatedcontainer-l1-1-0.def b/lib/libc/mingw/lib32/api-ms-win-security-isolatedcontainer-l1-1-0.def new file mode 100644 index 0000000000..741499b16d --- /dev/null +++ b/lib/libc/mingw/lib32/api-ms-win-security-isolatedcontainer-l1-1-0.def @@ -0,0 +1,5 @@ +LIBRARY api-ms-win-security-isolatedcontainer-l1-1-0 + +EXPORTS + +IsProcessInIsolatedContainer@4 diff --git a/lib/libc/mingw/lib32/api-ms-win-shcore-stream-winrt-l1-1-0.def b/lib/libc/mingw/lib32/api-ms-win-shcore-stream-winrt-l1-1-0.def new file mode 100644 index 0000000000..5dafc212e5 --- /dev/null +++ b/lib/libc/mingw/lib32/api-ms-win-shcore-stream-winrt-l1-1-0.def @@ -0,0 +1,7 @@ +LIBRARY api-ms-win-shcore-stream-winrt-l1-1-0 + +EXPORTS + +CreateRandomAccessStreamOnFile@16 +CreateRandomAccessStreamOverStream@16 +CreateStreamOverRandomAccessStream@12 diff --git a/lib/libc/mingw/lib32/authz.def b/lib/libc/mingw/lib32/authz.def new file mode 100644 index 0000000000..262a2da26d --- /dev/null +++ b/lib/libc/mingw/lib32/authz.def @@ -0,0 +1,53 @@ +; +; Definition file of AUTHZ.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "AUTHZ.dll" +EXPORTS +AuthzAccessCheck@36 +AuthzAddSidsToContext@24 +AuthzCachedAccessCheck@20 +AuthzEnumerateSecurityEventSources@16 +AuthzEvaluateSacl@24 +AuthzFreeAuditEvent@4 +AuthzFreeContext@4 +AuthzFreeHandle@4 +AuthzFreeResourceManager@4 +AuthzGetInformationFromContext@20 +AuthzInitializeContextFromAuthzContext@28 +AuthzInitializeContextFromSid@32 +AuthzInitializeContextFromToken@32 +AuthzInitializeObjectAccessAuditEvent +AuthzInitializeObjectAccessAuditEvent2 +AuthzInitializeResourceManager@24 +AuthzInstallSecurityEventSource@8 +AuthzModifySecurityAttributes@12 +AuthzOpenObjectAudit@32 +AuthzRegisterSecurityEventSource@12 +AuthzReportSecurityEvent +AuthzReportSecurityEventFromParams@20 +AuthzUninstallSecurityEventSource@8 +AuthzUnregisterSecurityEventSource@8 +AuthziAccessCheckEx@40 +AuthziAllocateAuditParams@8 +AuthziCheckContextMembership@16 +AuthziFreeAuditEventType@4 +AuthziFreeAuditParams@4 +AuthziFreeAuditQueue@4 +AuthziGenerateAdminAlertAuditW@16 +AuthziInitializeAuditEvent@44 +AuthziInitializeAuditEventType@20 +AuthziInitializeAuditParams +AuthziInitializeAuditParamsFromArray@20 +AuthziInitializeAuditParamsWithRM +AuthziInitializeAuditQueue@20 +AuthziInitializeContextFromSid@32 +AuthziLogAuditEvent@12 +AuthziModifyAuditEvent2@32 +AuthziModifyAuditEvent@28 +AuthziModifyAuditEventType@20 +AuthziModifyAuditQueue@24 +AuthziModifySecurityAttributes@12 +AuthziQuerySecurityAttributes@24 +AuthziSourceAudit diff --git a/lib/libc/mingw/lib32/avicap32.def b/lib/libc/mingw/lib32/avicap32.def new file mode 100644 index 0000000000..cde12a4725 --- /dev/null +++ b/lib/libc/mingw/lib32/avicap32.def @@ -0,0 +1,8 @@ +LIBRARY AVICAP32.DLL +EXPORTS +videoThunk32@20 +capGetDriverDescriptionW@20 +capGetDriverDescriptionA@20 +capCreateCaptureWindowW@32 +capCreateCaptureWindowA@32 +AppCleanup@4 diff --git a/lib/libc/mingw/lib32/avifil32.def b/lib/libc/mingw/lib32/avifil32.def new file mode 100644 index 0000000000..32f8cb633c --- /dev/null +++ b/lib/libc/mingw/lib32/avifil32.def @@ -0,0 +1,77 @@ +LIBRARY AVIFIL32.DLL +EXPORTS +IID_IGetFrame +IID_IAVIStream +IID_IAVIFile +IID_IAVIEditStream +EditStreamSetNameW@8 +EditStreamSetNameA@8 +EditStreamSetName@8 +EditStreamSetInfoW@12 +EditStreamSetInfoA@12 +EditStreamSetInfo@12 +EditStreamPaste@24 +EditStreamCut@16 +EditStreamCopy@16 +EditStreamClone@8 +CreateEditableStream@8 +AVIStreamWriteData@16 +AVIStreamWrite@32 +AVIStreamTimeToSample@8 +AVIStreamStart@4 +AVIStreamSetFormat@16 +AVIStreamSampleToTime@8 +AVIStreamRelease@4 +AVIStreamReadFormat@16 +AVIStreamReadData@16 +AVIStreamRead@28 +AVIStreamOpenFromFileW@24 +AVIStreamOpenFromFileA@24 +AVIStreamOpenFromFile@24 +AVIStreamLength@4 +AVIStreamInfoW@12 +AVIStreamInfoA@12 +AVIStreamInfo@12 +AVIStreamGetFrameOpen@8 +AVIStreamGetFrameClose@4 +AVIStreamGetFrame@8 +AVIStreamFindSample@12 +AVIStreamEndStreaming@4 +AVIStreamCreate@16 +AVIStreamBeginStreaming@16 +AVIStreamAddRef@4 +AVISaveW +AVISaveVW@24 +AVISaveVA@24 +AVISaveV@24 +AVISaveOptionsFree@8 +AVISaveOptions@20 +AVISaveA +AVISave +AVIPutFileOnClipboard@4 +AVIMakeStreamFromClipboard@12 +AVIMakeFileFromStreams@12 +AVIMakeCompressedStream@16 +AVIGetFromClipboard@4 +AVIFileWriteData@16 +AVIFileRelease@4 +AVIFileReadData@16 +AVIFileOpenW@16 +AVIFileOpenA@16 +AVIFileOpen@16 +AVIFileInit@0 +AVIFileInfoW@12 +AVIFileInfoA@12 +AVIFileInfo@12 +AVIFileGetStream@16 +AVIFileExit@0 +AVIFileEndRecord@4 +AVIFileCreateStreamW@12 +AVIFileCreateStreamA@12 +AVIFileCreateStream@12 +AVIFileAddRef@4 +AVIClearClipboard@0 +AVIBuildFilterW@12 +AVIBuildFilterA@12 +AVIBuildFilter@12 + diff --git a/lib/libc/mingw/lib32/bluetoothapis.def b/lib/libc/mingw/lib32/bluetoothapis.def new file mode 100644 index 0000000000..b91edb81fe --- /dev/null +++ b/lib/libc/mingw/lib32/bluetoothapis.def @@ -0,0 +1,103 @@ +; +; Definition file of BluetoothApis.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "BluetoothApis.dll" +EXPORTS +BluetoothAddressToString@12 +BluetoothDisconnectDevice@8 +BluetoothEnableDiscovery@8 +BluetoothEnableIncomingConnections@8 +BluetoothEnumerateInstalledServices@16 +BluetoothEnumerateInstalledServicesEx@16 +BluetoothEnumerateLocalServices@12 +BluetoothFindBrowseGroupClose@4 +BluetoothFindClassIdClose@4 +BluetoothFindDeviceClose@4 +BluetoothFindFirstBrowseGroup@8 +BluetoothFindFirstClassId@8 +BluetoothFindFirstDevice@8 +BluetoothFindFirstProfileDescriptor@8 +BluetoothFindFirstProtocolDescriptorStack@8 +BluetoothFindFirstProtocolEntry@8 +BluetoothFindFirstRadio@8 +BluetoothFindFirstService@8 +BluetoothFindFirstServiceEx@12 +BluetoothFindNextBrowseGroup@8 +BluetoothFindNextClassId@8 +BluetoothFindNextDevice@8 +BluetoothFindNextProfileDescriptor@8 +BluetoothFindNextProtocolDescriptorStack@8 +BluetoothFindNextProtocolEntry@8 +BluetoothFindNextRadio@8 +BluetoothFindNextService@8 +BluetoothFindProfileDescriptorClose@4 +BluetoothFindProtocolDescriptorStackClose@4 +BluetoothFindProtocolEntryClose@4 +BluetoothFindRadioClose@4 +BluetoothFindServiceClose@4 +BluetoothGATTAbortReliableWrite@16 +BluetoothGATTBeginReliableWrite@12 +BluetoothGATTEndReliableWrite@16 +BluetoothGATTGetCharacteristicValue@24 +BluetoothGATTGetCharacteristics@24 +BluetoothGATTGetDescriptorValue@24 +BluetoothGATTGetDescriptors@24 +BluetoothGATTGetIncludedServices@24 +BluetoothGATTGetServices@20 +BluetoothGATTRegisterEvent@28 +BluetoothGATTSetCharacteristicValue@24 +BluetoothGATTSetDescriptorValue@16 +BluetoothGATTUnregisterEvent@8 +BluetoothGetDeviceInfo@8 +BluetoothGetLocalServiceInfo@16 +BluetoothGetRadioInfo@8 +BluetoothGetServicePnpInstance@24 +BluetoothIsConnectable@4 +BluetoothIsDiscoverable@4 +BluetoothIsVersionAvailable@8 +BluetoothRegisterForAuthentication@16 +BluetoothRegisterForAuthenticationEx@16 +BluetoothRemoveDevice@4 +BluetoothSdpEnumAttributes@16 +BluetoothSdpGetAttributeValue@16 +BluetoothSdpGetContainerElementData@16 +BluetoothSdpGetElementData@12 +BluetoothSdpGetString@24 +BluetoothSendAuthenticationResponse@12 +BluetoothSendAuthenticationResponseEx@8 +BluetoothSetLocalServiceInfo@16 +BluetoothSetServiceState@16 +BluetoothSetServiceStateEx@20 +BluetoothUnregisterAuthentication@4 +BluetoothUpdateDeviceRecord@4 +BthpCheckForUnsupportedGuid@4 +BthpCleanupBRDeviceNode@8 +BthpCleanupDeviceLocalServices@4 +BthpCleanupDeviceRemoteServices@4 +BthpCleanupLEDeviceNodes@16 +BthpEnableA2DPIfPresent@8 +BthpEnableAllServices@8 +BthpEnableConnectableAndDiscoverable@12 +BthpEnableRadioSoftware@4 +BthpFindPnpInfo@16 +BthpGATTCloseSession@8 +BthpInnerRecord@12 +BthpIsBluetoothServiceRunning@0 +BthpIsConnectableByDefault@0 +BthpIsDiscoverable@4 +BthpIsDiscoverableByDefault@0 +BthpIsRadioSoftwareEnabled@4 +BthpIsTopOfServiceGroup@24 +BthpMapStatusToErr@4 +BthpNextRecord@8 +BthpRegisterForAuthentication@28 +BthpSetServiceState@36 +BthpSetServiceStateEx@40 +BthpTranspose16Bits@4 +BthpTranspose32Bits@4 +BthpTransposeAndExtendBytes@12 +FindNextOpenVCOMPort@4 +InstallIncomingComPort@8 +ShouldForceAuthentication@4 diff --git a/lib/libc/mingw/lib32/bthprops.def b/lib/libc/mingw/lib32/bthprops.def new file mode 100644 index 0000000000..99abf0b826 --- /dev/null +++ b/lib/libc/mingw/lib32/bthprops.def @@ -0,0 +1,70 @@ +; +; Definition file of bthprops.cpl +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "bthprops.cpl" +EXPORTS +ord_103@4 @103 +BluetoothAddressToString@12 +BluetoothAuthenticateDevice@20 +BluetoothAuthenticateDeviceEx@20 +BluetoothAuthenticateMultipleDevices@16 +BluetoothAuthenticationAgent@16 +BluetoothDisconnectDevice@8 +BluetoothDisplayDeviceProperties@8 +BluetoothEnableDiscovery@8 +BluetoothEnableIncomingConnections@8 +BluetoothEnumerateInstalledServices@16 +BluetoothFindBrowseGroupClose@4 +BluetoothFindClassIdClose@4 +BluetoothFindDeviceClose@4 +BluetoothFindFirstBrowseGroup@8 +BluetoothFindFirstClassId@8 +BluetoothFindFirstDevice@8 +BluetoothFindFirstProfileDescriptor@8 +BluetoothFindFirstProtocolDescriptorStack@8 +BluetoothFindFirstProtocolEntry@8 +BluetoothFindFirstRadio@8 +BluetoothFindFirstService@8 +BluetoothFindFirstServiceEx@12 +BluetoothFindNextBrowseGroup@8 +BluetoothFindNextClassId@8 +BluetoothFindNextDevice@8 +BluetoothFindNextProfileDescriptor@8 +BluetoothFindNextProtocolDescriptorStack@8 +BluetoothFindNextProtocolEntry@8 +BluetoothFindNextRadio@8 +BluetoothFindNextService@8 +BluetoothFindProfileDescriptorClose@4 +BluetoothFindProtocolDescriptorStackClose@4 +BluetoothFindProtocolEntryClose@4 +BluetoothFindRadioClose@4 +BluetoothFindServiceClose@4 +BluetoothGetDeviceInfo@8 +BluetoothGetRadioInfo@8 +BluetoothIsConnectable@4 +BluetoothIsDiscoverable@4 +BluetoothIsVersionAvailable@8 +BluetoothMapClassOfDeviceToImageIndex@4 +BluetoothMapClassOfDeviceToString@4 +BluetoothRegisterForAuthentication@16 +BluetoothRegisterForAuthenticationEx@16 +BluetoothRemoveDevice@4 +BluetoothSdpEnumAttributes@16 +BluetoothSdpGetAttributeValue@16 +BluetoothSdpGetContainerElementData@16 +BluetoothSdpGetElementData@12 +BluetoothSdpGetString@24 +BluetoothSelectDevices@4 +BluetoothSelectDevicesFree@4 +BluetoothSendAuthenticationResponse@12 +BluetoothSendAuthenticationResponseEx@8 +BluetoothSetLocalServiceInfo@16 +BluetoothSetServiceState@16 +BluetoothUnregisterAuthentication@4 +BluetoothUpdateDeviceRecord@4 +BthpEnableAllServices@8 +BthpFindPnpInfo@16 +BthpMapStatusToErr@4 +CPlApplet@16 diff --git a/lib/libc/mingw/lib32/cabinet.def b/lib/libc/mingw/lib32/cabinet.def new file mode 100644 index 0000000000..e4dc8c1a8e --- /dev/null +++ b/lib/libc/mingw/lib32/cabinet.def @@ -0,0 +1,21 @@ +; +; Definition file of Cabinet.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "Cabinet.dll" +EXPORTS +GetDllVersion@0 +DllGetVersion@4 +Extract@8 +DeleteExtractedFiles@4 +FCICreate +FCIAddFile +FCIFlushFolder +FCIFlushCabinet +FCIDestroy +FDICreate +FDIIsCabinet +FDICopy +FDIDestroy +FDITruncateCabinet diff --git a/lib/libc/mingw/lib32/cfgmgr32.def b/lib/libc/mingw/lib32/cfgmgr32.def new file mode 100644 index 0000000000..068e90c671 --- /dev/null +++ b/lib/libc/mingw/lib32/cfgmgr32.def @@ -0,0 +1,257 @@ +; +; Definition file of CFGMGR32.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "CFGMGR32.dll" +EXPORTS +CMP_GetBlockedDriverInfo@16 +CMP_GetServerSideDeviceInstallFlags@12 +CMP_Init_Detection@4 +CMP_RegisterNotification@24 +CMP_Report_LogOn@8 +CMP_UnregisterNotification@4 +CMP_WaitNoPendingInstallEvents@4 +CMP_WaitServicesAvailable@4 +CM_Add_Driver_PackageW@40 +CM_Add_Driver_Package_ExW@44 +CM_Add_Empty_Log_Conf@16 +CM_Add_Empty_Log_Conf_Ex@20 +CM_Add_IDA@12 +CM_Add_IDW@12 +CM_Add_ID_ExA@16 +CM_Add_ID_ExW@16 +CM_Add_Range@24 +CM_Add_Res_Des@24 +CM_Add_Res_Des_Ex@28 +CM_Apply_PowerScheme@0 +CM_Connect_MachineA@8 +CM_Connect_MachineW@8 +CM_Create_DevNodeA@16 +CM_Create_DevNodeW@16 +CM_Create_DevNode_ExA@20 +CM_Create_DevNode_ExW@20 +CM_Create_Range_List@8 +CM_Delete_Class_Key@8 +CM_Delete_Class_Key_Ex@12 +CM_Delete_DevNode_Key@12 +CM_Delete_DevNode_Key_Ex@16 +CM_Delete_Device_Interface_KeyA@8 +CM_Delete_Device_Interface_KeyW@8 +CM_Delete_Device_Interface_Key_ExA@12 +CM_Delete_Device_Interface_Key_ExW@12 +CM_Delete_Driver_PackageW@24 +CM_Delete_Driver_Package_ExW@28 +CM_Delete_PowerScheme@8 +CM_Delete_Range@24 +CM_Detect_Resource_Conflict@24 +CM_Detect_Resource_Conflict_Ex@28 +CM_Disable_DevNode@8 +CM_Disable_DevNode_Ex@12 +CM_Disconnect_Machine@4 +CM_Dup_Range_List@12 +CM_Duplicate_PowerScheme@12 +CM_Enable_DevNode@8 +CM_Enable_DevNode_Ex@12 +CM_Enumerate_Classes@12 +CM_Enumerate_Classes_Ex@16 +CM_Enumerate_EnumeratorsA@16 +CM_Enumerate_EnumeratorsW@16 +CM_Enumerate_Enumerators_ExA@20 +CM_Enumerate_Enumerators_ExW@20 +CM_Find_Range@40 +CM_First_Range@20 +CM_Free_Log_Conf@8 +CM_Free_Log_Conf_Ex@12 +CM_Free_Log_Conf_Handle@4 +CM_Free_Range_List@8 +CM_Free_Res_Des@12 +CM_Free_Res_Des_Ex@16 +CM_Free_Res_Des_Handle@4 +CM_Free_Resource_Conflict_Handle@4 +CM_Get_Child@12 +CM_Get_Child_Ex@16 +CM_Get_Class_Key_NameA@16 +CM_Get_Class_Key_NameW@16 +CM_Get_Class_Key_Name_ExA@20 +CM_Get_Class_Key_Name_ExW@20 +CM_Get_Class_NameA@16 +CM_Get_Class_NameW@16 +CM_Get_Class_Name_ExA@20 +CM_Get_Class_Name_ExW@20 +CM_Get_Class_PropertyW@24 +CM_Get_Class_Property_ExW@28 +CM_Get_Class_Property_Keys@16 +CM_Get_Class_Property_Keys_Ex@20 +CM_Get_Class_Registry_PropertyA@28 +CM_Get_Class_Registry_PropertyW@28 +CM_Get_Depth@12 +CM_Get_Depth_Ex@16 +CM_Get_DevNode_Custom_PropertyA@24 +CM_Get_DevNode_Custom_PropertyW@24 +CM_Get_DevNode_Custom_Property_ExA@28 +CM_Get_DevNode_Custom_Property_ExW@28 +CM_Get_DevNode_PropertyW@24 +CM_Get_DevNode_Property_ExW@28 +CM_Get_DevNode_Property_Keys@16 +CM_Get_DevNode_Property_Keys_Ex@20 +CM_Get_DevNode_Registry_PropertyA@24 +CM_Get_DevNode_Registry_PropertyW@24 +CM_Get_DevNode_Registry_Property_ExA@28 +CM_Get_DevNode_Registry_Property_ExW@28 +CM_Get_DevNode_Status@16 +CM_Get_DevNode_Status_Ex@20 +CM_Get_Device_IDA@16 +CM_Get_Device_IDW@16 +CM_Get_Device_ID_ExA@20 +CM_Get_Device_ID_ExW@20 +CM_Get_Device_ID_ListA@16 +CM_Get_Device_ID_ListW@16 +CM_Get_Device_ID_List_ExA@20 +CM_Get_Device_ID_List_ExW@20 +CM_Get_Device_ID_List_SizeA@12 +CM_Get_Device_ID_List_SizeW@12 +CM_Get_Device_ID_List_Size_ExA@16 +CM_Get_Device_ID_List_Size_ExW@16 +CM_Get_Device_ID_Size@12 +CM_Get_Device_ID_Size_Ex@16 +CM_Get_Device_Interface_AliasA@20 +CM_Get_Device_Interface_AliasW@20 +CM_Get_Device_Interface_Alias_ExA@24 +CM_Get_Device_Interface_Alias_ExW@24 +CM_Get_Device_Interface_ListA@20 +CM_Get_Device_Interface_ListW@20 +CM_Get_Device_Interface_List_ExA@24 +CM_Get_Device_Interface_List_ExW@24 +CM_Get_Device_Interface_List_SizeA@16 +CM_Get_Device_Interface_List_SizeW@16 +CM_Get_Device_Interface_List_Size_ExA@20 +CM_Get_Device_Interface_List_Size_ExW@20 +CM_Get_Device_Interface_PropertyW@24 +CM_Get_Device_Interface_Property_ExW@28 +CM_Get_Device_Interface_Property_KeysW@16 +CM_Get_Device_Interface_Property_Keys_ExW@20 +CM_Get_First_Log_Conf@12 +CM_Get_First_Log_Conf_Ex@16 +CM_Get_Global_State@8 +CM_Get_Global_State_Ex@12 +CM_Get_HW_Prof_FlagsA@16 +CM_Get_HW_Prof_FlagsW@16 +CM_Get_HW_Prof_Flags_ExA@20 +CM_Get_HW_Prof_Flags_ExW@20 +CM_Get_Hardware_Profile_InfoA@12 +CM_Get_Hardware_Profile_InfoW@12 +CM_Get_Hardware_Profile_Info_ExA@16 +CM_Get_Hardware_Profile_Info_ExW@16 +CM_Get_Log_Conf_Priority@12 +CM_Get_Log_Conf_Priority_Ex@16 +CM_Get_Next_Log_Conf@12 +CM_Get_Next_Log_Conf_Ex@16 +CM_Get_Next_Res_Des@20 +CM_Get_Next_Res_Des_Ex@24 +CM_Get_Parent@12 +CM_Get_Parent_Ex@16 +CM_Get_Res_Des_Data@16 +CM_Get_Res_Des_Data_Ex@20 +CM_Get_Res_Des_Data_Size@12 +CM_Get_Res_Des_Data_Size_Ex@16 +CM_Get_Resource_Conflict_Count@8 +CM_Get_Resource_Conflict_DetailsA@12 +CM_Get_Resource_Conflict_DetailsW@12 +CM_Get_Sibling@12 +CM_Get_Sibling_Ex@16 +CM_Get_Version@0 +CM_Get_Version_Ex@4 +CM_Import_PowerScheme@12 +CM_Install_DevNodeW@32 +CM_Install_DevNode_ExW@36 +CM_Intersect_Range_List@16 +CM_Invert_Range_List@20 +CM_Is_Dock_Station_Present@4 +CM_Is_Dock_Station_Present_Ex@8 +CM_Is_Version_Available@4 +CM_Is_Version_Available_Ex@8 +CM_Locate_DevNodeA@12 +CM_Locate_DevNodeW@12 +CM_Locate_DevNode_ExA@16 +CM_Locate_DevNode_ExW@16 +CM_MapCrToSpErr@8 +CM_MapCrToWin32Err@8 +CM_Merge_Range_List@16 +CM_Modify_Res_Des@24 +CM_Modify_Res_Des_Ex@28 +CM_Move_DevNode@12 +CM_Move_DevNode_Ex@16 +CM_Next_Range@16 +CM_Open_Class_KeyA@24 +CM_Open_Class_KeyW@24 +CM_Open_Class_Key_ExA@28 +CM_Open_Class_Key_ExW@28 +CM_Open_DevNode_Key@24 +CM_Open_DevNode_Key_Ex@28 +CM_Open_Device_Interface_KeyA@20 +CM_Open_Device_Interface_KeyW@20 +CM_Open_Device_Interface_Key_ExA@24 +CM_Open_Device_Interface_Key_ExW@24 +CM_Query_And_Remove_SubTreeA@20 +CM_Query_And_Remove_SubTreeW@20 +CM_Query_And_Remove_SubTree_ExA@24 +CM_Query_And_Remove_SubTree_ExW@24 +CM_Query_Arbitrator_Free_Data@20 +CM_Query_Arbitrator_Free_Data_Ex@24 +CM_Query_Arbitrator_Free_Size@16 +CM_Query_Arbitrator_Free_Size_Ex@20 +CM_Query_Remove_SubTree@8 +CM_Query_Remove_SubTree_Ex@12 +CM_Query_Resource_Conflict_List@28 +CM_Reenumerate_DevNode@8 +CM_Reenumerate_DevNode_Ex@12 +CM_Register_Device_Driver@8 +CM_Register_Device_Driver_Ex@12 +CM_Register_Device_InterfaceA@24 +CM_Register_Device_InterfaceW@24 +CM_Register_Device_Interface_ExA@28 +CM_Register_Device_Interface_ExW@28 +CM_Remove_SubTree@8 +CM_Remove_SubTree_Ex@12 +CM_Request_Device_EjectA@20 +CM_Request_Device_EjectW@20 +CM_Request_Device_Eject_ExA@24 +CM_Request_Device_Eject_ExW@24 +CM_Request_Eject_PC@0 +CM_Request_Eject_PC_Ex@4 +CM_RestoreAll_DefaultPowerSchemes@4 +CM_Restore_DefaultPowerScheme@8 +CM_Run_Detection@4 +CM_Run_Detection_Ex@8 +CM_Set_ActiveScheme@8 +CM_Set_Class_PropertyW@24 +CM_Set_Class_Property_ExW@28 +CM_Set_Class_Registry_PropertyA@24 +CM_Set_Class_Registry_PropertyW@24 +CM_Set_DevNode_Problem@12 +CM_Set_DevNode_Problem_Ex@16 +CM_Set_DevNode_PropertyW@24 +CM_Set_DevNode_Property_ExW@28 +CM_Set_DevNode_Registry_PropertyA@20 +CM_Set_DevNode_Registry_PropertyW@20 +CM_Set_DevNode_Registry_Property_ExA@24 +CM_Set_DevNode_Registry_Property_ExW@24 +CM_Set_Device_Interface_PropertyW@24 +CM_Set_Device_Interface_Property_ExW@28 +CM_Set_HW_Prof@8 +CM_Set_HW_Prof_Ex@12 +CM_Set_HW_Prof_FlagsA@16 +CM_Set_HW_Prof_FlagsW@16 +CM_Set_HW_Prof_Flags_ExA@20 +CM_Set_HW_Prof_Flags_ExW@20 +CM_Setup_DevNode@8 +CM_Setup_DevNode_Ex@12 +CM_Test_Range_Available@24 +CM_Uninstall_DevNode@8 +CM_Uninstall_DevNode_Ex@12 +CM_Unregister_Device_InterfaceA@8 +CM_Unregister_Device_InterfaceW@8 +CM_Unregister_Device_Interface_ExA@12 +CM_Unregister_Device_Interface_ExW@12 +CM_Write_UserPowerKey@32 diff --git a/lib/libc/mingw/lib32/clfsw32.def b/lib/libc/mingw/lib32/clfsw32.def new file mode 100644 index 0000000000..f59ecdd656 --- /dev/null +++ b/lib/libc/mingw/lib32/clfsw32.def @@ -0,0 +1,69 @@ +; +; Definition file of clfsw32.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "clfsw32.dll" +EXPORTS +LsnDecrement@4 +AddLogContainer@16 +AddLogContainerSet@20 +AdvanceLogBase@16 +AlignReservedLog@16 +AllocReservedLog@12 +CLFS_LSN_INVALID DATA +CLFS_LSN_NULL DATA +CloseAndResetLogFile@4 +CreateLogContainerScanContext@24 +CreateLogFile@24 +CreateLogMarshallingArea@32 +DeleteLogByHandle@4 +DeleteLogFile@8 +DeleteLogMarshallingArea@4 +DeregisterManageableLogClient@4 +DumpLogRecords@44 +FlushLogBuffers@8 +FlushLogToLsn@16 +FreeReservedLog@12 +GetLogContainerName@20 +GetLogFileInformation@12 +GetLogIoStatistics@20 +GetNextLogArchiveExtent@16 +HandleLogFull@4 +InstallLogPolicy@8 +LogTailAdvanceFailure@8 +LsnBlockOffset@4 +LsnContainer@4 +LsnCreate@12 +LsnEqual@8 +LsnGreater@8 +LsnIncrement@4 +LsnInvalid@4 +LsnLess@8 +LsnNull@4 +LsnRecordSequence@4 +PrepareLogArchive@48 +QueryLogPolicy@16 +ReadLogArchiveMetadata@20 +ReadLogNotification@12 +ReadLogRecord@40 +ReadLogRestartArea@24 +ReadNextLogRecord@36 +ReadPreviousLogRestartArea@20 +RegisterForLogWriteNotification@12 +RegisterManageableLogClient@8 +RemoveLogContainer@16 +RemoveLogContainerSet@20 +RemoveLogPolicy@8 +ReserveAndAppendLog@40 +ReserveAndAppendLogAligned@44 +ScanLogContainers@12 +SetEndOfLog@12 +SetLogArchiveMode@8 +SetLogArchiveTail@12 +SetLogFileSizeWithPolicy@12 +TerminateLogArchive@4 +TerminateReadLog@4 +TruncateLog@12 +ValidateLog@16 +WriteLogRestartArea@32 diff --git a/lib/libc/mingw/lib32/clusapi.def b/lib/libc/mingw/lib32/clusapi.def new file mode 100644 index 0000000000..1fe4f97196 --- /dev/null +++ b/lib/libc/mingw/lib32/clusapi.def @@ -0,0 +1,136 @@ +; +; Definition file of CLUSAPI.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "CLUSAPI.dll" +EXPORTS +AddClusterNode@16 +AddClusterResourceDependency@8 +AddClusterResourceNode@8 +BackupClusterDatabase@8 +CanResourceBeDependent@8 +ChangeClusterResourceGroup@8 +CloseCluster@4 +CloseClusterGroup@4 +CloseClusterNetInterface@4 +CloseClusterNetwork@4 +CloseClusterNode@4 +CloseClusterNotifyPort@4 +CloseClusterResource@4 +ClusterCloseEnum@4 +ClusterControl@32 +ClusterEnum@20 +ClusterGetEnumCount@4 +ClusterGroupCloseEnum@4 +ClusterGroupControl@32 +ClusterGroupEnum@20 +ClusterGroupGetEnumCount@4 +ClusterGroupOpenEnum@8 +ClusterNetInterfaceControl@32 +ClusterNetworkCloseEnum@4 +ClusterNetworkControl@32 +ClusterNetworkEnum@20 +ClusterNetworkGetEnumCount@4 +ClusterNetworkOpenEnum@8 +ClusterNodeCloseEnum@4 +ClusterNodeControl@32 +ClusterNodeEnum@20 +ClusterNodeGetEnumCount@4 +ClusterNodeOpenEnum@8 +ClusterOpenEnum@8 +ClusterRegBatchAddCommand@24 +ClusterRegBatchCloseNotification@4 +ClusterRegBatchReadCommand@8 +ClusterRegCloseBatch@12 +ClusterRegCloseBatchNotifyPort@4 +ClusterRegCloseKey@4 +ClusterRegCreateBatch@8 +ClusterRegCreateBatchNotifyPort@8 +ClusterRegCreateKey@28 +ClusterRegDeleteKey@8 +ClusterRegDeleteValue@8 +ClusterRegEnumKey@20 +ClusterRegEnumValue@28 +ClusterRegGetBatchNotification@8 +ClusterRegGetKeySecurity@16 +ClusterRegOpenKey@16 +ClusterRegQueryInfoKey@32 +ClusterRegQueryValue@20 +ClusterRegSetKeySecurity@12 +ClusterRegSetValue@20 +ClusterResourceCloseEnum@4 +ClusterResourceControl@32 +ClusterResourceEnum@20 +ClusterResourceGetEnumCount@4 +ClusterResourceOpenEnum@8 +ClusterResourceTypeCloseEnum@4 +ClusterResourceTypeControl@36 +ClusterResourceTypeEnum@20 +ClusterResourceTypeGetEnumCount@4 +ClusterResourceTypeOpenEnum@12 +CreateCluster@12 +CreateClusterGroup@8 +CreateClusterNotifyPort@16 +CreateClusterResource@16 +CreateClusterResourceType@24 +DeleteClusterGroup@4 +DeleteClusterResource@4 +DeleteClusterResourceType@8 +DestroyCluster@16 +DestroyClusterGroup@4 +EvictClusterNode@4 +EvictClusterNodeEx@12 +FailClusterResource@4 +GetClusterFromGroup@4 +GetClusterFromNetInterface@4 +GetClusterFromNetwork@4 +GetClusterFromNode@4 +GetClusterFromResource@4 +GetClusterGroupKey@8 +GetClusterGroupState@12 +GetClusterInformation@16 +GetClusterKey@8 +GetClusterNetInterface@20 +GetClusterNetInterfaceKey@8 +GetClusterNetInterfaceState@4 +GetClusterNetworkId@12 +GetClusterNetworkKey@8 +GetClusterNetworkState@4 +GetClusterNodeId@12 +GetClusterNodeKey@8 +GetClusterNodeState@4 +GetClusterNotify@24 +GetClusterQuorumResource@24 +GetClusterResourceDependencyExpression@12 +GetClusterResourceKey@8 +GetClusterResourceNetworkName@12 +GetClusterResourceState@20 +GetClusterResourceTypeKey@12 +GetNodeClusterState@8 +MoveClusterGroup@8 +OfflineClusterGroup@4 +OfflineClusterResource@4 +OnlineClusterGroup@8 +OnlineClusterResource@4 +OpenCluster@4 +OpenClusterGroup@8 +OpenClusterNetInterface@8 +OpenClusterNetwork@8 +OpenClusterNode@8 +OpenClusterResource@8 +PauseClusterNode@4 +RegisterClusterNotify@16 +RemoveClusterResourceDependency@8 +RemoveClusterResourceNode@8 +RestoreClusterDatabase@12 +ResumeClusterNode@4 +SetClusterGroupName@8 +SetClusterGroupNodeList@12 +SetClusterName@8 +SetClusterNetworkName@8 +SetClusterNetworkPriorityOrder@12 +SetClusterQuorumResource@12 +SetClusterResourceDependencyExpression@8 +SetClusterResourceName@8 +SetClusterServiceAccountPassword@20 diff --git a/lib/libc/mingw/lib32/credui.def b/lib/libc/mingw/lib32/credui.def new file mode 100644 index 0000000000..01cd97b490 --- /dev/null +++ b/lib/libc/mingw/lib32/credui.def @@ -0,0 +1,31 @@ +; +; Definition file of credui.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "credui.dll" +EXPORTS +CredPackAuthenticationBufferA@20 +CredPackAuthenticationBufferW@20 +CredUICmdLinePromptForCredentialsA@36 +CredUICmdLinePromptForCredentialsW@36 +CredUIConfirmCredentialsA@8 +CredUIConfirmCredentialsW@8 +CredUIInitControls +CredUIParseUserNameA@20 +CredUIParseUserNameW@20 +CredUIPromptForCredentialsA@40 +CredUIPromptForCredentialsW@40 +CredUIPromptForWindowsCredentialsA@36 +CredUIPromptForWindowsCredentialsW@36 +CredUIPromptForWindowsCredentialsWorker@44 +CredUIReadSSOCredA@8 +CredUIReadSSOCredW@8 +CredUIStoreSSOCredA@16 +CredUIStoreSSOCredW@16 +CredUnPackAuthenticationBufferA@36 +CredUnPackAuthenticationBufferW@36 +DllCanUnloadNow +DllGetClassObject@12 +DllRegisterServer +DllUnregisterServer diff --git a/lib/libc/mingw/lib32/cryptxml.def b/lib/libc/mingw/lib32/cryptxml.def new file mode 100644 index 0000000000..c835169c6f --- /dev/null +++ b/lib/libc/mingw/lib32/cryptxml.def @@ -0,0 +1,26 @@ +; +; Definition file of CRYPTXML.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "CRYPTXML.dll" +EXPORTS +CryptXmlAddObject@24 +CryptXmlClose@4 +CryptXmlCreateReference@36 +CryptXmlDigestReference@12 +CryptXmlEncode@24 +CryptXmlEnumAlgorithmInfo@16 +CryptXmlFindAlgorithmInfo@16 +CryptXmlGetAlgorithmInfo@12 +CryptXmlGetDocContext@8 +CryptXmlGetReference@8 +CryptXmlGetSignature@8 +CryptXmlGetStatus@8 +CryptXmlGetTransforms@4 +CryptXmlImportPublicKey@12 +CryptXmlOpenToDecode@24 +CryptXmlOpenToEncode@28 +CryptXmlSetHMACSecret@12 +CryptXmlSign@32 +CryptXmlVerifySignature@12 diff --git a/lib/libc/mingw/lib32/cscapi.def b/lib/libc/mingw/lib32/cscapi.def new file mode 100644 index 0000000000..643c6e9ac6 --- /dev/null +++ b/lib/libc/mingw/lib32/cscapi.def @@ -0,0 +1,11 @@ +; +; Definition file of CSCAPI.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "CSCAPI.dll" +EXPORTS +CscNetApiGetInterface@16 +CscSearchApiGetInterface@12 +OfflineFilesEnable@8 +OfflineFilesQueryStatus@8 diff --git a/lib/libc/mingw/lib32/d2d1.def b/lib/libc/mingw/lib32/d2d1.def new file mode 100644 index 0000000000..846e49ba8a --- /dev/null +++ b/lib/libc/mingw/lib32/d2d1.def @@ -0,0 +1,12 @@ +; +; Definition file of d2d1.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "d2d1.dll" +EXPORTS +D2D1CreateFactory@16 +D2D1MakeRotateMatrix@16 +D2D1MakeSkewMatrix@20 +D2D1IsMatrixInvertible@4 +D2D1InvertMatrix@4 diff --git a/lib/libc/mingw/lib32/d3d10.def b/lib/libc/mingw/lib32/d3d10.def new file mode 100644 index 0000000000..555d877b11 --- /dev/null +++ b/lib/libc/mingw/lib32/d3d10.def @@ -0,0 +1,31 @@ +LIBRARY "d3d10.dll" +EXPORTS +D3D10CompileEffectFromMemory@36 +D3D10CompileShader@40 +D3D10CreateBlob@8 +D3D10CreateDevice@24 +D3D10CreateDeviceAndSwapChain@32 +D3D10CreateEffectFromMemory@24 +D3D10CreateEffectPoolFromMemory@20 +D3D10CreateStateBlock@12 +D3D10DisassembleEffect@12 +D3D10DisassembleShader@20 +D3D10GetGeometryShaderProfile@4 +D3D10GetInputAndOutputSignatureBlob@12 +D3D10GetInputSignatureBlob@12 +D3D10GetOutputSignatureBlob@12 +D3D10GetPixelShaderProfile@4 +D3D10GetShaderDebugInfo@12 +D3D10GetVersion@0 +D3D10GetVertexShaderProfile@4 +D3D10PreprocessShader@28 +D3D10ReflectShader@12 +D3D10RegisterLayers@0 +D3D10StateBlockMaskDifference@12 +D3D10StateBlockMaskDisableAll@4 +D3D10StateBlockMaskDisableCapture@16 +D3D10StateBlockMaskEnableAll@4 +D3D10StateBlockMaskEnableCapture@16 +D3D10StateBlockMaskGetSetting@12 +D3D10StateBlockMaskIntersect@12 +D3D10StateBlockMaskUnion@12 diff --git a/lib/libc/mingw/lib32/d3d11.def b/lib/libc/mingw/lib32/d3d11.def new file mode 100644 index 0000000000..7bc60078ee --- /dev/null +++ b/lib/libc/mingw/lib32/d3d11.def @@ -0,0 +1,59 @@ +; +; Definition file of d3d11.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "d3d11.dll" +EXPORTS +D3D11CreateDeviceForD3D12@36 +D3DKMTCloseAdapter@4 +D3DKMTDestroyAllocation@4 +D3DKMTDestroyContext@4 +D3DKMTDestroyDevice@4 +D3DKMTDestroySynchronizationObject@4 +D3DKMTPresent@4 +D3DKMTQueryAdapterInfo@4 +D3DKMTSetDisplayPrivateDriverFormat@4 +D3DKMTSignalSynchronizationObject@4 +D3DKMTUnlock@4 +D3DKMTWaitForSynchronizationObject@4 +EnableFeatureLevelUpgrade +OpenAdapter10@4 +OpenAdapter10_2@4 +CreateDirect3D11DeviceFromDXGIDevice@8 +CreateDirect3D11SurfaceFromDXGISurface@8 +D3D11CoreCreateDevice@40 +D3D11CoreCreateLayeredDevice@20 +D3D11CoreGetLayeredDeviceSize@8 +D3D11CoreRegisterLayers@8 +D3D11CreateDevice@40 +D3D11CreateDeviceAndSwapChain@48 +D3D11On12CreateDevice@40 +D3DKMTCreateAllocation@4 +D3DKMTCreateContext@4 +D3DKMTCreateDevice@4 +D3DKMTCreateSynchronizationObject@4 +D3DKMTEscape@4 +D3DKMTGetContextSchedulingPriority@4 +D3DKMTGetDeviceState@4 +D3DKMTGetDisplayModeList@4 +D3DKMTGetMultisampleMethodList@4 +D3DKMTGetRuntimeData@4 +D3DKMTGetSharedPrimaryHandle@4 +D3DKMTLock@4 +D3DKMTOpenAdapterFromHdc@4 +D3DKMTOpenResource@4 +D3DKMTPresent@4 +D3DKMTQueryAllocationResidency@4 +D3DKMTQueryResourceInfo@4 +D3DKMTRender@4 +D3DKMTSetAllocationPriority@4 +D3DKMTSetContextSchedulingPriority@4 +D3DKMTSetDisplayMode@4 +D3DKMTSetGammaRamp@4 +D3DKMTSetVidPnSourceOwner@4 +D3DKMTWaitForVerticalBlankEvent@4 +D3DPerformance_BeginEvent@8 +D3DPerformance_EndEvent@4 +D3DPerformance_GetStatus@4 +D3DPerformance_SetMarker@8 diff --git a/lib/libc/mingw/lib32/d3d12.def b/lib/libc/mingw/lib32/d3d12.def new file mode 100644 index 0000000000..81906ca3a4 --- /dev/null +++ b/lib/libc/mingw/lib32/d3d12.def @@ -0,0 +1,19 @@ +LIBRARY "d3d12.dll" +EXPORTS +GetBehaviorValue@8 +D3D12CreateDevice@16 +D3D12GetDebugInterface@8 +SetAppCompatStringPointer@8 +D3D12CoreCreateLayeredDevice@20 +D3D12CoreGetLayeredDeviceSize@8 +D3D12CoreRegisterLayers@8 +D3D12CreateRootSignatureDeserializer@16 +D3D12CreateVersionedRootSignatureDeserializer@16 +D3D12DeviceRemovedExtendedData DATA +D3D12EnableExperimentalFeatures@16 +D3D12PIXEventsReplaceBlock@4 +D3D12PIXGetThreadInfo@0 +D3D12PIXNotifyWakeFromFenceSignal@4 +D3D12PIXReportCounter@8 +D3D12SerializeRootSignature@16 +D3D12SerializeVersionedRootSignature@12 diff --git a/lib/libc/mingw/lib32/d3d9.def b/lib/libc/mingw/lib32/d3d9.def new file mode 100644 index 0000000000..f74c842d31 --- /dev/null +++ b/lib/libc/mingw/lib32/d3d9.def @@ -0,0 +1,16 @@ +LIBRARY d3d9.dll +EXPORTS +Direct3DShaderValidatorCreate9@0 +;PSGPError@12 ;unknown +;PSGPSampleTexture@20 ;unknown +D3DPERF_BeginEvent@8 +D3DPERF_EndEvent@0 +D3DPERF_GetStatus@0 +D3DPERF_QueryRepeatFrame@0 +D3DPERF_SetMarker@8 +D3DPERF_SetOptions@4 +D3DPERF_SetRegion@8 +;DebugSetLevel ;unknown +;DebugSetMute@0 +Direct3DCreate9@4 +Direct3DCreate9Ex@8 diff --git a/lib/libc/mingw/lib32/d3dcompiler_47.def b/lib/libc/mingw/lib32/d3dcompiler_47.def new file mode 100644 index 0000000000..85f506f8a5 --- /dev/null +++ b/lib/libc/mingw/lib32/d3dcompiler_47.def @@ -0,0 +1,36 @@ +; +; Definition file of D3DCOMPILER_47.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "D3DCOMPILER_47.dll" +EXPORTS +D3DAssemble@32 +DebugSetMute +D3DCompile2@56 +D3DCompile@44 +D3DCompileFromFile@36 +D3DCompressShaders@16 +D3DCreateBlob@8 +D3DCreateFunctionLinkingGraph@8 +D3DCreateLinker@4 +D3DDecompressShaders@32 +D3DDisassemble10Effect@12 +D3DDisassemble11Trace@28 +D3DDisassemble@20 +D3DDisassembleRegion@32 +D3DGetBlobPart@20 +D3DGetDebugInfo@12 +D3DGetInputAndOutputSignatureBlob@12 +D3DGetInputSignatureBlob@12 +D3DGetOutputSignatureBlob@12 +D3DGetTraceInstructionOffsets@28 +D3DLoadModule@12 +D3DPreprocess@28 +D3DReadFileToBlob@8 +D3DReflect@16 +D3DReflectLibrary@16 +D3DReturnFailure1@12 +D3DSetBlobPart@28 +D3DStripShader@16 +D3DWriteBlobToFile@12 diff --git a/lib/libc/mingw/lib32/davclnt.def b/lib/libc/mingw/lib32/davclnt.def new file mode 100644 index 0000000000..5dcc9f8e6a --- /dev/null +++ b/lib/libc/mingw/lib32/davclnt.def @@ -0,0 +1,30 @@ +; +; Definition file of davclnt.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "davclnt.dll" +EXPORTS +DavCancelConnectionsToServer@8 +DavFreeUsedDiskSpace@4 +DavGetDiskSpaceUsage@16 +DavGetTheLockOwnerOfTheFile@12 +DavInvalidateCache@4 +DavRegisterAuthCallback@8 +DavUnregisterAuthCallback@4 +DllCanUnloadNow@0 +DllGetClassObject@12 +DllMain@12 +NPAddConnection3@20 +NPAddConnection@12 +NPCancelConnection@8 +NPCloseEnum@4 +NPEnumResource@16 +NPFormatNetworkName@20 +NPGetCaps@4 +NPGetConnection@12 +NPGetResourceInformation@16 +NPGetResourceParent@12 +NPGetUniversalName@16 +NPGetUser@12 +NPOpenEnum@20 diff --git a/lib/libc/mingw/lib32/dcomp.def b/lib/libc/mingw/lib32/dcomp.def new file mode 100644 index 0000000000..da316b34b3 --- /dev/null +++ b/lib/libc/mingw/lib32/dcomp.def @@ -0,0 +1,19 @@ +; +; Definition file of dcomp.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "dcomp.dll" +EXPORTS +DCompositionAttachMouseDragToHwnd@12 +DCompositionAttachMouseWheelToHwnd@12 +DCompositionCreateDevice2@12 +DCompositionCreateDevice3@12 +DCompositionCreateDevice@12 +DCompositionCreateSurfaceHandle@12 +DllCanUnloadNow +DllGetActivationFactory@8 +DllGetClassObject@12 +DwmEnableMMCSS@4 +DwmFlush +DwmpEnableDDASupport diff --git a/lib/libc/mingw/lib32/ddraw.def b/lib/libc/mingw/lib32/ddraw.def new file mode 100644 index 0000000000..fdf57c18b0 --- /dev/null +++ b/lib/libc/mingw/lib32/ddraw.def @@ -0,0 +1,15 @@ +LIBRARY ddraw.dll +EXPORTS +DDGetAttachedSurfaceLcl@12 +DDInternalLock@8 +DDInternalUnlock@4 +DSoundHelp@12 +DirectDrawCreate@12 +DirectDrawCreateClipper@12 +DirectDrawCreateEx@16 +DirectDrawEnumerateA@8 +DirectDrawEnumerateExA@12 +DirectDrawEnumerateExW@12 +DirectDrawEnumerateW@8 +GetDDSurfaceLocal@12 +GetSurfaceFromDC@12 diff --git a/lib/libc/mingw/lib32/dfscli.def b/lib/libc/mingw/lib32/dfscli.def new file mode 100644 index 0000000000..2378b81f23 --- /dev/null +++ b/lib/libc/mingw/lib32/dfscli.def @@ -0,0 +1,36 @@ +; +; Definition file of dfscli.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "dfscli.dll" +EXPORTS +I_NetDfsIsThisADomainName@4 +NetDfsAdd@20 +NetDfsAddFtRoot@20 +NetDfsAddRootTarget@20 +NetDfsAddStdRoot@16 +NetDfsAddStdRootForced@16 +NetDfsEnum@24 +NetDfsGetClientInfo@20 +NetDfsGetDcAddress@16 +NetDfsGetFtContainerSecurity@16 +NetDfsGetInfo@20 +NetDfsGetSecurity@16 +NetDfsGetStdContainerSecurity@16 +NetDfsGetSupportedNamespaceVersion@12 +NetDfsManagerGetConfigInfo@28 +NetDfsManagerInitialize@8 +NetDfsManagerSendSiteInfo@12 +NetDfsMove@12 +NetDfsRemove@12 +NetDfsRemoveFtRoot@16 +NetDfsRemoveFtRootForced@20 +NetDfsRemoveRootTarget@12 +NetDfsRemoveStdRoot@12 +NetDfsRename@8 +NetDfsSetClientInfo@20 +NetDfsSetFtContainerSecurity@12 +NetDfsSetInfo@20 +NetDfsSetSecurity@12 +NetDfsSetStdContainerSecurity@12 diff --git a/lib/libc/mingw/lib32/dhcpcsvc.def b/lib/libc/mingw/lib32/dhcpcsvc.def new file mode 100644 index 0000000000..d1e733caf4 --- /dev/null +++ b/lib/libc/mingw/lib32/dhcpcsvc.def @@ -0,0 +1,71 @@ +LIBRARY DHCPCSVC.DLL +EXPORTS +DhcpAcquireParameters@4 +DhcpAcquireParametersByBroadcast@4 +DhcpCApiCleanup +DhcpCApiCleanup@0 +DhcpCApiInitialize@4 +DhcpClient_Generalize +DhcpDeRegisterConnectionStateNotification@8 +DhcpDeRegisterOptions@4 +DhcpDeRegisterParamChange@12 +DhcpDelPersistentRequestParams@8 +DhcpEnableDhcp@8 +DhcpEnableTracing@4 +DhcpEnumClasses@16 +DhcpEnumInterfaces@4 +DhcpFallbackRefreshParams@4 +DhcpFreeEnumeratedInterfaces@4 +DhcpFreeLeaseInfo@4 +DhcpFreeLeaseInfoArray@8 +DhcpFreeMem@4 +DhcpGetClassId@8 +DhcpGetClientId@8 +DhcpGetDhcpServicedConnections@12 +DhcpGetFallbackParams@8 +DhcpGetNotificationStatus@8 +DhcpGetOriginalSubnetMask@8 +DhcpGetTraceArray@4 +DhcpGlobalIsShuttingDown DATA +DhcpGlobalServiceSyncEvent DATA +DhcpGlobalTerminateEvent DATA +DhcpHandlePnPEvent@20 +DhcpIsEnabled@8 +DhcpLeaseIpAddress@24 +DhcpLeaseIpAddressEx@32 +DhcpNotifyConfigChange@28 +DhcpNotifyConfigChangeEx@32 +DhcpNotifyMediaReconnected@4 +DhcpOpenGlobalEvent +DhcpPersistentRequestParams@28 +DhcpQueryLeaseInfo@8 +DhcpQueryLeaseInfoArray@12 +DhcpQueryLeaseInfoEx@12 +DhcpRegisterConnectionStateNotification@12 +DhcpRegisterOptions@16 +DhcpRegisterParamChange@28 +DhcpRemoveDNSRegistrations@0 +DhcpReleaseIpAddressLease@8 +DhcpReleaseIpAddressLeaseEx@16 +DhcpReleaseParameters@4 +DhcpRemoveDNSRegistrations +DhcpRenewIpAddressLease@16 +DhcpRenewIpAddressLeaseEx@24 +DhcpRequestCachedParams@20 +DhcpRequestOptions@28 +DhcpRequestParams@44 +DhcpSetClassId@8 +DhcpSetClientId@8 +DhcpSetFallbackParams@8 +DhcpSetMSFTVendorSpecificOptions@24 +DhcpStaticRefreshParams@4 +DhcpUndoRequestParams@16 +Dhcpv4CheckServerAvailability@8 +Dhcpv4EnableDhcpEx@4 +McastApiCleanup +McastApiStartup@4 +McastEnumerateScopes@20 +McastGenUID@4 +McastReleaseAddress@12 +McastRenewAddress@16 +McastRequestAddress@20 diff --git a/lib/libc/mingw/lib32/dhcpcsvc6.def b/lib/libc/mingw/lib32/dhcpcsvc6.def new file mode 100644 index 0000000000..00ff21a136 --- /dev/null +++ b/lib/libc/mingw/lib32/dhcpcsvc6.def @@ -0,0 +1,17 @@ +; +; Definition file of dhcpcsvc6.DLL +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "dhcpcsvc6.DLL" +EXPORTS +Dhcpv6AcquireParameters@4 +Dhcpv6FreeLeaseInfo@4 +Dhcpv6IsEnabled@8 +Dhcpv6Main@4 +Dhcpv6QueryLeaseInfo@8 +Dhcpv6ReleaseParameters@4 +Dhcpv6ReleasePrefix@12 +Dhcpv6RenewPrefix@20 +Dhcpv6RequestParams@32 +Dhcpv6RequestPrefix@16 diff --git a/lib/libc/mingw/lib32/dhcpsapi.def b/lib/libc/mingw/lib32/dhcpsapi.def new file mode 100644 index 0000000000..1857a26ff7 --- /dev/null +++ b/lib/libc/mingw/lib32/dhcpsapi.def @@ -0,0 +1,144 @@ +; +; Definition file of DHCPSAPI.DLL +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "DHCPSAPI.DLL" +EXPORTS +DhcpAddMScopeElement@12 +DhcpAddServer@20 +DhcpAddSubnetElement@12 +DhcpAddSubnetElementV4@12 +DhcpAddSubnetElementV5@12 +DhcpAddSubnetElementV6@24 +DhcpAuditLogGetParams@24 +DhcpAuditLogSetParams@24 +DhcpCreateClass@12 +DhcpCreateClassV6@12 +DhcpCreateClientInfo@8 +DhcpCreateClientInfoV4@8 +DhcpCreateClientInfoVQ@8 +DhcpCreateOption@12 +DhcpCreateOptionV5@24 +DhcpCreateOptionV6@24 +DhcpCreateSubnet@12 +DhcpCreateSubnetV6@24 +DhcpCreateSubnetVQ@12 +DhcpDeleteClass@12 +DhcpDeleteClassV6@12 +DhcpDeleteClientInfo@8 +DhcpDeleteClientInfoV6@8 +DhcpDeleteMClientInfo@8 +DhcpDeleteMScope@12 +DhcpDeleteServer@20 +DhcpDeleteSubnet@12 +DhcpDeleteSubnetV6@24 +DhcpDeleteSuperScopeV4@8 +DhcpDsCleanup@0 +DhcpDsClearHostServerEntries@0 +DhcpDsInit@0 +DhcpEnumClasses@28 +DhcpEnumClassesV6@28 +DhcpEnumMScopeClients@28 +DhcpEnumMScopeElements@32 +DhcpEnumMScopes@24 +DhcpEnumOptionValues@28 +DhcpEnumOptionValuesV5@40 +DhcpEnumOptionValuesV6@40 +DhcpEnumOptions@24 +DhcpEnumOptionsV5@36 +DhcpEnumOptionsV6@36 +DhcpEnumServers@20 +DhcpEnumSubnetClients@28 +DhcpEnumSubnetClientsV4@28 +DhcpEnumSubnetClientsV5@28 +DhcpEnumSubnetClientsV6@40 +DhcpEnumSubnetClientsVQ@28 +DhcpEnumSubnetElements@32 +DhcpEnumSubnetElementsV4@32 +DhcpEnumSubnetElementsV5@32 +DhcpEnumSubnetElementsV6@44 +DhcpEnumSubnets@24 +DhcpEnumSubnetsV6@24 +DhcpGetAllOptionValues@16 +DhcpGetAllOptionValuesV6@16 +DhcpGetAllOptions@12 +DhcpGetAllOptionsV6@12 +DhcpGetClassInfo@16 +DhcpGetClientInfo@12 +DhcpGetClientInfoV4@12 +DhcpGetClientInfoV6@12 +DhcpGetClientInfoVQ@12 +DhcpGetClientOptions@16 +DhcpGetMCastMibInfo@8 +DhcpGetMScopeInfo@12 +DhcpGetMibInfo@8 +DhcpGetMibInfoV6@8 +DhcpGetMibInfoVQ@8 +DhcpGetOptionInfo@12 +DhcpGetOptionInfoV5@24 +DhcpGetOptionInfoV6@24 +DhcpGetOptionValue@16 +DhcpGetOptionValueV5@28 +DhcpGetOptionValueV6@28 +DhcpGetServerBindingInfo@12 +DhcpGetServerBindingInfoV6@12 +DhcpGetServerSpecificStrings@8 +DhcpGetSubnetInfo@12 +DhcpGetSubnetInfoV6@24 +DhcpGetSubnetInfoVQ@12 +DhcpGetSuperScopeInfoV4@8 +DhcpGetThreadOptions@8 +DhcpGetVersion@12 +DhcpModifyClass@12 +DhcpModifyClassV6@12 +DhcpRemoveMScopeElement@16 +DhcpRemoveOption@8 +DhcpRemoveOptionV5@20 +DhcpRemoveOptionV6@20 +DhcpRemoveOptionValue@12 +DhcpRemoveOptionValueV5@24 +DhcpRemoveOptionValueV6@24 +DhcpRemoveSubnetElement@16 +DhcpRemoveSubnetElementV4@16 +DhcpRemoveSubnetElementV5@16 +DhcpRemoveSubnetElementV6@28 +DhcpRpcFreeMemory@4 +DhcpScanDatabase@16 +DhcpScanMDatabase@16 +DhcpServerAuditlogParamsFree@4 +DhcpServerBackupDatabase@8 +DhcpServerGetConfig@8 +DhcpServerGetConfigV4@8 +DhcpServerGetConfigV6@12 +DhcpServerGetConfigVQ@8 +DhcpServerQueryAttribute@16 +DhcpServerQueryAttributes@20 +DhcpServerQueryDnsRegCredentials@20 +DhcpServerRedoAuthorization@8 +DhcpServerRestoreDatabase@8 +DhcpServerSetConfig@12 +DhcpServerSetConfigV4@12 +DhcpServerSetConfigV6@16 +DhcpServerSetConfigVQ@12 +DhcpServerSetDnsRegCredentials@16 +DhcpSetClientInfo@8 +DhcpSetClientInfoV4@8 +DhcpSetClientInfoV6@8 +DhcpSetClientInfoVQ@8 +DhcpSetMScopeInfo@16 +DhcpSetOptionInfo@12 +DhcpSetOptionInfoV5@24 +DhcpSetOptionInfoV6@24 +DhcpSetOptionValue@16 +DhcpSetOptionValueV5@28 +DhcpSetOptionValueV6@28 +DhcpSetOptionValues@12 +DhcpSetOptionValuesV5@24 +DhcpSetServerBindingInfo@12 +DhcpSetServerBindingInfoV6@12 +DhcpSetSubnetInfo@12 +DhcpSetSubnetInfoV6@24 +DhcpSetSubnetInfoVQ@12 +DhcpSetSuperScopeV4@16 +DhcpSetThreadOptions@8 diff --git a/lib/libc/mingw/lib32/dinput8.def b/lib/libc/mingw/lib32/dinput8.def new file mode 100644 index 0000000000..a36cc53e04 --- /dev/null +++ b/lib/libc/mingw/lib32/dinput8.def @@ -0,0 +1,3 @@ +LIBRARY dinput8.dll +EXPORTS +DirectInput8Create@20 diff --git a/lib/libc/mingw/lib32/dnsapi.def b/lib/libc/mingw/lib32/dnsapi.def new file mode 100644 index 0000000000..89b70ecda7 --- /dev/null +++ b/lib/libc/mingw/lib32/dnsapi.def @@ -0,0 +1,295 @@ +; +; Definition file of DNSAPI.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "DNSAPI.dll" +EXPORTS +DnsGetDomainName +DnsIsAMailboxType +DnsIsNSECType +DnsIsStatusRcode +DnsMapRcodeToStatus +DnsStatusString +DnsUnicodeToUtf8@8 +DnsUtf8ToUnicode@8 +Dns_ReadPacketName@20 +Dns_ReadPacketNameAllocate@20 +Dns_SkipPacketName +Dns_WriteDottedNameToPacket@16 +AdaptiveTimeout_ClearInterfaceSpecificConfiguration +AdaptiveTimeout_ResetAdaptiveTimeout +AddRefQueryBlobEx@16 +BreakRecordsIntoBlob@12 +Coalesce_UpdateNetVersion +CombineRecordsInBlob@8 +DeRefQueryBlobEx@16 +DelaySortDAServerlist +DnsAcquireContextHandle_A@12 +DnsAcquireContextHandle_W@12 +DnsAllocateRecord@4 +DnsApiAlloc@4 +DnsApiAllocZero@4 +DnsApiFree@4 +DnsApiHeapReset@12 +DnsApiRealloc@8 +DnsApiSetDebugGlobals@4 +DnsAsyncRegisterHostAddrs@40 +DnsAsyncRegisterInit@4 +DnsAsyncRegisterTerm +DnsCancelQuery@4 +DnsCheckNrptRuleIntegrity@4 +DnsCheckNrptRules@12 +DnsConnectionDeletePolicyEntries@4 +DnsConnectionDeletePolicyEntriesPrivate@8 +DnsConnectionDeleteProxyInfo@8 +DnsConnectionFreeNameList@4 +DnsConnectionFreeProxyInfo@4 +DnsConnectionFreeProxyInfoEx@4 +DnsConnectionFreeProxyList@4 +DnsConnectionGetHandleForHostUrlPrivate@24 +DnsConnectionGetNameList@4 +DnsConnectionGetProxyInfo@12 +DnsConnectionGetProxyInfoForHostUrl@20 +DnsConnectionGetProxyList@8 +DnsConnectionSetPolicyEntries@8 +DnsConnectionSetPolicyEntriesPrivate@12 +DnsConnectionSetProxyInfo@12 +DnsConnectionUpdateIfIndexTable@4 +DnsCopyStringEx@20 +DnsCreateReverseNameStringForIpAddress@4 +DnsCreateStandardDnsNameCopy@12 +DnsCreateStringCopy@8 +DnsDeRegisterLocal@8 +DnsDhcpRegisterAddrs@4 +DnsDhcpRegisterHostAddrs@40 +DnsDhcpRegisterInit +DnsDhcpRegisterTerm +DnsDhcpRemoveRegistrations +DnsDhcpSrvRegisterHostAddr@4 +DnsDhcpSrvRegisterHostAddrEx@4 +DnsDhcpSrvRegisterHostName@48 +DnsDhcpSrvRegisterHostNameEx@60 +DnsDhcpSrvRegisterInit@8 +DnsDhcpSrvRegisterInitEx@12 +DnsDhcpSrvRegisterInitialize@4 +DnsDhcpSrvRegisterTerm +DnsDisableIdnEncoding@8 +DnsDowncaseDnsNameLabel@16 +DnsExtractRecordsFromMessage_UTF8@12 +DnsExtractRecordsFromMessage_W@12 +DnsFindAuthoritativeZone@16 +DnsFlushResolverCache +DnsFlushResolverCacheEntry_A@4 +DnsFlushResolverCacheEntry_UTF8@4 +DnsFlushResolverCacheEntry_W@4 +DnsFree@8 +DnsFreeAdaptersInfo@8 +DnsFreeConfigStructure@8 +DnsFreeNrptRule@4 +DnsFreeNrptRuleNamesList@8 +DnsFreePolicyConfig@4 +DnsFreeProxyName@4 +DnsGetAdaptersInfo@24 +DnsGetApplicationIdentifier@12 +DnsGetBufferLengthForStringCopy@16 +DnsGetCacheDataTable@4 +DnsGetCacheDataTableEx@12 +DnsGetDnsServerList@4 +DnsGetInterfaceSettings@20 +DnsGetLastFailedUpdateInfo@4 +DnsGetNrptRuleNamesList@8 +DnsGetPolicyTableInfo@16 +DnsGetPolicyTableInfoPrivate@16 +DnsGetPrimaryDomainName_A +DnsGetProxyInfoPrivate@16 +DnsGetProxyInformation@20 +DnsGetQueryRetryTimeouts@24 +DnsGetSettings@4 +DnsGlobals DATA +DnsIpv6AddressToString@8 +DnsIpv6StringToAddress@12 +DnsIsStringCountValidForTextType@8 +DnsLogEvent@16 +DnsModifyRecordsInSet_A@24 +DnsModifyRecordsInSet_UTF8@24 +DnsModifyRecordsInSet_W@24 +DnsNameCompareEx_A@12 +DnsNameCompareEx_UTF8@12 +DnsNameCompareEx_W@12 +DnsNameCompare_A@8 +DnsNameCompare_UTF8@8 +DnsNameCompare_W@8 +DnsNameCopy@24 +DnsNameCopyAllocate@16 +DnsNetworkInfo_CreateFromFAZ@20 +DnsNetworkInformation_CreateFromFAZ@16 +DnsNotifyResolver@8 +DnsNotifyResolverClusterIp@8 +DnsNotifyResolverEx@16 +DnsQueryConfig@24 +DnsQueryConfigAllocEx@12 +DnsQueryConfigDword@8 +DnsQueryEx@12 +DnsQueryExA@4 +DnsQueryExUTF8@4 +DnsQueryExW@4 +DnsQuery_A@24 +DnsQuery_UTF8@24 +DnsQuery_W@24 +DnsRecordBuild_UTF8@28 +DnsRecordBuild_W@28 +DnsRecordCompare@8 +DnsRecordCopyEx@12 +DnsRecordListFree@8 +DnsRecordListUnmapV4MappedAAAAInPlace@4 +DnsRecordSetCompare@16 +DnsRecordSetCopyEx@12 +DnsRecordSetDetach@4 +DnsRecordStringForType@4 +DnsRecordStringForWritableType@4 +DnsRecordTypeForName@8 +DnsRegisterLocal@16 +DnsReleaseContextHandle@4 +DnsRemoveNrptRule@4 +DnsRemoveRegistrations +DnsReplaceRecordSetA@20 +DnsReplaceRecordSetUTF8@20 +DnsReplaceRecordSetW@20 +DnsResetQueryRetryTimeouts@16 +DnsResolverOp@12 +DnsResolverQueryHvsi@32 +DnsScreenLocalAddrsForRegistration@12 +DnsServiceBrowse@8 +DnsServiceBrowseCancel@4 +DnsServiceConstructInstance@40 +DnsServiceCopyInstance@4 +DnsServiceDeRegister@8 +DnsServiceFreeInstance@4 +DnsServiceRegister@8 +DnsServiceRegisterCancel@4 +DnsServiceResolve@8 +DnsServiceResolveCancel@4 +DnsSetConfigDword@12 +DnsSetConfigValue@20 +DnsSetInterfaceSettings@20 +DnsSetNrptRule@12 +DnsSetNrptRules@16 +DnsSetQueryRetryTimeouts@24 +DnsSetSettings@4 +DnsStartMulticastQuery@8 +DnsStopMulticastQuery@4 +DnsStringCopyAllocateEx@16 +DnsTraceServerConfig@12 +DnsUpdate@20 +DnsUpdateMachinePresence +DnsUpdateTest_A@16 +DnsUpdateTest_UTF8@16 +DnsUpdateTest_W@16 +DnsValidateNameOrIp_TempW@8 +DnsValidateName_A@8 +DnsValidateName_UTF8@8 +DnsValidateName_W@8 +DnsValidateServerArray_A@12 +DnsValidateServerArray_W@12 +DnsValidateServerStatus@12 +DnsValidateServer_A@12 +DnsValidateServer_W@12 +DnsValidateUtf8Byte@8 +DnsWriteQuestionToBuffer_UTF8@24 +DnsWriteQuestionToBuffer_W@24 +DnsWriteReverseNameStringForIpAddress@8 +Dns_AddRecordsToMessage@12 +Dns_AllocateMsgBuf@4 +Dns_BuildPacket@28 +Dns_CacheServiceCleanup +Dns_CacheServiceInit +Dns_CacheServiceStopIssued +Dns_CleanupWinsock@0 +Dns_CloseConnection@4 +Dns_CloseSocket@4 +Dns_CreateMulticastSocket@20 +Dns_CreateSocket@12 +Dns_CreateSocketEx@20 +Dns_ExtractRecordsFromMessage@12 +Dns_FindAuthoritativeZoneLib@16 +Dns_FreeMsgBuf@4 +Dns_GetRandomXid@4 +Dns_InitializeMsgBuf@4 +Dns_InitializeMsgRemoteSockaddr@8 +Dns_InitializeWinsock +Dns_OpenTcpConnectionAndSend@12 +Dns_ParseMessage@20 +Dns_ParsePacketRecord@12 +Dns_PingAdapterServers@4 +Dns_ReadRecordStructureFromPacket@12 +Dns_RecvTcp@4 +Dns_ResetNetworkInfo@4 +Dns_SendAndRecvUdp@20 +Dns_SendEx@12 +Dns_SetRecordDatalength@8 +Dns_SetRecordsSection@8 +Dns_SetRecordsTtl@8 +Dns_SkipToRecord@12 +Dns_UpdateLib@20 +Dns_UpdateLibEx@28 +Dns_WriteQuestionToMessage@16 +Dns_WriteRecordStructureToPacketEx@20 +ExtraInfo_Init@8 +Faz_AreServerListsInSameNameSpace@12 +FlushDnsPolicyUnreachableStatus +GetCurrentTimeInSeconds +HostsFile_Close@4 +HostsFile_Open@4 +HostsFile_ReadLine@4 +IpHelp_IsAddrOnLink@4 +Local_GetRecordsForLocalName@8 +Local_GetRecordsForLocalNameEx@20 +NetInfo_Build@8 +NetInfo_Clean@8 +NetInfo_Copy@4 +NetInfo_CopyNetworkIndex@8 +NetInfo_CreatePerNetworkNetinfo@8 +NetInfo_Free@4 +NetInfo_GetAdapterByAddress@12 +NetInfo_GetAdapterByInterfaceIndex@12 +NetInfo_GetAdapterByName@8 +NetInfo_IsAddrConfig@8 +NetInfo_IsForUpdate@4 +NetInfo_IsTcpipConfigChange@4 +NetInfo_ResetServerPriorities@8 +NetInfo_UpdateDnsInterfaceConfigChange@4 +NetInfo_UpdateNetworkProperties@28 +NetInfo_UpdateServerReachability@12 +QueryDirectEx@40 +Query_Cancel@12 +Query_Main@4 +Reg_FreeUpdateInfo@8 +Reg_GetValueEx@28 +Reg_ReadGlobalsEx@8 +Reg_ReadUpdateInfo@8 +Security_ContextListTimeout@4 +Send_AndRecvUdpWithParam@4 +Send_MessagePrivate@12 +Send_MessagePrivateEx@16 +Send_OpenTcpConnectionAndSend@12 +Socket_CacheCleanup@0 +Socket_CacheInit@4 +Socket_CleanupWinsock@0 +Socket_ClearMessageSockets@4 +Socket_CloseEx@8 +Socket_CloseMessageSockets@4 +Socket_Create@20 +Socket_CreateMulticast@20 +Socket_InitWinsock@4 +Socket_JoinMulticast@20 +Socket_RecvFrom@40 +Socket_SetMulticastInterface@16 +Socket_SetMulticastLoopBack@12 +Socket_SetTtl@20 +Socket_TcpListen@4 +Trace_Reset@0 +Update_ReplaceAddressRecordsW@20 +Util_IsIp6Running@0 +Util_IsRunningOnXboxOne@0 +WriteDnsNrptRulesToRegistry@16 diff --git a/lib/libc/mingw/lib32/dsound.def b/lib/libc/mingw/lib32/dsound.def new file mode 100644 index 0000000000..36049c94c1 --- /dev/null +++ b/lib/libc/mingw/lib32/dsound.def @@ -0,0 +1,12 @@ +LIBRARY dsound.dll +EXPORTS +DirectSoundCaptureCreate@12 +DirectSoundCaptureCreate8@12 +DirectSoundCaptureEnumerateA@8 +DirectSoundCaptureEnumerateW@8 +DirectSoundCreate@12 +DirectSoundCreate8@12 +DirectSoundEnumerateA@8 +DirectSoundEnumerateW@8 +DirectSoundFullDuplexCreate@40 +GetDeviceID@8 diff --git a/lib/libc/mingw/lib32/dsrole.def b/lib/libc/mingw/lib32/dsrole.def new file mode 100644 index 0000000000..77e49dc689 --- /dev/null +++ b/lib/libc/mingw/lib32/dsrole.def @@ -0,0 +1,21 @@ +; +; Definition file of dsrole.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "dsrole.dll" +EXPORTS +DsRoleAbortDownlevelServerUpgrade@16 +DsRoleCancel@8 +DsRoleDcAsDc@68 +DsRoleDcAsReplica@12 +DsRoleDemoteDc@44 +DsRoleDnsNameToFlatName@16 +DsRoleFreeMemory@4 +DsRoleGetDatabaseFacts@24 +DsRoleGetDcOperationProgress@12 +DsRoleGetDcOperationResults@12 +DsRoleGetPrimaryDomainInformation@12 +DsRoleIfmHandleFree@8 +DsRoleServerSaveStateForUpgrade@4 +DsRoleUpgradeDownlevelServer@48 diff --git a/lib/libc/mingw/lib32/dssec.def b/lib/libc/mingw/lib32/dssec.def new file mode 100644 index 0000000000..dbad4dba5c --- /dev/null +++ b/lib/libc/mingw/lib32/dssec.def @@ -0,0 +1,13 @@ +; +; Definition file of DSSEC.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "DSSEC.dll" +EXPORTS +DSCreateISecurityInfoObject@28 +DSCreateSecurityPage@28 +DSEditSecurity@32 +DSCreateISecurityInfoObjectEx@40 +DllCanUnloadNow +DllGetClassObject@12 diff --git a/lib/libc/mingw/lib32/dwmapi.def b/lib/libc/mingw/lib32/dwmapi.def new file mode 100644 index 0000000000..96009459f6 --- /dev/null +++ b/lib/libc/mingw/lib32/dwmapi.def @@ -0,0 +1,48 @@ +; +; Definition file of dwmapi.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "dwmapi.dll" +EXPORTS +DwmpDxGetWindowSharedSurface@32 +DwmpDxUpdateWindowSharedSurface@24 +DwmEnableComposition@4 +DwmAttachMilContent@4 +DwmDefWindowProc@20 +DwmDetachMilContent@4 +DwmEnableBlurBehindWindow@8 +DwmEnableMMCSS@4 +DwmExtendFrameIntoClientArea@8 +DwmFlush@0 +DwmGetColorizationColor@8 +DwmpDxBindSwapChain@12 +DwmpDxUnbindSwapChain@8 +DwmpDxgiIsThreadDesktopComposited@4 +DwmGetCompositionTimingInfo@8 +DwmGetGraphicsStreamClient@8 +DwmpDxUpdateWindowRedirectionBltSurface@36 +DwmpRenderFlick@12 +DwmpAllocateSecurityDescriptor@8 +DwmpFreeSecurityDescriptor@4 +DwmpEnableDDASupport@0 +DwmGetGraphicsStreamTransformHint@8 +DwmTetherTextContact@20 +DwmGetTransportAttributes@12 +DwmGetWindowAttribute@16 +DwmInvalidateIconicBitmaps@4 +DwmIsCompositionEnabled@4 +DwmModifyPreviousDxFrameDuration@12 +DwmQueryThumbnailSourceSize@8 +DwmRegisterThumbnail@12 +DwmRenderGesture@16 +DwmSetDxFrameDuration@8 +DwmSetIconicLivePreviewBitmap@16 +DwmSetIconicThumbnail@12 +DwmSetPresentParameters@8 +DwmSetWindowAttribute@16 +DwmShowContact@8 +DwmTetherContact@16 +DwmTransitionOwnedWindow@8 +DwmUnregisterThumbnail@4 +DwmUpdateThumbnailProperties@8 diff --git a/lib/libc/mingw/lib32/dwrite.def b/lib/libc/mingw/lib32/dwrite.def new file mode 100644 index 0000000000..9c429a0b35 --- /dev/null +++ b/lib/libc/mingw/lib32/dwrite.def @@ -0,0 +1,8 @@ +; +; Definition file of DWrite.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "DWrite.dll" +EXPORTS +DWriteCreateFactory@12 diff --git a/lib/libc/mingw/lib32/dxgi.def b/lib/libc/mingw/lib32/dxgi.def new file mode 100644 index 0000000000..5f589f7aa4 --- /dev/null +++ b/lib/libc/mingw/lib32/dxgi.def @@ -0,0 +1,51 @@ +; +; Definition file of dxgi.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "dxgi.dll" +EXPORTS +D3DKMTCloseAdapter@4 +D3DKMTDestroyAllocation@4 +D3DKMTDestroyContext@4 +D3DKMTDestroyDevice@4 +D3DKMTDestroySynchronizationObject@4 +D3DKMTQueryAdapterInfo@4 +D3DKMTSetDisplayPrivateDriverFormat@4 +D3DKMTSignalSynchronizationObject@4 +D3DKMTUnlock@4 +DXGIDumpJournal@4 +OpenAdapter10@4 +OpenAdapter10_2@4 +CreateDXGIFactory1@8 +CreateDXGIFactory@8 +D3DKMTCreateAllocation@4 +D3DKMTCreateContext@4 +D3DKMTCreateDevice@4 +D3DKMTCreateSynchronizationObject@4 +D3DKMTEscape@4 +D3DKMTGetContextSchedulingPriority@4 +D3DKMTGetDeviceState@4 +D3DKMTGetDisplayModeList@4 +D3DKMTGetMultisampleMethodList@4 +D3DKMTGetRuntimeData@4 +D3DKMTGetSharedPrimaryHandle@4 +D3DKMTLock@4 +D3DKMTOpenAdapterFromHdc@4 +D3DKMTOpenResource@4 +D3DKMTPresent@4 +D3DKMTQueryAllocationResidency@4 +D3DKMTQueryResourceInfo@4 +D3DKMTRender@4 +D3DKMTSetAllocationPriority@4 +D3DKMTSetContextSchedulingPriority@4 +D3DKMTSetDisplayMode@4 +D3DKMTSetGammaRamp@4 +D3DKMTSetVidPnSourceOwner@4 +D3DKMTWaitForSynchronizationObject@4 +D3DKMTWaitForVerticalBlankEvent@4 +DXGID3D10CreateDevice@24 +DXGID3D10CreateLayeredDevice@20 +DXGID3D10GetLayeredDeviceSize@8 +DXGID3D10RegisterLayers@8 +DXGIReportAdapterConfiguration@4 diff --git a/lib/libc/mingw/lib32/dxva2.def b/lib/libc/mingw/lib32/dxva2.def new file mode 100644 index 0000000000..d43af5be36 --- /dev/null +++ b/lib/libc/mingw/lib32/dxva2.def @@ -0,0 +1,44 @@ +; +; Definition file of dxva2.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "dxva2.dll" +EXPORTS +CapabilitiesRequestAndCapabilitiesReply@12 +DXVA2CreateDirect3DDeviceManager9@8 +DXVA2CreateVideoService@12 +DegaussMonitor@4 +DestroyPhysicalMonitor@4 +DestroyPhysicalMonitors@8 +GetCapabilitiesStringLength@8 +GetMonitorBrightness@16 +GetMonitorCapabilities@12 +GetMonitorColorTemperature@8 +GetMonitorContrast@16 +GetMonitorDisplayAreaPosition@20 +GetMonitorDisplayAreaSize@20 +GetMonitorRedGreenOrBlueDrive@20 +GetMonitorRedGreenOrBlueGain@20 +GetMonitorTechnologyType@8 +GetNumberOfPhysicalMonitorsFromHMONITOR@8 +GetNumberOfPhysicalMonitorsFromIDirect3DDevice9@8 +GetPhysicalMonitorsFromHMONITOR@12 +GetPhysicalMonitorsFromIDirect3DDevice9@12 +GetTimingReport@8 +GetVCPFeatureAndVCPFeatureReply@20 +OPMGetVideoOutputsFromHMONITOR@16 +OPMGetVideoOutputsFromIDirect3DDevice9Object@16 +RestoreMonitorFactoryColorDefaults@4 +RestoreMonitorFactoryDefaults@4 +SaveCurrentMonitorSettings@4 +SaveCurrentSettings@4 +SetMonitorBrightness@8 +SetMonitorColorTemperature@8 +SetMonitorContrast@8 +SetMonitorDisplayAreaPosition@12 +SetMonitorDisplayAreaSize@12 +SetMonitorRedGreenOrBlueDrive@12 +SetMonitorRedGreenOrBlueGain@12 +SetVCPFeature@12 +UABGetCertificate@12 diff --git a/lib/libc/mingw/lib32/eappcfg.def b/lib/libc/mingw/lib32/eappcfg.def new file mode 100644 index 0000000000..f7a6d1c999 --- /dev/null +++ b/lib/libc/mingw/lib32/eappcfg.def @@ -0,0 +1,20 @@ +; +; Definition file of eappcfg.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "eappcfg.dll" +EXPORTS +EapHostPeerConfigBlob2Xml@36 +EapHostPeerConfigXml2Blob@24 +EapHostPeerCredentialsXml2Blob@32 +EapHostPeerFreeErrorMemory@4 +EapHostPeerFreeMemory@4 +EapHostPeerGetMethods@8 +EapHostPeerInvokeConfigUI@44 +EapHostPeerInvokeIdentityUI@64 +EapHostPeerInvokeInteractiveUI@24 +EapHostPeerQueryCredentialInputFields@40 +EapHostPeerQueryInteractiveUIInputFields@28 +EapHostPeerQueryUIBlobFromInteractiveUIInputFields@36 +EapHostPeerQueryUserBlobFromCredentialInputFields@48 diff --git a/lib/libc/mingw/lib32/eappprxy.def b/lib/libc/mingw/lib32/eappprxy.def new file mode 100644 index 0000000000..712886bd6f --- /dev/null +++ b/lib/libc/mingw/lib32/eappprxy.def @@ -0,0 +1,23 @@ +; +; Definition file of eappprxy.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "eappprxy.dll" +EXPORTS +EapHostPeerBeginSession@68 +EapHostPeerClearConnection@8 +EapHostPeerEndSession@8 +EapHostPeerFreeEapError@4 +EapHostPeerFreeRuntimeMemory@4 +EapHostPeerGetAuthStatus@20 +EapHostPeerGetIdentity@68 +EapHostPeerGetResponseAttributes@12 +EapHostPeerGetResult@16 +EapHostPeerGetSendPacket@16 +EapHostPeerGetUIContext@16 +EapHostPeerInitialize@0 +EapHostPeerProcessReceivedPacket@20 +EapHostPeerSetResponseAttributes@16 +EapHostPeerSetUIContext@20 +EapHostPeerUninitialize@0 diff --git a/lib/libc/mingw/lib32/elscore.def b/lib/libc/mingw/lib32/elscore.def new file mode 100644 index 0000000000..8d50feaf06 --- /dev/null +++ b/lib/libc/mingw/lib32/elscore.def @@ -0,0 +1,12 @@ +; +; Definition file of elscore.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "elscore.dll" +EXPORTS +MappingDoAction@12 +MappingFreePropertyBag@4 +MappingFreeServices@4 +MappingGetServices@12 +MappingRecognizeText@24 diff --git a/lib/libc/mingw/lib32/esent.def b/lib/libc/mingw/lib32/esent.def new file mode 100644 index 0000000000..f0b3b6ccf8 --- /dev/null +++ b/lib/libc/mingw/lib32/esent.def @@ -0,0 +1,557 @@ +; +; Definition file of ESENT.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "ESENT.dll" +EXPORTS +JetAddColumnA@28@28 +JetAddColumnW@28@28 +JetAttachDatabase2A@16@16 +JetAttachDatabase2W@16@16 +JetAttachDatabaseA@12@12 +JetAttachDatabaseW@12@12 +JetAttachDatabaseWithStreamingA@24@24 +JetAttachDatabaseWithStreamingW@24@24 +JetBackupA@12@12 +JetBackupInstanceA@16@16 +JetBackupInstanceW@16@16 +JetBackupW@12@12 +JetBeginExternalBackup@4@4 +JetBeginExternalBackupInstance@8@8 +JetBeginSessionA@16@16 +JetBeginSessionW@16@16 +JetBeginTransaction2@8@8 +JetBeginTransaction@4@4 +JetCloseDatabase@12@12 +JetCloseFile@4@4 +JetCloseFileInstance@8@8 +JetCloseTable@8@8 +JetCommitTransaction@8@8 +JetCompactA@24@24 +JetCompactW@24@24 +JetComputeStats@8@8 +JetConvertDDLA@20@20 +JetConvertDDLW@20@20 +JetCreateDatabase2A@20@20 +JetCreateDatabase2W@20@20 +JetCreateDatabaseA@20@20 +JetCreateDatabaseW@20@20 +JetCreateDatabaseWithStreamingA@28@28 +JetCreateDatabaseWithStreamingW@28@28 +JetCreateIndex2A@16@16 +JetCreateIndex2W@16@16 +JetCreateIndexA@28@28 +JetCreateIndexW@28@28 +JetCreateInstance2A@16@16 +JetCreateInstance2W@16@16 +JetCreateInstanceA@8@8 +JetCreateInstanceW@8@8 +JetCreateTableA@24@24 +JetCreateTableColumnIndex2A@12@12 +JetCreateTableColumnIndex2W@12@12 +JetCreateTableColumnIndexA@12@12 +JetCreateTableColumnIndexW@12@12 +JetCreateTableW@24@24 +JetDBUtilitiesA@4@4 +JetDBUtilitiesW@4@4 +JetDefragment2A@28@28 +JetDefragment2W@28@28 +JetDefragment3A@32@32 +JetDefragment3W@32@32 +JetDefragmentA@24@24 +JetDefragmentW@24@24 +JetDelete@8@8 +JetDeleteColumn2A@16@16 +JetDeleteColumn2W@16@16 +JetDeleteColumnA@12@12 +JetDeleteColumnW@12@12 +JetDeleteIndexA@12@12 +JetDeleteIndexW@12@12 +JetDeleteTableA@12@12 +JetDeleteTableW@12@12 +JetDetachDatabase2A@12@12 +JetDetachDatabase2W@12@12 +JetDetachDatabaseA@8@8 +JetDetachDatabaseW@8@8 +JetDupCursor@16@16 +JetDupSession@8@8 +JetEnableMultiInstanceA@12@12 +JetEnableMultiInstanceW@12@12 +JetEndExternalBackup@0@0 +JetEndExternalBackupInstance2@8@8 +JetEndExternalBackupInstance@4@4 +JetEndSession@8@8 +JetEnumerateColumns@40@40 +JetEscrowUpdate@36@36 +JetExternalRestore2A@40@40 +JetExternalRestore2W@40@40 +JetExternalRestoreA@32@32 +JetExternalRestoreW@32@32 +JetFreeBuffer@4@4 +JetGetAttachInfoA@12@12 +JetGetAttachInfoInstanceA@16@16 +JetGetAttachInfoInstanceW@16@16 +JetGetAttachInfoW@12@12 +JetGetBookmark@20@20 +JetGetColumnInfoA@28@28 +JetGetColumnInfoW@28@28 +JetGetCounter@12@12 +JetGetCurrentIndexA@16@16 +JetGetCurrentIndexW@16@16 +JetGetCursorInfo@20@20 +JetGetDatabaseFileInfoA@16@16 +JetGetDatabaseFileInfoW@16@16 +JetGetDatabaseInfoA@20@20 +JetGetDatabaseInfoW@20@20 +JetGetDatabasePages@28@28 +JetGetIndexInfoA@28@28 +JetGetIndexInfoW@28@28 +JetGetInstanceInfoA@8@8 +JetGetInstanceInfoW@8@8 +JetGetInstanceMiscInfo@16@16 +JetGetLS@16@16 +JetGetLock@12@12 +JetGetLogFileInfoA@16@16 +JetGetLogFileInfoW@16@16 +JetGetLogInfoA@12@12 +JetGetLogInfoInstance2A@20@20 +JetGetLogInfoInstance2W@20@20 +JetGetLogInfoInstanceA@16@16 +JetGetLogInfoInstanceW@16@16 +JetGetLogInfoW@12@12 +JetGetMaxDatabaseSize@16@16 +JetGetObjectInfoA@32@32 +JetGetObjectInfoW@32@32 +JetGetPageInfo@24@24 +JetGetRecordPosition@16@16 +JetGetRecordSize@16@16 +JetGetResourceParam@16@16 +JetGetSecondaryIndexBookmark@36@36 +JetGetSessionInfo@16@16 +JetGetSystemParameterA@24@24 +JetGetSystemParameterW@24@24 +JetGetTableColumnInfoA@24@24 +JetGetTableColumnInfoW@24@24 +JetGetTableIndexInfoA@24@24 +JetGetTableIndexInfoW@24@24 +JetGetTableInfoA@20@20 +JetGetTableInfoW@20@20 +JetGetThreadStats@8@8 +JetGetTruncateLogInfoInstanceA@16@16 +JetGetTruncateLogInfoInstanceW@16@16 +JetGetVersion@8@8 +JetGotoBookmark@16@16 +JetGotoPosition@12@12 +JetGotoSecondaryIndexBookmark@28@28 +JetGrowDatabase@16@16 +JetIdle@8@8 +JetIndexRecordCount@16@16 +JetInit2@8@8 +JetInit3A@12@12 +JetInit3W@12@12 +JetInit@4@4 +JetIntersectIndexes@20@20 +JetMakeKey@20@20 +JetMove@16@16 +JetOSSnapshotAbort@8@8 +JetOSSnapshotEnd@8@8 +JetOSSnapshotFreezeA@16@16 +JetOSSnapshotFreezeW@16@16 +JetOSSnapshotGetFreezeInfoA@16@16 +JetOSSnapshotGetFreezeInfoW@16@16 +JetOSSnapshotPrepare@8@8 +JetOSSnapshotPrepareInstance@12@12 +JetOSSnapshotThaw@8@8 +JetOSSnapshotTruncateLog@8@8 +JetOSSnapshotTruncateLogInstance@12@12 +JetOpenDatabaseA@20@20 +JetOpenDatabaseW@20@20 +JetOpenFileA@16@16 +JetOpenFileInstanceA@20@20 +JetOpenFileInstanceW@20@20 +JetOpenFileSectionInstanceA@28@28 +JetOpenFileSectionInstanceW@28@28 +JetOpenFileW@16@16 +JetOpenTableA@28@28 +JetOpenTableW@28@28 +JetOpenTempTable2@28@28 +JetOpenTempTable3@28@28 +JetOpenTempTable@24@24 +JetOpenTemporaryTable@8@8 +JetPrepareToCommitTransaction@16@16 +JetPrepareUpdate@12@12 +JetReadFile@16@16 +JetReadFileInstance@20@20 +JetRegisterCallback@24@24 +JetRenameColumnA@20@20 +JetRenameColumnW@20@20 +JetRenameTableA@16@16 +JetRenameTableW@16@16 +JetResetCounter@8@8 +JetResetSessionContext@4@4 +JetResetTableSequential@12@12 +JetRestore2A@12@12 +JetRestore2W@12@12 +JetRestoreA@8@8 +JetRestoreInstanceA@16@16 +JetRestoreInstanceW@16@16 +JetRestoreW@8@8 +JetRetrieveColumn@32@32 +JetRetrieveColumns@16@16 +JetRetrieveKey@24@24 +JetRetrieveTaggedColumnList@28@28 +JetRollback@8@8 +JetSeek@12@12 +JetSetColumn@28@28 +JetSetColumnDefaultValueA@28@28 +JetSetColumnDefaultValueW@28@28 +JetSetColumns@16@16 +JetSetCurrentIndex2A@16@16 +JetSetCurrentIndex2W@16@16 +JetSetCurrentIndex3A@20@20 +JetSetCurrentIndex3W@20@20 +JetSetCurrentIndex4A@24@24 +JetSetCurrentIndex4W@24@24 +JetSetCurrentIndexA@12@12 +JetSetCurrentIndexW@12@12 +JetSetDatabaseSizeA@16@16 +JetSetDatabaseSizeW@16@16 +JetSetIndexRange@12@12 +JetSetLS@16@16 +JetSetMaxDatabaseSize@16@16 +JetSetResourceParam@16@16 +JetSetSessionContext@8@8 +JetSetSystemParameterA@20@20 +JetSetSystemParameterW@20@20 +JetSetTableSequential@12@12 +JetSnapshotStartA@12@12 +JetSnapshotStartW@12@12 +JetSnapshotStop@8@8 +JetStopBackup@0@0 +JetStopBackupInstance@4@4 +JetStopService@0@0 +JetStopServiceInstance@4@4 +JetTerm2@8@8 +JetTerm@4@4 +JetTracing@12@12 +JetTruncateLog@0@0 +JetTruncateLogInstance@4@4 +JetUnregisterCallback@16@16 +JetUpdate2@24@24 +JetUpdate@20@20 +JetUpgradeDatabaseA@16@16 +JetUpgradeDatabaseW@16@16 +JetAddColumn@28 +JetAddColumnA@28 +JetAddColumnW@28 +JetAttachDatabase2@16 +JetAttachDatabase2A@16 +JetAttachDatabase2W@16 +JetAttachDatabase@12 +JetAttachDatabaseA@12 +JetAttachDatabaseW@12 +JetAttachDatabaseWithStreaming@24 +JetAttachDatabaseWithStreamingA@24 +JetAttachDatabaseWithStreamingW@24 +JetBackup@12 +JetBackupA@12 +JetBackupInstance@16 +JetBackupInstanceA@16 +JetBackupInstanceW@16 +JetBackupW@12 +JetBeginExternalBackup@4 +JetBeginExternalBackupInstance@8 +JetBeginSession@16 +JetBeginSessionA@16 +JetBeginSessionW@16 +JetBeginTransaction2@8 +JetBeginTransaction@4 +JetCloseDatabase@12 +JetCloseFile@4 +JetCloseFileInstance@8 +JetCloseTable@8 +JetCommitTransaction@8 +JetCompact@24 +JetCompactA@24 +JetCompactW@24 +JetComputeStats@8 +JetConvertDDL@20 +JetConvertDDLA@20 +JetConvertDDLW@20 +JetCreateDatabase2@20 +JetCreateDatabase2A@20 +JetCreateDatabase2W@20 +JetCreateDatabase@20 +JetCreateDatabaseA@20 +JetCreateDatabaseW@20 +JetCreateDatabaseWithStreaming@28 +JetCreateDatabaseWithStreamingA@28 +JetCreateDatabaseWithStreamingW@28 +JetCreateIndex2@16 +JetCreateIndex2A@16 +JetCreateIndex2W@16 +JetCreateIndex@28 +JetCreateIndexA@28 +JetCreateIndexW@28 +JetCreateInstance2@16 +JetCreateInstance2A@16 +JetCreateInstance2W@16 +JetCreateInstance@8 +JetCreateInstanceA@8 +JetCreateInstanceW@8 +JetCreateTable@24 +JetCreateTableA@24 +JetCreateTableColumnIndex2@12 +JetCreateTableColumnIndex2A@12 +JetCreateTableColumnIndex2W@12 +JetCreateTableColumnIndex@12 +JetCreateTableColumnIndexA@12 +JetCreateTableColumnIndexW@12 +JetCreateTableW@24 +JetDBUtilities@4 +JetDBUtilitiesA@4 +JetDBUtilitiesW@4 +JetDefragment2@28 +JetDefragment2A@28 +JetDefragment2W@28 +JetDefragment3@32 +JetDefragment3A@32 +JetDefragment3W@32 +JetDefragment@24 +JetDefragmentA@24 +JetDefragmentW@24 +JetDelete@8 +JetDeleteColumn2@16 +JetDeleteColumn2A@16 +JetDeleteColumn2W@16 +JetDeleteColumn@12 +JetDeleteColumnA@12 +JetDeleteColumnW@12 +JetDeleteIndex@12 +JetDeleteIndexA@12 +JetDeleteIndexW@12 +JetDeleteTable@12 +JetDeleteTableA@12 +JetDeleteTableW@12 +JetDetachDatabase2@12 +JetDetachDatabase2A@12 +JetDetachDatabase2W@12 +JetDetachDatabase@8 +JetDetachDatabaseA@8 +JetDetachDatabaseW@8 +JetDupCursor@16 +JetDupSession@8 +JetEnableMultiInstance@12 +JetEnableMultiInstanceA@12 +JetEnableMultiInstanceW@12 +JetEndExternalBackup@0 +JetEndExternalBackupInstance2@8 +JetEndExternalBackupInstance@4 +JetEndSession@8 +JetEnumerateColumns@40 +JetEscrowUpdate@36 +JetExternalRestore2@40 +JetExternalRestore2A@40 +JetExternalRestore2W@40 +JetExternalRestore@32 +JetExternalRestoreA@32 +JetExternalRestoreW@32 +JetFreeBuffer@4 +JetGetAttachInfo@12 +JetGetAttachInfoA@12 +JetGetAttachInfoInstance@16 +JetGetAttachInfoInstanceA@16 +JetGetAttachInfoInstanceW@16 +JetGetAttachInfoW@12 +JetGetBookmark@20 +JetGetColumnInfo@28 +JetGetColumnInfoA@28 +JetGetColumnInfoW@28 +JetGetCounter@12 +JetGetCurrentIndex@16 +JetGetCurrentIndexA@16 +JetGetCurrentIndexW@16 +JetGetCursorInfo@20 +JetGetDatabaseFileInfo@16 +JetGetDatabaseFileInfoA@16 +JetGetDatabaseFileInfoW@16 +JetGetDatabaseInfo@20 +JetGetDatabaseInfoA@20 +JetGetDatabaseInfoW@20 +JetGetDatabasePages@28 +JetGetIndexInfo@28 +JetGetIndexInfoA@28 +JetGetIndexInfoW@28 +JetGetInstanceInfo@8 +JetGetInstanceInfoA@8 +JetGetInstanceInfoW@8 +JetGetInstanceMiscInfo@16 +JetGetLS@16 +JetGetLock@12 +JetGetLogFileInfo@16 +JetGetLogFileInfoA@16 +JetGetLogFileInfoW@16 +JetGetLogInfo@12 +JetGetLogInfoA@12 +JetGetLogInfoInstance2@20 +JetGetLogInfoInstance2A@20 +JetGetLogInfoInstance2W@20 +JetGetLogInfoInstance@16 +JetGetLogInfoInstanceA@16 +JetGetLogInfoInstanceW@16 +JetGetLogInfoW@12 +JetGetMaxDatabaseSize@16 +JetGetObjectInfo@32 +JetGetObjectInfoA@32 +JetGetObjectInfoW@32 +JetGetPageInfo@24 +JetGetRecordPosition@16 +JetGetRecordSize@16 +JetGetResourceParam@16 +JetGetSecondaryIndexBookmark@36 +JetGetSessionInfo@16 +JetGetSystemParameter@24 +JetGetSystemParameterA@24 +JetGetSystemParameterW@24 +JetGetTableColumnInfo@24 +JetGetTableColumnInfoA@24 +JetGetTableColumnInfoW@24 +JetGetTableIndexInfo@24 +JetGetTableIndexInfoA@24 +JetGetTableIndexInfoW@24 +JetGetTableInfo@20 +JetGetTableInfoA@20 +JetGetTableInfoW@20 +JetGetThreadStats@8 +JetGetTruncateLogInfoInstance@16 +JetGetTruncateLogInfoInstanceA@16 +JetGetTruncateLogInfoInstanceW@16 +JetGetVersion@8 +JetGotoBookmark@16 +JetGotoPosition@12 +JetGotoSecondaryIndexBookmark@28 +JetGrowDatabase@16 +JetIdle@8 +JetIndexRecordCount@16 +JetInit2@8 +JetInit3@12 +JetInit3A@12 +JetInit3W@12 +JetInit@4 +JetIntersectIndexes@20 +JetMakeKey@20 +JetMove@16 +JetOSSnapshotAbort@8 +JetOSSnapshotEnd@8 +JetOSSnapshotFreeze@16 +JetOSSnapshotFreezeA@16 +JetOSSnapshotFreezeW@16 +JetOSSnapshotGetFreezeInfo@16 +JetOSSnapshotGetFreezeInfoA@16 +JetOSSnapshotGetFreezeInfoW@16 +JetOSSnapshotPrepare@8 +JetOSSnapshotPrepareInstance@12 +JetOSSnapshotThaw@8 +JetOSSnapshotTruncateLog@8 +JetOSSnapshotTruncateLogInstance@12 +JetOpenDatabase@20 +JetOpenDatabaseA@20 +JetOpenDatabaseW@20 +JetOpenFile@16 +JetOpenFileA@16 +JetOpenFileInstance@20 +JetOpenFileInstanceA@20 +JetOpenFileInstanceW@20 +JetOpenFileSectionInstance@28 +JetOpenFileSectionInstanceA@28 +JetOpenFileSectionInstanceW@28 +JetOpenFileW@16 +JetOpenTable@28 +JetOpenTableA@28 +JetOpenTableW@28 +JetOpenTempTable2@28 +JetOpenTempTable3@28 +JetOpenTempTable@24 +JetOpenTemporaryTable@8 +JetPrepareToCommitTransaction@16 +JetPrepareUpdate@12 +JetReadFile@16 +JetReadFileInstance@20 +JetRegisterCallback@24 +JetRenameColumn@20 +JetRenameColumnA@20 +JetRenameColumnW@20 +JetRenameTable@16 +JetRenameTableA@16 +JetRenameTableW@16 +JetResetCounter@8 +JetResetSessionContext@4 +JetResetTableSequential@12 +JetRestore2@12 +JetRestore2A@12 +JetRestore2W@12 +JetRestore@8 +JetRestoreA@8 +JetRestoreInstance@16 +JetRestoreInstanceA@16 +JetRestoreInstanceW@16 +JetRestoreW@8 +JetRetrieveColumn@32 +JetRetrieveColumns@16 +JetRetrieveKey@24 +JetRetrieveTaggedColumnList@28 +JetRollback@8 +JetSeek@12 +JetSetColumn@28 +JetSetColumnDefaultValue@28 +JetSetColumnDefaultValueA@28 +JetSetColumnDefaultValueW@28 +JetSetColumns@16 +JetSetCurrentIndex2@16 +JetSetCurrentIndex2A@16 +JetSetCurrentIndex2W@16 +JetSetCurrentIndex3@20 +JetSetCurrentIndex3A@20 +JetSetCurrentIndex3W@20 +JetSetCurrentIndex4@24 +JetSetCurrentIndex4A@24 +JetSetCurrentIndex4W@24 +JetSetCurrentIndex@12 +JetSetCurrentIndexA@12 +JetSetCurrentIndexW@12 +JetSetDatabaseSize@16 +JetSetDatabaseSizeA@16 +JetSetDatabaseSizeW@16 +JetSetIndexRange@12 +JetSetLS@16 +JetSetMaxDatabaseSize@16 +JetSetResourceParam@16 +JetSetSessionContext@8 +JetSetSystemParameter@20 +JetSetSystemParameterA@20 +JetSetSystemParameterW@20 +JetSetTableSequential@12 +JetSnapshotStart@12 +JetSnapshotStartA@12 +JetSnapshotStartW@12 +JetSnapshotStop@8 +JetStopBackup@0 +JetStopBackupInstance@4 +JetStopService@0 +JetStopServiceInstance@4 +JetTerm2@8 +JetTerm@4 +JetTracing@12 +JetTruncateLog@0 +JetTruncateLogInstance@4 +JetUnregisterCallback@16 +JetUpdate2@24 +JetUpdate@20 +JetUpgradeDatabase@16 +JetUpgradeDatabaseA@16 +JetUpgradeDatabaseW@16 +ese@20 +esent@12 +ese@20@20 +esent@12@12 diff --git a/lib/libc/mingw/lib32/evr.def b/lib/libc/mingw/lib32/evr.def new file mode 100644 index 0000000000..5c5e20a2c5 --- /dev/null +++ b/lib/libc/mingw/lib32/evr.def @@ -0,0 +1,34 @@ +; +; Definition file of EVR.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "EVR.dll" +EXPORTS +DllCanUnloadNow@0 +DllGetClassObject@12 +DllRegisterServer@0 +DllUnregisterServer@0 +MFConvertColorInfoFromDXVA@8 +MFConvertColorInfoToDXVA@8 +MFConvertFromFP16Array@12 +MFConvertToFP16Array@12 +MFCopyImage@24 +MFCreateDXSurfaceBuffer@16 +MFCreateVideoMediaType@8 +MFCreateVideoMediaTypeFromBitMapInfoHeader@48 +MFCreateVideoMediaTypeFromSubtype@8 +MFCreateVideoMediaTypeFromVideoInfoHeader2@24 +MFCreateVideoMediaTypeFromVideoInfoHeader@36 +MFCreateVideoMixer@16 +MFCreateVideoMixerAndPresenter@24 +MFCreateVideoOTA@8 +MFCreateVideoPresenter@16 +MFCreateVideoSampleAllocator@8 +MFCreateVideoSampleFromSurface@8 +MFGetPlaneSize@16 +MFGetStrideForBitmapInfoHeader@12 +MFGetUncompressedVideoFormat@4 +MFInitVideoFormat@8 +MFInitVideoFormat_RGB@16 +MFIsFormatYUV@4 diff --git a/lib/libc/mingw/lib32/faultrep.def b/lib/libc/mingw/lib32/faultrep.def new file mode 100644 index 0000000000..dbc72725fa --- /dev/null +++ b/lib/libc/mingw/lib32/faultrep.def @@ -0,0 +1,5 @@ +LIBRARY faultrep.DLL +EXPORTS +AddERExcludedApplicationA@4 +AddERExcludedApplicationW@4 +ReportFault@8 diff --git a/lib/libc/mingw/lib32/fwpuclnt.def b/lib/libc/mingw/lib32/fwpuclnt.def new file mode 100644 index 0000000000..03c006c5b4 --- /dev/null +++ b/lib/libc/mingw/lib32/fwpuclnt.def @@ -0,0 +1,146 @@ +; +; Definition file of fwpuclnt.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "fwpuclnt.dll" +EXPORTS +FwpmCalloutAdd0@16 +FwpmCalloutCreateEnumHandle0@12 +FwpmCalloutDeleteById0@8 +FwpmCalloutDeleteByKey0@8 +FwpmCalloutDestroyEnumHandle0@8 +FwpmCalloutEnum0@20 +FwpmCalloutGetById0@12 +FwpmCalloutGetByKey0@12 +FwpmCalloutGetSecurityInfoByKey0@32 +FwpmCalloutSetSecurityInfoByKey0@28 +FwpmCalloutSubscribeChanges0@20 +FwpmCalloutSubscriptionsGet0@12 +FwpmCalloutUnsubscribeChanges0@8 +FwpmDiagnoseNetFailure0@12 +FwpmEngineClose0@4 +FwpmEngineGetOption0@12 +FwpmEngineGetSecurityInfo0@28 +FwpmEngineOpen0@20 +FwpmEngineSetOption0@12 +FwpmEngineSetSecurityInfo0@24 +FwpmEventProviderCreate0@8 +FwpmEventProviderDestroy0@4 +FwpmEventProviderFireNetEvent0@12 +FwpmEventProviderIsNetEventTypeEnabled0@12 +FwpmFilterAdd0@16 +FwpmFilterCreateEnumHandle0@12 +FwpmFilterDeleteById0@12 +FwpmFilterDeleteByKey0@8 +FwpmFilterDestroyEnumHandle0@8 +FwpmFilterEnum0@20 +FwpmFilterGetById0@16 +FwpmFilterGetByKey0@12 +FwpmFilterGetSecurityInfoByKey0@32 +FwpmFilterSetSecurityInfoByKey0@28 +FwpmFilterSubscribeChanges0@20 +FwpmFilterSubscriptionsGet0@12 +FwpmFilterUnsubscribeChanges0@8 +FwpmFreeMemory0@4 +FwpmGetAppIdFromFileName0@8 +FwpmIPsecTunnelAdd0@28 +FwpmIPsecTunnelDeleteByKey0@8 +FwpmLayerCreateEnumHandle0@12 +FwpmLayerDestroyEnumHandle0@8 +FwpmLayerEnum0@20 +FwpmLayerGetById0@12 +FwpmLayerGetByKey0@12 +FwpmLayerGetSecurityInfoByKey0@32 +FwpmLayerSetSecurityInfoByKey0@28 +FwpmNetEventCreateEnumHandle0@12 +FwpmNetEventDestroyEnumHandle0@8 +FwpmNetEventEnum0@20 +FwpmNetEventsGetSecurityInfo0@28 +FwpmNetEventsSetSecurityInfo0@24 +FwpmProviderAdd0@12 +FwpmProviderContextAdd0@16 +FwpmProviderContextCreateEnumHandle0@12 +FwpmProviderContextDeleteById0@12 +FwpmProviderContextDeleteByKey0@8 +FwpmProviderContextDestroyEnumHandle0@8 +FwpmProviderContextEnum0@20 +FwpmProviderContextGetById0@16 +FwpmProviderContextGetByKey0@12 +FwpmProviderContextGetSecurityInfoByKey0@32 +FwpmProviderContextSetSecurityInfoByKey0@28 +FwpmProviderContextSubscribeChanges0@20 +FwpmProviderContextSubscriptionsGet0@12 +FwpmProviderContextUnsubscribeChanges0@8 +FwpmProviderCreateEnumHandle0@12 +FwpmProviderDeleteByKey0@8 +FwpmProviderDestroyEnumHandle0@8 +FwpmProviderEnum0@20 +FwpmProviderGetByKey0@12 +FwpmProviderGetSecurityInfoByKey0@32 +FwpmProviderSetSecurityInfoByKey0@28 +FwpmProviderSubscribeChanges0@20 +FwpmProviderSubscriptionsGet0@12 +FwpmProviderUnsubscribeChanges0@8 +FwpmSessionCreateEnumHandle0@12 +FwpmSessionDestroyEnumHandle0@8 +FwpmSessionEnum0@20 +FwpmSubLayerAdd0@12 +FwpmSubLayerCreateEnumHandle0@12 +FwpmSubLayerDeleteByKey0@8 +FwpmSubLayerDestroyEnumHandle0@8 +FwpmSubLayerEnum0@20 +FwpmSubLayerGetByKey0@12 +FwpmSubLayerGetSecurityInfoByKey0@32 +FwpmSubLayerSetSecurityInfoByKey0@28 +FwpmSubLayerSubscribeChanges0@20 +FwpmSubLayerSubscriptionsGet0@12 +FwpmSubLayerUnsubscribeChanges0@8 +FwpmTraceRestoreDefaults0@0 +FwpmTransactionAbort0@4 +FwpmTransactionBegin0@8 +FwpmTransactionCommit0@4 +FwpsAleExplicitCredentialsQuery0@16 +FwpsClassifyUser0@28 +FwpsFreeMemory0@4 +FwpsGetInProcReplicaOffset0@4 +FwpsLayerCreateInProcReplica0@8 +FwpsLayerReleaseInProcReplica0@8 +FwpsOpenToken0@20 +IPsecGetStatistics0@8 +IPsecKeyModuleAdd0@12 +IPsecKeyModuleCompleteAcquire0@16 +IPsecKeyModuleDelete0@8 +IPsecSaContextAddInbound0@16 +IPsecSaContextAddOutbound0@16 +IPsecSaContextCreate0@16 +IPsecSaContextCreateEnumHandle0@12 +IPsecSaContextDeleteById0@12 +IPsecSaContextDestroyEnumHandle0@8 +IPsecSaContextEnum0@20 +IPsecSaContextExpire0@12 +IPsecSaContextGetById0@16 +IPsecSaContextGetSpi0@20 +IPsecSaCreateEnumHandle0@12 +IPsecSaDbGetSecurityInfo0@28 +IPsecSaDbSetSecurityInfo0@24 +IPsecSaDestroyEnumHandle0@8 +IPsecSaEnum0@20 +IPsecSaInitiateAsync0@16 +IkeextGetConfigParameters0@4 +IkeextGetStatistics0@8 +IkeextSaCreateEnumHandle0@12 +IkeextSaDbGetSecurityInfo0@28 +IkeextSaDbSetSecurityInfo0@24 +IkeextSaDeleteById0@12 +IkeextSaDestroyEnumHandle0@8 +IkeextSaEnum0@20 +IkeextSaGetById0@16 +IkeextSetConfigParameters0@4 +WSADeleteSocketPeerTargetName@20 +WSAImpersonateSocketPeer@12 +WSAQuerySocketSecurity@28 +WSARevertImpersonation@0 +WSASetSocketPeerTargetName@20 +WSASetSocketSecurity@20 +wfpdiagW@16 diff --git a/lib/libc/mingw/lib32/gpedit.def b/lib/libc/mingw/lib32/gpedit.def new file mode 100644 index 0000000000..cf5f320335 --- /dev/null +++ b/lib/libc/mingw/lib32/gpedit.def @@ -0,0 +1,20 @@ +; +; Definition file of GPEDIT.DLL +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "GPEDIT.DLL" +EXPORTS +ord_100@8 @100 +ord_101@4 @101 +ord_102 @102 +ord_103@12 @103 +ord_104@12 @104 +BrowseForGPO@8 +CreateGPOLink@12 +DeleteAllGPOLinks@4 +DeleteGPOLink@8 +DllCanUnloadNow +DllGetClassObject@12 +ExportRSoPData@8 +ImportRSoPData@8 diff --git a/lib/libc/mingw/lib32/hid.def b/lib/libc/mingw/lib32/hid.def new file mode 100644 index 0000000000..bfbc9eaf0a --- /dev/null +++ b/lib/libc/mingw/lib32/hid.def @@ -0,0 +1,47 @@ +LIBRARY hid.dll +EXPORTS +HidD_FlushQueue@4 +HidD_FreePreparsedData@4 +HidD_GetAttributes@8 +HidD_GetConfiguration@12 +HidD_GetFeature@12 +HidD_GetHidGuid@4 +HidD_GetIndexedString@16 +HidD_GetInputReport@12 +HidD_GetManufacturerString@12 +HidD_GetMsGenreDescriptor@12 +HidD_GetNumInputBuffers@8 +HidD_GetPhysicalDescriptor@12 +HidD_GetPreparsedData@8 +HidD_GetProductString@12 +HidD_GetSerialNumberString@12 +HidD_Hello@8 +HidD_SetConfiguration@12 +HidD_SetFeature@12 +HidD_SetNumInputBuffers@8 +HidD_SetOutputReport@12 +HidP_GetButtonCaps@16 +HidP_GetCaps@8 +HidP_GetData@24 +HidP_GetExtendedAttributes@20 +HidP_GetLinkCollectionNodes@12 +HidP_GetScaledUsageValue@32 +HidP_GetSpecificButtonCaps@28 +HidP_GetSpecificValueCaps@28 +HidP_GetUsageValue@32 +HidP_GetUsageValueArray@36 +HidP_GetUsages@32 +HidP_GetUsagesEx@28 +HidP_GetValueCaps@16 +HidP_InitializeReportForID@20 +HidP_MaxDataListLength@8 +HidP_MaxUsageListLength@12 +HidP_SetData@24 +HidP_SetScaledUsageValue@32 +HidP_SetUsageValue@32 +HidP_SetUsageValueArray@36 +HidP_SetUsages@32 +HidP_TranslateUsagesToI8042ScanCodes@24 +HidP_UnsetUsages@32 +HidP_UsageListDifference@20 +;HidservInstaller diff --git a/lib/libc/mingw/lib32/httpapi.def b/lib/libc/mingw/lib32/httpapi.def new file mode 100644 index 0000000000..4bd78ad15e --- /dev/null +++ b/lib/libc/mingw/lib32/httpapi.def @@ -0,0 +1,44 @@ +; +; Definition file of HTTPAPI.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "HTTPAPI.dll" +EXPORTS +HttpAddFragmentToCache@20 +HttpAddUrl@12 +HttpAddUrlToUrlGroup@24 +HttpCancelHttpRequest@16 +HttpCloseRequestQueue@4 +HttpCloseServerSession@8 +HttpCloseUrlGroup@8 +HttpControlService@20 +HttpCreateHttpHandle@8 +HttpCreateRequestQueue@20 +HttpCreateServerSession@12 +HttpCreateUrlGroup@16 +HttpDeleteServiceConfiguration@20 +HttpFlushResponseCache@16 +HttpGetCounters@24 +HttpInitialize@12 +HttpQueryRequestQueueProperty@28 +HttpQueryServerSessionProperty@24 +HttpQueryServiceConfiguration@32 +HttpQueryUrlGroupProperty@24 +HttpReadFragmentFromCache@28 +HttpReceiveClientCertificate@32 +HttpReceiveHttpRequest@32 +HttpReceiveRequestEntityBody@32 +HttpRemoveUrl@8 +HttpRemoveUrlFromUrlGroup@16 +HttpSendHttpResponse@44 +HttpSendResponseEntityBody@44 +HttpSetRequestQueueProperty@24 +HttpSetServerSessionProperty@20 +HttpSetServiceConfiguration@20 +HttpSetUrlGroupProperty@20 +HttpShutdownRequestQueue@4 +HttpTerminate@8 +HttpWaitForDemandStart@8 +HttpWaitForDisconnect@16 +HttpWaitForDisconnectEx@20 diff --git a/lib/libc/mingw/lib32/icmui.def b/lib/libc/mingw/lib32/icmui.def new file mode 100644 index 0000000000..679eeeb1db --- /dev/null +++ b/lib/libc/mingw/lib32/icmui.def @@ -0,0 +1,4 @@ +LIBRARY ICMUI.DLL +EXPORTS +SetupColorMatchingA@4 +SetupColorMatchingW@4 diff --git a/lib/libc/mingw/lib32/iscsidsc.def b/lib/libc/mingw/lib32/iscsidsc.def new file mode 100644 index 0000000000..9e4534b58a --- /dev/null +++ b/lib/libc/mingw/lib32/iscsidsc.def @@ -0,0 +1,79 @@ +; +; Definition file of ISCSIDSC.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "ISCSIDSC.dll" +EXPORTS +AddISNSServerA@4 +AddISNSServerW@4 +AddIScsiConnectionA@40 +AddIScsiConnectionW@40 +AddIScsiSendTargetPortalA@24 +AddIScsiSendTargetPortalW@24 +AddIScsiStaticTargetA@28 +AddIScsiStaticTargetW@28 +AddPersistentIScsiDeviceA@4 +AddPersistentIScsiDeviceW@4 +ClearPersistentIScsiDevices +;DllMain@12 +GetDevicesForIScsiSessionA@12 +GetDevicesForIScsiSessionW@12 +GetIScsiIKEInfoA@16 +GetIScsiIKEInfoW@16 +GetIScsiInitiatorNodeNameA@4 +GetIScsiInitiatorNodeNameW@4 +GetIScsiSessionListA@12 +GetIScsiSessionListW@12 +GetIScsiTargetInformationA@20 +GetIScsiTargetInformationW@20 +GetIScsiVersionInformation@4 +LoginIScsiTargetA@56 +LoginIScsiTargetW@56 +LogoutIScsiTarget@4 +RefreshISNSServerA@4 +RefreshISNSServerW@4 +RefreshIScsiSendTargetPortalA@12 +RefreshIScsiSendTargetPortalW@12 +RemoveISNSServerA@4 +RemoveISNSServerW@4 +RemoveIScsiConnection@8 +RemoveIScsiPersistentTargetA@16 +RemoveIScsiPersistentTargetW@16 +RemoveIScsiSendTargetPortalA@12 +RemoveIScsiSendTargetPortalW@12 +RemoveIScsiStaticTargetA@4 +RemoveIScsiStaticTargetW@4 +RemovePersistentIScsiDeviceA@4 +RemovePersistentIScsiDeviceW@4 +ReportActiveIScsiTargetMappingsA@12 +ReportActiveIScsiTargetMappingsW@12 +ReportISNSServerListA@8 +ReportISNSServerListW@8 +ReportIScsiInitiatorListA@8 +ReportIScsiInitiatorListW@8 +ReportIScsiPersistentLoginsA@12 +ReportIScsiPersistentLoginsW@12 +ReportIScsiSendTargetPortalsA@8 +ReportIScsiSendTargetPortalsExA@12 +ReportIScsiSendTargetPortalsExW@12 +ReportIScsiSendTargetPortalsW@8 +ReportIScsiTargetPortalsA@20 +ReportIScsiTargetPortalsW@20 +ReportIScsiTargetsA@12 +ReportIScsiTargetsW@12 +ReportPersistentIScsiDevicesA@8 +ReportPersistentIScsiDevicesW@8 +SendScsiInquiry@40 +SendScsiReadCapacity@32 +SendScsiReportLuns@24 +SetIScsiGroupPresharedKey@12 +SetIScsiIKEInfoA@16 +SetIScsiIKEInfoW@16 +SetIScsiInitiatorCHAPSharedSecret@8 +SetIScsiInitiatorNodeNameA@4 +SetIScsiInitiatorNodeNameW@4 +SetIScsiTunnelModeOuterAddressA@20 +SetIScsiTunnelModeOuterAddressW@20 +SetupPersistentIScsiDevices +SetupPersistentIScsiVolumes diff --git a/lib/libc/mingw/lib32/ksuser.def b/lib/libc/mingw/lib32/ksuser.def new file mode 100644 index 0000000000..63a6916186 --- /dev/null +++ b/lib/libc/mingw/lib32/ksuser.def @@ -0,0 +1,6 @@ +LIBRARY ksuser.dll +EXPORTS +KsCreateAllocator@12 +KsCreateClock@12 +KsCreatePin@16 +KsCreateTopologyNode@16 diff --git a/lib/libc/mingw/lib32/ktmw32.def b/lib/libc/mingw/lib32/ktmw32.def new file mode 100644 index 0000000000..d07c9ae4e8 --- /dev/null +++ b/lib/libc/mingw/lib32/ktmw32.def @@ -0,0 +1,51 @@ +; +; Definition file of ktmw32.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "ktmw32.dll" +EXPORTS +CommitComplete@8 +CommitEnlistment@8 +CommitTransaction@4 +CommitTransactionAsync@4 +CreateEnlistment@24 +CreateResourceManager@20 +CreateTransaction@28 +CreateTransactionManager@16 +GetCurrentClockTransactionManager@8 +GetEnlistmentId@8 +GetEnlistmentRecoveryInformation@16 +GetNotificationResourceManager@20 +GetNotificationResourceManagerAsync@20 +GetTransactionId@8 +GetTransactionInformation@28 +GetTransactionManagerId@8 +OpenEnlistment@12 +OpenResourceManager@12 +OpenTransaction@8 +OpenTransactionManager@12 +OpenTransactionManagerById@12 +PrePrepareComplete@8 +PrePrepareEnlistment@8 +PrepareComplete@8 +PrepareEnlistment@8 +PrivCreateTransaction@28 +PrivIsLogWritableTransactionManager@4 +PrivPropagationComplete@16 +PrivPropagationFailed@8 +PrivRegisterProtocolAddressInformation@20 +ReadOnlyEnlistment@8 +RecoverEnlistment@8 +RecoverResourceManager@4 +RecoverTransactionManager@4 +RenameTransactionManager@8 +RollbackComplete@8 +RollbackEnlistment@8 +RollbackTransaction@4 +RollbackTransactionAsync@4 +RollforwardTransactionManager@8 +SetEnlistmentRecoveryInformation@12 +SetResourceManagerCompletionPort@12 +SetTransactionInformation@20 +SinglePhaseReject@8 diff --git a/lib/libc/mingw/lib32/logoncli.def b/lib/libc/mingw/lib32/logoncli.def new file mode 100644 index 0000000000..6e01a9b602 --- /dev/null +++ b/lib/libc/mingw/lib32/logoncli.def @@ -0,0 +1,80 @@ +; +; Definition file of logoncli.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "logoncli.dll" +EXPORTS +DsAddressToSiteNamesA@16 +DsAddressToSiteNamesExA@20 +DsAddressToSiteNamesExW@20 +DsAddressToSiteNamesW@16 +DsDeregisterDnsHostRecordsA@20 +DsDeregisterDnsHostRecordsW@20 +DsEnumerateDomainTrustsA@16 +DsEnumerateDomainTrustsW@16 +DsGetDcCloseW@4 +DsGetDcNameA@24 +DsGetDcNameW@24 +DsGetDcNameWithAccountA@32 +DsGetDcNameWithAccountW@32 +DsGetDcNextA@16 +DsGetDcNextW@16 +DsGetDcOpenA@28 +DsGetDcOpenW@28 +DsGetDcSiteCoverageA@12 +DsGetDcSiteCoverageW@12 +DsGetForestTrustInformationW@16 +DsGetSiteNameA@8 +DsGetSiteNameW@8 +DsMergeForestTrustInformationW@16 +DsValidateSubnetNameA@4 +DsValidateSubnetNameW@4 +I_DsUpdateReadOnlyServerDnsRecords@28 +I_NetAccountDeltas@48 +I_NetAccountSync@48 +I_NetChainSetClientAttributes2@36 +I_NetChainSetClientAttributes@36 +I_NetDatabaseDeltas@32 +I_NetDatabaseRedo@28 +I_NetDatabaseSync2@36 +I_NetDatabaseSync@32 +I_NetGetDCList@16 +I_NetGetForestTrustInformation@24 +I_NetLogonControl2@20 +I_NetLogonControl@16 +I_NetLogonGetCapabilities@24 +I_NetLogonGetDomainInfo@28 +I_NetLogonSamLogoff@24 +I_NetLogonSamLogon@36 +I_NetLogonSamLogonEx@40 +I_NetLogonSamLogonWithFlags@40 +I_NetLogonSendToSam@24 +I_NetLogonUasLogoff@12 +I_NetLogonUasLogon@12 +I_NetServerAuthenticate2@28 +I_NetServerAuthenticate3@32 +I_NetServerAuthenticate@24 +I_NetServerGetTrustInfo@36 +I_NetServerPasswordGet@28 +I_NetServerPasswordSet2@28 +I_NetServerPasswordSet@28 +I_NetServerReqChallenge@16 +I_NetServerTrustPasswordsGet@32 +I_NetlogonComputeClientDigest@24 +I_NetlogonComputeServerDigest@24 +I_NetlogonGetTrustRid@12 +I_RpcExtInitializeExtensionPoint@8 +NetAddServiceAccount@16 +NetEnumerateServiceAccounts@16 +NetEnumerateTrustedDomains@8 +NetGetAnyDCName@12 +NetGetDCName@12 +NetIsServiceAccount@12 +NetLogonGetTimeServiceParentDomain@12 +NetLogonSetServiceBits@12 +NetQueryServiceAccount@16 +NetRemoveServiceAccount@12 +NlBindingAddServerToCache@8 +NlBindingRemoveServerFromCache@8 +NlBindingSetAuthInfo@20 diff --git a/lib/libc/mingw/lib32/mapi32.def b/lib/libc/mingw/lib32/mapi32.def new file mode 100644 index 0000000000..2e4fe42fb2 --- /dev/null +++ b/lib/libc/mingw/lib32/mapi32.def @@ -0,0 +1,164 @@ +LIBRARY MAPI32.DLL +EXPORTS +BuildDisplayTable@40 +CbOfEncoded@4 +CchOfEncoding@4 +ChangeIdleRoutine@28 +CloseIMsgSession@4 +CreateIProp@24 +CreateTable@36 +DeinitMapiUtil@0 +DeregisterIdleRoutine@4 +EnableIdleRoutine@8 +EncodeID@12 +FBadColumnSet@4 +FBadEntryList@4 +FBadProp@4 +FBadPropTag@4 +FBadRestriction@4 +FBadRglpNameID@8 +FBadRglpszA@8 +FBadRglpszW@8 +FBadRow@4 +FBadRowSet@4 +FBadSortOrderSet@4 +FBinFromHex@8 +FDecodeID@12 +FEqualNames@8 +FPropCompareProp@12 +FPropContainsProp@12 +FPropExists@8 +FreePadrlist@4 +FreeProws@4 +FtAdcFt@20 +FtAddFt@16 +FtDivFtBogus@20 +FtMulDw@12 +FtMulDwDw@8 +FtNegFt@8 +FtSubFt@16 +FtgRegisterIdleRoutine@20 +GetAttribIMsgOnIStg@12 +GetTnefStreamCodepage +GetTnefStreamCodepage@12 +HexFromBin@12 +HrAddColumns@16 +HrAddColumnsEx@20 +HrAllocAdviseSink@12 +HrComposeEID@28 +HrComposeMsgID@24 +HrDecomposeEID@28 +HrDecomposeMsgID@24 +HrDispatchNotifications@4 +HrEntryIDFromSz@12 +HrGetOneProp@12 +HrIStorageFromStream@16 +HrQueryAllRows@24 +HrSetOneProp@8 +HrSzFromEntryID@12 +HrThisThreadAdviseSink@8 +HrValidateIPMSubtree@20 +HrValidateParameters@8 +InstallFilterHook@4 +IsBadBoundedStringPtr@8 +LAUNCHWIZARD +LPropCompareProp@8 +LaunchWizard@20 +LpValFindProp@12 +MAPI_NSCP_SynchronizeClient@8 +MAPIAddress@44 +MAPIAdminProfiles +MAPIAdminProfiles@8 +MAPIAllocateBuffer +MAPIAllocateBuffer@8 +MAPIAllocateMore +MAPIAllocateMore@12 +MAPIDeinitIdle@0 +MAPIDeleteMail@20 +MAPIDetails@20 +MAPIFindNext@28 +MAPIFreeBuffer +MAPIFreeBuffer@4 +MAPIGetDefaultMalloc@0 +MAPIGetNetscapeVersion@0 +MAPIInitIdle@4 +MAPIInitialize +MAPIInitialize@4 +MAPILogoff@16 +MAPILogon@24 +MAPILogonEx +MAPILogonEx@20 +MAPIOpenFormMgr +MAPIOpenFormMgr@8 +MAPIOpenLocalFormContainer +MAPIOpenLocalFormContainer@4 +MAPIReadMail@24 +MAPIResolveName@24 +MAPISaveMail@24 +MAPISendDocuments@20 +MAPISendMail +MAPISendMail@20 +MAPIUninitialize +MAPIUninitialize@0 +MNLS_CompareStringW@24 +MNLS_IsBadStringPtrW@8 +MNLS_MultiByteToWideChar@24 +MNLS_WideCharToMultiByte@32 +MNLS_lstrcmpW@8 +MNLS_lstrcpyW@8 +MNLS_lstrlenW@4 +MapStorageSCode@4 +OpenIMsgOnIStg@44 +OpenIMsgSession@12 +OpenStreamOnFile +OpenStreamOnFile@24 +OpenTnefStream +OpenTnefStream@28 +OpenTnefStreamEx +OpenTnefStreamEx@32 +PRProviderInit +PpropFindProp@12 +PropCopyMore@16 +RTFSync +RTFSync@12 +ScBinFromHexBounded@12 +ScCopyNotifications@16 +ScCopyProps@16 +ScCountNotifications@12 +ScCountProps@12 +ScCreateConversationIndex@16 +ScDupPropset@16 +ScGenerateMuid@4 +ScInitMapiUtil@4 +ScLocalPathFromUNC@12 +ScMAPIXFromCMC +ScMAPIXFromSMAPI +ScRelocNotifications@20 +ScRelocProps@20 +ScSplEntry +ScUNCFromLocalPath@12 +SetAttribIMsgOnIStg@16 +SwapPlong@8 +SwapPword@8 +SzFindCh@8 +SzFindLastCh@8 +SzFindSz@8 +UFromSz@4 +UNKOBJ_COFree@8 +UNKOBJ_Free@8 +UNKOBJ_FreeRows@8 +UNKOBJ_ScAllocate@12 +UNKOBJ_ScAllocateMore@16 +UNKOBJ_ScCOAllocate@12 +UNKOBJ_ScCOReallocate@12 +UNKOBJ_ScSzFromIdsAlloc@20 +UlAddRef@4 +UlFromSzHex@4 +UlPropSize@4 +UlRelease@4 +WrapCompressedRTFStream +WrapCompressedRTFStream@12 +WrapProgress@20 +WrapStoreEntryID@24 +__CPPValidateParameters@8 +__ValidateParameters@8 diff --git a/lib/libc/mingw/lib32/mf.def b/lib/libc/mingw/lib32/mf.def new file mode 100644 index 0000000000..96712a4cac --- /dev/null +++ b/lib/libc/mingw/lib32/mf.def @@ -0,0 +1,73 @@ +; +; Definition file of MF.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "MF.dll" +EXPORTS +AppendPropVariant@8 +ConvertPropVariant@8 +CopyPropertyStore@12 +CreateNamedPropertyStore@4 +DllCanUnloadNow@0 +DllGetClassObject@12 +DllRegisterServer@0 +DllUnregisterServer@0 +ExtractPropVariant@12 +MFCreateASFByteStreamPlugin@8 +MFCreateASFContentInfo@4 +MFCreateASFIndexer@4 +MFCreateASFIndexerByteStream@16 +MFCreateASFMediaSink@8 +MFCreateASFMediaSinkActivate@12 +MFCreateASFMultiplexer@4 +MFCreateASFProfile@4 +MFCreateASFProfileFromPresentationDescriptor@8 +MFCreateASFSplitter@4 +MFCreateASFStreamSelector@8 +MFCreateAppSourceProxy@12 +MFCreateAudioRenderer@8 +MFCreateAudioRendererActivate@4 +MFCreateByteCacheFile@8 +MFCreateCacheManager@8 +MFCreateCredentialCache@4 +MFCreateDrmNetNDSchemePlugin@8 +MFCreateFileBlockMap@32 +MFCreateFileSchemePlugin@8 +MFCreateHttpSchemePlugin@8 +MFCreateLPCMByteStreamPlugin@8 +MFCreateMP3ByteStreamPlugin@8 +MFCreateMediaProcessor@4 +MFCreateMediaSession@8 +MFCreateNetSchemePlugin@8 +MFCreatePMPHost@12 +MFCreatePMPMediaSession@16 +MFCreatePMPServer@8 +MFCreatePresentationClock@4 +MFCreatePresentationDescriptorFromASFProfile@8 +MFCreateProxyLocator@12 +MFCreateRemoteDesktopPlugin@4 +MFCreateSAMIByteStreamPlugin@8 +MFCreateSampleGrabberSinkActivate@12 +MFCreateSecureHttpSchemePlugin@8 +MFCreateSequencerSegmentOffset@16 +MFCreateSequencerSource@8 +MFCreateSequencerSourceRemoteStream@12 +MFCreateSimpleTypeHandler@4 +MFCreateSourceResolver@4 +MFCreateStandardQualityManager@4 +MFCreateTopoLoader@4 +MFCreateTopology@4 +MFCreateTopologyNode@8 +MFCreateVideoRenderer@8 +MFCreateVideoRendererActivate@8 +MFCreateWMAEncoderActivate@12 +MFCreateWMVEncoderActivate@12 +MFGetMultipleServiceProviders@16 +MFGetService@16 +MFGetSupportedMimeTypes@4 +MFGetSupportedSchemes@4 +MFReadSequencerSegmentOffset@12 +MFRequireProtectedEnvironment@4 +MFShutdownObject@4 +MergePropertyStore@12 diff --git a/lib/libc/mingw/lib32/mfplat.def b/lib/libc/mingw/lib32/mfplat.def new file mode 100644 index 0000000000..2e29ad8adb --- /dev/null +++ b/lib/libc/mingw/lib32/mfplat.def @@ -0,0 +1,133 @@ +; +; Definition file of MFPlat.DLL +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "MFPlat.DLL" +EXPORTS +FormatTagFromWfx@4 +MFCreateGuid@4 +MFGetIoPortHandle@0 +MFGetRandomNumber@8 +MFIsQueueThread@4 +MFPlatformBigEndian@0 +MFPlatformLittleEndian@0 +MFTraceError@20 +MFllMulDiv@32 +ValidateWaveFormat@4 +CopyPropVariant@12 +CreatePropVariant@16 +CreatePropertyStore@4 +DestroyPropVariant@4 +LFGetGlobalPool@8 +MFAddPeriodicCallback@12 +MFAllocateWorkQueue@4 +MFAppendCollection@8 +MFAverageTimePerFrameToFrameRate@16 +MFBeginCreateFile@28 +MFBeginGetHostByName@12 +MFBeginRegisterWorkQueueWithMMCSS@20 +MFBeginUnregisterWorkQueueWithMMCSS@12 +MFBlockThread@0 +MFCalculateBitmapImageSize@16 +MFCalculateImageSize@16 +MFCancelCreateFile@4 +MFCancelWorkItem@8 +MFCompareFullToPartialMediaType@8 +MFCompareSockaddrAddresses@8 +MFCreateAMMediaTypeFromMFMediaType@24 +MFCreateAlignedMemoryBuffer@12 +MFCreateAsyncResult@16 +MFCreateAttributes@8 +MFCreateAudioMediaType@8 +MFCreateCollection@4 +MFCreateEventQueue@4 +MFCreateFile@20 +MFCreateLegacyMediaBufferOnMFMediaBuffer@16 +MFCreateMFVideoFormatFromMFMediaType@12 +MFCreateMediaBufferWrapper@16 +MFCreateMediaEvent@20 +MFCreateMediaType@4 +MFCreateMediaTypeFromRepresentation@24 +MFCreateMemoryBuffer@8 +MFCreateMemoryStream@16 +MFCreatePathFromURL@8 +MFCreatePresentationDescriptor@12 +MFCreateSample@4 +MFCreateSocket@16 +MFCreateSocketListener@12 +MFCreateStreamDescriptor@16 +MFCreateSystemTimeSource@4 +MFCreateSystemUnderlyingClock@4 +MFCreateTempFile@16 +MFCreateURLFromPath@8 +MFCreateUdpSockets@36 +MFCreateWaveFormatExFromMFMediaType@16 +MFDeserializeAttributesFromStream@12 +MFDeserializeEvent@12 +MFDeserializeMediaTypeFromStream@8 +MFDeserializePresentationDescriptor@12 +MFEndCreateFile@8 +MFEndGetHostByName@12 +MFEndRegisterWorkQueueWithMMCSS@8 +MFEndUnregisterWorkQueueWithMMCSS@4 +MFFrameRateToAverageTimePerFrame@12 +MFFreeAdaptersAddresses@4 +MFGetAdaptersAddresses@8 +MFGetAttributesAsBlob@12 +MFGetAttributesAsBlobSize@8 +MFGetConfigurationDWORD@12 +MFGetConfigurationPolicy@16 +MFGetConfigurationStore@16 +MFGetConfigurationString@16 +MFGetNumericNameFromSockaddr@20 +MFGetPlatform@0 +MFGetPrivateWorkqueues@4 +MFGetSockaddrFromNumericName@12 +MFGetSystemTime@0 +MFGetTimerPeriodicity@4 +MFGetWorkQueueMMCSSClass@12 +MFGetWorkQueueMMCSSTaskId@8 +MFHeapAlloc@20 +MFHeapFree@4 +MFInitAMMediaTypeFromMFMediaType@24 +MFInitAttributesFromBlob@12 +MFInitMediaTypeFromAMMediaType@8 +MFInitMediaTypeFromMFVideoFormat@12 +MFInitMediaTypeFromMPEG1VideoInfo@16 +MFInitMediaTypeFromMPEG2VideoInfo@16 +MFInitMediaTypeFromVideoInfoHeader2@16 +MFInitMediaTypeFromVideoInfoHeader@16 +MFInitMediaTypeFromWaveFormatEx@12 +MFInvokeCallback@4 +MFJoinIoPort@4 +MFLockPlatform@0 +MFLockWorkQueue@4 +MFPutWorkItem@12 +MFPutWorkItemEx@8 +MFRecordError@4 +MFRemovePeriodicCallback@4 +MFScheduleWorkItem@20 +MFScheduleWorkItemEx@16 +MFSerializeAttributesToStream@12 +MFSerializeEvent@12 +MFSerializeMediaTypeToStream@8 +MFSerializePresentationDescriptor@12 +MFSetSockaddrAny@8 +MFShutdown@0 +MFStartup@8 +MFStreamDescriptorProtectMediaType@8 +MFTEnum@40 +MFTEnumEx@36 +MFTGetInfo@40 +MFTRegister@60 +MFTUnregister@16 +MFTraceFuncEnter@16 +MFUnblockThread@0 +MFUnlockPlatform@0 +MFUnlockWorkQueue@4 +MFUnwrapMediaType@8 +MFValidateMediaTypeSize@24 +MFWrapMediaType@16 +PropVariantFromStream@8 +PropVariantToStream@8 diff --git a/lib/libc/mingw/lib32/mfreadwrite.def b/lib/libc/mingw/lib32/mfreadwrite.def new file mode 100644 index 0000000000..7266b5a5c0 --- /dev/null +++ b/lib/libc/mingw/lib32/mfreadwrite.def @@ -0,0 +1,7 @@ +LIBRARY "MFReadWrite.dll" +EXPORTS +MFCreateSinkWriterFromMediaSink@12 +MFCreateSinkWriterFromURL@16 +MFCreateSourceReaderFromByteStream@12 +MFCreateSourceReaderFromMediaSource@12 +MFCreateSourceReaderFromURL@12 diff --git a/lib/libc/mingw/lib32/mgmtapi.def b/lib/libc/mingw/lib32/mgmtapi.def new file mode 100644 index 0000000000..652621c901 --- /dev/null +++ b/lib/libc/mingw/lib32/mgmtapi.def @@ -0,0 +1,14 @@ +LIBRARY MGMTAPI.DLL +EXPORTS +SnmpMgrClose@4 +SnmpMgrCtl@28 +SnmpMgrGetTrap@24 +SnmpMgrGetTrapEx@32 +;SnmpMgrMIB2Disk@8 +SnmpMgrOidToStr@8 +SnmpMgrOpen@16 +SnmpMgrRequest@20 +SnmpMgrStrToOid@8 +SnmpMgrTrapListen@4 +serverTrapThread@4 +;dbginit@8 diff --git a/lib/libc/mingw/lib32/mmdevapi.def b/lib/libc/mingw/lib32/mmdevapi.def new file mode 100644 index 0000000000..a13425cb60 --- /dev/null +++ b/lib/libc/mingw/lib32/mmdevapi.def @@ -0,0 +1,3 @@ +LIBRARY "mmdevapi.dll" +EXPORTS +ActivateAudioInterfaceAsync@20 diff --git a/lib/libc/mingw/lib32/mprapi.def b/lib/libc/mingw/lib32/mprapi.def new file mode 100644 index 0000000000..ff7d4311bd --- /dev/null +++ b/lib/libc/mingw/lib32/mprapi.def @@ -0,0 +1,141 @@ +; +; Definition file of MPRAPI.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "MPRAPI.dll" +EXPORTS +CompressPhoneNumber@8 +MprAdminBufferFree@4 +MprAdminConnectionClearStats@8 +MprAdminConnectionEnum@28 +MprAdminConnectionGetInfo@16 +MprAdminConnectionRemoveQuarantine@12 +MprAdminDeregisterConnectionNotification@8 +MprAdminDeviceEnum@16 +MprAdminEstablishDomainRasServer@12 +MprAdminGetErrorString@8 +MprAdminGetPDCServer@12 +MprAdminInterfaceConnect@16 +MprAdminInterfaceCreate@16 +MprAdminInterfaceDelete@8 +MprAdminInterfaceDeviceGetInfo@20 +MprAdminInterfaceDeviceSetInfo@20 +MprAdminInterfaceDisconnect@8 +MprAdminInterfaceEnum@28 +MprAdminInterfaceGetCredentials@20 +MprAdminInterfaceGetCredentialsEx@16 +MprAdminInterfaceGetHandle@16 +MprAdminInterfaceGetInfo@16 +MprAdminInterfaceQueryUpdateResult@16 +MprAdminInterfaceSetCredentials@20 +MprAdminInterfaceSetCredentialsEx@16 +MprAdminInterfaceSetInfo@16 +MprAdminInterfaceTransportAdd@20 +MprAdminInterfaceTransportGetInfo@20 +MprAdminInterfaceTransportRemove@12 +MprAdminInterfaceTransportSetInfo@20 +MprAdminInterfaceUpdatePhonebookInfo@8 +MprAdminInterfaceUpdateRoutes@16 +MprAdminIsDomainRasServer@12 +MprAdminIsServiceRunning@4 +MprAdminMIBBufferFree@4 +MprAdminMIBEntryCreate@20 +MprAdminMIBEntryDelete@20 +MprAdminMIBEntryGet@28 +MprAdminMIBEntryGetFirst@28 +MprAdminMIBEntryGetNext@28 +MprAdminMIBEntrySet@20 +MprAdminMIBServerConnect@8 +MprAdminMIBServerDisconnect@4 +MprAdminPortClearStats@8 +MprAdminPortDisconnect@8 +MprAdminPortEnum@32 +MprAdminPortGetInfo@16 +MprAdminPortReset@8 +MprAdminRegisterConnectionNotification@8 +MprAdminSendUserMessage@12 +MprAdminServerConnect@8 +MprAdminServerDisconnect@4 +MprAdminServerGetCredentials@12 +MprAdminServerGetInfo@12 +MprAdminServerSetCredentials@12 +MprAdminServerSetInfo@12 +MprAdminTransportCreate@32 +MprAdminTransportGetInfo@24 +MprAdminTransportSetInfo@24 +MprAdminUpgradeUsers@8 +MprAdminUserClose@4 +MprAdminUserGetInfo@16 +MprAdminUserOpen@12 +MprAdminUserRead@12 +MprAdminUserReadProfFlags@8 +MprAdminUserServerConnect@12 +MprAdminUserServerDisconnect@4 +MprAdminUserSetInfo@16 +MprAdminUserWrite@12 +MprAdminUserWriteProfFlags@8 +MprConfigBufferFree@4 +MprConfigFilterGetInfo@16 +MprConfigFilterSetInfo@16 +MprConfigGetFriendlyName@16 +MprConfigGetGuidName@16 +MprConfigInterfaceCreate@16 +MprConfigInterfaceDelete@8 +MprConfigInterfaceEnum@28 +MprConfigInterfaceGetHandle@12 +MprConfigInterfaceGetInfo@20 +MprConfigInterfaceSetInfo@16 +MprConfigInterfaceTransportAdd@28 +MprConfigInterfaceTransportEnum@32 +MprConfigInterfaceTransportGetHandle@16 +MprConfigInterfaceTransportGetInfo@20 +MprConfigInterfaceTransportRemove@12 +MprConfigInterfaceTransportSetInfo@20 +MprConfigServerBackup@8 +MprConfigServerConnect@8 +MprConfigServerDisconnect@4 +MprConfigServerGetInfo@12 +MprConfigServerInstall@8 +MprConfigServerRefresh@4 +MprConfigServerRestore@8 +MprConfigServerSetInfo@12 +MprConfigTransportCreate@36 +MprConfigTransportDelete@8 +MprConfigTransportEnum@28 +MprConfigTransportGetHandle@12 +MprConfigTransportGetInfo@28 +MprConfigTransportSetInfo@28 +MprDomainQueryAccess@8 +MprDomainQueryRasServer@12 +MprDomainRegisterRasServer@12 +MprDomainSetAccess@8 +MprGetUsrParams@12 +MprInfoBlockAdd@24 +MprInfoBlockFind@20 +MprInfoBlockQuerySize@4 +MprInfoBlockRemove@12 +MprInfoBlockSet@24 +MprInfoCreate@8 +MprInfoDelete@4 +MprInfoDuplicate@8 +MprInfoRemoveAll@8 +MprPortSetUsage@4 +MprSetupIpInIpInterfaceFriendlyNameCreate@8 +MprSetupIpInIpInterfaceFriendlyNameDelete@8 +MprSetupIpInIpInterfaceFriendlyNameEnum@12 +MprSetupIpInIpInterfaceFriendlyNameFree@4 +RasAdminConnectionClearStats@8 +RasAdminConnectionEnum@28 +RasAdminConnectionGetInfo@16 +MprAdminConnectionRemoveQuarantine@12 +RasAdminGetErrorString@12 +MprAdminGetPDCServer@12 +RasAdminPortClearStats@8 +RasAdminPortDisconnect@8 +RasAdminPortEnum@32 +RasAdminPortGetInfo@16 +RasAdminPortReset@8 +RasAdminUserGetInfo@12 +RasAdminUserSetInfo@12 +RasPrivilegeAndCallBackNumber@8 diff --git a/lib/libc/mingw/lib32/msacm32.def b/lib/libc/mingw/lib32/msacm32.def new file mode 100644 index 0000000000..356b3aff1c --- /dev/null +++ b/lib/libc/mingw/lib32/msacm32.def @@ -0,0 +1,46 @@ +LIBRARY MSACM32.DLL +EXPORTS +XRegThunkEntry@36 +acmDriverAddA@20 +acmDriverAddW@20 +acmDriverClose@8 +acmDriverDetailsA@12 +acmDriverDetailsW@12 +acmDriverEnum@12 +acmDriverID@12 +acmDriverMessage@16 +acmDriverOpen@12 +acmDriverPriority@12 +acmDriverRemove@8 +acmFilterChooseA@4 +acmFilterChooseW@4 +acmFilterDetailsA@12 +acmFilterDetailsW@12 +acmFilterEnumA@20 +acmFilterEnumW@20 +acmFilterTagDetailsA@12 +acmFilterTagDetailsW@12 +acmFilterTagEnumA@20 +acmFilterTagEnumW@20 +acmFormatChooseA@4 +acmFormatChooseW@4 +acmFormatDetailsA@12 +acmFormatDetailsW@12 +acmFormatEnumA@20 +acmFormatEnumW@20 +acmFormatSuggest@20 +acmFormatTagDetailsA@12 +acmFormatTagDetailsW@12 +acmFormatTagEnumA@20 +acmFormatTagEnumW@20 +acmGetVersion@0 +acmMessage32@24 +acmMetrics@12 +acmStreamClose@8 +acmStreamConvert@12 +acmStreamMessage@16 +acmStreamOpen@32 +acmStreamPrepareHeader@12 +acmStreamReset@8 +acmStreamSize@16 +acmStreamUnprepareHeader@12 diff --git a/lib/libc/mingw/lib32/mscms.def b/lib/libc/mingw/lib32/mscms.def new file mode 100644 index 0000000000..a69544da7a --- /dev/null +++ b/lib/libc/mingw/lib32/mscms.def @@ -0,0 +1,100 @@ +; +; Definition file of mscms.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "mscms.dll" +EXPORTS +AssociateColorProfileWithDeviceA@12 +AssociateColorProfileWithDeviceW@12 +CheckBitmapBits@36 +CheckColors@20 +CloseColorProfile@4 +ColorCplGetDefaultProfileScope@16 +ColorCplGetDefaultRenderingIntentScope@4 +ColorCplGetProfileProperties@8 +ColorCplHasSystemWideAssociationListChanged@12 +ColorCplInitialize@0 +ColorCplLoadAssociationList@16 +ColorCplMergeAssociationLists@8 +ColorCplOverwritePerUserAssociationList@8 +ColorCplReleaseProfileProperties@4 +ColorCplResetSystemWideAssociationListChangedWarning@8 +ColorCplSaveAssociationList@16 +ColorCplSetUsePerUserProfiles@12 +ColorCplUninitialize@0 +ConvertColorNameToIndex@16 +ConvertIndexToColorName@16 +CreateColorTransformA@16 +CreateColorTransformW@16 +CreateDeviceLinkProfile@28 +CreateMultiProfileTransform@24 +CreateProfileFromLogColorSpaceA@8 +CreateProfileFromLogColorSpaceW@8 +DeleteColorTransform@4 +DeviceRenameEvent@12 +DisassociateColorProfileFromDeviceA@12 +DisassociateColorProfileFromDeviceW@12 +EnumColorProfilesA@20 +EnumColorProfilesW@20 +GenerateCopyFilePaths@36 +GetCMMInfo@8 +GetColorDirectoryA@12 +GetColorDirectoryW@12 +GetColorProfileElement@24 +GetColorProfileElementTag@12 +GetColorProfileFromHandle@12 +GetColorProfileHeader@8 +GetCountColorProfileElements@8 +GetNamedProfileInfo@8 +GetPS2ColorRenderingDictionary@20 +GetPS2ColorRenderingIntent@16 +GetPS2ColorSpaceArray@24 +GetStandardColorSpaceProfileA@16 +GetStandardColorSpaceProfileW@16 +InstallColorProfileA@8 +InstallColorProfileW@8 +InternalGetDeviceConfig@24 +InternalGetPS2CSAFromLCS@16 +InternalGetPS2ColorRenderingDictionary@20 +InternalGetPS2ColorSpaceArray@24 +InternalGetPS2PreviewCRD@24 +InternalSetDeviceConfig@24 +IsColorProfileTagPresent@12 +IsColorProfileValid@8 +OpenColorProfileA@16 +OpenColorProfileW@16 +RegisterCMMA@12 +RegisterCMMW@12 +SelectCMM@4 +SetColorProfileElement@20 +SetColorProfileElementReference@12 +SetColorProfileElementSize@12 +SetColorProfileHeader@8 +SetStandardColorSpaceProfileA@12 +SetStandardColorSpaceProfileW@12 +SpoolerCopyFileEvent@12 +TranslateBitmapBits@44 +TranslateColors@24 +UninstallColorProfileA@12 +UninstallColorProfileW@12 +UnregisterCMMA@8 +UnregisterCMMW@8 +WcsAssociateColorProfileWithDevice@12 +WcsCheckColors@28 +WcsCreateIccProfile@8 +WcsDisassociateColorProfileFromDevice@12 +WcsEnumColorProfiles@20 +WcsEnumColorProfilesSize@12 +WcsGetDefaultColorProfile@28 +WcsGetDefaultColorProfileSize@24 +WcsGetDefaultRenderingIntent@8 +WcsGetUsePerUserProfiles@12 +WcsGpCanInstallOrUninstallProfiles@4 +WcsGpCanModifyDeviceAssociationList@12 +WcsOpenColorProfileA@28 +WcsOpenColorProfileW@28 +WcsSetDefaultColorProfile@24 +WcsSetDefaultRenderingIntent@8 +WcsSetUsePerUserProfiles@12 +WcsTranslateColors@40 diff --git a/lib/libc/mingw/lib32/msctfmonitor.def b/lib/libc/mingw/lib32/msctfmonitor.def new file mode 100644 index 0000000000..bb6edb4996 --- /dev/null +++ b/lib/libc/mingw/lib32/msctfmonitor.def @@ -0,0 +1,89 @@ +; +; Definition file of MSCTF.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "MSCTF.dll" +EXPORTS +TF_GetLangDescriptionFromHKL@12 +TF_GetLangIcon@12 +TF_GetLangIconFromHKL@4 +TF_RunInputCPL@0 +CtfImeAssociateFocus@12 +CtfImeConfigure@16 +CtfImeConversionList@20 +CtfImeCreateInputContext@4 +CtfImeCreateThreadMgr@8 +CtfImeDestroy@4 +CtfImeDestroyInputContext@4 +CtfImeDestroyThreadMgr@0 +CtfImeDispatchDefImeMessage@16 +CtfImeEnumRegisterWord@20 +CtfImeEscape@12 +CtfImeEscapeEx@16 +CtfImeGetGuidAtom@12 +CtfImeGetRegisterWordStyle@8 +CtfImeInquire@12 +CtfImeInquireExW@16 +CtfImeIsGuidMapEnable@4 +CtfImeIsIME@4 +CtfImeProcessCicHotkey@12 +CtfImeProcessKey@16 +CtfImeRegisterWord@12 +CtfImeSelect@8 +CtfImeSelectEx@12 +CtfImeSetActiveContext@8 +CtfImeSetCompositionString@24 +CtfImeSetFocus@8 +CtfImeToAsciiEx@24 +CtfImeUnregisterWord@12 +CtfNotifyIME@16 +DllCanUnloadNow@0 +DllGetClassObject@12 +DllRegisterServer@0 +DllUnregisterServer@0 +SetInputScope@8 +SetInputScopeXML@8 +SetInputScopes2@24 +SetInputScopes@28 +TF_AttachThreadInput@8 +TF_CUASAppFix@4 +TF_CanUninitialize@0 +TF_CheckThreadInputIdle@8 +TF_CleanUpPrivateMessages@4 +TF_ClearLangBarAddIns@4 +TF_CreateCategoryMgr@4 +TF_CreateCicLoadMutex@4 +TF_CreateCicLoadWinStaMutex@0 +TF_CreateDisplayAttributeMgr@4 +TF_CreateInputProcessorProfiles@4 +TF_CreateLangBarItemMgr@4 +TF_CreateLangBarMgr@4 +TF_CreateThreadMgr@4 +TF_DllDetachInOther@0 +TF_GetAppCompatFlags@0 +TF_GetCompatibleKeyboardLayout@4 +TF_GetGlobalCompartment@4 +TF_GetInitSystemFlags@0 +TF_GetInputScope@8 +TF_GetShowFloatingStatus@4 +TF_GetThreadFlags@16 +TF_GetThreadMgr@4 +TF_InitSystem@4 +TF_InvalidAssemblyListCache@0 +TF_InvalidAssemblyListCacheIfExist@0 +TF_IsCtfmonRunning@0 +TF_IsFullScreenWindowActivated@0 +TF_IsThreadWithFlags@4 +TF_MapCompatibleHKL@12 +TF_MapCompatibleKeyboardTip@12 +TF_Notify@12 +TF_PostAllThreadMsg@8 +TF_RegisterLangBarAddIn@12 +TF_SendLangBandMsg@8 +TF_SetDefaultRemoteKeyboardLayout@8 +TF_SetShowFloatingStatus@8 +TF_SetThreadFlags@8 +TF_UninitSystem@0 +TF_UnregisterLangBarAddIn@8 +TF_WaitForInitialized@4 diff --git a/lib/libc/mingw/lib32/msdmo.def b/lib/libc/mingw/lib32/msdmo.def new file mode 100644 index 0000000000..25d505db78 --- /dev/null +++ b/lib/libc/mingw/lib32/msdmo.def @@ -0,0 +1,17 @@ +LIBRARY msdmo.dll +EXPORTS +DMOEnum@28 +DMOGetName@8 +DMOGetTypes@28 +DMOGuidToStrA@8 +DMOGuidToStrW@8 +DMORegister@32 +DMOStrToGuidA@8 +DMOStrToGuidW@8 +DMOUnregister@8 +MoCopyMediaType@8 +MoCreateMediaType@8 +MoDeleteMediaType@4 +MoDuplicateMediaType@8 +MoFreeMediaType@4 +MoInitMediaType@8 diff --git a/lib/libc/mingw/lib32/msdrm.def b/lib/libc/mingw/lib32/msdrm.def new file mode 100644 index 0000000000..0181e58e7a --- /dev/null +++ b/lib/libc/mingw/lib32/msdrm.def @@ -0,0 +1,95 @@ +; +; Definition file of msdrm.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "msdrm.dll" +EXPORTS +DRMAcquireAdvisories@16 +DRMAcquireIssuanceLicenseTemplate@28 +DRMAcquireLicense@28 +DRMActivate@24 +DRMAddLicense@12 +DRMAddRightWithUser@12 +DRMAttest@20 +DRMCheckSecurity@8 +DRMClearAllRights@4 +DRMCloseEnvironmentHandle@4 +DRMCloseHandle@4 +DRMClosePubHandle@4 +DRMCloseQueryHandle@4 +DRMCloseSession@4 +DRMConstructCertificateChain@16 +DRMCreateBoundLicense@20 +DRMCreateClientSession@20 +DRMCreateEnablingBitsDecryptor@20 +DRMCreateEnablingBitsEncryptor@20 +DRMCreateEnablingPrincipal@24 +DRMCreateIssuanceLicense@32 +DRMCreateLicenseStorageSession@24 +DRMCreateRight@28 +DRMCreateUser@16 +DRMDecode@16 +DRMDeconstructCertificateChain@16 +DRMDecrypt@24 +DRMDeleteLicense@8 +DRMDuplicateEnvironmentHandle@8 +DRMDuplicateHandle@8 +DRMDuplicatePubHandle@8 +DRMDuplicateSession@8 +DRMEncode@20 +DRMEncrypt@24 +DRMEnumerateLicense@24 +DRMGetApplicationSpecificData@24 +DRMGetBoundLicenseAttribute@24 +DRMGetBoundLicenseAttributeCount@12 +DRMGetBoundLicenseObject@16 +DRMGetBoundLicenseObjectCount@12 +DRMGetCertificateChainCount@8 +DRMGetClientVersion@4 +DRMGetEnvironmentInfo@20 +DRMGetInfo@20 +DRMGetIntervalTime@8 +DRMGetIssuanceLicenseInfo@40 +DRMGetIssuanceLicenseTemplate@12 +DRMGetMetaData@52 +DRMGetNameAndDescription@28 +DRMGetOwnerLicense@12 +DRMGetProcAddress@12 +DRMGetRevocationPoint@48 +DRMGetRightExtendedInfo@24 +DRMGetRightInfo@20 +DRMGetSecurityProvider@20 +DRMGetServiceLocation@24 +DRMGetSignedIssuanceLicense@40 +DRMGetTime@12 +DRMGetUnboundLicenseAttribute@24 +DRMGetUnboundLicenseAttributeCount@12 +DRMGetUnboundLicenseObject@16 +DRMGetUnboundLicenseObjectCount@12 +DRMGetUsagePolicy@64 +DRMGetUserInfo@28 +DRMGetUserRights@16 +DRMGetUsers@12 +DRMInitEnvironment@28 +DRMIsActivated@12 +DRMIsWindowProtected@8 +DRMLoadLibrary@20 +DRMParseUnboundLicense@8 +DRMRegisterContent@4 +DRMRegisterProtectedWindow@8 +DRMRegisterRevocationList@8 +DRMRepair@0 +DRMSetApplicationSpecificData@16 +DRMSetGlobalOptions@12 +DRMSetIntervalTime@8 +DRMSetMetaData@28 +DRMSetNameAndDescription@20 +DRMSetRevocationPoint@32 +DRMSetUsagePolicy@44 +DRMVerify@32 +DllCanUnloadNow@0 +DllGetClassObject@12 +DllRegisterServer@0 +DllUnregisterServer@0 +__AddMachineCertToLicenseStore@12 diff --git a/lib/libc/mingw/lib32/msi.def b/lib/libc/mingw/lib32/msi.def new file mode 100644 index 0000000000..32b85953b4 --- /dev/null +++ b/lib/libc/mingw/lib32/msi.def @@ -0,0 +1,288 @@ +; +; Definition file of msi.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "msi.dll" +EXPORTS +MsiAdvertiseProductA@16 +MsiAdvertiseProductW@16 +MsiCloseAllHandles@0 +MsiCloseHandle@4 +MsiCollectUserInfoA@4 +MsiCollectUserInfoW@4 +MsiConfigureFeatureA@12 +MsiConfigureFeatureFromDescriptorA@8 +MsiConfigureFeatureFromDescriptorW@8 +MsiConfigureFeatureW@12 +MsiConfigureProductA@12 +MsiConfigureProductW@12 +MsiCreateRecord@4 +MsiDatabaseApplyTransformA@12 +MsiDatabaseApplyTransformW@12 +MsiDatabaseCommit@4 +MsiDatabaseExportA@16 +MsiDatabaseExportW@16 +MsiDatabaseGenerateTransformA@20 +MsiDatabaseGenerateTransformW@20 +MsiDatabaseGetPrimaryKeysA@12 +MsiDatabaseGetPrimaryKeysW@12 +MsiDatabaseImportA@12 +MsiDatabaseImportW@12 +MsiDatabaseMergeA@12 +MsiDatabaseMergeW@12 +MsiDatabaseOpenViewA@12 +MsiDatabaseOpenViewW@12 +MsiDoActionA@8 +MsiDoActionW@8 +MsiEnableUIPreview@8 +MsiEnumClientsA@12 +MsiEnumClientsW@12 +MsiEnumComponentQualifiersA@24 +MsiEnumComponentQualifiersW@24 +MsiEnumComponentsA@8 +MsiEnumComponentsW@8 +MsiEnumFeaturesA@16 +MsiEnumFeaturesW@16 +MsiEnumProductsA@8 +MsiEnumProductsW@8 +MsiEvaluateConditionA@8 +MsiEvaluateConditionW@8 +MsiGetLastErrorRecord@0 +MsiGetActiveDatabase@4 +MsiGetComponentStateA@16 +MsiGetComponentStateW@16 +MsiGetDatabaseState@4 +MsiGetFeatureCostA@20 +MsiGetFeatureCostW@20 +MsiGetFeatureInfoA@28 +MsiGetFeatureInfoW@28 +MsiGetFeatureStateA@16 +MsiGetFeatureStateW@16 +MsiGetFeatureUsageA@16 +MsiGetFeatureUsageW@16 +MsiGetFeatureValidStatesA@12 +MsiGetFeatureValidStatesW@12 +MsiGetLanguage@4 +MsiGetMode@8 +MsiGetProductCodeA@8 +MsiGetProductCodeW@8 +MsiGetProductInfoA@16 +MsiGetProductInfoFromScriptA@32 +MsiGetProductInfoFromScriptW@32 +MsiGetProductInfoW@16 +MsiGetProductPropertyA@16 +MsiGetProductPropertyW@16 +MsiGetPropertyA@16 +MsiGetPropertyW@16 +MsiGetSourcePathA@16 +MsiGetSourcePathW@16 +MsiGetSummaryInformationA@16 +MsiGetSummaryInformationW@16 +MsiGetTargetPathA@16 +MsiGetTargetPathW@16 +MsiGetUserInfoA@28 +MsiGetUserInfoW@28 +MsiInstallMissingComponentA@12 +MsiInstallMissingComponentW@12 +MsiInstallMissingFileA@8 +MsiInstallMissingFileW@8 +MsiInstallProductA@8 +MsiInstallProductW@8 +MsiLocateComponentA@12 +MsiLocateComponentW@12 +MsiOpenDatabaseA@12 +MsiOpenDatabaseW@12 +MsiOpenPackageA@8 +MsiOpenPackageW@8 +MsiOpenProductA@8 +MsiOpenProductW@8 +MsiPreviewBillboardA@12 +MsiPreviewBillboardW@12 +MsiPreviewDialogA@8 +MsiPreviewDialogW@8 +MsiProcessAdvertiseScriptA@20 +MsiProcessAdvertiseScriptW@20 +MsiProcessMessage@12 +MsiProvideComponentA@24 +MsiProvideComponentFromDescriptorA@16 +MsiProvideComponentFromDescriptorW@16 +MsiProvideComponentW@24 +MsiProvideQualifiedComponentA@20 +MsiProvideQualifiedComponentW@20 +MsiQueryFeatureStateA@8 +MsiQueryFeatureStateW@8 +MsiQueryProductStateA@4 +MsiQueryProductStateW@4 +MsiRecordDataSize@8 +MsiRecordGetFieldCount@4 +MsiRecordGetInteger@8 +MsiRecordGetStringA@16 +MsiRecordGetStringW@16 +MsiRecordIsNull@8 +MsiRecordReadStream@16 +MsiRecordSetInteger@12 +MsiRecordSetStreamA@12 +MsiRecordSetStreamW@12 +MsiRecordSetStringA@12 +MsiRecordSetStringW@12 +MsiReinstallFeatureA@12 +MsiReinstallFeatureFromDescriptorA@8 +MsiReinstallFeatureFromDescriptorW@8 +MsiReinstallFeatureW@12 +MsiReinstallProductA@8 +MsiReinstallProductW@8 +MsiSequenceA@12 +MsiSequenceW@12 +MsiSetComponentStateA@12 +MsiSetComponentStateW@12 +MsiSetExternalUIA@12 +MsiSetExternalUIW@12 +MsiSetFeatureStateA@12 +MsiSetFeatureStateW@12 +MsiSetInstallLevel@8 +MsiSetInternalUI@8 +MsiVerifyDiskSpace@4 +MsiSetMode@12 +MsiSetPropertyA@12 +MsiSetPropertyW@12 +MsiSetTargetPathA@12 +MsiSetTargetPathW@12 +MsiSummaryInfoGetPropertyA@28 +MsiSummaryInfoGetPropertyCount@8 +MsiSummaryInfoGetPropertyW@28 +MsiSummaryInfoPersist@4 +MsiSummaryInfoSetPropertyA@24 +MsiSummaryInfoSetPropertyW@24 +MsiUseFeatureA@8 +MsiUseFeatureW@8 +MsiVerifyPackageA@4 +MsiVerifyPackageW@4 +MsiViewClose@4 +MsiViewExecute@8 +MsiViewFetch@8 +MsiViewGetErrorA@12 +MsiViewGetErrorW@12 +MsiViewModify@12 +MsiDatabaseIsTablePersistentA@8 +MsiDatabaseIsTablePersistentW@8 +MsiViewGetColumnInfo@12 +MsiRecordClearData@4 +MsiEnableLogA@12 +MsiEnableLogW@12 +MsiFormatRecordA@16 +MsiFormatRecordW@16 +MsiGetComponentPathA@16 +MsiGetComponentPathW@16 +MsiApplyPatchA@16 +MsiApplyPatchW@16 +MsiAdvertiseScriptA@16 +MsiAdvertiseScriptW@16 +MsiGetPatchInfoA@16 +MsiGetPatchInfoW@16 +MsiEnumPatchesA@20 +MsiEnumPatchesW@20 +DllGetVersion@4 +MsiGetProductCodeFromPackageCodeA@8 +MsiGetProductCodeFromPackageCodeW@8 +MsiCreateTransformSummaryInfoA@20 +MsiCreateTransformSummaryInfoW@20 +MsiQueryFeatureStateFromDescriptorA@4 +MsiQueryFeatureStateFromDescriptorW@4 +MsiConfigureProductExA@16 +MsiConfigureProductExW@16 +;MsiInvalidateFeatureCache +MsiUseFeatureExA@16 +MsiUseFeatureExW@16 +MsiGetFileVersionA@20 +MsiGetFileVersionW@20 +MsiLoadStringA@20 +MsiLoadStringW@20 +MsiMessageBoxA@24 +MsiMessageBoxW@24 +MsiDecomposeDescriptorA@20 +MsiDecomposeDescriptorW@20 +MsiProvideQualifiedComponentExA@32 +MsiProvideQualifiedComponentExW@32 +MsiEnumRelatedProductsA@16 +MsiEnumRelatedProductsW@16 +MsiSetFeatureAttributesA@12 +MsiSetFeatureAttributesW@12 +MsiSourceListClearAllA@12 +MsiSourceListClearAllW@12 +MsiSourceListAddSourceA@16 +MsiSourceListAddSourceW@16 +MsiSourceListForceResolutionA@12 +MsiSourceListForceResolutionW@12 +MsiIsProductElevatedA@8 +MsiIsProductElevatedW@8 +MsiGetShortcutTargetA@16 +MsiGetShortcutTargetW@16 +MsiGetFileHashA@12 +MsiGetFileHashW@12 +MsiEnumComponentCostsA@32 +MsiEnumComponentCostsW@32 +MsiCreateAndVerifyInstallerDirectory@4 +MsiGetFileSignatureInformationA@20 +MsiGetFileSignatureInformationW@20 +MsiProvideAssemblyA@24 +MsiProvideAssemblyW@24 +MsiAdvertiseProductExA@24 +MsiAdvertiseProductExW@24 +MsiNotifySidChangeA@8 +MsiNotifySidChangeW@8 +MsiOpenPackageExA@12 +MsiOpenPackageExW@12 +MsiDeleteUserDataA@12 +MsiDeleteUserDataW@12 +Migrate10CachedPackagesA@16 +Migrate10CachedPackagesW@16 +MsiRemovePatchesA@16 +MsiRemovePatchesW@16 +MsiApplyMultiplePatchesA@12 +MsiApplyMultiplePatchesW@12 +MsiExtractPatchXMLDataA@16 +MsiExtractPatchXMLDataW@16 +MsiGetPatchInfoExA@28 +MsiGetPatchInfoExW@28 +MsiEnumProductsExA@32 +MsiEnumProductsExW@32 +MsiGetProductInfoExA@24 +MsiGetProductInfoExW@24 +MsiQueryComponentStateA@20 +MsiQueryComponentStateW@20 +MsiQueryFeatureStateExA@20 +MsiQueryFeatureStateExW@20 +MsiDeterminePatchSequenceA@20 +MsiDeterminePatchSequenceW@20 +MsiSourceListAddSourceExA@24 +MsiSourceListAddSourceExW@24 +MsiSourceListClearSourceA@20 +MsiSourceListClearSourceW@20 +MsiSourceListClearAllExA@16 +MsiSourceListClearAllExW@16 +MsiSourceListForceResolutionExA@16 +MsiSourceListForceResolutionExW@16 +MsiSourceListEnumSourcesA@28 +MsiSourceListEnumSourcesW@28 +MsiSourceListGetInfoA@28 +MsiSourceListGetInfoW@28 +MsiSourceListSetInfoA@24 +MsiSourceListSetInfoW@24 +MsiEnumPatchesExA@40 +MsiEnumPatchesExW@40 +MsiSourceListEnumMediaDisksA@40 +MsiSourceListEnumMediaDisksW@40 +MsiSourceListAddMediaDiskA@28 +MsiSourceListAddMediaDiskW@28 +MsiSourceListClearMediaDiskA@20 +MsiSourceListClearMediaDiskW@20 +MsiDetermineApplicablePatchesA@12 +MsiDetermineApplicablePatchesW@12 +MsiMessageBoxExA@28 +MsiMessageBoxExW@28 +MsiSetExternalUIRecord@16 +;DllCanUnloadNow +;DllGetClassObject@12 +;DllRegisterServer +;DllUnregisterServer diff --git a/lib/libc/mingw/lib32/msimg32.def b/lib/libc/mingw/lib32/msimg32.def new file mode 100644 index 0000000000..4f722a15be --- /dev/null +++ b/lib/libc/mingw/lib32/msimg32.def @@ -0,0 +1,5 @@ +LIBRARY MSIMG32.DLL +EXPORTS +AlphaBlend@44 +GradientFill@24 +TransparentBlt@44 diff --git a/lib/libc/mingw/lib32/mstask.def b/lib/libc/mingw/lib32/mstask.def new file mode 100644 index 0000000000..2cc5298e78 --- /dev/null +++ b/lib/libc/mingw/lib32/mstask.def @@ -0,0 +1,33 @@ +; +; Definition file of mstask.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "mstask.dll" +EXPORTS +ConvertAtJobsToTasks@0 +DllCanUnloadNow@0 +DllGetClassObject@12 +GetNetScheduleAccountInformation@12 +NetrJobAdd@12 +NetrJobDel@12 +NetrJobEnum@20 +NetrJobGetInfo@12 +SAGetAccountInformation@16 +SAGetNSAccountInformation@12 +SASetAccountInformation@20 +SASetNSAccountInformation@12 +SetNetScheduleAccountInformation@12 +_ConvertAtJobsToTasks@0@0 +_DllCanUnloadNow@0@0 +_DllGetClassObject@12@12 +_GetNetScheduleAccountInformation@12@12 +_NetrJobAdd@12@12 +_NetrJobDel@12@12 +_NetrJobEnum@20@20 +_NetrJobGetInfo@12@12 +_SAGetAccountInformation@16@16 +_SAGetNSAccountInformation@12@12 +_SASetAccountInformation@20@20 +_SASetNSAccountInformation@12@12 +_SetNetScheduleAccountInformation@12@12 diff --git a/lib/libc/mingw/lib32/msvfw32.def b/lib/libc/mingw/lib32/msvfw32.def new file mode 100644 index 0000000000..7428c6e354 --- /dev/null +++ b/lib/libc/mingw/lib32/msvfw32.def @@ -0,0 +1,49 @@ +LIBRARY MSVFW32.DLL +EXPORTS +VideoForWindowsVersion@0 +StretchDIB@48 +MCIWndRegisterClass +MCIWndCreateW +MCIWndCreateA +MCIWndCreate +ICSeqCompressFrameStart@8 +ICSeqCompressFrameEnd@4 +ICSeqCompressFrame@20 +ICSendMessage@16 +ICRemove@12 +ICOpenFunction@16 +ICOpen@12 +ICMThunk32@20 +ICLocate@20 +ICInstall@20 +ICInfo@12 +ICImageDecompress@20 +ICImageCompress@28 +ICGetInfo@12 +ICGetDisplayFormat@24 +ICDrawBegin +ICDraw +ICDecompress +ICCompressorFree@4 +ICCompressorChoose@24 +ICCompress +ICClose@4 +GetSaveFileNamePreviewW@4 +GetSaveFileNamePreviewA@4 +GetOpenFileNamePreviewW@4 +GetOpenFileNamePreviewA@4 +GetOpenFileNamePreview@4 +DrawDibTime@8 +DrawDibStop@4 +DrawDibStart@8 +DrawDibSetPalette@8 +DrawDibRealize@12 +DrawDibProfileDisplay@4 +DrawDibOpen@0 +DrawDibGetPalette@4 +DrawDibGetBuffer@16 +DrawDibEnd@4 +DrawDibDraw@52 +DrawDibClose@4 +DrawDibChangePalette@16 +DrawDibBegin@32 diff --git a/lib/libc/mingw/lib32/ndfapi.def b/lib/libc/mingw/lib32/ndfapi.def new file mode 100644 index 0000000000..590baca306 --- /dev/null +++ b/lib/libc/mingw/lib32/ndfapi.def @@ -0,0 +1,25 @@ +; +; Definition file of NDFAPI.DLL +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "NDFAPI.DLL" +EXPORTS +NdfRunDllDiagnoseIncident@16 +NdfRunDllDiagnoseNetConnectionIncident@16 +NdfRunDllDuplicateIPDefendingSystem@16 +NdfRunDllDuplicateIPOffendingSystem@16 +NdfRunDllHelpTopic@16 +DllCanUnloadNow@0 +DllGetClassObject@12 +DllRegisterServer@0 +DllUnregisterServer@0 +NdfCloseIncident@4 +NdfCreateConnectivityIncident@4 +NdfCreateDNSIncident@12 +NdfCreateIncident@16 +NdfCreateSharingIncident@8 +NdfCreateWebIncident@8 +NdfCreateWebIncidentEx@16 +NdfCreateWinSockIncident@24 +NdfExecuteDiagnosis@8 diff --git a/lib/libc/mingw/lib32/netutils.def b/lib/libc/mingw/lib32/netutils.def new file mode 100644 index 0000000000..a28fcd2f41 --- /dev/null +++ b/lib/libc/mingw/lib32/netutils.def @@ -0,0 +1,29 @@ +; +; Definition file of netutils.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "netutils.dll" +EXPORTS +NetApiBufferAllocate@8 +NetApiBufferFree@4 +NetApiBufferReallocate@12 +NetApiBufferSize@8 +NetRemoteComputerSupports@12 +NetapipBufferAllocate@8 +NetpIsComputerNameValid@4 +NetpIsDomainNameValid@4 +NetpIsGroupNameValid@4 +NetpIsRemote@20 +NetpIsRemoteNameValid@4 +NetpIsShareNameValid@4 +NetpIsUncComputerNameValid@4 +NetpIsUserNameValid@4 +NetpwListCanonicalize@32 +NetpwListTraverse@12 +NetpwNameCanonicalize@20 +NetpwNameCompare@16 +NetpwNameValidate@12 +NetpwPathCanonicalize@24 +NetpwPathCompare@16 +NetpwPathType@12 diff --git a/lib/libc/mingw/lib32/newdev.def b/lib/libc/mingw/lib32/newdev.def new file mode 100644 index 0000000000..d75d69443b --- /dev/null +++ b/lib/libc/mingw/lib32/newdev.def @@ -0,0 +1,6 @@ +LIBRARY newdev.dll +EXPORTS +UpdateDriverForPlugAndPlayDevicesA +UpdateDriverForPlugAndPlayDevicesW +UpdateDriverForPlugAndPlayDevicesA@20==UpdateDriverForPlugAndPlayDevicesA +UpdateDriverForPlugAndPlayDevicesW@20==UpdateDriverForPlugAndPlayDevicesW diff --git a/lib/libc/mingw/lib32/normaliz.def b/lib/libc/mingw/lib32/normaliz.def new file mode 100644 index 0000000000..731e255577 --- /dev/null +++ b/lib/libc/mingw/lib32/normaliz.def @@ -0,0 +1,12 @@ +; +; Definition file of Normaliz.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "Normaliz.dll" +EXPORTS +IdnToAscii@20 +IdnToNameprepUnicode@20 +IdnToUnicode@20 +IsNormalizedString@12 +NormalizeString@20 diff --git a/lib/libc/mingw/lib32/ntdsapi.def b/lib/libc/mingw/lib32/ntdsapi.def new file mode 100644 index 0000000000..eb4e7b5ff2 --- /dev/null +++ b/lib/libc/mingw/lib32/ntdsapi.def @@ -0,0 +1,119 @@ +; +; Definition file of NTDSAPI.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "NTDSAPI.dll" +EXPORTS +DsAddSidHistoryA@32 +DsAddSidHistoryW@32 +DsBindA@12 +DsBindByInstanceA@32 +DsBindByInstanceW@32 +DsBindToISTGA@8 +DsBindToISTGW@8 +DsBindW@12 +DsBindWithCredA@16 +DsBindWithCredW@16 +DsBindWithSpnA@20 +DsBindWithSpnExA@24 +DsBindWithSpnExW@24 +DsBindWithSpnW@20 +DsBindingSetTimeout@8 +DsClientMakeSpnForTargetServerA@16 +DsClientMakeSpnForTargetServerW@16 +DsCrackNamesA@28 +DsCrackNamesW@28 +DsCrackSpn2A@36 +DsCrackSpn2W@36 +DsCrackSpn3W@44 +DsCrackSpnA@32 +DsCrackSpnW@32 +DsCrackUnquotedMangledRdnA@16 +DsCrackUnquotedMangledRdnW@16 +DsFinishDemotionW@20 +DsFreeDomainControllerInfoA@12 +DsFreeDomainControllerInfoW@12 +DsFreeNameResultA@4 +DsFreeNameResultW@4 +DsFreePasswordCredentials@4 +DsFreeSchemaGuidMapA@4 +DsFreeSchemaGuidMapW@4 +DsFreeSpnArrayA@8 +DsFreeSpnArrayW@8 +DsGetBindAddrW@4 +DsGetBindAnnotW@4 +DsGetBindInstGuid@4 +DsGetDomainControllerInfoA@20 +DsGetDomainControllerInfoW@20 +DsGetRdnW@24 +DsGetSpnA@36 +DsGetSpnW@36 +DsInheritSecurityIdentityA@16 +DsInheritSecurityIdentityW@16 +DsInitDemotionW@4 +DsIsMangledDnA@8 +DsIsMangledDnW@8 +DsIsMangledRdnValueA@12 +DsIsMangledRdnValueW@12 +DsListDomainsInSiteA@12 +DsListDomainsInSiteW@12 +DsListInfoForServerA@12 +DsListInfoForServerW@12 +DsListRolesA@8 +DsListRolesW@8 +DsListServersForDomainInSiteA@16 +DsListServersForDomainInSiteW@16 +DsListServersInSiteA@12 +DsListServersInSiteW@12 +DsListSitesA@8 +DsListSitesW@8 +DsLogEntry@0 +DsMakePasswordCredentialsA@16 +DsMakePasswordCredentialsW@16 +DsMakeSpnA@28 +DsMakeSpnW@28 +DsMapSchemaGuidsA@16 +DsMapSchemaGuidsW@16 +DsQuerySitesByCostA@24 +DsQuerySitesByCostW@24 +DsQuerySitesFree@4 +DsQuoteRdnValueA@16 +DsQuoteRdnValueW@16 +DsRemoveDsDomainA@8 +DsRemoveDsDomainW@8 +DsRemoveDsServerA@20 +DsRemoveDsServerW@20 +DsReplicaAddA@28 +DsReplicaAddW@28 +DsReplicaConsistencyCheck@12 +DsReplicaDelA@16 +DsReplicaDelW@16 +DsReplicaDemotionW@16 +DsReplicaFreeInfo@8 +DsReplicaGetInfo2W@36 +DsReplicaGetInfoW@20 +DsReplicaModifyA@36 +DsReplicaModifyW@36 +DsReplicaSyncA@16 +DsReplicaSyncAllA@24 +DsReplicaSyncAllW@24 +DsReplicaSyncW@16 +DsReplicaUpdateRefsA@20 +DsReplicaUpdateRefsW@20 +DsReplicaVerifyObjectsA@16 +DsReplicaVerifyObjectsW@16 +DsServerRegisterSpnA@12 +DsServerRegisterSpnW@12 +DsUnBindA@4 +DsUnBindW@4 +DsUnquoteRdnValueA@16 +DsUnquoteRdnValueW@16 +DsWriteAccountSpnA@20 +DsWriteAccountSpnW@20 +DsaopBind@20 +DsaopBindWithCred@24 +DsaopBindWithSpn@28 +DsaopExecuteScript@24 +DsaopPrepareScript@16 +DsaopUnBind@4 diff --git a/lib/libc/mingw/lib32/oleacc.def b/lib/libc/mingw/lib32/oleacc.def new file mode 100644 index 0000000000..e369523baf --- /dev/null +++ b/lib/libc/mingw/lib32/oleacc.def @@ -0,0 +1,31 @@ +; +; Definition file of OLEACC.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "OLEACC.dll" +EXPORTS +DllRegisterServer@0 +DllUnregisterServer@0 +AccessibleChildren@20 +AccessibleObjectFromEvent@20 +AccessibleObjectFromPoint@16 +AccessibleObjectFromWindow@16 +CreateStdAccessibleObject@16 +CreateStdAccessibleProxyA@20 +CreateStdAccessibleProxyW@20 +DllCanUnloadNow@0 +DllGetClassObject@12 +GetOleaccVersionInfo@8 +GetProcessHandleFromHwnd@4 +GetRoleTextA@12 +GetRoleTextW@12 +GetStateTextA@12 +GetStateTextW@12 +;IID_IAccessible DATA +;IID_IAccessibleHandler DATA +;LIBID_Accessibility DATA +LresultFromObject@12 +ObjectFromLresult@16 +PropMgrClient_LookupProp@28 +WindowFromAccessibleObject@8 diff --git a/lib/libc/mingw/lib32/oledlg.def b/lib/libc/mingw/lib32/oledlg.def new file mode 100644 index 0000000000..9b4928334c --- /dev/null +++ b/lib/libc/mingw/lib32/oledlg.def @@ -0,0 +1,30 @@ +; +; Definition file of oledlg.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "oledlg.dll" +EXPORTS +OleUIAddVerbMenuA@36 +OleUICanConvertOrActivateAs@12 +OleUIInsertObjectA@4 +OleUIPasteSpecialA@4 +OleUIEditLinksA@4 +OleUIChangeIconA@4 +OleUIConvertA@4 +OleUIBusyA@4 +OleUIUpdateLinksA@16 +OleUIPromptUserA +OleUIObjectPropertiesA@4 +OleUIChangeSourceA@4 +OleUIAddVerbMenuW@36 +OleUIBusyW@4 +OleUIChangeIconW@4 +OleUIChangeSourceW@4 +OleUIConvertW@4 +OleUIEditLinksW@4 +OleUIInsertObjectW@4 +OleUIObjectPropertiesW@4 +OleUIPasteSpecialW@4 +OleUIPromptUserW +OleUIUpdateLinksW@16 diff --git a/lib/libc/mingw/lib32/p2p.def b/lib/libc/mingw/lib32/p2p.def new file mode 100644 index 0000000000..ee8c00b6e7 --- /dev/null +++ b/lib/libc/mingw/lib32/p2p.def @@ -0,0 +1,118 @@ +; +; Definition file of P2P.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "P2P.dll" +EXPORTS +DllMain@12 +PeerCollabAddContact@8 +PeerCollabAsyncInviteContact@20 +PeerCollabAsyncInviteEndpoint@16 +PeerCollabCancelInvitation@4 +PeerCollabCloseHandle@4 +PeerCollabDeleteContact@4 +PeerCollabDeleteEndpointData@4 +PeerCollabDeleteObject@4 +PeerCollabEnumApplicationRegistrationInfo@8 +PeerCollabEnumApplications@12 +PeerCollabEnumContacts@4 +PeerCollabEnumEndpoints@8 +PeerCollabEnumObjects@12 +PeerCollabEnumPeopleNearMe@4 +PeerCollabExportContact@8 +PeerCollabGetAppLaunchInfo@4 +PeerCollabGetApplicationRegistrationInfo@12 +PeerCollabGetContact@8 +PeerCollabGetEndpointName@4 +PeerCollabGetEventData@8 +PeerCollabGetInvitationResponse@8 +PeerCollabGetPresenceInfo@8 +PeerCollabGetSigninOptions@4 +PeerCollabInviteContact@16 +PeerCollabInviteEndpoint@12 +PeerCollabParseContact@8 +PeerCollabQueryContactData@8 +PeerCollabRefreshEndpointData@4 +PeerCollabRegisterApplication@8 +PeerCollabRegisterEvent@16 +PeerCollabSetEndpointName@4 +PeerCollabSetObject@4 +PeerCollabSetPresenceInfo@4 +PeerCollabShutdown@0 +PeerCollabSignin@8 +PeerCollabSignout@4 +PeerCollabStartup@4 +PeerCollabSubscribeEndpointData@4 +PeerCollabUnregisterApplication@8 +PeerCollabUnregisterEvent@4 +PeerCollabUnsubscribeEndpointData@4 +PeerCollabUpdateContact@4 +PeerCreatePeerName@12 +PeerEndEnumeration@4 +PeerEnumGroups@8 +PeerEnumIdentities@4 +PeerFreeData@4 +PeerGetItemCount@8 +PeerGetNextItem@12 +PeerGroupAddRecord@12 +PeerGroupClose@4 +PeerGroupCloseDirectConnection@12 +PeerGroupConnect@4 +PeerGroupConnectByAddress@12 +PeerGroupCreate@8 +PeerGroupCreateInvitation@24 +PeerGroupCreatePasswordInvitation@8 +PeerGroupDelete@8 +PeerGroupDeleteRecord@8 +PeerGroupEnumConnections@12 +PeerGroupEnumMembers@16 +PeerGroupEnumRecords@12 +PeerGroupExportConfig@12 +PeerGroupExportDatabase@8 +PeerGroupGetEventData@8 +PeerGroupGetProperties@8 +PeerGroupGetRecord@12 +PeerGroupGetStatus@8 +PeerGroupImportConfig@20 +PeerGroupImportDatabase@8 +PeerGroupIssueCredentials@20 +PeerGroupJoin@16 +PeerGroupOpen@16 +PeerGroupOpenDirectConnection@16 +PeerGroupParseInvitation@8 +PeerGroupPasswordJoin@20 +PeerGroupPeerTimeToUniversalTime@12 +PeerGroupRegisterEvent@20 +PeerGroupSearchRecords@12 +PeerGroupSendData@24 +PeerGroupSetProperties@8 +PeerGroupShutdown@0 +PeerGroupStartup@8 +PeerGroupUniversalTimeToPeerTime@12 +PeerGroupUnregisterEvent@4 +PeerGroupUpdateRecord@8 +PeerHostNameToPeerName@8 +PeerIdentityCreate@16 +PeerIdentityDelete@4 +PeerIdentityExport@12 +PeerIdentityGetCert@12 +PeerIdentityGetCryptKey@8 +PeerIdentityGetDefault@4 +PeerIdentityGetFriendlyName@8 +PeerIdentityGetXML@8 +PeerIdentityImport@12 +PeerIdentitySetFriendlyName@8 +PeerNameToPeerHostName@8 +PeerPnrpEndResolve@4 +PeerPnrpGetCloudInfo@8 +PeerPnrpGetEndpoint@8 +PeerPnrpRegister@12 +PeerPnrpResolve@16 +PeerPnrpShutdown@0 +PeerPnrpStartResolve@20 +PeerPnrpStartup@4 +PeerPnrpUnregister@4 +PeerPnrpUpdateRegistration@8 +PeerSSPAddCredentials@12 +PeerSSPRemoveCredentials@4 diff --git a/lib/libc/mingw/lib32/p2pgraph.def b/lib/libc/mingw/lib32/p2pgraph.def new file mode 100644 index 0000000000..852a002422 --- /dev/null +++ b/lib/libc/mingw/lib32/p2pgraph.def @@ -0,0 +1,45 @@ +; +; Definition file of P2PGRAPH.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "P2PGRAPH.dll" +EXPORTS +pMemoryHelper DATA +PeerGraphAddRecord@12 +PeerGraphClose@4 +PeerGraphCloseDirectConnection@12 +PeerGraphConnect@16 +PeerGraphCreate@16 +PeerGraphDelete@12 +PeerGraphDeleteRecord@12 +PeerGraphEndEnumeration@4 +PeerGraphEnumConnections@12 +PeerGraphEnumNodes@12 +PeerGraphEnumRecords@16 +PeerGraphExportDatabase@8 +PeerGraphFreeData@4 +PeerGraphGetEventData@8 +PeerGraphGetItemCount@8 +PeerGraphGetNextItem@12 +PeerGraphGetNodeInfo@16 +PeerGraphGetProperties@8 +PeerGraphGetRecord@12 +PeerGraphGetStatus@8 +PeerGraphImportDatabase@8 +PeerGraphListen@16 +PeerGraphOpen@28 +PeerGraphOpenDirectConnection@16 +PeerGraphPeerTimeToUniversalTime@12 +PeerGraphRegisterEvent@20 +PeerGraphSearchRecords@12 +PeerGraphSendData@24 +PeerGraphSetNodeAttributes@8 +PeerGraphSetPresence@8 +PeerGraphSetProperties@8 +PeerGraphShutdown@0 +PeerGraphStartup@8 +PeerGraphUniversalTimeToPeerTime@12 +PeerGraphUnregisterEvent@4 +PeerGraphUpdateRecord@8 +PeerGraphValidateDeferredRecords@12 diff --git a/lib/libc/mingw/lib32/pdh.def b/lib/libc/mingw/lib32/pdh.def new file mode 100644 index 0000000000..6694af95c5 --- /dev/null +++ b/lib/libc/mingw/lib32/pdh.def @@ -0,0 +1,135 @@ +; +; Definition file of pdh.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "pdh.dll" +EXPORTS +PdhAdd009CounterA@16 +PdhAdd009CounterW@16 +PdhAddCounterA@16 +PdhAddCounterW@16 +PdhAddEnglishCounterA@16 +PdhAddEnglishCounterW@16 +PdhAddRelogCounter@28 +PdhBindInputDataSourceA@8 +PdhBindInputDataSourceW@8 +PdhBrowseCountersA@4 +PdhBrowseCountersHA@4 +PdhBrowseCountersHW@4 +PdhBrowseCountersW@4 +PdhCalculateCounterFromRawValue@20 +PdhCloseLog@8 +PdhCloseQuery@4 +PdhCollectQueryData@4 +PdhCollectQueryDataEx@12 +PdhCollectQueryDataWithTime@8 +PdhComputeCounterStatistics@24 +PdhConnectMachineA@4 +PdhConnectMachineW@4 +PdhCreateSQLTablesA@4 +PdhCreateSQLTablesW@4 +PdhEnumLogSetNamesA@12 +PdhEnumLogSetNamesW@12 +PdhEnumMachinesA@12 +PdhEnumMachinesHA@12 +PdhEnumMachinesHW@12 +PdhEnumMachinesW@12 +PdhEnumObjectItemsA@36 +PdhEnumObjectItemsHA@36 +PdhEnumObjectItemsHW@36 +PdhEnumObjectItemsW@36 +PdhEnumObjectsA@24 +PdhEnumObjectsHA@24 +PdhEnumObjectsHW@24 +PdhEnumObjectsW@24 +PdhExpandCounterPathA@12 +PdhExpandCounterPathW@12 +PdhExpandWildCardPathA@20 +PdhExpandWildCardPathHA@20 +PdhExpandWildCardPathHW@20 +PdhExpandWildCardPathW@20 +PdhFormatFromRawValue@24 +PdhGetCounterInfoA@16 +PdhGetCounterInfoW@16 +PdhGetCounterTimeBase@8 +PdhGetDataSourceTimeRangeA@16 +PdhGetDataSourceTimeRangeH@16 +PdhGetDataSourceTimeRangeW@16 +PdhGetDefaultPerfCounterA@20 +PdhGetDefaultPerfCounterHA@20 +PdhGetDefaultPerfCounterHW@20 +PdhGetDefaultPerfCounterW@20 +PdhGetDefaultPerfObjectA@16 +PdhGetDefaultPerfObjectHA@16 +PdhGetDefaultPerfObjectHW@16 +PdhGetDefaultPerfObjectW@16 +PdhGetDllVersion@4 +PdhGetExplainText@12 +PdhGetFormattedCounterArrayA@20 +PdhGetFormattedCounterArrayW@20 +PdhGetFormattedCounterValue@16 +PdhGetLogFileSize@8 +PdhGetLogFileTypeA@8 +PdhGetLogFileTypeW@8 +PdhGetLogSetGUID@12 +PdhGetRawCounterArrayA@16 +PdhGetRawCounterArrayW@16 +PdhGetRawCounterValue@12 +PdhIsRealTimeQuery@4 +PdhListLogFileHeaderA@12 +PdhListLogFileHeaderW@12 +PdhLookupPerfIndexByNameA@12 +PdhLookupPerfIndexByNameW@12 +PdhLookupPerfNameByIndexA@16 +PdhLookupPerfNameByIndexW@16 +PdhMakeCounterPathA@16 +PdhMakeCounterPathW@16 +PdhOpenLogA@28 +PdhOpenLogW@28 +PdhOpenQuery@12 +PdhOpenQueryA@12 +PdhOpenQueryH@12 +PdhOpenQueryW@12 +PdhParseCounterPathA@16 +PdhParseCounterPathW@16 +PdhParseInstanceNameA@24 +PdhParseInstanceNameW@24 +PdhReadRawLogRecord@20 +PdhRelogA@8 +PdhRelogW@8 +PdhRemoveCounter@4 +PdhResetRelogCounterValues@4 +PdhSelectDataSourceA@16 +PdhSelectDataSourceW@16 +PdhSetCounterScaleFactor@8 +PdhSetCounterValue@12 +PdhSetDefaultRealTimeDataSource@4 +PdhSetLogSetRunID@8 +PdhSetQueryTimeRange@8 +PdhTranslate009CounterA@12 +PdhTranslate009CounterW@12 +PdhTranslateLocaleCounterA@12 +PdhTranslateLocaleCounterW@12 +PdhUpdateLogA@8 +PdhUpdateLogFileCatalog@4 +PdhUpdateLogW@8 +PdhValidatePathA@4 +PdhValidatePathExA@8 +PdhValidatePathExW@8 +PdhValidatePathW@4 +PdhVbAddCounter@12 +PdhVbCreateCounterPathList@8 +PdhVbGetCounterPathElements@28 +PdhVbGetCounterPathFromList@12 +PdhVbGetDoubleCounterValue@8 +PdhVbGetLogFileSize@8 +PdhVbGetOneCounterPath@16 +PdhVbIsGoodStatus@4 +PdhVbOpenLog@28 +PdhVbOpenQuery@4 +PdhVbUpdateLog@8 +PdhVerifySQLDBA@4 +PdhVerifySQLDBW@4 +PdhWriteRelogSample@12 +PdhpGetLoggerName@16 diff --git a/lib/libc/mingw/lib32/powrprof.def b/lib/libc/mingw/lib32/powrprof.def new file mode 100644 index 0000000000..518227f3d0 --- /dev/null +++ b/lib/libc/mingw/lib32/powrprof.def @@ -0,0 +1,103 @@ +; +; Definition file of POWRPROF.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "POWRPROF.dll" +EXPORTS +CallNtPowerInformation@20 +CanUserWritePwrScheme@0 +DeletePwrScheme@4 +DevicePowerClose +DevicePowerEnumDevices@20 +DevicePowerOpen@4 +DevicePowerSetDeviceState@12 +EnumPwrSchemes@8 +GUIDFormatToGlobalPowerPolicy@8 +GUIDFormatToPowerPolicy@8 +GetActivePwrScheme@4 +GetCurrentPowerPolicies@8 +GetPwrCapabilities@4 +GetPwrDiskSpindownRange@8 +IsAdminOverrideActive@4 +IsPwrHibernateAllowed@0 +IsPwrShutdownAllowed@0 +IsPwrSuspendAllowed@0 +LoadCurrentPwrScheme@16 +MergeLegacyPwrScheme@16 +PowerCanRestoreIndividualDefaultPowerScheme@4 +PowerCreatePossibleSetting@16 +PowerCreateSetting@12 +PowerCustomizePlatformPowerSettings@0 +PowerDebugDifPowerPolicies@16 +PowerDebugDifSystemPowerPolicies@16 +PowerDebugDumpPowerPolicy@12 +PowerDebugDumpPowerScheme@12 +PowerDebugDumpSystemPowerCapabilities@12 +PowerDebugDumpSystemPowerPolicy@12 +PowerDeleteScheme@8 +PowerDeterminePlatformRole@0 +PowerDuplicateScheme@12 +PowerEnumerate@28 +PowerGetActiveScheme@8 +PowerImportPowerScheme@12 +PowerInternalDeleteScheme@8 +PowerInternalDuplicateScheme@12 +PowerInternalImportPowerScheme@12 +PowerInternalRestoreDefaultPowerSchemes@0 +PowerInternalRestoreIndividualDefaultPowerScheme@4 +PowerInternalSetActiveScheme@8 +PowerInternalWriteToUserPowerKey@32 +PowerOpenSystemPowerKey@12 +PowerOpenUserPowerKey@12 +PowerPolicyToGUIDFormat@8 +PowerReadACDefaultIndex@20 +PowerReadACValue@28 +PowerReadACValueIndex@20 +PowerReadDCDefaultIndex@20 +PowerReadDCValue@28 +PowerReadDCValueIndex@20 +PowerReadDescription@24 +PowerReadFriendlyName@24 +PowerReadIconResourceSpecifier@24 +PowerReadPossibleDescription@24 +PowerReadPossibleFriendlyName@24 +PowerReadPossibleValue@28 +PowerReadSecurityDescriptor@12 +PowerReadSettingAttributes@8 +PowerReadValueIncrement@16 +PowerReadValueMax@16 +PowerReadValueMin@16 +PowerReadValueUnitsSpecifier@20 +PowerRemovePowerSetting@8 +PowerReplaceDefaultPowerSchemes@0 +PowerRestoreDefaultPowerSchemes@0 +PowerRestoreIndividualDefaultPowerScheme@4 +PowerSetActiveScheme@8 +PowerSettingAccessCheck@8 +PowerWriteACDefaultIndex@20 +PowerWriteACValueIndex@20 +PowerWriteDCDefaultIndex@20 +PowerWriteDCValueIndex@20 +PowerWriteDescription@24 +PowerWriteFriendlyName@24 +PowerWriteIconResourceSpecifier@24 +PowerWritePossibleDescription@24 +PowerWritePossibleFriendlyName@24 +PowerWritePossibleValue@28 +PowerWriteSecurityDescriptor@12 +PowerWriteSettingAttributes@12 +PowerWriteValueIncrement@16 +PowerWriteValueMax@16 +PowerWriteValueMin@16 +PowerWriteValueUnitsSpecifier@20 +ReadGlobalPwrPolicy@4 +ReadProcessorPwrScheme@8 +ReadPwrScheme@8 +SetActivePwrScheme@12 +SetSuspendState@12 +Sysprep_Generalize_Power@0 +ValidatePowerPolicies@8 +WriteGlobalPwrPolicy@4 +WriteProcessorPwrScheme@8 +WritePwrScheme@16 diff --git a/lib/libc/mingw/lib32/prntvpt.def b/lib/libc/mingw/lib32/prntvpt.def new file mode 100644 index 0000000000..c93f48ea18 --- /dev/null +++ b/lib/libc/mingw/lib32/prntvpt.def @@ -0,0 +1,35 @@ +LIBRARY "prntvpt.dll" +EXPORTS +PTQuerySchemaVersionSupport@8 +PTOpenProvider@12 +PTOpenProviderEx@20 +PTCloseProvider@4 +BindPTProviderThunk@20 +PTGetPrintCapabilities@16 +PTMergeAndValidatePrintTicket@24 +PTConvertPrintTicketToDevMode@28 +PTConvertDevModeToPrintTicket@20 +PTReleaseMemory@4 +PTGetPrintDeviceCapabilities@16 +PTGetPrintDeviceResources@20 +ConvertDevModeToPrintTicketThunk2@24 +ConvertDevModeToPrintTicketThunk@20 +ConvertPrintTicketToDevModeThunk2@32 +ConvertPrintTicketToDevModeThunk@28 +DllCanUnloadNow@0 +DllGetClassObject@12 +DllMain@12 +DllRegisterServer@0 +DllUnregisterServer@0 +GetDeviceDefaultPrintTicketThunk@12 +GetDeviceNamespacesThunk@12 +GetPrintCapabilitiesThunk2@24 +GetPrintCapabilitiesThunk@20 +GetPrintDeviceCapabilitiesThunk2@24 +GetPrintDeviceCapabilitiesThunk@20 +GetPrintDeviceResourcesThunk2@28 +GetPrintDeviceResourcesThunk@24 +GetSchemaVersionThunk@4 +MergeAndValidatePrintTicketThunk2@36 +MergeAndValidatePrintTicketThunk@28 +UnbindPTProviderThunk@4 diff --git a/lib/libc/mingw/lib32/propsys.def b/lib/libc/mingw/lib32/propsys.def new file mode 100644 index 0000000000..2f766c8ec7 --- /dev/null +++ b/lib/libc/mingw/lib32/propsys.def @@ -0,0 +1,226 @@ +LIBRARY "PROPSYS.dll" +EXPORTS +SHGetPropertyStoreForWindow@12 +ClearPropVariantArray@8 +ClearVariantArray@8 +DllCanUnloadNow@0 +DllGetClassObject@12 +DllRegisterServer@0 +DllUnregisterServer@0 +GetProxyDllInfo@8 +InitPropVariantFromBooleanVector@12 +InitPropVariantFromBuffer@12 +InitPropVariantFromCLSID@8 +InitPropVariantFromDoubleVector@12 +InitPropVariantFromFileTime@8 +InitPropVariantFromFileTimeVector@12 +InitPropVariantFromGUIDAsString@8 +InitPropVariantFromInt16Vector@12 +InitPropVariantFromInt32Vector@12 +InitPropVariantFromInt64Vector@12 +InitPropVariantFromPropVariantVectorElem@12 +InitPropVariantFromResource@12 +InitPropVariantFromStrRet@12 +InitPropVariantFromStringAsVector@8 +InitPropVariantFromStringVector@12 +InitPropVariantFromUInt16Vector@12 +InitPropVariantFromUInt32Vector@12 +InitPropVariantFromUInt64Vector@12 +InitPropVariantVectorFromPropVariant@8 +InitVariantFromBooleanArray@12 +InitVariantFromBuffer@12 +InitVariantFromDoubleArray@12 +InitVariantFromFileTime@8 +InitVariantFromFileTimeArray@12 +InitVariantFromGUIDAsString@8 +InitVariantFromInt16Array@12 +InitVariantFromInt32Array@12 +InitVariantFromInt64Array@12 +InitVariantFromResource@12 +InitVariantFromStrRet@12 +InitVariantFromStringArray@12 +InitVariantFromUInt16Array@12 +InitVariantFromUInt32Array@12 +InitVariantFromUInt64Array@12 +InitVariantFromVariantArrayElem@12 +PSCoerceToCanonicalValue@8 +PSCreateAdapterFromPropertyStore@12 +PSCreateDelayedMultiplexPropertyStore@24 +PSCreateMemoryPropertyStore@8 +PSCreateMultiplexPropertyStore@16 +PSCreatePropertyChangeArray@24 +PSCreatePropertyStoreFromObject@16 +PSCreatePropertyStoreFromPropertySetStorage@16 +PSCreateSimplePropertyChange@20 +PSEnumeratePropertyDescriptions@12 +PSFormatForDisplay@20 +PSFormatForDisplayAlloc@16 +PSFormatPropertyValue@16 +PSGetImageReferenceForValue@12 +PSGetItemPropertyHandler@16 +PSGetItemPropertyHandlerWithCreateObject@20 +PSGetNameFromPropertyKey@8 +PSGetNamedPropertyFromPropertyStorage@16 +PSGetPropertyDescription@12 +PSGetPropertyDescriptionByName@12 +PSGetPropertyDescriptionListFromString@12 +PSGetPropertyFromPropertyStorage@16 +PSGetPropertyKeyFromName@8 +PSGetPropertySystem@8 +PSGetPropertyValue@12 +PSLookupPropertyHandlerCLSID@8 +PSPropertyBag_Delete@8 +PSPropertyBag_ReadBOOL@12 +PSPropertyBag_ReadBSTR@12 +PSPropertyBag_ReadDWORD@12 +PSPropertyBag_ReadGUID@12 +PSPropertyBag_ReadInt@12 +PSPropertyBag_ReadLONG@12 +PSPropertyBag_ReadPOINTL@12 +PSPropertyBag_ReadPOINTS@12 +PSPropertyBag_ReadPropertyKey@12 +PSPropertyBag_ReadRECTL@12 +PSPropertyBag_ReadSHORT@12 +PSPropertyBag_ReadStr@16 +PSPropertyBag_ReadStrAlloc@12 +PSPropertyBag_ReadStream@12 +PSPropertyBag_ReadType@16 +PSPropertyBag_ReadULONGLONG@12 +PSPropertyBag_ReadUnknown@16 +PSPropertyBag_WriteBOOL@12 +PSPropertyBag_WriteBSTR@12 +PSPropertyBag_WriteDWORD@12 +PSPropertyBag_WriteGUID@12 +PSPropertyBag_WriteInt@12 +PSPropertyBag_WriteLONG@12 +PSPropertyBag_WritePOINTL@12 +PSPropertyBag_WritePOINTS@12 +PSPropertyBag_WritePropertyKey@12 +PSPropertyBag_WriteRECTL@12 +PSPropertyBag_WriteSHORT@12 +PSPropertyBag_WriteStr@12 +PSPropertyBag_WriteStream@12 +PSPropertyBag_WriteULONGLONG@16 +PSPropertyBag_WriteUnknown@12 +PSPropertyKeyFromString@8 +PSRefreshPropertySchema@0 +PSRegisterPropertySchema@4 +PSSetPropertyValue@12 +PSStringFromPropertyKey@12 +PSUnregisterPropertySchema@4 +PropVariantChangeType@16 +PropVariantCompareEx@16 +PropVariantGetBooleanElem@12 +PropVariantGetDoubleElem@12 +PropVariantGetElementCount@4 +PropVariantGetFileTimeElem@12 +PropVariantGetInt16Elem@12 +PropVariantGetInt32Elem@12 +PropVariantGetInt64Elem@12 +PropVariantGetStringElem@12 +PropVariantGetUInt16Elem@12 +PropVariantGetUInt32Elem@12 +PropVariantGetUInt64Elem@12 +PropVariantToBSTR@8 +PropVariantToBoolean@8 +PropVariantToBooleanVector@16 +PropVariantToBooleanVectorAlloc@12 +PropVariantToBooleanWithDefault@8 +PropVariantToBuffer@12 +PropVariantToDouble@8 +PropVariantToDoubleVector@16 +PropVariantToDoubleVectorAlloc@12 +PropVariantToDoubleWithDefault@12 +PropVariantToFileTime@12 +PropVariantToFileTimeVector@16 +PropVariantToFileTimeVectorAlloc@12 +PropVariantToGUID@8 +PropVariantToInt16@8 +PropVariantToInt16Vector@16 +PropVariantToInt16VectorAlloc@12 +PropVariantToInt16WithDefault@8 +PropVariantToInt32@8 +PropVariantToInt32Vector@16 +PropVariantToInt32VectorAlloc@12 +PropVariantToInt32WithDefault@8 +PropVariantToInt64@8 +PropVariantToInt64Vector@16 +PropVariantToInt64VectorAlloc@12 +PropVariantToInt64WithDefault@12 +PropVariantToStrRet@8 +PropVariantToString@12 +PropVariantToStringAlloc@8 +PropVariantToStringVector@16 +PropVariantToStringVectorAlloc@12 +PropVariantToStringWithDefault@8 +PropVariantToUInt16@8 +PropVariantToUInt16Vector@16 +PropVariantToUInt16VectorAlloc@12 +PropVariantToUInt16WithDefault@8 +PropVariantToUInt32@8 +PropVariantToUInt32Vector@16 +PropVariantToUInt32VectorAlloc@12 +PropVariantToUInt32WithDefault@8 +PropVariantToUInt64@8 +PropVariantToUInt64Vector@16 +PropVariantToUInt64VectorAlloc@12 +PropVariantToUInt64WithDefault@12 +PropVariantToVariant@8 +PropVariantToWinRTPropertyValue@12 +StgDeserializePropVariant@12 +StgSerializePropVariant@12 +VariantCompare@8 +VariantGetBooleanElem@12 +VariantGetDoubleElem@12 +VariantGetElementCount@4 +VariantGetInt16Elem@12 +VariantGetInt32Elem@12 +VariantGetInt64Elem@12 +VariantGetStringElem@12 +VariantGetUInt16Elem@12 +VariantGetUInt32Elem@12 +VariantGetUInt64Elem@12 +VariantToBoolean@8 +VariantToBooleanArray@16 +VariantToBooleanArrayAlloc@12 +VariantToBooleanWithDefault@8 +VariantToBuffer@12 +VariantToDosDateTime@12 +VariantToDouble@8 +VariantToDoubleArray@16 +VariantToDoubleArrayAlloc@12 +VariantToDoubleWithDefault@12 +VariantToFileTime@12 +VariantToGUID@8 +VariantToInt16@8 +VariantToInt16Array@16 +VariantToInt16ArrayAlloc@12 +VariantToInt16WithDefault@8 +VariantToInt32@8 +VariantToInt32Array@16 +VariantToInt32ArrayAlloc@12 +VariantToInt32WithDefault@8 +VariantToInt64@8 +VariantToInt64Array@16 +VariantToInt64ArrayAlloc@12 +VariantToInt64WithDefault@12 +VariantToPropVariant@8 +VariantToStrRet@8 +VariantToString@12 +VariantToStringAlloc@8 +VariantToStringArray@16 +VariantToStringArrayAlloc@12 +VariantToStringWithDefault@8 +VariantToUInt16@8 +VariantToUInt16Array@16 +VariantToUInt16ArrayAlloc@12 +VariantToUInt16WithDefault@8 +VariantToUInt32@8 +VariantToUInt32Array@16 +VariantToUInt32ArrayAlloc@12 +VariantToUInt32WithDefault@8 +VariantToUInt64@8 +VariantToUInt64Array@16 +VariantToUInt64ArrayAlloc@12 +VariantToUInt64WithDefault@12 +WinRTPropertyValueToPropVariant@8 diff --git a/lib/libc/mingw/lib32/quartz.def b/lib/libc/mingw/lib32/quartz.def new file mode 100644 index 0000000000..8cfb105049 --- /dev/null +++ b/lib/libc/mingw/lib32/quartz.def @@ -0,0 +1,7 @@ +LIBRARY quartz.dll +EXPORTS +AMGetErrorTextA@12 +AMGetErrorTextW@12 +AmpFactorToDB@4 +DBToAmpFactor@4 + diff --git a/lib/libc/mingw/lib32/qwave.def b/lib/libc/mingw/lib32/qwave.def new file mode 100644 index 0000000000..8120a92962 --- /dev/null +++ b/lib/libc/mingw/lib32/qwave.def @@ -0,0 +1,21 @@ +; +; Definition file of qwave.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "qwave.dll" +EXPORTS +QDLHPathDiagnostics@20 +QDLHStartDiagnosingPath@12 +QOSAddSocketToFlow@24 +QOSCancel@8 +QOSCloseHandle@4 +QOSCreateHandle@8 +QOSEnumerateFlows@12 +QOSNotifyFlow@28 +QOSQueryFlow@28 +QOSRemoveSocketFromFlow@16 +QOSSetFlow@28 +QOSStartTrackingClient@12 +QOSStopTrackingClient@12 +ServiceMain@8 diff --git a/lib/libc/mingw/lib32/rasapi32.def b/lib/libc/mingw/lib32/rasapi32.def new file mode 100644 index 0000000000..492f2a5fe5 --- /dev/null +++ b/lib/libc/mingw/lib32/rasapi32.def @@ -0,0 +1,146 @@ +LIBRARY RASAPI32.DLL +EXPORTS +DDMGetPhonebookInfo@32 +DwCloneEntry@12 +DwDeleteSubEntry@12 +DwEnumEntriesForAllUsers@12 +DwEnumEntryDetails@16 +FreeSharedAccessApplication@4 +FreeSharedAccessServer@4 +RasAutoDialSharedConnection@0 +RasAutodialAddressToNetwork@12 +RasAutodialEntryToNetwork@12 +RasClearConnectionStatistics@4 +RasClearLinkStatistics@8 +RasConnectionNotificationA@12 +RasConnectionNotificationW@12 +RasCreatePhonebookEntryA@8 +RasCreatePhonebookEntryW@8 +RasDeleteEntryA@8 +RasDeleteEntryW@8 +RasDialA@24 +RasDialW@24 +RasDialWow@20 +RasEditPhonebookEntryA@12 +RasEditPhonebookEntryW@12 +RasEnumAutodialAddressesA@12 +RasEnumAutodialAddressesW@12 +RasEnumConnectionsA@12 +RasEnumConnectionsW@12 +RasEnumConnectionsWow@12 +RasEnumDevicesA@12 +RasEnumDevicesW@12 +RasEnumEntriesA@20 +RasEnumEntriesW@20 +RasEnumEntriesWow@20 +RasFreeEapUserIdentityA@4 +RasFreeEapUserIdentityW@4 +RasFreeLanConnTable@8 +RasFreeSharedAccessSettings@4 +RasGetAutodialAddressA@20 +RasGetAutodialAddressW@20 +RasGetAutodialEnableA@8 +RasGetAutodialEnableW@8 +RasGetAutodialParamA@12 +RasGetAutodialParamW@12 +RasGetConnectResponse@8 +RasGetConnectStatusA@8 +RasGetConnectStatusW@8 +RasGetConnectStatusWow@8 +RasGetConnectionStatistics@8 +RasGetCountryInfoA@8 +RasGetCountryInfoW@8 +RasGetCredentialsA@12 +RasGetCredentialsW@12 +RasGetCustomAuthDataA@16 +RasGetCustomAuthDataW@16 +RasGetEapUserDataA@20 +RasGetEapUserDataW@20 +RasGetEapUserIdentityA@20 +RasGetEapUserIdentityW@20 +RasGetEntryDialParamsA@12 +RasGetEntryDialParamsW@12 +RasGetEntryHrasconnA@12 +RasGetEntryHrasconnW@12 +RasGetEntryPropertiesA@24 +RasGetEntryPropertiesW@24 +RasGetErrorStringA@12 +RasGetErrorStringW@12 +RasGetErrorStringWow@12 +RasGetHport@4 +RasGetLinkStatistics@12 +RasGetProjectionInfoA@16 +RasGetProjectionInfoW@16 +RasGetSubEntryHandleA@12 +RasGetSubEntryHandleW@12 +RasGetSubEntryPropertiesA@28 +RasGetSubEntryPropertiesW@28 +RasHangUpA@4 +RasHangUpW@4 +RasHangUpWow@4 +RasInvokeEapUI@16 +RasIsRouterConnection@4 +RasIsSharedConnection@8 +RasLoadSharedAccessSettings@4 +RasNameFromSharedConnection@8 +RasQueryLanConnTable@12 +RasQueryRedialOnLinkFailure@12 +RasQuerySharedAutoDial@4 +RasQuerySharedConnection@4 +RasQuerySharedConnectionCredentials@8 +RasQuerySharedPrivateLan@4 +RasQuerySharedPrivateLanAddress@4 +RasRenameEntryA@12 +RasRenameEntryW@12 +RasSaveSharedAccessSettings@4 +RasSetAutodialAddressA@20 +RasSetAutodialAddressW@20 +RasSetAutodialEnableA@8 +RasSetAutodialEnableW@8 +RasSetAutodialParamA@12 +RasSetAutodialParamW@12 +RasSetCredentialsA@16 +RasSetCredentialsW@16 +RasSetCustomAuthDataA@16 +RasSetCustomAuthDataW@16 +RasSetEapUserDataA@20 +RasSetEapUserDataW@20 +RasSetEntryDialParamsA@12 +RasSetEntryDialParamsW@12 +RasSetEntryPropertiesA@24 +RasSetEntryPropertiesW@24 +RasSetOldPassword@8 +RasSetSharedAutoDial@4 +RasSetSharedConnectionCredentials@8 +RasSetSubEntryPropertiesA@28 +RasSetSubEntryPropertiesW@28 +RasShareConnection@8 +RasUnshareConnection@4 +RasValidateEntryNameA@8 +RasValidateEntryNameW@8 +RasfileClose@4 +RasfileDeleteLine@4 +RasfileFindFirstLine@12 +RasfileFindLastLine@12 +RasfileFindMarkedLine@8 +RasfileFindNextKeyLine@12 +RasfileFindNextLine@12 +RasfileFindPrevLine@12 +RasfileFindSectionLine@12 +RasfileGetKeyValueFields@12 +RasfileGetLine@4 +RasfileGetLineMark@4 +RasfileGetLineText@8 +RasfileGetLineType@4 +RasfileGetSectionName@8 +RasfileInsertLine@12 +RasfileLoad@16 +RasfileLoadInfo@8 +RasfilePutKeyValueFields@12 +RasfilePutLineMark@8 +RasfilePutLineText@8 +RasfilePutSectionName@8 +RasfileWrite@8 +SharedAccessResponseListToString@8 +SharedAccessResponseStringToList@12 +UnInitializeRAS@0 diff --git a/lib/libc/mingw/lib32/rasdlg.def b/lib/libc/mingw/lib32/rasdlg.def new file mode 100644 index 0000000000..099c1a7779 --- /dev/null +++ b/lib/libc/mingw/lib32/rasdlg.def @@ -0,0 +1,8 @@ +LIBRARY RASDLG.DLL +EXPORTS +RasDialDlgA@16 +RasDialDlgW@16 +RasEntryDlgA@12 +RasEntryDlgW@12 +RasPhonebookDlgA@12 +RasPhonebookDlgW@12 diff --git a/lib/libc/mingw/lib32/rstrtmgr.def b/lib/libc/mingw/lib32/rstrtmgr.def new file mode 100644 index 0000000000..6e04fce5cf --- /dev/null +++ b/lib/libc/mingw/lib32/rstrtmgr.def @@ -0,0 +1,19 @@ +; +; Definition file of RstrtMgr.DLL +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "RstrtMgr.DLL" +EXPORTS +RmAddFilter@20 +RmCancelCurrentTask@4 +RmEndSession@4 +RmGetFilterList@16 +RmGetList@20 +RmJoinSession@8 +RmRegisterResources@28 +RmRemoveFilter@16 +RmReserveHeap@4 +RmRestart@12 +RmShutdown@12 +RmStartSession@12 diff --git a/lib/libc/mingw/lib32/rtm.def b/lib/libc/mingw/lib32/rtm.def new file mode 100644 index 0000000000..b156914ffb --- /dev/null +++ b/lib/libc/mingw/lib32/rtm.def @@ -0,0 +1,18 @@ +LIBRARY RTM.DLL +EXPORTS +MgmAddGroupMembershipEntry@32 +MgmDeleteGroupMembershipEntry@32 +MgmDeRegisterMProtocol@4 +MgmGetFirstMfe@12 +MgmGetFirstMfeStats@16 +MgmGetMfe@12 +MgmGetMfeStats@16 +MgmGetNextMfe@16 +MgmGetNextMfeStats@20 +MgmGetProtocolOnInterface@16 +MgmGroupEnumerationEnd@4 +MgmGroupEnumerationGetNext@16 +MgmGroupEnumerationStart@12 +MgmRegisterMProtocol@16 +MgmReleaseInterfaceOwnership@12 +MgmTakeInterfaceOwnership@12 diff --git a/lib/libc/mingw/lib32/samcli.def b/lib/libc/mingw/lib32/samcli.def new file mode 100644 index 0000000000..5a10a53647 --- /dev/null +++ b/lib/libc/mingw/lib32/samcli.def @@ -0,0 +1,42 @@ +; +; Definition file of samcli.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "samcli.dll" +EXPORTS +NetGetDisplayInformationIndex@16 +NetGroupAdd@16 +NetGroupAddUser@12 +NetGroupDel@8 +NetGroupDelUser@12 +NetGroupEnum@28 +NetGroupGetInfo@16 +NetGroupGetUsers@32 +NetGroupSetInfo@20 +NetGroupSetUsers@20 +NetLocalGroupAdd@16 +NetLocalGroupAddMember@12 +NetLocalGroupAddMembers@20 +NetLocalGroupDel@8 +NetLocalGroupDelMember@12 +NetLocalGroupDelMembers@20 +NetLocalGroupEnum@28 +NetLocalGroupGetInfo@16 +NetLocalGroupGetMembers@32 +NetLocalGroupSetInfo@20 +NetLocalGroupSetMembers@20 +NetQueryDisplayInformation@28 +NetUserAdd@16 +NetUserChangePassword@16 +NetUserDel@8 +NetUserEnum@32 +NetUserGetGroups@28 +NetUserGetInfo@16 +NetUserGetLocalGroups@32 +NetUserModalsGet@12 +NetUserModalsSet@16 +NetUserSetGroups@20 +NetUserSetInfo@20 +NetValidatePasswordPolicy@20 +NetValidatePasswordPolicyFree@4 diff --git a/lib/libc/mingw/lib32/schannel.def b/lib/libc/mingw/lib32/schannel.def new file mode 100644 index 0000000000..40d6b2c8fc --- /dev/null +++ b/lib/libc/mingw/lib32/schannel.def @@ -0,0 +1,40 @@ +LIBRARY SCHANNEL.dll +EXPORTS +AcceptSecurityContext@36 +AcquireCredentialsHandleA@36 +AcquireCredentialsHandleW@36 +ApplyControlToken@8 +CloseSslPerformanceData +CollectSslPerformanceData@16 +CompleteAuthToken@8 +DeleteSecurityContext@4 +EnumerateSecurityPackagesA@8 +EnumerateSecurityPackagesW@8 +FreeContextBuffer@4 +FreeCredentialsHandle@4 +ImpersonateSecurityContext@4 +InitSecurityInterfaceA@0 +InitSecurityInterfaceW@0 +InitializeSecurityContextA@48 +InitializeSecurityContextW@48 +MakeSignature@16 +OpenSslPerformanceData@4 +QueryContextAttributesA@12 +QueryContextAttributesW@12 +QuerySecurityPackageInfoA@8 +QuerySecurityPackageInfoW@8 +RevertSecurityContext@4 +SealMessage@16 +SpLsaModeInitialize@16 +SpUserModeInitialize@16 +SslCrackCertificate@16 +SslEmptyCacheA@8 +SslEmptyCacheW@8 +SslFreeCertificate@4 +SslGenerateKeyPair@16 +SslGenerateRandomBits@8 +SslGetMaximumKeySize@4 +SslLoadCertificate@12 +SupportsChannelBinding +UnsealMessage@16 +VerifySignature@16 diff --git a/lib/libc/mingw/lib32/schedcli.def b/lib/libc/mingw/lib32/schedcli.def new file mode 100644 index 0000000000..9104959cb7 --- /dev/null +++ b/lib/libc/mingw/lib32/schedcli.def @@ -0,0 +1,11 @@ +; +; Definition file of schedcli.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "schedcli.dll" +EXPORTS +NetScheduleJobAdd@12 +NetScheduleJobDel@12 +NetScheduleJobEnum@24 +NetScheduleJobGetInfo@12 diff --git a/lib/libc/mingw/lib32/secur32.def b/lib/libc/mingw/lib32/secur32.def new file mode 100644 index 0000000000..e6ad24024e --- /dev/null +++ b/lib/libc/mingw/lib32/secur32.def @@ -0,0 +1,111 @@ +; +; Definition file of Secur32.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "Secur32.dll" +EXPORTS +CloseLsaPerformanceData@0 +CollectLsaPerformanceData@16 +OpenLsaPerformanceData@4 +AcceptSecurityContext@36 +AcquireCredentialsHandleA@36 +AcquireCredentialsHandleW@36 +ApplyControlTokenA@8 +ApplyControlTokenW@8 +AddCredentialsA@32 +AddCredentialsW@32 +AddSecurityPackageA@8 +AddSecurityPackageW@8 +ApplyControlToken@8 +ChangeAccountPasswordA@32 +ChangeAccountPasswordW@32 +CompleteAuthToken@8 +CredMarshalTargetInfo@12 +CredParseUserNameWithType@16 +CredUnmarshalTargetInfo@16 +DecryptMessage@16 +DeleteSecurityContext@4 +DeleteSecurityPackageA@4 +DeleteSecurityPackageW@4 +EncryptMessage@16 +EnumerateSecurityPackagesA@8 +EnumerateSecurityPackagesW@8 +ExportSecurityContext@16 +FreeContextBuffer@4 +FreeCredentialsHandle@4 +GetComputerObjectNameA@12 +GetComputerObjectNameW@12 +GetSecurityUserInfo@12 +GetUserNameExA@12 +GetUserNameExW@12 +ImpersonateSecurityContext@4 +ImportSecurityContextA@16 +ImportSecurityContextW@16 +InitSecurityInterfaceA@0 +InitSecurityInterfaceW@0 +InitializeSecurityContextA@48 +InitializeSecurityContextW@48 +LsaCallAuthenticationPackage@28 +LsaConnectUntrusted@4 +LsaDeregisterLogonProcess@4 +LsaEnumerateLogonSessions@8 +LsaFreeReturnBuffer@4 +LsaGetLogonSessionData@8 +LsaLogonUser@56 +LsaLookupAuthenticationPackage@12 +LsaRegisterLogonProcess@12 +LsaRegisterPolicyChangeNotification@8 +LsaUnregisterPolicyChangeNotification@8 +MakeSignature@16 +QueryContextAttributesA@12 +QueryContextAttributesW@12 +QueryCredentialsAttributesA@12 +QueryCredentialsAttributesW@12 +QuerySecurityContextToken@8 +QuerySecurityPackageInfoA@8 +QuerySecurityPackageInfoW@8 +RevertSecurityContext@4 +SaslAcceptSecurityContext@36 +SaslEnumerateProfilesA@8 +SaslEnumerateProfilesW@8 +SaslGetContextOption@20 +SaslGetProfilePackageA@8 +SaslGetProfilePackageW@8 +SaslIdentifyPackageA@8 +SaslIdentifyPackageW@8 +SaslInitializeSecurityContextA@48 +SaslInitializeSecurityContextW@48 +SaslSetContextOption@16 +SealMessage@16 +SeciAllocateAndSetCallFlags@8 +SeciAllocateAndSetIPAddress@12 +SeciFreeCallContext@0 +SecpFreeMemory@4 +SecpTranslateName@24 +SecpTranslateNameEx@24 +SetContextAttributesA@16 +SetContextAttributesW@16 +SetCredentialsAttributesA@16 +SetCredentialsAttributesW@16 +SspiCompareAuthIdentities@16 +SspiCopyAuthIdentity@8 +SspiDecryptAuthIdentity@4 +SspiEncodeAuthIdentityAsStrings@16 +SspiEncodeStringsAsAuthIdentity@16 +SspiEncryptAuthIdentity@4 +SspiExcludePackage@12 +SspiFreeAuthIdentity@4 +SspiGetTargetHostName@8 +SspiIsAuthIdentityEncrypted@4 +SspiLocalFree@4 +SspiMarshalAuthIdentity@12 +SspiPrepareForCredRead@16 +SspiPrepareForCredWrite@28 +SspiUnmarshalAuthIdentity@12 +SspiValidateAuthIdentity@4 +SspiZeroAuthIdentity@4 +TranslateNameA@20 +TranslateNameW@20 +UnsealMessage@16 +VerifySignature@16 diff --git a/lib/libc/mingw/lib32/slc.def b/lib/libc/mingw/lib32/slc.def new file mode 100644 index 0000000000..6168d9ae79 --- /dev/null +++ b/lib/libc/mingw/lib32/slc.def @@ -0,0 +1,55 @@ +; +; Definition file of slc.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "slc.dll" +EXPORTS +SLpAuthenticateGenuineTicketResponse@4 +SLpBeginGenuineTicketTransaction@4 +SLpCheckProductKey@4 +SLpDepositTokenActivationResponse@4 +SLpGenerateTokenActivationChallenge@4 +SLpGetGenuineBlob@4 +SLpGetGenuineLocal@4 +SLpGetLicenseAcquisitionInfo@4 +SLpGetMachineUGUID@4 +SLpGetTokenActivationGrantInfo@4 +SLpVLActivateProduct@4 +SLClose@4 +SLConsumeRight@4 +SLConsumeWindowsRight@4 +SLDepositOfflineConfirmationId@4 +SLFireEvent@4 +SLGenerateOfflineInstallationId@4 +SLGetGenuineInformation@4 +SLGetInstalledProductKeyIds@4 +SLGetInstalledSAMLicenseApplications@4 +SLGetLicense@4 +SLGetLicenseFileId@4 +SLGetLicenseInformation@24 +SLGetLicensingStatusInformation@4 +SLGetPKeyId@4 +SLGetPKeyInformation@24 +SLGetPolicyInformation@20 +SLGetPolicyInformationDWORD@12 +SLGetProductSkuInformation@24 +SLGetSAMLicense@4 +SLGetSLIDList@4 +SLGetServiceInformation@20 +SLGetWindowsInformation@4 +SLGetWindowsInformationDWORD@4 +SLInstallLicense@4 +SLInstallProofOfPurchase@4 +SLInstallSAMLicense@4 +SLOpen@4 +SLReArmWindows@4 +SLRegisterEvent@4 +SLRegisterWindowsEvent@4 +SLSetCurrentProductKey@4 +SLSetGenuineInformation@4 +SLUninstallLicense@4 +SLUninstallProofOfPurchase@4 +SLUninstallSAMLicense@4 +SLUnregisterEvent@4 +SLUnregisterWindowsEvent@4 diff --git a/lib/libc/mingw/lib32/slcext.def b/lib/libc/mingw/lib32/slcext.def new file mode 100644 index 0000000000..850bb54bb0 --- /dev/null +++ b/lib/libc/mingw/lib32/slcext.def @@ -0,0 +1,28 @@ +; +; Definition file of slcext.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "slcext.dll" +EXPORTS +;ord_300@28 @300 +;ord_301@36 @301 +;ord_302@28 @302 +;ord_303@40 @303 +;ord_304@16 @304 +SLAcquireGenuineTicket@4 +SLActivateProduct@4 +SLDepositTokenActivationResponse@4 +SLFreeTokenActivationCertificates@4 +SLFreeTokenActivationGrants@4 +SLGenerateTokenActivationChallenge@4 +SLGetPackageProductKey@12 +SLGetPackageProperties@16 +SLGetPackageToken@16 +SLGetReferralInformation@20 +SLGetServerStatus@4 +SLGetTokenActivationCertificates@4 +SLGetTokenActivationGrants@4 +SLInstallPackage@24 +SLSignTokenActivationChallenge@4 +SLUninstallPackage@20 diff --git a/lib/libc/mingw/lib32/slwga.def b/lib/libc/mingw/lib32/slwga.def new file mode 100644 index 0000000000..603a475439 --- /dev/null +++ b/lib/libc/mingw/lib32/slwga.def @@ -0,0 +1,9 @@ +; +; Definition file of SLWGA.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "SLWGA.dll" +EXPORTS +;ord_227@8 @227 +SLIsGenuineLocal@12 diff --git a/lib/libc/mingw/lib32/snmpapi.def b/lib/libc/mingw/lib32/snmpapi.def new file mode 100644 index 0000000000..0c16c1c299 --- /dev/null +++ b/lib/libc/mingw/lib32/snmpapi.def @@ -0,0 +1,40 @@ +LIBRARY snmpapi.dll +EXPORTS +SnmpSvcAddrIsIpx@12 +SnmpSvcAddrToSocket@8 +SnmpSvcBufRevAndCpy@12 +SnmpSvcBufRevInPlace@8 +SnmpSvcDecodeMessage@20 +SnmpSvcEncodeMessage@16 +SnmpSvcGenerateAuthFailTrap@4 +SnmpSvcGenerateColdStartTrap@4 +SnmpSvcGenerateLinkDownTrap@8 +SnmpSvcGenerateLinkUpTrap@8 +SnmpSvcGenerateTrap@20 +SnmpSvcGenerateWarmStartTrap@4 +SnmpSvcGetUptime@0 +SnmpSvcInitUptime@0 +SnmpSvcReleaseMessage@4 +SnmpSvcReportEvent@16 +SnmpSvcSetLogLevel@4 +SnmpSvcSetLogType@4 +SnmpUtilAnsiToUnicode@12 +SnmpUtilDbgPrint +SnmpUtilIdsToA@8 +SnmpUtilMemAlloc@4 +SnmpUtilMemFree@4 +SnmpUtilMemReAlloc@8 +SnmpUtilOidAppend@8 +SnmpUtilOidCmp@8 +SnmpUtilOidCpy@8 +SnmpUtilOidFree@4 +SnmpUtilOidNCmp@12 +SnmpUtilOidToA@4 +SnmpUtilPrintAsnAny@4 +SnmpUtilPrintOid@4 +SnmpUtilStrlenW@4 +SnmpUtilUnicodeToAnsi@12 +SnmpUtilVarBindCpy@8 +SnmpUtilVarBindFree@4 +SnmpUtilVarBindListCpy@8 +SnmpUtilVarBindListFree@4 diff --git a/lib/libc/mingw/lib32/spoolss.def b/lib/libc/mingw/lib32/spoolss.def new file mode 100644 index 0000000000..3d9c081257 --- /dev/null +++ b/lib/libc/mingw/lib32/spoolss.def @@ -0,0 +1,217 @@ +; +; Definition file of SPOOLSS.DLL +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "SPOOLSS.DLL" +EXPORTS +OpenPrinterExW@16 +RouterCorePrinterDriverInstalled@44 +RouterCreatePrintAsyncNotificationChannel@24 +RouterDeletePrinterDriverPackage@12 +RouterGetCorePrinterDrivers@20 +RouterGetPrintClassObject@12 +RouterGetPrinterDriverPackagePath@28 +RouterInstallPrinterDriverFromPackage@20 +RouterRegisterForPrintAsyncNotifications@24 +RouterUnregisterForPrintAsyncNotifications@4 +RouterUploadPrinterDriverPackage@24 +AbortPrinter@4 +AddFormW@12 +AddJobW@20 +AddMonitorW@12 +AddPerMachineConnectionW@16 +AddPortExW@16 +AddPortW@12 +AddPrintProcessorW@16 +AddPrintProvidorW@12 +AddPrinterConnectionW@4 +AddPrinterDriverExW@16 +AddPrinterDriverW@12 +AddPrinterExW@20 +AddPrinterW@12 +AdjustPointers@12 +AdjustPointersInStructuresArray@20 +AlignKMPtr@8 +AlignRpcPtr@8 +AllocSplStr@4 +AllowRemoteCalls@0 +AppendPrinterNotifyInfoData@12 +BuildOtherNamesFromMachineName@8 +CacheAddName@4 +CacheCreateAndAddNode@8 +CacheCreateAndAddNodeWithIPAddresses@16 +CacheDeleteNode@4 +CacheIsNameCluster@4 +CacheIsNameInNodeList@8 +CallDrvDevModeConversion@28 +CallRouterFindFirstPrinterChangeNotification@20 +CheckLocalCall@0 +ClosePrinter@4 +ClusterSplClose@4 +ClusterSplIsAlive@4 +ClusterSplOpen@20 +ConfigurePortW@12 +CreatePrinterIC@8 +DeleteFormW@8 +DeleteMonitorW@12 +DeletePerMachineConnectionW@8 +DeletePortW@12 +DeletePrintProcessorW@12 +DeletePrintProvidorW@12 +DeletePrinter@4 +DeletePrinterConnectionW@4 +DeletePrinterDataExW@12 +DeletePrinterDataW@8 +DeletePrinterDriverExW@20 +DeletePrinterDriverW@12 +DeletePrinterIC@4 +DeletePrinterKeyW@8 +DllAllocSplMem@4 +DllAllocSplStr@4 +DllCanUnloadNow@0 +DllFreeSplMem@4 +DllFreeSplStr@4 +DllGetClassObject@12 +DllMain@12 +DllReallocSplMem@12 +DllReallocSplStr@8 +DllRegisterServer@0 +DllUnregisterServer@0 +EndDocPrinter@4 +EndPagePrinter@4 +EnumFormsW@24 +EnumJobsW@32 +EnumMonitorsW@24 +EnumPerMachineConnectionsW@20 +EnumPortsW@24 +EnumPrintProcessorDatatypesW@28 +EnumPrintProcessorsW@28 +EnumPrinterDataExW@24 +EnumPrinterDataW@36 +EnumPrinterDriversW@28 +EnumPrinterKeyW@20 +EnumPrintersW@28 +FindClosePrinterChangeNotification@4 +FlushPrinter@20 +FormatPrinterForRegistryKey@12 +FormatRegistryKeyForPrinter@12 +FreeOtherNames@8 +GetBindingHandleIndex@0 +GetFormW@24 +GetJobAttributes@12 +GetJobAttributesEx@24 +GetJobW@24 +GetNetworkId@8 +GetPrintProcessorDirectoryW@24 +GetPrinterDataExW@28 +GetPrinterDataW@24 +GetPrinterDriverDirectoryW@24 +GetPrinterDriverExW@40 +GetPrinterDriverW@24 +GetPrinterW@20 +GetServerPolicy@8 +GetShrinkedSize@8 +ImpersonatePrinterClient@4 +InitializeRouter@4 +IsNameTheLocalMachineOrAClusterSpooler@4 +IsNamedPipeRpcCall@0 +LoadDriver@4 +LoadDriverFiletoConvertDevmode@4 +LoadDriverWithVersion@8 +LogWmiTraceEvent@12 +MIDL_user_allocate1@4 +MIDL_user_free1@4 +MarshallDownStructure@16 +MarshallDownStructuresArray@20 +MarshallUpStructure@20 +MarshallUpStructuresArray@24 +OldGetPrinterDriverW@24 +OpenPrinter2W@16 +OpenPrinterPort2W@16 +OpenPrinterW@12 +PackStrings@16 +PartialReplyPrinterChangeNotification@8 +PlayGdiScriptOnPrinterIC@24 +PrinterHandleRundown@4 +PrinterMessageBoxW@24 +ProvidorFindClosePrinterChangeNotification@4 +ProvidorFindFirstPrinterChangeNotification@24 +ReadPrinter@16 +ReallocSplMem@12 +ReallocSplStr@8 +RemoteFindFirstPrinterChangeNotification@28 +ReplyClosePrinter@4 +ReplyOpenPrinter@20 +ReplyPrinterChangeNotification@16 +ReplyPrinterChangeNotificationEx@20 +ReportJobProcessingProgress@16 +ResetPrinterW@8 +RevertToPrinterSelf@0 +RouterAddPrinterConnection2@12 +RouterAllocBidiMem@4 +RouterAllocBidiResponseContainer@4 +RouterAllocPrinterNotifyInfo@4 +RouterBroadcastMessage@20 +;RouterFindCompatibleDriver ; Check!!! Couldn't determine function argument count. Function doesn't return. +RouterFindFirstPrinterChangeNotification@24 +RouterFindNextPrinterChangeNotification@20 +RouterFreeBidiMem@4 +RouterFreeBidiResponseContainer@4 +RouterFreePrinterNotifyInfo@4 +RouterInternalGetPrinterDriver@40 +RouterRefreshPrinterChangeNotification@16 +RouterReplyPrinter@24 +RouterSpoolerSetPolicy@12 +ScheduleJob@8 +SeekPrinter@24 +SendRecvBidiData@16 +SetFormW@16 +SetJobW@20 +SetPortW@16 +SetPrinterDataExW@24 +SetPrinterDataW@20 +SetPrinterW@16 +SplCloseSpoolFileHandle@4 +SplCommitSpoolData@28 +SplDriverUnloadComplete@4 +SplGetClientUserHandle@4 +SplGetSpoolFileInfo@24 +SplGetUserSidStringFromToken@16 +SplInitializeWinSpoolDrv@4 +SplIsSessionZero@12 +SplIsUpgrade@0 +SplPowerEvent@4 +SplProcessPnPEvent@12 +SplProcessSessionEvent@12 +SplPromptUIInUsersSession@16 +SplQueryUserInfo@8 +SplReadPrinter@12 +SplRegisterForDeviceEvents@12 +SplRegisterForSessionEvents@8 +SplShutDownRouter@0 +SplUnregisterForDeviceEvents@4 +SplUnregisterForSessionEvents@4 +SplWerNotifyLogger@4 +SpoolerFindClosePrinterChangeNotification@4 +SpoolerFindFirstPrinterChangeNotification@32 +SpoolerFindNextPrinterChangeNotification@16 +SpoolerFreePrinterNotifyInfo@4 +SpoolerHasInitialized@0 +SpoolerInit@0 +SpoolerRefreshPrinterChangeNotification@16 +StartDocPrinterW@12 +StartPagePrinter@4 +UndoAlignKMPtr@8 +UndoAlignRpcPtr@16 +UnloadDriver@4 +UnloadDriverFile@4 +UpdateBufferSize@24 +UpdatePrinterRegAll@16 +UpdatePrinterRegUser@20 +WaitForPrinterChange@8 +WaitForSpoolerInitialization@0 +WritePrinter@16 +XcvDataW@32 +bGetDevModePerUser@12 +bSetDevModePerUser@12 diff --git a/lib/libc/mingw/lib32/srvcli.def b/lib/libc/mingw/lib32/srvcli.def new file mode 100644 index 0000000000..bb61721677 --- /dev/null +++ b/lib/libc/mingw/lib32/srvcli.def @@ -0,0 +1,46 @@ +; +; Definition file of srvcli.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "srvcli.dll" +EXPORTS +I_NetDfsGetVersion@8 +I_NetServerSetServiceBits@16 +I_NetServerSetServiceBitsEx@24 +NetConnectionEnum@32 +NetFileClose@8 +NetFileEnum@36 +NetFileGetInfo@16 +NetRemoteTOD@8 +NetServerAliasAdd@12 +NetServerAliasDel@12 +NetServerAliasEnum@28 +NetServerComputerNameAdd@12 +NetServerComputerNameDel@8 +NetServerDiskEnum@28 +NetServerGetInfo@12 +NetServerSetInfo@16 +NetServerStatisticsGet@16 +NetServerTransportAdd@12 +NetServerTransportAddEx@12 +NetServerTransportDel@12 +NetServerTransportEnum@28 +NetSessionDel@12 +NetSessionEnum@36 +NetSessionGetInfo@20 +NetShareAdd@16 +NetShareCheck@12 +NetShareDel@12 +NetShareDelEx@12 +NetShareDelSticky@12 +NetShareEnum@28 +NetShareEnumSticky@28 +NetShareGetInfo@16 +NetShareSetInfo@20 +NetpsNameCanonicalize@24 +NetpsNameCompare@20 +NetpsNameValidate@16 +NetpsPathCanonicalize@28 +NetpsPathCompare@20 +NetpsPathType@16 diff --git a/lib/libc/mingw/lib32/sspicli.def b/lib/libc/mingw/lib32/sspicli.def new file mode 100644 index 0000000000..91851a3ce0 --- /dev/null +++ b/lib/libc/mingw/lib32/sspicli.def @@ -0,0 +1,104 @@ +; +; Definition file of SspiCli.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "SspiCli.dll" +EXPORTS +SecDeleteUserModeContext@4 +SecInitUserModeContext@8 +SspiUnmarshalAuthIdentityInternal@16 +AcceptSecurityContext@36 +AcquireCredentialsHandleA@36 +AcquireCredentialsHandleW@36 +AddCredentialsA@32 +AddCredentialsW@32 +AddSecurityPackageA@8 +AddSecurityPackageW@8 +ApplyControlToken@8 +ChangeAccountPasswordA@32 +ChangeAccountPasswordW@32 +CompleteAuthToken@8 +CredMarshalTargetInfo@12 +CredUnmarshalTargetInfo@16 +DecryptMessage@16 +DeleteSecurityContext@4 +DeleteSecurityPackageA@4 +DeleteSecurityPackageW@4 +EncryptMessage@16 +EnumerateSecurityPackagesA@8 +EnumerateSecurityPackagesW@8 +ExportSecurityContext@16 +FreeContextBuffer@4 +FreeCredentialsHandle@4 +GetSecurityUserInfo@12 +GetUserNameExA@12 +GetUserNameExW@12 +ImpersonateSecurityContext@4 +ImportSecurityContextA@16 +ImportSecurityContextW@16 +InitSecurityInterfaceA@0 +InitSecurityInterfaceW@0 +InitializeSecurityContextA@48 +InitializeSecurityContextW@48 +LogonUserExExW@44 +LsaCallAuthenticationPackage@28 +LsaConnectUntrusted@4 +LsaDeregisterLogonProcess@4 +LsaEnumerateLogonSessions@8 +LsaFreeReturnBuffer@4 +LsaGetLogonSessionData@8 +LsaLogonUser@56 +LsaLookupAuthenticationPackage@12 +LsaRegisterLogonProcess@12 +LsaRegisterPolicyChangeNotification@8 +LsaUnregisterPolicyChangeNotification@8 +MakeSignature@16 +QueryContextAttributesA@12 +QueryContextAttributesW@12 +QueryCredentialsAttributesA@12 +QueryCredentialsAttributesW@12 +QuerySecurityContextToken@8 +QuerySecurityPackageInfoA@8 +QuerySecurityPackageInfoW@8 +RevertSecurityContext@4 +SaslAcceptSecurityContext@36 +SaslEnumerateProfilesA@8 +SaslEnumerateProfilesW@8 +SaslGetContextOption@20 +SaslGetProfilePackageA@8 +SaslGetProfilePackageW@8 +SaslIdentifyPackageA@8 +SaslIdentifyPackageW@8 +SaslInitializeSecurityContextA@48 +SaslInitializeSecurityContextW@48 +SaslSetContextOption@16 +SealMessage@16 +SecCacheSspiPackages@0 +SeciAllocateAndSetCallFlags@8 +SeciAllocateAndSetIPAddress@12 +SeciFreeCallContext@0 +SetContextAttributesA@16 +SetContextAttributesW@16 +SetCredentialsAttributesA@16 +SetCredentialsAttributesW@16 +SspiCompareAuthIdentities@16 +SspiCopyAuthIdentity@8 +SspiDecryptAuthIdentity@4 +SspiEncodeAuthIdentityAsStrings@16 +SspiEncodeStringsAsAuthIdentity@16 +SspiEncryptAuthIdentity@4 +SspiExcludePackage@12 +SspiFreeAuthIdentity@4 +SspiGetComputerNameForSPN@8 +SspiGetTargetHostName@8 +SspiIsAuthIdentityEncrypted@4 +SspiLocalFree@4 +SspiMarshalAuthIdentity@12 +SspiPrepareForCredRead@16 +SspiPrepareForCredWrite@28 +SspiUnmarshalAuthIdentity@12 +SspiValidateAuthIdentity@4 +SspiZeroAuthIdentity@4 +UnsealMessage@16 +VerifySignature@16 diff --git a/lib/libc/mingw/lib32/t2embed.def b/lib/libc/mingw/lib32/t2embed.def new file mode 100644 index 0000000000..f186061eea --- /dev/null +++ b/lib/libc/mingw/lib32/t2embed.def @@ -0,0 +1,27 @@ +LIBRARY t2embed.dll +EXPORTS +TTCharToUnicode@24 +TTDeleteEmbeddedFont@12 +TTEmbedFont@44 +TTEmbedFontFromFileA@52 +TTEnableEmbeddingForFacename@8 +TTGetEmbeddedFontInfo@28 +TTGetEmbeddingType@8 +TTIsEmbeddingEnabled@8 +TTIsEmbeddingEnabledForFacename@8 +TTLoadEmbeddedFont@40 +TTRunValidationTests@8 +_TTCharToUnicode@24@24 +_TTDeleteEmbeddedFont@12@12 +_TTEmbedFont@44@44 +_TTEmbedFontFromFileA@52@52 +_TTEnableEmbeddingForFacename@8@8 +_TTGetEmbeddedFontInfo@28@28 +_TTGetEmbeddingType@8@8 +_TTIsEmbeddingEnabled@8@8 +_TTIsEmbeddingEnabledForFacename@8@8 +_TTLoadEmbeddedFont@40@40 +_TTRunValidationTests@8@8 +TTEmbedFontEx@44 +TTRunValidationTestsEx@8 +TTGetNewFontName@20 diff --git a/lib/libc/mingw/lib32/tapi32.def b/lib/libc/mingw/lib32/tapi32.def new file mode 100644 index 0000000000..214ca36df5 --- /dev/null +++ b/lib/libc/mingw/lib32/tapi32.def @@ -0,0 +1,285 @@ +; +; Definition file of TAPI32.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "TAPI32.dll" +EXPORTS +;GetTapi16CallbackMsg@8 +;LAddrParamsInited@4 +;LOpenDialAsst@16 +;LocWizardDlgProc@16 +;MMCAddProvider@16 +;MMCConfigProvider@12 +;MMCGetAvailableProviders@8 +;MMCGetDeviceFlags@24 +;MMCGetLineInfo@8 +;MMCGetLineStatus@24 +;MMCGetPhoneInfo@8 +;MMCGetPhoneStatus@24 +;MMCGetProviderList@8 +;MMCGetServerConfig@8 +;MMCInitialize@16 +;MMCRemoveProvider@12 +;MMCSetLineInfo@8 +;MMCSetPhoneInfo@8 +;MMCSetServerConfig@8 +;MMCShutdown@4 +;NonAsyncEventThread +;TAPIWndProc@16 +;TUISPIDLLCallback@16 +;internalConfig@16 +;internalCreateDefLocation@4 +;internalNewLocationW@4 +;internalPerformance@4 +;internalRemoveLocation@4 +;internalRenameLocationW@8 +lineAccept@12 +lineAddProvider@12 +lineAddProviderA@12 +lineAddProviderW@12 +lineAddToConference@8 +lineAgentSpecific@20 +lineAnswer@12 +lineBlindTransfer@12 +lineBlindTransferA@12 +lineBlindTransferW@12 +lineClose@4 +lineCompleteCall@16 +lineCompleteTransfer@16 +lineConfigDialog@12 +lineConfigDialogA@12 +lineConfigDialogEdit@24 +lineConfigDialogEditA@24 +lineConfigDialogEditW@24 +lineConfigDialogW@12 +lineConfigProvider@8 +lineCreateAgentA@16 +lineCreateAgentSessionA@24 +lineCreateAgentSessionW@24 +lineCreateAgentW@16 +lineDeallocateCall@4 +lineDevSpecific@20 +lineDevSpecificFeature@16 +lineDial@12 +lineDialA@12 +lineDialW@12 +lineDrop@12 +lineForward@28 +lineForwardA@28 +lineForwardW@28 +lineGatherDigits@28 +lineGatherDigitsA@28 +lineGatherDigitsW@28 +lineGenerateDigits@16 +lineGenerateDigitsA@16 +lineGenerateDigitsW@16 +lineGenerateTone@20 +lineGetAddressCaps@24 +lineGetAddressCapsA@24 +lineGetAddressCapsW@24 +lineGetAddressID@20 +lineGetAddressIDA@20 +lineGetAddressIDW@20 +lineGetAddressStatus@12 +lineGetAddressStatusA@12 +lineGetAddressStatusW@12 +lineGetAgentActivityListA@12 +lineGetAgentActivityListW@12 +lineGetAgentCapsA@20 +lineGetAgentCapsW@20 +lineGetAgentGroupListA@12 +lineGetAgentGroupListW@12 +lineGetAgentInfo@12 +lineGetAgentSessionInfo@12 +lineGetAgentSessionList@12 +lineGetAgentStatusA@12 +lineGetAgentStatusW@12 +lineGetAppPriority@24 +lineGetAppPriorityA@24 +lineGetAppPriorityW@24 +lineGetCallInfo@8 +lineGetCallInfoA@8 +lineGetCallInfoW@8 +lineGetCallStatus@8 +lineGetConfRelatedCalls@8 +lineGetCountry@12 +lineGetCountryA@12 +lineGetCountryW@12 +lineGetDevCaps@20 +lineGetDevCapsA@20 +lineGetDevCapsW@20 +lineGetDevConfig@12 +lineGetDevConfigA@12 +lineGetDevConfigW@12 +lineGetGroupListA@8 +lineGetGroupListW@8 +lineGetID@24 +lineGetIDA@24 +lineGetIDW@24 +lineGetIcon@12 +lineGetIconA@12 +lineGetIconW@12 +lineGetLineDevStatus@8 +lineGetLineDevStatusA@8 +lineGetLineDevStatusW@8 +lineGetMessage@12 +lineGetNewCalls@16 +lineGetNumRings@12 +lineGetProviderList@8 +lineGetProviderListA@8 +lineGetProviderListW@8 +lineGetProxyStatus@16 +lineGetQueueInfo@12 +lineGetQueueListA@12 +lineGetQueueListW@12 +lineGetRequest@12 +lineGetRequestA@12 +lineGetRequestW@12 +lineGetStatusMessages@12 +lineGetTranslateCaps@12 +lineGetTranslateCapsA@12 +lineGetTranslateCapsW@12 +lineHandoff@12 +lineHandoffA@12 +lineHandoffW@12 +lineHold@4 +lineInitialize@20 +lineInitializeExA@28 +lineInitializeExW@28 +lineMakeCall@20 +lineMakeCallA@20 +lineMakeCallW@20 +lineMonitorDigits@8 +lineMonitorMedia@8 +lineMonitorTones@12 +lineNegotiateAPIVersion@24 +lineNegotiateExtVersion@24 +lineOpen@36 +lineOpenA@36 +lineOpenW@36 +linePark@16 +lineParkA@16 +lineParkW@16 +linePickup@20 +linePickupA@20 +linePickupW@20 +linePrepareAddToConference@12 +linePrepareAddToConferenceA@12 +linePrepareAddToConferenceW@12 +lineProxyMessage@24 +lineProxyResponse@12 +lineRedirect@12 +lineRedirectA@12 +lineRedirectW@12 +lineRegisterRequestRecipient@16 +lineReleaseUserUserInfo@4 +lineRemoveFromConference@4 +lineRemoveProvider@8 +lineSecureCall@4 +lineSendUserUserInfo@12 +lineSetAgentActivity@12 +lineSetAgentGroup@12 +lineSetAgentMeasurementPeriod@12 +lineSetAgentSessionState@16 +lineSetAgentState@16 +lineSetAgentStateEx@16 +lineSetAppPriority@24 +lineSetAppPriorityA@24 +lineSetAppPriorityW@24 +lineSetAppSpecific@8 +lineSetCallData@12 +lineSetCallParams@20 +lineSetCallPrivilege@8 +lineSetCallQualityOfService@20 +lineSetCallTreatment@8 +lineSetCurrentLocation@8 +lineSetDevConfig@16 +lineSetDevConfigA@16 +lineSetDevConfigW@16 +lineSetLineDevStatus@12 +lineSetMediaControl@48 +lineSetMediaMode@8 +lineSetNumRings@12 +lineSetQueueMeasurementPeriod@12 +lineSetStatusMessages@12 +lineSetTerminal@28 +lineSetTollList@16 +lineSetTollListA@16 +lineSetTollListW@16 +lineSetupConference@24 +lineSetupConferenceA@24 +lineSetupConferenceW@24 +lineSetupTransfer@12 +lineSetupTransferA@12 +lineSetupTransferW@12 +lineShutdown@4 +lineSwapHold@8 +lineTranslateAddress@28 +lineTranslateAddressA@28 +lineTranslateAddressW@28 +lineTranslateDialog@20 +lineTranslateDialogA@20 +lineTranslateDialogW@20 +lineUncompleteCall@8 +lineUnhold@4 +lineUnpark@16 +lineUnparkA@16 +lineUnparkW@16 +phoneClose@4 +phoneConfigDialog@12 +phoneConfigDialogA@12 +phoneConfigDialogW@12 +phoneDevSpecific@12 +phoneGetButtonInfo@12 +phoneGetButtonInfoA@12 +phoneGetButtonInfoW@12 +phoneGetData@16 +phoneGetDevCaps@20 +phoneGetDevCapsA@20 +phoneGetDevCapsW@20 +phoneGetDisplay@8 +phoneGetGain@12 +phoneGetHookSwitch@8 +phoneGetID@12 +phoneGetIDA@12 +phoneGetIDW@12 +phoneGetIcon@12 +phoneGetIconA@12 +phoneGetIconW@12 +phoneGetLamp@12 +phoneGetMessage@12 +phoneGetRing@12 +phoneGetStatus@8 +phoneGetStatusA@8 +phoneGetStatusMessages@16 +phoneGetStatusW@8 +phoneGetVolume@12 +phoneInitialize@20 +phoneInitializeExA@28 +phoneInitializeExW@28 +phoneNegotiateAPIVersion@24 +phoneNegotiateExtVersion@24 +phoneOpen@28 +phoneSetButtonInfo@12 +phoneSetButtonInfoA@12 +phoneSetButtonInfoW@12 +phoneSetData@16 +phoneSetDisplay@20 +phoneSetGain@12 +phoneSetHookSwitch@12 +phoneSetLamp@12 +phoneSetRing@12 +phoneSetStatusMessages@16 +phoneSetVolume@12 +phoneShutdown@4 +tapiGetLocationInfo@8 +tapiGetLocationInfoA@8 +tapiGetLocationInfoW@8 +tapiRequestDrop@8 +tapiRequestMakeCall@16 +tapiRequestMakeCallA@16 +tapiRequestMakeCallW@16 +tapiRequestMediaCall@40 +tapiRequestMediaCallA@40 +tapiRequestMediaCallW@40 diff --git a/lib/libc/mingw/lib32/tbs.def b/lib/libc/mingw/lib32/tbs.def new file mode 100644 index 0000000000..13bdf3831f --- /dev/null +++ b/lib/libc/mingw/lib32/tbs.def @@ -0,0 +1,13 @@ +; +; Definition file of tbs.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "tbs.dll" +EXPORTS +Tbsi_Context_Create@8 +Tbsi_Get_TCG_Log@12 +Tbsi_Physical_Presence_Command@20 +Tbsip_Cancel_Commands@4 +Tbsip_Context_Close@4 +Tbsip_Submit_Command@28 diff --git a/lib/libc/mingw/lib32/tdh.def b/lib/libc/mingw/lib32/tdh.def new file mode 100644 index 0000000000..3ed76dceb5 --- /dev/null +++ b/lib/libc/mingw/lib32/tdh.def @@ -0,0 +1,43 @@ +; +; Definition file of tdh.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "tdh.dll" +EXPORTS +TdhAggregatePayloadFilters@16 +TdhApplyPayloadFilter@28 +TdhCleanupPayloadEventFilterDescriptor@4 +TdhCloseDecodingHandle@4 +TdhCreatePayloadFilter@24 +TdhDeletePayloadFilter@4 +TdhEnumerateManifestProviderEvents@12 +TdhEnumerateProviderFieldInformation@16 +TdhEnumerateProviderFilters@24 +TdhEnumerateProviders@8 +TdhEnumerateRemoteWBEMProviderFieldInformation@20 +TdhEnumerateRemoteWBEMProviders@12 +TdhFormatProperty@44 +TdhGetAllEventsInformation@24 +TdhGetDecodingParameter@8 +TdhGetEventInformation@20 +TdhGetEventMapInformation@16 +TdhGetManifestEventInformation@16 +TdhGetProperty@28 +TdhGetPropertyOffsetAndSize@24 +TdhGetPropertySize@24 +TdhGetWppMessage@16 +TdhGetWppProperty@20 +TdhLoadManifest@4 +TdhLoadManifestFromBinary@4 +TdhLoadManifestFromMemory@8 +TdhOpenDecodingHandle@4 +TdhQueryProviderFieldInformation@24 +TdhQueryRemoteWBEMProviderFieldInformation@28 +TdhSetDecodingParameter@8 +TdhUnloadManifest@4 +TdhUnloadManifestFromMemory@8 +TdhValidatePayloadFilter@12 +TdhpFindMatchClassFromWBEM@28 +TdhpGetBestTraceEventInfoWBEM@12 +TdhpGetEventMapInfoWBEM@16 diff --git a/lib/libc/mingw/lib32/txfw32.def b/lib/libc/mingw/lib32/txfw32.def new file mode 100644 index 0000000000..0d109ce8d9 --- /dev/null +++ b/lib/libc/mingw/lib32/txfw32.def @@ -0,0 +1,16 @@ +; +; Definition file of txfw32.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "txfw32.dll" +EXPORTS +TxfGetThreadMiniVersionForCreate@4 +TxfLogCreateFileReadContext@28 +TxfLogCreateRangeReadContext@36 +TxfLogDestroyReadContext@4 +TxfLogReadRecords@20 +TxfLogRecordGetFileName@20 +TxfLogRecordGetGenericType@16 +TxfReadMetadataInfo@20 +TxfSetThreadMiniVersionForCreate@4 diff --git a/lib/libc/mingw/lib32/usp10.def b/lib/libc/mingw/lib32/usp10.def new file mode 100644 index 0000000000..91c9a9022f --- /dev/null +++ b/lib/libc/mingw/lib32/usp10.def @@ -0,0 +1,51 @@ +; +; Definition file of USP10.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "USP10.dll" +EXPORTS +LpkPresent@0 +ScriptApplyDigitSubstitution@12 +ScriptApplyLogicalWidth@36 +ScriptBreak@16 +ScriptCPtoX@36 +ScriptCacheGetHeight@12 +ScriptFreeCache@4 +ScriptGetCMap@24 +ScriptGetFontAlternateGlyphs@40 +ScriptGetFontFeatureTags@32 +ScriptGetFontLanguageTags@28 +ScriptGetFontProperties@12 +ScriptGetFontScriptTags@24 +ScriptGetGlyphABCWidth@16 +ScriptGetLogicalWidths@28 +ScriptGetProperties@8 +ScriptIsComplex@12 +ScriptItemize@28 +ScriptItemizeOpenType@32 +ScriptJustify@24 +ScriptLayout@16 +ScriptPlace@36 +ScriptPlaceOpenType@72 +ScriptPositionSingleGlyph@52 +ScriptRecordDigitSubstitution@8 +ScriptShape@40 +ScriptShapeOpenType@64 +ScriptStringAnalyse@52 +ScriptStringCPtoX@16 +ScriptStringFree@4 +ScriptStringGetLogicalWidths@8 +ScriptStringGetOrder@8 +ScriptStringOut@32 +ScriptStringValidate@4 +ScriptStringXtoCP@16 +ScriptString_pLogAttr@4 +ScriptString_pSize@4 +ScriptString_pcOutChars@4 +ScriptSubstituteSingleGlyph@36 +ScriptTextOut@56 +ScriptXtoCP@36 +UspAllocCache@8 +UspAllocTemp@8 +UspFreeMem@4 diff --git a/lib/libc/mingw/lib32/uxtheme.def b/lib/libc/mingw/lib32/uxtheme.def new file mode 100644 index 0000000000..250fc63dcb --- /dev/null +++ b/lib/libc/mingw/lib32/uxtheme.def @@ -0,0 +1,81 @@ +; +; Definition file of UxTheme.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "UxTheme.dll" +EXPORTS +BeginPanningFeedback@4 +EndPanningFeedback@8 +UpdatePanningFeedback@16 +BeginBufferedAnimation@32 +BeginBufferedPaint@20 +BufferedPaintClear@8 +BufferedPaintInit@0 +BufferedPaintRenderAnimation@8 +BufferedPaintSetAlpha@12 +DrawThemeBackgroundEx@24 +BufferedPaintStopAllAnimations@4 +BufferedPaintUnInit@0 +CloseThemeData@4 +DrawThemeBackground@24 +DrawThemeEdge@32 +DrawThemeIcon@28 +DrawThemeParentBackground@12 +DrawThemeParentBackgroundEx@16 +DrawThemeText@36 +OpenThemeDataEx@12 +DrawThemeTextEx@36 +EnableThemeDialogTexture@8 +EnableTheming@4 +EndBufferedAnimation@8 +EndBufferedPaint@8 +GetBufferedPaintBits@12 +GetBufferedPaintDC@4 +GetBufferedPaintTargetDC@4 +GetBufferedPaintTargetRect@8 +GetCurrentThemeName@24 +GetThemeAppProperties@0 +GetThemeBackgroundContentRect@24 +GetThemeBackgroundExtent@24 +GetThemeBackgroundRegion@24 +GetThemeBitmap@24 +GetThemeBool@20 +GetThemeColor@20 +GetThemeDocumentationProperty@16 +GetThemeEnumValue@20 +GetThemeFilename@24 +GetThemeFont@24 +GetThemeInt@20 +GetThemeIntList@20 +GetThemeMargins@28 +GetThemeMetric@24 +GetThemePartSize@28 +GetThemePosition@20 +GetThemePropertyOrigin@20 +GetThemeRect@20 +GetThemeStream@28 +GetThemeString@24 +GetThemeSysBool@8 +GetThemeSysColor@8 +GetThemeSysColorBrush@8 +GetThemeSysFont@12 +GetThemeSysInt@12 +GetThemeSysSize@8 +GetThemeSysString@16 +GetThemeTextExtent@36 +GetThemeTextMetrics@20 +GetThemeTransitionDuration@24 +GetWindowTheme@4 +HitTestThemeBackground@40 +IsAppThemed@0 +IsCompositionActive@0 +IsThemeActive@0 +IsThemeBackgroundPartiallyTransparent@12 +IsThemeDialogTextureEnabled@4 +IsThemePartDefined@12 +OpenThemeData@8 +SetThemeAppProperties@4 +SetWindowTheme@12 +SetWindowThemeAttribute@16 +ThemeInitApiHook@8 diff --git a/lib/libc/mingw/lib32/virtdisk.def b/lib/libc/mingw/lib32/virtdisk.def new file mode 100644 index 0000000000..5ca62c9b8e --- /dev/null +++ b/lib/libc/mingw/lib32/virtdisk.def @@ -0,0 +1,33 @@ +; +; Definition file of VirtDisk.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "VirtDisk.dll" +EXPORTS +AddVirtualDiskParent@8 +ApplySnapshotVhdSet@12 +AttachVirtualDisk@24 +BreakMirrorVirtualDisk@4 +CompactVirtualDisk@16 +CreateVirtualDisk@36 +DeleteSnapshotVhdSet@12 +DeleteVirtualDiskMetadata@8 +DetachVirtualDisk@12 +EnumerateVirtualDiskMetadata@12 +ExpandVirtualDisk@16 +GetAllAttachedVirtualDiskPhysicalPaths@8 +GetStorageDependencyInformation@20 +GetVirtualDiskInformation@16 +GetVirtualDiskMetadata@16 +GetVirtualDiskOperationProgress@12 +GetVirtualDiskPhysicalPath@12 +MergeVirtualDisk@16 +MirrorVirtualDisk@16 +ModifyVhdSet@12 +OpenVirtualDisk@24 +QueryChangesVirtualDisk@40 +ResizeVirtualDisk@16 +SetVirtualDiskInformation@8 +SetVirtualDiskMetadata@16 +TakeSnapshotVhdSet@12 diff --git a/lib/libc/mingw/lib32/vssapi.def b/lib/libc/mingw/lib32/vssapi.def new file mode 100644 index 0000000000..11e570956c --- /dev/null +++ b/lib/libc/mingw/lib32/vssapi.def @@ -0,0 +1,160 @@ +; +; Definition file of VSSAPI.DLL +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "VSSAPI.DLL" +EXPORTS +IsVolumeSnapshotted@12 +VssFreeSnapshotProperties@4 +ShouldBlockRevert@8 +; public: __thiscall CVssJetWriter::CVssJetWriter(void) +??0CVssJetWriter@@QAE@XZ ; has WINAPI (@0) +; public: __thiscall CVssWriter::CVssWriter(void) +??0CVssWriter@@QAE@XZ ; has WINAPI (@0) +; public: virtual __thiscall CVssJetWriter::~CVssJetWriter(void) +??1CVssJetWriter@@UAE@XZ ; has WINAPI (@0) +; public: virtual __thiscall CVssWriter::~CVssWriter(void) +??1CVssWriter@@UAE@XZ ; has WINAPI (@0) +; protected: bool __stdcall CVssJetWriter::AreComponentsSelected(void)const +?AreComponentsSelected@CVssJetWriter@@IBG_NXZ ; has WINAPI (@4) +; protected: bool __stdcall CVssWriter::AreComponentsSelected(void)const +?AreComponentsSelected@CVssWriter@@IBG_NXZ ; has WINAPI (@4) +; long __stdcall CreateVssBackupComponents(class IVssBackupComponents **) +?CreateVssBackupComponents@@YGJPAPAVIVssBackupComponents@@@Z ; has WINAPI (@4) +; long __stdcall CreateVssExamineWriterMetadata(unsigned short *,class IVssExamineWriterMetadata **) +?CreateVssExamineWriterMetadata@@YGJPAGPAPAVIVssExamineWriterMetadata@@@Z ; has WINAPI (@8) +; long __stdcall CreateVssSnapshotSetDescription(struct _GUID,long,class IVssSnapshotSetDescription **) +?CreateVssSnapshotSetDescription@@YGJU_GUID@@JPAPAVIVssSnapshotSetDescription@@@Z ; has WINAPI (@24) +; protected: enum _VSS_BACKUP_TYPE __stdcall CVssJetWriter::GetBackupType(void)const +?GetBackupType@CVssJetWriter@@IBG?AW4_VSS_BACKUP_TYPE@@XZ ; has WINAPI (@4) +; protected: enum _VSS_BACKUP_TYPE __stdcall CVssWriter::GetBackupType(void)const +?GetBackupType@CVssWriter@@IBG?AW4_VSS_BACKUP_TYPE@@XZ ; has WINAPI (@4) +; protected: long __stdcall CVssJetWriter::GetContext(void)const +?GetContext@CVssJetWriter@@IBGJXZ ; has WINAPI (@4) +; protected: long __stdcall CVssWriter::GetContext(void)const +?GetContext@CVssWriter@@IBGJXZ ; has WINAPI (@4) +; protected: enum _VSS_APPLICATION_LEVEL __stdcall CVssJetWriter::GetCurrentLevel(void)const +?GetCurrentLevel@CVssJetWriter@@IBG?AW4_VSS_APPLICATION_LEVEL@@XZ ; has WINAPI (@4) +; protected: enum _VSS_APPLICATION_LEVEL __stdcall CVssWriter::GetCurrentLevel(void)const +?GetCurrentLevel@CVssWriter@@IBG?AW4_VSS_APPLICATION_LEVEL@@XZ ; has WINAPI (@4) +; protected: struct _GUID __stdcall CVssJetWriter::GetCurrentSnapshotSetId(void)const +?GetCurrentSnapshotSetId@CVssJetWriter@@IBG?AU_GUID@@XZ ; has WINAPI (@8) +; protected: struct _GUID __stdcall CVssWriter::GetCurrentSnapshotSetId(void)const +?GetCurrentSnapshotSetId@CVssWriter@@IBG?AU_GUID@@XZ ; has WINAPI (@8) +; protected: unsigned short const **__stdcall CVssJetWriter::GetCurrentVolumeArray(void)const +?GetCurrentVolumeArray@CVssJetWriter@@IBGPAPBGXZ ; has WINAPI (@4) +; protected: unsigned short const **__stdcall CVssWriter::GetCurrentVolumeArray(void)const +?GetCurrentVolumeArray@CVssWriter@@IBGPAPBGXZ ; has WINAPI (@4) +; protected: unsigned int __stdcall CVssJetWriter::GetCurrentVolumeCount(void)const +?GetCurrentVolumeCount@CVssJetWriter@@IBGIXZ ; has WINAPI (@4) +; protected: unsigned int __stdcall CVssWriter::GetCurrentVolumeCount(void)const +?GetCurrentVolumeCount@CVssWriter@@IBGIXZ ; has WINAPI (@4) +; protected: enum _VSS_RESTORE_TYPE __stdcall CVssJetWriter::GetRestoreType(void)const +?GetRestoreType@CVssJetWriter@@IBG?AW4_VSS_RESTORE_TYPE@@XZ ; has WINAPI (@4) +; protected: enum _VSS_RESTORE_TYPE __stdcall CVssWriter::GetRestoreType(void)const +?GetRestoreType@CVssWriter@@IBG?AW4_VSS_RESTORE_TYPE@@XZ ; has WINAPI (@4) +; protected: long __stdcall CVssJetWriter::GetSnapshotDeviceName(unsigned short const *,unsigned short const **)const +?GetSnapshotDeviceName@CVssJetWriter@@IBGJPBGPAPBG@Z ; has WINAPI (@12) +; protected: long __stdcall CVssWriter::GetSnapshotDeviceName(unsigned short const *,unsigned short const **)const +?GetSnapshotDeviceName@CVssWriter@@IBGJPBGPAPBG@Z ; has WINAPI (@12) +; public: long __stdcall CVssJetWriter::Initialize(struct _GUID,unsigned short const *,bool,bool,unsigned short const *,unsigned short const *,unsigned long) +?Initialize@CVssJetWriter@@QAGJU_GUID@@PBG_N211K@Z ; has WINAPI (@44) +; public: long __stdcall CVssWriter::Initialize(struct _GUID,unsigned short const *,enum VSS_USAGE_TYPE,enum VSS_SOURCE_TYPE,enum _VSS_APPLICATION_LEVEL,unsigned long,enum VSS_ALTERNATE_WRITER_STATE,bool,unsigned short const *) +?Initialize@CVssWriter@@QAGJU_GUID@@PBGW4VSS_USAGE_TYPE@@W4VSS_SOURCE_TYPE@@W4_VSS_APPLICATION_LEVEL@@KW4VSS_ALTERNATE_WRITER_STATE@@_N1@Z ; has WINAPI (@52) +; public: long __stdcall CVssWriter::InstallAlternateWriter(struct _GUID,struct _GUID) +?InstallAlternateWriter@CVssWriter@@QAGJU_GUID@@0@Z ; has WINAPI (@36) +; protected: bool __stdcall CVssJetWriter::IsBootableSystemStateBackedUp(void)const +?IsBootableSystemStateBackedUp@CVssJetWriter@@IBG_NXZ ; has WINAPI (@4) +; protected: bool __stdcall CVssWriter::IsBootableSystemStateBackedUp(void)const +?IsBootableSystemStateBackedUp@CVssWriter@@IBG_NXZ ; has WINAPI (@4) +; protected: bool __stdcall CVssJetWriter::IsPartialFileSupportEnabled(void)const +?IsPartialFileSupportEnabled@CVssJetWriter@@IBG_NXZ ; has WINAPI (@4) +; protected: bool __stdcall CVssWriter::IsPartialFileSupportEnabled(void)const +?IsPartialFileSupportEnabled@CVssWriter@@IBG_NXZ ; has WINAPI (@4) +; protected: bool __stdcall CVssJetWriter::IsPathAffected(unsigned short const *)const +?IsPathAffected@CVssJetWriter@@IBG_NPBG@Z ; has WINAPI (@8) +; protected: bool __stdcall CVssWriter::IsPathAffected(unsigned short const *)const +?IsPathAffected@CVssWriter@@IBG_NPBG@Z ; has WINAPI (@8) +; long __stdcall LoadVssSnapshotSetDescription(unsigned short const *,class IVssSnapshotSetDescription **,struct _GUID) +?LoadVssSnapshotSetDescription@@YGJPBGPAPAVIVssSnapshotSetDescription@@U_GUID@@@Z ; has WINAPI (@24) +; public: virtual void __stdcall CVssJetWriter::OnAbortBegin(void) +?OnAbortBegin@CVssJetWriter@@UAGXXZ ; has WINAPI (@4) +; public: virtual void __stdcall CVssJetWriter::OnAbortEnd(void) +?OnAbortEnd@CVssJetWriter@@UAGXXZ ; has WINAPI (@4) +; public: virtual bool __stdcall CVssWriter::OnBackOffIOOnVolume(unsigned short *,struct _GUID,struct _GUID) +?OnBackOffIOOnVolume@CVssWriter@@UAG_NPAGU_GUID@@1@Z ; has WINAPI (@40) +; public: virtual bool __stdcall CVssWriter::OnBackupComplete(class IVssWriterComponents *) +?OnBackupComplete@CVssWriter@@UAG_NPAVIVssWriterComponents@@@Z ; has WINAPI (@8) +; public: virtual bool __stdcall CVssJetWriter::OnBackupCompleteBegin(class IVssWriterComponents *) +?OnBackupCompleteBegin@CVssJetWriter@@UAG_NPAVIVssWriterComponents@@@Z ; has WINAPI (@8) +; public: virtual bool __stdcall CVssJetWriter::OnBackupCompleteEnd(class IVssWriterComponents *,bool) +?OnBackupCompleteEnd@CVssJetWriter@@UAG_NPAVIVssWriterComponents@@_N@Z ; has WINAPI (@12) +; public: virtual bool __stdcall CVssWriter::OnBackupShutdown(struct _GUID) +?OnBackupShutdown@CVssWriter@@UAG_NU_GUID@@@Z ; has WINAPI (@20) +; public: virtual bool __stdcall CVssWriter::OnContinueIOOnVolume(unsigned short *,struct _GUID,struct _GUID) +?OnContinueIOOnVolume@CVssWriter@@UAG_NPAGU_GUID@@1@Z ; has WINAPI (@40) +; public: virtual bool __stdcall CVssJetWriter::OnFreezeBegin(void) +?OnFreezeBegin@CVssJetWriter@@UAG_NXZ ; has WINAPI (@4) +; public: virtual bool __stdcall CVssJetWriter::OnFreezeEnd(bool) +?OnFreezeEnd@CVssJetWriter@@UAG_N_N@Z ; has WINAPI (@8) +; public: virtual bool __stdcall CVssJetWriter::OnIdentify(class IVssCreateWriterMetadata *) +?OnIdentify@CVssJetWriter@@UAG_NPAVIVssCreateWriterMetadata@@@Z ; has WINAPI (@8) +; public: virtual bool __stdcall CVssWriter::OnIdentify(class IVssCreateWriterMetadata *) +?OnIdentify@CVssWriter@@UAG_NPAVIVssCreateWriterMetadata@@@Z ; has WINAPI (@8) +; public: virtual bool __stdcall CVssWriter::OnPostRestore(class IVssWriterComponents *) +?OnPostRestore@CVssWriter@@UAG_NPAVIVssWriterComponents@@@Z ; has WINAPI (@8) +; public: virtual bool __stdcall CVssJetWriter::OnPostRestoreBegin(class IVssWriterComponents *) +?OnPostRestoreBegin@CVssJetWriter@@UAG_NPAVIVssWriterComponents@@@Z ; has WINAPI (@8) +; public: virtual bool __stdcall CVssJetWriter::OnPostRestoreEnd(class IVssWriterComponents *,bool) +?OnPostRestoreEnd@CVssJetWriter@@UAG_NPAVIVssWriterComponents@@_N@Z ; has WINAPI (@12) +; public: virtual bool __stdcall CVssJetWriter::OnPostSnapshot(class IVssWriterComponents *) +?OnPostSnapshot@CVssJetWriter@@UAG_NPAVIVssWriterComponents@@@Z ; has WINAPI (@8) +; public: virtual bool __stdcall CVssWriter::OnPostSnapshot(class IVssWriterComponents *) +?OnPostSnapshot@CVssWriter@@UAG_NPAVIVssWriterComponents@@@Z ; has WINAPI (@8) +; public: virtual bool __stdcall CVssWriter::OnPreRestore(class IVssWriterComponents *) +?OnPreRestore@CVssWriter@@UAG_NPAVIVssWriterComponents@@@Z ; has WINAPI (@8) +; public: virtual bool __stdcall CVssJetWriter::OnPreRestoreBegin(class IVssWriterComponents *) +?OnPreRestoreBegin@CVssJetWriter@@UAG_NPAVIVssWriterComponents@@@Z ; has WINAPI (@8) +; public: virtual bool __stdcall CVssJetWriter::OnPreRestoreEnd(class IVssWriterComponents *,bool) +?OnPreRestoreEnd@CVssJetWriter@@UAG_NPAVIVssWriterComponents@@_N@Z ; has WINAPI (@12) +; public: virtual bool __stdcall CVssWriter::OnPrepareBackup(class IVssWriterComponents *) +?OnPrepareBackup@CVssWriter@@UAG_NPAVIVssWriterComponents@@@Z ; has WINAPI (@8) +; public: virtual bool __stdcall CVssJetWriter::OnPrepareBackupBegin(class IVssWriterComponents *) +?OnPrepareBackupBegin@CVssJetWriter@@UAG_NPAVIVssWriterComponents@@@Z ; has WINAPI (@8) +; public: virtual bool __stdcall CVssJetWriter::OnPrepareBackupEnd(class IVssWriterComponents *,bool) +?OnPrepareBackupEnd@CVssJetWriter@@UAG_NPAVIVssWriterComponents@@_N@Z ; has WINAPI (@12) +; public: virtual bool __stdcall CVssJetWriter::OnPrepareSnapshotBegin(void) +?OnPrepareSnapshotBegin@CVssJetWriter@@UAG_NXZ ; has WINAPI (@4) +; public: virtual bool __stdcall CVssJetWriter::OnPrepareSnapshotEnd(bool) +?OnPrepareSnapshotEnd@CVssJetWriter@@UAG_N_N@Z ; has WINAPI (@8) +; public: virtual bool __stdcall CVssJetWriter::OnThawBegin(void) +?OnThawBegin@CVssJetWriter@@UAG_NXZ ; has WINAPI (@4) +; public: virtual bool __stdcall CVssJetWriter::OnThawEnd(bool) +?OnThawEnd@CVssJetWriter@@UAG_N_N@Z ; has WINAPI (@8) +; public: virtual bool __stdcall CVssWriter::OnVSSApplicationStartup(void) +?OnVSSApplicationStartup@CVssWriter@@UAG_NXZ ; has WINAPI (@4) +; public: virtual bool __stdcall CVssWriter::OnVSSShutdown(void) +?OnVSSShutdown@CVssWriter@@UAG_NXZ ; has WINAPI (@4) +; protected: long __stdcall CVssJetWriter::SetWriterFailure(long) +?SetWriterFailure@CVssJetWriter@@IAGJJ@Z ; has WINAPI (@8) +; protected: long __stdcall CVssWriter::SetWriterFailure(long) +?SetWriterFailure@CVssWriter@@IAGJJ@Z ; has WINAPI (@8) +; public: long __stdcall CVssWriter::Subscribe(unsigned long) +?Subscribe@CVssWriter@@QAGJK@Z ; has WINAPI (@8) +; public: void __stdcall CVssJetWriter::Uninitialize(void) +?Uninitialize@CVssJetWriter@@QAGXXZ ; has WINAPI (@4) +; public: long __stdcall CVssWriter::Unsubscribe(void) +?Unsubscribe@CVssWriter@@QAGJXZ ; has WINAPI (@4) +CreateVssBackupComponentsInternal@4 +CreateVssExamineWriterMetadataInternal@8 +CreateVssExpressWriterInternal@4 +CreateWriter@8 +CreateWriterEx@8 +;DllCanUnloadNow@0 +;DllGetClassObject@12 +GetProviderMgmtInterface@36 +GetProviderMgmtInterfaceInternal@36 +IsVolumeSnapshottedInternal@12 +ShouldBlockRevertInternal@8 +VssFreeSnapshotPropertiesInternal@4 diff --git a/lib/libc/mingw/lib32/wdsclientapi.def b/lib/libc/mingw/lib32/wdsclientapi.def new file mode 100644 index 0000000000..0ce0201113 --- /dev/null +++ b/lib/libc/mingw/lib32/wdsclientapi.def @@ -0,0 +1,46 @@ +; +; Definition file of WDSCLIENTAPI.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "WDSCLIENTAPI.dll" +EXPORTS +WdsCliAuthorizeSession@8 +WdsCliCancelTransfer@4 +WdsCliClose@4 +WdsCliCreateSession@12 +WdsCliFindFirstImage@8 +WdsCliFindNextImage@4 +WdsCliFreeDomainJoinInformation@4 +WdsCliFreeStringArray@8 +WdsCliFreeUnattendVariables@8 +WdsCliGetClientUnattend@20 +WdsCliGetDomainJoinInformation@16 +WdsCliGetEnumerationFlags@8 +WdsCliGetImageArchitecture@8 +WdsCliGetImageDescription@8 +WdsCliGetImageFiles@12 +WdsCliGetImageGroup@8 +WdsCliGetImageHalName@8 +WdsCliGetImageHandleFromFindHandle@8 +WdsCliGetImageHandleFromTransferHandle@8 +WdsCliGetImageIndex@8 +WdsCliGetImageLanguage@8 +WdsCliGetImageLanguages@12 +WdsCliGetImageLastModifiedTime@8 +WdsCliGetImageName@8 +WdsCliGetImageNamespace@8 +WdsCliGetImageParameter@16 +WdsCliGetImagePath@8 +WdsCliGetImageSize@8 +WdsCliGetImageType@8 +WdsCliGetImageVersion@8 +WdsCliGetTransferSize@8 +WdsCliGetUnattendVariables@20 +WdsCliInitializeLog@16 +WdsCliLog +WdsCliObtainDriverPackages@16 +WdsCliRegisterTrace@4 +WdsCliTransferFile@36 +WdsCliTransferImage@28 +WdsCliWaitForTransfer@4 diff --git a/lib/libc/mingw/lib32/wdstptc.def b/lib/libc/mingw/lib32/wdstptc.def new file mode 100644 index 0000000000..44cfa06e93 --- /dev/null +++ b/lib/libc/mingw/lib32/wdstptc.def @@ -0,0 +1,22 @@ +; +; Definition file of WDSTPTC.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "WDSTPTC.dll" +EXPORTS +;WdsTptcDownload@36 +WdsTransportClientRegisterTrace@4 +WdsTransportClientAddRefBuffer@4 +WdsTransportClientCancelSession@4 +WdsTransportClientCancelSessionEx@8 +WdsTransportClientCloseSession@4 +WdsTransportClientCompleteReceive@12 +WdsTransportClientInitialize@0 +WdsTransportClientInitializeSession@12 +WdsTransportClientQueryStatus@12 +WdsTransportClientRegisterCallback@12 +WdsTransportClientReleaseBuffer@4 +WdsTransportClientShutdown@0 +WdsTransportClientStartSession@4 +WdsTransportClientWaitForCompletion@8 diff --git a/lib/libc/mingw/lib32/websocket.def b/lib/libc/mingw/lib32/websocket.def new file mode 100644 index 0000000000..612561a236 --- /dev/null +++ b/lib/libc/mingw/lib32/websocket.def @@ -0,0 +1,15 @@ +LIBRARY "websocket.dll" +EXPORTS +WebSocketAbortHandle@4 +WebSocketBeginClientHandshake@36 +WebSocketBeginServerHandshake@32 +WebSocketCompleteAction@12 +WebSocketCreateClientHandle@12 +WebSocketCreateServerHandle@12 +WebSocketDeleteHandle@4 +WebSocketEndClientHandshake@24 +WebSocketEndServerHandshake@4 +WebSocketGetAction@32 +WebSocketGetGlobalProperty@12 +WebSocketReceive@12 +WebSocketSend@16 diff --git a/lib/libc/mingw/lib32/wecapi.def b/lib/libc/mingw/lib32/wecapi.def new file mode 100644 index 0000000000..058e2fa99d --- /dev/null +++ b/lib/libc/mingw/lib32/wecapi.def @@ -0,0 +1,24 @@ +; +; Definition file of WecApi.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "WecApi.dll" +EXPORTS +EcIsConfigRequired@4 +EcQuickConfig@0 +EcClose@4 +EcDeleteSubscription@8 +EcEnumNextSubscription@16 +EcGetObjectArrayProperty@28 +EcGetObjectArraySize@8 +EcGetSubscriptionProperty@24 +EcGetSubscriptionRunTimeStatus@28 +EcInsertObjectArrayElement@8 +EcOpenSubscription@12 +EcOpenSubscriptionEnum@4 +EcRemoveObjectArrayElement@8 +EcRetrySubscription@12 +EcSaveSubscription@8 +EcSetObjectArrayProperty@20 +EcSetSubscriptionProperty@16 diff --git a/lib/libc/mingw/lib32/wer.def b/lib/libc/mingw/lib32/wer.def new file mode 100644 index 0000000000..1fa1bcf529 --- /dev/null +++ b/lib/libc/mingw/lib32/wer.def @@ -0,0 +1,84 @@ +; +; Definition file of wer.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "wer.dll" +EXPORTS +WerSysprepCleanup@0 +WerSysprepGeneralize@0 +WerSysprepSpecialize@0 +WerUnattendedSetup@0 +WerpAddAppCompatData@12 +WerpAddFile@24 +WerpAddMemoryBlock@12 +WerpAddRegisteredDataToReport@8 +WerpAddSecondaryParameter@12 +WerpAddTextToReport@12 +WerpArchiveReport@20 +WerpCancelResponseDownload@4 +WerpCancelUpload@4 +WerpCloseStore@4 +WerpCreateMachineStore@0 +WerpDeleteReport@8 +WerpDestroyWerString@4 +WerpDownloadResponse@28 +WerpDownloadResponseTemplate@12 +WerpEnumerateStoreNext@8 +WerpEnumerateStoreStart@4 +WerpExtractReportFiles@12 +WerpGetBucketId@8 +WerpGetDynamicParameter@16 +WerpGetEventType@8 +WerpGetFileByIndex@24 +WerpGetFilePathByIndex@12 +WerpGetNumFiles@8 +WerpGetNumSecParams@8 +WerpGetNumSigParams@8 +WerpGetReportFinalConsent@8 +WerpGetReportFlags@8 +WerpGetReportInformation@8 +WerpGetReportTime@8 +WerpGetReportType@8 +WerpGetResponseId@12 +WerpGetResponseUrl@8 +WerpGetSecParamByIndex@16 +WerpGetSigParamByIndex@16 +WerpGetStoreLocation@12 +WerpGetStoreType@8 +WerpGetTextFromReport@12 +WerpGetUIParamByIndex@12 +WerpGetUploadTime@8 +WerpGetWerStringData@4 +WerpIsTransportAvailable@0 +WerpLoadReport@16 +WerpOpenMachineArchive@8 +WerpOpenMachineQueue@8 +WerpOpenUserArchive@8 +WerpReportCancel@4 +WerpRestartApplication@20 +WerpSetDynamicParameter@16 +WerpSetEventName@8 +WerpSetReportFlags@8 +WerpSetReportInformation@8 +WerpSetReportTime@8 +WerpSetReportUploadContextToken@8 +WerpShowNXNotification@4 +WerpShowSecondLevelConsent@12 +WerpShowUpsellUI@8 +WerpSubmitReportFromStore@28 +WerpSvcReportFromMachineQueue@8 +WerAddExcludedApplication@8 +WerRemoveExcludedApplication@8 +WerReportAddDump@28 +WerReportAddFile@16 +WerReportCloseHandle@4 +WerReportCreate@16 +WerReportSetParameter@16 +WerReportSetUIOption@12 +WerReportSubmit@16 +WerpGetReportConsent@12 +WerpIsDisabled@8 +WerpOpenUserQueue@8 +WerpPromtUser@16 +WerpSetCallBack@12 diff --git a/lib/libc/mingw/lib32/wevtapi.def b/lib/libc/mingw/lib32/wevtapi.def new file mode 100644 index 0000000000..5434a001c0 --- /dev/null +++ b/lib/libc/mingw/lib32/wevtapi.def @@ -0,0 +1,52 @@ +; +; Definition file of wevtapi.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "wevtapi.dll" +EXPORTS +EvtIntSysprepCleanup@0 +EvtSetObjectArrayProperty@20 +EvtArchiveExportedLog@16 +EvtCancel@4 +EvtClearLog@16 +EvtClose@4 +EvtCreateBookmark@4 +EvtCreateRenderContext@12 +EvtExportLog@20 +EvtFormatMessage@36 +EvtGetChannelConfigProperty@24 +EvtGetEventInfo@20 +EvtGetEventMetadataProperty@24 +EvtGetExtendedStatus@12 +EvtGetLogInfo@20 +EvtGetObjectArrayProperty@28 +EvtGetObjectArraySize@8 +EvtGetPublisherMetadataProperty@24 +EvtGetQueryInfo@20 +EvtIntAssertConfig@12 +EvtIntCreateLocalLogfile@8 +EvtIntGetClassicLogDisplayName@28 +EvtIntRenderResourceEventTemplate@0 +EvtIntReportAuthzEventAndSourceAsync@44 +EvtIntReportEventAndSourceAsync@44 +EvtIntRetractConfig@12 +EvtIntWriteXmlEventToLocalLogfile@12 +EvtNext@24 +EvtNextChannelPath@16 +EvtNextEventMetadata@8 +EvtNextPublisherId@16 +EvtOpenChannelConfig@12 +EvtOpenChannelEnum@8 +EvtOpenEventMetadataEnum@8 +EvtOpenLog@12 +EvtOpenPublisherEnum@8 +EvtOpenPublisherMetadata@20 +EvtOpenSession@16 +EvtQuery@16 +EvtRender@28 +EvtSaveChannelConfig@8 +EvtSeek@24 +EvtSetChannelConfigProperty@16 +EvtSubscribe@32 +EvtUpdateBookmark@8 diff --git a/lib/libc/mingw/lib32/windowscodecs.def b/lib/libc/mingw/lib32/windowscodecs.def new file mode 100644 index 0000000000..9308831d78 --- /dev/null +++ b/lib/libc/mingw/lib32/windowscodecs.def @@ -0,0 +1,116 @@ +LIBRARY "windowscodecs.dll" +EXPORTS +IEnumString_Next_WIC_Proxy@16 +IEnumString_Reset_WIC_Proxy@4 +IPropertyBag2_Write_Proxy@16 +IWICBitmapClipper_Initialize_Proxy@12 +IWICBitmapCodecInfo_DoesSupportAnimation_Proxy@8 +IWICBitmapCodecInfo_DoesSupportLossless_Proxy@8 +IWICBitmapCodecInfo_DoesSupportMultiframe_Proxy@8 +IWICBitmapCodecInfo_GetContainerFormat_Proxy@8 +IWICBitmapCodecInfo_GetDeviceManufacturer_Proxy@16 +IWICBitmapCodecInfo_GetDeviceModels_Proxy@16 +IWICBitmapCodecInfo_GetFileExtensions_Proxy@16 +IWICBitmapCodecInfo_GetMimeTypes_Proxy@16 +IWICBitmapDecoder_CopyPalette_Proxy@8 +IWICBitmapDecoder_GetColorContexts_Proxy@16 +IWICBitmapDecoder_GetDecoderInfo_Proxy@8 +IWICBitmapDecoder_GetFrameCount_Proxy@8 +IWICBitmapDecoder_GetFrame_Proxy@12 +IWICBitmapDecoder_GetMetadataQueryReader_Proxy@8 +IWICBitmapDecoder_GetPreview_Proxy@8 +IWICBitmapDecoder_GetThumbnail_Proxy@8 +IWICBitmapEncoder_Commit_Proxy@4 +IWICBitmapEncoder_CreateNewFrame_Proxy@12 +IWICBitmapEncoder_GetEncoderInfo_Proxy@8 +IWICBitmapEncoder_GetMetadataQueryWriter_Proxy@8 +IWICBitmapEncoder_Initialize_Proxy@12 +IWICBitmapEncoder_SetPalette_Proxy@8 +IWICBitmapEncoder_SetThumbnail_Proxy@8 +IWICBitmapFlipRotator_Initialize_Proxy@12 +IWICBitmapFrameDecode_GetColorContexts_Proxy@16 +IWICBitmapFrameDecode_GetMetadataQueryReader_Proxy@8 +IWICBitmapFrameDecode_GetThumbnail_Proxy@8 +IWICBitmapFrameEncode_Commit_Proxy@4 +IWICBitmapFrameEncode_GetMetadataQueryWriter_Proxy@8 +IWICBitmapFrameEncode_Initialize_Proxy@8 +IWICBitmapFrameEncode_SetColorContexts_Proxy@12 +IWICBitmapFrameEncode_SetResolution_Proxy@20 +IWICBitmapFrameEncode_SetSize_Proxy@12 +IWICBitmapFrameEncode_SetThumbnail_Proxy@8 +IWICBitmapFrameEncode_WriteSource_Proxy@12 +IWICBitmapLock_GetDataPointer_STA_Proxy@12 +IWICBitmapLock_GetStride_Proxy@8 +IWICBitmapScaler_Initialize_Proxy@20 +IWICBitmapSource_CopyPalette_Proxy@8 +IWICBitmapSource_CopyPixels_Proxy@20 +IWICBitmapSource_GetPixelFormat_Proxy@8 +IWICBitmapSource_GetResolution_Proxy@12 +IWICBitmapSource_GetSize_Proxy@12 +IWICBitmap_Lock_Proxy@16 +IWICBitmap_SetPalette_Proxy@8 +IWICBitmap_SetResolution_Proxy@20 +IWICColorContext_InitializeFromMemory_Proxy@12 +IWICComponentFactory_CreateMetadataWriterFromReader_Proxy@16 +IWICComponentFactory_CreateQueryWriterFromBlockWriter_Proxy@12 +IWICComponentInfo_GetAuthor_Proxy@16 +IWICComponentInfo_GetCLSID_Proxy@8 +IWICComponentInfo_GetFriendlyName_Proxy@16 +IWICComponentInfo_GetSpecVersion_Proxy@16 +IWICComponentInfo_GetVersion_Proxy@16 +IWICFastMetadataEncoder_Commit_Proxy@4 +IWICFastMetadataEncoder_GetMetadataQueryWriter_Proxy@8 +IWICFormatConverter_Initialize_Proxy@32 +IWICImagingFactory_CreateBitmapClipper_Proxy@8 +IWICImagingFactory_CreateBitmapFlipRotator_Proxy@8 +IWICImagingFactory_CreateBitmapFromHBITMAP_Proxy@20 +IWICImagingFactory_CreateBitmapFromHICON_Proxy@12 +IWICImagingFactory_CreateBitmapFromMemory_Proxy@32 +IWICImagingFactory_CreateBitmapFromSource_Proxy@16 +IWICImagingFactory_CreateBitmapScaler_Proxy@8 +IWICImagingFactory_CreateBitmap_Proxy@24 +IWICImagingFactory_CreateComponentInfo_Proxy@12 +IWICImagingFactory_CreateDecoderFromFileHandle_Proxy@20 +IWICImagingFactory_CreateDecoderFromFilename_Proxy@24 +IWICImagingFactory_CreateDecoderFromStream_Proxy@20 +IWICImagingFactory_CreateEncoder_Proxy@16 +IWICImagingFactory_CreateFastMetadataEncoderFromDecoder_Proxy@12 +IWICImagingFactory_CreateFastMetadataEncoderFromFrameDecode_Proxy@12 +IWICImagingFactory_CreateFormatConverter_Proxy@8 +IWICImagingFactory_CreatePalette_Proxy@8 +IWICImagingFactory_CreateQueryWriterFromReader_Proxy@16 +IWICImagingFactory_CreateQueryWriter_Proxy@16 +IWICImagingFactory_CreateStream_Proxy@8 +IWICMetadataBlockReader_GetCount_Proxy@8 +IWICMetadataBlockReader_GetReaderByIndex_Proxy@12 +IWICMetadataQueryReader_GetContainerFormat_Proxy@8 +IWICMetadataQueryReader_GetEnumerator_Proxy@8 +IWICMetadataQueryReader_GetLocation_Proxy@16 +IWICMetadataQueryReader_GetMetadataByName_Proxy@12 +IWICMetadataQueryWriter_RemoveMetadataByName_Proxy@8 +IWICMetadataQueryWriter_SetMetadataByName_Proxy@12 +IWICPalette_GetColorCount_Proxy@8 +IWICPalette_GetColors_Proxy@16 +IWICPalette_GetType_Proxy@8 +IWICPalette_HasAlpha_Proxy@8 +IWICPalette_InitializeCustom_Proxy@12 +IWICPalette_InitializeFromBitmap_Proxy@16 +IWICPalette_InitializeFromPalette_Proxy@8 +IWICPalette_InitializePredefined_Proxy@12 +IWICPixelFormatInfo_GetBitsPerPixel_Proxy@8 +IWICPixelFormatInfo_GetChannelCount_Proxy@8 +IWICPixelFormatInfo_GetChannelMask_Proxy@20 +IWICStream_InitializeFromIStream_Proxy@8 +IWICStream_InitializeFromMemory_Proxy@12 +WICConvertBitmapSource@12 +WICCreateBitmapFromSection@28 +WICCreateBitmapFromSectionEx@32 +WICCreateColorContext_Proxy@8 +WICCreateImagingFactory_Proxy@8 +WICGetMetadataContentSize@12 +WICMapGuidToShortName@16 +WICMapSchemaToName@20 +WICMapShortNameToGuid@8 +WICMatchMetadataContent@16 +WICSerializeMetadataContent@16 +WICSetEncoderFormat_Proxy@16 diff --git a/lib/libc/mingw/lib32/winhttp.def b/lib/libc/mingw/lib32/winhttp.def new file mode 100644 index 0000000000..720e4ba1a4 --- /dev/null +++ b/lib/libc/mingw/lib32/winhttp.def @@ -0,0 +1,76 @@ +; +; Definition file of WINHTTP.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "WINHTTP.dll" +EXPORTS +WinHttpPacJsWorkerMain@8 +DllCanUnloadNow@0 +DllGetClassObject@12 +Private1@20 +SvchostPushServiceGlobals@4 +WinHttpAddRequestHeaders@16 +WinHttpAddRequestHeadersEx@32 +WinHttpAutoProxySvcMain@8 +WinHttpCheckPlatform@0 +WinHttpCloseHandle@4 +WinHttpConnect@16 +WinHttpConnectionDeletePolicyEntries@8 +WinHttpConnectionDeleteProxyInfo@8 +WinHttpConnectionFreeNameList@4 +WinHttpConnectionFreeProxyInfo@4 +WinHttpConnectionFreeProxyList@4 +WinHttpConnectionGetNameList@4 +WinHttpConnectionGetProxyInfo@12 +WinHttpConnectionGetProxyList@8 +WinHttpConnectionSetPolicyEntries@12 +WinHttpConnectionSetProxyInfo@12 +WinHttpConnectionUpdateIfIndexTable@8 +WinHttpCrackUrl@16 +WinHttpCreateProxyResolver@8 +WinHttpCreateUrl@16 +WinHttpDetectAutoProxyConfigUrl@8 +WinHttpFreeProxyResult@4 +WinHttpFreeProxyResultEx@4 +WinHttpFreeProxySettings@4 +WinHttpGetDefaultProxyConfiguration@4 +WinHttpGetIEProxyConfigForCurrentUser@4 +WinHttpGetProxyForUrl@16 +WinHttpGetProxyForUrlEx2@24 +WinHttpGetProxyForUrlEx@16 +WinHttpGetProxyForUrlHvsi@36 +WinHttpGetProxyResult@8 +WinHttpGetProxyResultEx@8 +WinHttpGetProxySettingsVersion@8 +WinHttpGetTunnelSocket@16 +WinHttpOpen@20 +WinHttpOpenRequest@28 +WinHttpProbeConnectivity@24 +WinHttpQueryAuthSchemes@16 +WinHttpQueryDataAvailable@8 +WinHttpQueryHeaders@24 +WinHttpQueryOption@16 +WinHttpReadData@16 +WinHttpReadProxySettings@28 +WinHttpReadProxySettingsHvsi@32 +WinHttpReceiveResponse@8 +WinHttpResetAutoProxy@8 +WinHttpSaveProxyCredentials@16 +WinHttpSendRequest@28 +WinHttpSetCredentials@24 +WinHttpSetDefaultProxyConfiguration@4 +WinHttpSetOption@16 +WinHttpSetProxySettingsPerUser@4 +WinHttpSetStatusCallback@16 +WinHttpSetTimeouts@20 +WinHttpTimeFromSystemTime@8 +WinHttpTimeToSystemTime@8 +WinHttpWebSocketClose@16 +WinHttpWebSocketCompleteUpgrade@8 +WinHttpWebSocketQueryCloseStatus@20 +WinHttpWebSocketReceive@20 +WinHttpWebSocketSend@16 +WinHttpWebSocketShutdown@16 +WinHttpWriteData@16 +WinHttpWriteProxySettings@12 diff --git a/lib/libc/mingw/lib32/wininet.def b/lib/libc/mingw/lib32/wininet.def new file mode 100644 index 0000000000..291d785ac1 --- /dev/null +++ b/lib/libc/mingw/lib32/wininet.def @@ -0,0 +1,313 @@ +; Which header declares the functions not in wininet? +LIBRARY WININET.DLL +EXPORTS +DispatchAPICall@16 +AppCacheCheckManifest@32 +AppCacheCloseHandle@4 +AppCacheCreateAndCommitFile@20 +AppCacheDeleteGroup@4 +AppCacheDeleteIEGroup@4 +AppCacheDuplicateHandle@8 +AppCacheFinalize@16 +AppCacheFreeDownloadList@4 +AppCacheFreeGroupList@4 +AppCacheFreeIESpace@8 +AppCacheFreeSpace@8 +AppCacheGetDownloadList@8 +AppCacheGetFallbackUrl@12 +AppCacheGetGroupList@4 +AppCacheGetIEGroupList@4 +AppCacheGetInfo@8 +AppCacheGetManifestUrl@8 +AppCacheLookup@12 +CommitUrlCacheEntryA@44 +CommitUrlCacheEntryBinaryBlob@32 +CommitUrlCacheEntryW@44 +CreateMD5SSOHash@16 +CreateUrlCacheContainerA@32 +CreateUrlCacheContainerW@32 +CreateUrlCacheEntryA@20 +CreateUrlCacheEntryExW@24 +CreateUrlCacheEntryW@20 +CreateUrlCacheGroup@8 +DeleteIE3Cache@16 +DeleteUrlCacheContainerA@8 +DeleteUrlCacheContainerW@8 +DeleteUrlCacheEntry@4 +DeleteUrlCacheEntryA@4 +DeleteUrlCacheEntryW@4 +DeleteUrlCacheGroup@16 +DeleteWpadCacheForNetworks@4 +DetectAutoProxyUrl@12 +DoConnectoidsExist@0 +ExportCookieFileA@8 +ExportCookieFileW@8 +FindCloseUrlCache@4 +FindFirstUrlCacheContainerA@16 +FindFirstUrlCacheContainerW@16 +FindFirstUrlCacheEntryA@12 +FindFirstUrlCacheEntryExA@40 +FindFirstUrlCacheEntryExW@40 +FindFirstUrlCacheEntryW@12 +FindFirstUrlCacheGroup@24 +FindNextUrlCacheContainerA@12 +FindNextUrlCacheContainerW@12 +FindNextUrlCacheEntryA@12 +FindNextUrlCacheEntryExA@24 +FindNextUrlCacheEntryExW@24 +FindNextUrlCacheEntryW@12 +FindNextUrlCacheGroup@12 +FindP3PPolicySymbol@4 +ForceNexusLookup@0 +ForceNexusLookupExW@20 +FreeP3PObject@4 +FreeUrlCacheSpaceA@12 +FreeUrlCacheSpaceW@12 +FtpCommandA@24 +FtpCommandW@24 +FtpCreateDirectoryA@8 +FtpCreateDirectoryW@8 +FtpDeleteFileA@8 +FtpDeleteFileW@8 +FtpFindFirstFileA@20 +FtpFindFirstFileW@20 +FtpGetCurrentDirectoryA@12 +FtpGetCurrentDirectoryW@12 +FtpGetFileA@28 +FtpGetFileEx@28 +FtpGetFileSize@8 +FtpGetFileW@28 +FtpOpenFileA@20 +FtpOpenFileW@20 +FtpPutFileA@20 +FtpPutFileEx@20 +FtpPutFileW@20 +FtpRemoveDirectoryA@8 +FtpRemoveDirectoryW@8 +FtpRenameFileA@12 +FtpRenameFileW@12 +FtpSetCurrentDirectoryA@8 +FtpSetCurrentDirectoryW@8 +GetDiskInfoA@16 +GetP3PPolicy@16 +GetP3PRequestStatus@4 +GetUrlCacheConfigInfoA@12 +GetUrlCacheConfigInfoW@12 +GetUrlCacheEntryBinaryBlob@28 +GetUrlCacheEntryInfoA@12 +GetUrlCacheEntryInfoExA@28 +GetUrlCacheEntryInfoExW@28 +GetUrlCacheEntryInfoW@12 +GetUrlCacheGroupAttributeA@28 +GetUrlCacheGroupAttributeW@28 +GetUrlCacheHeaderData@8 +GopherCreateLocatorA@28 +GopherCreateLocatorW@28 +GopherFindFirstFileA@24 +GopherFindFirstFileW@24 +GopherGetAttributeA@32 +GopherGetAttributeW@32 +GopherGetLocatorTypeA@8 +GopherGetLocatorTypeW@8 +GopherOpenFileA@20 +GopherOpenFileW@20 +HttpAddRequestHeadersA@16 +HttpAddRequestHeadersW@16 +HttpCheckDavCompliance@20 +HttpCheckDavComplianceA@20 +HttpCheckDavComplianceW@20 +HttpCloseDependencyHandle@4 +HttpDuplicateDependencyHandle@8 +HttpEndRequestA@16 +HttpEndRequestW@16 +HttpGetServerCredentials@12 +HttpGetTunnelSocket@16 +HttpIndicatePageLoadComplete@4 +HttpIsHostHstsEnabled@8 +HttpOpenDependencyHandle@12 +HttpOpenRequestA@32 +HttpOpenRequestW@32 +HttpPushClose@4 +HttpPushEnable@12 +HttpPushWait@12 +HttpQueryInfoA@20 +HttpQueryInfoW@20 +HttpSendRequestA@20 +HttpSendRequestExA@20 +HttpSendRequestExW@20 +HttpSendRequestW@20 +HttpWebSocketClose@16 +HttpWebSocketCompleteUpgrade@8 +HttpWebSocketQueryCloseStatus@20 +HttpWebSocketReceive@20 +HttpWebSocketSend@16 +HttpWebSocketShutdown@16 +ImportCookieFileA@4 +ImportCookieFileW@4 +IncrementUrlCacheHeaderData@8 +InternetAlgIdToStringA@16 +InternetAlgIdToStringW@16 +InternetAttemptConnect@4 +InternetAutodial@8 +InternetAutodialCallback@8 +InternetAutodialHangup@4 +InternetCanonicalizeUrlA@16 +InternetCanonicalizeUrlW@16 +InternetCheckConnectionA@12 +InternetCheckConnectionW@12 +InternetClearAllPerSiteCookieDecisions@0 +InternetCloseHandle@4 +InternetCombineUrlA@20 +InternetCombineUrlW@20 +InternetConfirmZoneCrossing@16 +InternetConfirmZoneCrossingA@16 +InternetConfirmZoneCrossingW@16 +InternetConnectA@32 +InternetConnectW@32 +InternetConvertUrlFromWireToWideChar@32 +InternetCrackUrlA@16 +InternetCrackUrlW@16 +InternetCreateUrlA@16 +InternetCreateUrlW@16 +;InternetDebugGetLocalTime@8 +InternetDial@20 +InternetDialA@20 +InternetDialW@20 +InternetEnumPerSiteCookieDecisionA@16 +InternetEnumPerSiteCookieDecisionW@16 +InternetErrorDlg@20 +InternetFindNextFileA@8 +InternetFindNextFileW@8 +InternetFortezzaCommand@12 +InternetFreeCookies@8 +InternetFreeProxyInfoList@4 +InternetGetCertByURL@12 +InternetGetCertByURLA@12 +InternetGetConnectedState@8 +InternetGetConnectedStateEx@16 +InternetGetConnectedStateExA@16 +InternetGetConnectedStateExW@16 +InternetGetCookieA@16 +InternetGetCookieEx2@20 +InternetGetCookieExA@24 +InternetGetCookieExW@24 +InternetGetCookieW@16 +InternetGetLastResponseInfoA@12 +InternetGetLastResponseInfoW@12 +InternetGetPerSiteCookieDecisionA@8 +InternetGetPerSiteCookieDecisionW@8 +InternetGetProxyForUrl@12 +InternetGetSecurityInfoByURL@12 +InternetGetSecurityInfoByURLA@12 +InternetGetSecurityInfoByURLW@12 +InternetGoOnline@12 +InternetGoOnlineA@12 +InternetGoOnlineW@12 +InternetHangUp@8 +InternetInitializeAutoProxyDll@4 +InternetLockRequestFile@8 +InternetOpenA@20 +InternetOpenUrlA@24 +InternetOpenUrlW@24 +InternetOpenW@20 +InternetQueryDataAvailable@16 +InternetQueryFortezzaStatus@8 +InternetQueryOptionA@16 +InternetQueryOptionW@16 +InternetReadFile@16 +InternetReadFileExA@16 +InternetReadFileExW@16 +InternetSecurityProtocolToStringA@16 +InternetSecurityProtocolToStringW@16 +InternetSetCookieA@12 +InternetSetCookieEx2@20 +InternetSetCookieExA@20 +InternetSetCookieExW@20 +InternetSetCookieW@12 +InternetSetDialState@12 +InternetSetDialStateA@12 +InternetSetDialStateW@12 +InternetSetFilePointer@20 +InternetSetOptionA@16 +InternetSetOptionExA@20 +InternetSetOptionExW@20 +InternetSetOptionW@16 +InternetSetPerSiteCookieDecisionA@8 +InternetSetPerSiteCookieDecisionW@8 +InternetSetStatusCallback@8 +InternetSetStatusCallbackA@8 +InternetSetStatusCallbackW@8 +InternetShowSecurityInfoByURL@8 +InternetShowSecurityInfoByURLA@8 +InternetShowSecurityInfoByURLW@8 +InternetTimeFromSystemTime@16 +InternetTimeFromSystemTimeA@16 +InternetTimeFromSystemTimeW@16 +InternetTimeToSystemTime@12 +InternetTimeToSystemTimeA@12 +InternetTimeToSystemTimeW@12 +InternetUnlockRequestFile@4 +InternetWriteFile@16 +InternetWriteFileExA@16 +InternetWriteFileExW@16 +IsDomainLegalCookieDomainA@8 +IsDomainLegalCookieDomainW@8 +IsHostInProxyBypassList@12 +IsProfilesEnabled@0 +IsUrlCacheEntryExpiredA@12 +IsUrlCacheEntryExpiredW@12 +LoadUrlCacheContent@0 +MapResourceToPolicy@16 +ParseX509EncodedCertificateForListBoxEntry@16 +PerformOperationOverUrlCacheA@40 +PrivacyGetZonePreferenceW@20 +PrivacySetZonePreferenceW@16 +ReadUrlCacheEntryStream@20 +ReadUrlCacheEntryStreamEx@20 +RegisterUrlCacheNotification@24 +ResumeSuspendedDownload@8 +RetrieveUrlCacheEntryFileA@16 +RetrieveUrlCacheEntryFileW@16 +RetrieveUrlCacheEntryStreamA@20 +RetrieveUrlCacheEntryStreamW@20 +RunOnceUrlCache@16 +SetUrlCacheConfigInfoA@8 +SetUrlCacheConfigInfoW@8 +SetUrlCacheEntryGroup@28 +SetUrlCacheEntryGroupA@28 +SetUrlCacheEntryGroupW@28 +SetUrlCacheEntryInfoA@12 +SetUrlCacheEntryInfoW@12 +SetUrlCacheGroupAttributeA@24 +SetUrlCacheGroupAttributeW@24 +SetUrlCacheHeaderData@8 +ShowCertificate@8 +ShowClientAuthCerts@4 +ShowSecurityInfo@8 +ShowX509EncodedCertificate@12 +UnlockUrlCacheEntryFile@8 +UnlockUrlCacheEntryFileA@8 +UnlockUrlCacheEntryFileW@8 +UnlockUrlCacheEntryStream@8 +UpdateUrlCacheContentPath@4 +UrlCacheCheckEntriesExist@12 +UrlCacheCloseEntryHandle@4 +UrlCacheContainerSetEntryMaximumAge@8 +UrlCacheCreateContainer@24 +UrlCacheFindFirstEntry@28 +UrlCacheFindNextEntry@8 +UrlCacheFreeEntryInfo@4 +UrlCacheFreeGlobalSpace@12 +UrlCacheGetContentPaths@8 +UrlCacheGetEntryInfo@12 +UrlCacheGetGlobalCacheSize@12 +UrlCacheGetGlobalLimit@8 +UrlCacheReadEntryStream@24 +UrlCacheReloadSettings@0 +UrlCacheRetrieveEntryFile@16 +UrlCacheRetrieveEntryStream@20 +UrlCacheServer@0 +UrlCacheSetGlobalLimit@12 +UrlCacheUpdateEntryExtraData@16 +UrlZonesDetach@0 +_GetFileExtensionFromUrl@16 diff --git a/lib/libc/mingw/lib32/winusb.def b/lib/libc/mingw/lib32/winusb.def new file mode 100644 index 0000000000..a76c49c443 --- /dev/null +++ b/lib/libc/mingw/lib32/winusb.def @@ -0,0 +1,41 @@ +; +; Definition file of WINUSB.DLL +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "WINUSB.DLL" +EXPORTS +WinUsb_AbortPipe@8 +WinUsb_AbortPipeAsync@12 +WinUsb_ControlTransfer@28 +WinUsb_FlushPipe@8 +WinUsb_Free@4 +WinUsb_GetAdjustedFrameNumber@12 +WinUsb_GetAssociatedInterface@12 +WinUsb_GetCurrentAlternateSetting@8 +WinUsb_GetCurrentFrameNumber@12 +WinUsb_GetDescriptor@28 +WinUsb_GetOverlappedResult@16 +WinUsb_GetPipePolicy@20 +WinUsb_GetPowerPolicy@16 +WinUsb_Initialize@8 +WinUsb_ParseConfigurationDescriptor@28 +WinUsb_ParseDescriptors@16 +WinUsb_QueryDeviceInformation@16 +WinUsb_QueryInterfaceSettings@12 +WinUsb_QueryPipe@16 +WinUsb_QueryPipeEx@16 +WinUsb_ReadIsochPipe@28 +WinUsb_ReadIsochPipeAsap@28 +WinUsb_ReadPipe@24 +WinUsb_RegisterIsochBuffer@20 +WinUsb_ResetPipe@8 +WinUsb_ResetPipeAsync@12 +WinUsb_SetCurrentAlternateSetting@8 +WinUsb_SetCurrentAlternateSettingAsync@12 +WinUsb_SetPipePolicy@20 +WinUsb_SetPowerPolicy@16 +WinUsb_UnregisterIsochBuffer@4 +WinUsb_WriteIsochPipe@20 +WinUsb_WriteIsochPipeAsap@20 +WinUsb_WritePipe@24 diff --git a/lib/libc/mingw/lib32/wkscli.def b/lib/libc/mingw/lib32/wkscli.def new file mode 100644 index 0000000000..aa8c30ac9b --- /dev/null +++ b/lib/libc/mingw/lib32/wkscli.def @@ -0,0 +1,30 @@ +; +; Definition file of wkscli.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "wkscli.dll" +EXPORTS +NetAddAlternateComputerName@20 +NetEnumerateComputerNames@20 +NetGetJoinInformation@12 +NetGetJoinableOUs@24 +NetJoinDomain@24 +NetRemoveAlternateComputerName@20 +NetRenameMachineInDomain@20 +NetSetPrimaryComputerName@20 +NetUnjoinDomain@16 +NetUseAdd@16 +NetUseDel@12 +NetUseEnum@28 +NetUseGetInfo@16 +NetValidateName@20 +NetWkstaGetInfo@12 +NetWkstaSetInfo@16 +NetWkstaStatisticsGet@16 +NetWkstaTransportAdd@16 +NetWkstaTransportDel@12 +NetWkstaTransportEnum@28 +NetWkstaUserEnum@28 +NetWkstaUserGetInfo@12 +NetWkstaUserSetInfo@16 diff --git a/lib/libc/mingw/lib32/wlanapi.def b/lib/libc/mingw/lib32/wlanapi.def new file mode 100644 index 0000000000..59cf01bcd3 --- /dev/null +++ b/lib/libc/mingw/lib32/wlanapi.def @@ -0,0 +1,43 @@ +; +; Definition file of Wlanapi.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "Wlanapi.dll" +EXPORTS +WlanAllocateMemory@4 +WlanCloseHandle@8 +WlanConnect@16 +WlanDeleteProfile@16 +WlanDisconnect@12 +WlanEnumInterfaces@12 +WlanExtractPsdIEDataList@24 +WlanFreeMemory@4 +WlanGetAvailableNetworkList@20 +WlanGetFilterList@16 +WlanGetInterfaceCapability@16 +WlanGetNetworkBssList@28 +WlanGetProfile@28 +WlanGetProfileCustomUserData@24 +WlanGetProfileList@16 +WlanGetSecuritySettings@20 +WlanIhvControl@32 +WlanOpenHandle@16 +WlanQueryAutoConfigParameter@24 +WlanQueryInterface@28 +WlanReasonCodeToString@16 +WlanRegisterNotification@28 +WlanRenameProfile@20 +WlanSaveTemporaryProfile@28 +WlanScan@20 +WlanSetAutoConfigParameter@20 +WlanSetFilterList@16 +WlanSetInterface@24 +WlanSetProfile@32 +WlanSetProfileCustomUserData@24 +WlanSetProfileEapUserData@44 +WlanSetProfileEapXmlUserData@24 +WlanSetProfileList@20 +WlanSetProfilePosition@20 +WlanSetPsdIEDataList@16 +WlanSetSecuritySettings@12 diff --git a/lib/libc/mingw/lib32/wsdapi.def b/lib/libc/mingw/lib32/wsdapi.def new file mode 100644 index 0000000000..d8ab9aeb66 --- /dev/null +++ b/lib/libc/mingw/lib32/wsdapi.def @@ -0,0 +1,41 @@ +; +; Definition file of wsdapi.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "wsdapi.dll" +EXPORTS +WSDCancelAddrChangeNotify@4 +WSDCreateHttpAddressAdvanced@8 +WSDNotifyAddrChange@12 +WSDAllocateLinkedMemory@8 +WSDAttachLinkedMemory@8 +WSDCreateDeviceHost@12 +WSDCreateDeviceHostAdvanced@20 +WSDCreateDeviceProxy@16 +WSDCreateDeviceProxyAdvanced@20 +WSDCreateDiscoveryProvider@8 +WSDCreateDiscoveryPublisher@8 +WSDCreateHttpAddress@4 +WSDCreateHttpMessageParameters@4 +WSDCreateHttpTransport@8 +WSDCreateMetadataAgent@12 +WSDCreateOutboundAttachment@4 +WSDCreateUdpAddress@4 +WSDCreateUdpMessageParameters@4 +WSDCreateUdpTransport@4 +WSDDetachLinkedMemory@4 +WSDFreeLinkedMemory@4 +WSDGenerateFault@24 +WSDGenerateFaultEx@20 +WSDGenerateRandomDelay@8 +WSDGetConfigurationOption@12 +WSDProcessFault@12 +WSDSetConfigurationOption@12 +WSDXMLAddChild@8 +WSDXMLAddSibling@8 +WSDXMLBuildAnyForSingleElement@12 +WSDXMLCleanupElement@4 +WSDXMLCreateContext@4 +WSDXMLGetNameFromBuiltinNamespace@12 +WSDXMLGetValueFromAny@16 diff --git a/lib/libc/mingw/lib32/wsnmp32.def b/lib/libc/mingw/lib32/wsnmp32.def new file mode 100644 index 0000000000..d209d89459 --- /dev/null +++ b/lib/libc/mingw/lib32/wsnmp32.def @@ -0,0 +1,48 @@ +LIBRARY wsnmp32.dll +EXPORTS +SnmpCancelMsg@8 +SnmpCleanup@0 +SnmpClose@4 +SnmpContextToStr@8 +SnmpCountVbl@4 +SnmpCreatePdu@24 +SnmpCreateSession@16 +SnmpCreateVbl@12 +SnmpDecodeMsg@24 +SnmpDeleteVb@8 +SnmpDuplicatePdu@8 +SnmpDuplicateVbl@8 +SnmpEncodeMsg@24 +SnmpEntityToStr@12 +SnmpFreeContext@4 +SnmpFreeDescriptor@8 +SnmpFreeEntity@4 +SnmpFreePdu@4 +SnmpFreeVbl@4 +SnmpGetLastError@4 +SnmpGetPduData@24 +SnmpGetRetransmitMode@4 +SnmpGetRetry@12 +SnmpGetTimeout@12 +SnmpGetTranslateMode@4 +SnmpGetVb@16 +SnmpGetVendorInfo@4 +SnmpListen@8 +SnmpOidCompare@16 +SnmpOidCopy@8 +SnmpOidToStr@12 +SnmpOpen@8 +SnmpRecvMsg@20 +SnmpRegister@24 +SnmpSendMsg@20 +SnmpSetPduData@24 +SnmpSetPort@8 +SnmpSetRetransmitMode@4 +SnmpSetRetry@8 +SnmpSetTimeout@8 +SnmpSetTranslateMode@4 +SnmpSetVb@16 +SnmpStartup@20 +SnmpStrToContext@8 +SnmpStrToEntity@8 +SnmpStrToOid@8 diff --git a/lib/libc/mingw/lib32/wtsapi32.def b/lib/libc/mingw/lib32/wtsapi32.def new file mode 100644 index 0000000000..dff87ab3b0 --- /dev/null +++ b/lib/libc/mingw/lib32/wtsapi32.def @@ -0,0 +1,50 @@ +; +; Definition file of WTSAPI32.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "WTSAPI32.dll" +EXPORTS +WTSCloseServer@4 +WTSConnectSessionA@16 +WTSConnectSessionW@16 +WTSDisconnectSession@12 +WTSEnumerateProcessesA@20 +WTSEnumerateProcessesW@20 +WTSEnumerateServersA@20 +WTSEnumerateServersW@20 +WTSEnumerateSessionsA@20 +WTSEnumerateSessionsW@20 +WTSFreeMemory@4 +WTSLogoffSession@12 +WTSOpenServerA@4 +WTSOpenServerW@4 +WTSQuerySessionInformationA@20 +WTSQuerySessionInformationW@20 +WTSQueryUserConfigA@20 +WTSQueryUserConfigW@20 +WTSQueryUserToken@8 +WTSRegisterSessionNotification@8 +WTSRegisterSessionNotificationEx@12 +WTSSendMessageA@40 +WTSSendMessageW@40 +WTSSetSessionInformationA@20 +WTSSetSessionInformationW@20 +WTSSetUserConfigA@20 +WTSSetUserConfigW@20 +WTSShutdownSystem@8 +WTSStartRemoteControlSessionA@16 +WTSStartRemoteControlSessionW@16 +WTSStopRemoteControlSession@4 +WTSTerminateProcess@12 +WTSUnRegisterSessionNotification@4 +WTSUnRegisterSessionNotificationEx@8 +WTSVirtualChannelClose@4 +WTSVirtualChannelOpen@12 +WTSVirtualChannelOpenEx@12 +WTSVirtualChannelPurgeInput@4 +WTSVirtualChannelPurgeOutput@4 +WTSVirtualChannelQuery@16 +WTSVirtualChannelRead@20 +WTSVirtualChannelWrite@16 +WTSWaitSystemEvent@12 diff --git a/lib/libc/mingw/lib64/aclui.def b/lib/libc/mingw/lib64/aclui.def new file mode 100644 index 0000000000..ac91b17d0c --- /dev/null +++ b/lib/libc/mingw/lib64/aclui.def @@ -0,0 +1,11 @@ +; +; Exports of file ACLUI.dll +; +; Autogenerated by gen_exportdef +; Written by Kai Tietz, 2007 +; +LIBRARY ACLUI.dll +EXPORTS +CreateSecurityPage +EditSecurity +IID_ISecurityInformation DATA diff --git a/lib/libc/mingw/lib64/apphelp.def b/lib/libc/mingw/lib64/apphelp.def new file mode 100644 index 0000000000..8bf71adff7 --- /dev/null +++ b/lib/libc/mingw/lib64/apphelp.def @@ -0,0 +1,166 @@ +; +; Exports of file apphelp.dll +; +; Autogenerated by gen_exportdef +; Written by Kai Tietz, 2007 +; +LIBRARY apphelp.dll +EXPORTS +AllowPermLayer +ApphelpCheckExe +ApphelpCheckIME +ApphelpCheckInstallShieldPackage +ApphelpCheckMsiPackage +ApphelpCheckRunApp +ApphelpCheckShellObject +ApphelpFixMsiPackage +ApphelpFixMsiPackageExe +ApphelpFreeFileAttributes +ApphelpGetFileAttributes +ApphelpGetNTVDMInfo +ApphelpGetShimDebugLevel +ApphelpQueryModuleData +ApphelpReleaseExe +ApphelpShowDialog +ApphelpShowUI +ApphelpUpdateCacheEntry +GetPermLayers +SdbBeginWriteListTag +SdbBuildCompatEnvVariables +SdbCloseApphelpInformation +SdbCloseDatabase +SdbCloseDatabaseWrite +SdbCloseLocalDatabase +SdbCommitIndexes +SdbCreateDatabase +SdbCreateHelpCenterURL +SdbCreateMsiTransformFile +SdbDeclareIndex +SdbDeletePermLayerKeys +SdbEndWriteListTag +SdbEnumMsiTransforms +SdbEscapeApphelpURL +SdbFindCustomActionForPackage +SdbFindFirstDWORDIndexedTag +SdbFindFirstGUIDIndexedTag +SdbFindFirstMsiPackage +SdbFindFirstMsiPackage_Str +SdbFindFirstNamedTag +SdbFindFirstStringIndexedTag +SdbFindFirstTag +SdbFindFirstTagRef +SdbFindMsiPackageByID +SdbFindNextDWORDIndexedTag +SdbFindNextGUIDIndexedTag +SdbFindNextMsiPackage +SdbFindNextStringIndexedTag +SdbFindNextTag +SdbFindNextTagRef +SdbFormatAttribute +SdbFreeDatabaseInformation +SdbFreeFileAttributes +SdbFreeFileInfo +SdbFreeFlagInfo +SdbGUIDFromString +SdbGUIDToString +SdbGetAppCompatDataSize +SdbGetAppPatchDir +SdbGetBinaryTagData +SdbGetDatabaseGUID +SdbGetDatabaseID +SdbGetDatabaseInformation +SdbGetDatabaseInformationByName +SdbGetDatabaseMatch +SdbGetDatabaseVersion +SdbGetDllPath +SdbGetEntryFlags +SdbGetFileAttributes +SdbGetFileInfo +SdbGetFirstChild +SdbGetImageType +SdbGetIndex +SdbGetItemFromItemRef +SdbGetLayerName +SdbGetLayerTagRef +SdbGetLocalPDB +SdbGetMatchingExe +SdbGetMsiPackageInformation +SdbGetNamedLayer +SdbGetNextChild +SdbGetNthUserSdb +SdbGetPDBFromGUID +SdbGetPermLayerKeys +SdbGetShowDebugInfoOption +SdbGetShowDebugInfoOptionValue +SdbGetStandardDatabaseGUID +SdbGetStringTagPtr +SdbGetTagDataSize +SdbGetTagFromTagID +SdbGrabMatchingInfo +SdbGrabMatchingInfoEx +SdbInitDatabase +SdbInitDatabaseEx +SdbIsNullGUID +SdbIsTagrefFromLocalDB +SdbIsTagrefFromMainDB +SdbMakeIndexKeyFromString +SdbOpenApphelpDetailsDatabase +SdbOpenApphelpDetailsDatabaseSP +SdbOpenApphelpInformation +SdbOpenApphelpInformationByID +SdbOpenDatabase +SdbOpenLocalDatabase +SdbPackAppCompatData +SdbQueryApphelpInformation +SdbQueryData +SdbQueryDataEx +SdbQueryDataExTagID +SdbQueryFlagInfo +SdbQueryFlagMask +SdbReadApphelpData +SdbReadApphelpDetailsData +SdbReadBYTETag +SdbReadBYTETagRef +SdbReadBinaryTag +SdbReadDWORDTag +SdbReadDWORDTagRef +SdbReadEntryInformation +SdbReadMsiTransformInfo +SdbReadPatchBits +SdbReadQWORDTag +SdbReadQWORDTagRef +SdbReadStringTag +SdbReadStringTagRef +SdbReadWORDTag +SdbReadWORDTagRef +SdbRegisterDatabase +SdbRegisterDatabaseEx +SdbReleaseDatabase +SdbReleaseMatchingExe +SdbResolveDatabase +SdbSetApphelpDebugParameters +SdbSetEntryFlags +SdbSetImageType +SdbSetPermLayerKeys +SdbShowApphelpDialog +SdbStartIndexing +SdbStopIndexing +SdbTagIDToTagRef +SdbTagRefToTagID +SdbTagToString +SdbUnpackAppCompatData +SdbUnregisterDatabase +SdbWriteBYTETag +SdbWriteBinaryTag +SdbWriteBinaryTagFromFile +SdbWriteDWORDTag +SdbWriteNULLTag +SdbWriteQWORDTag +SdbWriteStringRefTag +SdbWriteStringTag +SdbWriteStringTagDirect +SdbWriteWORDTag +SetPermLayers +ShimDbgPrint +ShimDumpCache +ShimFlushCache diff --git a/lib/libc/mingw/lib64/avicap32.def b/lib/libc/mingw/lib64/avicap32.def new file mode 100644 index 0000000000..2cc01bb12c --- /dev/null +++ b/lib/libc/mingw/lib64/avicap32.def @@ -0,0 +1,14 @@ +; +; Exports of file AVICAP32.dll +; +; Autogenerated by gen_exportdef +; Written by Kai Tietz, 2007 +; +LIBRARY AVICAP32.dll +EXPORTS +AppCleanup +capCreateCaptureWindowA +capCreateCaptureWindowW +capGetDriverDescriptionA +capGetDriverDescriptionW +videoThunk32 diff --git a/lib/libc/mingw/lib64/avifil32.def b/lib/libc/mingw/lib64/avifil32.def new file mode 100644 index 0000000000..aa7591afdc --- /dev/null +++ b/lib/libc/mingw/lib64/avifil32.def @@ -0,0 +1,84 @@ +; +; Exports of file AVIFIL32.dll +; +; Autogenerated by gen_exportdef +; Written by Kai Tietz, 2007 +; +LIBRARY AVIFIL32.dll +EXPORTS +AVIBuildFilter +AVIBuildFilterA +AVIBuildFilterW +AVIClearClipboard +AVIFileAddRef +AVIFileCreateStream +AVIFileCreateStreamA +AVIFileCreateStreamW +AVIFileEndRecord +AVIFileExit +AVIFileGetStream +AVIFileInfo +AVIFileInfoA +AVIFileInfoW +AVIFileInit +AVIFileOpen +AVIFileOpenA +AVIFileOpenW +AVIFileReadData +AVIFileRelease +AVIFileWriteData +AVIGetFromClipboard +AVIMakeCompressedStream +AVIMakeFileFromStreams +AVIMakeStreamFromClipboard +AVIPutFileOnClipboard +AVISave +AVISaveA +AVISaveOptions +AVISaveOptionsFree +AVISaveV +AVISaveVA +AVISaveVW +AVISaveW +AVIStreamAddRef +AVIStreamBeginStreaming +AVIStreamCreate +AVIStreamEndStreaming +AVIStreamFindSample +AVIStreamGetFrame +AVIStreamGetFrameClose +AVIStreamGetFrameOpen +AVIStreamInfo +AVIStreamInfoA +AVIStreamInfoW +AVIStreamLength +AVIStreamOpenFromFile +AVIStreamOpenFromFileA +AVIStreamOpenFromFileW +AVIStreamRead +AVIStreamReadData +AVIStreamReadFormat +AVIStreamRelease +AVIStreamSampleToTime +AVIStreamSetFormat +AVIStreamStart +AVIStreamTimeToSample +AVIStreamWrite +AVIStreamWriteData +CreateEditableStream +DllCanUnloadNow +DllGetClassObject +EditStreamClone +EditStreamCopy +EditStreamCut +EditStreamPaste +EditStreamSetInfo +EditStreamSetInfoA +EditStreamSetInfoW +EditStreamSetName +EditStreamSetNameA +EditStreamSetNameW +IID_IAVIEditStream +IID_IAVIFile +IID_IAVIStream +IID_IGetFrame diff --git a/lib/libc/mingw/lib64/bthprops.def b/lib/libc/mingw/lib64/bthprops.def new file mode 100644 index 0000000000..e72ff87fca --- /dev/null +++ b/lib/libc/mingw/lib64/bthprops.def @@ -0,0 +1,70 @@ +; +; Definition file of bthprops.cpl +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "bthprops.cpl" +EXPORTS +ord_103 @103 +BluetoothAddressToString +BluetoothAuthenticateDevice +BluetoothAuthenticateDeviceEx +BluetoothAuthenticateMultipleDevices +BluetoothAuthenticationAgent +BluetoothDisconnectDevice +BluetoothDisplayDeviceProperties +BluetoothEnableDiscovery +BluetoothEnableIncomingConnections +BluetoothEnumerateInstalledServices +BluetoothFindBrowseGroupClose +BluetoothFindClassIdClose +BluetoothFindDeviceClose +BluetoothFindFirstBrowseGroup +BluetoothFindFirstClassId +BluetoothFindFirstDevice +BluetoothFindFirstProfileDescriptor +BluetoothFindFirstProtocolDescriptorStack +BluetoothFindFirstProtocolEntry +BluetoothFindFirstRadio +BluetoothFindFirstService +BluetoothFindFirstServiceEx +BluetoothFindNextBrowseGroup +BluetoothFindNextClassId +BluetoothFindNextDevice +BluetoothFindNextProfileDescriptor +BluetoothFindNextProtocolDescriptorStack +BluetoothFindNextProtocolEntry +BluetoothFindNextRadio +BluetoothFindNextService +BluetoothFindProfileDescriptorClose +BluetoothFindProtocolDescriptorStackClose +BluetoothFindProtocolEntryClose +BluetoothFindRadioClose +BluetoothFindServiceClose +BluetoothGetDeviceInfo +BluetoothGetRadioInfo +BluetoothIsConnectable +BluetoothIsDiscoverable +BluetoothIsVersionAvailable +BluetoothMapClassOfDeviceToImageIndex +BluetoothMapClassOfDeviceToString +BluetoothRegisterForAuthentication +BluetoothRegisterForAuthenticationEx +BluetoothRemoveDevice +BluetoothSdpEnumAttributes +BluetoothSdpGetAttributeValue +BluetoothSdpGetContainerElementData +BluetoothSdpGetElementData +BluetoothSdpGetString +BluetoothSelectDevices +BluetoothSelectDevicesFree +BluetoothSendAuthenticationResponse +BluetoothSendAuthenticationResponseEx +BluetoothSetLocalServiceInfo +BluetoothSetServiceState +BluetoothUnregisterAuthentication +BluetoothUpdateDeviceRecord +BthpEnableAllServices +BthpFindPnpInfo +BthpMapStatusToErr +CPlApplet diff --git a/lib/libc/mingw/lib64/clfsw32.def b/lib/libc/mingw/lib64/clfsw32.def new file mode 100644 index 0000000000..aafcf280eb --- /dev/null +++ b/lib/libc/mingw/lib64/clfsw32.def @@ -0,0 +1,69 @@ +; +; Definition file of clfsw32.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "clfsw32.dll" +EXPORTS +LsnDecrement +AddLogContainer +AddLogContainerSet +AdvanceLogBase +AlignReservedLog +AllocReservedLog +CLFS_LSN_INVALID DATA +CLFS_LSN_NULL DATA +CloseAndResetLogFile +CreateLogContainerScanContext +CreateLogFile +CreateLogMarshallingArea +DeleteLogByHandle +DeleteLogFile +DeleteLogMarshallingArea +DeregisterManageableLogClient +DumpLogRecords +FlushLogBuffers +FlushLogToLsn +FreeReservedLog +GetLogContainerName +GetLogFileInformation +GetLogIoStatistics +GetNextLogArchiveExtent +HandleLogFull +InstallLogPolicy +LogTailAdvanceFailure +LsnBlockOffset +LsnContainer +LsnCreate +LsnEqual +LsnGreater +LsnIncrement +LsnInvalid +LsnLess +LsnNull +LsnRecordSequence +PrepareLogArchive +QueryLogPolicy +ReadLogArchiveMetadata +ReadLogNotification +ReadLogRecord +ReadLogRestartArea +ReadNextLogRecord +ReadPreviousLogRestartArea +RegisterForLogWriteNotification +RegisterManageableLogClient +RemoveLogContainer +RemoveLogContainerSet +RemoveLogPolicy +ReserveAndAppendLog +ReserveAndAppendLogAligned +ScanLogContainers +SetEndOfLog +SetLogArchiveMode +SetLogArchiveTail +SetLogFileSizeWithPolicy +TerminateLogArchive +TerminateReadLog +TruncateLog +ValidateLog +WriteLogRestartArea diff --git a/lib/libc/mingw/lib64/comsvcs.def b/lib/libc/mingw/lib64/comsvcs.def new file mode 100644 index 0000000000..0aff8de180 --- /dev/null +++ b/lib/libc/mingw/lib64/comsvcs.def @@ -0,0 +1,29 @@ +; +; Exports of file comsvcs.dll +; +; Autogenerated by gen_exportdef +; Written by Kai Tietz, 2007 +; +LIBRARY comsvcs.dll +EXPORTS +CosGetCallContext +GetMTAThreadPoolMetrics +CoCreateActivity +CoEnterServiceDomain +CoLeaveServiceDomain +CoLoadServices +ComSvcsExceptionFilter +ComSvcsLogError +DispManGetContext +DllCanUnloadNow +DllGetClassObject +DllRegisterServer +DllUnregisterServer +GetManagedExtensions +GetObjectContext +GetTrkSvrObject +MTSCreateActivity +MiniDumpW +RecycleSurrogate +RegisterComEvents +SafeRef diff --git a/lib/libc/mingw/lib64/dciman32.def b/lib/libc/mingw/lib64/dciman32.def new file mode 100644 index 0000000000..97f19fbcb2 --- /dev/null +++ b/lib/libc/mingw/lib64/dciman32.def @@ -0,0 +1,28 @@ +; +; Exports of file DCIMAN32.dll +; +; Autogenerated by gen_exportdef +; Written by Kai Tietz, 2007 +; +LIBRARY DCIMAN32.dll +EXPORTS +DCIBeginAccess +DCICloseProvider +DCICreateOffscreen +DCICreateOverlay +DCICreatePrimary +DCIDestroy +DCIDraw +DCIEndAccess +DCIEnum +DCIOpenProvider +DCISetClipList +DCISetDestination +DCISetSrcDestClip +GetDCRegionData +GetWindowRegionData +WinWatchClose +WinWatchDidStatusChange +WinWatchGetClipList +WinWatchNotify +WinWatchOpen diff --git a/lib/libc/mingw/lib64/dhcpcsvc6.def b/lib/libc/mingw/lib64/dhcpcsvc6.def new file mode 100644 index 0000000000..edc7208bff --- /dev/null +++ b/lib/libc/mingw/lib64/dhcpcsvc6.def @@ -0,0 +1,17 @@ +; +; Definition file of dhcpcsvc6.DLL +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "dhcpcsvc6.DLL" +EXPORTS +Dhcpv6AcquireParameters +Dhcpv6FreeLeaseInfo +Dhcpv6IsEnabled +Dhcpv6Main +Dhcpv6QueryLeaseInfo +Dhcpv6ReleaseParameters +Dhcpv6ReleasePrefix +Dhcpv6RenewPrefix +Dhcpv6RequestParams +Dhcpv6RequestPrefix diff --git a/lib/libc/mingw/lib64/esent.def b/lib/libc/mingw/lib64/esent.def new file mode 100644 index 0000000000..b8d54d2b01 --- /dev/null +++ b/lib/libc/mingw/lib64/esent.def @@ -0,0 +1,318 @@ +; +; Definition file of ESENT.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "ESENT.dll" +EXPORTS +JetAddColumn +JetAddColumnA +JetAddColumnW +JetAttachDatabase +JetAttachDatabase2 +JetAttachDatabase2A +JetAttachDatabase2W +JetAttachDatabaseA +JetAttachDatabaseW +JetAttachDatabaseWithStreaming +JetAttachDatabaseWithStreamingA +JetAttachDatabaseWithStreamingW +JetBackup +JetBackupA +JetBackupInstance +JetBackupInstanceA +JetBackupInstanceW +JetBackupW +JetBeginExternalBackup +JetBeginExternalBackupInstance +JetBeginSession +JetBeginSessionA +JetBeginSessionW +JetBeginTransaction +JetBeginTransaction2 +JetCloseDatabase +JetCloseFile +JetCloseFileInstance +JetCloseTable +JetCommitTransaction +JetCompact +JetCompactA +JetCompactW +JetComputeStats +JetConvertDDL +JetConvertDDLA +JetConvertDDLW +JetCreateDatabase +JetCreateDatabase2 +JetCreateDatabase2A +JetCreateDatabase2W +JetCreateDatabaseA +JetCreateDatabaseW +JetCreateDatabaseWithStreaming +JetCreateDatabaseWithStreamingA +JetCreateDatabaseWithStreamingW +JetCreateIndex +JetCreateIndex2 +JetCreateIndex2A +JetCreateIndex2W +JetCreateIndexA +JetCreateIndexW +JetCreateInstance +JetCreateInstance2 +JetCreateInstance2A +JetCreateInstance2W +JetCreateInstanceA +JetCreateInstanceW +JetCreateTable +JetCreateTableA +JetCreateTableColumnIndex +JetCreateTableColumnIndex2 +JetCreateTableColumnIndex2A +JetCreateTableColumnIndex2W +JetCreateTableColumnIndexA +JetCreateTableColumnIndexW +JetCreateTableW +JetDBUtilities +JetDBUtilitiesA +JetDBUtilitiesW +JetDefragment +JetDefragment2 +JetDefragment2A +JetDefragment2W +JetDefragment3 +JetDefragment3A +JetDefragment3W +JetDefragmentA +JetDefragmentW +JetDelete +JetDeleteColumn +JetDeleteColumn2 +JetDeleteColumn2A +JetDeleteColumn2W +JetDeleteColumnA +JetDeleteColumnW +JetDeleteIndex +JetDeleteIndexA +JetDeleteIndexW +JetDeleteTable +JetDeleteTableA +JetDeleteTableW +JetDetachDatabase +JetDetachDatabase2 +JetDetachDatabase2A +JetDetachDatabase2W +JetDetachDatabaseA +JetDetachDatabaseW +JetDupCursor +JetDupSession +JetEnableMultiInstance +JetEnableMultiInstanceA +JetEnableMultiInstanceW +JetEndExternalBackup +JetEndExternalBackupInstance +JetEndExternalBackupInstance2 +JetEndSession +JetEnumerateColumns +JetEscrowUpdate +JetExternalRestore +JetExternalRestore2 +JetExternalRestore2A +JetExternalRestore2W +JetExternalRestoreA +JetExternalRestoreW +JetFreeBuffer +JetGetAttachInfo +JetGetAttachInfoA +JetGetAttachInfoInstance +JetGetAttachInfoInstanceA +JetGetAttachInfoInstanceW +JetGetAttachInfoW +JetGetBookmark +JetGetColumnInfo +JetGetColumnInfoA +JetGetColumnInfoW +JetGetCounter +JetGetCurrentIndex +JetGetCurrentIndexA +JetGetCurrentIndexW +JetGetCursorInfo +JetGetDatabaseFileInfo +JetGetDatabaseFileInfoA +JetGetDatabaseFileInfoW +JetGetDatabaseInfo +JetGetDatabaseInfoA +JetGetDatabaseInfoW +JetGetDatabasePages +JetGetIndexInfo +JetGetIndexInfoA +JetGetIndexInfoW +JetGetInstanceInfo +JetGetInstanceInfoA +JetGetInstanceInfoW +JetGetInstanceMiscInfo +JetGetLS +JetGetLock +JetGetLogFileInfo +JetGetLogFileInfoA +JetGetLogFileInfoW +JetGetLogInfo +JetGetLogInfoA +JetGetLogInfoInstance +JetGetLogInfoInstance2 +JetGetLogInfoInstance2A +JetGetLogInfoInstance2W +JetGetLogInfoInstanceA +JetGetLogInfoInstanceW +JetGetLogInfoW +JetGetMaxDatabaseSize +JetGetObjectInfo +JetGetObjectInfoA +JetGetObjectInfoW +JetGetPageInfo +JetGetRecordPosition +JetGetRecordSize +JetGetResourceParam +JetGetSecondaryIndexBookmark +JetGetSessionInfo +JetGetSystemParameter +JetGetSystemParameterA +JetGetSystemParameterW +JetGetTableColumnInfo +JetGetTableColumnInfoA +JetGetTableColumnInfoW +JetGetTableIndexInfo +JetGetTableIndexInfoA +JetGetTableIndexInfoW +JetGetTableInfo +JetGetTableInfoA +JetGetTableInfoW +JetGetThreadStats +JetGetTruncateLogInfoInstance +JetGetTruncateLogInfoInstanceA +JetGetTruncateLogInfoInstanceW +JetGetVersion +JetGotoBookmark +JetGotoPosition +JetGotoSecondaryIndexBookmark +JetGrowDatabase +JetIdle +JetIndexRecordCount +JetInit +JetInit2 +JetInit3 +JetInit3A +JetInit3W +JetIntersectIndexes +JetMakeKey +JetMove +JetOSSnapshotAbort +JetOSSnapshotEnd +JetOSSnapshotFreeze +JetOSSnapshotFreezeA +JetOSSnapshotFreezeW +JetOSSnapshotGetFreezeInfo +JetOSSnapshotGetFreezeInfoA +JetOSSnapshotGetFreezeInfoW +JetOSSnapshotPrepare +JetOSSnapshotPrepareInstance +JetOSSnapshotThaw +JetOSSnapshotTruncateLog +JetOSSnapshotTruncateLogInstance +JetOpenDatabase +JetOpenDatabaseA +JetOpenDatabaseW +JetOpenFile +JetOpenFileA +JetOpenFileInstance +JetOpenFileInstanceA +JetOpenFileInstanceW +JetOpenFileSectionInstance +JetOpenFileSectionInstanceA +JetOpenFileSectionInstanceW +JetOpenFileW +JetOpenTable +JetOpenTableA +JetOpenTableW +JetOpenTempTable +JetOpenTempTable2 +JetOpenTempTable3 +JetOpenTemporaryTable +JetPrepareToCommitTransaction +JetPrepareUpdate +JetReadFile +JetReadFileInstance +JetRegisterCallback +JetRenameColumn +JetRenameColumnA +JetRenameColumnW +JetRenameTable +JetRenameTableA +JetRenameTableW +JetResetCounter +JetResetSessionContext +JetResetTableSequential +JetRestore +JetRestore2 +JetRestore2A +JetRestore2W +JetRestoreA +JetRestoreInstance +JetRestoreInstanceA +JetRestoreInstanceW +JetRestoreW +JetRetrieveColumn +JetRetrieveColumns +JetRetrieveKey +JetRetrieveTaggedColumnList +JetRollback +JetSeek +JetSetColumn +JetSetColumnDefaultValue +JetSetColumnDefaultValueA +JetSetColumnDefaultValueW +JetSetColumns +JetSetCurrentIndex +JetSetCurrentIndex2 +JetSetCurrentIndex2A +JetSetCurrentIndex2W +JetSetCurrentIndex3 +JetSetCurrentIndex3A +JetSetCurrentIndex3W +JetSetCurrentIndex4 +JetSetCurrentIndex4A +JetSetCurrentIndex4W +JetSetCurrentIndexA +JetSetCurrentIndexW +JetSetDatabaseSize +JetSetDatabaseSizeA +JetSetDatabaseSizeW +JetSetIndexRange +JetSetLS +JetSetMaxDatabaseSize +JetSetResourceParam +JetSetSessionContext +JetSetSystemParameter +JetSetSystemParameterA +JetSetSystemParameterW +JetSetTableSequential +JetSnapshotStart +JetSnapshotStartA +JetSnapshotStartW +JetSnapshotStop +JetStopBackup +JetStopBackupInstance +JetStopService +JetStopServiceInstance +JetTerm +JetTerm2 +JetTracing +JetTruncateLog +JetTruncateLogInstance +JetUnregisterCallback +JetUpdate +JetUpdate2 +JetUpgradeDatabase +JetUpgradeDatabaseA +JetUpgradeDatabaseW +ese +esent diff --git a/lib/libc/mingw/lib64/faultrep.def b/lib/libc/mingw/lib64/faultrep.def new file mode 100644 index 0000000000..dd0e6eb9b3 --- /dev/null +++ b/lib/libc/mingw/lib64/faultrep.def @@ -0,0 +1,19 @@ +; +; Exports of file faultrep.DLL +; +; Autogenerated by gen_exportdef +; Written by Kai Tietz, 2007 +; +LIBRARY faultrep.DLL +EXPORTS +AddERExcludedApplicationA +AddERExcludedApplicationW +CreateMinidumpW +ReportEREvent +ReportEREventDW +ReportFault +ReportFaultDWM +ReportFaultFromQueue +ReportFaultToQueue +ReportHang +ReportKernelFaultDWW diff --git a/lib/libc/mingw/lib64/fwpuclnt.def b/lib/libc/mingw/lib64/fwpuclnt.def new file mode 100644 index 0000000000..c23e0929fe --- /dev/null +++ b/lib/libc/mingw/lib64/fwpuclnt.def @@ -0,0 +1,146 @@ +; +; Definition file of fwpuclnt.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "fwpuclnt.dll" +EXPORTS +FwpmCalloutAdd0 +FwpmCalloutCreateEnumHandle0 +FwpmCalloutDeleteById0 +FwpmCalloutDeleteByKey0 +FwpmCalloutDestroyEnumHandle0 +FwpmCalloutEnum0 +FwpmCalloutGetById0 +FwpmCalloutGetByKey0 +FwpmCalloutGetSecurityInfoByKey0 +FwpmCalloutSetSecurityInfoByKey0 +FwpmCalloutSubscribeChanges0 +FwpmCalloutSubscriptionsGet0 +FwpmCalloutUnsubscribeChanges0 +FwpmDiagnoseNetFailure0 +FwpmEngineClose0 +FwpmEngineGetOption0 +FwpmEngineGetSecurityInfo0 +FwpmEngineOpen0 +FwpmEngineSetOption0 +FwpmEngineSetSecurityInfo0 +FwpmEventProviderCreate0 +FwpmEventProviderDestroy0 +FwpmEventProviderFireNetEvent0 +FwpmEventProviderIsNetEventTypeEnabled0 +FwpmFilterAdd0 +FwpmFilterCreateEnumHandle0 +FwpmFilterDeleteById0 +FwpmFilterDeleteByKey0 +FwpmFilterDestroyEnumHandle0 +FwpmFilterEnum0 +FwpmFilterGetById0 +FwpmFilterGetByKey0 +FwpmFilterGetSecurityInfoByKey0 +FwpmFilterSetSecurityInfoByKey0 +FwpmFilterSubscribeChanges0 +FwpmFilterSubscriptionsGet0 +FwpmFilterUnsubscribeChanges0 +FwpmFreeMemory0 +FwpmGetAppIdFromFileName0 +FwpmIPsecTunnelAdd0 +FwpmIPsecTunnelDeleteByKey0 +FwpmLayerCreateEnumHandle0 +FwpmLayerDestroyEnumHandle0 +FwpmLayerEnum0 +FwpmLayerGetById0 +FwpmLayerGetByKey0 +FwpmLayerGetSecurityInfoByKey0 +FwpmLayerSetSecurityInfoByKey0 +FwpmNetEventCreateEnumHandle0 +FwpmNetEventDestroyEnumHandle0 +FwpmNetEventEnum0 +FwpmNetEventsGetSecurityInfo0 +FwpmNetEventsSetSecurityInfo0 +FwpmProviderAdd0 +FwpmProviderContextAdd0 +FwpmProviderContextCreateEnumHandle0 +FwpmProviderContextDeleteById0 +FwpmProviderContextDeleteByKey0 +FwpmProviderContextDestroyEnumHandle0 +FwpmProviderContextEnum0 +FwpmProviderContextGetById0 +FwpmProviderContextGetByKey0 +FwpmProviderContextGetSecurityInfoByKey0 +FwpmProviderContextSetSecurityInfoByKey0 +FwpmProviderContextSubscribeChanges0 +FwpmProviderContextSubscriptionsGet0 +FwpmProviderContextUnsubscribeChanges0 +FwpmProviderCreateEnumHandle0 +FwpmProviderDeleteByKey0 +FwpmProviderDestroyEnumHandle0 +FwpmProviderEnum0 +FwpmProviderGetByKey0 +FwpmProviderGetSecurityInfoByKey0 +FwpmProviderSetSecurityInfoByKey0 +FwpmProviderSubscribeChanges0 +FwpmProviderSubscriptionsGet0 +FwpmProviderUnsubscribeChanges0 +FwpmSessionCreateEnumHandle0 +FwpmSessionDestroyEnumHandle0 +FwpmSessionEnum0 +FwpmSubLayerAdd0 +FwpmSubLayerCreateEnumHandle0 +FwpmSubLayerDeleteByKey0 +FwpmSubLayerDestroyEnumHandle0 +FwpmSubLayerEnum0 +FwpmSubLayerGetByKey0 +FwpmSubLayerGetSecurityInfoByKey0 +FwpmSubLayerSetSecurityInfoByKey0 +FwpmSubLayerSubscribeChanges0 +FwpmSubLayerSubscriptionsGet0 +FwpmSubLayerUnsubscribeChanges0 +FwpmTraceRestoreDefaults0 +FwpmTransactionAbort0 +FwpmTransactionBegin0 +FwpmTransactionCommit0 +FwpsAleExplicitCredentialsQuery0 +FwpsClassifyUser0 +FwpsFreeMemory0 +FwpsGetInProcReplicaOffset0 +FwpsLayerCreateInProcReplica0 +FwpsLayerReleaseInProcReplica0 +FwpsOpenToken0 +IPsecGetStatistics0 +IPsecKeyModuleAdd0 +IPsecKeyModuleCompleteAcquire0 +IPsecKeyModuleDelete0 +IPsecSaContextAddInbound0 +IPsecSaContextAddOutbound0 +IPsecSaContextCreate0 +IPsecSaContextCreateEnumHandle0 +IPsecSaContextDeleteById0 +IPsecSaContextDestroyEnumHandle0 +IPsecSaContextEnum0 +IPsecSaContextExpire0 +IPsecSaContextGetById0 +IPsecSaContextGetSpi0 +IPsecSaCreateEnumHandle0 +IPsecSaDbGetSecurityInfo0 +IPsecSaDbSetSecurityInfo0 +IPsecSaDestroyEnumHandle0 +IPsecSaEnum0 +IPsecSaInitiateAsync0 +IkeextGetConfigParameters0 +IkeextGetStatistics0 +IkeextSaCreateEnumHandle0 +IkeextSaDbGetSecurityInfo0 +IkeextSaDbSetSecurityInfo0 +IkeextSaDeleteById0 +IkeextSaDestroyEnumHandle0 +IkeextSaEnum0 +IkeextSaGetById0 +IkeextSetConfigParameters0 +WSADeleteSocketPeerTargetName +WSAImpersonateSocketPeer +WSAQuerySocketSecurity +WSARevertImpersonation +WSASetSocketPeerTargetName +WSASetSocketSecurity +wfpdiagW diff --git a/lib/libc/mingw/lib64/httpapi.def b/lib/libc/mingw/lib64/httpapi.def new file mode 100644 index 0000000000..fe1c25ad44 --- /dev/null +++ b/lib/libc/mingw/lib64/httpapi.def @@ -0,0 +1,73 @@ +; +; Definition file of HTTPAPI.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "HTTPAPI.dll" +EXPORTS +HttpAddFragmentToCache +HttpAddUrl +HttpAddUrlToConfigGroup +HttpCreateAppPool +HttpCreateConfigGroup +HttpCreateFilter +HttpAddUrlToUrlGroup +HttpCancelHttpRequest +HttpCloseRequestQueue +HttpCloseServerSession +HttpCloseUrlGroup +HttpControlService +HttpCreateHttpHandle +HttpCreateRequestQueue +HttpCreateServerSession +HttpCreateUrlGroup +HttpDeleteConfigGroup +HttpDeleteServiceConfiguration +HttpFilterAccept +HttpFilterAppRead +HttpFilterAppWrite +HttpFilterAppWriteAndRawRead +HttpFilterClose +HttpFilterRawRead +HttpFilterRawWrite +HttpFilterRawWriteAndAppRead +HttpFlushResponseCache +HttpGetCounters +HttpInitialize +HttpOpenAppPool +HttpOpenControlChannel +HttpOpenFilter +HttpQueryAppPoolInformation +HttpQueryConfigGroupInformation +HttpQueryControlChannelInformation +HttpQueryRequestQueueProperty +HttpQueryServerSessionProperty +HttpQueryServiceConfiguration +HttpQueryUrlGroupProperty +HttpReadFragmentFromCache +HttpReceiveClientCertificate +HttpReceiveHttpRequest +HttpReceiveRequestEntityBody +HttpRemoveAllUrlsFromConfigGroup +HttpRemoveUrl +HttpRemoveUrlFromConfigGroup +HttpRemoveUrlFromUrlGroup +HttpSendHttpResponse +HttpSendResponseEntityBody +HttpSetAppPoolInformation +HttpSetConfigGroupInformation +HttpSetControlChannelInformation +HttpSetAppPoolInformation +HttpSetConfigGroupInformation +HttpSetControlChannelInformation +HttpSetRequestQueueProperty +HttpSetServerSessionProperty +HttpSetServiceConfiguration +HttpShutdownAppPool +HttpShutdownFilter +HttpSetUrlGroupProperty +HttpShutdownRequestQueue +HttpTerminate +HttpWaitForDemandStart +HttpWaitForDisconnect +HttpWaitForDisconnectEx diff --git a/lib/libc/mingw/lib64/iscsidsc.def b/lib/libc/mingw/lib64/iscsidsc.def new file mode 100644 index 0000000000..7928765353 --- /dev/null +++ b/lib/libc/mingw/lib64/iscsidsc.def @@ -0,0 +1,79 @@ +; +; Definition file of ISCSIDSC.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "ISCSIDSC.dll" +EXPORTS +AddISNSServerA +AddISNSServerW +AddIScsiConnectionA +AddIScsiConnectionW +AddIScsiSendTargetPortalA +AddIScsiSendTargetPortalW +AddIScsiStaticTargetA +AddIScsiStaticTargetW +AddPersistentIScsiDeviceA +AddPersistentIScsiDeviceW +ClearPersistentIScsiDevices +;DllMain +GetDevicesForIScsiSessionA +GetDevicesForIScsiSessionW +GetIScsiIKEInfoA +GetIScsiIKEInfoW +GetIScsiInitiatorNodeNameA +GetIScsiInitiatorNodeNameW +GetIScsiSessionListA +GetIScsiSessionListW +GetIScsiTargetInformationA +GetIScsiTargetInformationW +GetIScsiVersionInformation +LoginIScsiTargetA +LoginIScsiTargetW +LogoutIScsiTarget +RefreshISNSServerA +RefreshISNSServerW +RefreshIScsiSendTargetPortalA +RefreshIScsiSendTargetPortalW +RemoveISNSServerA +RemoveISNSServerW +RemoveIScsiConnection +RemoveIScsiPersistentTargetA +RemoveIScsiPersistentTargetW +RemoveIScsiSendTargetPortalA +RemoveIScsiSendTargetPortalW +RemoveIScsiStaticTargetA +RemoveIScsiStaticTargetW +RemovePersistentIScsiDeviceA +RemovePersistentIScsiDeviceW +ReportActiveIScsiTargetMappingsA +ReportActiveIScsiTargetMappingsW +ReportISNSServerListA +ReportISNSServerListW +ReportIScsiInitiatorListA +ReportIScsiInitiatorListW +ReportIScsiPersistentLoginsA +ReportIScsiPersistentLoginsW +ReportIScsiSendTargetPortalsA +ReportIScsiSendTargetPortalsExA +ReportIScsiSendTargetPortalsExW +ReportIScsiSendTargetPortalsW +ReportIScsiTargetPortalsA +ReportIScsiTargetPortalsW +ReportIScsiTargetsA +ReportIScsiTargetsW +ReportPersistentIScsiDevicesA +ReportPersistentIScsiDevicesW +SendScsiInquiry +SendScsiReadCapacity +SendScsiReportLuns +SetIScsiGroupPresharedKey +SetIScsiIKEInfoA +SetIScsiIKEInfoW +SetIScsiInitiatorCHAPSharedSecret +SetIScsiInitiatorNodeNameA +SetIScsiInitiatorNodeNameW +SetIScsiTunnelModeOuterAddressA +SetIScsiTunnelModeOuterAddressW +SetupPersistentIScsiDevices +SetupPersistentIScsiVolumes diff --git a/lib/libc/mingw/lib64/mprapi.def b/lib/libc/mingw/lib64/mprapi.def new file mode 100644 index 0000000000..9423b7d432 --- /dev/null +++ b/lib/libc/mingw/lib64/mprapi.def @@ -0,0 +1,140 @@ +; +; Definition file of MPRAPI.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "MPRAPI.dll" +EXPORTS +CompressPhoneNumber +MprAdminBufferFree +MprAdminConnectionClearStats +MprAdminConnectionEnum +MprAdminConnectionGetInfo +MprAdminConnectionRemoveQuarantine +MprAdminDeregisterConnectionNotification +MprAdminDeviceEnum +MprAdminEstablishDomainRasServer +MprAdminGetErrorString +MprAdminGetPDCServer +MprAdminInterfaceConnect +MprAdminInterfaceCreate +MprAdminInterfaceDelete +MprAdminInterfaceDeviceGetInfo +MprAdminInterfaceDeviceSetInfo +MprAdminInterfaceDisconnect +MprAdminInterfaceEnum +MprAdminInterfaceGetCredentials +MprAdminInterfaceGetCredentialsEx +MprAdminInterfaceGetHandle +MprAdminInterfaceGetInfo +MprAdminInterfaceQueryUpdateResult +MprAdminInterfaceSetCredentials +MprAdminInterfaceSetCredentialsEx +MprAdminInterfaceSetInfo +MprAdminInterfaceTransportAdd +MprAdminInterfaceTransportGetInfo +MprAdminInterfaceTransportRemove +MprAdminInterfaceTransportSetInfo +MprAdminInterfaceUpdatePhonebookInfo +MprAdminInterfaceUpdateRoutes +MprAdminIsDomainRasServer +MprAdminIsServiceRunning +MprAdminMIBBufferFree +MprAdminMIBEntryCreate +MprAdminMIBEntryDelete +MprAdminMIBEntryGet +MprAdminMIBEntryGetFirst +MprAdminMIBEntryGetNext +MprAdminMIBEntrySet +MprAdminMIBServerConnect +MprAdminMIBServerDisconnect +MprAdminPortClearStats +MprAdminPortDisconnect +MprAdminPortEnum +MprAdminPortGetInfo +MprAdminPortReset +MprAdminRegisterConnectionNotification +MprAdminSendUserMessage +MprAdminServerConnect +MprAdminServerDisconnect +MprAdminServerGetCredentials +MprAdminServerGetInfo +MprAdminServerSetCredentials +MprAdminServerSetInfo +MprAdminTransportCreate +MprAdminTransportGetInfo +MprAdminTransportSetInfo +MprAdminUpgradeUsers +MprAdminUserClose +MprAdminUserGetInfo +MprAdminUserOpen +MprAdminUserRead +MprAdminUserReadProfFlags +MprAdminUserServerConnect +MprAdminUserServerDisconnect +MprAdminUserSetInfo +MprAdminUserWrite +MprAdminUserWriteProfFlags +MprConfigBufferFree +MprConfigFilterGetInfo +MprConfigFilterSetInfo +MprConfigGetFriendlyName +MprConfigGetGuidName +MprConfigInterfaceCreate +MprConfigInterfaceDelete +MprConfigInterfaceEnum +MprConfigInterfaceGetHandle +MprConfigInterfaceGetInfo +MprConfigInterfaceSetInfo +MprConfigInterfaceTransportAdd +MprConfigInterfaceTransportEnum +MprConfigInterfaceTransportGetHandle +MprConfigInterfaceTransportGetInfo +MprConfigInterfaceTransportRemove +MprConfigInterfaceTransportSetInfo +MprConfigServerBackup +MprConfigServerConnect +MprConfigServerDisconnect +MprConfigServerGetInfo +MprConfigServerInstall +MprConfigServerRefresh +MprConfigServerRestore +MprConfigServerSetInfo +MprConfigTransportCreate +MprConfigTransportDelete +MprConfigTransportEnum +MprConfigTransportGetHandle +MprConfigTransportGetInfo +MprConfigTransportSetInfo +MprDomainQueryAccess +MprDomainQueryRasServer +MprDomainRegisterRasServer +MprDomainSetAccess +MprGetUsrParams +MprInfoBlockAdd +MprInfoBlockFind +MprInfoBlockQuerySize +MprInfoBlockRemove +MprInfoBlockSet +MprInfoCreate +MprInfoDelete +MprInfoDuplicate +MprInfoRemoveAll +MprPortSetUsage +RasAdminBufferFree +RasAdminConnectionClearStats +RasAdminConnectionEnum +RasAdminConnectionGetInfo +RasAdminGetErrorString +RasAdminGetPDCServer +RasAdminIsServiceRunning +RasAdminPortClearStats +RasAdminPortDisconnect +RasAdminPortEnum +RasAdminPortGetInfo +RasAdminPortReset +RasAdminServerConnect +RasAdminServerDisconnect +RasAdminUserGetInfo +RasAdminUserSetInfo +RasPrivilegeAndCallBackNumber diff --git a/lib/libc/mingw/lib64/mscms.def b/lib/libc/mingw/lib64/mscms.def new file mode 100644 index 0000000000..946d3f4010 --- /dev/null +++ b/lib/libc/mingw/lib64/mscms.def @@ -0,0 +1,100 @@ +; +; Definition file of mscms.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "mscms.dll" +EXPORTS +AssociateColorProfileWithDeviceA +AssociateColorProfileWithDeviceW +CheckBitmapBits +CheckColors +CloseColorProfile +ColorCplGetDefaultProfileScope +ColorCplGetDefaultRenderingIntentScope +ColorCplGetProfileProperties +ColorCplHasSystemWideAssociationListChanged +ColorCplInitialize +ColorCplLoadAssociationList +ColorCplMergeAssociationLists +ColorCplOverwritePerUserAssociationList +ColorCplReleaseProfileProperties +ColorCplResetSystemWideAssociationListChangedWarning +ColorCplSaveAssociationList +ColorCplSetUsePerUserProfiles +ColorCplUninitialize +ConvertColorNameToIndex +ConvertIndexToColorName +CreateColorTransformA +CreateColorTransformW +CreateDeviceLinkProfile +CreateMultiProfileTransform +CreateProfileFromLogColorSpaceA +CreateProfileFromLogColorSpaceW +DeleteColorTransform +DeviceRenameEvent +DisassociateColorProfileFromDeviceA +DisassociateColorProfileFromDeviceW +EnumColorProfilesA +EnumColorProfilesW +GenerateCopyFilePaths +GetCMMInfo +GetColorDirectoryA +GetColorDirectoryW +GetColorProfileElement +GetColorProfileElementTag +GetColorProfileFromHandle +GetColorProfileHeader +GetCountColorProfileElements +GetNamedProfileInfo +GetPS2ColorRenderingDictionary +GetPS2ColorRenderingIntent +GetPS2ColorSpaceArray +GetStandardColorSpaceProfileA +GetStandardColorSpaceProfileW +InstallColorProfileA +InstallColorProfileW +InternalGetDeviceConfig +InternalGetPS2CSAFromLCS +InternalGetPS2ColorRenderingDictionary +InternalGetPS2ColorSpaceArray +InternalGetPS2PreviewCRD +InternalSetDeviceConfig +IsColorProfileTagPresent +IsColorProfileValid +OpenColorProfileA +OpenColorProfileW +RegisterCMMA +RegisterCMMW +SelectCMM +SetColorProfileElement +SetColorProfileElementReference +SetColorProfileElementSize +SetColorProfileHeader +SetStandardColorSpaceProfileA +SetStandardColorSpaceProfileW +SpoolerCopyFileEvent +TranslateBitmapBits +TranslateColors +UninstallColorProfileA +UninstallColorProfileW +UnregisterCMMA +UnregisterCMMW +WcsAssociateColorProfileWithDevice +WcsCheckColors +WcsCreateIccProfile +WcsDisassociateColorProfileFromDevice +WcsEnumColorProfiles +WcsEnumColorProfilesSize +WcsGetDefaultColorProfile +WcsGetDefaultColorProfileSize +WcsGetDefaultRenderingIntent +WcsGetUsePerUserProfiles +WcsGpCanInstallOrUninstallProfiles +WcsGpCanModifyDeviceAssociationList +WcsOpenColorProfileA +WcsOpenColorProfileW +WcsSetDefaultColorProfile +WcsSetDefaultRenderingIntent +WcsSetUsePerUserProfiles +WcsTranslateColors diff --git a/lib/libc/mingw/lib64/msctfmonitor.def b/lib/libc/mingw/lib64/msctfmonitor.def new file mode 100644 index 0000000000..56b562e6d9 --- /dev/null +++ b/lib/libc/mingw/lib64/msctfmonitor.def @@ -0,0 +1,89 @@ +; +; Definition file of MSCTF.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "MSCTF.dll" +EXPORTS +TF_GetLangDescriptionFromHKL +TF_GetLangIcon +TF_GetLangIconFromHKL +TF_RunInputCPL +CtfImeAssociateFocus +CtfImeConfigure +CtfImeConversionList +CtfImeCreateInputContext +CtfImeCreateThreadMgr +CtfImeDestroy +CtfImeDestroyInputContext +CtfImeDestroyThreadMgr +CtfImeDispatchDefImeMessage +CtfImeEnumRegisterWord +CtfImeEscape +CtfImeEscapeEx +CtfImeGetGuidAtom +CtfImeGetRegisterWordStyle +CtfImeInquire +CtfImeInquireExW +CtfImeIsGuidMapEnable +CtfImeIsIME +CtfImeProcessCicHotkey +CtfImeProcessKey +CtfImeRegisterWord +CtfImeSelect +CtfImeSelectEx +CtfImeSetActiveContext +CtfImeSetCompositionString +CtfImeSetFocus +CtfImeToAsciiEx +CtfImeUnregisterWord +CtfNotifyIME +DllCanUnloadNow +DllGetClassObject +DllRegisterServer +DllUnregisterServer +SetInputScope +SetInputScopeXML +SetInputScopes +SetInputScopes2 +TF_AttachThreadInput +TF_CUASAppFix +TF_CanUninitialize +TF_CheckThreadInputIdle +TF_CleanUpPrivateMessages +TF_ClearLangBarAddIns +TF_CreateCategoryMgr +TF_CreateCicLoadMutex +TF_CreateCicLoadWinStaMutex +TF_CreateDisplayAttributeMgr +TF_CreateInputProcessorProfiles +TF_CreateLangBarItemMgr +TF_CreateLangBarMgr +TF_CreateThreadMgr +TF_DllDetachInOther +TF_GetAppCompatFlags +TF_GetCompatibleKeyboardLayout +TF_GetGlobalCompartment +TF_GetInitSystemFlags +TF_GetInputScope +TF_GetShowFloatingStatus +TF_GetThreadFlags +TF_GetThreadMgr +TF_InitSystem +TF_InvalidAssemblyListCache +TF_InvalidAssemblyListCacheIfExist +TF_IsCtfmonRunning +TF_IsFullScreenWindowActivated +TF_IsThreadWithFlags +TF_MapCompatibleHKL +TF_MapCompatibleKeyboardTip +TF_Notify +TF_PostAllThreadMsg +TF_RegisterLangBarAddIn +TF_SendLangBandMsg +TF_SetDefaultRemoteKeyboardLayout +TF_SetShowFloatingStatus +TF_SetThreadFlags +TF_UninitSystem +TF_UnregisterLangBarAddIn +TF_WaitForInitialized diff --git a/lib/libc/mingw/lib64/msvfw32.def b/lib/libc/mingw/lib64/msvfw32.def new file mode 100644 index 0000000000..b105192bed --- /dev/null +++ b/lib/libc/mingw/lib64/msvfw32.def @@ -0,0 +1,55 @@ +; +; Exports of file MSVFW32.dll +; +; Autogenerated by gen_exportdef +; Written by Kai Tietz, 2007 +; +LIBRARY MSVFW32.dll +EXPORTS +VideoForWindowsVersion +DrawDibBegin +DrawDibChangePalette +DrawDibClose +DrawDibDraw +DrawDibEnd +DrawDibGetBuffer +DrawDibGetPalette +DrawDibOpen +DrawDibProfileDisplay +DrawDibRealize +DrawDibSetPalette +DrawDibStart +DrawDibStop +DrawDibTime +GetOpenFileNamePreview +GetOpenFileNamePreviewA +GetOpenFileNamePreviewW +GetSaveFileNamePreviewA +GetSaveFileNamePreviewW +ICClose +ICCompress +ICCompressorChoose +ICCompressorFree +ICDecompress +ICDraw +ICDrawBegin +ICGetDisplayFormat +ICGetInfo +ICImageCompress +ICImageDecompress +ICInfo +ICInstall +ICLocate +ICMThunk32 +ICOpen +ICOpenFunction +ICRemove +ICSendMessage +ICSeqCompressFrame +ICSeqCompressFrameEnd +ICSeqCompressFrameStart +MCIWndCreate +MCIWndCreateA +MCIWndCreateW +MCIWndRegisterClass +StretchDIB diff --git a/lib/libc/mingw/lib64/newdev.def b/lib/libc/mingw/lib64/newdev.def new file mode 100644 index 0000000000..157d61efd5 --- /dev/null +++ b/lib/libc/mingw/lib64/newdev.def @@ -0,0 +1,20 @@ +; +; Exports of file newdev.dll +; +; Autogenerated by gen_exportdef +; Written by Kai Tietz, 2007 +; +LIBRARY newdev.dll +EXPORTS +ClientSideInstallW +DevInstallW +InstallDevInst +InstallDevInstEx +InstallNewDevice +InstallSelectedDevice +InstallSelectedDriver +InstallWindowsUpdateDriver +RollbackDriver +UpdateDriverForPlugAndPlayDevicesA +UpdateDriverForPlugAndPlayDevicesW +WindowsUpdateDriverSearchingPolicyUi diff --git a/lib/libc/mingw/lib64/ntlanman.def b/lib/libc/mingw/lib64/ntlanman.def new file mode 100644 index 0000000000..ce5d11e992 --- /dev/null +++ b/lib/libc/mingw/lib64/ntlanman.def @@ -0,0 +1,39 @@ +; +; Exports of file NTLANMAN.dll +; +; Autogenerated by gen_exportdef +; Written by Kai Tietz, 2007 +; +LIBRARY NTLANMAN.dll +EXPORTS +NPGetConnection +NPGetCaps +DllMain +I_SystemFocusDialog +NPGetUser +NPAddConnection +NPCancelConnection +IsDfsPathEx +NPAddConnection3ForCSCAgent +NPCancelConnectionForCSCAgent +ServerBrowseDialogA0 +ShareAsDialogA0 +ShareCreate +ShareManage +ShareStop +StopShareDialogA0 +NPPropertyDialog +NPGetDirectoryType +NPDirectoryNotify +NPGetPropertyText +NPOpenEnum +NPEnumResource +NPCloseEnum +NPFormatNetworkName +NPAddConnection3 +NPGetUniversalName +NPGetResourceParent +NPGetConnectionPerformance +NPGetResourceInformation +NPGetReconnectFlags +NPGetConnection3 diff --git a/lib/libc/mingw/lib64/pdh.def b/lib/libc/mingw/lib64/pdh.def new file mode 100644 index 0000000000..0c81e5590a --- /dev/null +++ b/lib/libc/mingw/lib64/pdh.def @@ -0,0 +1,173 @@ +; +; Definition file of pdh.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "pdh.dll" +EXPORTS +PdhPlaGetLogFileNameA +DllInstall +PdhAdd009CounterA +PdhAdd009CounterW +PdhAddCounterA +PdhAddCounterW +PdhAddEnglishCounterA +PdhAddEnglishCounterW +PdhBindInputDataSourceA +PdhBindInputDataSourceW +PdhBrowseCountersA +PdhBrowseCountersHA +PdhBrowseCountersHW +PdhBrowseCountersW +PdhCalculateCounterFromRawValue +PdhCloseLog +PdhCloseQuery +PdhCollectQueryData +PdhCollectQueryDataEx +PdhCollectQueryDataWithTime +PdhComputeCounterStatistics +PdhConnectMachineA +PdhConnectMachineW +PdhCreateSQLTablesA +PdhCreateSQLTablesW +PdhEnumLogSetNamesA +PdhEnumLogSetNamesW +PdhEnumMachinesA +PdhEnumMachinesHA +PdhEnumMachinesHW +PdhEnumMachinesW +PdhEnumObjectItemsA +PdhEnumObjectItemsHA +PdhEnumObjectItemsHW +PdhEnumObjectItemsW +PdhEnumObjectsA +PdhEnumObjectsHA +PdhEnumObjectsHW +PdhEnumObjectsW +PdhExpandCounterPathA +PdhExpandCounterPathW +PdhExpandWildCardPathA +PdhExpandWildCardPathHA +PdhExpandWildCardPathHW +PdhExpandWildCardPathW +PdhFormatFromRawValue +PdhGetCounterInfoA +PdhGetCounterInfoW +PdhGetCounterTimeBase +PdhGetDataSourceTimeRangeA +PdhGetDataSourceTimeRangeH +PdhGetDataSourceTimeRangeW +PdhGetDefaultPerfCounterA +PdhGetDefaultPerfCounterHA +PdhGetDefaultPerfCounterHW +PdhGetDefaultPerfCounterW +PdhGetDefaultPerfObjectA +PdhGetDefaultPerfObjectHA +PdhGetDefaultPerfObjectHW +PdhGetDefaultPerfObjectW +PdhGetDllVersion +PdhGetExplainText +PdhGetFormattedCounterArrayA +PdhGetFormattedCounterArrayW +PdhGetFormattedCounterValue +PdhGetLogFileSize +PdhGetLogFileTypeA +PdhGetLogFileTypeW +PdhGetLogSetGUID +PdhGetRawCounterArrayA +PdhGetRawCounterArrayW +PdhGetRawCounterValue +PdhIsRealTimeQuery +PdhListLogFileHeaderA +PdhListLogFileHeaderW +PdhLookupPerfIndexByNameA +PdhLookupPerfIndexByNameW +PdhLookupPerfNameByIndexA +PdhLookupPerfNameByIndexW +PdhMakeCounterPathA +PdhMakeCounterPathW +PdhOpenLogA +PdhOpenLogW +PdhOpenQuery +PdhOpenQueryA +PdhOpenQueryH +PdhOpenQueryW +PdhParseCounterPathA +PdhParseCounterPathW +PdhParseInstanceNameA +PdhParseInstanceNameW +PdhPlaAddItemA +PdhPlaAddItemW +PdhPlaCreateA +PdhPlaCreateW +PdhPlaDeleteA +PdhPlaDeleteW +PdhPlaDowngradeW +PdhPlaEnumCollectionsA +PdhPlaEnumCollectionsW +PdhPlaGetInfoA +PdhPlaGetInfoW +PdhPlaGetLogFileNameW +PdhPlaGetScheduleA +PdhPlaGetScheduleW +PdhPlaRemoveAllItemsA +PdhPlaRemoveAllItemsW +PdhPlaScheduleA +PdhPlaScheduleW +PdhPlaSetInfoA +PdhPlaSetInfoW +PdhPlaSetItemListA +PdhPlaSetItemListW +PdhPlaSetRunAsA +PdhPlaSetRunAsW +PdhPlaStartA +PdhPlaStartW +PdhPlaStopA +PdhPlaStopW +PdhPlaUpgradeW +PdhPlaValidateInfoA +PdhPlaValidateInfoW +PdhReadRawLogRecord +PdhRelogA +PdhRelogW +PdhRemoveCounter +PdhSelectDataSourceA +PdhSelectDataSourceW +PdhSetCounterScaleFactor +PdhSetDefaultRealTimeDataSource +PdhSetLogSetRunID +PdhSetQueryTimeRange +PdhTranslate009CounterA +PdhTranslate009CounterW +PdhTranslateLocaleCounterA +PdhTranslateLocaleCounterW +PdhUpdateLogA +PdhUpdateLogFileCatalog +PdhUpdateLogW +PdhValidatePathA +PdhValidatePathExA +PdhValidatePathExW +PdhValidatePathW +PdhVbAddCounter +PdhVbCreateCounterPathList +PdhVbGetCounterPathElements +PdhVbGetCounterPathFromList +PdhVbGetDoubleCounterValue +PdhVbGetLogFileSize +PdhVbGetOneCounterPath +PdhVbIsGoodStatus +PdhVbOpenLog +PdhVbOpenQuery +PdhVbUpdateLog +PdhVerifySQLDBA +PdhVerifySQLDBW +PdhiPla2003SP1Installed +PdhiPlaDowngrade +PdhiPlaFormatBlanksA +PdhiPlaFormatBlanksW +PdhiPlaGetVersion +PdhiPlaRunAs +PdhiPlaSetRunAs +PdhiPlaUpgrade +PlaTimeInfoToMilliSeconds +PdhpGetLoggerName diff --git a/lib/libc/mingw/lib64/quartz.def b/lib/libc/mingw/lib64/quartz.def new file mode 100644 index 0000000000..795e90fa5d --- /dev/null +++ b/lib/libc/mingw/lib64/quartz.def @@ -0,0 +1,17 @@ +; +; Exports of file QUARTZ.dll +; +; Autogenerated by gen_exportdef +; Written by Kai Tietz, 2007 +; +LIBRARY QUARTZ.dll +EXPORTS +AMGetErrorTextA +AMGetErrorTextW +AmpFactorToDB +DBToAmpFactor +DllCanUnloadNow +DllGetClassObject +DllRegisterServer +DllUnregisterServer +GetProxyDllInfo diff --git a/lib/libc/mingw/lib64/query.def b/lib/libc/mingw/lib64/query.def new file mode 100644 index 0000000000..86ac59ced7 --- /dev/null +++ b/lib/libc/mingw/lib64/query.def @@ -0,0 +1,1447 @@ +; +; Exports of file query.dll +; +; Autogenerated by gen_exportdef +; Written by Kai Tietz, 2007 +; +LIBRARY query.dll +EXPORTS +; class CCoTaskAllocator CoTaskAllocator +?CoTaskAllocator@@3VCCoTaskAllocator@@A DATA +; public: __cdecl CAllocStorageVariant::CAllocStorageVariant(struct tagPROPVARIANT & __ptr64,class PMemoryAllocator & __ptr64) __ptr64 +??0CAllocStorageVariant@@QEAA@AEAUtagPROPVARIANT@@AEAVPMemoryAllocator@@@Z +; public: __cdecl CAllocStorageVariant::CAllocStorageVariant(class PDeSerStream & __ptr64,class PMemoryAllocator & __ptr64) __ptr64 +??0CAllocStorageVariant@@QEAA@AEAVPDeSerStream@@AEAVPMemoryAllocator@@@Z +; public: __cdecl CAllocStorageVariant::CAllocStorageVariant(char const * __ptr64,class PMemoryAllocator & __ptr64) __ptr64 +??0CAllocStorageVariant@@QEAA@PEBDAEAVPMemoryAllocator@@@Z +; public: __cdecl CAllocStorageVariant::CAllocStorageVariant(unsigned short const * __ptr64,class PMemoryAllocator & __ptr64) __ptr64 +??0CAllocStorageVariant@@QEAA@PEBGAEAVPMemoryAllocator@@@Z +; public: __cdecl CAllocStorageVariant::CAllocStorageVariant(struct _GUID const * __ptr64,class PMemoryAllocator & __ptr64) __ptr64 +??0CAllocStorageVariant@@QEAA@PEBU_GUID@@AEAVPMemoryAllocator@@@Z +; public: __cdecl CAllocStorageVariant::CAllocStorageVariant(enum VARENUM,unsigned long,class PMemoryAllocator & __ptr64) __ptr64 +??0CAllocStorageVariant@@QEAA@W4VARENUM@@KAEAVPMemoryAllocator@@@Z +; public: __cdecl CCatState::CCatState(void) __ptr64 +??0CCatState@@QEAA@XZ +; public: __cdecl CCategorizationSet::CCategorizationSet(class CCategorizationSet const & __ptr64) __ptr64 +??0CCategorizationSet@@QEAA@AEBV0@@Z +; public: __cdecl CCategorizationSet::CCategorizationSet(unsigned int) __ptr64 +??0CCategorizationSet@@QEAA@I@Z +; public: __cdecl CCiAdminParams::CCiAdminParams(class CLangList * __ptr64) __ptr64 +??0CCiAdminParams@@QEAA@PEAVCLangList@@@Z +; public: __cdecl CCiRegParams::CCiRegParams(unsigned short const * __ptr64) __ptr64 +??0CCiRegParams@@QEAA@PEBG@Z +; public: __cdecl CColumnSet::CColumnSet(unsigned int) __ptr64 +??0CColumnSet@@QEAA@I@Z +; public: __cdecl CColumns::CColumns(class CColumns const & __ptr64) __ptr64 +??0CColumns@@QEAA@AEBV0@@Z +; public: __cdecl CColumns::CColumns(unsigned int) __ptr64 +??0CColumns@@QEAA@I@Z +; public: __cdecl CContentRestriction::CContentRestriction(unsigned short const * __ptr64,class CFullPropSpec const & __ptr64,unsigned long,unsigned long) __ptr64 +??0CContentRestriction@@QEAA@PEBGAEBVCFullPropSpec@@KK@Z +; public: __cdecl CDFA::CDFA(unsigned short const * __ptr64,class CTimeLimit & __ptr64,unsigned char) __ptr64 +??0CDFA@@QEAA@PEBGAEAVCTimeLimit@@E@Z +; public: __cdecl CDbColId::CDbColId(struct _GUID const & __ptr64,unsigned short const * __ptr64) __ptr64 +??0CDbColId@@QEAA@AEBU_GUID@@PEBG@Z +; public: __cdecl CDbColId::CDbColId(struct tagDBID const & __ptr64) __ptr64 +??0CDbColId@@QEAA@AEBUtagDBID@@@Z +; public: __cdecl CDbColId::CDbColId(class CDbColId const & __ptr64) __ptr64 +??0CDbColId@@QEAA@AEBV0@@Z +; public: __cdecl CDbColId::CDbColId(void) __ptr64 +??0CDbColId@@QEAA@XZ +; public: __cdecl CDbColumns::CDbColumns(unsigned int) __ptr64 +??0CDbColumns@@QEAA@I@Z +; public: __cdecl CDbContentRestriction::CDbContentRestriction(unsigned short const * __ptr64,struct tagDBID const & __ptr64,unsigned long,unsigned long) __ptr64 +??0CDbContentRestriction@@QEAA@PEBGAEBUtagDBID@@KK@Z +; public: __cdecl CDbContentRestriction::CDbContentRestriction(unsigned short const * __ptr64,class CDbColumnNode const & __ptr64,unsigned long,unsigned long) __ptr64 +??0CDbContentRestriction@@QEAA@PEBGAEBVCDbColumnNode@@KK@Z +; public: __cdecl CDbNatLangRestriction::CDbNatLangRestriction(unsigned short const * __ptr64,struct tagDBID const & __ptr64,unsigned long) __ptr64 +??0CDbNatLangRestriction@@QEAA@PEBGAEBUtagDBID@@K@Z +; public: __cdecl CDbNatLangRestriction::CDbNatLangRestriction(unsigned short const * __ptr64,class CDbColumnNode const & __ptr64,unsigned long) __ptr64 +??0CDbNatLangRestriction@@QEAA@PEBGAEBVCDbColumnNode@@K@Z +; public: __cdecl CDbQueryResults::CDbQueryResults(void) __ptr64 +??0CDbQueryResults@@QEAA@XZ +; public: __cdecl CDbSelectNode::CDbSelectNode(void) __ptr64 +??0CDbSelectNode@@QEAA@XZ +; public: __cdecl CDbSortSet::CDbSortSet(unsigned int) __ptr64 +??0CDbSortSet@@QEAA@I@Z +; public: __cdecl CDefColumnRegEntry::CDefColumnRegEntry(void) __ptr64 +??0CDefColumnRegEntry@@QEAA@XZ +; public: __cdecl CDriveInfo::CDriveInfo(unsigned short const * __ptr64,unsigned long) __ptr64 +??0CDriveInfo@@QEAA@PEBGK@Z +; public: __cdecl CDynStream::CDynStream(class PMmStream * __ptr64) __ptr64 +??0CDynStream@@QEAA@PEAVPMmStream@@@Z +; public: __cdecl CEventItem::CEventItem(unsigned short,unsigned short,unsigned long,unsigned short,unsigned long,void const * __ptr64) __ptr64 +??0CEventItem@@QEAA@GGKGKPEBX@Z +; public: __cdecl CEventLog::CEventLog(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64 +??0CEventLog@@QEAA@PEBG0@Z +; public: __cdecl CException::CException(long) __ptr64 +??0CException@@QEAA@J@Z +; public: __cdecl CException::CException(void) __ptr64 +??0CException@@QEAA@XZ +; public: __cdecl CFileBuffer::CFileBuffer(class CFileMapView & __ptr64,unsigned int) __ptr64 +??0CFileBuffer@@QEAA@AEAVCFileMapView@@I@Z +; public: __cdecl CFileMapView::CFileMapView(unsigned short const * __ptr64) __ptr64 +??0CFileMapView@@QEAA@PEBG@Z +; public: __cdecl CFilterDaemon::CFilterDaemon(class CiProxy & __ptr64,class CCiFrameworkParams & __ptr64,class CLangList & __ptr64,unsigned char * __ptr64,unsigned long,struct ICiCFilterClient * __ptr64) __ptr64 +??0CFilterDaemon@@QEAA@AEAVCiProxy@@AEAVCCiFrameworkParams@@AEAVCLangList@@PEAEKPEAUICiCFilterClient@@@Z +; public: __cdecl CFullPath::CFullPath(unsigned short const * __ptr64) __ptr64 +??0CFullPath@@QEAA@PEBG@Z +; public: __cdecl CFullPath::CFullPath(unsigned short const * __ptr64,unsigned int) __ptr64 +??0CFullPath@@QEAA@PEBGI@Z +; public: __cdecl CFullPropSpec::CFullPropSpec(class PDeSerStream & __ptr64) __ptr64 +??0CFullPropSpec@@QEAA@AEAVPDeSerStream@@@Z +; public: __cdecl CFullPropSpec::CFullPropSpec(class CFullPropSpec const & __ptr64) __ptr64 +??0CFullPropSpec@@QEAA@AEBV0@@Z +; public: __cdecl CFullPropSpec::CFullPropSpec(void) __ptr64 +??0CFullPropSpec@@QEAA@XZ +; public: __cdecl CFwAsyncWorkItem::CFwAsyncWorkItem(class CWorkManager & __ptr64,class CWorkQueue & __ptr64) __ptr64 +??0CFwAsyncWorkItem@@QEAA@AEAVCWorkManager@@AEAVCWorkQueue@@@Z +; public: __cdecl CFwEventItem::CFwEventItem(unsigned short,unsigned long,unsigned short,unsigned long,void * __ptr64) __ptr64 +??0CFwEventItem@@QEAA@GKGKPEAX@Z +; public: __cdecl CGenericCiProxy::CGenericCiProxy(class CSharedNameGen & __ptr64,unsigned long,unsigned long) __ptr64 +??0CGenericCiProxy@@QEAA@AEAVCSharedNameGen@@KK@Z +; public: __cdecl CGetDbProps::CGetDbProps(void) __ptr64 +??0CGetDbProps@@QEAA@XZ +; public: __cdecl CImpersonateRemoteAccess::CImpersonateRemoteAccess(class CImpersonationTokenCache * __ptr64) __ptr64 +??0CImpersonateRemoteAccess@@QEAA@PEAVCImpersonationTokenCache@@@Z +; public: __cdecl CImpersonationTokenCache::CImpersonationTokenCache(unsigned short const * __ptr64) __ptr64 +??0CImpersonationTokenCache@@QEAA@PEBG@Z +; public: __cdecl CIndexTable::CIndexTable(class CiStorage & __ptr64,class CTransaction & __ptr64) __ptr64 +??0CIndexTable@@QEAA@AEAVCiStorage@@AEAVCTransaction@@@Z +; public: __cdecl CInternalPropertyRestriction::CInternalPropertyRestriction(unsigned long,unsigned long,class CStorageVariant const & __ptr64,class CRestriction * __ptr64) __ptr64 +??0CInternalPropertyRestriction@@QEAA@KKAEBVCStorageVariant@@PEAVCRestriction@@@Z +; public: __cdecl CKeyArray::CKeyArray(int,int) __ptr64 +??0CKeyArray@@QEAA@HH@Z +; public: __cdecl CLangList::CLangList(struct ICiCLangRes * __ptr64,unsigned long) __ptr64 +??0CLangList@@QEAA@PEAUICiCLangRes@@K@Z +; public: __cdecl CLocalGlobalPropertyList::CLocalGlobalPropertyList(unsigned long) __ptr64 +??0CLocalGlobalPropertyList@@QEAA@K@Z +; public: __cdecl CLocalGlobalPropertyList::CLocalGlobalPropertyList(class CEmptyPropertyList * __ptr64,int,unsigned short const * __ptr64,unsigned long) __ptr64 +??0CLocalGlobalPropertyList@@QEAA@PEAVCEmptyPropertyList@@HPEBGK@Z +; public: __cdecl CMachineAdmin::CMachineAdmin(unsigned short const * __ptr64,int) __ptr64 +??0CMachineAdmin@@QEAA@PEBGH@Z +; public: __cdecl CMemSerStream::CMemSerStream(unsigned int) __ptr64 +??0CMemSerStream@@QEAA@I@Z +; public: __cdecl CMemSerStream::CMemSerStream(unsigned char * __ptr64,unsigned long) __ptr64 +??0CMemSerStream@@QEAA@PEAEK@Z +; public: __cdecl CMetaDataMgr::CMetaDataMgr(int,enum CiVRootTypeEnum,unsigned long,unsigned short const * __ptr64) __ptr64 +??0CMetaDataMgr@@QEAA@HW4CiVRootTypeEnum@@KPEBG@Z +; public: __cdecl CMmStream::CMmStream(unsigned long,int) __ptr64 +??0CMmStream@@QEAA@KH@Z +; public: __cdecl CMmStreamConsecBuf::CMmStreamConsecBuf(void) __ptr64 +??0CMmStreamConsecBuf@@QEAA@XZ +; public: __cdecl CNatLanguageRestriction::CNatLanguageRestriction(unsigned short const * __ptr64,class CFullPropSpec const & __ptr64,unsigned long) __ptr64 +??0CNatLanguageRestriction@@QEAA@PEBGAEBVCFullPropSpec@@K@Z +; public: __cdecl CNodeRestriction::CNodeRestriction(unsigned long,unsigned int) __ptr64 +??0CNodeRestriction@@QEAA@KI@Z +; public: __cdecl CNormalizer::CNormalizer(class PNoiseList & __ptr64) __ptr64 +??0CNormalizer@@QEAA@AEAVPNoiseList@@@Z +; public: __cdecl CPathParser::CPathParser(unsigned short const * __ptr64,unsigned long) __ptr64 +??0CPathParser@@QEAA@PEBGK@Z +; public: __cdecl CPerfMon::CPerfMon(unsigned short const * __ptr64) __ptr64 +??0CPerfMon@@QEAA@PEBG@Z +; public: __cdecl CPersDeComp::CPersDeComp(class PDirectory & __ptr64,unsigned long,class CPhysIndex & __ptr64,unsigned long,int,int) __ptr64 +??0CPersDeComp@@QEAA@AEAVPDirectory@@KAEAVCPhysIndex@@KHH@Z +; protected: __cdecl CPhysStorage::CPhysStorage(class PStorage & __ptr64,class PStorageObject & __ptr64,unsigned long,unsigned int,class PMmStream * __ptr64,int,unsigned int,int) __ptr64 +??0CPhysStorage@@IEAA@AEAVPStorage@@AEAVPStorageObject@@KIPEAVPMmStream@@HIH@Z +; protected: __cdecl CPhysStorage::CPhysStorage(class PStorage & __ptr64,class PStorageObject & __ptr64,unsigned long,class PMmStream * __ptr64,enum CPhysStorage::EOpenMode,int,unsigned int,int) __ptr64 +??0CPhysStorage@@IEAA@AEAVPStorage@@AEAVPStorageObject@@KPEAVPMmStream@@W4EOpenMode@1@HIH@Z +; public: __cdecl CPidLookupTable::CPidLookupTable(void) __ptr64 +??0CPidLookupTable@@QEAA@XZ +; public: __cdecl CPidRemapper::CPidRemapper(class XInterface & __ptr64) __ptr64 +??0CPidRemapper@@QEAA@AEAV?$XInterface@UIPropertyMapper@@@@@Z +; public: __cdecl CPidRemapper::CPidRemapper(class CPidMapper const & __ptr64,class XInterface & __ptr64,class CRestriction * __ptr64,class CColumnSet * __ptr64,class CSortSet * __ptr64) __ptr64 +??0CPidRemapper@@QEAA@AEBVCPidMapper@@AEAV?$XInterface@UIPropertyMapper@@@@PEAVCRestriction@@PEAVCColumnSet@@PEAVCSortSet@@@Z +; public: __cdecl CPropListFile::CPropListFile(class CEmptyPropertyList * __ptr64,int,unsigned short const * __ptr64,unsigned long) __ptr64 +??0CPropListFile@@QEAA@PEAVCEmptyPropertyList@@HPEBGK@Z +; public: __cdecl CPropNameArray::CPropNameArray(class PDeSerStream & __ptr64) __ptr64 +??0CPropNameArray@@QEAA@AEAVPDeSerStream@@@Z +; public: __cdecl CPropNameArray::CPropNameArray(unsigned int) __ptr64 +??0CPropNameArray@@QEAA@I@Z +; public: __cdecl CPropStoreManager::CPropStoreManager(unsigned long) __ptr64 +??0CPropStoreManager@@QEAA@K@Z +; public: __cdecl CPropertyRestriction::CPropertyRestriction(unsigned long,class CFullPropSpec const & __ptr64,class CStorageVariant const & __ptr64) __ptr64 +??0CPropertyRestriction@@QEAA@KAEBVCFullPropSpec@@AEBVCStorageVariant@@@Z +; public: __cdecl CPropertyRestriction::CPropertyRestriction(void) __ptr64 +??0CPropertyRestriction@@QEAA@XZ +; public: __cdecl CPropertyStoreWids::CPropertyStoreWids(class CPropStoreManager & __ptr64) __ptr64 +??0CPropertyStoreWids@@QEAA@AEAVCPropStoreManager@@@Z +; public: __cdecl CPropertyValueParser::CPropertyValueParser(class CQueryScanner & __ptr64,unsigned short,unsigned long) __ptr64 +??0CPropertyValueParser@@QEAA@AEAVCQueryScanner@@GK@Z +; public: __cdecl CQueryScanner::CQueryScanner(unsigned short const * __ptr64,int,unsigned long,int) __ptr64 +??0CQueryScanner@@QEAA@PEBGHKH@Z +; public: __cdecl CRangeKeyRepository::CRangeKeyRepository(void) __ptr64 +??0CRangeKeyRepository@@QEAA@XZ +; public: __cdecl CRcovStrmAppendTrans::CRcovStrmAppendTrans(class PRcovStorageObj & __ptr64) __ptr64 +??0CRcovStrmAppendTrans@@QEAA@AEAVPRcovStorageObj@@@Z +; public: __cdecl CRcovStrmMDTrans::CRcovStrmMDTrans(class PRcovStorageObj & __ptr64,enum CRcovStrmMDTrans::MDOp,unsigned long) __ptr64 +??0CRcovStrmMDTrans@@QEAA@AEAVPRcovStorageObj@@W4MDOp@0@K@Z +; protected: __cdecl CRcovStrmTrans::CRcovStrmTrans(class PRcovStorageObj & __ptr64,enum RcovOpType) __ptr64 +??0CRcovStrmTrans@@IEAA@AEAVPRcovStorageObj@@W4RcovOpType@@@Z +; public: __cdecl CRegAccess::CRegAccess(unsigned long,unsigned short const * __ptr64) __ptr64 +??0CRegAccess@@QEAA@KPEBG@Z +; public: __cdecl CRegChangeEvent::CRegChangeEvent(unsigned short const * __ptr64,int) __ptr64 +??0CRegChangeEvent@@QEAA@PEBGH@Z +; public: __cdecl CRegNotify::CRegNotify(unsigned short const * __ptr64) __ptr64 +??0CRegNotify@@QEAA@PEBG@Z +; public: __cdecl CRequestClient::CRequestClient(unsigned short const * __ptr64,struct IDBProperties * __ptr64) __ptr64 +??0CRequestClient@@QEAA@PEBGPEAUIDBProperties@@@Z +; public: __cdecl CRequestQueue::CRequestQueue(unsigned int,unsigned int,unsigned int,int,unsigned int,unsigned int,struct _GUID const & __ptr64) __ptr64 +??0CRequestQueue@@QEAA@IIIHIIAEBU_GUID@@@Z +; public: __cdecl CScopeRestriction::CScopeRestriction(unsigned short const * __ptr64,int,int) __ptr64 +??0CScopeRestriction@@QEAA@PEBGHH@Z +; public: __cdecl CSdidLookupTable::CSdidLookupTable(void) __ptr64 +??0CSdidLookupTable@@QEAA@XZ +; public: __cdecl CSizeSerStream::CSizeSerStream(void) __ptr64 +??0CSizeSerStream@@QEAA@XZ +; public: __cdecl CSort::CSort(unsigned int) __ptr64 +??0CSort@@QEAA@I@Z +; public: __cdecl CSortSet::CSortSet(unsigned int) __ptr64 +??0CSortSet@@QEAA@I@Z +; public: __cdecl CStandardPropMapper::CStandardPropMapper(void) __ptr64 +??0CStandardPropMapper@@QEAA@XZ +; public: __cdecl CSvcQuery::CSvcQuery(unsigned short const * __ptr64,struct IDBProperties * __ptr64) __ptr64 +??0CSvcQuery@@QEAA@PEBGPEAUIDBProperties@@@Z +; public: __cdecl CSynRestriction::CSynRestriction(class CKey const & __ptr64,unsigned long,unsigned long,unsigned long,int) __ptr64 +??0CSynRestriction@@QEAA@AEBVCKey@@KKKH@Z +; public: __cdecl CTimeLimit::CTimeLimit(unsigned long,unsigned long) __ptr64 +??0CTimeLimit@@QEAA@KK@Z +; public: __cdecl CTransaction::CTransaction(void) __ptr64 +??0CTransaction@@QEAA@XZ +; public: __cdecl CUnfilteredRestriction::CUnfilteredRestriction(void) __ptr64 +??0CUnfilteredRestriction@@QEAA@XZ +; public: __cdecl CValueNormalizer::CValueNormalizer(class PKeyRepository & __ptr64) __ptr64 +??0CValueNormalizer@@QEAA@AEAVPKeyRepository@@@Z +; public: __cdecl CVirtualString::CVirtualString(unsigned int) __ptr64 +??0CVirtualString@@QEAA@I@Z +; public: __cdecl CWin32RegAccess::CWin32RegAccess(struct HKEY__ * __ptr64,unsigned short const * __ptr64) __ptr64 +??0CWin32RegAccess@@QEAA@PEAUHKEY__@@PEBG@Z +; public: __cdecl CWordRestriction::CWordRestriction(class CKeyBuf const & __ptr64,unsigned long,unsigned long,unsigned long,int) __ptr64 +??0CWordRestriction@@QEAA@AEBVCKeyBuf@@KKKH@Z +; public: __cdecl CWorkQueue::CWorkQueue(unsigned int,enum CWorkQueue::WorkQueueType) __ptr64 +??0CWorkQueue@@QEAA@IW4WorkQueueType@0@@Z +; public: __cdecl CiStorage::CiStorage(unsigned short const * __ptr64,struct ICiCAdviseStatus & __ptr64,unsigned long,unsigned long,int) __ptr64 +??0CiStorage@@QEAA@PEBGAEAUICiCAdviseStatus@@KKH@Z +; public: __cdecl SStorageObject::SStorageObject(class PStorageObject * __ptr64) __ptr64 +??0SStorageObject@@QEAA@PEAVPStorageObject@@@Z +; protected: __cdecl CAllocStorageVariant::~CAllocStorageVariant(void) __ptr64 +??1CAllocStorageVariant@@IEAA@XZ +; public: __cdecl CCatState::~CCatState(void) __ptr64 +??1CCatState@@QEAA@XZ +; public: __cdecl CCatalogAdmin::~CCatalogAdmin(void) __ptr64 +??1CCatalogAdmin@@QEAA@XZ +; public: __cdecl CCatalogEnum::~CCatalogEnum(void) __ptr64 +??1CCatalogEnum@@QEAA@XZ +; public: __cdecl CColumns::~CColumns(void) __ptr64 +??1CColumns@@QEAA@XZ +; public: __cdecl CContentRestriction::~CContentRestriction(void) __ptr64 +??1CContentRestriction@@QEAA@XZ +; public: __cdecl CDFA::~CDFA(void) __ptr64 +??1CDFA@@QEAA@XZ +; public: __cdecl CDbCmdTreeNode::~CDbCmdTreeNode(void) __ptr64 +??1CDbCmdTreeNode@@QEAA@XZ +; public: __cdecl CDbColumns::~CDbColumns(void) __ptr64 +??1CDbColumns@@QEAA@XZ +; public: __cdecl CDbPropSet::~CDbPropSet(void) __ptr64 +??1CDbPropSet@@QEAA@XZ +; public: __cdecl CDbQueryResults::~CDbQueryResults(void) __ptr64 +??1CDbQueryResults@@QEAA@XZ +; public: __cdecl CDbSortSet::~CDbSortSet(void) __ptr64 +??1CDbSortSet@@QEAA@XZ +; public: __cdecl CDynStream::~CDynStream(void) __ptr64 +??1CDynStream@@QEAA@XZ +; public: __cdecl CEventItem::~CEventItem(void) __ptr64 +??1CEventItem@@QEAA@XZ +; public: __cdecl CEventLog::~CEventLog(void) __ptr64 +??1CEventLog@@QEAA@XZ +; public: __cdecl CFileMapView::~CFileMapView(void) __ptr64 +??1CFileMapView@@QEAA@XZ +; public: __cdecl CFilterDaemon::~CFilterDaemon(void) __ptr64 +??1CFilterDaemon@@QEAA@XZ +; public: virtual __cdecl CFwAsyncWorkItem::~CFwAsyncWorkItem(void) __ptr64 +??1CFwAsyncWorkItem@@UEAA@XZ +; public: __cdecl CFwEventItem::~CFwEventItem(void) __ptr64 +??1CFwEventItem@@QEAA@XZ +; public: virtual __cdecl CGenericCiProxy::~CGenericCiProxy(void) __ptr64 +??1CGenericCiProxy@@UEAA@XZ +; public: __cdecl CImpersonateClient::~CImpersonateClient(void) __ptr64 +??1CImpersonateClient@@QEAA@XZ +; public: __cdecl CImpersonateSystem::~CImpersonateSystem(void) __ptr64 +??1CImpersonateSystem@@QEAA@XZ +; public: __cdecl CImpersonationTokenCache::~CImpersonationTokenCache(void) __ptr64 +??1CImpersonationTokenCache@@QEAA@XZ +; public: __cdecl CInternalPropertyRestriction::~CInternalPropertyRestriction(void) __ptr64 +??1CInternalPropertyRestriction@@QEAA@XZ +; public: __cdecl CKeyArray::~CKeyArray(void) __ptr64 +??1CKeyArray@@QEAA@XZ +; public: __cdecl CLangList::~CLangList(void) __ptr64 +??1CLangList@@QEAA@XZ +; public: __cdecl CMachineAdmin::~CMachineAdmin(void) __ptr64 +??1CMachineAdmin@@QEAA@XZ +; public: virtual __cdecl CMemSerStream::~CMemSerStream(void) __ptr64 +??1CMemSerStream@@UEAA@XZ +; public: __cdecl CMetaDataMgr::~CMetaDataMgr(void) __ptr64 +??1CMetaDataMgr@@QEAA@XZ +; public: virtual __cdecl CMmStream::~CMmStream(void) __ptr64 +??1CMmStream@@UEAA@XZ +; public: __cdecl CMmStreamConsecBuf::~CMmStreamConsecBuf(void) __ptr64 +??1CMmStreamConsecBuf@@QEAA@XZ +; public: __cdecl CNatLanguageRestriction::~CNatLanguageRestriction(void) __ptr64 +??1CNatLanguageRestriction@@QEAA@XZ +; public: __cdecl CNodeRestriction::~CNodeRestriction(void) __ptr64 +??1CNodeRestriction@@QEAA@XZ +; public: __cdecl CNotRestriction::~CNotRestriction(void) __ptr64 +??1CNotRestriction@@QEAA@XZ +; public: __cdecl COccRestriction::~COccRestriction(void) __ptr64 +??1COccRestriction@@QEAA@XZ +; public: __cdecl CParseCommandTree::~CParseCommandTree(void) __ptr64 +??1CParseCommandTree@@QEAA@XZ +; public: __cdecl CPerfMon::~CPerfMon(void) __ptr64 +??1CPerfMon@@QEAA@XZ +; public: __cdecl CPhraseRestriction::~CPhraseRestriction(void) __ptr64 +??1CPhraseRestriction@@QEAA@XZ +; public: virtual __cdecl CPhysStorage::~CPhysStorage(void) __ptr64 +??1CPhysStorage@@UEAA@XZ +; public: __cdecl CPidLookupTable::~CPidLookupTable(void) __ptr64 +??1CPidLookupTable@@QEAA@XZ +; public: __cdecl CPidRemapper::~CPidRemapper(void) __ptr64 +??1CPidRemapper@@QEAA@XZ +; public: __cdecl CProcess::~CProcess(void) __ptr64 +??1CProcess@@QEAA@XZ +; public: __cdecl CPropStoreManager::~CPropStoreManager(void) __ptr64 +??1CPropStoreManager@@QEAA@XZ +; public: virtual __cdecl CPropertyList::~CPropertyList(void) __ptr64 +??1CPropertyList@@UEAA@XZ +; public: __cdecl CPropertyRestriction::~CPropertyRestriction(void) __ptr64 +??1CPropertyRestriction@@QEAA@XZ +; public: __cdecl CPropertyStore::~CPropertyStore(void) __ptr64 +??1CPropertyStore@@QEAA@XZ +; public: __cdecl CPropertyStoreWids::~CPropertyStoreWids(void) __ptr64 +??1CPropertyStoreWids@@QEAA@XZ +; public: __cdecl CQueryUnknown::~CQueryUnknown(void) __ptr64 +??1CQueryUnknown@@QEAA@XZ +; public: virtual __cdecl CRangeKeyRepository::~CRangeKeyRepository(void) __ptr64 +??1CRangeKeyRepository@@UEAA@XZ +; public: __cdecl CRegChangeEvent::~CRegChangeEvent(void) __ptr64 +??1CRegChangeEvent@@QEAA@XZ +; protected: virtual __cdecl CRegNotify::~CRegNotify(void) __ptr64 +??1CRegNotify@@MEAA@XZ +; public: __cdecl CRestriction::~CRestriction(void) __ptr64 +??1CRestriction@@QEAA@XZ +; public: __cdecl CScopeAdmin::~CScopeAdmin(void) __ptr64 +??1CScopeAdmin@@QEAA@XZ +; public: __cdecl CScopeEnum::~CScopeEnum(void) __ptr64 +??1CScopeEnum@@QEAA@XZ +; public: __cdecl CScopeRestriction::~CScopeRestriction(void) __ptr64 +??1CScopeRestriction@@QEAA@XZ +; public: __cdecl CSdidLookupTable::~CSdidLookupTable(void) __ptr64 +??1CSdidLookupTable@@QEAA@XZ +; public: virtual __cdecl CSizeSerStream::~CSizeSerStream(void) __ptr64 +??1CSizeSerStream@@UEAA@XZ +; public: __cdecl CSort::~CSort(void) __ptr64 +??1CSort@@QEAA@XZ +; public: __cdecl CSynRestriction::~CSynRestriction(void) __ptr64 +??1CSynRestriction@@QEAA@XZ +; public: __cdecl CVirtualString::~CVirtualString(void) __ptr64 +??1CVirtualString@@QEAA@XZ +; public: __cdecl CWin32RegAccess::~CWin32RegAccess(void) __ptr64 +??1CWin32RegAccess@@QEAA@XZ +; public: __cdecl CWordRestriction::~CWordRestriction(void) __ptr64 +??1CWordRestriction@@QEAA@XZ +; public: __cdecl CWorkManager::~CWorkManager(void) __ptr64 +??1CWorkManager@@QEAA@XZ +; public: __cdecl CWorkQueue::~CWorkQueue(void) __ptr64 +??1CWorkQueue@@QEAA@XZ +; public: __cdecl SStorageObject::~SStorageObject(void) __ptr64 +??1SStorageObject@@QEAA@XZ +; public: class CDbColId & __ptr64 __cdecl CDbColId::operator=(class CDbColId const & __ptr64) __ptr64 +??4CDbColId@@QEAAAEAV0@AEBV0@@Z +; public: int __cdecl CDbColId::operator==(class CDbColId const & __ptr64)const __ptr64 +??8CDbColId@@QEBAHAEBV0@@Z +; public: void __cdecl CWorkManager::AbortWorkItems(void) __ptr64 +?AbortWorkItems@CWorkManager@@QEAAXXZ +; public: void __cdecl CQueryScanner::Accept(void) __ptr64 +?Accept@CQueryScanner@@QEAAXXZ +; public: void __cdecl CQueryScanner::AcceptCommand(void) __ptr64 +?AcceptCommand@CQueryScanner@@QEAAXXZ +; public: void __cdecl CQueryScanner::AcceptWord(void) __ptr64 +?AcceptWord@CQueryScanner@@QEAAXXZ +; public: int __cdecl CSdidLookupTable::AccessCheck(unsigned long,void * __ptr64,unsigned long,int & __ptr64) __ptr64 +?AccessCheck@CSdidLookupTable@@QEAAHKPEAXKAEAH@Z +; public: unsigned short * __ptr64 __cdecl CQueryScanner::AcqLine(int) __ptr64 +?AcqLine@CQueryScanner@@QEAAPEAGH@Z +; public: unsigned short * __ptr64 __cdecl CQueryScanner::AcqPath(void) __ptr64 +?AcqPath@CQueryScanner@@QEAAPEAGXZ +; public: unsigned short * __ptr64 __cdecl CQueryScanner::AcqPhrase(void) __ptr64 +?AcqPhrase@CQueryScanner@@QEAAPEAGXZ +; public: class CRangeRestriction * __ptr64 __cdecl CRangeKeyRepository::AcqRst(void) __ptr64 +?AcqRst@CRangeKeyRepository@@QEAAPEAVCRangeRestriction@@XZ +; public: unsigned short * __ptr64 __cdecl CQueryScanner::AcqWord(void) __ptr64 +?AcqWord@CQueryScanner@@QEAAPEAGXZ +; private: void __cdecl CPropertyStore::AcquireRead(class CReadWriteLockRecord & __ptr64) __ptr64 +?AcquireRead@CPropertyStore@@AEAAXAEAVCReadWriteLockRecord@@@Z +; public: int __cdecl CDbColumns::Add(class CDbColId const & __ptr64,unsigned int) __ptr64 +?Add@CDbColumns@@QEAAHAEBVCDbColId@@I@Z +; public: void __cdecl CDbQueryResults::Add(unsigned short * __ptr64,unsigned long) __ptr64 +?Add@CDbQueryResults@@QEAAXPEAGK@Z +; public: int __cdecl CDbSortSet::Add(class CDbColId const & __ptr64,unsigned long,unsigned int) __ptr64 +?Add@CDbSortSet@@QEAAHAEBVCDbColId@@KI@Z +; public: int __cdecl CDbSortSet::Add(class CDbSortKey const & __ptr64,unsigned int) __ptr64 +?Add@CDbSortSet@@QEAAHAEBVCDbSortKey@@I@Z +; public: int __cdecl CKeyArray::Add(int,class CKey const & __ptr64) __ptr64 +?Add@CKeyArray@@QEAAHHAEBVCKey@@@Z +; public: int __cdecl CKeyArray::Add(int,class CKeyBuf const & __ptr64) __ptr64 +?Add@CKeyArray@@QEAAHHAEBVCKeyBuf@@@Z +; public: void __cdecl CWorkQueue::Add(class PWorkItem * __ptr64) __ptr64 +?Add@CWorkQueue@@QEAAXPEAVPWorkItem@@@Z +; public: void __cdecl CEventItem::AddArg(unsigned long) __ptr64 +?AddArg@CEventItem@@QEAAXK@Z +; public: void __cdecl CEventItem::AddArg(unsigned short const * __ptr64) __ptr64 +?AddArg@CEventItem@@QEAAXPEBG@Z +; public: void __cdecl CFwEventItem::AddArg(unsigned long) __ptr64 +?AddArg@CFwEventItem@@QEAAXK@Z +; public: void __cdecl CFwEventItem::AddArg(unsigned short const * __ptr64) __ptr64 +?AddArg@CFwEventItem@@QEAAXPEBG@Z +; public: void __cdecl CCatalogAdmin::AddCachedProperty(class CFullPropSpec const & __ptr64,unsigned long,unsigned long,unsigned long,int) __ptr64 +?AddCachedProperty@CCatalogAdmin@@QEAAXAEBVCFullPropSpec@@KKKH@Z +; public: void __cdecl CCatState::AddCatalog(class XPtrST & __ptr64) __ptr64 +?AddCatalog@CCatState@@QEAAXAEAV?$XPtrST@G@@@Z +; public: void __cdecl CMachineAdmin::AddCatalog(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64 +?AddCatalog@CMachineAdmin@@QEAAXPEBG0@Z +; public: void __cdecl CNodeRestriction::AddChild(class CRestriction * __ptr64,unsigned int & __ptr64) __ptr64 +?AddChild@CNodeRestriction@@QEAAXPEAVCRestriction@@AEAI@Z +; public: void __cdecl CCatState::AddDir(class XPtrST & __ptr64) __ptr64 +?AddDir@CCatState@@QEAAXAEAV?$XPtrST@G@@@Z +; public: virtual void __cdecl CPropertyList::AddEntry(class CPropEntry * __ptr64,int) __ptr64 +?AddEntry@CPropertyList@@UEAAXPEAVCPropEntry@@H@Z +; public: void __cdecl CEventItem::AddError(unsigned long) __ptr64 +?AddError@CEventItem@@QEAAXK@Z +; public: void __cdecl CSynRestriction::AddKey(class CKeyBuf const & __ptr64) __ptr64 +?AddKey@CSynRestriction@@QEAAXAEBVCKeyBuf@@@Z +; public: void __cdecl CCatState::AddMachine(class XPtrST & __ptr64) __ptr64 +?AddMachine@CCatState@@QEAAXAEAV?$XPtrST@G@@@Z +; public: virtual unsigned long __cdecl CDbProperties::AddRef(void) __ptr64 +?AddRef@CDbProperties@@UEAAKXZ +; public: virtual unsigned long __cdecl CEmptyPropertyList::AddRef(void) __ptr64 +?AddRef@CEmptyPropertyList@@UEAAKXZ +; public: virtual unsigned long __cdecl CEnumString::AddRef(void) __ptr64 +?AddRef@CEnumString@@UEAAKXZ +; public: virtual unsigned long __cdecl CEnumWorkid::AddRef(void) __ptr64 +?AddRef@CEnumWorkid@@UEAAKXZ +; public: virtual unsigned long __cdecl CFwPropertyMapper::AddRef(void) __ptr64 +?AddRef@CFwPropertyMapper@@UEAAKXZ +; public: virtual unsigned long __cdecl CQueryUnknown::AddRef(void) __ptr64 +?AddRef@CQueryUnknown@@UEAAKXZ +; public: void __cdecl CWorkQueue::AddRefWorkThreads(void) __ptr64 +?AddRefWorkThreads@CWorkQueue@@QEAAXXZ +; public: void __cdecl CCatalogAdmin::AddScope(unsigned short const * __ptr64,unsigned short const * __ptr64,int,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64 +?AddScope@CCatalogAdmin@@QEAAXPEBG0H00@Z +; public: int __cdecl CDbSortNode::AddSortColumn(struct tagDBID const & __ptr64,int,unsigned long) __ptr64 +?AddSortColumn@CDbSortNode@@QEAAHAEBUtagDBID@@HK@Z +; public: int __cdecl CDbNestingNode::AddTable(class CDbCmdTreeNode * __ptr64) __ptr64 +?AddTable@CDbNestingNode@@QEAAHPEAVCDbCmdTreeNode@@@Z +; public: void __cdecl CWorkManager::AddToWorkList(class CFwAsyncWorkItem * __ptr64) __ptr64 +?AddToWorkList@CWorkManager@@QEAAXPEAVCFwAsyncWorkItem@@@Z +; public: void __cdecl CFwAsyncWorkItem::AddToWorkQueue(void) __ptr64 +?AddToWorkQueue@CFwAsyncWorkItem@@QEAAXXZ +; public: static unsigned short * __ptr64 __cdecl CDbCmdTreeNode::AllocAndCopyWString(unsigned short const * __ptr64) +?AllocAndCopyWString@CDbCmdTreeNode@@SAPEAGPEBG@Z +; unsigned short * __ptr64 __cdecl AllocHeapAndCopy(unsigned short const * __ptr64,unsigned long & __ptr64) +?AllocHeapAndCopy@@YAPEAGPEBGAEAK@Z +; unsigned short * __ptr64 __cdecl AllocHeapAndGetWString(class PDeSerStream & __ptr64) +?AllocHeapAndGetWString@@YAPEAGAEAVPDeSerStream@@@Z +; public: void __cdecl CEnumString::Append(unsigned short const * __ptr64) __ptr64 +?Append@CEnumString@@QEAAXPEBG@Z +; public: void __cdecl CEnumWorkid::Append(unsigned long) __ptr64 +?Append@CEnumWorkid@@QEAAXK@Z +; protected: void __cdecl CDbCmdTreeNode::AppendChild(class CDbCmdTreeNode * __ptr64) __ptr64 +?AppendChild@CDbCmdTreeNode@@IEAAXPEAV1@@Z +; protected: int __cdecl CDbListAnchor::AppendListElement(unsigned short,struct tagDBID const & __ptr64) __ptr64 +?AppendListElement@CDbListAnchor@@IEAAHGAEBUtagDBID@@@Z +; protected: int __cdecl CDbListAnchor::AppendListElement(class CDbCmdTreeNode * __ptr64) __ptr64 +?AppendListElement@CDbListAnchor@@IEAAHPEAVCDbCmdTreeNode@@@Z +; public: int __cdecl CDbProjectListAnchor::AppendListElement(struct tagDBID const & __ptr64,unsigned short * __ptr64) __ptr64 +?AppendListElement@CDbProjectListAnchor@@QEAAHAEBUtagDBID@@PEAG@Z +; public: unsigned __int64 __cdecl CPropStoreManager::BeginTransaction(void) __ptr64 +?BeginTransaction@CPropStoreManager@@QEAA_KXZ +; public: static long __cdecl CCiOle::BindIFilter(unsigned short const * __ptr64,struct IUnknown * __ptr64,struct _GUID const & __ptr64,struct IFilter * __ptr64 * __ptr64,int) +?BindIFilter@CCiOle@@SAJPEBGPEAUIUnknown@@AEBU_GUID@@PEAPEAUIFilter@@H@Z +; public: static long __cdecl CCiOle::BindIFilter(unsigned short const * __ptr64,struct IUnknown * __ptr64,struct IFilter * __ptr64 * __ptr64,int) +?BindIFilter@CCiOle@@SAJPEBGPEAUIUnknown@@PEAPEAUIFilter@@H@Z +; public: unsigned long * __ptr64 __cdecl CPhysStorage::BorrowBuffer(unsigned long,int,int) __ptr64 +?BorrowBuffer@CPhysStorage@@QEAAPEAKKHH@Z +; public: unsigned long * __ptr64 __cdecl CPhysStorage::BorrowNewBuffer(unsigned long) __ptr64 +?BorrowNewBuffer@CPhysStorage@@QEAAPEAKK@Z +; void __cdecl BuildRegistryPropertiesKey(class XArray & __ptr64,unsigned short const * __ptr64) +?BuildRegistryPropertiesKey@@YAXAEAV?$XArray@G@@PEBG@Z +; void __cdecl BuildRegistryScopesKey(class XArray & __ptr64,unsigned short const * __ptr64) +?BuildRegistryScopesKey@@YAXAEAV?$XArray@G@@PEBG@Z +; void __cdecl CIShutdown(void) +?CIShutdown@@YAXXZ +; public: void __cdecl CCatState::ChangeCurrentCatalog(unsigned short const * __ptr64) __ptr64 +?ChangeCurrentCatalog@CCatState@@QEAAXPEBG@Z +; public: void __cdecl CCatState::ChangeCurrentDepth(int) __ptr64 +?ChangeCurrentDepth@CCatState@@QEAAXH@Z +; public: void __cdecl CCatState::ChangeCurrentMachine(unsigned short const * __ptr64) __ptr64 +?ChangeCurrentMachine@CCatState@@QEAAXPEBG@Z +; public: void __cdecl CCatState::ChangeCurrentScope(unsigned short const * __ptr64) __ptr64 +?ChangeCurrentScope@CCatState@@QEAAXPEBG@Z +; private: void __cdecl CPropStoreInfo::ChangeDirty(int) __ptr64 +?ChangeDirty@CPropStoreInfo@@AEAAXH@Z +; public: long __cdecl CLocalGlobalPropertyList::CheckError(unsigned long & __ptr64,unsigned short * __ptr64 * __ptr64) __ptr64 +?CheckError@CLocalGlobalPropertyList@@QEAAJAEAKPEAPEAG@Z +; public: long __cdecl CPropListFile::CheckError(unsigned long & __ptr64,unsigned short * __ptr64 * __ptr64) __ptr64 +?CheckError@CPropListFile@@QEAAJAEAKPEAPEAG@Z +; public: static int __cdecl CiStorage::CheckHasIndexTable(unsigned short const * __ptr64) +?CheckHasIndexTable@CiStorage@@SAHPEBG@Z +CiCreateSecurityDescriptor +; int __cdecl CiGetPassword(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short * __ptr64) +?CiGetPassword@@YAHPEBG0PEAG@Z +; void * __ptr64 __cdecl CiNtOpen(unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long) +?CiNtOpen@@YAPEAXPEBGKKK@Z +; long __cdecl CiNtOpenNoThrow(void * __ptr64 & __ptr64,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long) +?CiNtOpenNoThrow@@YAJAEAPEAXPEBGKKK@Z +; public: void __cdecl CDbColId::Cleanup(void) __ptr64 +?Cleanup@CDbColId@@QEAAXXZ +; protected: void __cdecl CDbCmdTreeNode::CleanupDataValue(void) __ptr64 +?CleanupDataValue@CDbCmdTreeNode@@IEAAXXZ +; public: void __cdecl CCombinedPropertyList::ClearList(void) __ptr64 +?ClearList@CCombinedPropertyList@@QEAAXXZ +; public: void __cdecl CPropertyList::ClearList(void) __ptr64 +?ClearList@CPropertyList@@QEAAXXZ +; public: class CDbCmdTreeNode * __ptr64 __cdecl CDbCmdTreeNode::Clone(int)const __ptr64 +?Clone@CDbCmdTreeNode@@QEBAPEAV1@H@Z +; public: virtual long __cdecl CEnumString::Clone(struct IEnumString * __ptr64 * __ptr64) __ptr64 +?Clone@CEnumString@@UEAAJPEAPEAUIEnumString@@@Z +; public: class CNodeRestriction * __ptr64 __cdecl CNodeRestriction::Clone(void)const __ptr64 +?Clone@CNodeRestriction@@QEBAPEAV1@XZ +; public: class COccRestriction * __ptr64 __cdecl COccRestriction::Clone(void)const __ptr64 +?Clone@COccRestriction@@QEBAPEAV1@XZ +; public: class CRestriction * __ptr64 __cdecl CRestriction::Clone(void)const __ptr64 +?Clone@CRestriction@@QEBAPEAV1@XZ +; public: void __cdecl CPhysStorage::Close(void) __ptr64 +?Close@CPhysStorage@@QEAAXXZ +; protected: void __cdecl CPipeClient::Close(void) __ptr64 +?Close@CPipeClient@@IEAAXXZ +; public: void __cdecl COLEPropManager::CPropSetMap::Close(void) __ptr64 +?Close@CPropSetMap@COLEPropManager@@QEAAXXZ +; public: void __cdecl CPropStoreManager::CloseRecord(class CCompositePropRecord * __ptr64) __ptr64 +?CloseRecord@CPropStoreManager@@QEAAXPEAVCCompositePropRecord@@@Z +; public: void __cdecl CPropStoreManager::CloseRecord(class CCompositePropRecordForWrites * __ptr64) __ptr64 +?CloseRecord@CPropStoreManager@@QEAAXPEAVCCompositePropRecordForWrites@@@Z +; public: void __cdecl CRcovStrmAppendTrans::Commit(void) __ptr64 +?Commit@CRcovStrmAppendTrans@@QEAAXXZ +; public: void __cdecl CRcovStrmMDTrans::Commit(void) __ptr64 +?Commit@CRcovStrmMDTrans@@QEAAXXZ +; public: void __cdecl CRcovStrmWriteTrans::Commit(void) __ptr64 +?Commit@CRcovStrmWriteTrans@@QEAAXXZ +; public: static int __cdecl CDriveInfo::ContainsDrive(unsigned short const * __ptr64) +?ContainsDrive@CDriveInfo@@SAHPEBG@Z +; public: void __cdecl CMachineAdmin::CreateSubdirs(unsigned short const * __ptr64) __ptr64 +?CreateSubdirs@CMachineAdmin@@QEAAXPEBG@Z +; public: void __cdecl CRequestClient::DataWriteRead(void * __ptr64,unsigned long,void * __ptr64,unsigned long,unsigned long & __ptr64) __ptr64 +?DataWriteRead@CRequestClient@@QEAAXPEAXK0KAEAK@Z +; void __cdecl DecodeEscapes(unsigned short * __ptr64,unsigned long & __ptr64,unsigned short * __ptr64) +?DecodeEscapes@@YAXPEAGAEAK0@Z +; void __cdecl DecodeHtmlNumeric(unsigned short * __ptr64) +?DecodeHtmlNumeric@@YAXPEAG@Z +; void __cdecl DecodeURLEscapes(unsigned char * __ptr64,unsigned long & __ptr64,unsigned short * __ptr64,unsigned long) +?DecodeURLEscapes@@YAXPEAEAEAKPEAGK@Z +; public: void __cdecl CPropStoreManager::DeleteRecord(unsigned long) __ptr64 +?DeleteRecord@CPropStoreManager@@QEAAXK@Z +; public: void __cdecl CCatalogAdmin::DeleteRegistryParamNoThrow(unsigned short const * __ptr64) __ptr64 +?DeleteRegistryParamNoThrow@CCatalogAdmin@@QEAAXPEBG@Z +; public: static unsigned int __cdecl CiStorage::DetermineDriveType(unsigned short const * __ptr64) +?DetermineDriveType@CiStorage@@SAIPEBG@Z +; public: int __cdecl CMachineAdmin::DisableCI(void) __ptr64 +?DisableCI@CMachineAdmin@@QEAAHXZ +; public: void __cdecl CRegNotify::DisableNotification(void) __ptr64 +?DisableNotification@CRegNotify@@QEAAXXZ +; public: void __cdecl CMetaDataMgr::DisableVPathNotify(void) __ptr64 +?DisableVPathNotify@CMetaDataMgr@@QEAAXXZ +; public: void __cdecl CRequestClient::Disconnect(void) __ptr64 +?Disconnect@CRequestClient@@QEAAXXZ +; public: long __cdecl CCopyRcovObject::DoIt(void) __ptr64 +?DoIt@CCopyRcovObject@@QEAAJXZ +; public: long __cdecl CFilterDaemon::DoUpdates(void) __ptr64 +?DoUpdates@CFilterDaemon@@QEAAJXZ +; public: void __cdecl CFwAsyncWorkItem::Done(void) __ptr64 +?Done@CFwAsyncWorkItem@@QEAAXXZ +; long __cdecl DumpWorkId(unsigned short const * __ptr64,unsigned long,unsigned char * __ptr64,unsigned long & __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long) +?DumpWorkId@@YAJPEBGKPEAEAEAK00K@Z +; public: void __cdecl CPidLookupTable::Empty(void) __ptr64 +?Empty@CPidLookupTable@@QEAAXXZ +; public: void __cdecl CPropStoreManager::Empty(void) __ptr64 +?Empty@CPropStoreManager@@QEAAXXZ +; public: void __cdecl CRcovStrmWriteTrans::Empty(void) __ptr64 +?Empty@CRcovStrmWriteTrans@@QEAAXXZ +; public: void __cdecl CSdidLookupTable::Empty(void) __ptr64 +?Empty@CSdidLookupTable@@QEAAXXZ +; public: int __cdecl CMachineAdmin::EnableCI(void) __ptr64 +?EnableCI@CMachineAdmin@@QEAAHXZ +; public: void __cdecl CMetaDataMgr::EnableVPathNotify(class CMetaDataVPathChangeCallBack * __ptr64) __ptr64 +?EnableVPathNotify@CMetaDataMgr@@QEAAXPEAVCMetaDataVPathChangeCallBack@@@Z +; public: void __cdecl CPropStoreManager::EndTransaction(unsigned __int64,int,unsigned long,unsigned long) __ptr64 +?EndTransaction@CPropStoreManager@@QEAAX_KHKK@Z +; public: int __cdecl CWin32RegAccess::Enum(unsigned short * __ptr64,unsigned long) __ptr64 +?Enum@CWin32RegAccess@@QEAAHPEAGK@Z +; public: virtual long __cdecl CEmptyPropertyList::EnumPropInfo(unsigned long,unsigned short const * __ptr64 * __ptr64,struct tagDBID * __ptr64 * __ptr64,unsigned short * __ptr64,unsigned int * __ptr64) __ptr64 +?EnumPropInfo@CEmptyPropertyList@@UEAAJKPEAPEBGPEAPEAUtagDBID@@PEAGPEAI@Z +; public: void __cdecl CMetaDataMgr::EnumVPaths(class CMetaDataCallBack & __ptr64) __ptr64 +?EnumVPaths@CMetaDataMgr@@QEAAXAEAVCMetaDataCallBack@@@Z +; public: void __cdecl CMetaDataMgr::EnumVServers(class CMetaDataVirtualServerCallBack & __ptr64) __ptr64 +?EnumVServers@CMetaDataMgr@@QEAAXAEAVCMetaDataVirtualServerCallBack@@@Z +; public: static void __cdecl CiStorage::EnumerateFilesInDir(unsigned short const * __ptr64,class CEnumString & __ptr64) +?EnumerateFilesInDir@CiStorage@@SAXPEBGAEAVCEnumString@@@Z +; public: int __cdecl CPidLookupTable::EnumerateProperty(class CFullPropSpec & __ptr64,unsigned int & __ptr64) __ptr64 +?EnumerateProperty@CPidLookupTable@@QEAAHAEAVCFullPropSpec@@AEAI@Z +; public: void __cdecl CRegAccess::EnumerateValues(unsigned short * __ptr64,class CRegCallBack & __ptr64) __ptr64 +?EnumerateValues@CRegAccess@@QEAAXPEAGAEAVCRegCallBack@@@Z +; public: int __cdecl CMmStreamConsecBuf::Eof(void) __ptr64 +?Eof@CMmStreamConsecBuf@@QEAAHXZ +; public: int __cdecl CMetaDataMgr::ExtensionHasScriptMap(unsigned short const * __ptr64) __ptr64 +?ExtensionHasScriptMap@CMetaDataMgr@@QEAAHPEBG@Z +; public: virtual long __cdecl CPidConverter::FPSToPROPID(class CFullPropSpec const & __ptr64,unsigned long & __ptr64) __ptr64 +?FPSToPROPID@CPidConverter@@UEAAJAEBVCFullPropSpec@@AEAK@Z +; public: void __cdecl CPropStoreManager::FastInit(class CiStorage * __ptr64) __ptr64 +?FastInit@CPropStoreManager@@QEAAXPEAVCiStorage@@@Z +; public: void __cdecl COLEPropManager::FetchProperty(struct _GUID const & __ptr64,struct tagPROPSPEC const & __ptr64,struct tagPROPVARIANT * __ptr64,unsigned int * __ptr64) __ptr64 +?FetchProperty@COLEPropManager@@QEAAXAEBU_GUID@@AEBUtagPROPSPEC@@PEAUtagPROPVARIANT@@PEAI@Z +; public: int __cdecl CKeyArray::FillMax(int) __ptr64 +?FillMax@CKeyArray@@QEAAHH@Z +; public: class CPropEntry const * __ptr64 __cdecl CEmptyPropertyList::Find(class CDbColId const & __ptr64) __ptr64 +?Find@CEmptyPropertyList@@QEAAPEBVCPropEntry@@AEBVCDbColId@@@Z +; public: virtual class CPropEntry const * __ptr64 __cdecl CPropertyList::Find(class CDbColId const & __ptr64) __ptr64 +?Find@CPropertyList@@UEAAPEBVCPropEntry@@AEBVCDbColId@@@Z +; public: virtual class CPropEntry const * __ptr64 __cdecl CPropertyList::Find(unsigned short const * __ptr64) __ptr64 +?Find@CPropertyList@@UEAAPEBVCPropEntry@@PEBG@Z +; public: int __cdecl CPidLookupTable::FindPropid(class CFullPropSpec const & __ptr64,unsigned long & __ptr64,int) __ptr64 +?FindPropid@CPidLookupTable@@QEAAHAEBVCFullPropSpec@@AEAKH@Z +; public: void __cdecl CDynStream::Flush(void) __ptr64 +?Flush@CDynStream@@QEAAXXZ +; public: void __cdecl CPhysStorage::Flush(int) __ptr64 +?Flush@CPhysStorage@@QEAAXH@Z +; public: void __cdecl CPropStoreManager::Flush(void) __ptr64 +?Flush@CPropStoreManager@@QEAAXXZ +; public: static void __cdecl CCiOle::FlushIdle(void) +?FlushIdle@CCiOle@@SAXXZ +; public: struct tagDBCOMMANDTREE * __ptr64 __cdecl CTextToTree::FormFullTree(void) __ptr64 +?FormFullTree@CTextToTree@@QEAAPEAUtagDBCOMMANDTREE@@XZ +; class CDbCmdTreeNode * __ptr64 __cdecl FormQueryTree(class CDbCmdTreeNode & __ptr64,class CCatState & __ptr64,struct IColumnMapper * __ptr64,int,int) +?FormQueryTree@@YAPEAVCDbCmdTreeNode@@AEAV1@AEAVCCatState@@PEAUIColumnMapper@@HH@Z +FsCiShutdown +; public: unsigned long __cdecl CRegAccess::Get(unsigned short const * __ptr64) __ptr64 +?Get@CRegAccess@@QEAAKPEBG@Z +; public: void __cdecl CRegAccess::Get(unsigned short const * __ptr64,unsigned short * __ptr64,unsigned int) __ptr64 +?Get@CRegAccess@@QEAAXPEBGPEAGI@Z +; public: int __cdecl CWin32RegAccess::Get(unsigned short const * __ptr64,unsigned long & __ptr64) __ptr64 +?Get@CWin32RegAccess@@QEAAHPEBGAEAK@Z +; public: int __cdecl CWin32RegAccess::Get(unsigned short const * __ptr64,unsigned short * __ptr64,unsigned int,int) __ptr64 +?Get@CWin32RegAccess@@QEAAHPEBGPEAGIH@Z +; public: virtual long __cdecl CPropertyList::GetAllEntries(class CPropEntry * __ptr64 * __ptr64,unsigned long) __ptr64 +?GetAllEntries@CPropertyList@@UEAAJPEAPEAVCPropEntry@@K@Z +; public: short __cdecl CAllocStorageVariant::GetBOOL(unsigned int)const __ptr64 +?GetBOOL@CAllocStorageVariant@@QEBAFI@Z +; public: unsigned long __cdecl CPropStoreManager::GetBackupSize(unsigned long) __ptr64 +?GetBackupSize@CPropStoreManager@@QEAAKK@Z +; public: virtual void __cdecl CMemDeSerStream::GetBlob(unsigned char * __ptr64,unsigned long) __ptr64 +?GetBlob@CMemDeSerStream@@UEAAXPEAEK@Z +; unsigned long __cdecl GetBrowserCodepage(class CWebServer & __ptr64,unsigned long) +?GetBrowserCodepage@@YAKAEAVCWebServer@@K@Z +; public: virtual unsigned char __cdecl CMemDeSerStream::GetByte(void) __ptr64 +?GetByte@CMemDeSerStream@@UEAAEXZ +; public: unsigned short const * __ptr64 __cdecl CCatState::GetCD(void) __ptr64 +?GetCD@CCatState@@QEAAPEBGXZ +; public: int __cdecl CWebServer::GetCGIVariable(char const * __ptr64,class XArray & __ptr64,unsigned long & __ptr64) __ptr64 +?GetCGIVariable@CWebServer@@QEAAHPEBDAEAV?$XArray@G@@AEAK@Z +; public: int __cdecl CWebServer::GetCGIVariableW(unsigned short const * __ptr64,class XArray & __ptr64,unsigned long & __ptr64) __ptr64 +?GetCGIVariableW@CWebServer@@QEAAHPEBGAEAV?$XArray@G@@AEAK@Z +; public: struct _GUID __cdecl CAllocStorageVariant::GetCLSID(unsigned int)const __ptr64 +?GetCLSID@CAllocStorageVariant@@QEBA?AU_GUID@@I@Z +; public: union tagCY __cdecl CAllocStorageVariant::GetCY(unsigned int)const __ptr64 +?GetCY@CAllocStorageVariant@@QEBA?ATtagCY@@I@Z +; public: unsigned short const * __ptr64 __cdecl CCatState::GetCategory(unsigned int)const __ptr64 +?GetCategory@CCatState@@QEBAPEBGI@Z +; public: virtual void __cdecl CMemDeSerStream::GetChar(char * __ptr64,unsigned long) __ptr64 +?GetChar@CMemDeSerStream@@UEAAXPEADK@Z +; public: unsigned short const * __ptr64 __cdecl CCatState::GetColumn(unsigned int)const __ptr64 +?GetColumn@CCatState@@QEBAPEBGI@Z +; public: unsigned short __cdecl CQueryScanner::GetCommandChar(void) __ptr64 +?GetCommandChar@CQueryScanner@@QEAAGXZ +; public: double __cdecl CAllocStorageVariant::GetDATE(unsigned int)const __ptr64 +?GetDATE@CAllocStorageVariant@@QEBANI@Z +; public: int __cdecl CCatalogAdmin::GetDWORDParam(unsigned short const * __ptr64,unsigned long & __ptr64) __ptr64 +?GetDWORDParam@CCatalogAdmin@@QEAAHPEBGAEAK@Z +; public: int __cdecl CMachineAdmin::GetDWORDParam(unsigned short const * __ptr64,unsigned long & __ptr64) __ptr64 +?GetDWORDParam@CMachineAdmin@@QEAAHPEBGAEAK@Z +; public: void __cdecl CDriveInfo::GetDiskSpace(__int64 & __ptr64,__int64 & __ptr64) __ptr64 +?GetDiskSpace@CDriveInfo@@QEAAXAEA_J0@Z +; public: virtual double __cdecl CMemDeSerStream::GetDouble(void) __ptr64 +?GetDouble@CMemDeSerStream@@UEAANXZ +; public: static void __cdecl CDriveInfo::GetDrive(unsigned short const * __ptr64,unsigned short * __ptr64) +?GetDrive@CDriveInfo@@SAXPEBGPEAG@Z +; public: unsigned char * __ptr64 __cdecl CGenericCiProxy::GetEntryBuffer(unsigned long & __ptr64) __ptr64 +?GetEntryBuffer@CGenericCiProxy@@QEAAPEAEAEAK@Z +; public: struct _FILETIME __cdecl CAllocStorageVariant::GetFILETIME(unsigned int)const __ptr64 +?GetFILETIME@CAllocStorageVariant@@QEBA?AU_FILETIME@@I@Z +; public: int __cdecl CPathParser::GetFileName(unsigned short * __ptr64,unsigned long & __ptr64)const __ptr64 +?GetFileName@CPathParser@@QEBAHPEAGAEAK@Z +; public: enum CDriveInfo::eFileSystem __cdecl CDriveInfo::GetFileSystem(int) __ptr64 +?GetFileSystem@CDriveInfo@@QEAA?AW4eFileSystem@1@H@Z +; public: virtual float __cdecl CMemDeSerStream::GetFloat(void) __ptr64 +?GetFloat@CMemDeSerStream@@UEAAMXZ +; public: virtual void __cdecl CMemDeSerStream::GetGUID(struct _GUID & __ptr64) __ptr64 +?GetGUID@CMemDeSerStream@@UEAAXAEAU_GUID@@@Z +; class CPropListFile * __ptr64 __cdecl GetGlobalPropListFile(void) +?GetGlobalPropListFile@@YAPEAVCPropListFile@@XZ +; class CStaticPropertyList * __ptr64 __cdecl GetGlobalStaticPropertyList(void) +?GetGlobalStaticPropertyList@@YAPEAVCStaticPropertyList@@XZ +; public: short __cdecl CAllocStorageVariant::GetI2(unsigned int)const __ptr64 +?GetI2@CAllocStorageVariant@@QEBAFI@Z +; public: long __cdecl CAllocStorageVariant::GetI4(unsigned int)const __ptr64 +?GetI4@CAllocStorageVariant@@QEBAJI@Z +; public: union _LARGE_INTEGER __cdecl CAllocStorageVariant::GetI8(unsigned int)const __ptr64 +?GetI8@CAllocStorageVariant@@QEBA?AT_LARGE_INTEGER@@I@Z +; unsigned long __cdecl GetLCIDFromString(unsigned short * __ptr64) +?GetLCIDFromString@@YAKPEAG@Z +; public: char * __ptr64 __cdecl CAllocStorageVariant::GetLPSTR(unsigned int)const __ptr64 +?GetLPSTR@CAllocStorageVariant@@QEBAPEADI@Z +; public: unsigned short * __ptr64 __cdecl CAllocStorageVariant::GetLPWSTR(unsigned int)const __ptr64 +?GetLPWSTR@CAllocStorageVariant@@QEBAPEAGI@Z +; public: unsigned short const * __ptr64 __cdecl CCatalogAdmin::GetLocation(void) __ptr64 +?GetLocation@CCatalogAdmin@@QEAAPEBGXZ +; public: virtual long __cdecl CMemDeSerStream::GetLong(void) __ptr64 +?GetLong@CMemDeSerStream@@UEAAJXZ +; public: int __cdecl CQueryScanner::GetNumber(unsigned long & __ptr64,int & __ptr64) __ptr64 +?GetNumber@CQueryScanner@@QEAAHAEAKAEAH@Z +; public: int __cdecl CQueryScanner::GetNumber(double & __ptr64) __ptr64 +?GetNumber@CQueryScanner@@QEAAHAEAN@Z +; public: int __cdecl CQueryScanner::GetNumber(__int64 & __ptr64,int & __ptr64) __ptr64 +?GetNumber@CQueryScanner@@QEAAHAEA_JAEAH@Z +; public: int __cdecl CQueryScanner::GetNumber(unsigned __int64 & __ptr64,int & __ptr64) __ptr64 +?GetNumber@CQueryScanner@@QEAAHAEA_KAEAH@Z +; public: void __cdecl CKeyDeComp::GetOffset(struct BitOffset & __ptr64) __ptr64 +?GetOffset@CKeyDeComp@@QEAAXAEAUBitOffset@@@Z +; long __cdecl GetOleDBErrorInfo(struct IUnknown * __ptr64,struct _GUID const & __ptr64,unsigned long,unsigned int,struct tagERRORINFO * __ptr64,struct IErrorInfo * __ptr64 * __ptr64) +?GetOleDBErrorInfo@@YAJPEAUIUnknown@@AEBU_GUID@@KIPEAUtagERRORINFO@@PEAPEAUIErrorInfo@@@Z +; long __cdecl GetOleError(class CException & __ptr64) +?GetOleError@@YAJAEAVCException@@@Z +; public: unsigned long __cdecl CWebServer::GetPhysicalPath(unsigned short const * __ptr64,unsigned short * __ptr64,unsigned long,unsigned long) __ptr64 +?GetPhysicalPath@CWebServer@@QEAAKPEBGPEAGKK@Z +; public: int __cdecl CEmptyPropertyList::GetPropInfo(class CDbColId const & __ptr64,unsigned short const * __ptr64 * __ptr64,unsigned short * __ptr64,unsigned int * __ptr64) __ptr64 +?GetPropInfo@CEmptyPropertyList@@QEAAHAEBVCDbColId@@PEAPEBGPEAGPEAI@Z +; public: int __cdecl CEmptyPropertyList::GetPropInfo(unsigned short const * __ptr64,class CDbColId * __ptr64 * __ptr64,unsigned short * __ptr64,unsigned int * __ptr64) __ptr64 +?GetPropInfo@CEmptyPropertyList@@QEAAHPEBGPEAPEAVCDbColId@@PEAGPEAI@Z +; public: virtual long __cdecl CEmptyPropertyList::GetPropInfoFromId(struct tagDBID const * __ptr64,unsigned short * __ptr64 * __ptr64,unsigned short * __ptr64,unsigned int * __ptr64) __ptr64 +?GetPropInfoFromId@CEmptyPropertyList@@UEAAJPEBUtagDBID@@PEAPEAGPEAGPEAI@Z +; public: virtual long __cdecl CEmptyPropertyList::GetPropInfoFromName(unsigned short const * __ptr64,struct tagDBID * __ptr64 * __ptr64,unsigned short * __ptr64,unsigned int * __ptr64) __ptr64 +?GetPropInfoFromName@CEmptyPropertyList@@UEAAJPEBGPEAPEAUtagDBID@@PEAGPEAI@Z +; public: static unsigned short __cdecl CEmptyPropertyList::GetPropType(unsigned int) +?GetPropType@CEmptyPropertyList@@SAGI@Z +; public: static unsigned int __cdecl CEmptyPropertyList::GetPropTypeCount(void) +?GetPropTypeCount@CEmptyPropertyList@@SAIXZ +; public: static unsigned short const * __ptr64 __cdecl CEmptyPropertyList::GetPropTypeName(unsigned int) +?GetPropTypeName@CEmptyPropertyList@@SAPEBGI@Z +; public: virtual long __cdecl CDbProperties::GetProperties(unsigned long,struct tagDBPROPIDSET const * __ptr64 const,unsigned long * __ptr64,struct tagDBPROPSET * __ptr64 * __ptr64) __ptr64 +?GetProperties@CDbProperties@@UEAAJKQEBUtagDBPROPIDSET@@PEAKPEAPEAUtagDBPROPSET@@@Z +; public: void __cdecl CGetDbProps::GetProperties(struct IDBProperties * __ptr64,unsigned long) __ptr64 +?GetProperties@CGetDbProps@@QEAAXPEAUIDBProperties@@K@Z +; public: virtual long __cdecl CDbProperties::GetPropertyInfo(unsigned long,struct tagDBPROPIDSET const * __ptr64 const,unsigned long * __ptr64,struct tagDBPROPINFOSET * __ptr64 * __ptr64,unsigned short * __ptr64 * __ptr64) __ptr64 +?GetPropertyInfo@CDbProperties@@UEAAJKQEBUtagDBPROPIDSET@@PEAKPEAPEAUtagDBPROPINFOSET@@PEAPEAG@Z +; public: float __cdecl CAllocStorageVariant::GetR4(unsigned int)const __ptr64 +?GetR4@CAllocStorageVariant@@QEBAMI@Z +; public: double __cdecl CAllocStorageVariant::GetR8(unsigned int)const __ptr64 +?GetR8@CAllocStorageVariant@@QEBANI@Z +; public: int __cdecl CMachineAdmin::GetSZParam(unsigned short const * __ptr64,unsigned short * __ptr64,unsigned long) __ptr64 +?GetSZParam@CMachineAdmin@@QEAAHPEBGPEAGK@Z +; long __cdecl GetScodeError(class CException & __ptr64) +?GetScodeError@@YAJAEAVCException@@@Z +; int __cdecl GetSecret(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short * __ptr64 * __ptr64,unsigned long * __ptr64) +?GetSecret@@YAHPEBG0PEAPEAGPEAK@Z +; public: unsigned long __cdecl CDriveInfo::GetSectorSize(void) __ptr64 +?GetSectorSize@CDriveInfo@@QEAAKXZ +; public: void __cdecl CCatState::GetSortProp(unsigned int,unsigned short const * __ptr64 * __ptr64,enum SORTDIR * __ptr64)const __ptr64 +?GetSortProp@CCatState@@QEBAXIPEAPEBGPEAW4SORTDIR@@@Z +; void __cdecl GetStackTrace(char * __ptr64,unsigned long) +?GetStackTrace@@YAXPEADK@Z +; public: unsigned char const * __ptr64 __cdecl CGenericCiProxy::GetStartupData(struct _GUID & __ptr64,unsigned long & __ptr64) __ptr64 +?GetStartupData@CGenericCiProxy@@QEAAPEBEAEAU_GUID@@AEAK@Z +; public: class PStorage & __ptr64 __cdecl CPropStoreManager::GetStorage(unsigned long) __ptr64 +?GetStorage@CPropStoreManager@@QEAAAEAVPStorage@@K@Z +; public: unsigned short * __ptr64 __cdecl CKey::GetStr(void)const __ptr64 +?GetStr@CKey@@QEBAPEAGXZ +; public: unsigned short * __ptr64 __cdecl CKeyBuf::GetStr(void)const __ptr64 +?GetStr@CKeyBuf@@QEBAPEAGXZ +; public: virtual char * __ptr64 __cdecl CMemDeSerStream::GetString(void) __ptr64 +?GetString@CMemDeSerStream@@UEAAPEADXZ +; class CDbRestriction * __ptr64 __cdecl GetStringDbRestriction(unsigned short const * __ptr64,unsigned long,struct IColumnMapper * __ptr64,unsigned long) +?GetStringDbRestriction@@YAPEAVCDbRestriction@@PEBGKPEAUIColumnMapper@@K@Z +; void __cdecl GetStringFromLCID(unsigned long,unsigned short * __ptr64) +?GetStringFromLCID@@YAXKPEAG@Z +; public: unsigned long __cdecl CPropStoreManager::GetTotalSizeInKB(void) __ptr64 +?GetTotalSizeInKB@CPropStoreManager@@QEAAKXZ +; public: unsigned long __cdecl CPropertyStore::GetTotalSizeInKB(void) __ptr64 +?GetTotalSizeInKB@CPropertyStore@@QEAAKXZ +; public: virtual unsigned long __cdecl CMemDeSerStream::GetULong(void) __ptr64 +?GetULong@CMemDeSerStream@@UEAAKXZ +; public: virtual unsigned short __cdecl CMemDeSerStream::GetUShort(void) __ptr64 +?GetUShort@CMemDeSerStream@@UEAAGXZ +; public: void __cdecl CIndexTable::GetUserHdrInfo(unsigned int & __ptr64,int & __ptr64) __ptr64 +?GetUserHdrInfo@CIndexTable@@QEAAXAEAIAEAH@Z +; public: unsigned long __cdecl CMetaDataMgr::GetVPathAccess(unsigned short const * __ptr64) __ptr64 +?GetVPathAccess@CMetaDataMgr@@QEAAKPEBG@Z +; public: unsigned long __cdecl CMetaDataMgr::GetVPathAuthorization(unsigned short const * __ptr64) __ptr64 +?GetVPathAuthorization@CMetaDataMgr@@QEAAKPEBG@Z +; public: unsigned long __cdecl CMetaDataMgr::GetVPathSSLAccess(unsigned short const * __ptr64) __ptr64 +?GetVPathSSLAccess@CMetaDataMgr@@QEAAKPEBG@Z +; public: unsigned short const * __ptr64 __cdecl CDriveInfo::GetVolumeName(int) __ptr64 +?GetVolumeName@CDriveInfo@@QEAAPEBGH@Z +; public: virtual void __cdecl CMemDeSerStream::GetWChar(unsigned short * __ptr64,unsigned long) __ptr64 +?GetWChar@CMemDeSerStream@@UEAAXPEAGK@Z +; public: virtual unsigned short * __ptr64 __cdecl CMemDeSerStream::GetWString(void) __ptr64 +?GetWString@CMemDeSerStream@@UEAAPEAGXZ +; public: long __cdecl CDbCmdTreeNode::GetWeight(void)const __ptr64 +?GetWeight@CDbCmdTreeNode@@QEBAJXZ +; public: void __cdecl CDynStream::Grow(class PStorage & __ptr64,unsigned long) __ptr64 +?Grow@CDynStream@@QEAAXAEAVPStorage@@K@Z +; private: void __cdecl CVirtualString::GrowBuffer(unsigned long) __ptr64 +?GrowBuffer@CVirtualString@@AEAAXK@Z +; void __cdecl HTMLEscapeW(unsigned short const * __ptr64,class CVirtualString & __ptr64,unsigned long) +?HTMLEscapeW@@YAXPEBGAEAVCVirtualString@@K@Z +; private: void __cdecl CImpersonateClient::Impersonate(void) __ptr64 +?Impersonate@CImpersonateClient@@AEAAXXZ +; public: void __cdecl CFileMapView::Init(void) __ptr64 +?Init@CFileMapView@@QEAAXXZ +; public: void __cdecl CMmStreamConsecBuf::Init(class PMmStream * __ptr64) __ptr64 +?Init@CMmStreamConsecBuf@@QEAAXPEAVPMmStream@@@Z +; public: int __cdecl CPidLookupTable::Init(class PRcovStorageObj * __ptr64) __ptr64 +?Init@CPidLookupTable@@QEAAHPEAVPRcovStorageObj@@@Z +; public: void __cdecl CRcovStorageHdr::Init(unsigned long) __ptr64 +?Init@CRcovStorageHdr@@QEAAXK@Z +; public: void __cdecl CRegChangeEvent::Init(void) __ptr64 +?Init@CRegChangeEvent@@QEAAXXZ +; public: int __cdecl CSdidLookupTable::Init(class CiStorage * __ptr64) __ptr64 +?Init@CSdidLookupTable@@QEAAHPEAVCiStorage@@@Z +; public: virtual void __cdecl CPropertyList::InitIterator(void) __ptr64 +?InitIterator@CPropertyList@@UEAAXXZ +; public: void __cdecl CImpersonationTokenCache::Initialize(unsigned short const * __ptr64,int,int,int,unsigned long,unsigned long,unsigned long) __ptr64 +?Initialize@CImpersonationTokenCache@@QEAAXPEBGHHHKKK@Z +; public: void __cdecl CDynStream::InitializeForRead(void) __ptr64 +?InitializeForRead@CDynStream@@QEAAXXZ +; public: void __cdecl CDynStream::InitializeForWrite(unsigned long) __ptr64 +?InitializeForWrite@CDynStream@@QEAAXK@Z +; protected: void __cdecl CDbCmdTreeNode::InsertChild(class CDbCmdTreeNode * __ptr64) __ptr64 +?InsertChild@CDbCmdTreeNode@@IEAAXPEAV1@@Z +; public: int __cdecl CMachineAdmin::IsCIEnabled(void) __ptr64 +?IsCIEnabled@CMachineAdmin@@QEAAHXZ +; public: int __cdecl CMachineAdmin::IsCIPaused(void) __ptr64 +?IsCIPaused@CMachineAdmin@@QEAAHXZ +; public: int __cdecl CMachineAdmin::IsCIStarted(void) __ptr64 +?IsCIStarted@CMachineAdmin@@QEAAHXZ +; public: int __cdecl CMachineAdmin::IsCIStopped(void) __ptr64 +?IsCIStopped@CMachineAdmin@@QEAAHXZ +; public: int __cdecl CCatalogAdmin::IsCatalogInactive(void) __ptr64 +?IsCatalogInactive@CCatalogAdmin@@QEAAHXZ +; int __cdecl IsDirectoryWritable(unsigned short const * __ptr64) +?IsDirectoryWritable@@YAHPEBG@Z +; public: static int __cdecl CMetaDataMgr::IsIISAdminUp(int & __ptr64) +?IsIISAdminUp@CMetaDataMgr@@SAHAEAH@Z +; public: static int __cdecl CImpersonateSystem::IsImpersonated(void) +?IsImpersonated@CImpersonateSystem@@SAHXZ +; public: int __cdecl CRestriction::IsLeaf(void)const __ptr64 +?IsLeaf@CRestriction@@QEBAHXZ +; int __cdecl IsNullPointerVariant(struct tagPROPVARIANT * __ptr64) +?IsNullPointerVariant@@YAHPEAUtagPROPVARIANT@@@Z +; public: int __cdecl CCatalogAdmin::IsPaused(void) __ptr64 +?IsPaused@CCatalogAdmin@@QEAAHXZ +; public: static int __cdecl CImpersonateSystem::IsRunningAsSystem(void) +?IsRunningAsSystem@CImpersonateSystem@@SAHXZ +; public: int __cdecl CDriveInfo::IsSameDrive(unsigned short const * __ptr64) __ptr64 +?IsSameDrive@CDriveInfo@@QEAAHPEBG@Z +; long __cdecl IsScopeValid(unsigned short const * __ptr64,unsigned int,int) +?IsScopeValid@@YAJPEBGIH@Z +; public: int __cdecl CCatalogAdmin::IsStarted(void) __ptr64 +?IsStarted@CCatalogAdmin@@QEAAHXZ +; public: int __cdecl CCatalogAdmin::IsStopped(void) __ptr64 +?IsStopped@CCatalogAdmin@@QEAAHXZ +; public: int __cdecl CAllocStorageVariant::IsValid(void)const __ptr64 +?IsValid@CAllocStorageVariant@@QEBAHXZ +; public: int __cdecl CNodeRestriction::IsValid(void)const __ptr64 +?IsValid@CNodeRestriction@@QEBAHXZ +; public: int __cdecl COccRestriction::IsValid(void)const __ptr64 +?IsValid@COccRestriction@@QEBAHXZ +; public: int __cdecl CRestriction::IsValid(void)const __ptr64 +?IsValid@CRestriction@@QEBAHXZ +; public: int __cdecl CFilterDaemon::IsWaitingForDocument(void) __ptr64 +?IsWaitingForDocument@CFilterDaemon@@QEAAHXZ +; public: int __cdecl CDriveInfo::IsWriteProtected(void) __ptr64 +?IsWriteProtected@CDriveInfo@@QEAAHXZ +; public: void __cdecl CLocalGlobalPropertyList::Load(unsigned short const * __ptr64 const) __ptr64 +?Load@CLocalGlobalPropertyList@@QEAAXQEBG@Z +; unsigned long __cdecl LocaleToCodepage(unsigned long) +?LocaleToCodepage@@YAKK@Z +; private: unsigned long __cdecl CPropertyStore::LokNewWorkId(unsigned long,int,int) __ptr64 +?LokNewWorkId@CPropertyStore@@AEAAKKHH@Z +; public: int __cdecl CCatStateInfo::LokUpdate(void) __ptr64 +?LokUpdate@CCatStateInfo@@QEAAHXZ +; public: void __cdecl CPropStoreManager::LongInit(int & __ptr64,unsigned long & __ptr64,void (__cdecl*)(unsigned long,int,void const * __ptr64),void const * __ptr64) __ptr64 +?LongInit@CPropStoreManager@@QEAAXAEAHAEAKP6AXKHPEBX@Z2@Z +; private: unsigned int __cdecl CPropStoreInfo::Lookup(unsigned long) __ptr64 +?Lookup@CPropStoreInfo@@AEAAIK@Z +; public: unsigned long __cdecl CSdidLookupTable::LookupSDID(void * __ptr64,unsigned long) __ptr64 +?LookupSDID@CSdidLookupTable@@QEAAKPEAXK@Z +; public: void __cdecl CPhysStorage::MakeBackupCopy(class CPhysStorage & __ptr64,class PSaveProgressTracker & __ptr64) __ptr64 +?MakeBackupCopy@CPhysStorage@@QEAAXAEAV1@AEAVPSaveProgressTracker@@@Z +; public: void __cdecl CPidLookupTable::MakeBackupCopy(class PRcovStorageObj & __ptr64,class PSaveProgressTracker & __ptr64) __ptr64 +?MakeBackupCopy@CPidLookupTable@@QEAAXAEAVPRcovStorageObj@@AEAVPSaveProgressTracker@@@Z +; public: void __cdecl CPropStoreManager::MakeBackupCopy(struct IProgressNotify * __ptr64,int & __ptr64,class CiStorage & __ptr64,struct ICiEnumWorkids * __ptr64,struct IEnumString * __ptr64 * __ptr64) __ptr64 +?MakeBackupCopy@CPropStoreManager@@QEAAXPEAUIProgressNotify@@AEAHAEAVCiStorage@@PEAUICiEnumWorkids@@PEAPEAUIEnumString@@@Z +; long __cdecl MakeICommand(struct IUnknown * __ptr64 * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,struct IUnknown * __ptr64) +?MakeICommand@@YAJPEAPEAUIUnknown@@PEBG1PEAU1@@Z +; long __cdecl MakeISearch(struct ISearchQueryHits * __ptr64 * __ptr64,class CDbRestriction * __ptr64,unsigned short const * __ptr64) +?MakeISearch@@YAJPEAPEAUISearchQueryHits@@PEAVCDbRestriction@@PEBG@Z +; long __cdecl MakeLocalICommand(struct IUnknown * __ptr64 * __ptr64,struct ICiCDocStore * __ptr64,struct IUnknown * __ptr64) +?MakeLocalICommand@@YAJPEAPEAUIUnknown@@PEAUICiCDocStore@@PEAU1@@Z +; long __cdecl MakeMetadataICommand(struct IUnknown * __ptr64 * __ptr64,enum CiMetaData,unsigned short const * __ptr64,unsigned short const * __ptr64,struct IUnknown * __ptr64) +?MakeMetadataICommand@@YAJPEAPEAUIUnknown@@W4CiMetaData@@PEBG2PEAU1@@Z +; public: void __cdecl CFullPath::MakePath(unsigned short const * __ptr64) __ptr64 +?MakePath@CFullPath@@QEAAXPEBG@Z +; public: void __cdecl CFullPath::MakePath(unsigned short const * __ptr64,unsigned int) __ptr64 +?MakePath@CFullPath@@QEAAXPEBGI@Z +; private: void __cdecl CImpersonateSystem::MakePrivileged(void) __ptr64 +?MakePrivileged@CImpersonateSystem@@AEAAXXZ +; public: void __cdecl CMmStreamConsecBuf::Map(unsigned long) __ptr64 +?Map@CMmStreamConsecBuf@@QEAAXK@Z +; public: int __cdecl CDynStream::MarkDirty(void) __ptr64 +?MarkDirty@CDynStream@@QEAAHXZ +; public: void __cdecl CBaseStorageVariant::Marshall(class PSerStream & __ptr64)const __ptr64 +?Marshall@CBaseStorageVariant@@QEBAXAEAVPSerStream@@@Z +; public: void __cdecl CContentRestriction::Marshall(class PSerStream & __ptr64)const __ptr64 +?Marshall@CContentRestriction@@QEBAXAEAVPSerStream@@@Z +; public: void __cdecl CDbCmdTreeNode::Marshall(class PSerStream & __ptr64)const __ptr64 +?Marshall@CDbCmdTreeNode@@QEBAXAEAVPSerStream@@@Z +; public: void __cdecl CFullPropSpec::Marshall(class PSerStream & __ptr64)const __ptr64 +?Marshall@CFullPropSpec@@QEBAXAEAVPSerStream@@@Z +; public: void __cdecl CNatLanguageRestriction::Marshall(class PSerStream & __ptr64)const __ptr64 +?Marshall@CNatLanguageRestriction@@QEBAXAEAVPSerStream@@@Z +; public: void __cdecl CNodeRestriction::Marshall(class PSerStream & __ptr64)const __ptr64 +?Marshall@CNodeRestriction@@QEBAXAEAVPSerStream@@@Z +; public: void __cdecl CNotRestriction::Marshall(class PSerStream & __ptr64)const __ptr64 +?Marshall@CNotRestriction@@QEBAXAEAVPSerStream@@@Z +; public: void __cdecl CPropNameArray::Marshall(class PSerStream & __ptr64)const __ptr64 +?Marshall@CPropNameArray@@QEBAXAEAVPSerStream@@@Z +; public: void __cdecl CPropertyRestriction::Marshall(class PSerStream & __ptr64)const __ptr64 +?Marshall@CPropertyRestriction@@QEBAXAEAVPSerStream@@@Z +; public: void __cdecl CRestriction::Marshall(class PSerStream & __ptr64)const __ptr64 +?Marshall@CRestriction@@QEBAXAEAVPSerStream@@@Z +; public: void __cdecl CVectorRestriction::Marshall(class PSerStream & __ptr64)const __ptr64 +?Marshall@CVectorRestriction@@QEBAXAEAVPSerStream@@@Z +; public: int __cdecl CBufferCache::MinPageInUse(unsigned long & __ptr64) __ptr64 +?MinPageInUse@CBufferCache@@QEAAHAEAK@Z +; public: int __cdecl CPhysStorage::MinPageInUse(unsigned long & __ptr64) __ptr64 +?MinPageInUse@CPhysStorage@@QEAAHAEAK@Z +; unsigned long __cdecl MultiByteToXArrayWideChar(unsigned char const * __ptr64,unsigned long,unsigned int,class XArray & __ptr64) +?MultiByteToXArrayWideChar@@YAKPEBEKIAEAV?$XArray@G@@@Z +; unsigned __int64 __cdecl My_wcstoui64(unsigned short const * __ptr64,unsigned short * __ptr64 * __ptr64,int) +?My_wcstoui64@@YA_KPEBGPEAPEAGH@Z +; public: unsigned long __cdecl CPidRemapper::NameToReal(class CFullPropSpec const * __ptr64) __ptr64 +?NameToReal@CPidRemapper@@QEAAKPEBVCFullPropSpec@@@Z +; public: static struct IStemmer * __ptr64 __cdecl CCiOle::NewStemmer(struct _GUID const & __ptr64) +?NewStemmer@CCiOle@@SAPEAUIStemmer@@AEBU_GUID@@@Z +; public: static struct IWordBreaker * __ptr64 __cdecl CCiOle::NewWordBreaker(struct _GUID const & __ptr64) +?NewWordBreaker@CCiOle@@SAPEAUIWordBreaker@@AEBU_GUID@@@Z +; public: int __cdecl CCatalogEnum::Next(void) __ptr64 +?Next@CCatalogEnum@@QEAAHXZ +; public: virtual long __cdecl CEnumString::Next(unsigned long,unsigned short * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64 +?Next@CEnumString@@UEAAJKPEAPEAGPEAK@Z +; public: virtual long __cdecl CEnumWorkid::Next(unsigned long,unsigned long * __ptr64,unsigned long * __ptr64) __ptr64 +?Next@CEnumWorkid@@UEAAJKPEAK0@Z +; public: virtual class CPropEntry const * __ptr64 __cdecl CPropertyList::Next(void) __ptr64 +?Next@CPropertyList@@UEAAPEBVCPropEntry@@XZ +; public: int __cdecl CScopeEnum::Next(void) __ptr64 +?Next@CScopeEnum@@QEAAHXZ +; public: unsigned long __cdecl CPropertyStoreWids::NextWorkId(void) __ptr64 +?NextWorkId@CPropertyStoreWids@@QEAAKXZ +; public: unsigned int __cdecl CCatState::NumberOfColumns(void)const __ptr64 +?NumberOfColumns@CCatState@@QEBAIXZ +; public: unsigned int __cdecl CCatState::NumberOfSortProps(void)const __ptr64 +?NumberOfSortProps@CCatState@@QEBAIXZ +; public: void __cdecl CMmStream::Open(unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned long,int) __ptr64 +?Open@CMmStream@@QEAAXPEBGKKKKH@Z +; public: int __cdecl COLEPropManager::Open(class CFunnyPath const & __ptr64) __ptr64 +?Open@COLEPropManager@@QEAAHAEBVCFunnyPath@@@Z +; public: void __cdecl CMmStream::OpenExclusive(unsigned short * __ptr64,int) __ptr64 +?OpenExclusive@CMmStream@@QEAAXPEAGH@Z +; struct _iobuf * __ptr64 __cdecl OpenFileFromPath(unsigned short const * __ptr64) +?OpenFileFromPath@@YAPEAU_iobuf@@PEBG@Z +; public: class CCompositePropRecord * __ptr64 __cdecl CPropStoreManager::OpenRecord(unsigned long,unsigned char * __ptr64) __ptr64 +?OpenRecord@CPropStoreManager@@QEAAPEAVCCompositePropRecord@@KPEAE@Z +; public: class CCompositePropRecordForWrites * __ptr64 __cdecl CPropStoreManager::OpenRecordForWrites(unsigned long,unsigned char * __ptr64) __ptr64 +?OpenRecordForWrites@CPropStoreManager@@QEAAPEAVCCompositePropRecordForWrites@@KPEAE@Z +; long __cdecl ParseCatalogURL(unsigned short const * __ptr64,class XPtrST & __ptr64,class XPtrST & __ptr64) +?ParseCatalogURL@@YAJPEBGAEAV?$XPtrST@G@@1@Z +; public: class CRestriction * __ptr64 __cdecl CParseCommandTree::ParseExpression(class CDbCmdTreeNode * __ptr64) __ptr64 +?ParseExpression@CParseCommandTree@@QEAAPEAVCRestriction@@PEAVCDbCmdTreeNode@@@Z +; public: static void __cdecl CPropertyList::ParseOneLine(class CQueryScanner & __ptr64,int,class XPtr & __ptr64) +?ParseOneLine@CPropertyList@@SAXAEAVCQueryScanner@@HAEAV?$XPtr@VCPropEntry@@@@@Z +; public: class CDbRestriction * __ptr64 __cdecl CQueryParser::ParseQueryPhrase(void) __ptr64 +?ParseQueryPhrase@CQueryParser@@QEAAPEAVCDbRestriction@@XZ +; class CDbColumns * __ptr64 __cdecl ParseStringColumns(unsigned short const * __ptr64,struct IColumnMapper * __ptr64,unsigned long,class PVariableSet * __ptr64,class CDynArray * __ptr64) +?ParseStringColumns@@YAPEAVCDbColumns@@PEBGPEAUIColumnMapper@@KPEAVPVariableSet@@PEAV?$CDynArray@G@@@Z +; public: int __cdecl CCatalogAdmin::Pause(void) __ptr64 +?Pause@CCatalogAdmin@@QEAAHXZ +; public: int __cdecl CMachineAdmin::PauseCI(void) __ptr64 +?PauseCI@CMachineAdmin@@QEAAHXZ +; public: virtual unsigned long __cdecl CMemDeSerStream::PeekULong(void) __ptr64 +?PeekULong@CMemDeSerStream@@UEAAKXZ +; public: unsigned long __cdecl CPidMapper::PidToRealPid(unsigned long) __ptr64 +?PidToRealPid@CPidMapper@@QEAAKK@Z +; public: unsigned long __cdecl CStandardPropMapper::PropertyToPropId(class CFullPropSpec const & __ptr64,int) __ptr64 +?PropertyToPropId@CStandardPropMapper@@QEAAKAEBVCFullPropSpec@@H@Z +; public: virtual long __cdecl CFwPropertyMapper::PropertyToPropid(struct tagFULLPROPSPEC const * __ptr64,int,unsigned long * __ptr64) __ptr64 +?PropertyToPropid@CFwPropertyMapper@@UEAAJPEBUtagFULLPROPSPEC@@HPEAK@Z +; public: void __cdecl CValueNormalizer::PutMaxValue(unsigned long,unsigned long & __ptr64,enum VARENUM) __ptr64 +?PutMaxValue@CValueNormalizer@@QEAAXKAEAKW4VARENUM@@@Z +; public: void __cdecl CValueNormalizer::PutMinValue(unsigned long,unsigned long & __ptr64,enum VARENUM) __ptr64 +?PutMinValue@CValueNormalizer@@QEAAXKAEAKW4VARENUM@@@Z +; public: void __cdecl CValueNormalizer::PutValue(unsigned long,unsigned long & __ptr64,class CStorageVariant const & __ptr64) __ptr64 +?PutValue@CValueNormalizer@@QEAAXKAEAKAEBVCStorageVariant@@@Z +; void __cdecl PutWString(class PSerStream & __ptr64,unsigned short const * __ptr64) +?PutWString@@YAXAEAVPSerStream@@PEBG@Z +; private: class CDbRestriction * __ptr64 __cdecl CQueryParser::Query(class CDbNodeRestriction * __ptr64) __ptr64 +?Query@CQueryParser@@AEAAPEAVCDbRestriction@@PEAVCDbNodeRestriction@@@Z +; public: class CCatalogAdmin * __ptr64 __cdecl CCatalogEnum::QueryCatalogAdmin(void) __ptr64 +?QueryCatalogAdmin@CCatalogEnum@@QEAAPEAVCCatalogAdmin@@XZ +; public: class CCatalogAdmin * __ptr64 __cdecl CMachineAdmin::QueryCatalogAdmin(unsigned short const * __ptr64) __ptr64 +?QueryCatalogAdmin@CMachineAdmin@@QEAAPEAVCCatalogAdmin@@PEBG@Z +; public: class CCatalogEnum * __ptr64 __cdecl CMachineAdmin::QueryCatalogEnum(void) __ptr64 +?QueryCatalogEnum@CMachineAdmin@@QEAAPEAVCCatalogEnum@@XZ +; public: virtual long __cdecl CDbProperties::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64 +?QueryInterface@CDbProperties@@UEAAJAEBU_GUID@@PEAPEAX@Z +; public: virtual long __cdecl CEmptyPropertyList::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64 +?QueryInterface@CEmptyPropertyList@@UEAAJAEBU_GUID@@PEAPEAX@Z +; public: virtual long __cdecl CEnumString::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64 +?QueryInterface@CEnumString@@UEAAJAEBU_GUID@@PEAPEAX@Z +; public: virtual long __cdecl CEnumWorkid::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64 +?QueryInterface@CEnumWorkid@@UEAAJAEBU_GUID@@PEAPEAX@Z +; public: virtual long __cdecl CFwPropertyMapper::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64 +?QueryInterface@CFwPropertyMapper@@UEAAJAEBU_GUID@@PEAPEAX@Z +; public: virtual long __cdecl CQueryUnknown::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64 +?QueryInterface@CQueryUnknown@@UEAAJAEBU_GUID@@PEAPEAX@Z +; public: class PRcovStorageObj * __ptr64 __cdecl CiStorage::QueryPidLookupTable(unsigned long) __ptr64 +?QueryPidLookupTable@CiStorage@@QEAAPEAVPRcovStorageObj@@K@Z +; public: class CScopeAdmin * __ptr64 __cdecl CCatalogAdmin::QueryScopeAdmin(unsigned short const * __ptr64) __ptr64 +?QueryScopeAdmin@CCatalogAdmin@@QEAAPEAVCScopeAdmin@@PEBG@Z +; public: class CScopeAdmin * __ptr64 __cdecl CScopeEnum::QueryScopeAdmin(void) __ptr64 +?QueryScopeAdmin@CScopeEnum@@QEAAPEAVCScopeAdmin@@XZ +; public: class CScopeEnum * __ptr64 __cdecl CCatalogAdmin::QueryScopeEnum(void) __ptr64 +?QueryScopeEnum@CCatalogAdmin@@QEAAPEAVCScopeEnum@@XZ +; public: class PRcovStorageObj * __ptr64 __cdecl CiStorage::QueryScopeList(unsigned long) __ptr64 +?QueryScopeList@CiStorage@@QEAAPEAVPRcovStorageObj@@K@Z +; public: class PRcovStorageObj * __ptr64 __cdecl CiStorage::QuerySdidLookupTable(unsigned long) __ptr64 +?QuerySdidLookupTable@CiStorage@@QEAAPEAVPRcovStorageObj@@K@Z +; public: class PRcovStorageObj * __ptr64 __cdecl CiStorage::QueryVirtualScopeList(unsigned long) __ptr64 +?QueryVirtualScopeList@CiStorage@@QEAAPEAVPRcovStorageObj@@K@Z +; public: void __cdecl CPidRemapper::ReBuild(class CPidMapper const & __ptr64) __ptr64 +?ReBuild@CPidRemapper@@QEAAXAEBVCPidMapper@@@Z +; public: void __cdecl CQueryUnknown::ReInit(unsigned long,class CRowset * __ptr64 * __ptr64) __ptr64 +?ReInit@CQueryUnknown@@QEAAXKPEAPEAVCRowset@@@Z +; public: void __cdecl CImpersonationTokenCache::ReInitializeIISScopes(void) __ptr64 +?ReInitializeIISScopes@CImpersonationTokenCache@@QEAAXXZ +; private: virtual void __cdecl CPhysIndex::ReOpenStream(void) __ptr64 +?ReOpenStream@CPhysIndex@@EEAAXXZ +; public: unsigned long __cdecl CDynStream::Read(void * __ptr64,unsigned long) __ptr64 +?Read@CDynStream@@QEAAKPEAXK@Z +; public: unsigned long __cdecl CRcovStrmTrans::Read(void * __ptr64,unsigned long) __ptr64 +?Read@CRcovStrmTrans@@QEAAKPEAXK@Z +; public: unsigned long __cdecl CRegAccess::Read(unsigned short const * __ptr64,unsigned long) __ptr64 +?Read@CRegAccess@@QEAAKPEBGK@Z +; public: unsigned short * __ptr64 __cdecl CRegAccess::Read(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64 +?Read@CRegAccess@@QEAAPEAGPEBG0@Z +; public: int __cdecl CPropStoreManager::ReadPrimaryProperty(unsigned long,unsigned long,struct tagPROPVARIANT & __ptr64) __ptr64 +?ReadPrimaryProperty@CPropStoreManager@@QEAAHKKAEAUtagPROPVARIANT@@@Z +; public: int __cdecl COLEPropManager::ReadProperty(class CFullPropSpec const & __ptr64,struct tagPROPVARIANT & __ptr64) __ptr64 +?ReadProperty@COLEPropManager@@QEAAHAEBVCFullPropSpec@@AEAUtagPROPVARIANT@@@Z +; public: int __cdecl CPropStoreManager::ReadProperty(class CCompositePropRecord & __ptr64,unsigned long,struct tagPROPVARIANT & __ptr64) __ptr64 +?ReadProperty@CPropStoreManager@@QEAAHAEAVCCompositePropRecord@@KAEAUtagPROPVARIANT@@@Z +; public: int __cdecl CPropStoreManager::ReadProperty(class CCompositePropRecord & __ptr64,unsigned long,struct tagPROPVARIANT & __ptr64,unsigned char * __ptr64,unsigned int * __ptr64) __ptr64 +?ReadProperty@CPropStoreManager@@QEAAHAEAVCCompositePropRecord@@KAEAUtagPROPVARIANT@@PEAEPEAI@Z +; public: int __cdecl CPropStoreManager::ReadProperty(class CCompositePropRecord & __ptr64,unsigned long,struct tagPROPVARIANT * __ptr64,unsigned int * __ptr64) __ptr64 +?ReadProperty@CPropStoreManager@@QEAAHAEAVCCompositePropRecord@@KPEAUtagPROPVARIANT@@PEAI@Z +; public: int __cdecl CPropStoreManager::ReadProperty(unsigned long,unsigned long,struct tagPROPVARIANT & __ptr64) __ptr64 +?ReadProperty@CPropStoreManager@@QEAAHKKAEAUtagPROPVARIANT@@@Z +; public: int __cdecl CPropStoreManager::ReadProperty(unsigned long,unsigned long,struct tagPROPVARIANT & __ptr64,unsigned char * __ptr64,unsigned int * __ptr64) __ptr64 +?ReadProperty@CPropStoreManager@@QEAAHKKAEAUtagPROPVARIANT@@PEAEPEAI@Z +; public: int __cdecl CPropStoreManager::ReadProperty(unsigned long,unsigned long,struct tagPROPVARIANT * __ptr64,unsigned int * __ptr64) __ptr64 +?ReadProperty@CPropStoreManager@@QEAAHKKPEAUtagPROPVARIANT@@PEAI@Z +; public: int __cdecl CPropertyStore::ReadProperty(class CPropRecordNoLock & __ptr64,unsigned long,struct tagPROPVARIANT * __ptr64,unsigned int * __ptr64) __ptr64 +?ReadProperty@CPropertyStore@@QEAAHAEAVCPropRecordNoLock@@KPEAUtagPROPVARIANT@@PEAI@Z +; public: int __cdecl CPropertyStore::ReadProperty(unsigned long,unsigned long,struct tagPROPVARIANT & __ptr64) __ptr64 +?ReadProperty@CPropertyStore@@QEAAHKKAEAUtagPROPVARIANT@@@Z +; public: unsigned char __cdecl CDFA::Recognize(unsigned short const * __ptr64) __ptr64 +?Recognize@CDFA@@QEAAEPEBG@Z +; public: void __cdecl CCiRegParams::Refresh(struct ICiAdminParams * __ptr64,int) __ptr64 +?Refresh@CCiRegParams@@QEAAXPEAUICiAdminParams@@H@Z +; public: void __cdecl CDefColumnRegEntry::Refresh(int) __ptr64 +?Refresh@CDefColumnRegEntry@@QEAAXH@Z +; public: void __cdecl CWorkQueue::RefreshParams(unsigned long,unsigned long) __ptr64 +?RefreshParams@CWorkQueue@@QEAAXKK@Z +; public: virtual unsigned long __cdecl CDbProperties::Release(void) __ptr64 +?Release@CDbProperties@@UEAAKXZ +; public: virtual unsigned long __cdecl CEmptyPropertyList::Release(void) __ptr64 +?Release@CEmptyPropertyList@@UEAAKXZ +; public: virtual unsigned long __cdecl CEnumString::Release(void) __ptr64 +?Release@CEnumString@@UEAAKXZ +; public: virtual unsigned long __cdecl CEnumWorkid::Release(void) __ptr64 +?Release@CEnumWorkid@@UEAAKXZ +; public: virtual unsigned long __cdecl CFwPropertyMapper::Release(void) __ptr64 +?Release@CFwPropertyMapper@@UEAAKXZ +; public: void __cdecl CImpersonateRemoteAccess::Release(void) __ptr64 +?Release@CImpersonateRemoteAccess@@QEAAXXZ +; public: virtual unsigned long __cdecl CQueryUnknown::Release(void) __ptr64 +?Release@CQueryUnknown@@UEAAKXZ +; public: void __cdecl CWorkQueue::Release(class CWorkThread * __ptr64) __ptr64 +?Release@CWorkQueue@@QEAAXPEAVCWorkThread@@@Z +; private: void __cdecl CPropertyStore::ReleaseRead(class CReadWriteLockRecord & __ptr64) __ptr64 +?ReleaseRead@CPropertyStore@@AEAAXAEAVCReadWriteLockRecord@@@Z +; public: void __cdecl CWorkQueue::ReleaseWorkThreads(void) __ptr64 +?ReleaseWorkThreads@CWorkQueue@@QEAAXXZ +; public: void __cdecl CColumns::Remove(unsigned int) __ptr64 +?Remove@CColumns@@QEAAXI@Z +; public: void __cdecl CDbSortSet::Remove(unsigned int) __ptr64 +?Remove@CDbSortSet@@QEAAXI@Z +; public: void __cdecl CSort::Remove(unsigned int) __ptr64 +?Remove@CSort@@QEAAXI@Z +; private: void __cdecl CWorkQueue::Remove(class CWorkThread & __ptr64) __ptr64 +?Remove@CWorkQueue@@AEAAXAEAVCWorkThread@@@Z +; public: void __cdecl CWorkQueue::Remove(class PWorkItem * __ptr64) __ptr64 +?Remove@CWorkQueue@@QEAAXPEAVPWorkItem@@@Z +; public: void __cdecl CMachineAdmin::RemoveCatalog(unsigned short const * __ptr64,int) __ptr64 +?RemoveCatalog@CMachineAdmin@@QEAAXPEBGH@Z +; public: void __cdecl CMachineAdmin::RemoveCatalogFiles(unsigned short const * __ptr64) __ptr64 +?RemoveCatalogFiles@CMachineAdmin@@QEAAXPEBG@Z +; public: class CRestriction * __ptr64 __cdecl CNodeRestriction::RemoveChild(unsigned int) __ptr64 +?RemoveChild@CNodeRestriction@@QEAAPEAVCRestriction@@I@Z +; protected: class CDbCmdTreeNode * __ptr64 __cdecl CDbCmdTreeNode::RemoveFirstChild(void) __ptr64 +?RemoveFirstChild@CDbCmdTreeNode@@IEAAPEAV1@XZ +; public: void __cdecl CCatalogAdmin::RemoveScope(unsigned short const * __ptr64) __ptr64 +?RemoveScope@CCatalogAdmin@@QEAAXPEBG@Z +; public: void __cdecl CPhysStorage::Reopen(int) __ptr64 +?Reopen@CPhysStorage@@QEAAXH@Z +; public: void __cdecl CEventLog::ReportEventW(class CEventItem & __ptr64) __ptr64 +?ReportEventW@CEventLog@@QEAAXAEAVCEventItem@@@Z +; public: void __cdecl CFwEventItem::ReportEventW(struct ICiCAdviseStatus & __ptr64) __ptr64 +?ReportEventW@CFwEventItem@@QEAAXAEAUICiCAdviseStatus@@@Z +; public: int __cdecl CPhysStorage::RequiresFlush(unsigned long) __ptr64 +?RequiresFlush@CPhysStorage@@QEAAHK@Z +; public: void __cdecl CRegChangeEvent::Reset(void) __ptr64 +?Reset@CRegChangeEvent@@QEAAXXZ +; public: void __cdecl CQueryScanner::ResetBuffer(unsigned short const * __ptr64) __ptr64 +?ResetBuffer@CQueryScanner@@QEAAXPEBG@Z +; protected: void __cdecl CAllocStorageVariant::ResetType(class PMemoryAllocator & __ptr64) __ptr64 +?ResetType@CAllocStorageVariant@@IEAAXAEAVPMemoryAllocator@@@Z +; public: void __cdecl CProcess::Resume(void) __ptr64 +?Resume@CProcess@@QEAAXXZ +; public: void __cdecl CPhysStorage::ReturnBuffer(unsigned long,int,int) __ptr64 +?ReturnBuffer@CPhysStorage@@QEAAXKHH@Z +; public: void __cdecl CMmStreamConsecBuf::Rewind(void) __ptr64 +?Rewind@CMmStreamConsecBuf@@QEAAXXZ +; unsigned long __cdecl SaComputeSize(unsigned short,struct tagSAFEARRAY & __ptr64) +?SaComputeSize@@YAKGAEAUtagSAFEARRAY@@@Z +; int __cdecl SaCreateAndCopy(class PMemoryAllocator & __ptr64,struct tagSAFEARRAY * __ptr64,struct tagSAFEARRAY * __ptr64 * __ptr64) +?SaCreateAndCopy@@YAHAEAVPMemoryAllocator@@PEAUtagSAFEARRAY@@PEAPEAU2@@Z +; int __cdecl SaCreateData(class PVarAllocator & __ptr64,unsigned short,struct tagSAFEARRAY & __ptr64,struct tagSAFEARRAY & __ptr64,int) +?SaCreateData@@YAHAEAVPVarAllocator@@GAEAUtagSAFEARRAY@@1H@Z +; public: int __cdecl CRcovStrmTrans::Seek(unsigned long) __ptr64 +?Seek@CRcovStrmTrans@@QEAAHK@Z +; public: void __cdecl CDbQueryResults::Serialize(class PSerStream & __ptr64)const __ptr64 +?Serialize@CDbQueryResults@@QEBAXAEAVPSerStream@@@Z +; public: void __cdecl CPidRemapper::Set(class XArray & __ptr64) __ptr64 +?Set@CPidRemapper@@QEAAXAEAV?$XArray@K@@@Z +; public: void __cdecl CScopeAdmin::SetAlias(unsigned short const * __ptr64) __ptr64 +?SetAlias@CScopeAdmin@@QEAAXPEBG@Z +; public: void __cdecl CStorageVariant::SetBOOL(short,unsigned int) __ptr64 +?SetBOOL@CStorageVariant@@QEAAXFI@Z +; public: void __cdecl CAllocStorageVariant::SetBSTR(unsigned short * __ptr64,class PMemoryAllocator & __ptr64) __ptr64 +?SetBSTR@CAllocStorageVariant@@QEAAXPEAGAEAVPMemoryAllocator@@@Z +; public: void __cdecl CStorageVariant::SetBSTR(unsigned short * __ptr64,unsigned int) __ptr64 +?SetBSTR@CStorageVariant@@QEAAXPEAGI@Z +; public: void __cdecl CPropStoreManager::SetBackupSize(unsigned long,unsigned long) __ptr64 +?SetBackupSize@CPropStoreManager@@QEAAXKK@Z +; public: void __cdecl CCatState::SetCD(unsigned short const * __ptr64) __ptr64 +?SetCD@CCatState@@QEAAXPEBG@Z +; public: void __cdecl CStorageVariant::SetCLSID(struct _GUID const * __ptr64) __ptr64 +?SetCLSID@CStorageVariant@@QEAAXPEBU_GUID@@@Z +; public: void __cdecl CStorageVariant::SetCLSID(struct _GUID,unsigned int) __ptr64 +?SetCLSID@CStorageVariant@@QEAAXU_GUID@@I@Z +; public: void __cdecl CStorageVariant::SetCY(union tagCY,unsigned int) __ptr64 +?SetCY@CStorageVariant@@QEAAXTtagCY@@I@Z +; public: void __cdecl CCatState::SetCatalog(unsigned short const * __ptr64) __ptr64 +?SetCatalog@CCatState@@QEAAXPEBG@Z +; public: void __cdecl CCatState::SetColumn(unsigned short const * __ptr64,unsigned int) __ptr64 +?SetColumn@CCatState@@QEAAXPEBGI@Z +; private: void __cdecl CQueryParser::SetCurrentProperty(unsigned short const * __ptr64,enum PropertyType) __ptr64 +?SetCurrentProperty@CQueryParser@@AEAAXPEBGW4PropertyType@@@Z +; public: void __cdecl CStorageVariant::SetDATE(double,unsigned int) __ptr64 +?SetDATE@CStorageVariant@@QEAAXNI@Z +; public: void __cdecl CCatalogAdmin::SetDWORDParam(unsigned short const * __ptr64,unsigned long) __ptr64 +?SetDWORDParam@CCatalogAdmin@@QEAAXPEBGK@Z +; public: void __cdecl CMachineAdmin::SetDWORDParam(unsigned short const * __ptr64,unsigned long) __ptr64 +?SetDWORDParam@CMachineAdmin@@QEAAXPEBGK@Z +; public: void __cdecl CCatState::SetDefaultProperty(unsigned short const * __ptr64) __ptr64 +?SetDefaultProperty@CCatState@@QEAAXPEBG@Z +; public: void __cdecl CScopeAdmin::SetExclude(int) __ptr64 +?SetExclude@CScopeAdmin@@QEAAXH@Z +; public: void __cdecl CStorageVariant::SetFILETIME(struct _FILETIME,unsigned int) __ptr64 +?SetFILETIME@CStorageVariant@@QEAAXU_FILETIME@@I@Z +; public: void __cdecl CStorageVariant::SetI2(short,unsigned int) __ptr64 +?SetI2@CStorageVariant@@QEAAXFI@Z +; public: void __cdecl CStorageVariant::SetI4(long,unsigned int) __ptr64 +?SetI4@CStorageVariant@@QEAAXJI@Z +; public: void __cdecl CStorageVariant::SetI8(union _LARGE_INTEGER,unsigned int) __ptr64 +?SetI8@CStorageVariant@@QEAAXT_LARGE_INTEGER@@I@Z +; public: void __cdecl CStorageVariant::SetLPSTR(char const * __ptr64,unsigned int) __ptr64 +?SetLPSTR@CStorageVariant@@QEAAXPEBDI@Z +; public: void __cdecl CStorageVariant::SetLPWSTR(unsigned short const * __ptr64,unsigned int) __ptr64 +?SetLPWSTR@CStorageVariant@@QEAAXPEBGI@Z +; public: void __cdecl CCatState::SetLocale(unsigned short const * __ptr64) __ptr64 +?SetLocale@CCatState@@QEAAXPEBG@Z +; public: void __cdecl CScopeAdmin::SetLogonInfo(unsigned short const * __ptr64,unsigned short const * __ptr64,class CCatalogAdmin & __ptr64) __ptr64 +?SetLogonInfo@CScopeAdmin@@QEAAXPEBG0AEAVCCatalogAdmin@@@Z +; public: void __cdecl CPropStoreManager::SetMappedCacheSize(unsigned long,unsigned long) __ptr64 +?SetMappedCacheSize@CPropStoreManager@@QEAAXKK@Z +; public: void __cdecl CCatState::SetNumberOfColumns(unsigned int) __ptr64 +?SetNumberOfColumns@CCatState@@QEAAXI@Z +; public: void __cdecl CCatState::SetNumberOfSortProps(unsigned int) __ptr64 +?SetNumberOfSortProps@CCatState@@QEAAXI@Z +; public: void __cdecl CScopeAdmin::SetPath(unsigned short const * __ptr64) __ptr64 +?SetPath@CScopeAdmin@@QEAAXPEBG@Z +; public: void __cdecl CContentRestriction::SetPhrase(unsigned short const * __ptr64) __ptr64 +?SetPhrase@CContentRestriction@@QEAAXPEBG@Z +; public: void __cdecl CNatLanguageRestriction::SetPhrase(unsigned short const * __ptr64) __ptr64 +?SetPhrase@CNatLanguageRestriction@@QEAAXPEBG@Z +; public: void __cdecl CGenericCiProxy::SetPriority(unsigned long,unsigned long) __ptr64 +?SetPriority@CGenericCiProxy@@QEAAXKK@Z +; public: virtual long __cdecl CDbProperties::SetProperties(unsigned long,struct tagDBPROPSET * __ptr64 const) __ptr64 +?SetProperties@CDbProperties@@UEAAJKQEAUtagDBPROPSET@@@Z +; public: int __cdecl CDbColId::SetProperty(unsigned short const * __ptr64) __ptr64 +?SetProperty@CDbColId@@QEAAHPEBG@Z +; public: int __cdecl CDbPropBaseRestriction::SetProperty(struct tagDBID const & __ptr64) __ptr64 +?SetProperty@CDbPropBaseRestriction@@QEAAHAEBUtagDBID@@@Z +; public: int __cdecl CDbPropBaseRestriction::SetProperty(class CDbColumnNode const & __ptr64) __ptr64 +?SetProperty@CDbPropBaseRestriction@@QEAAHAEBVCDbColumnNode@@@Z +; public: int __cdecl CFullPropSpec::SetProperty(unsigned short const * __ptr64) __ptr64 +?SetProperty@CFullPropSpec@@QEAAHPEBG@Z +; public: void __cdecl CFullPropSpec::SetProperty(unsigned long) __ptr64 +?SetProperty@CFullPropSpec@@QEAAXK@Z +; public: void __cdecl CStorageVariant::SetR4(float,unsigned int) __ptr64 +?SetR4@CStorageVariant@@QEAAXMI@Z +; public: void __cdecl CStorageVariant::SetR8(double,unsigned int) __ptr64 +?SetR8@CStorageVariant@@QEAAXNI@Z +; public: int __cdecl CDbSelectNode::SetRestriction(class CDbCmdTreeNode * __ptr64) __ptr64 +?SetRestriction@CDbSelectNode@@QEAAHPEAVCDbCmdTreeNode@@@Z +; public: static void __cdecl CImpersonateSystem::SetRunningAsSystem(void) +?SetRunningAsSystem@CImpersonateSystem@@SAXXZ +; public: void __cdecl CMachineAdmin::SetSZParam(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64 +?SetSZParam@CMachineAdmin@@QEAAXPEBG0K@Z +; void __cdecl SetScopeProperties(struct ICommand * __ptr64,unsigned int,unsigned short const * __ptr64 const * __ptr64,unsigned long const * __ptr64,unsigned short const * __ptr64 const * __ptr64,unsigned short const * __ptr64 const * __ptr64) +?SetScopeProperties@@YAXPEAUICommand@@IPEBQEBGPEBK11@Z +; long __cdecl SetScopePropertiesNoThrow(struct ICommand * __ptr64,unsigned int,unsigned short const * __ptr64 const * __ptr64,unsigned long const * __ptr64,unsigned short const * __ptr64 const * __ptr64,unsigned short const * __ptr64 const * __ptr64) +?SetScopePropertiesNoThrow@@YAJPEAUICommand@@IPEBQEBGPEBK11@Z +; void __cdecl SetSecret(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long) +?SetSecret@@YAXPEBG00K@Z +; public: void __cdecl CCatState::SetSortProp(unsigned short const * __ptr64,enum SORTDIR,unsigned int) __ptr64 +?SetSortProp@CCatState@@QEAAXPEBGW4SORTDIR@@I@Z +; public: void __cdecl CStorageVariant::SetUI1(unsigned char,unsigned int) __ptr64 +?SetUI1@CStorageVariant@@QEAAXEI@Z +; public: void __cdecl CStorageVariant::SetUI2(unsigned short,unsigned int) __ptr64 +?SetUI2@CStorageVariant@@QEAAXGI@Z +; public: void __cdecl CStorageVariant::SetUI4(unsigned long,unsigned int) __ptr64 +?SetUI4@CStorageVariant@@QEAAXKI@Z +; public: void __cdecl CStorageVariant::SetUI8(union _ULARGE_INTEGER,unsigned int) __ptr64 +?SetUI8@CStorageVariant@@QEAAXT_ULARGE_INTEGER@@I@Z +; public: void __cdecl CPropertyRestriction::SetValue(struct tagBLOB & __ptr64) __ptr64 +?SetValue@CPropertyRestriction@@QEAAXAEAUtagBLOB@@@Z +; public: void __cdecl CPropertyRestriction::SetValue(unsigned short * __ptr64) __ptr64 +?SetValue@CPropertyRestriction@@QEAAXPEAG@Z +; public: void __cdecl CPropertyRestriction::SetValue(struct _GUID * __ptr64) __ptr64 +?SetValue@CPropertyRestriction@@QEAAXPEAU_GUID@@@Z +; public: void __cdecl CDbCmdTreeNode::SetWeight(long) __ptr64 +?SetWeight@CDbCmdTreeNode@@QEAAXJ@Z +; public: void __cdecl CPropStoreManager::Setup(unsigned long,unsigned long,unsigned long,unsigned __int64,int,unsigned long) __ptr64 +?Setup@CPropStoreManager@@QEAAXKKK_KHK@Z +; public: void __cdecl CDynStream::Shrink(class PStorage & __ptr64,unsigned long) __ptr64 +?Shrink@CDynStream@@QEAAXAEAVPStorage@@K@Z +; public: unsigned long __cdecl CPhysStorage::ShrinkFromFront(unsigned long,unsigned long) __ptr64 +?ShrinkFromFront@CPhysStorage@@QEAAKKK@Z +; public: void __cdecl CPhysStorage::ShrinkToFit(void) __ptr64 +?ShrinkToFit@CPhysStorage@@QEAAXXZ +; public: static void __cdecl CCiOle::Shutdown(void) +?Shutdown@CCiOle@@SAXXZ +; public: void __cdecl CPropStoreManager::Shutdown(void) __ptr64 +?Shutdown@CPropStoreManager@@QEAAXXZ +; public: void __cdecl CWorkQueue::Shutdown(void) __ptr64 +?Shutdown@CWorkQueue@@QEAAXXZ +; public: unsigned long __cdecl CDbQueryResults::Size(void) __ptr64 +?Size@CDbQueryResults@@QEAAKXZ +; public: virtual long __cdecl CEnumString::Skip(unsigned long) __ptr64 +?Skip@CEnumString@@UEAAJK@Z +; public: virtual long __cdecl CEnumWorkid::Skip(unsigned long) __ptr64 +?Skip@CEnumWorkid@@UEAAJK@Z +; public: virtual void __cdecl CMemDeSerStream::SkipBlob(unsigned long) __ptr64 +?SkipBlob@CMemDeSerStream@@UEAAXK@Z +; public: virtual void __cdecl CMemDeSerStream::SkipByte(void) __ptr64 +?SkipByte@CMemDeSerStream@@UEAAXXZ +; public: virtual void __cdecl CMemDeSerStream::SkipChar(unsigned long) __ptr64 +?SkipChar@CMemDeSerStream@@UEAAXK@Z +; public: virtual void __cdecl CMemDeSerStream::SkipDouble(void) __ptr64 +?SkipDouble@CMemDeSerStream@@UEAAXXZ +; public: virtual void __cdecl CMemDeSerStream::SkipFloat(void) __ptr64 +?SkipFloat@CMemDeSerStream@@UEAAXXZ +; public: virtual void __cdecl CMemDeSerStream::SkipGUID(void) __ptr64 +?SkipGUID@CMemDeSerStream@@UEAAXXZ +; public: virtual void __cdecl CMemDeSerStream::SkipLong(void) __ptr64 +?SkipLong@CMemDeSerStream@@UEAAXXZ +; public: virtual void __cdecl CMemDeSerStream::SkipULong(void) __ptr64 +?SkipULong@CMemDeSerStream@@UEAAXXZ +; public: virtual void __cdecl CMemDeSerStream::SkipUShort(void) __ptr64 +?SkipUShort@CMemDeSerStream@@UEAAXXZ +; public: virtual void __cdecl CMemDeSerStream::SkipWChar(unsigned long) __ptr64 +?SkipWChar@CMemDeSerStream@@UEAAXK@Z +; public: int __cdecl CCatalogAdmin::Start(void) __ptr64 +?Start@CCatalogAdmin@@QEAAHXZ +; public: int __cdecl CMachineAdmin::StartCI(void) __ptr64 +?StartCI@CMachineAdmin@@QEAAHXZ +; public: int __cdecl CCatalogAdmin::Stop(void) __ptr64 +?Stop@CCatalogAdmin@@QEAAHXZ +; public: int __cdecl CMachineAdmin::StopCI(void) __ptr64 +?StopCI@CMachineAdmin@@QEAAHXZ +; public: void __cdecl CFilterDaemon::StopFiltering(void) __ptr64 +?StopFiltering@CFilterDaemon@@QEAAXXZ +; public: unsigned int __cdecl CKey::StrLen(void)const __ptr64 +?StrLen@CKey@@QEBAIXZ +; public: unsigned int __cdecl CKeyBuf::StrLen(void)const __ptr64 +?StrLen@CKeyBuf@@QEBAIXZ +; void __cdecl SystemExceptionTranslator(unsigned int,struct _EXCEPTION_POINTERS * __ptr64) +?SystemExceptionTranslator@@YAXIPEAU_EXCEPTION_POINTERS@@@Z +; public: unsigned long __cdecl CRestriction::TreeCount(void)const __ptr64 +?TreeCount@CRestriction@@QEBAKXZ +; public: void __cdecl CMachineAdmin::TunePerformance(int,unsigned short,unsigned short) __ptr64 +?TunePerformance@CMachineAdmin@@QEAAXHGG@Z +; void __cdecl URLEscapeW(unsigned short const * __ptr64,class CVirtualString & __ptr64,unsigned long,int) +?URLEscapeW@@YAXPEBGAEAVCVirtualString@@KH@Z +; public: int __cdecl CDbProperties::UnMarshall(class PDeSerStream & __ptr64) __ptr64 +?UnMarshall@CDbProperties@@QEAAHAEAVPDeSerStream@@@Z +; public: static class CRestriction * __ptr64 __cdecl CRestriction::UnMarshall(class PDeSerStream & __ptr64) +?UnMarshall@CRestriction@@SAPEAV1@AEAVPDeSerStream@@@Z +; public: static class CDbCmdTreeNode * __ptr64 __cdecl CDbCmdTreeNode::UnMarshallTree(class PDeSerStream & __ptr64) +?UnMarshallTree@CDbCmdTreeNode@@SAPEAV1@AEAVPDeSerStream@@@Z +; void __cdecl UnPickle(int,class XPtr & __ptr64,class XPtr & __ptr64,class XPtr & __ptr64,class XPtr & __ptr64,class CRowsetProperties & __ptr64,class XPtr & __ptr64,unsigned char * __ptr64,unsigned long) +?UnPickle@@YAXHAEAV?$XPtr@VCColumnSet@@@@AEAV?$XPtr@VCRestriction@@@@AEAV?$XPtr@VCSortSet@@@@AEAV?$XPtr@VCCategorizationSet@@@@AEAVCRowsetProperties@@AEAV?$XPtr@VCPidMapper@@@@PEAEK@Z +; protected: void __cdecl CRcovStrmTrans::Unmap(enum CRcovStorageHdr::DataCopyNum) __ptr64 +?Unmap@CRcovStrmTrans@@IEAAXW4DataCopyNum@CRcovStorageHdr@@@Z +; unsigned long __cdecl UpdateContentIndex(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,int) +?UpdateContentIndex@@YAKPEBG00H@Z +; public: void __cdecl CDiskFreeStatus::UpdateDiskLowInfo(void) __ptr64 +?UpdateDiskLowInfo@CDiskFreeStatus@@QEAAXXZ +; int __cdecl VT_VARIANT_EQ(struct tagPROPVARIANT const & __ptr64,struct tagPROPVARIANT const & __ptr64) +?VT_VARIANT_EQ@@YAHAEBUtagPROPVARIANT@@0@Z +; int __cdecl VT_VARIANT_GE(struct tagPROPVARIANT const & __ptr64,struct tagPROPVARIANT const & __ptr64) +?VT_VARIANT_GE@@YAHAEBUtagPROPVARIANT@@0@Z +; int __cdecl VT_VARIANT_GT(struct tagPROPVARIANT const & __ptr64,struct tagPROPVARIANT const & __ptr64) +?VT_VARIANT_GT@@YAHAEBUtagPROPVARIANT@@0@Z +; int __cdecl VT_VARIANT_LE(struct tagPROPVARIANT const & __ptr64,struct tagPROPVARIANT const & __ptr64) +?VT_VARIANT_LE@@YAHAEBUtagPROPVARIANT@@0@Z +; int __cdecl VT_VARIANT_LT(struct tagPROPVARIANT const & __ptr64,struct tagPROPVARIANT const & __ptr64) +?VT_VARIANT_LT@@YAHAEBUtagPROPVARIANT@@0@Z +; int __cdecl VT_VARIANT_NE(struct tagPROPVARIANT const & __ptr64,struct tagPROPVARIANT const & __ptr64) +?VT_VARIANT_NE@@YAHAEBUtagPROPVARIANT@@0@Z +; int __cdecl ValidateScopeRestriction(class CRestriction * __ptr64) +?ValidateScopeRestriction@@YAHPEAVCRestriction@@@Z +; public: void __cdecl PRcovStorageObj::VerifyConsistency(void) __ptr64 +?VerifyConsistency@PRcovStorageObj@@QEAAXXZ +; void __cdecl VerifyThreadHasAdminPrivilege(void) +?VerifyThreadHasAdminPrivilege@@YAXXZ +; unsigned long __cdecl WideCharToXArrayMultiByte(unsigned short const * __ptr64,unsigned long,unsigned int,class XArray & __ptr64) +?WideCharToXArrayMultiByte@@YAKPEBGKIAEAV?$XArray@E@@@Z +; public: void __cdecl CDynStream::Write(void * __ptr64,unsigned long) __ptr64 +?Write@CDynStream@@QEAAXPEAXK@Z +; protected: void __cdecl CRcovStrmTrans::Write(void const * __ptr64,unsigned long) __ptr64 +?Write@CRcovStrmTrans@@IEAAXPEBXK@Z +; public: long __cdecl CPropStoreManager::WritePrimaryProperty(class CCompositePropRecordForWrites & __ptr64,unsigned long,class CStorageVariant const & __ptr64) __ptr64 +?WritePrimaryProperty@CPropStoreManager@@QEAAJAEAVCCompositePropRecordForWrites@@KAEBVCStorageVariant@@@Z +; public: long __cdecl CPropStoreManager::WritePrimaryProperty(unsigned long,unsigned long,class CStorageVariant const & __ptr64) __ptr64 +?WritePrimaryProperty@CPropStoreManager@@QEAAJKKAEBVCStorageVariant@@@Z +; public: long __cdecl CPropStoreManager::WriteProperty(class CCompositePropRecordForWrites & __ptr64,unsigned long,class CStorageVariant const & __ptr64) __ptr64 +?WriteProperty@CPropStoreManager@@QEAAJAEAVCCompositePropRecordForWrites@@KAEBVCStorageVariant@@@Z +; public: long __cdecl CPropStoreManager::WriteProperty(unsigned long,unsigned long,class CStorageVariant const & __ptr64) __ptr64 +?WriteProperty@CPropStoreManager@@QEAAJKKAEBVCStorageVariant@@@Z +; public: unsigned long __cdecl CPropStoreManager::WritePropertyInNewRecord(unsigned long,class CStorageVariant const & __ptr64) __ptr64 +?WritePropertyInNewRecord@CPropStoreManager@@QEAAKKAEBVCStorageVariant@@@Z +; private: class CDbProjectListAnchor * __ptr64 __cdecl CDbNestingNode::_FindGroupListAnchor(void) __ptr64 +?_FindGroupListAnchor@CDbNestingNode@@AEAAPEAVCDbProjectListAnchor@@XZ +; private: class CDbProjectListAnchor * __ptr64 __cdecl CDbProjectNode::_FindOrAddAnchor(void) __ptr64 +?_FindOrAddAnchor@CDbProjectNode@@AEAAPEAVCDbProjectListAnchor@@XZ +; private: class CDbSortListAnchor * __ptr64 __cdecl CDbSortNode::_FindOrAddAnchor(void) __ptr64 +?_FindOrAddAnchor@CDbSortNode@@AEAAPEAVCDbSortListAnchor@@XZ +; private: class CDbScalarValue * __ptr64 __cdecl CDbPropertyRestriction::_FindOrAddValueNode(void) __ptr64 +?_FindOrAddValueNode@CDbPropertyRestriction@@AEAAPEAVCDbScalarValue@@XZ +; private: int __cdecl CImpersonateRemoteAccess::_ImpersonateIf(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64 +?_ImpersonateIf@CImpersonateRemoteAccess@@AEAAHPEBG0K@Z +; unsigned __int64 __cdecl _wcstoui64(unsigned short const * __ptr64,unsigned short * __ptr64 * __ptr64,int) +?_wcstoui64@@YA_KPEBGPEAPEAGH@Z +; void __cdecl ciDelete(void * __ptr64) +?ciDelete@@YAXPEAX@Z +; int __cdecl ciIsValidPointer(void const * __ptr64) +?ciIsValidPointer@@YAHPEBX@Z +; void * __ptr64 __cdecl ciNew(unsigned __int64) +?ciNew@@YAPEAX_K@Z +; public: unsigned long __cdecl CFileBuffer::fgetsw(class XGrowable & __ptr64) __ptr64 +?fgetsw@CFileBuffer@@QEAAKAEAV?$XGrowable@G$0BAE@@@@Z +; unsigned short * __ptr64 __cdecl wcsipattern(unsigned short * __ptr64,unsigned short const * __ptr64) +?wcsipattern@@YAPEAGPEAGPEBG@Z +AbortMerges +BeginCacheTransaction +BindIFilterFromStorage +BindIFilterFromStream +CIBuildQueryNode +CIBuildQueryTree +CICreateCommand +CIGetGlobalPropertyList +CIMakeICommand +CIRestrictionToFullTree +CIState +CITextToFullTree +CITextToFullTreeEx +CITextToSelectTree +CITextToSelectTreeEx +CiSvcMain +CollectCIISAPIPerformanceData +CollectCIPerformanceData +CollectFILTERPerformanceData +DllCanUnloadNow +DllGetClassObject +DllRegisterServer +DllUnregisterServer +DoneCIISAPIPerformanceData +DoneCIPerformanceData +DoneFILTERPerformanceData +EndCacheTransaction +ForceMasterMerge +InitializeCIISAPIPerformanceData +InitializeCIPerformanceData +InitializeFILTERPerformanceData +LoadBHIFilter +LoadBinaryFilter +LoadIFilter +LoadIFilterEx +LoadTextFilter +LocateCatalogs +LocateCatalogsA +LocateCatalogsW +SetCatalogState +SetupCache +SetupCacheEx +StartFWCiSvcWork +StopFWCiSvcWork +SvcEntry_CiSvc diff --git a/lib/libc/mingw/lib64/rasapi32.def b/lib/libc/mingw/lib64/rasapi32.def new file mode 100644 index 0000000000..effabee0f2 --- /dev/null +++ b/lib/libc/mingw/lib64/rasapi32.def @@ -0,0 +1,150 @@ +; +; Exports of file RASAPI32.dll +; +; Autogenerated by gen_exportdef +; Written by Kai Tietz, 2007 +; +LIBRARY RASAPI32.dll +EXPORTS +DDMFreePhonebookContext +DDMGetPhonebookInfo +DwCloneEntry +DwDeleteSubEntry +DwEnumEntriesForAllUsers +DwEnumEntryDetails +DwRasUninitialize +RasAutoDialSharedConnection +RasAutodialAddressToNetwork +RasAutodialEntryToNetwork +RasClearConnectionStatistics +RasClearLinkStatistics +RasConnectionNotificationA +RasConnectionNotificationW +RasCreatePhonebookEntryA +RasCreatePhonebookEntryW +RasDeleteEntryA +RasDeleteEntryW +RasDeleteSubEntryA +RasDeleteSubEntryW +RasDialA +RasDialW +RasDialWow +RasEditPhonebookEntryA +RasEditPhonebookEntryW +RasEnumAutodialAddressesA +RasEnumAutodialAddressesW +RasEnumConnectionsA +RasEnumConnectionsW +RasEnumConnectionsWow +RasEnumDevicesA +RasEnumDevicesW +RasEnumEntriesA +RasEnumEntriesW +RasEnumEntriesWow +RasFreeEapUserIdentityA +RasFreeEapUserIdentityW +RasGetAutodialAddressA +RasGetAutodialAddressW +RasGetAutodialEnableA +RasGetAutodialEnableW +RasGetAutodialParamA +RasGetAutodialParamW +RasGetConnectResponse +RasGetConnectStatusA +RasGetConnectStatusW +RasGetConnectStatusWow +RasGetConnectionStatistics +RasGetCountryInfoA +RasGetCountryInfoW +RasGetCredentialsA +RasGetCredentialsW +RasGetCustomAuthDataA +RasGetCustomAuthDataW +RasGetEapUserDataA +RasGetEapUserDataW +RasGetEapUserIdentityA +RasGetEapUserIdentityW +RasGetEntryDialParamsA +RasGetEntryDialParamsW +RasGetEntryHrasconnA +RasGetEntryHrasconnW +RasGetEntryPropertiesA +RasGetEntryPropertiesW +RasGetErrorStringA +RasGetErrorStringW +RasGetErrorStringWow +RasGetHport +RasGetLinkStatistics +RasGetProjectionInfoA +RasGetProjectionInfoW +RasGetSubEntryHandleA +RasGetSubEntryHandleW +RasGetSubEntryPropertiesA +RasGetSubEntryPropertiesW +RasHangUpA +RasHangUpW +RasHangUpWow +RasInvokeEapUI +RasIsRouterConnection +RasIsSharedConnection +RasQueryRedialOnLinkFailure +RasQuerySharedAutoDial +RasQuerySharedConnection +RasRenameEntryA +RasRenameEntryW +RasScriptExecute +RasScriptGetEventCode +RasScriptGetIpAddress +RasScriptInit +RasScriptReceive +RasScriptSend +RasScriptTerm +RasSetAutodialAddressA +RasSetAutodialAddressW +RasSetAutodialEnableA +RasSetAutodialEnableW +RasSetAutodialParamA +RasSetAutodialParamW +RasSetCredentialsA +RasSetCredentialsW +RasSetCustomAuthDataA +RasSetCustomAuthDataW +RasSetEapUserDataA +RasSetEapUserDataW +RasSetEntryDialParamsA +RasSetEntryDialParamsW +RasSetEntryPropertiesA +RasSetEntryPropertiesW +RasSetOldPassword +RasSetSharedAutoDial +RasSetSubEntryPropertiesA +RasSetSubEntryPropertiesW +RasValidateEntryNameA +RasValidateEntryNameW +RasfileClose +RasfileDeleteLine +RasfileFindFirstLine +RasfileFindLastLine +RasfileFindMarkedLine +RasfileFindNextKeyLine +RasfileFindNextLine +RasfileFindPrevLine +RasfileFindSectionLine +RasfileGetKeyValueFields +RasfileGetLine +RasfileGetLineMark +RasfileGetLineText +RasfileGetLineType +RasfileGetSectionName +RasfileInsertLine +RasfileLoad +RasfileLoadEx +RasfileLoadInfo +RasfilePutKeyValueFields +RasfilePutLineMark +RasfilePutLineText +RasfilePutSectionName +RasfileWrite +SharedAccessResponseListToString +SharedAccessResponseStringToList +UnInitializeRAS diff --git a/lib/libc/mingw/lib64/rasdlg.def b/lib/libc/mingw/lib64/rasdlg.def new file mode 100644 index 0000000000..b5a82d2227 --- /dev/null +++ b/lib/libc/mingw/lib64/rasdlg.def @@ -0,0 +1,45 @@ +; +; Exports of file RASDLG.dll +; +; Autogenerated by gen_exportdef +; Written by Kai Tietz, 2007 +; +LIBRARY RASDLG.dll +EXPORTS +DwTerminalDlg +GetRasDialOutProtocols +RasAutodialDisableDlgA +RasAutodialDisableDlgW +RasAutodialQueryDlgA +RasAutodialQueryDlgW +RasDialDlgA +RasDialDlgW +RasEntryDlgA +RasEntryDlgW +RasMonitorDlgA +RasMonitorDlgW +RasPhonebookDlgA +RasPhonebookDlgW +RasSrvAddPropPages +RasSrvAddWizPages +RasSrvAllowConnectionsConfig +RasSrvCleanupService +RasSrvEnumConnections +RasSrvHangupConnection +RasSrvInitializeService +RasSrvIsConnectionConnected +RasSrvIsICConfigured +RasSrvIsServiceRunning +RasSrvQueryShowIcon +RasUserEnableManualDial +RasUserGetManualDial +RasUserPrefsDlg +RasWizCreateNewEntry +RasWizGetNCCFlags +RasWizGetSuggestedEntryName +RasWizGetUserInputConnectionName +RasWizIsEntryRenamable +RasWizQueryMaxPageCount +RasWizSetEntryName +RouterEntryDlgA +RouterEntryDlgW diff --git a/lib/libc/mingw/lib64/rtm.def b/lib/libc/mingw/lib64/rtm.def new file mode 100644 index 0000000000..bbf9357e1e --- /dev/null +++ b/lib/libc/mingw/lib64/rtm.def @@ -0,0 +1,120 @@ +; +; Exports of file rtm.dll +; +; Autogenerated by gen_exportdef +; Written by Kai Tietz, 2007 +; +LIBRARY rtm.dll +EXPORTS +BestMatchInTable +CheckTable +CreateTable +DeleteFromTable +DestroyTable +DumpTable +EnumOverTable +InsertIntoTable +MgmAddGroupMembershipEntry +MgmDeInitialize +MgmDeRegisterMProtocol +MgmDeleteGroupMembershipEntry +MgmGetFirstMfe +MgmGetFirstMfeStats +MgmGetMfe +MgmGetMfeStats +MgmGetNextMfe +MgmGetNextMfeStats +MgmGetProtocolOnInterface +MgmGroupEnumerationEnd +MgmGroupEnumerationGetNext +MgmGroupEnumerationStart +MgmInitialize +MgmRegisterMProtocol +MgmReleaseInterfaceOwnership +MgmTakeInterfaceOwnership +NextMatchInTable +RtmAddNextHop +RtmAddRoute +RtmAddRouteToDest +RtmBlockConvertRoutesToStatic +RtmBlockDeleteRoutes +RtmBlockMethods +RtmBlockSetRouteEnable +RtmCloseEnumerationHandle +RtmCreateDestEnum +RtmCreateEnumerationHandle +RtmCreateNextHopEnum +RtmCreateRouteEnum +RtmCreateRouteList +RtmCreateRouteListEnum +RtmCreateRouteTable +RtmDeleteEnumHandle +RtmDeleteNextHop +RtmDeleteRoute +RtmDeleteRouteList +RtmDeleteRouteTable +RtmDeleteRouteToDest +RtmDequeueRouteChangeMessage +RtmDereferenceHandles +RtmDeregisterClient +RtmDeregisterEntity +RtmDeregisterFromChangeNotification +RtmEnumerateGetNextRoute +RtmFindNextHop +RtmGetAddressFamilyInfo +RtmGetChangeStatus +RtmGetChangedDests +RtmGetDestInfo +RtmGetEntityInfo +RtmGetEntityMethods +RtmGetEnumDests +RtmGetEnumNextHops +RtmGetEnumRoutes +RtmGetExactMatchDestination +RtmGetExactMatchRoute +RtmGetFirstRoute +RtmGetInstanceInfo +RtmGetInstances +RtmGetLessSpecificDestination +RtmGetListEnumRoutes +RtmGetMostSpecificDestination +RtmGetNetworkCount +RtmGetNextHopInfo +RtmGetNextHopPointer +RtmGetNextRoute +RtmGetOpaqueInformationPointer +RtmGetRegisteredEntities +RtmGetRouteAge +RtmGetRouteInfo +RtmGetRoutePointer +RtmHoldDestination +RtmIgnoreChangedDests +RtmInsertInRouteList +RtmInvokeMethod +RtmIsBestRoute +RtmIsMarkedForChangeNotification +RtmIsRoute +RtmLockDestination +RtmLockNextHop +RtmLockRoute +RtmLookupIPDestination +RtmMarkDestForChangeNotification +RtmReadAddressFamilyConfig +RtmReadInstanceConfig +RtmReferenceHandles +RtmRegisterClient +RtmRegisterEntity +RtmRegisterForChangeNotification +RtmReleaseChangedDests +RtmReleaseDestInfo +RtmReleaseDests +RtmReleaseEntities +RtmReleaseEntityInfo +RtmReleaseNextHopInfo +RtmReleaseNextHops +RtmReleaseRouteInfo +RtmReleaseRoutes +RtmUpdateAndUnlockRoute +RtmWriteAddressFamilyConfig +RtmWriteInstanceConfig +SearchInTable diff --git a/lib/libc/mingw/lib64/sfc.def b/lib/libc/mingw/lib64/sfc.def new file mode 100644 index 0000000000..f528a33964 --- /dev/null +++ b/lib/libc/mingw/lib64/sfc.def @@ -0,0 +1,16 @@ +; +; Exports of file sfc.dll +; +; Autogenerated by gen_exportdef +; Written by Kai Tietz, 2007 +; +LIBRARY sfc.dll +EXPORTS +SRSetRestorePoint +SRSetRestorePointA +SRSetRestorePointW +SfcGetNextProtectedFile +SfcIsFileProtected +SfcWLEventLogoff +SfcWLEventLogon +SfpVerifyFile diff --git a/lib/libc/mingw/lib64/shdocvw.def b/lib/libc/mingw/lib64/shdocvw.def new file mode 100644 index 0000000000..5adb045fc0 --- /dev/null +++ b/lib/libc/mingw/lib64/shdocvw.def @@ -0,0 +1,36 @@ +; +; Exports of file SHDOCVW.dll +; +; Autogenerated by gen_exportdef +; Written by Kai Tietz, 2007 +; +LIBRARY SHDOCVW.dll +EXPORTS +AddUrlToFavorites +DllCanUnloadNow +DllGetClassObject +DllGetVersion +DllInstall +DllRegisterServer +DllRegisterWindowClasses +DllUnregisterServer +DoAddToFavDlg +DoAddToFavDlgW +DoFileDownload +DoFileDownloadEx +DoOrganizeFavDlg +DoOrganizeFavDlgW +DoPrivacyDlg +HlinkFindFrame +HlinkFrameNavigate +HlinkFrameNavigateNHL +IEWriteErrorLog +ImportPrivacySettings +SHAddSubscribeFavorite +OpenURL +SHGetIDispatchForFolder +SetQueryNetSessionCount +SetShellOfflineState +SoftwareUpdateMessageBox +URLQualifyA +URLQualifyW diff --git a/lib/libc/mingw/lib64/slc.def b/lib/libc/mingw/lib64/slc.def new file mode 100644 index 0000000000..09e0dbd62d --- /dev/null +++ b/lib/libc/mingw/lib64/slc.def @@ -0,0 +1,55 @@ +; +; Definition file of slc.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "slc.dll" +EXPORTS +SLpAuthenticateGenuineTicketResponse +SLpBeginGenuineTicketTransaction +SLpCheckProductKey +SLpDepositTokenActivationResponse +SLpGenerateTokenActivationChallenge +SLpGetGenuineBlob +SLpGetGenuineLocal +SLpGetLicenseAcquisitionInfo +SLpGetMachineUGUID +SLpGetTokenActivationGrantInfo +SLpVLActivateProduct +SLClose +SLConsumeRight +SLConsumeWindowsRight +SLDepositOfflineConfirmationId +SLFireEvent +SLGenerateOfflineInstallationId +SLGetGenuineInformation +SLGetInstalledProductKeyIds +SLGetInstalledSAMLicenseApplications +SLGetLicense +SLGetLicenseFileId +SLGetLicenseInformation +SLGetLicensingStatusInformation +SLGetPKeyId +SLGetPKeyInformation +SLGetPolicyInformation +SLGetPolicyInformationDWORD +SLGetProductSkuInformation +SLGetSAMLicense +SLGetSLIDList +SLGetServiceInformation +SLGetWindowsInformation +SLGetWindowsInformationDWORD +SLInstallLicense +SLInstallProofOfPurchase +SLInstallSAMLicense +SLOpen +SLReArmWindows +SLRegisterEvent +SLRegisterWindowsEvent +SLSetCurrentProductKey +SLSetGenuineInformation +SLUninstallLicense +SLUninstallProofOfPurchase +SLUninstallSAMLicense +SLUnregisterEvent +SLUnregisterWindowsEvent diff --git a/lib/libc/mingw/lib64/spoolss.def b/lib/libc/mingw/lib64/spoolss.def new file mode 100644 index 0000000000..d4d4e56520 --- /dev/null +++ b/lib/libc/mingw/lib64/spoolss.def @@ -0,0 +1,223 @@ +; +; Definition file of SPOOLSS.DLL +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "SPOOLSS.DLL" +EXPORTS +OpenPrinterExW +RouterCorePrinterDriverInstalled +RouterCreatePrintAsyncNotificationChannel +RouterDeletePrinterDriverPackage +RouterGetCorePrinterDrivers +RouterGetPrintClassObject +RouterGetPrinterDriverPackagePath +RouterInstallPrinterDriverFromPackage +RouterRegisterForPrintAsyncNotifications +RouterUnregisterForPrintAsyncNotifications +RouterUploadPrinterDriverPackage +AbortPrinter +AddDriverCatalog +AddFormW +AddJobW +AddMonitorW +AddPerMachineConnectionW +AddPortExW +AddPortW +AddPrintProcessorW +AddPrintProvidorW +AddPrinterConnectionW +AddPrinterDriverExW +AddPrinterDriverW +AddPrinterExW +AddPrinterW +AdjustPointers +AdjustPointersInStructuresArray +AlignKMPtr +AlignRpcPtr +AllocSplStr +AllowRemoteCalls +AppendPrinterNotifyInfoData +BuildOtherNamesFromMachineName +CacheAddName +CacheCreateAndAddNode +CacheCreateAndAddNodeWithIPAddresses +CacheDeleteNode +CacheIsNameCluster +CacheIsNameInNodeList +CallDrvDevModeConversion +CallRouterFindFirstPrinterChangeNotification +CheckLocalCall +ClosePrinter +ClusterSplClose +ClusterSplIsAlive +ClusterSplOpen +ConfigurePortW +CreatePrinterIC +DbgGetPointers +DeleteFormW +DeleteMonitorW +DeletePerMachineConnectionW +DeletePortW +DeletePrintProcessorW +DeletePrintProvidorW +DeletePrinter +DeletePrinterConnectionW +DeletePrinterDataExW +DeletePrinterDataW +DeletePrinterDriverExW +DeletePrinterDriverW +DeletePrinterIC +DeletePrinterKeyW +DllAllocSplMem +DllAllocSplStr +DllCanUnloadNow +DllFreeSplMem +DllFreeSplStr +DllGetClassObject +DllMain +DllReallocSplMem +DllReallocSplStr +DllRegisterServer +DllUnregisterServer +EndDocPrinter +EndPagePrinter +EnumFormsW +EnumJobsW +EnumMonitorsW +EnumPerMachineConnectionsW +EnumPortsW +EnumPrintProcessorDatatypesW +EnumPrintProcessorsW +EnumPrinterDataExW +EnumPrinterDataW +EnumPrinterDriversW +EnumPrinterKeyW +EnumPrintersW +FindClosePrinterChangeNotification +FlushPrinter +FormatPrinterForRegistryKey +FormatRegistryKeyForPrinter +FreeOtherNames +GetClientUserHandle +GetBindingHandleIndex +GetFormW +GetJobAttributes +GetJobAttributesEx +GetJobW +GetNetworkId +GetPrintProcessorDirectoryW +GetPrinterDataExW +GetPrinterDataW +GetPrinterDriverDirectoryW +GetPrinterDriverExW +GetPrinterDriverW +GetPrinterW +GetServerPolicy +GetShrinkedSize +ImpersonatePrinterClient +InitializeRouter +IsNameTheLocalMachineOrAClusterSpooler +IsNamedPipeRpcCall +LoadDriver +LoadDriverFiletoConvertDevmode +LoadDriverWithVersion +LogWmiTraceEvent +MIDL_user_allocate1 +MIDL_user_free1 +MarshallDownStructure +MarshallDownStructuresArray +MarshallUpStructure +MarshallUpStructuresArray +OldGetPrinterDriverW +OpenPrinterExW +OpenPrinterPortW +OpenPrinter2W +OpenPrinterPort2W +OpenPrinterW +PackStrings +PartialReplyPrinterChangeNotification +PlayGdiScriptOnPrinterIC +PrinterHandleRundown +PrinterMessageBoxW +ProvidorFindClosePrinterChangeNotification +ProvidorFindFirstPrinterChangeNotification +ReadPrinter +ReallocSplMem +ReallocSplStr +RemoteFindFirstPrinterChangeNotification +ReplyClosePrinter +ReplyOpenPrinter +ReplyPrinterChangeNotification +ReplyPrinterChangeNotificationEx +ReportJobProcessingProgress +ResetPrinterW +RevertToPrinterSelf +RouterAddPrinterConnection2 +RouterAllocBidiMem +RouterAllocBidiResponseContainer +RouterAllocPrinterNotifyInfo +RouterBroadcastMessage +RouterFindCompatibleDriver +RouterFindFirstPrinterChangeNotification +RouterFindNextPrinterChangeNotification +RouterFreeBidiMem +RouterFreeBidiResponseContainer +RouterFreePrinterNotifyInfo +RouterInternalGetPrinterDriver +RouterRefreshPrinterChangeNotification +RouterReplyPrinter +RouterSpoolerSetPolicy +ScheduleJob +SeekPrinter +SendRecvBidiData +SetAllocFailCount +SetFormW +SetJobW +SetPortW +SetPrinterDataExW +SetPrinterDataW +SetPrinterW +SplCloseSpoolFileHandle +SplCommitSpoolData +SplDriverUnloadComplete +SplGetClientUserHandle +SplGetSpoolFileInfo +SplGetUserSidStringFromToken +SplInitializeWinSpoolDrv +SplIsSessionZero +SplIsUpgrade +SplPowerEvent +SplProcessPnPEvent +SplProcessSessionEvent +SplPromptUIInUsersSession +SplQueryUserInfo +SplReadPrinter +SplRegisterForDeviceEvents +SplRegisterForSessionEvents +SplShutDownRouter +SplUnregisterForDeviceEvents +SplUnregisterForSessionEvents +SplWerNotifyLogger +SpoolerFindClosePrinterChangeNotification +SpoolerFindFirstPrinterChangeNotification +SpoolerFindNextPrinterChangeNotification +SpoolerFreePrinterNotifyInfo +SpoolerHasInitialized +SpoolerInit +SpoolerRefreshPrinterChangeNotification +StartDocPrinterW +StartPagePrinter +UndoAlignKMPtr +UndoAlignRpcPtr +UnloadDriver +UnloadDriverFile +UpdateBufferSize +UpdatePrinterRegAll +UpdatePrinterRegUser +WaitForPrinterChange +WaitForSpoolerInitialization +WritePrinter +XcvDataW +bGetDevModePerUser +bSetDevModePerUser diff --git a/lib/libc/mingw/lib64/vssapi.def b/lib/libc/mingw/lib64/vssapi.def new file mode 100644 index 0000000000..bb784bf030 --- /dev/null +++ b/lib/libc/mingw/lib64/vssapi.def @@ -0,0 +1,160 @@ +; +; Definition file of VSSAPI.DLL +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "VSSAPI.DLL" +EXPORTS +IsVolumeSnapshotted +VssFreeSnapshotProperties +ShouldBlockRevert +; public: __cdecl CVssJetWriter::CVssJetWriter(void)__ptr64 +??0CVssJetWriter@@QEAA@XZ +; public: __cdecl CVssWriter::CVssWriter(void)__ptr64 +??0CVssWriter@@QEAA@XZ +; public: virtual __cdecl CVssJetWriter::~CVssJetWriter(void)__ptr64 +??1CVssJetWriter@@UEAA@XZ +; public: virtual __cdecl CVssWriter::~CVssWriter(void)__ptr64 +??1CVssWriter@@UEAA@XZ +; protected: bool __cdecl CVssJetWriter::AreComponentsSelected(void)const __ptr64 +?AreComponentsSelected@CVssJetWriter@@IEBA_NXZ +; protected: bool __cdecl CVssWriter::AreComponentsSelected(void)const __ptr64 +?AreComponentsSelected@CVssWriter@@IEBA_NXZ +; long __cdecl CreateVssBackupComponents(class IVssBackupComponents *__ptr64 *__ptr64) +?CreateVssBackupComponents@@YAJPEAPEAVIVssBackupComponents@@@Z +; long __cdecl CreateVssExamineWriterMetadata(unsigned short *__ptr64,class IVssExamineWriterMetadata *__ptr64 *__ptr64) +?CreateVssExamineWriterMetadata@@YAJPEAGPEAPEAVIVssExamineWriterMetadata@@@Z +; long __cdecl CreateVssSnapshotSetDescription(struct _GUID,long,class IVssSnapshotSetDescription *__ptr64 *__ptr64) +?CreateVssSnapshotSetDescription@@YAJU_GUID@@JPEAPEAVIVssSnapshotSetDescription@@@Z +; protected: enum _VSS_BACKUP_TYPE __cdecl CVssJetWriter::GetBackupType(void)const __ptr64 +?GetBackupType@CVssJetWriter@@IEBA?AW4_VSS_BACKUP_TYPE@@XZ +; protected: enum _VSS_BACKUP_TYPE __cdecl CVssWriter::GetBackupType(void)const __ptr64 +?GetBackupType@CVssWriter@@IEBA?AW4_VSS_BACKUP_TYPE@@XZ +; protected: long __cdecl CVssJetWriter::GetContext(void)const __ptr64 +?GetContext@CVssJetWriter@@IEBAJXZ +; protected: long __cdecl CVssWriter::GetContext(void)const __ptr64 +?GetContext@CVssWriter@@IEBAJXZ +; protected: enum _VSS_APPLICATION_LEVEL __cdecl CVssJetWriter::GetCurrentLevel(void)const __ptr64 +?GetCurrentLevel@CVssJetWriter@@IEBA?AW4_VSS_APPLICATION_LEVEL@@XZ +; protected: enum _VSS_APPLICATION_LEVEL __cdecl CVssWriter::GetCurrentLevel(void)const __ptr64 +?GetCurrentLevel@CVssWriter@@IEBA?AW4_VSS_APPLICATION_LEVEL@@XZ +; protected: struct _GUID __cdecl CVssJetWriter::GetCurrentSnapshotSetId(void)const __ptr64 +?GetCurrentSnapshotSetId@CVssJetWriter@@IEBA?AU_GUID@@XZ +; protected: struct _GUID __cdecl CVssWriter::GetCurrentSnapshotSetId(void)const __ptr64 +?GetCurrentSnapshotSetId@CVssWriter@@IEBA?AU_GUID@@XZ +; protected: unsigned short const *__ptr64 *__ptr64 __cdecl CVssJetWriter::GetCurrentVolumeArray(void)const __ptr64 +?GetCurrentVolumeArray@CVssJetWriter@@IEBAPEAPEBGXZ +; protected: unsigned short const *__ptr64 *__ptr64 __cdecl CVssWriter::GetCurrentVolumeArray(void)const __ptr64 +?GetCurrentVolumeArray@CVssWriter@@IEBAPEAPEBGXZ +; protected: unsigned int __cdecl CVssJetWriter::GetCurrentVolumeCount(void)const __ptr64 +?GetCurrentVolumeCount@CVssJetWriter@@IEBAIXZ +; protected: unsigned int __cdecl CVssWriter::GetCurrentVolumeCount(void)const __ptr64 +?GetCurrentVolumeCount@CVssWriter@@IEBAIXZ +; protected: enum _VSS_RESTORE_TYPE __cdecl CVssJetWriter::GetRestoreType(void)const __ptr64 +?GetRestoreType@CVssJetWriter@@IEBA?AW4_VSS_RESTORE_TYPE@@XZ +; protected: enum _VSS_RESTORE_TYPE __cdecl CVssWriter::GetRestoreType(void)const __ptr64 +?GetRestoreType@CVssWriter@@IEBA?AW4_VSS_RESTORE_TYPE@@XZ +; protected: long __cdecl CVssJetWriter::GetSnapshotDeviceName(unsigned short const *__ptr64,unsigned short const *__ptr64 *__ptr64)const __ptr64 +?GetSnapshotDeviceName@CVssJetWriter@@IEBAJPEBGPEAPEBG@Z +; protected: long __cdecl CVssWriter::GetSnapshotDeviceName(unsigned short const *__ptr64,unsigned short const *__ptr64 *__ptr64)const __ptr64 +?GetSnapshotDeviceName@CVssWriter@@IEBAJPEBGPEAPEBG@Z +; public: long __cdecl CVssJetWriter::Initialize(struct _GUID,unsigned short const *__ptr64,bool,bool,unsigned short const *__ptr64,unsigned short const *__ptr64,unsigned long)__ptr64 +?Initialize@CVssJetWriter@@QEAAJU_GUID@@PEBG_N211K@Z +; public: long __cdecl CVssWriter::Initialize(struct _GUID,unsigned short const *__ptr64,enum VSS_USAGE_TYPE,enum VSS_SOURCE_TYPE,enum _VSS_APPLICATION_LEVEL,unsigned long,enum VSS_ALTERNATE_WRITER_STATE,bool,unsigned short const *__ptr64)__ptr64 +?Initialize@CVssWriter@@QEAAJU_GUID@@PEBGW4VSS_USAGE_TYPE@@W4VSS_SOURCE_TYPE@@W4_VSS_APPLICATION_LEVEL@@KW4VSS_ALTERNATE_WRITER_STATE@@_N1@Z +; public: long __cdecl CVssWriter::InstallAlternateWriter(struct _GUID,struct _GUID)__ptr64 +?InstallAlternateWriter@CVssWriter@@QEAAJU_GUID@@0@Z +; protected: bool __cdecl CVssJetWriter::IsBootableSystemStateBackedUp(void)const __ptr64 +?IsBootableSystemStateBackedUp@CVssJetWriter@@IEBA_NXZ +; protected: bool __cdecl CVssWriter::IsBootableSystemStateBackedUp(void)const __ptr64 +?IsBootableSystemStateBackedUp@CVssWriter@@IEBA_NXZ +; protected: bool __cdecl CVssJetWriter::IsPartialFileSupportEnabled(void)const __ptr64 +?IsPartialFileSupportEnabled@CVssJetWriter@@IEBA_NXZ +; protected: bool __cdecl CVssWriter::IsPartialFileSupportEnabled(void)const __ptr64 +?IsPartialFileSupportEnabled@CVssWriter@@IEBA_NXZ +; protected: bool __cdecl CVssJetWriter::IsPathAffected(unsigned short const *__ptr64)const __ptr64 +?IsPathAffected@CVssJetWriter@@IEBA_NPEBG@Z +; protected: bool __cdecl CVssWriter::IsPathAffected(unsigned short const *__ptr64)const __ptr64 +?IsPathAffected@CVssWriter@@IEBA_NPEBG@Z +; long __cdecl LoadVssSnapshotSetDescription(unsigned short const *__ptr64,class IVssSnapshotSetDescription *__ptr64 *__ptr64,struct _GUID) +?LoadVssSnapshotSetDescription@@YAJPEBGPEAPEAVIVssSnapshotSetDescription@@U_GUID@@@Z +; public: virtual void __cdecl CVssJetWriter::OnAbortBegin(void)__ptr64 +?OnAbortBegin@CVssJetWriter@@UEAAXXZ +; public: virtual void __cdecl CVssJetWriter::OnAbortEnd(void)__ptr64 +?OnAbortEnd@CVssJetWriter@@UEAAXXZ +; public: virtual bool __cdecl CVssWriter::OnBackOffIOOnVolume(unsigned short *__ptr64,struct _GUID,struct _GUID)__ptr64 +?OnBackOffIOOnVolume@CVssWriter@@UEAA_NPEAGU_GUID@@1@Z +; public: virtual bool __cdecl CVssWriter::OnBackupComplete(class IVssWriterComponents *__ptr64)__ptr64 +?OnBackupComplete@CVssWriter@@UEAA_NPEAVIVssWriterComponents@@@Z +; public: virtual bool __cdecl CVssJetWriter::OnBackupCompleteBegin(class IVssWriterComponents *__ptr64)__ptr64 +?OnBackupCompleteBegin@CVssJetWriter@@UEAA_NPEAVIVssWriterComponents@@@Z +; public: virtual bool __cdecl CVssJetWriter::OnBackupCompleteEnd(class IVssWriterComponents *__ptr64,bool)__ptr64 +?OnBackupCompleteEnd@CVssJetWriter@@UEAA_NPEAVIVssWriterComponents@@_N@Z +; public: virtual bool __cdecl CVssWriter::OnBackupShutdown(struct _GUID)__ptr64 +?OnBackupShutdown@CVssWriter@@UEAA_NU_GUID@@@Z +; public: virtual bool __cdecl CVssWriter::OnContinueIOOnVolume(unsigned short *__ptr64,struct _GUID,struct _GUID)__ptr64 +?OnContinueIOOnVolume@CVssWriter@@UEAA_NPEAGU_GUID@@1@Z +; public: virtual bool __cdecl CVssJetWriter::OnFreezeBegin(void)__ptr64 +?OnFreezeBegin@CVssJetWriter@@UEAA_NXZ +; public: virtual bool __cdecl CVssJetWriter::OnFreezeEnd(bool)__ptr64 +?OnFreezeEnd@CVssJetWriter@@UEAA_N_N@Z +; public: virtual bool __cdecl CVssJetWriter::OnIdentify(class IVssCreateWriterMetadata *__ptr64)__ptr64 +?OnIdentify@CVssJetWriter@@UEAA_NPEAVIVssCreateWriterMetadata@@@Z +; public: virtual bool __cdecl CVssWriter::OnIdentify(class IVssCreateWriterMetadata *__ptr64)__ptr64 +?OnIdentify@CVssWriter@@UEAA_NPEAVIVssCreateWriterMetadata@@@Z +; public: virtual bool __cdecl CVssWriter::OnPostRestore(class IVssWriterComponents *__ptr64)__ptr64 +?OnPostRestore@CVssWriter@@UEAA_NPEAVIVssWriterComponents@@@Z +; public: virtual bool __cdecl CVssJetWriter::OnPostRestoreBegin(class IVssWriterComponents *__ptr64)__ptr64 +?OnPostRestoreBegin@CVssJetWriter@@UEAA_NPEAVIVssWriterComponents@@@Z +; public: virtual bool __cdecl CVssJetWriter::OnPostRestoreEnd(class IVssWriterComponents *__ptr64,bool)__ptr64 +?OnPostRestoreEnd@CVssJetWriter@@UEAA_NPEAVIVssWriterComponents@@_N@Z +; public: virtual bool __cdecl CVssJetWriter::OnPostSnapshot(class IVssWriterComponents *__ptr64)__ptr64 +?OnPostSnapshot@CVssJetWriter@@UEAA_NPEAVIVssWriterComponents@@@Z +; public: virtual bool __cdecl CVssWriter::OnPostSnapshot(class IVssWriterComponents *__ptr64)__ptr64 +?OnPostSnapshot@CVssWriter@@UEAA_NPEAVIVssWriterComponents@@@Z +; public: virtual bool __cdecl CVssWriter::OnPreRestore(class IVssWriterComponents *__ptr64)__ptr64 +?OnPreRestore@CVssWriter@@UEAA_NPEAVIVssWriterComponents@@@Z +; public: virtual bool __cdecl CVssJetWriter::OnPreRestoreBegin(class IVssWriterComponents *__ptr64)__ptr64 +?OnPreRestoreBegin@CVssJetWriter@@UEAA_NPEAVIVssWriterComponents@@@Z +; public: virtual bool __cdecl CVssJetWriter::OnPreRestoreEnd(class IVssWriterComponents *__ptr64,bool)__ptr64 +?OnPreRestoreEnd@CVssJetWriter@@UEAA_NPEAVIVssWriterComponents@@_N@Z +; public: virtual bool __cdecl CVssWriter::OnPrepareBackup(class IVssWriterComponents *__ptr64)__ptr64 +?OnPrepareBackup@CVssWriter@@UEAA_NPEAVIVssWriterComponents@@@Z +; public: virtual bool __cdecl CVssJetWriter::OnPrepareBackupBegin(class IVssWriterComponents *__ptr64)__ptr64 +?OnPrepareBackupBegin@CVssJetWriter@@UEAA_NPEAVIVssWriterComponents@@@Z +; public: virtual bool __cdecl CVssJetWriter::OnPrepareBackupEnd(class IVssWriterComponents *__ptr64,bool)__ptr64 +?OnPrepareBackupEnd@CVssJetWriter@@UEAA_NPEAVIVssWriterComponents@@_N@Z +; public: virtual bool __cdecl CVssJetWriter::OnPrepareSnapshotBegin(void)__ptr64 +?OnPrepareSnapshotBegin@CVssJetWriter@@UEAA_NXZ +; public: virtual bool __cdecl CVssJetWriter::OnPrepareSnapshotEnd(bool)__ptr64 +?OnPrepareSnapshotEnd@CVssJetWriter@@UEAA_N_N@Z +; public: virtual bool __cdecl CVssJetWriter::OnThawBegin(void)__ptr64 +?OnThawBegin@CVssJetWriter@@UEAA_NXZ +; public: virtual bool __cdecl CVssJetWriter::OnThawEnd(bool)__ptr64 +?OnThawEnd@CVssJetWriter@@UEAA_N_N@Z +; public: virtual bool __cdecl CVssWriter::OnVSSApplicationStartup(void)__ptr64 +?OnVSSApplicationStartup@CVssWriter@@UEAA_NXZ +; public: virtual bool __cdecl CVssWriter::OnVSSShutdown(void)__ptr64 +?OnVSSShutdown@CVssWriter@@UEAA_NXZ +; protected: long __cdecl CVssJetWriter::SetWriterFailure(long)__ptr64 +?SetWriterFailure@CVssJetWriter@@IEAAJJ@Z +; protected: long __cdecl CVssWriter::SetWriterFailure(long)__ptr64 +?SetWriterFailure@CVssWriter@@IEAAJJ@Z +; public: long __cdecl CVssWriter::Subscribe(unsigned long)__ptr64 +?Subscribe@CVssWriter@@QEAAJK@Z +; public: void __cdecl CVssJetWriter::Uninitialize(void)__ptr64 +?Uninitialize@CVssJetWriter@@QEAAXXZ +; public: long __cdecl CVssWriter::Unsubscribe(void)__ptr64 +?Unsubscribe@CVssWriter@@QEAAJXZ +CreateVssBackupComponentsInternal +CreateVssExamineWriterMetadataInternal +CreateVssExpressWriterInternal +CreateWriter +CreateWriterEx +;DllCanUnloadNow +;DllGetClassObject +GetProviderMgmtInterface +GetProviderMgmtInterfaceInternal +IsVolumeSnapshottedInternal +ShouldBlockRevertInternal +VssFreeSnapshotPropertiesInternal diff --git a/lib/libc/mingw/lib64/wdsclientapi.def b/lib/libc/mingw/lib64/wdsclientapi.def new file mode 100644 index 0000000000..78a236520d --- /dev/null +++ b/lib/libc/mingw/lib64/wdsclientapi.def @@ -0,0 +1,46 @@ +; +; Definition file of WDSCLIENTAPI.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "WDSCLIENTAPI.dll" +EXPORTS +WdsCliAuthorizeSession +WdsCliCancelTransfer +WdsCliClose +WdsCliCreateSession +WdsCliFindFirstImage +WdsCliFindNextImage +WdsCliFreeDomainJoinInformation +WdsCliFreeStringArray +WdsCliFreeUnattendVariables +WdsCliGetClientUnattend +WdsCliGetDomainJoinInformation +WdsCliGetEnumerationFlags +WdsCliGetImageArchitecture +WdsCliGetImageDescription +WdsCliGetImageFiles +WdsCliGetImageGroup +WdsCliGetImageHalName +WdsCliGetImageHandleFromFindHandle +WdsCliGetImageHandleFromTransferHandle +WdsCliGetImageIndex +WdsCliGetImageLanguage +WdsCliGetImageLanguages +WdsCliGetImageLastModifiedTime +WdsCliGetImageName +WdsCliGetImageNamespace +WdsCliGetImageParameter +WdsCliGetImagePath +WdsCliGetImageSize +WdsCliGetImageType +WdsCliGetImageVersion +WdsCliGetTransferSize +WdsCliGetUnattendVariables +WdsCliInitializeLog +WdsCliLog +WdsCliObtainDriverPackages +WdsCliRegisterTrace +WdsCliTransferFile +WdsCliTransferImage +WdsCliWaitForTransfer diff --git a/lib/libc/mingw/lib64/wdstptc.def b/lib/libc/mingw/lib64/wdstptc.def new file mode 100644 index 0000000000..75c1765c7a --- /dev/null +++ b/lib/libc/mingw/lib64/wdstptc.def @@ -0,0 +1,22 @@ +; +; Definition file of WDSTPTC.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "WDSTPTC.dll" +EXPORTS +WdsTptcDownload +WdsTransportClientRegisterTrace +WdsTransportClientAddRefBuffer +WdsTransportClientCancelSession +WdsTransportClientCancelSessionEx +WdsTransportClientCloseSession +WdsTransportClientCompleteReceive +WdsTransportClientInitialize +WdsTransportClientInitializeSession +WdsTransportClientQueryStatus +WdsTransportClientRegisterCallback +WdsTransportClientReleaseBuffer +WdsTransportClientShutdown +WdsTransportClientStartSession +WdsTransportClientWaitForCompletion diff --git a/lib/libc/mingw/lib64/wer.def b/lib/libc/mingw/lib64/wer.def new file mode 100644 index 0000000000..3f81b5b589 --- /dev/null +++ b/lib/libc/mingw/lib64/wer.def @@ -0,0 +1,84 @@ +; +; Definition file of wer.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "wer.dll" +EXPORTS +WerSysprepCleanup +WerSysprepGeneralize +WerSysprepSpecialize +WerUnattendedSetup +WerpAddAppCompatData +WerpAddFile +WerpAddMemoryBlock +WerpAddRegisteredDataToReport +WerpAddSecondaryParameter +WerpAddTextToReport +WerpArchiveReport +WerpCancelResponseDownload +WerpCancelUpload +WerpCloseStore +WerpCreateMachineStore +WerpDeleteReport +WerpDestroyWerString +WerpDownloadResponse +WerpDownloadResponseTemplate +WerpEnumerateStoreNext +WerpEnumerateStoreStart +WerpExtractReportFiles +WerpGetBucketId +WerpGetDynamicParameter +WerpGetEventType +WerpGetFileByIndex +WerpGetFilePathByIndex +WerpGetNumFiles +WerpGetNumSecParams +WerpGetNumSigParams +WerpGetReportFinalConsent +WerpGetReportFlags +WerpGetReportInformation +WerpGetReportTime +WerpGetReportType +WerpGetResponseId +WerpGetResponseUrl +WerpGetSecParamByIndex +WerpGetSigParamByIndex +WerpGetStoreLocation +WerpGetStoreType +WerpGetTextFromReport +WerpGetUIParamByIndex +WerpGetUploadTime +WerpGetWerStringData +WerpIsTransportAvailable +WerpLoadReport +WerpOpenMachineArchive +WerpOpenMachineQueue +WerpOpenUserArchive +WerpReportCancel +WerpRestartApplication +WerpSetDynamicParameter +WerpSetEventName +WerpSetReportFlags +WerpSetReportInformation +WerpSetReportTime +WerpSetReportUploadContextToken +WerpShowNXNotification +WerpShowSecondLevelConsent +WerpShowUpsellUI +WerpSubmitReportFromStore +WerpSvcReportFromMachineQueue +WerAddExcludedApplication +WerRemoveExcludedApplication +WerReportAddDump +WerReportAddFile +WerReportCloseHandle +WerReportCreate +WerReportSetParameter +WerReportSetUIOption +WerReportSubmit +WerpGetReportConsent +WerpIsDisabled +WerpOpenUserQueue +WerpPromtUser +WerpSetCallBack diff --git a/lib/libc/mingw/lib64/winfax.def b/lib/libc/mingw/lib64/winfax.def new file mode 100644 index 0000000000..6f30ee050a --- /dev/null +++ b/lib/libc/mingw/lib64/winfax.def @@ -0,0 +1,64 @@ +; +; Exports of file WINFAX.dll +; +; Autogenerated by gen_exportdef +; Written by Kai Tietz, 2007 +; +LIBRARY WINFAX.dll +EXPORTS +FaxAbort +FaxAccessCheck +FaxClose +FaxCompleteJobParamsA +FaxCompleteJobParamsW +FaxConnectFaxServerA +FaxConnectFaxServerW +FaxEnableRoutingMethodA +FaxEnableRoutingMethodW +FaxEnumGlobalRoutingInfoA +FaxEnumGlobalRoutingInfoW +FaxEnumJobsA +FaxEnumJobsW +FaxEnumPortsA +FaxEnumPortsW +FaxEnumRoutingMethodsA +FaxEnumRoutingMethodsW +FaxFreeBuffer +FaxGetConfigurationA +FaxGetConfigurationW +FaxGetDeviceStatusA +FaxGetDeviceStatusW +FaxGetJobA +FaxGetJobW +FaxGetLoggingCategoriesA +FaxGetLoggingCategoriesW +FaxGetPageData +FaxGetPortA +FaxGetPortW +FaxGetRoutingInfoA +FaxGetRoutingInfoW +FaxInitializeEventQueue +FaxOpenPort +FaxPrintCoverPageA +FaxPrintCoverPageW +FaxRegisterRoutingExtensionW +FaxRegisterServiceProviderW +FaxSendDocumentA +FaxSendDocumentForBroadcastA +FaxSendDocumentForBroadcastW +FaxSendDocumentW +FaxSetConfigurationA +FaxSetConfigurationW +FaxSetGlobalRoutingInfoA +FaxSetGlobalRoutingInfoW +FaxSetJobA +FaxSetJobW +FaxSetLoggingCategoriesA +FaxSetLoggingCategoriesW +FaxSetPortA +FaxSetPortW +FaxSetRoutingInfoA +FaxSetRoutingInfoW +FaxStartPrintJobA +FaxStartPrintJobW +FaxUnregisterServiceProviderW diff --git a/lib/libc/mingw/lib64/winsta.def b/lib/libc/mingw/lib64/winsta.def new file mode 100644 index 0000000000..f07e3b541b --- /dev/null +++ b/lib/libc/mingw/lib64/winsta.def @@ -0,0 +1,111 @@ +; +; Exports of file WINSTA.dll +; +; Autogenerated by gen_exportdef +; Written by Kai Tietz, 2007 +; +LIBRARY WINSTA.dll +EXPORTS +LogonIdFromWinStationNameA +LogonIdFromWinStationNameW +RemoteAssistancePrepareSystemRestore +ServerGetInternetConnectorStatus +ServerLicensingClose +ServerLicensingDeactivateCurrentPolicy +ServerLicensingFreePolicyInformation +ServerLicensingGetAvailablePolicyIds +ServerLicensingGetPolicy +ServerLicensingGetPolicyInformationA +ServerLicensingGetPolicyInformationW +ServerLicensingLoadPolicy +ServerLicensingOpenA +ServerLicensingOpenW +ServerLicensingSetPolicy +ServerLicensingUnloadPolicy +ServerQueryInetConnectorInformationA +ServerQueryInetConnectorInformationW +ServerSetInternetConnectorStatus +WinStationActivateLicense +WinStationAutoReconnect +WinStationBroadcastSystemMessage +WinStationCanLogonProceed +WinStationCheckAccess +WinStationCheckLoopBack +WinStationCloseServer +WinStationConnectA +WinStationConnectCallback +WinStationConnectW +WinStationDisconnect +WinStationEnumerateA +WinStationEnumerateLicenses +WinStationEnumerateProcesses +WinStationEnumerateW +WinStationEnumerate_IndexedA +WinStationEnumerate_IndexedW +WinStationFreeGAPMemory +WinStationFreeMemory +WinStationGenerateLicense +WinStationGetAllProcesses +WinStationGetLanAdapterNameA +WinStationGetLanAdapterNameW +WinStationGetMachinePolicy +WinStationGetProcessSid +WinStationGetTermSrvCountersValue +WinStationInstallLicense +WinStationIsHelpAssistantSession +WinStationNameFromLogonIdA +WinStationNameFromLogonIdW +WinStationNtsdDebug +WinStationOpenServerA +WinStationOpenServerW +WinStationQueryInformationA +WinStationQueryInformationW +WinStationQueryLicense +WinStationQueryLogonCredentialsW +WinStationQueryUpdateRequired +WinStationRedirectErrorMessage +WinStationRegisterConsoleNotification +WinStationRegisterConsoleNotificationEx +WinStationRegisterNotificationEvent +WinStationRemoveLicense +WinStationRenameA +WinStationRenameW +WinStationReset +WinStationSendMessageA +WinStationSendMessageW +WinStationSendWindowMessage +WinStationServerPing +WinStationSetInformationA +WinStationSetInformationW +WinStationSetPoolCount +WinStationShadow +WinStationShadowStop +WinStationShutdownSystem +WinStationTerminateProcess +WinStationUnRegisterConsoleNotification +WinStationUnRegisterNotificationEvent +WinStationVirtualOpen +WinStationWaitSystemEvent +_NWLogonQueryAdmin +_NWLogonSetAdmin +_WinStationAnnoyancePopup +_WinStationBeepOpen +_WinStationBreakPoint +_WinStationCallback +_WinStationCheckForApplicationName +_WinStationFUSCanRemoteUserDisconnect +_WinStationGetApplicationInfo +_WinStationNotifyDisconnectPipe +_WinStationNotifyLogoff +_WinStationNotifyLogon +_WinStationNotifyNewSession +_WinStationOpenSessionDirectory +_WinStationReInitializeSecurity +_WinStationReadRegistry +_WinStationSessionInitialized +_WinStationShadowTarget +_WinStationShadowTargetSetup +_WinStationUpdateClientCachedCredentials +_WinStationUpdateSettings +_WinStationUpdateUserConfig +_WinStationWaitForConnect diff --git a/lib/libc/mingw/lib64/wsdapi.def b/lib/libc/mingw/lib64/wsdapi.def new file mode 100644 index 0000000000..a10b4cdc1c --- /dev/null +++ b/lib/libc/mingw/lib64/wsdapi.def @@ -0,0 +1,41 @@ +; +; Definition file of wsdapi.dll +; Automatic generated by gendef +; written by Kai Tietz 2008 +; +LIBRARY "wsdapi.dll" +EXPORTS +WSDCancelAddrChangeNotify +WSDCreateHttpAddressAdvanced +WSDNotifyAddrChange +WSDAllocateLinkedMemory +WSDAttachLinkedMemory +WSDCreateDeviceHost +WSDCreateDeviceHostAdvanced +WSDCreateDeviceProxy +WSDCreateDeviceProxyAdvanced +WSDCreateDiscoveryProvider +WSDCreateDiscoveryPublisher +WSDCreateHttpAddress +WSDCreateHttpMessageParameters +WSDCreateHttpTransport +WSDCreateMetadataAgent +WSDCreateOutboundAttachment +WSDCreateUdpAddress +WSDCreateUdpMessageParameters +WSDCreateUdpTransport +WSDDetachLinkedMemory +WSDFreeLinkedMemory +WSDGenerateFault +WSDGenerateFaultEx +WSDGenerateRandomDelay +WSDGetConfigurationOption +WSDProcessFault +WSDSetConfigurationOption +WSDXMLAddChild +WSDXMLAddSibling +WSDXMLBuildAnyForSingleElement +WSDXMLCleanupElement +WSDXMLCreateContext +WSDXMLGetNameFromBuiltinNamespace +WSDXMLGetValueFromAny diff --git a/lib/libc/mingw/libarm32/aclui.def b/lib/libc/mingw/libarm32/aclui.def new file mode 100644 index 0000000000..7a7961dfe8 --- /dev/null +++ b/lib/libc/mingw/libarm32/aclui.def @@ -0,0 +1,15 @@ +; +; Definition file of ACLUI.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "ACLUI.dll" +EXPORTS +CreateSecurityPage +EditSecurity +EditSecurityAdvanced +EditResourceCondition +EditConditionalAceClaims +GetLocalizedStringForCondition +GetTlsIndexForClaimDictionary +IID_ISecurityInformation diff --git a/lib/libc/mingw/libarm32/apphelp.def b/lib/libc/mingw/libarm32/apphelp.def new file mode 100644 index 0000000000..fc732ce675 --- /dev/null +++ b/lib/libc/mingw/libarm32/apphelp.def @@ -0,0 +1,260 @@ +; +; Definition file of apphelp.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "apphelp.dll" +EXPORTS +ord_1 @1 +ord_2 @2 +ord_3 @3 +ord_4 @4 +ord_5 @5 +ord_6 @6 +ord_7 @7 +ord_8 @8 +ord_9 @9 +ord_10 @10 +ord_11 @11 +ord_12 @12 +ord_13 @13 +ord_14 @14 +AllowPermLayer +ApphelpCheckExe +ord_17 @17 +ord_18 @18 +ord_19 @19 +ord_20 @20 +ord_21 @21 +ord_22 @22 +ord_23 @23 +ord_24 @24 +ord_25 @25 +ord_26 @26 +ord_27 @27 +ord_28 @28 +ord_29 @29 +ord_30 @30 +ord_31 @31 +ord_32 @32 +ord_33 @33 +ApphelpCheckIME +ApphelpCheckInstallShieldPackage +ApphelpCheckModule +ApphelpCheckMsiPackage +ApphelpCheckRunApp +ApphelpCheckRunAppEx +ApphelpCheckShellObject +ApphelpCreateAppcompatData +ApphelpDebugPrintf +ApphelpFixMsiPackage +ApphelpFixMsiPackageExe +ApphelpFreeFileAttributes +ApphelpGetFileAttributes +ApphelpGetMsiProperties +ApphelpGetNTVDMInfo +ApphelpGetShimDebugLevel +ApphelpIsPortMonAllowed +ApphelpParseModuleData +ApphelpQueryModuleData +ApphelpQueryModuleDataEx +ApphelpShowDialog +ApphelpUpdateCacheEntry +DlEnumChannels +DlGetStateEx +DlSetFlagsEx +DlSetLevelEx +DlSetStateEx +DlSnapshot +GetPermLayers +SE_AddHookset +SE_CALLBACK_AddHook +SE_CALLBACK_Lookup +SE_COM_AddHook +SE_COM_AddServer +SE_COM_HookInterface +SE_COM_HookObject +SE_COM_Lookup +SE_DllLoaded +SE_DllUnloaded +SE_DynamicShim +SE_GetHookAPIs +SE_GetMaxShimCount +SE_GetProcAddressForCaller +SE_GetProcAddressIgnoreIncExc +SE_GetProcAddressLoad +SE_GetShimCount +SE_GetShimId +SE_InitializeEngine +SE_InstallAfterInit +SE_InstallBeforeInit +SE_IsShimDll +SE_LdrEntryRemoved +SE_LdrResolveDllName +SE_LookupAddress +SE_LookupCaller +SE_ProcessDying +SE_ShimDPF +SE_ShimDllLoaded +SE_WINRT_AddHook +SE_WINRT_HookObject +SdbAddLayerTagRefToQuery +SdbApphelpNotify +SdbApphelpNotifyEx +SdbApphelpNotifyEx2 +SdbBeginWriteListTag +SdbBuildCompatEnvVariables +SdbCloseApphelpInformation +SdbCloseDatabase +SdbCloseDatabaseWrite +SdbCloseLocalDatabase +SdbCommitIndexes +SdbCreateDatabase +SdbCreateHelpCenterURL +SdbCreateMsiTransformFile +SdbDeclareIndex +SdbDeletePermLayerKeys +SdbDumpSearchPathPartCaches +SdbEndWriteListTag +SdbEnumMsiTransforms +SdbEscapeApphelpURL +SdbFindCustomActionForPackage +SdbFindFirstDWORDIndexedTag +SdbFindFirstGUIDIndexedTag +SdbFindFirstMsiPackage +SdbFindFirstMsiPackage_Str +SdbFindFirstNamedTag +SdbFindFirstStringIndexedTag +SdbFindFirstTag +SdbFindFirstTagRef +SdbFindMsiPackageByID +SdbFindNextDWORDIndexedTag +SdbFindNextGUIDIndexedTag +SdbFindNextMsiPackage +SdbFindNextStringIndexedTag +SdbFindNextTag +SdbFindNextTagRef +SdbFormatAttribute +SdbFreeDatabaseInformation +SdbFreeFileAttributes +SdbFreeFileInfo +SdbFreeFlagInfo +SdbGUIDFromString +SdbGUIDToString +SdbGetAppCompatDataSize +SdbGetAppPatchDir +SdbGetBinaryTagData +SdbGetDatabaseGUID +SdbGetDatabaseID +SdbGetDatabaseInformation +SdbGetDatabaseInformationByName +SdbGetDatabaseMatch +SdbGetDatabaseVersion +SdbGetDllPath +SdbGetEntryFlags +SdbGetFileAttributes +SdbGetFileImageType +SdbGetFileImageTypeEx +SdbGetFileInfo +SdbGetFirstChild +SdbGetImageType +SdbGetIndex +SdbGetItemFromItemRef +SdbGetLayerName +SdbGetLayerTagRef +SdbGetLocalPDB +SdbGetMatchingExe +SdbGetMsiPackageInformation +SdbGetNamedLayer +SdbGetNextChild +SdbGetNthUserSdb +SdbGetPDBFromGUID +SdbGetPermLayerKeys +SdbGetShowDebugInfoOption +SdbGetShowDebugInfoOptionValue +SdbGetStandardDatabaseGUID +SdbGetStringTagPtr +SdbGetTagDataSize +SdbGetTagFromTagID +SdbGrabMatchingInfo +SdbGrabMatchingInfoEx +SdbInitDatabase +SdbInitDatabaseEx +SdbIsNullGUID +SdbIsStandardDatabase +SdbIsTagrefFromLocalDB +SdbIsTagrefFromMainDB +SdbLoadString +SdbMakeIndexKeyFromString +SdbOpenApphelpDetailsDatabase +SdbOpenApphelpDetailsDatabaseSP +SdbOpenApphelpInformation +SdbOpenApphelpInformationByID +SdbOpenApphelpResourceFile +SdbOpenDatabase +SdbOpenDbFromGuid +SdbOpenLocalDatabase +SdbPackAppCompatData +SdbQueryApphelpInformation +SdbQueryBlockUpgrade +SdbQueryContext +SdbQueryData +SdbQueryDataEx +SdbQueryDataExTagID +SdbQueryFlagInfo +SdbQueryFlagMask +SdbQueryName +SdbQueryReinstallUpgrade +SdbReadApphelpData +SdbReadApphelpDetailsData +SdbReadBYTETag +SdbReadBYTETagRef +SdbReadBinaryTag +SdbReadDWORDTag +SdbReadDWORDTagRef +SdbReadEntryInformation +SdbReadMsiTransformInfo +SdbReadPatchBits +SdbReadQWORDTag +SdbReadQWORDTagRef +SdbReadStringTag +SdbReadStringTagRef +SdbReadWORDTag +SdbReadWORDTagRef +SdbRegisterDatabase +SdbRegisterDatabaseEx +SdbReleaseDatabase +SdbReleaseMatchingExe +SdbResolveDatabase +SdbSetApphelpDebugParameters +SdbSetEntryFlags +SdbSetImageType +SdbSetPermLayerKeys +SdbShowApphelpDialog +SdbShowApphelpFromQuery +SdbStartIndexing +SdbStopIndexing +SdbStringDuplicate +SdbStringReplace +SdbStringReplaceArray +SdbTagIDToTagRef +SdbTagRefToTagID +SdbTagToString +SdbUnpackAppCompatData +SdbUnregisterDatabase +SdbWriteBYTETag +SdbWriteBinaryTag +SdbWriteBinaryTagFromFile +SdbWriteDWORDTag +SdbWriteNULLTag +SdbWriteQWORDTag +SdbWriteStringRefTag +SdbWriteStringTag +SdbWriteStringTagDirect +SdbWriteWORDTag +SetPermLayerState +SetPermLayerStateEx +SetPermLayers +ShimDbgPrint +ShimDumpCache +ShimFlushCache diff --git a/lib/libc/mingw/libarm32/certpoleng.def b/lib/libc/mingw/libarm32/certpoleng.def new file mode 100644 index 0000000000..d3b22ef33d --- /dev/null +++ b/lib/libc/mingw/libarm32/certpoleng.def @@ -0,0 +1,15 @@ +; +; Definition file of certpoleng.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "certpoleng.dll" +EXPORTS +PstAcquirePrivateKey +PstGetCertificateChain +PstGetCertificates +PstGetTrustAnchors +PstGetTrustAnchorsEx +PstGetUserNameForCertificate +PstMapCertificate +PstValidate diff --git a/lib/libc/mingw/libarm32/clfsw32.def b/lib/libc/mingw/libarm32/clfsw32.def new file mode 100644 index 0000000000..dcec605438 --- /dev/null +++ b/lib/libc/mingw/libarm32/clfsw32.def @@ -0,0 +1,70 @@ +; +; Definition file of clfsw32.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "clfsw32.dll" +EXPORTS +LsnDecrement +AddLogContainer +AddLogContainerSet +AdvanceLogBase +AlignReservedLog +AllocReservedLog +CLFS_LSN_INVALID +CLFS_LSN_NULL +CloseAndResetLogFile +CreateLogContainerScanContext +CreateLogFile +CreateLogMarshallingArea +DeleteLogByHandle +DeleteLogFile +DeleteLogMarshallingArea +DeregisterManageableLogClient +DumpLogRecords +FlushLogBuffers +FlushLogToLsn +FreeReservedLog +GetLogContainerName +GetLogFileInformation +GetLogIoStatistics +GetLogReservationInfo +GetNextLogArchiveExtent +HandleLogFull +InstallLogPolicy +LogTailAdvanceFailure +LsnBlockOffset +LsnContainer +LsnCreate +LsnEqual +LsnGreater +LsnIncrement +LsnInvalid +LsnLess +LsnNull +LsnRecordSequence +PrepareLogArchive +QueryLogPolicy +ReadLogArchiveMetadata +ReadLogNotification +ReadLogRecord +ReadLogRestartArea +ReadNextLogRecord +ReadPreviousLogRestartArea +RegisterForLogWriteNotification +RegisterManageableLogClient +RemoveLogContainer +RemoveLogContainerSet +RemoveLogPolicy +ReserveAndAppendLog +ReserveAndAppendLogAligned +ScanLogContainers +SetEndOfLog +SetLogArchiveMode +SetLogArchiveTail +SetLogFileSizeWithPolicy +TerminateLogArchive +TerminateReadLog +TruncateLog +ValidateLog +WriteLogRestartArea diff --git a/lib/libc/mingw/libarm32/comsvcs.def b/lib/libc/mingw/libarm32/comsvcs.def new file mode 100644 index 0000000000..efb1ff3fbe --- /dev/null +++ b/lib/libc/mingw/libarm32/comsvcs.def @@ -0,0 +1,25 @@ +; +; Definition file of comsvcs.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "comsvcs.dll" +EXPORTS +CosGetCallContext +ord_6 @6 +ord_7 @7 +CoCreateActivity +CoEnterServiceDomain +CoLeaveServiceDomain +CoLoadServices +ComSvcsExceptionFilter +ComSvcsLogError +DispManGetContext +GetMTAThreadPoolMetrics +GetManagedExtensions +GetObjectContext +GetTrkSvrObject +MTSCreateActivity +MiniDumpW +RecycleSurrogate +SafeRef diff --git a/lib/libc/mingw/libarm32/d3d10_1.def b/lib/libc/mingw/libarm32/d3d10_1.def new file mode 100644 index 0000000000..98582a78fa --- /dev/null +++ b/lib/libc/mingw/libarm32/d3d10_1.def @@ -0,0 +1,37 @@ +; +; Definition file of d3d10_1.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "d3d10_1.dll" +EXPORTS +RevertToOldImplementation +D3D10CompileEffectFromMemory +D3D10CompileShader +D3D10CreateBlob +D3D10CreateDevice1 +D3D10CreateDeviceAndSwapChain1 +D3D10CreateEffectFromMemory +D3D10CreateEffectPoolFromMemory +D3D10CreateStateBlock +D3D10DisassembleEffect +D3D10DisassembleShader +D3D10GetGeometryShaderProfile +D3D10GetInputAndOutputSignatureBlob +D3D10GetInputSignatureBlob +D3D10GetOutputSignatureBlob +D3D10GetPixelShaderProfile +D3D10GetShaderDebugInfo +D3D10GetVersion +D3D10GetVertexShaderProfile +D3D10PreprocessShader +D3D10ReflectShader +D3D10RegisterLayers +D3D10StateBlockMaskDifference +D3D10StateBlockMaskDisableAll +D3D10StateBlockMaskDisableCapture +D3D10StateBlockMaskEnableAll +D3D10StateBlockMaskEnableCapture +D3D10StateBlockMaskGetSetting +D3D10StateBlockMaskIntersect +D3D10StateBlockMaskUnion diff --git a/lib/libc/mingw/libarm32/deviceaccess.def b/lib/libc/mingw/libarm32/deviceaccess.def new file mode 100644 index 0000000000..33570bb08c --- /dev/null +++ b/lib/libc/mingw/libarm32/deviceaccess.def @@ -0,0 +1,8 @@ +; +; Definition file of deviceaccess.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "deviceaccess.dll" +EXPORTS +CreateDeviceAccessInstance diff --git a/lib/libc/mingw/libarm32/dhcpcsvc6.def b/lib/libc/mingw/libarm32/dhcpcsvc6.def new file mode 100644 index 0000000000..3f80fbf6a9 --- /dev/null +++ b/lib/libc/mingw/libarm32/dhcpcsvc6.def @@ -0,0 +1,29 @@ +; +; Definition file of dhcpcsvc6.DLL +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "dhcpcsvc6.DLL" +EXPORTS +Dhcpv6AcquireParameters +Dhcpv6CApiCleanup +Dhcpv6CApiInitialize +Dhcpv6CancelOperation +Dhcpv6EnableDhcp +Dhcpv6EnableTracing +Dhcpv6FreeLeaseInfo +Dhcpv6FreeLeaseInfoArray +Dhcpv6GetTraceArray +Dhcpv6GetUserClasses +Dhcpv6IsEnabled +Dhcpv6QueryLeaseInfo +Dhcpv6QueryLeaseInfoArray +Dhcpv6ReleaseParameters +Dhcpv6ReleasePrefix +Dhcpv6ReleasePrefixEx +Dhcpv6RenewPrefix +Dhcpv6RenewPrefixEx +Dhcpv6RequestParams +Dhcpv6RequestPrefix +Dhcpv6RequestPrefixEx +Dhcpv6SetUserClass diff --git a/lib/libc/mingw/libarm32/drt.def b/lib/libc/mingw/libarm32/drt.def new file mode 100644 index 0000000000..ccfcecc4e4 --- /dev/null +++ b/lib/libc/mingw/libarm32/drt.def @@ -0,0 +1,28 @@ +; +; Definition file of drt.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "drt.dll" +EXPORTS +DrtFlushCache +DrtGetCacheStatsEx +DrtHandlePowerEvent +DrtPingPeer +DrtStartPartitionDetection +DrtClose +DrtContinueSearch +DrtEndSearch +DrtGetEventData +DrtGetEventDataSize +DrtGetInstanceName +DrtGetInstanceNameSize +DrtGetSearchPath +DrtGetSearchPathSize +DrtGetSearchResult +DrtGetSearchResultSize +DrtOpen +DrtRegisterKey +DrtStartSearch +DrtUnregisterKey +DrtUpdateKey diff --git a/lib/libc/mingw/libarm32/drtprov.def b/lib/libc/mingw/libarm32/drtprov.def new file mode 100644 index 0000000000..f884ba7294 --- /dev/null +++ b/lib/libc/mingw/libarm32/drtprov.def @@ -0,0 +1,16 @@ +; +; Definition file of drtprov.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "drtprov.dll" +EXPORTS +DrtCreateDerivedKey +DrtCreateDerivedKeySecurityProvider +DrtCreateDnsBootstrapResolver +DrtCreateNullSecurityProvider +DrtCreatePnrpBootstrapResolver +DrtDeleteDerivedKeySecurityProvider +DrtDeleteDnsBootstrapResolver +DrtDeleteNullSecurityProvider +DrtDeletePnrpBootstrapResolver diff --git a/lib/libc/mingw/libarm32/drttransport.def b/lib/libc/mingw/libarm32/drttransport.def new file mode 100644 index 0000000000..fec0329fea --- /dev/null +++ b/lib/libc/mingw/libarm32/drttransport.def @@ -0,0 +1,9 @@ +; +; Definition file of drttransport.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "drttransport.dll" +EXPORTS +DrtCreateIpv6UdpTransport +DrtDeleteIpv6UdpTransport diff --git a/lib/libc/mingw/libarm32/dsparse.def b/lib/libc/mingw/libarm32/dsparse.def new file mode 100644 index 0000000000..2642004bad --- /dev/null +++ b/lib/libc/mingw/libarm32/dsparse.def @@ -0,0 +1,26 @@ +; +; Definition file of DSPARSE.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "DSPARSE.dll" +EXPORTS +DsCrackSpn2A +DsCrackSpn2W +DsCrackSpn3W +DsCrackSpn4W +DsCrackSpnA +DsCrackSpnW +DsCrackUnquotedMangledRdnA +DsCrackUnquotedMangledRdnW +DsGetRdnW +DsIsMangledDnA +DsIsMangledDnW +DsIsMangledRdnValueA +DsIsMangledRdnValueW +DsMakeSpnA +DsMakeSpnW +DsQuoteRdnValueA +DsQuoteRdnValueW +DsUnquoteRdnValueA +DsUnquoteRdnValueW diff --git a/lib/libc/mingw/libarm32/efswrt.def b/lib/libc/mingw/libarm32/efswrt.def new file mode 100644 index 0000000000..e149d878ee --- /dev/null +++ b/lib/libc/mingw/libarm32/efswrt.def @@ -0,0 +1,11 @@ +; +; Definition file of efswrt.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "efswrt.dll" +EXPORTS +EnterpriseDataCopyProtection +EnterpriseDataGetStatus +EnterpriseDataProtect +EnterpriseDataRevoke diff --git a/lib/libc/mingw/libarm32/esent.def b/lib/libc/mingw/libarm32/esent.def new file mode 100644 index 0000000000..140c22f8a3 --- /dev/null +++ b/lib/libc/mingw/libarm32/esent.def @@ -0,0 +1,363 @@ +; +; Definition file of ESENT.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "ESENT.dll" +EXPORTS +DebugExtensionInitialize +DebugExtensionNotify +DebugExtensionUninitialize +JetAddColumn +JetAddColumnA +JetAddColumnW +JetAttachDatabase +JetAttachDatabase2 +JetAttachDatabase2A +JetAttachDatabase2W +JetAttachDatabaseA +JetAttachDatabaseW +JetAttachDatabaseWithStreaming +JetAttachDatabaseWithStreamingA +JetAttachDatabaseWithStreamingW +JetBackup +JetBackupA +JetBackupInstance +JetBackupInstanceA +JetBackupInstanceW +JetBackupW +JetBeginDatabaseIncrementalReseed +JetBeginDatabaseIncrementalReseedA +JetBeginDatabaseIncrementalReseedW +JetBeginExternalBackup +JetBeginExternalBackupInstance +JetBeginSession +JetBeginSessionA +JetBeginSessionW +JetBeginSurrogateBackup +JetBeginTransaction +JetBeginTransaction2 +JetBeginTransaction3 +JetCloseDatabase +JetCloseFile +JetCloseFileInstance +JetCloseTable +JetCommitTransaction +JetCommitTransaction2 +JetCompact +JetCompactA +JetCompactW +JetComputeStats +JetConfigureProcessForCrashDump +JetConsumeLogData +JetConvertDDL +JetConvertDDLA +JetConvertDDLW +JetCreateDatabase +JetCreateDatabase2 +JetCreateDatabase2A +JetCreateDatabase2W +JetCreateDatabaseA +JetCreateDatabaseW +JetCreateDatabaseWithStreaming +JetCreateDatabaseWithStreamingA +JetCreateDatabaseWithStreamingW +JetCreateIndex +JetCreateIndex2 +JetCreateIndex2A +JetCreateIndex2W +JetCreateIndex3A +JetCreateIndex3W +JetCreateIndex4A +JetCreateIndex4W +JetCreateIndexA +JetCreateIndexW +JetCreateInstance +JetCreateInstance2 +JetCreateInstance2A +JetCreateInstance2W +JetCreateInstanceA +JetCreateInstanceW +JetCreateTable +JetCreateTableA +JetCreateTableColumnIndex +JetCreateTableColumnIndex2 +JetCreateTableColumnIndex2A +JetCreateTableColumnIndex2W +JetCreateTableColumnIndex3A +JetCreateTableColumnIndex3W +JetCreateTableColumnIndex4A +JetCreateTableColumnIndex4W +JetCreateTableColumnIndexA +JetCreateTableColumnIndexW +JetCreateTableW +JetDBUtilities +JetDBUtilitiesA +JetDBUtilitiesW +JetDatabaseScan +JetDefragment +JetDefragment2 +JetDefragment2A +JetDefragment2W +JetDefragment3 +JetDefragment3A +JetDefragment3W +JetDefragmentA +JetDefragmentW +JetDelete +JetDeleteColumn +JetDeleteColumn2 +JetDeleteColumn2A +JetDeleteColumn2W +JetDeleteColumnA +JetDeleteColumnW +JetDeleteIndex +JetDeleteIndexA +JetDeleteIndexW +JetDeleteTable +JetDeleteTableA +JetDeleteTableW +JetDetachDatabase +JetDetachDatabase2 +JetDetachDatabase2A +JetDetachDatabase2W +JetDetachDatabaseA +JetDetachDatabaseW +JetDupCursor +JetDupSession +JetEnableMultiInstance +JetEnableMultiInstanceA +JetEnableMultiInstanceW +JetEndDatabaseIncrementalReseed +JetEndDatabaseIncrementalReseedA +JetEndDatabaseIncrementalReseedW +JetEndExternalBackup +JetEndExternalBackupInstance +JetEndExternalBackupInstance2 +JetEndSession +JetEndSurrogateBackup +JetEnumerateColumns +JetEscrowUpdate +JetExternalRestore +JetExternalRestore2 +JetExternalRestore2A +JetExternalRestore2W +JetExternalRestoreA +JetExternalRestoreW +JetFreeBuffer +JetGetAttachInfo +JetGetAttachInfoA +JetGetAttachInfoInstance +JetGetAttachInfoInstanceA +JetGetAttachInfoInstanceW +JetGetAttachInfoW +JetGetBookmark +JetGetColumnInfo +JetGetColumnInfoA +JetGetColumnInfoW +JetGetCounter +JetGetCurrentIndex +JetGetCurrentIndexA +JetGetCurrentIndexW +JetGetCursorInfo +JetGetDatabaseFileInfo +JetGetDatabaseFileInfoA +JetGetDatabaseFileInfoW +JetGetDatabaseInfo +JetGetDatabaseInfoA +JetGetDatabaseInfoW +JetGetDatabasePages +JetGetErrorInfoW +JetGetIndexInfo +JetGetIndexInfoA +JetGetIndexInfoW +JetGetInstanceInfo +JetGetInstanceInfoA +JetGetInstanceInfoW +JetGetInstanceMiscInfo +JetGetLS +JetGetLock +JetGetLogFileInfo +JetGetLogFileInfoA +JetGetLogFileInfoW +JetGetLogInfo +JetGetLogInfoA +JetGetLogInfoInstance +JetGetLogInfoInstance2 +JetGetLogInfoInstance2A +JetGetLogInfoInstance2W +JetGetLogInfoInstanceA +JetGetLogInfoInstanceW +JetGetLogInfoW +JetGetMaxDatabaseSize +JetGetObjectInfo +JetGetObjectInfoA +JetGetObjectInfoW +JetGetPageInfo +JetGetPageInfo2 +JetGetRecordPosition +JetGetRecordSize +JetGetRecordSize2 +JetGetResourceParam +JetGetSecondaryIndexBookmark +JetGetSessionInfo +JetGetSessionParameter +JetGetSystemParameter +JetGetSystemParameterA +JetGetSystemParameterW +JetGetTableColumnInfo +JetGetTableColumnInfoA +JetGetTableColumnInfoW +JetGetTableIndexInfo +JetGetTableIndexInfoA +JetGetTableIndexInfoW +JetGetTableInfo +JetGetTableInfoA +JetGetTableInfoW +JetGetThreadStats +JetGetTruncateLogInfoInstance +JetGetTruncateLogInfoInstanceA +JetGetTruncateLogInfoInstanceW +JetGetVersion +JetGotoBookmark +JetGotoPosition +JetGotoSecondaryIndexBookmark +JetGrowDatabase +JetIdle +JetIndexRecordCount +JetInit +JetInit2 +JetInit3 +JetInit3A +JetInit3W +JetInit4 +JetInit4A +JetInit4W +JetIntersectIndexes +JetMakeKey +JetMove +JetOSSnapshotAbort +JetOSSnapshotEnd +JetOSSnapshotFreeze +JetOSSnapshotFreezeA +JetOSSnapshotFreezeW +JetOSSnapshotGetFreezeInfo +JetOSSnapshotGetFreezeInfoA +JetOSSnapshotGetFreezeInfoW +JetOSSnapshotPrepare +JetOSSnapshotPrepareInstance +JetOSSnapshotThaw +JetOSSnapshotTruncateLog +JetOSSnapshotTruncateLogInstance +JetOnlinePatchDatabasePage +JetOpenDatabase +JetOpenDatabaseA +JetOpenDatabaseW +JetOpenFile +JetOpenFileA +JetOpenFileInstance +JetOpenFileInstanceA +JetOpenFileInstanceW +JetOpenFileSectionInstance +JetOpenFileSectionInstanceA +JetOpenFileSectionInstanceW +JetOpenFileW +JetOpenTable +JetOpenTableA +JetOpenTableW +JetOpenTempTable +JetOpenTempTable2 +JetOpenTempTable3 +JetOpenTemporaryTable +JetOpenTemporaryTable2 +JetPatchDatabasePages +JetPatchDatabasePagesA +JetPatchDatabasePagesW +JetPrepareToCommitTransaction +JetPrepareUpdate +JetPrereadIndexRanges +JetPrereadKeys +JetPrereadTablesW +JetReadFile +JetReadFileInstance +JetRegisterCallback +JetRemoveLogfileA +JetRemoveLogfileW +JetRenameColumn +JetRenameColumnA +JetRenameColumnW +JetRenameTable +JetRenameTableA +JetRenameTableW +JetResetCounter +JetResetSessionContext +JetResetTableSequential +JetResizeDatabase +JetRestore +JetRestore2 +JetRestore2A +JetRestore2W +JetRestoreA +JetRestoreInstance +JetRestoreInstanceA +JetRestoreInstanceW +JetRestoreW +JetRetrieveColumn +JetRetrieveColumns +JetRetrieveKey +JetRetrieveTaggedColumnList +JetRollback +JetSeek +JetSetColumn +JetSetColumnDefaultValue +JetSetColumnDefaultValueA +JetSetColumnDefaultValueW +JetSetColumns +JetSetCurrentIndex +JetSetCurrentIndex2 +JetSetCurrentIndex2A +JetSetCurrentIndex2W +JetSetCurrentIndex3 +JetSetCurrentIndex3A +JetSetCurrentIndex3W +JetSetCurrentIndex4 +JetSetCurrentIndex4A +JetSetCurrentIndex4W +JetSetCurrentIndexA +JetSetCurrentIndexW +JetSetCursorFilter +JetSetDatabaseSize +JetSetDatabaseSizeA +JetSetDatabaseSizeW +JetSetIndexRange +JetSetLS +JetSetMaxDatabaseSize +JetSetResourceParam +JetSetSessionContext +JetSetSessionParameter +JetSetSystemParameter +JetSetSystemParameterA +JetSetSystemParameterW +JetSetTableSequential +JetSnapshotStart +JetSnapshotStartA +JetSnapshotStartW +JetSnapshotStop +JetStopBackup +JetStopBackupInstance +JetStopService +JetStopServiceInstance +JetStopServiceInstance2 +JetTerm +JetTerm2 +JetTestHook +JetTracing +JetTruncateLog +JetTruncateLogInstance +JetUnregisterCallback +JetUpdate +JetUpdate2 +JetUpgradeDatabase +JetUpgradeDatabaseA +JetUpgradeDatabaseW +ese diff --git a/lib/libc/mingw/libarm32/faultrep.def b/lib/libc/mingw/libarm32/faultrep.def new file mode 100644 index 0000000000..bf6d970a22 --- /dev/null +++ b/lib/libc/mingw/libarm32/faultrep.def @@ -0,0 +1,17 @@ +; +; Definition file of faultrep.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "faultrep.dll" +EXPORTS +ord_1 @1 +CheckPerUserCrossProcessThrottle +UpdatePerUserLastCrossProcessCollectionTime +AddERExcludedApplicationA +AddERExcludedApplicationW +CancelHangReporting +ReportFault +ReportHang +WerReportHang +WerpInitiateCrashReporting diff --git a/lib/libc/mingw/libarm32/fhsvcctl.def b/lib/libc/mingw/libarm32/fhsvcctl.def new file mode 100644 index 0000000000..f6480a1b75 --- /dev/null +++ b/lib/libc/mingw/libarm32/fhsvcctl.def @@ -0,0 +1,20 @@ +; +; Definition file of fhsvcctl.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "fhsvcctl.dll" +EXPORTS +FhQueryConfiguredUsersCount +FhServiceBlockBackup +FhServiceClearProtectionState +FhServiceClosePipe +FhServiceEnterMaintenanceMode +FhServiceExitMaintenanceMode +FhServiceMigrationFinished +FhServiceMigrationStarting +FhServiceOpenPipe +FhServiceReloadConfiguration +FhServiceStartBackup +FhServiceStopBackup +FhServiceUnblockBackup diff --git a/lib/libc/mingw/libarm32/fwpuclnt.def b/lib/libc/mingw/libarm32/fwpuclnt.def new file mode 100644 index 0000000000..6f29ed7198 --- /dev/null +++ b/lib/libc/mingw/libarm32/fwpuclnt.def @@ -0,0 +1,259 @@ +; +; Definition file of fwpuclnt.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "fwpuclnt.dll" +EXPORTS +FwpiExpandCriteria0 +FwpiFreeCriteria0 +FwpiVpnTriggerAddAppSids +FwpiVpnTriggerAddFilePaths +FwpiVpnTriggerConfigureParameters +FwpiVpnTriggerEventSubscribe0 +FwpiVpnTriggerEventUnsubscribe0 +FwpiVpnTriggerInitializeNrptTriggering +FwpiVpnTriggerRemoveAppSids +FwpiVpnTriggerRemoveFilePaths +FwpiVpnTriggerResetNrptTriggering +FwpiVpnTriggerSetStateDisconnected +FwpiVpnTriggerUninitializeNrptTriggering +FwpmCalloutAdd0 +FwpmCalloutCreateEnumHandle0 +FwpmCalloutDeleteById0 +FwpmCalloutDeleteByKey0 +FwpmCalloutDestroyEnumHandle0 +FwpmCalloutEnum0 +FwpmCalloutGetById0 +FwpmCalloutGetByKey0 +FwpmCalloutGetSecurityInfoByKey0 +FwpmCalloutSetSecurityInfoByKey0 +FwpmCalloutSubscribeChanges0 +FwpmCalloutSubscriptionsGet0 +FwpmCalloutUnsubscribeChanges0 +FwpmConnectionCreateEnumHandle0 +FwpmConnectionDestroyEnumHandle0 +FwpmConnectionEnum0 +FwpmConnectionGetById0 +FwpmConnectionGetSecurityInfo0 +FwpmConnectionSetSecurityInfo0 +FwpmConnectionSubscribe0 +FwpmConnectionUnsubscribe0 +FwpmDiagnoseNetFailure0 +FwpmEngineClose0 +FwpmEngineGetOption0 +FwpmEngineGetSecurityInfo0 +FwpmEngineOpen0 +FwpmEngineSetOption0 +FwpmEngineSetSecurityInfo0 +FwpmEventProviderCreate0 +FwpmEventProviderDestroy0 +FwpmEventProviderFireNetEvent0 +FwpmEventProviderIsNetEventTypeEnabled0 +FwpmFilterAdd0 +FwpmFilterCreateEnumHandle0 +FwpmFilterDeleteById0 +FwpmFilterDeleteByKey0 +FwpmFilterDestroyEnumHandle0 +FwpmFilterEnum0 +FwpmFilterGetById0 +FwpmFilterGetByKey0 +FwpmFilterGetSecurityInfoByKey0 +FwpmFilterSetSecurityInfoByKey0 +FwpmFilterSubscribeChanges0 +FwpmFilterSubscriptionsGet0 +FwpmFilterUnsubscribeChanges0 +FwpmFreeMemory0 +FwpmGetAppIdFromFileName0 +FwpmGetSidFromOnlineId0 +FwpmIPsecTunnelAdd0 +FwpmIPsecTunnelAdd1 +FwpmIPsecTunnelAdd2 +FwpmIPsecTunnelAddConditions0 +FwpmIPsecTunnelDeleteByKey0 +FwpmLayerCreateEnumHandle0 +FwpmLayerDestroyEnumHandle0 +FwpmLayerEnum0 +FwpmLayerGetById0 +FwpmLayerGetByKey0 +FwpmLayerGetSecurityInfoByKey0 +FwpmLayerSetSecurityInfoByKey0 +FwpmNetEventCreateEnumHandle0 +FwpmNetEventDestroyEnumHandle0 +FwpmNetEventEnum0 +FwpmNetEventEnum1 +FwpmNetEventEnum2 +FwpmNetEventSubscribe0 +FwpmNetEventSubscribe1 +FwpmNetEventSubscriptionsGet0 +FwpmNetEventUnsubscribe0 +FwpmNetEventsGetSecurityInfo0 +FwpmNetEventsLost0 +FwpmNetEventsSetSecurityInfo0 +FwpmProcessNameResolutionEvent0 +FwpmProviderAdd0 +FwpmProviderContextAdd0 +FwpmProviderContextAdd1 +FwpmProviderContextAdd2 +FwpmProviderContextCreateEnumHandle0 +FwpmProviderContextDeleteById0 +FwpmProviderContextDeleteByKey0 +FwpmProviderContextDestroyEnumHandle0 +FwpmProviderContextEnum0 +FwpmProviderContextEnum1 +FwpmProviderContextEnum2 +FwpmProviderContextGetById0 +FwpmProviderContextGetById1 +FwpmProviderContextGetById2 +FwpmProviderContextGetByKey0 +FwpmProviderContextGetByKey1 +FwpmProviderContextGetByKey2 +FwpmProviderContextGetSecurityInfoByKey0 +FwpmProviderContextSetSecurityInfoByKey0 +FwpmProviderContextSubscribeChanges0 +FwpmProviderContextSubscriptionsGet0 +FwpmProviderContextUnsubscribeChanges0 +FwpmProviderCreateEnumHandle0 +FwpmProviderDeleteByKey0 +FwpmProviderDestroyEnumHandle0 +FwpmProviderEnum0 +FwpmProviderGetByKey0 +FwpmProviderGetSecurityInfoByKey0 +FwpmProviderSetSecurityInfoByKey0 +FwpmProviderSubscribeChanges0 +FwpmProviderSubscriptionsGet0 +FwpmProviderUnsubscribeChanges0 +FwpmSessionCreateEnumHandle0 +FwpmSessionDestroyEnumHandle0 +FwpmSessionEnum0 +FwpmSubLayerAdd0 +FwpmSubLayerCreateEnumHandle0 +FwpmSubLayerDeleteByKey0 +FwpmSubLayerDestroyEnumHandle0 +FwpmSubLayerEnum0 +FwpmSubLayerGetByKey0 +FwpmSubLayerGetSecurityInfoByKey0 +FwpmSubLayerSetSecurityInfoByKey0 +FwpmSubLayerSubscribeChanges0 +FwpmSubLayerSubscriptionsGet0 +FwpmSubLayerUnsubscribeChanges0 +FwpmSystemPortsGet0 +FwpmSystemPortsSubscribe0 +FwpmSystemPortsUnsubscribe0 +FwpmTraceRestoreDefaults0 +FwpmTransactionAbort0 +FwpmTransactionBegin0 +FwpmTransactionCommit0 +FwpmvSwitchEventSubscribe0 +FwpmvSwitchEventUnsubscribe0 +FwpmvSwitchEventsGetSecurityInfo0 +FwpmvSwitchEventsSetSecurityInfo0 +FwppConnectionGetByIPsecInfo +FwpsAleEndpointCreateEnumHandle0 +FwpsAleEndpointDestroyEnumHandle0 +FwpsAleEndpointEnum0 +FwpsAleEndpointGetById0 +FwpsAleEndpointGetSecurityInfo0 +FwpsAleEndpointSetSecurityInfo0 +FwpsAleExplicitCredentialsQuery0 +FwpsAleGetPortStatus0 +FwpsClassifyUser0 +FwpsFreeMemory0 +FwpsGetInProcReplicaOffset0 +FwpsLayerCreateInProcReplica0 +FwpsLayerReleaseInProcReplica0 +FwpsOpenToken0 +FwpsQueryIPsecDosFWUsed0 +FwpsQueryIPsecOffloadDone0 +GetUnifiedTraceHandle +IPsecDospGetSecurityInfo0 +IPsecDospGetStatistics0 +IPsecDospSetSecurityInfo0 +IPsecDospStateCreateEnumHandle0 +IPsecDospStateDestroyEnumHandle0 +IPsecDospStateEnum0 +IPsecGetKeyFromDictator0 +IPsecGetStatistics0 +IPsecGetStatistics1 +IPsecKeyDictationCheck0 +IPsecKeyManagerAddAndRegister0 +IPsecKeyManagerGetSecurityInfoByKey0 +IPsecKeyManagerSetSecurityInfoByKey0 +IPsecKeyManagerUnregisterAndDelete0 +IPsecKeyManagersGet0 +IPsecKeyModuleAdd0 +IPsecKeyModuleDelete0 +IPsecKeyModuleUpdateAcquire0 +IPsecKeyNotification0 +IPsecSaContextAddInbound0 +IPsecSaContextAddInbound1 +IPsecSaContextAddInboundAndTrackConnection +IPsecSaContextAddOutbound0 +IPsecSaContextAddOutbound1 +IPsecSaContextAddOutboundAndTrackConnection +IPsecSaContextCreate0 +IPsecSaContextCreate1 +IPsecSaContextCreateEnumHandle0 +IPsecSaContextDeleteById0 +IPsecSaContextDestroyEnumHandle0 +IPsecSaContextEnum0 +IPsecSaContextEnum1 +IPsecSaContextExpire0 +IPsecSaContextGetById0 +IPsecSaContextGetById1 +IPsecSaContextGetSpi0 +IPsecSaContextGetSpi1 +IPsecSaContextSetSpi0 +IPsecSaContextSubscribe0 +IPsecSaContextSubscriptionsGet0 +IPsecSaContextUnsubscribe0 +IPsecSaContextUpdate0 +IPsecSaCreateEnumHandle0 +IPsecSaDbGetSecurityInfo0 +IPsecSaDbSetSecurityInfo0 +IPsecSaDestroyEnumHandle0 +IPsecSaEnum0 +IPsecSaEnum1 +IPsecSaInitiateAsync0 +IkeextGetConfigParameters0 +IkeextGetStatistics0 +IkeextGetStatistics1 +IkeextSaCreateEnumHandle0 +IkeextSaDbGetSecurityInfo0 +IkeextSaDbSetSecurityInfo0 +IkeextSaDeleteById0 +IkeextSaDestroyEnumHandle0 +IkeextSaEnum0 +IkeextSaEnum1 +IkeextSaEnum2 +IkeextSaGetById0 +IkeextSaGetById1 +IkeextSaGetById2 +IkeextSaUpdateAdditionalAddressesByTunnelId0 +IkeextSaUpdatePreferredAddressesByTunnelId0 +IkeextSetConfigParameters0 +NamespaceCallout +WFPRIODequeueCompletion +WSADeleteSocketPeerTargetName +WSAImpersonateSocketPeer +WSAQuerySocketSecurity +WSARevertImpersonation +WSASetSocketPeerTargetName +WSASetSocketSecurity +WfpCloseDPConfigureHandle +WfpConfigureDPSecurityDescriptor +WfpCreateDPConfigureHandle +WfpRIOChannelClose +WfpRIOCleanupRequestQueue +WfpRIOCloseCompletionQueue +WfpRIOCreateChannel +WfpRIOCreateCompletionQueue +WfpRIOCreateRequestQueue +WfpRIODeregisterBuffer +WfpRIOIndicateActivityThreshold +WfpRIONotify +WfpRIOReceive +WfpRIORegisterBuffer +WfpRIOResume +WfpRIOSend +WfpRIOSuspend diff --git a/lib/libc/mingw/libarm32/httpapi.def b/lib/libc/mingw/libarm32/httpapi.def new file mode 100644 index 0000000000..2301238b82 --- /dev/null +++ b/lib/libc/mingw/libarm32/httpapi.def @@ -0,0 +1,46 @@ +; +; Definition file of HTTPAPI.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "HTTPAPI.dll" +EXPORTS +HttpAddFragmentToCache +HttpAddUrl +HttpAddUrlToUrlGroup +HttpCancelHttpRequest +HttpCloseRequestQueue +HttpCloseServerSession +HttpCloseUrlGroup +HttpControlService +HttpCreateHttpHandle +HttpCreateRequestQueue +HttpCreateServerSession +HttpCreateUrlGroup +HttpDeleteServiceConfiguration +HttpEvaluateRequest +HttpFlushResponseCache +HttpGetCounters +HttpInitialize +HttpPrepareUrl +HttpQueryRequestQueueProperty +HttpQueryServerSessionProperty +HttpQueryServiceConfiguration +HttpQueryUrlGroupProperty +HttpReadFragmentFromCache +HttpReceiveClientCertificate +HttpReceiveHttpRequest +HttpReceiveRequestEntityBody +HttpRemoveUrl +HttpRemoveUrlFromUrlGroup +HttpSendHttpResponse +HttpSendResponseEntityBody +HttpSetRequestQueueProperty +HttpSetServerSessionProperty +HttpSetServiceConfiguration +HttpSetUrlGroupProperty +HttpShutdownRequestQueue +HttpTerminate +HttpWaitForDemandStart +HttpWaitForDisconnect +HttpWaitForDisconnectEx diff --git a/lib/libc/mingw/libarm32/magnification.def b/lib/libc/mingw/libarm32/magnification.def new file mode 100644 index 0000000000..90f687dcd6 --- /dev/null +++ b/lib/libc/mingw/libarm32/magnification.def @@ -0,0 +1,26 @@ +; +; Definition file of MAGNIFICATION.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "MAGNIFICATION.dll" +EXPORTS +MagGetColorEffect +MagGetFullscreenColorEffect +MagGetFullscreenTransform +MagGetImageScalingCallback +MagGetInputTransform +MagGetWindowFilterList +MagGetWindowSource +MagGetWindowTransform +MagInitialize +MagSetColorEffect +MagSetFullscreenColorEffect +MagSetFullscreenTransform +MagSetImageScalingCallback +MagSetInputTransform +MagSetWindowFilterList +MagSetWindowSource +MagSetWindowTransform +MagShowSystemCursor +MagUninitialize diff --git a/lib/libc/mingw/libarm32/mdmregistration.def b/lib/libc/mingw/libarm32/mdmregistration.def new file mode 100644 index 0000000000..2ed00bb010 --- /dev/null +++ b/lib/libc/mingw/libarm32/mdmregistration.def @@ -0,0 +1,15 @@ +; +; Definition file of MDMRegistration.DLL +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "MDMRegistration.DLL" +EXPORTS +DiscoverManagementService +DiscoverManagementServiceEx +GetManagementAppHyperlink +IsDeviceRegisteredWithManagement +IsManagementRegistrationAllowed +RegisterDeviceWithManagement +SetManagedExternally +UnregisterDeviceWithManagement diff --git a/lib/libc/mingw/libarm32/mfcore.def b/lib/libc/mingw/libarm32/mfcore.def new file mode 100644 index 0000000000..7fdc76f260 --- /dev/null +++ b/lib/libc/mingw/libarm32/mfcore.def @@ -0,0 +1,49 @@ +; +; Definition file of MFCORE.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "MFCORE.dll" +EXPORTS +AppendPropVariant +ConvertPropVariant +CopyPropertyStore +CreateNamedPropertyStore +ExtractPropVariant +MFCopyMFMetadata +MFCreateAggregateSource +MFCreateAppSourceProxy +MFCreateAudioRenderer +MFCreateAudioRendererActivate +MFCreateDeviceSource +MFCreateDeviceSourceActivate +MFCreateFileSchemePlugin +MFCreateMFMetadataOnPropertyStore +MFCreateMediaProcessor +MFCreateMediaSession +MFCreatePMPHost +MFCreatePMPMediaSession +MFCreatePMPServer +MFCreatePresentationClock +MFCreateSampleCopierMFT +MFCreateSampleGrabberSinkActivate +MFCreateSequencerSegmentOffset +MFCreateSequencerSource +MFCreateSequencerSourceRemoteStream +MFCreateSimpleTypeHandler +MFCreateSoundEventSchemePlugin +MFCreateStandardQualityManager +MFCreateTopoLoader +MFCreateTopology +MFCreateTopologyNode +MFCreateTransformWrapper +MFCreateWMAEncoderActivate +MFCreateWMVEncoderActivate +MFEnumDeviceSources +MFGetMultipleServiceProviders +MFGetService +MFGetTopoNodeCurrentType +MFReadSequencerSegmentOffset +MFRequireProtectedEnvironment +MFShutdownObject +MergePropertyStore diff --git a/lib/libc/mingw/libarm32/mfplay.def b/lib/libc/mingw/libarm32/mfplay.def new file mode 100644 index 0000000000..42cdb16537 --- /dev/null +++ b/lib/libc/mingw/libarm32/mfplay.def @@ -0,0 +1,9 @@ +; +; Definition file of MFPlay.DLL +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "MFPlay.DLL" +EXPORTS +MFPCreateMediaPlayer +MFPCreateMediaPlayerEx diff --git a/lib/libc/mingw/libarm32/mfsrcsnk.def b/lib/libc/mingw/libarm32/mfsrcsnk.def new file mode 100644 index 0000000000..8eed55deb9 --- /dev/null +++ b/lib/libc/mingw/libarm32/mfsrcsnk.def @@ -0,0 +1,9 @@ +; +; Definition file of mfsrcsnk.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "mfsrcsnk.dll" +EXPORTS +MFCreateAVIMediaSink +MFCreateWAVEMediaSink diff --git a/lib/libc/mingw/libarm32/mprapi.def b/lib/libc/mingw/libarm32/mprapi.def new file mode 100644 index 0000000000..38cab0a873 --- /dev/null +++ b/lib/libc/mingw/libarm32/mprapi.def @@ -0,0 +1,164 @@ +; +; Definition file of MPRAPI.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "MPRAPI.dll" +EXPORTS +CompressPhoneNumber +MprAdminAddRoutingDomain +MprAdminBufferFree +MprAdminConnectionClearStats +MprAdminConnectionEnum +MprAdminConnectionEnumEx +MprAdminConnectionGetInfo +MprAdminConnectionGetInfoEx +MprAdminConnectionRemoveQuarantine +MprAdminDeleteRoutingDomain +MprAdminDeregisterConnectionNotification +MprAdminDeviceEnum +MprAdminEstablishDomainRasServer +MprAdminFreeRoutingDomainConfigEx +MprAdminGetErrorString +MprAdminGetPDCServer +MprAdminGetProtocolStatistics +MprAdminGetRoutingDomainId +MprAdminInterfaceClearStatisticsEx +MprAdminInterfaceConnect +MprAdminInterfaceCreate +MprAdminInterfaceCreateEx +MprAdminInterfaceDelete +MprAdminInterfaceDeviceGetInfo +MprAdminInterfaceDeviceSetInfo +MprAdminInterfaceDisconnect +MprAdminInterfaceEnum +MprAdminInterfaceEnumEx +MprAdminInterfaceGetCredentials +MprAdminInterfaceGetCredentialsEx +MprAdminInterfaceGetCustomInfoEx +MprAdminInterfaceGetHandle +MprAdminInterfaceGetInfo +MprAdminInterfaceGetInfoEx +MprAdminInterfaceGetStatisticsEx +MprAdminInterfaceQueryUpdateResult +MprAdminInterfaceSetCredentials +MprAdminInterfaceSetCredentialsEx +MprAdminInterfaceSetCustomInfoEx +MprAdminInterfaceSetInfo +MprAdminInterfaceSetInfoEx +MprAdminInterfaceTransportAdd +MprAdminInterfaceTransportGetInfo +MprAdminInterfaceTransportRemove +MprAdminInterfaceTransportSetInfo +MprAdminInterfaceUpdatePhonebookInfo +MprAdminInterfaceUpdateRoutes +MprAdminIsDomainRasServer +MprAdminIsMultiTenancyEnabled +MprAdminIsServiceInitialized +MprAdminIsServiceRunning +MprAdminMIBBufferFree +MprAdminMIBEntryCreate +MprAdminMIBEntryDelete +MprAdminMIBEntryGet +MprAdminMIBEntryGetFirst +MprAdminMIBEntryGetNext +MprAdminMIBEntrySet +MprAdminMIBServerConnect +MprAdminMIBServerDisconnect +MprAdminMarkServerOffline +MprAdminPortClearStats +MprAdminPortDisconnect +MprAdminPortEnum +MprAdminPortGetInfo +MprAdminPortReset +MprAdminProtocolAction +MprAdminRegisterConnectionNotification +MprAdminRoutingDomainConnectionEnumEx +MprAdminRoutingDomainGetConfigEx +MprAdminRoutingDomainSetConfigEx +MprAdminRoutingDomainsEnumEx +MprAdminSendUserMessage +MprAdminServerConnect +MprAdminServerDisconnect +MprAdminServerGetCredentials +MprAdminServerGetInfo +MprAdminServerGetInfoEx +MprAdminServerSetCredentials +MprAdminServerSetInfo +MprAdminServerSetInfoEx +MprAdminTransportCreate +MprAdminTransportGetInfo +MprAdminTransportSetInfo +MprAdminUpdateConnection +MprAdminUpgradeUsers +MprAdminUserClose +MprAdminUserGetInfo +MprAdminUserOpen +MprAdminUserRead +MprAdminUserReadProfFlags +MprAdminUserServerConnect +MprAdminUserServerDisconnect +MprAdminUserSetInfo +MprAdminUserWrite +MprAdminUserWriteProfFlags +MprConfigAddRoutingDomain +MprConfigBufferFree +MprConfigDeleteRoutingDomain +MprConfigFilterGetInfo +MprConfigFilterSetInfo +MprConfigFreeRoutingDomainConfigEx +MprConfigGetFriendlyName +MprConfigGetGuidName +MprConfigGetRoutingDomainId +MprConfigInterfaceCreate +MprConfigInterfaceCreateEx +MprConfigInterfaceDelete +MprConfigInterfaceEnum +MprConfigInterfaceEnumEx +MprConfigInterfaceGetCustomInfoEx +MprConfigInterfaceGetHandle +MprConfigInterfaceGetInfo +MprConfigInterfaceGetInfoEx +MprConfigInterfaceSetCustomInfoEx +MprConfigInterfaceSetInfo +MprConfigInterfaceSetInfoEx +MprConfigInterfaceTransportAdd +MprConfigInterfaceTransportEnum +MprConfigInterfaceTransportGetHandle +MprConfigInterfaceTransportGetInfo +MprConfigInterfaceTransportRemove +MprConfigInterfaceTransportSetInfo +MprConfigIsMultiTenancyEnabled +MprConfigRoutingDomainEnumEx +MprConfigRoutingDomainGetConfigEx +MprConfigRoutingDomainSetConfigEx +MprConfigServerBackup +MprConfigServerConnect +MprConfigServerDisconnect +MprConfigServerGetInfo +MprConfigServerGetInfoEx +MprConfigServerInstall +MprConfigServerRefresh +MprConfigServerRestore +MprConfigServerSetInfo +MprConfigServerSetInfoEx +MprConfigTransportCreate +MprConfigTransportDelete +MprConfigTransportEnum +MprConfigTransportGetHandle +MprConfigTransportGetInfo +MprConfigTransportSetInfo +MprDomainQueryRasServer +MprDomainRegisterRasServer +MprGetUsrParams +MprInfoBlockAdd +MprInfoBlockFind +MprInfoBlockQuerySize +MprInfoBlockRemove +MprInfoBlockSet +MprInfoCreate +MprInfoDelete +MprInfoDuplicate +MprInfoRemoveAll +MprPortSetUsage +RasPrivilegeAndCallBackNumber diff --git a/lib/libc/mingw/libarm32/mscms.def b/lib/libc/mingw/libarm32/mscms.def new file mode 100644 index 0000000000..5ee53d7d3f --- /dev/null +++ b/lib/libc/mingw/libarm32/mscms.def @@ -0,0 +1,113 @@ +; +; Definition file of mscms.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "mscms.dll" +EXPORTS +AssociateColorProfileWithDeviceA +AssociateColorProfileWithDeviceW +CheckBitmapBits +CheckColors +CloseColorProfile +CloseDisplay +ColorCplGetDefaultProfileScope +ColorCplGetDefaultRenderingIntentScope +ColorCplGetProfileProperties +ColorCplHasSystemWideAssociationListChanged +ColorCplInitialize +ColorCplLoadAssociationList +ColorCplMergeAssociationLists +ColorCplOverwritePerUserAssociationList +ColorCplReleaseProfileProperties +ColorCplResetSystemWideAssociationListChangedWarning +ColorCplSaveAssociationList +ColorCplSetUsePerUserProfiles +ColorCplUninitialize +ConvertColorNameToIndex +ConvertIndexToColorName +CreateColorTransformA +CreateColorTransformW +CreateDeviceLinkProfile +CreateMultiProfileTransform +CreateProfileFromLogColorSpaceA +CreateProfileFromLogColorSpaceW +DccwCreateDisplayProfileAssociationList +DccwGetDisplayProfileAssociationList +DccwGetGamutSize +DccwReleaseDisplayProfileAssociationList +DccwSetDisplayProfileAssociationList +DeleteColorTransform +DeviceRenameEvent +DisassociateColorProfileFromDeviceA +DisassociateColorProfileFromDeviceW +EnumColorProfilesA +EnumColorProfilesW +GenerateCopyFilePaths +GetCMMInfo +GetColorDirectoryA +GetColorDirectoryW +GetColorProfileElement +GetColorProfileElementTag +GetColorProfileFromHandle +GetColorProfileHeader +GetCountColorProfileElements +GetNamedProfileInfo +GetPS2ColorRenderingDictionary +GetPS2ColorRenderingIntent +GetPS2ColorSpaceArray +GetStandardColorSpaceProfileA +GetStandardColorSpaceProfileW +InstallColorProfileA +InstallColorProfileW +InternalGetDeviceConfig +InternalGetPS2CSAFromLCS +InternalGetPS2ColorRenderingDictionary +InternalGetPS2ColorSpaceArray +InternalGetPS2PreviewCRD +InternalRefreshCalibration +InternalSetDeviceConfig +InternalWcsAssociateColorProfileWithDevice +IsColorProfileTagPresent +IsColorProfileValid +OpenColorProfileA +OpenColorProfileW +OpenDisplay +RegisterCMMA +RegisterCMMW +SelectCMM +SetColorProfileElement +SetColorProfileElementReference +SetColorProfileElementSize +SetColorProfileHeader +SetStandardColorSpaceProfileA +SetStandardColorSpaceProfileW +SpoolerCopyFileEvent +TranslateBitmapBits +TranslateColors +UninstallColorProfileA +UninstallColorProfileW +UnregisterCMMA +UnregisterCMMW +WcsAssociateColorProfileWithDevice +WcsCheckColors +WcsCreateIccProfile +WcsDisassociateColorProfileFromDevice +WcsEnumColorProfiles +WcsEnumColorProfilesSize +WcsGetCalibrationManagementState +WcsGetDefaultColorProfile +WcsGetDefaultColorProfileSize +WcsGetDefaultRenderingIntent +WcsGetUsePerUserProfiles +WcsGpCanInstallOrUninstallProfiles +WcsOpenColorProfileA +WcsOpenColorProfileW +WcsSetCalibrationManagementState +WcsSetDefaultColorProfile +WcsSetDefaultRenderingIntent +WcsSetUsePerUserProfiles +WcsTranslateColors +InternalGetPS2ColorRenderingDictionary2 +InternalGetPS2PreviewCRD2 +InternalGetPS2ColorSpaceArray2 diff --git a/lib/libc/mingw/libarm32/msctfmonitor.def b/lib/libc/mingw/libarm32/msctfmonitor.def new file mode 100644 index 0000000000..c183c8b62c --- /dev/null +++ b/lib/libc/mingw/libarm32/msctfmonitor.def @@ -0,0 +1,10 @@ +; +; Definition file of MsCtfMonitor.DLL +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "MsCtfMonitor.DLL" +EXPORTS +DoMsCtfMonitor +InitLocalMsCtfMonitor +UninitLocalMsCtfMonitor diff --git a/lib/libc/mingw/libarm32/newdev.def b/lib/libc/mingw/libarm32/newdev.def new file mode 100644 index 0000000000..c205569c06 --- /dev/null +++ b/lib/libc/mingw/libarm32/newdev.def @@ -0,0 +1,27 @@ +; +; Definition file of newdev.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "newdev.dll" +EXPORTS +DeviceInternetSettingUiW +DiInstallDevice +DiInstallDriverA +DiInstallDriverW +DiRollbackDriver +DiShowUpdateDevice +DiUninstallDevice +GetInternetPolicies +InstallNewDevice +InstallSelectedDriver +InstallWindowsUpdateDriver +InstallWindowsUpdateDriverEx +InstallWindowsUpdateDrivers +QueryWindowsUpdateDriverStatus +SetInternetPolicies +UpdateDriverForPlugAndPlayDevicesA +UpdateDriverForPlugAndPlayDevicesW +pDiDoDeviceInstallAsAdmin +pDiDoNullDriverInstall +pDiRunFinishInstallOperations diff --git a/lib/libc/mingw/libarm32/ninput.def b/lib/libc/mingw/libarm32/ninput.def new file mode 100644 index 0000000000..7247627744 --- /dev/null +++ b/lib/libc/mingw/libarm32/ninput.def @@ -0,0 +1,37 @@ +; +; Definition file of NInput.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "NInput.dll" +EXPORTS +DefaultInputHandler +AddPointerInteractionContext +BufferPointerPacketsInteractionContext +CreateInteractionContext +DestroyInteractionContext +GetCrossSlideParameterInteractionContext +GetInertiaParameterInteractionContext +GetInteractionConfigurationInteractionContext +GetMouseWheelParameterInteractionContext +GetPropertyInteractionContext +GetStateInteractionContext +ProcessBufferedPacketsInteractionContext +ProcessInertiaInteractionContext +ProcessPointerFramesInteractionContext +RegisterOutputCallbackInteractionContext +RemovePointerInteractionContext +ResetInteractionContext +SetCrossSlideParametersInteractionContext +SetInertiaParameterInteractionContext +SetInteractionConfigurationInteractionContext +SetMouseWheelParameterInteractionContext +SetPivotInteractionContext +SetPropertyInteractionContext +StopInteractionContext +ord_2500 @2500 +ord_2501 @2501 +ord_2502 @2502 +ord_2503 @2503 +ord_2504 @2504 +ord_2505 @2505 diff --git a/lib/libc/mingw/libarm32/ntlanman.def b/lib/libc/mingw/libarm32/ntlanman.def new file mode 100644 index 0000000000..e62aeff106 --- /dev/null +++ b/lib/libc/mingw/libarm32/ntlanman.def @@ -0,0 +1,25 @@ +; +; Definition file of NTLANMAN.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "NTLANMAN.dll" +EXPORTS +NPGetConnection +NPGetCaps +I_SystemFocusDialog +NPGetUser +NPAddConnection +NPCancelConnection +RegisterAppInstance +NPOpenEnum +NPEnumResource +NPCloseEnum +NPFormatNetworkName +NPAddConnection3 +NPGetUniversalName +NPGetResourceParent +NPGetConnectionPerformance +NPGetResourceInformation +NPGetReconnectFlags +NPGetConnection3 diff --git a/lib/libc/mingw/libarm32/ondemandconnroutehelper.def b/lib/libc/mingw/libarm32/ondemandconnroutehelper.def new file mode 100644 index 0000000000..08c63d9bc2 --- /dev/null +++ b/lib/libc/mingw/libarm32/ondemandconnroutehelper.def @@ -0,0 +1,13 @@ +; +; Definition file of OnDemandConnRouteHelper.DLL +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "OnDemandConnRouteHelper.DLL" +EXPORTS +OnDemandAddRouteRequest +OnDemandGetRoutingHint +OnDemandRegisterNotification +OnDemandRemoveMatchingRoute +OnDemandRemoveRouteRequest +OnDemandUnRegisterNotification diff --git a/lib/libc/mingw/libarm32/pdh.def b/lib/libc/mingw/libarm32/pdh.def new file mode 100644 index 0000000000..8bb340c442 --- /dev/null +++ b/lib/libc/mingw/libarm32/pdh.def @@ -0,0 +1,136 @@ +; +; Definition file of pdh.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "pdh.dll" +EXPORTS +PdhAdd009CounterA +PdhAdd009CounterW +PdhAddCounterA +PdhAddCounterW +PdhAddEnglishCounterA +PdhAddEnglishCounterW +PdhAddRelogCounter +PdhAddV1Counter +PdhAddV2Counter +PdhBindInputDataSourceA +PdhBindInputDataSourceW +PdhBrowseCountersA +PdhBrowseCountersHA +PdhBrowseCountersHW +PdhBrowseCountersW +PdhCalculateCounterFromRawValue +PdhCloseLog +PdhCloseQuery +PdhCollectQueryData +PdhCollectQueryDataEx +PdhCollectQueryDataWithTime +PdhComputeCounterStatistics +PdhConnectMachineA +PdhConnectMachineW +PdhCreateSQLTablesA +PdhCreateSQLTablesW +PdhEnumLogSetNamesA +PdhEnumLogSetNamesW +PdhEnumMachinesA +PdhEnumMachinesHA +PdhEnumMachinesHW +PdhEnumMachinesW +PdhEnumObjectItemsA +PdhEnumObjectItemsHA +PdhEnumObjectItemsHW +PdhEnumObjectItemsW +PdhEnumObjectsA +PdhEnumObjectsHA +PdhEnumObjectsHW +PdhEnumObjectsW +PdhExpandCounterPathA +PdhExpandCounterPathW +PdhExpandWildCardPathA +PdhExpandWildCardPathHA +PdhExpandWildCardPathHW +PdhExpandWildCardPathW +PdhFormatFromRawValue +PdhGetCounterInfoA +PdhGetCounterInfoW +PdhGetCounterTimeBase +PdhGetDataSourceTimeRangeA +PdhGetDataSourceTimeRangeH +PdhGetDataSourceTimeRangeW +PdhGetDefaultPerfCounterA +PdhGetDefaultPerfCounterHA +PdhGetDefaultPerfCounterHW +PdhGetDefaultPerfCounterW +PdhGetDefaultPerfObjectA +PdhGetDefaultPerfObjectHA +PdhGetDefaultPerfObjectHW +PdhGetDefaultPerfObjectW +PdhGetDllVersion +PdhGetExplainText +PdhGetFormattedCounterArrayA +PdhGetFormattedCounterArrayW +PdhGetFormattedCounterValue +PdhGetLogFileSize +PdhGetLogFileTypeA +PdhGetLogFileTypeW +PdhGetLogSetGUID +PdhGetRawCounterArrayA +PdhGetRawCounterArrayW +PdhGetRawCounterValue +PdhIsRealTimeQuery +PdhListLogFileHeaderA +PdhListLogFileHeaderW +PdhLookupPerfIndexByNameA +PdhLookupPerfIndexByNameW +PdhLookupPerfNameByIndexA +PdhLookupPerfNameByIndexW +PdhMakeCounterPathA +PdhMakeCounterPathW +PdhOpenLogA +PdhOpenLogW +PdhOpenQuery +PdhOpenQueryA +PdhOpenQueryH +PdhOpenQueryW +PdhParseCounterPathA +PdhParseCounterPathW +PdhParseInstanceNameA +PdhParseInstanceNameW +PdhReadRawLogRecord +PdhRelogA +PdhRelogW +PdhRemoveCounter +PdhResetRelogCounterValues +PdhSelectDataSourceA +PdhSelectDataSourceW +PdhSetCounterScaleFactor +PdhSetCounterValue +PdhSetDefaultRealTimeDataSource +PdhSetLogSetRunID +PdhSetQueryTimeRange +PdhTranslate009CounterA +PdhTranslate009CounterW +PdhTranslateLocaleCounterA +PdhTranslateLocaleCounterW +PdhUpdateLogA +PdhUpdateLogFileCatalog +PdhUpdateLogW +PdhValidatePathA +PdhValidatePathExA +PdhValidatePathExW +PdhValidatePathW +PdhVbAddCounter +PdhVbCreateCounterPathList +PdhVbGetCounterPathElements +PdhVbGetCounterPathFromList +PdhVbGetDoubleCounterValue +PdhVbGetLogFileSize +PdhVbGetOneCounterPath +PdhVbIsGoodStatus +PdhVbOpenLog +PdhVbOpenQuery +PdhVbUpdateLog +PdhVerifySQLDBA +PdhVerifySQLDBW +PdhWriteRelogSample diff --git a/lib/libc/mingw/libarm32/query.def b/lib/libc/mingw/libarm32/query.def new file mode 100644 index 0000000000..091bd136aa --- /dev/null +++ b/lib/libc/mingw/libarm32/query.def @@ -0,0 +1,51 @@ +; +; Definition file of query.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "query.dll" +EXPORTS +BeginCacheTransaction +CIBuildQueryNode +CIBuildQueryTree +CICreateCommand +CIGetGlobalPropertyList +CIMakeICommand +CIRestrictionToFullTree +CIState +CITextToFullTree +CITextToFullTreeEx +CITextToSelectTree +CITextToSelectTreeEx +CiCreateSecurityDescriptor +CiSvcMain +CollectCIISAPIPerformanceData +CollectCIPerformanceData +CollectFILTERPerformanceData +DoneCIISAPIPerformanceData +DoneCIPerformanceData +DoneFILTERPerformanceData +EndCacheTransaction +FsCiShutdown +InitializeCIISAPIPerformanceData +InitializeCIPerformanceData +InitializeFILTERPerformanceData +LoadBinaryFilter +LoadTextFilter +SetCatalogState +SetupCache +SetupCacheEx +SvcEntry_CiSvc +BindIFilterFromStorage +BindIFilterFromStream +CIRevertToSelf +CIShutdown +InternalBindIFilterFromDocCLSID +InternalBindIFilterFromFileName +InternalBindIFilterFromStorage +InternalBindIFilterFromStream +LoadIFilter +LoadIFilterEx +LocateCatalogs +LocateCatalogsA +LocateCatalogsW diff --git a/lib/libc/mingw/libarm32/rasapi32.def b/lib/libc/mingw/libarm32/rasapi32.def new file mode 100644 index 0000000000..feb82e18fa --- /dev/null +++ b/lib/libc/mingw/libarm32/rasapi32.def @@ -0,0 +1,134 @@ +; +; Definition file of RASAPI32.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "RASAPI32.dll" +EXPORTS +DDMFreePhonebookContext +DDMFreeRemoteEndpoint +DDMGetAddressesFromPhonebook +DDMGetPhoneBookContext +DDMGetPhonebookInfo +DwCloneEntry +DwEnumEntryDetails +DwRasUninitialize +GetAutoTriggerProfileInfo +IsActiveAutoTriggerConnection +LaunchVanUIW +RasAutoDialSharedConnection +RasAutodialAddressToNetwork +RasAutodialEntryToNetwork +RasClearConnectionStatistics +RasClearLinkStatistics +RasCompleteDialMachineCleanup +RasConfigUserProxySettingsW +RasConnectionNotificationA +RasConnectionNotificationW +RasCreatePhonebookEntryA +RasCreatePhonebookEntryW +RasDeleteEntryA +RasDeleteEntryW +RasDeleteSubEntryA +RasDeleteSubEntryW +RasDialA +RasDialW +RasEditPhonebookEntryA +RasEditPhonebookEntryW +RasEnumAutodialAddressesA +RasEnumAutodialAddressesW +RasEnumConnectionsA +RasEnumConnectionsW +RasEnumDevicesA +RasEnumDevicesW +RasEnumEntriesA +RasEnumEntriesW +RasFreeEapUserIdentityA +RasFreeEapUserIdentityW +RasFreeEntryAdvancedProperties +RasGetAutoTriggerConnectStatus +RasGetAutodialAddressA +RasGetAutodialAddressW +RasGetAutodialEnableA +RasGetAutodialEnableW +RasGetAutodialParamA +RasGetAutodialParamW +RasGetConnectStatusA +RasGetConnectStatusW +RasGetConnectionErrorStringW +RasGetConnectionStatistics +RasGetCountryInfoA +RasGetCountryInfoW +RasGetCredentialsA +RasGetCredentialsW +RasGetCustomAuthDataA +RasGetCustomAuthDataW +RasGetEapUserDataA +RasGetEapUserDataW +RasGetEapUserIdentityA +RasGetEapUserIdentityW +RasGetEntryAdvancedProperties +RasGetEntryDialParamsA +RasGetEntryDialParamsW +RasGetEntryHrasconnW +RasGetEntryPropertiesA +RasGetEntryPropertiesW +RasGetErrorStringA +RasGetErrorStringW +RasGetHport +RasGetLinkStatistics +RasGetNapStatus +RasGetPbkPath +RasGetProjectionInfoA +RasGetProjectionInfoEx +RasGetProjectionInfoW +RasGetSubEntryHandleA +RasGetSubEntryHandleW +RasGetSubEntryPropertiesA +RasGetSubEntryPropertiesW +RasHandleTriggerConnDisconnect +RasHangUpA +RasHangUpW +RasInvokeEapUI +RasIsPublicPhonebook +RasIsSharedConnection +RasQueryRedialOnLinkFailure +RasQuerySharedAutoDial +RasQuerySharedConnection +RasRenameEntryA +RasRenameEntryW +RasScriptGetIpAddress +RasScriptInit +RasScriptReceive +RasScriptSend +RasScriptTerm +RasSetAutodialAddressA +RasSetAutodialAddressW +RasSetAutodialEnableA +RasSetAutodialEnableW +RasSetAutodialParamA +RasSetAutodialParamW +RasSetCredentialsA +RasSetCredentialsW +RasSetCustomAuthDataA +RasSetCustomAuthDataW +RasSetEapUserDataA +RasSetEapUserDataAEx +RasSetEapUserDataW +RasSetEapUserDataWEx +RasSetEntryAdvancedProperties +RasSetEntryDialParamsA +RasSetEntryDialParamsW +RasSetEntryPropertiesA +RasSetEntryPropertiesW +RasSetOldPassword +RasSetPerConnectionProxy +RasSetSharedAutoDial +RasSetSubEntryPropertiesA +RasSetSubEntryPropertiesW +RasTriggerConnection +RasUpdateConnection +RasValidateEntryNameA +RasValidateEntryNameW +RasWriteSharedPbkOptions +UnInitializeRAS diff --git a/lib/libc/mingw/libarm32/rasdlg.def b/lib/libc/mingw/libarm32/rasdlg.def new file mode 100644 index 0000000000..45af4c8536 --- /dev/null +++ b/lib/libc/mingw/libarm32/rasdlg.def @@ -0,0 +1,32 @@ +; +; Definition file of RASDLG.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "RASDLG.dll" +EXPORTS +RasHandleDiagnostics +DwTerminalDlg +GetRasDialOutProtocols +RasAutodialQueryDlgA +RasAutodialQueryDlgW +RasDialDlgA +RasDialDlgW +RasEntryDlgA +RasEntryDlgW +RasPhonebookDlgA +RasPhonebookDlgW +RasSrvAddPropPages +RasSrvAllowConnectionsConfig +RasSrvCleanupService +RasSrvEnumConnections +RasSrvHangupConnection +RasSrvInitializeService +RasSrvIsConnectionConnected +RasSrvIsICConfigured +RasSrvIsServiceRunning +RasUserEnableManualDial +RasUserGetManualDial +RasUserPrefsDlg +RouterEntryDlgA +RouterEntryDlgW diff --git a/lib/libc/mingw/libarm32/rometadata.def b/lib/libc/mingw/libarm32/rometadata.def new file mode 100644 index 0000000000..8aeef1fd44 --- /dev/null +++ b/lib/libc/mingw/libarm32/rometadata.def @@ -0,0 +1,8 @@ +; +; Definition file of RoMetadata.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "RoMetadata.dll" +EXPORTS +MetaDataGetDispenser diff --git a/lib/libc/mingw/libarm32/sas.def b/lib/libc/mingw/libarm32/sas.def new file mode 100644 index 0000000000..8e8fadf827 --- /dev/null +++ b/lib/libc/mingw/libarm32/sas.def @@ -0,0 +1,8 @@ +; +; Definition file of SAS.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "SAS.dll" +EXPORTS +SendSAS diff --git a/lib/libc/mingw/libarm32/sfc.def b/lib/libc/mingw/libarm32/sfc.def new file mode 100644 index 0000000000..07f3783ff5 --- /dev/null +++ b/lib/libc/mingw/libarm32/sfc.def @@ -0,0 +1,23 @@ +; +; Definition file of sfc.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "sfc.dll" +EXPORTS +ord_1 @1 +ord_2 @2 +ord_3 @3 +ord_4 @4 +ord_5 @5 +ord_6 @6 +ord_7 @7 +ord_8 @8 +ord_9 @9 +SRSetRestorePoint +SRSetRestorePointA +SRSetRestorePointW +SfcGetNextProtectedFile +SfcIsFileProtected +SfcIsKeyProtected +SfpVerifyFile diff --git a/lib/libc/mingw/libarm32/shdocvw.def b/lib/libc/mingw/libarm32/shdocvw.def new file mode 100644 index 0000000000..321c6ab257 --- /dev/null +++ b/lib/libc/mingw/libarm32/shdocvw.def @@ -0,0 +1,129 @@ +; +; Definition file of SHDOCVW.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "SHDOCVW.dll" +EXPORTS +ord_101 @101 +ord_102 @102 +ord_103 @103 +ord_104 @104 +ord_105 @105 +AddUrlToFavorites +ord_110 @110 +ord_111 @111 +DllRegisterWindowClasses +DoAddToFavDlg +DoAddToFavDlgW +ord_115 @115 +ord_116 @116 +ord_117 @117 +ord_118 @118 +ord_119 @119 +ord_120 @120 +ord_121 @121 +ord_122 @122 +ord_123 @123 +DoFileDownload +ord_125 @125 +DoFileDownloadEx +DoOrganizeFavDlg +DoOrganizeFavDlgW +DoPrivacyDlg +ord_130 @130 +ord_131 @131 +HlinkFindFrame +HlinkFrameNavigate +HlinkFrameNavigateNHL +ord_135 @135 +ord_136 @136 +ord_137 @137 +ord_138 @138 +ord_139 @139 +ord_140 @140 +ord_141 @141 +ord_142 @142 +ord_143 @143 +ImportPrivacySettings +ord_145 @145 +ord_146 @146 +ord_147 @147 +ord_148 @148 +ord_149 @149 +ord_150 @150 +ord_151 @151 +ord_152 @152 +ord_153 @153 +OpenURL +SHGetIDispatchForFolder +SetQueryNetSessionCount +SetShellOfflineState +ord_158 @158 +ord_159 @159 +ord_160 @160 +ord_161 @161 +ord_162 @162 +SHAddSubscribeFavorite +ord_164 @164 +ord_165 @165 +SoftwareUpdateMessageBox +ord_167 @167 +URLQualifyA +ord_169 @169 +ord_170 @170 +ord_171 @171 +ord_172 @172 +ord_173 @173 +ord_174 @174 +ord_175 @175 +ord_176 @176 +ord_177 @177 +ord_178 @178 +ord_179 @179 +ord_180 @180 +ord_181 @181 +URLQualifyW +ord_183 @183 +ord_185 @185 +ord_187 @187 +ord_188 @188 +ord_189 @189 +ord_190 @190 +ord_191 @191 +ord_192 @192 +ord_194 @194 +ord_195 @195 +ord_196 @196 +ord_197 @197 +ord_198 @198 +ord_199 @199 +ord_200 @200 +ord_203 @203 +ord_204 @204 +ord_208 @208 +ord_209 @209 +ord_210 @210 +ord_211 @211 +ord_212 @212 +ord_213 @213 +ord_214 @214 +ord_215 @215 +ord_216 @216 +ord_217 @217 +ord_218 @218 +ord_219 @219 +ord_221 @221 +ord_222 @222 +ord_223 @223 +ord_224 @224 +ord_225 @225 +ord_226 @226 +ord_227 @227 +ord_228 @228 +ord_229 @229 +ord_230 @230 +ord_231 @231 +ord_232 @232 +ord_233 @233 +ord_234 @234 diff --git a/lib/libc/mingw/libarm32/slc.def b/lib/libc/mingw/libarm32/slc.def new file mode 100644 index 0000000000..3bac8e5294 --- /dev/null +++ b/lib/libc/mingw/libarm32/slc.def @@ -0,0 +1,48 @@ +; +; Definition file of SLC.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "SLC.dll" +EXPORTS +SLpCheckProductKey +SLpGetGenuineLocal +SLpProcessOemProductKey +SLpUpdateComponentTokens +SLClose +SLConsumeRight +SLConsumeWindowsRight +SLDepositOfflineConfirmationId +SLDepositOfflineConfirmationIdEx +SLFireEvent +SLGenerateOfflineInstallationId +SLGenerateOfflineInstallationIdEx +SLGetApplicationInformation +SLGetGenuineInformation +SLGetInstalledProductKeyIds +SLGetLicense +SLGetLicenseFileId +SLGetLicenseInformation +SLGetLicensingStatusInformation +SLGetPKeyId +SLGetPKeyInformation +SLGetPolicyInformation +SLGetPolicyInformationDWORD +SLGetProductSkuInformation +SLGetSLIDList +SLGetServiceInformation +SLGetWindowsInformation +SLGetWindowsInformationDWORD +SLInstallLicense +SLInstallProofOfPurchase +SLIsWindowsGenuineLocal +SLOpen +SLReArmWindows +SLRegisterEvent +SLRegisterWindowsEvent +SLSetCurrentProductKey +SLSetGenuineInformation +SLUninstallLicense +SLUninstallProofOfPurchase +SLUnregisterEvent +SLUnregisterWindowsEvent diff --git a/lib/libc/mingw/libarm32/spoolss.def b/lib/libc/mingw/libarm32/spoolss.def new file mode 100644 index 0000000000..9635032c37 --- /dev/null +++ b/lib/libc/mingw/libarm32/spoolss.def @@ -0,0 +1,205 @@ +; +; Definition file of SPOOLSS.DLL +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "SPOOLSS.DLL" +EXPORTS +OpenPrinterExW +RouterCorePrinterDriverInstalled +RouterCreatePrintAsyncNotificationChannel +RouterDeletePrinterDriverPackage +RouterGetCorePrinterDrivers +RouterGetPrintClassObject +RouterGetPrinterDriverPackagePath +RouterInstallPrinterDriverFromPackage +RouterRegisterForPrintAsyncNotifications +RouterUnregisterForPrintAsyncNotifications +RouterUploadPrinterDriverPackage +AbortPrinter +AddFormW +AddJobW +AddMonitorW +AddPerMachineConnectionW +AddPortExW +AddPortW +AddPrintProcessorW +AddPrintProvidorW +AddPrinterConnectionW +AddPrinterDriverExW +AddPrinterDriverW +AddPrinterExW +AddPrinterW +AdjustPointers +AdjustPointersInStructuresArray +AlignKMPtr +AlignRpcPtr +AllocSplStr +AllowRemoteCalls +AppendPrinterNotifyInfoData +BuildOtherNamesFromMachineName +CacheAddName +CacheCreateAndAddNode +CacheCreateAndAddNodeWithIPAddresses +CacheDeleteNode +CacheIsNameCluster +CacheIsNameInNodeList +CallDrvDevModeConversion +CallRouterFindFirstPrinterChangeNotification +CheckLocalCall +ClosePrinter +ConfigurePortW +CreatePrinterIC +DeleteFormW +DeleteMonitorW +DeletePerMachineConnectionW +DeletePortW +DeletePrintProcessorW +DeletePrintProvidorW +DeletePrinter +DeletePrinterConnectionW +DeletePrinterDataExW +DeletePrinterDataW +DeletePrinterDriverExW +DeletePrinterDriverW +DeletePrinterIC +DeletePrinterKeyW +DllAllocSplMem +DllAllocSplStr +DllFreeSplMem +DllFreeSplStr +DllReallocSplMem +DllReallocSplStr +EndDocPrinter +EndPagePrinter +EnumFormsW +EnumJobsW +EnumMonitorsW +EnumPerMachineConnectionsW +EnumPortsW +EnumPrintProcessorDatatypesW +EnumPrintProcessorsW +EnumPrinterDataExW +EnumPrinterDataW +EnumPrinterDriversW +EnumPrinterKeyW +EnumPrintersW +FindClosePrinterChangeNotification +FlushPrinter +FormatPrinterForRegistryKey +FormatRegistryKeyForPrinter +FreeOtherNames +GetFormW +GetJobAttributes +GetJobAttributesEx +GetJobW +GetNetworkId +GetPrintProcessorDirectoryW +GetPrinterDataExW +GetPrinterDataW +GetPrinterDriverDirectoryW +GetPrinterDriverExW +GetPrinterDriverW +GetPrinterW +GetServerPolicy +GetShrinkedSize +GetSpoolerTlsIndexes +ImpersonatePrinterClient +InitializeRouter +IsNameTheLocalMachineOrAClusterSpooler +IsNamedPipeRpcCall +MIDL_user_allocate1 +MIDL_user_free1 +MakeOffset +MakePTR +MarshallDownStructure +MarshallDownStructuresArray +MarshallUpStructure +MarshallUpStructuresArray +OldGetPrinterDriverW +OpenPrinter2W +OpenPrinterPort2W +OpenPrinterW +PackStringToEOB +PackStrings +PartialReplyPrinterChangeNotification +PlayGdiScriptOnPrinterIC +PrinterHandleRundown +PrinterMessageBoxW +ProvidorFindClosePrinterChangeNotification +ProvidorFindFirstPrinterChangeNotification +ReadPrinter +ReallocSplMem +ReallocSplStr +RemoteFindFirstPrinterChangeNotification +ReplyClosePrinter +ReplyOpenPrinter +ReplyPrinterChangeNotification +ReplyPrinterChangeNotificationEx +ReportJobProcessingProgress +ResetPrinterW +RevertToPrinterSelf +RouterAddPrinterConnection2 +RouterAllocBidiMem +RouterAllocBidiResponseContainer +RouterAllocPrinterNotifyInfo +RouterBroadcastMessage +RouterFindCompatibleDriver +RouterFindFirstPrinterChangeNotification +RouterFindNextPrinterChangeNotification +RouterFreeBidiMem +RouterFreeBidiResponseContainer +RouterFreePrinterNotifyInfo +RouterInternalGetPrinterDriver +RouterRefreshPrinterChangeNotification +RouterReplyPrinter +RouterSpoolerSetPolicy +ScheduleJob +SeekPrinter +SendRecvBidiData +SetFormW +SetJobW +SetPortW +SetPrinterDataExW +SetPrinterDataW +SetPrinterW +SplCloseSpoolFileHandle +SplCommitSpoolData +SplDriverUnloadComplete +SplGetClientUserHandle +SplGetSpoolFileInfo +SplGetUserSidStringFromToken +SplInitializeWinSpoolDrv +SplIsSessionZero +SplIsUpgrade +SplProcessPnPEvent +SplProcessSessionEvent +SplPromptUIInUsersSession +SplQueryUserInfo +SplReadPrinter +SplRegisterForDeviceEvents +SplRegisterForSessionEvents +SplShutDownRouter +SplUalCollectData +SplUnregisterForDeviceEvents +SplUnregisterForSessionEvents +SpoolerFindClosePrinterChangeNotification +SpoolerFindFirstPrinterChangeNotification +SpoolerFindNextPrinterChangeNotification +SpoolerFreePrinterNotifyInfo +SpoolerHasInitialized +SpoolerInit +SpoolerRefreshPrinterChangeNotification +StartDocPrinterW +StartPagePrinter +UndoAlignKMPtr +UndoAlignRpcPtr +UpdateBufferSize +UpdatePrinterRegAll +UpdatePrinterRegUser +WaitForPrinterChange +WaitForSpoolerInitialization +WritePrinter +XcvDataW +bGetDevModePerUser +bSetDevModePerUser diff --git a/lib/libc/mingw/libarm32/uiautomationcore.def b/lib/libc/mingw/libarm32/uiautomationcore.def new file mode 100644 index 0000000000..6196bc3d98 --- /dev/null +++ b/lib/libc/mingw/libarm32/uiautomationcore.def @@ -0,0 +1,102 @@ +; +; Definition file of UIAutomationCore.DLL +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "UIAutomationCore.DLL" +EXPORTS +DockPattern_SetDockPosition +ExpandCollapsePattern_Collapse +ExpandCollapsePattern_Expand +GridPattern_GetItem +InvokePattern_Invoke +ItemContainerPattern_FindItemByProperty +LegacyIAccessiblePattern_DoDefaultAction +LegacyIAccessiblePattern_GetIAccessible +LegacyIAccessiblePattern_Select +LegacyIAccessiblePattern_SetValue +MultipleViewPattern_GetViewName +MultipleViewPattern_SetCurrentView +RangeValuePattern_SetValue +ScrollItemPattern_ScrollIntoView +ScrollPattern_Scroll +ScrollPattern_SetScrollPercent +SelectionItemPattern_AddToSelection +SelectionItemPattern_RemoveFromSelection +SelectionItemPattern_Select +SynchronizedInputPattern_Cancel +SynchronizedInputPattern_StartListening +TextPattern_GetSelection +TextPattern_GetVisibleRanges +TextPattern_RangeFromChild +TextPattern_RangeFromPoint +TextPattern_get_DocumentRange +TextPattern_get_SupportedTextSelection +TextRange_AddToSelection +TextRange_Clone +TextRange_Compare +TextRange_CompareEndpoints +TextRange_ExpandToEnclosingUnit +TextRange_FindAttribute +TextRange_FindText +TextRange_GetAttributeValue +TextRange_GetBoundingRectangles +TextRange_GetChildren +TextRange_GetEnclosingElement +TextRange_GetText +TextRange_Move +TextRange_MoveEndpointByRange +TextRange_MoveEndpointByUnit +TextRange_RemoveFromSelection +TextRange_ScrollIntoView +TextRange_Select +TogglePattern_Toggle +TransformPattern_Move +TransformPattern_Resize +TransformPattern_Rotate +UiaAddEvent +UiaClientsAreListening +UiaDisconnectAllProviders +UiaDisconnectProvider +UiaEventAddWindow +UiaEventRemoveWindow +UiaFind +UiaGetErrorDescription +UiaGetPatternProvider +UiaGetPropertyValue +UiaGetReservedMixedAttributeValue +UiaGetReservedNotSupportedValue +UiaGetRootNode +UiaGetRuntimeId +UiaGetUpdatedCache +UiaHPatternObjectFromVariant +UiaHTextRangeFromVariant +UiaHUiaNodeFromVariant +UiaHasServerSideProvider +UiaHostProviderFromHwnd +UiaIAccessibleFromProvider +UiaLookupId +UiaNavigate +UiaNodeFromFocus +UiaNodeFromHandle +UiaNodeFromPoint +UiaNodeFromProvider +UiaNodeRelease +UiaPatternRelease +UiaProviderForNonClient +UiaProviderFromIAccessible +UiaRaiseAsyncContentLoadedEvent +UiaRaiseAutomationEvent +UiaRaiseAutomationPropertyChangedEvent +UiaRaiseStructureChangedEvent +UiaRaiseTextEditTextChangedEvent +UiaRegisterProviderCallback +UiaRemoveEvent +UiaReturnRawElementProvider +UiaSetFocus +UiaTextRangeRelease +ValuePattern_SetValue +VirtualizedItemPattern_Realize +WindowPattern_Close +WindowPattern_SetWindowVisualState +WindowPattern_WaitForInputIdle diff --git a/lib/libc/mingw/libarm32/vssapi.def b/lib/libc/mingw/libarm32/vssapi.def new file mode 100644 index 0000000000..3aff0956b6 --- /dev/null +++ b/lib/libc/mingw/libarm32/vssapi.def @@ -0,0 +1,89 @@ +; +; Definition file of VSSAPI.DLL +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "VSSAPI.DLL" +EXPORTS +IsVolumeSnapshotted +VssFreeSnapshotProperties +ShouldBlockRevert +??0CVssJetWriter@@QAA@XZ +??0CVssWriter@@QAA@XZ +??1CVssJetWriter@@UAA@XZ +??1CVssWriter@@UAA@XZ +?AreComponentsSelected@CVssJetWriter@@IBA_NXZ +?AreComponentsSelected@CVssWriter@@IBA_NXZ +?CreateVssBackupComponents@@YGJPAPAVIVssBackupComponents@@@Z +?CreateVssExamineWriterMetadata@@YGJPAGPAPAVIVssExamineWriterMetadata@@@Z +?CreateVssSnapshotSetDescription@@YAJU_GUID@@JPAPAVIVssSnapshotSetDescription@@@Z +?GetBackupType@CVssJetWriter@@IBA?AW4_VSS_BACKUP_TYPE@@XZ +?GetBackupType@CVssWriter@@IBA?AW4_VSS_BACKUP_TYPE@@XZ +?GetContext@CVssJetWriter@@IBAJXZ +?GetContext@CVssWriter@@IBAJXZ +?GetCurrentLevel@CVssJetWriter@@IBA?AW4_VSS_APPLICATION_LEVEL@@XZ +?GetCurrentLevel@CVssWriter@@IBA?AW4_VSS_APPLICATION_LEVEL@@XZ +?GetCurrentSnapshotSetId@CVssJetWriter@@IBA?AU_GUID@@XZ +?GetCurrentSnapshotSetId@CVssWriter@@IBA?AU_GUID@@XZ +?GetCurrentVolumeArray@CVssJetWriter@@IBAPAPBGXZ +?GetCurrentVolumeArray@CVssWriter@@IBAPAPBGXZ +?GetCurrentVolumeCount@CVssJetWriter@@IBAIXZ +?GetCurrentVolumeCount@CVssWriter@@IBAIXZ +?GetRestoreType@CVssJetWriter@@IBA?AW4_VSS_RESTORE_TYPE@@XZ +?GetRestoreType@CVssWriter@@IBA?AW4_VSS_RESTORE_TYPE@@XZ +?GetSnapshotDeviceName@CVssJetWriter@@IBAJPBGPAPBG@Z +?GetSnapshotDeviceName@CVssWriter@@IBAJPBGPAPBG@Z +?Initialize@CVssJetWriter@@QAAJU_GUID@@PBG_N211K@Z +?Initialize@CVssWriter@@QAAJU_GUID@@PBGW4VSS_USAGE_TYPE@@W4VSS_SOURCE_TYPE@@W4_VSS_APPLICATION_LEVEL@@KW4VSS_ALTERNATE_WRITER_STATE@@_N1@Z +?InstallAlternateWriter@CVssWriter@@QAAJU_GUID@@0@Z +?IsBootableSystemStateBackedUp@CVssJetWriter@@IBA_NXZ +?IsBootableSystemStateBackedUp@CVssWriter@@IBA_NXZ +?IsPartialFileSupportEnabled@CVssJetWriter@@IBA_NXZ +?IsPartialFileSupportEnabled@CVssWriter@@IBA_NXZ +?IsPathAffected@CVssJetWriter@@IBA_NPBG@Z +?IsPathAffected@CVssWriter@@IBA_NPBG@Z +?LoadVssSnapshotSetDescription@@YAJPBGPAPAVIVssSnapshotSetDescription@@U_GUID@@@Z +?OnAbortBegin@CVssJetWriter@@UAAXXZ +?OnAbortEnd@CVssJetWriter@@UAAXXZ +?OnBackOffIOOnVolume@CVssWriter@@UAA_NPAGU_GUID@@1@Z +?OnBackupComplete@CVssWriter@@UAA_NPAVIVssWriterComponents@@@Z +?OnBackupCompleteBegin@CVssJetWriter@@UAA_NPAVIVssWriterComponents@@@Z +?OnBackupCompleteEnd@CVssJetWriter@@UAA_NPAVIVssWriterComponents@@_N@Z +?OnBackupShutdown@CVssWriter@@UAA_NU_GUID@@@Z +?OnContinueIOOnVolume@CVssWriter@@UAA_NPAGU_GUID@@1@Z +?OnFreezeBegin@CVssJetWriter@@UAA_NXZ +?OnFreezeEnd@CVssJetWriter@@UAA_N_N@Z +?OnIdentify@CVssJetWriter@@UAA_NPAVIVssCreateWriterMetadata@@@Z +?OnIdentify@CVssWriter@@UAA_NPAVIVssCreateWriterMetadata@@@Z +?OnPostRestore@CVssWriter@@UAA_NPAVIVssWriterComponents@@@Z +?OnPostRestoreBegin@CVssJetWriter@@UAA_NPAVIVssWriterComponents@@@Z +?OnPostRestoreEnd@CVssJetWriter@@UAA_NPAVIVssWriterComponents@@_N@Z +?OnPostSnapshot@CVssJetWriter@@UAA_NPAVIVssWriterComponents@@@Z +?OnPostSnapshot@CVssWriter@@UAA_NPAVIVssWriterComponents@@@Z +?OnPreRestore@CVssWriter@@UAA_NPAVIVssWriterComponents@@@Z +?OnPreRestoreBegin@CVssJetWriter@@UAA_NPAVIVssWriterComponents@@@Z +?OnPreRestoreEnd@CVssJetWriter@@UAA_NPAVIVssWriterComponents@@_N@Z +?OnPrepareBackup@CVssWriter@@UAA_NPAVIVssWriterComponents@@@Z +?OnPrepareBackupBegin@CVssJetWriter@@UAA_NPAVIVssWriterComponents@@@Z +?OnPrepareBackupEnd@CVssJetWriter@@UAA_NPAVIVssWriterComponents@@_N@Z +?OnPrepareSnapshotBegin@CVssJetWriter@@UAA_NXZ +?OnPrepareSnapshotEnd@CVssJetWriter@@UAA_N_N@Z +?OnThawBegin@CVssJetWriter@@UAA_NXZ +?OnThawEnd@CVssJetWriter@@UAA_N_N@Z +?OnVSSApplicationStartup@CVssWriter@@UAA_NXZ +?OnVSSShutdown@CVssWriter@@UAA_NXZ +?SetWriterFailure@CVssJetWriter@@IAAJJ@Z +?SetWriterFailure@CVssWriter@@IAAJJ@Z +?Subscribe@CVssWriter@@QAAJK@Z +?Uninitialize@CVssJetWriter@@QAAXXZ +?Unsubscribe@CVssWriter@@QAAJXZ +CreateVssBackupComponentsInternal +CreateVssExamineWriterMetadataInternal +CreateVssExpressWriterInternal +CreateWriter +CreateWriterEx +GetProviderMgmtInterface +GetProviderMgmtInterfaceInternal +IsVolumeSnapshottedInternal +ShouldBlockRevertInternal +VssFreeSnapshotPropertiesInternal diff --git a/lib/libc/mingw/libarm32/wcmapi.def b/lib/libc/mingw/libarm32/wcmapi.def new file mode 100644 index 0000000000..e7b6eb4c58 --- /dev/null +++ b/lib/libc/mingw/libarm32/wcmapi.def @@ -0,0 +1,31 @@ +; +; Definition file of wcmapi.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "wcmapi.dll" +EXPORTS +WcmBeginIgnoreProfileList +WcmCancelOnDemandRequest +WcmCloseHandle +WcmCloseOnDemandRequestHandle +WcmEndIgnoreProfileList +WcmEnterConnectedStandby +WcmEnterNetQuiet +WcmEnumInterfaces +WcmExitConnectedStandby +WcmExitNetQuiet +WcmFreeMemory +WcmGetInterfaceToken +WcmGetProfileList +WcmOpenHandle +WcmOpenOnDemandRequestHandle +WcmOrderConnection +WcmQueryOnDemandRequestStateInfo +WcmQueryParameter +WcmQueryProperty +WcmResetIgnoreProfileList +WcmSetParameter +WcmSetProfileList +WcmSetProperty +WcmStartOnDemandRequest diff --git a/lib/libc/mingw/libarm32/webservices.def b/lib/libc/mingw/libarm32/webservices.def new file mode 100644 index 0000000000..45fb377b76 --- /dev/null +++ b/lib/libc/mingw/libarm32/webservices.def @@ -0,0 +1,200 @@ +; +; Definition file of webservices.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "webservices.dll" +EXPORTS +WsAbandonCall +WsAbandonMessage +WsAbortChannel +WsAbortListener +WsAbortServiceHost +WsAbortServiceProxy +WsAcceptChannel +WsAddCustomHeader +WsAddErrorString +WsAddMappedHeader +WsAddressMessage +WsAlloc +WsAsyncExecute +WsCall +WsCheckMustUnderstandHeaders +WsCloseChannel +WsCloseListener +WsCloseServiceHost +WsCloseServiceProxy +WsCombineUrl +WsCopyError +WsCopyNode +WsCreateChannel +WsCreateChannelForListener +WsCreateError +WsCreateFaultFromError +WsCreateHeap +WsCreateListener +WsCreateMessage +WsCreateMessageForChannel +WsCreateMetadata +WsCreateReader +WsCreateServiceEndpointFromTemplate +WsCreateServiceHost +WsCreateServiceProxy +WsCreateServiceProxyFromTemplate +WsCreateWriter +WsCreateXmlBuffer +WsCreateXmlSecurityToken +WsDateTimeToFileTime +WsDecodeUrl +WsEncodeUrl +WsEndReaderCanonicalization +WsEndWriterCanonicalization +WsFileTimeToDateTime +WsFillBody +WsFillReader +WsFindAttribute +WsFlushBody +WsFlushWriter +WsFreeChannel +WsFreeError +WsFreeHeap +WsFreeListener +WsFreeMessage +WsFreeMetadata +WsFreeReader +WsFreeSecurityToken +WsFreeServiceHost +WsFreeServiceProxy +WsFreeWriter +WsGetChannelProperty +WsGetCustomHeader +WsGetDictionary +WsGetErrorProperty +WsGetErrorString +WsGetFaultErrorDetail +WsGetFaultErrorProperty +WsGetHeader +WsGetHeaderAttributes +WsGetHeapProperty +WsGetListenerProperty +WsGetMappedHeader +WsGetMessageProperty +WsGetMetadataEndpoints +WsGetMetadataProperty +WsGetMissingMetadataDocumentAddress +WsGetNamespaceFromPrefix +WsGetOperationContextProperty +WsGetPolicyAlternativeCount +WsGetPolicyProperty +WsGetPrefixFromNamespace +WsGetReaderNode +WsGetReaderPosition +WsGetReaderProperty +WsGetSecurityContextProperty +WsGetSecurityTokenProperty +WsGetServiceHostProperty +WsGetServiceProxyProperty +WsGetWriterPosition +WsGetWriterProperty +WsGetXmlAttribute +WsInitializeMessage +WsMarkHeaderAsUnderstood +WsMatchPolicyAlternative +WsMoveReader +WsMoveWriter +WsOpenChannel +WsOpenListener +WsOpenServiceHost +WsOpenServiceProxy +WsPullBytes +WsPushBytes +WsReadArray +WsReadAttribute +WsReadBody +WsReadBytes +WsReadChars +WsReadCharsUtf8 +WsReadElement +WsReadEndAttribute +WsReadEndElement +WsReadEndpointAddressExtension +WsReadEnvelopeEnd +WsReadEnvelopeStart +WsReadMessageEnd +WsReadMessageStart +WsReadMetadata +WsReadNode +WsReadQualifiedName +WsReadStartAttribute +WsReadStartElement +WsReadToStartElement +WsReadType +WsReadValue +WsReadXmlBuffer +WsReadXmlBufferFromBytes +WsReceiveMessage +WsRegisterOperationForCancel +WsRemoveCustomHeader +WsRemoveHeader +WsRemoveMappedHeader +WsRemoveNode +WsRequestReply +WsRequestSecurityToken +WsResetChannel +WsResetError +WsResetHeap +WsResetListener +WsResetMessage +WsResetMetadata +WsResetServiceHost +WsResetServiceProxy +WsRevokeSecurityContext +WsSendFaultMessageForError +WsSendMessage +WsSendReplyMessage +WsSetChannelProperty +WsSetErrorProperty +WsSetFaultErrorDetail +WsSetFaultErrorProperty +WsSetHeader +WsSetInput +WsSetInputToBuffer +WsSetListenerProperty +WsSetMessageProperty +WsSetOutput +WsSetOutputToBuffer +WsSetReaderPosition +WsSetWriterPosition +WsShutdownSessionChannel +WsSkipNode +WsStartReaderCanonicalization +WsStartWriterCanonicalization +WsTrimXmlWhitespace +WsVerifyXmlNCName +WsWriteArray +WsWriteAttribute +WsWriteBody +WsWriteBytes +WsWriteChars +WsWriteCharsUtf8 +WsWriteElement +WsWriteEndAttribute +WsWriteEndCData +WsWriteEndElement +WsWriteEndStartElement +WsWriteEnvelopeEnd +WsWriteEnvelopeStart +WsWriteMessageEnd +WsWriteMessageStart +WsWriteNode +WsWriteQualifiedName +WsWriteStartAttribute +WsWriteStartCData +WsWriteStartElement +WsWriteText +WsWriteType +WsWriteValue +WsWriteXmlBuffer +WsWriteXmlBufferToBytes +WsWriteXmlnsAttribute +WsXmlStringEquals diff --git a/lib/libc/mingw/libarm32/wer.def b/lib/libc/mingw/libarm32/wer.def new file mode 100644 index 0000000000..f8a6f06718 --- /dev/null +++ b/lib/libc/mingw/libarm32/wer.def @@ -0,0 +1,129 @@ +; +; Definition file of wer.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "wer.dll" +EXPORTS +WerSysprepCleanup +WerSysprepGeneralize +WerSysprepSpecialize +WerUnattendedSetup +WerpAddAppCompatData +WerpAddMemoryBlock +WerpAddRegisteredDataToReport +WerpArchiveReport +WerpCancelResponseDownload +WerpCancelUpload +WerpCloseStore +WerpCreateMachineStore +WerpCreateUserStore +WerpDeleteReport +WerpDestroyWerString +WerpDownloadResponse +WerpDownloadResponseTemplate +WerpEnumerateStoreNext +WerpEnumerateStoreStart +WerpExtractReportFiles +WerpFlushImageCache +WerpForceDeferredCollection +WerpFreeUnmappedVaRanges +WerpGetBucketId +WerpGetDynamicParameter +WerpGetEventType +WerpGetExtendedDiagData +WerpGetFileByIndex +WerpGetFilePathByIndex +WerpGetLegacyBucketId +WerpGetLoadedModuleByIndex +WerpGetNumFiles +WerpGetNumLoadedModules +WerpGetNumSigParams +WerpGetReportFinalConsent +WerpGetReportFlags +WerpGetReportInformation +WerpGetReportSettings +WerpGetReportTime +WerpGetReportType +WerpGetResponseId +WerpGetResponseUrl +WerpGetSigParamByIndex +WerpGetStorePath +WerpGetStoreType +WerpGetTextFromReport +WerpGetUIParamByIndex +WerpGetUploadTime +WerpGetWerStringData +WerpGetWow64Process +WerpHashApplicationParameters +WerpInitializeImageCache +WerpIsOnBattery +WerpIsTransportAvailable +WerpLoadReport +WerpLoadReportFromBuffer +WerpOpenMachineArchive +WerpOpenMachineQueue +WerpOpenUserArchive +WerpPromptUser +WerpPruneStore +WerpReportCancel +WerpReportSprintfParameter +WerpReserveMachineQueueReportDir +WerpResetTransientImageCacheStatistics +WerpRestartApplication +WerpSetDynamicParameter +WerpSetEventName +WerpSetReportApplicationIdentity +WerpSetReportFlags +WerpSetReportInformation +WerpSetReportNamespaceParameter +WerpSetReportTime +WerpSetReportUploadContextToken +WerpShowUpsellUI +WerpStitchedMinidumpVmPostReadCallback +WerpStitchedMinidumpVmPreReadCallback +WerpStitchedMinidumpVmQueryCallback +WerpSubmitReportFromStore +WerpSvcReportFromMachineQueue +WerpTraceAuxMemDumpStatistics +WerpTraceDuration +WerpTraceImageCacheStatistics +WerpTraceSnapshotStatistics +WerpTraceStitchedDumpWriterStatistics +WerpTraceUnmappedVaRangesStatistics +WerpUnmapProcessViews +WerpUpdateReportResponse +WerpValidateReportKey +WerpWalkGatherBlocks +WerAddExcludedApplication +WerRemoveExcludedApplication +WerReportAddDump +WerReportAddFile +WerReportCloseHandle +WerReportCreate +WerReportSetParameter +WerReportSetUIOption +WerReportSubmit +WerpAddFile +WerpAddFileBuffer +WerpAddFileCallback +WerpAuxmdDumpProcessImages +WerpAuxmdDumpRegisteredBlocks +WerpAuxmdFree +WerpAuxmdFreeCopyBuffer +WerpAuxmdHashVaRanges +WerpAuxmdInitialize +WerpAuxmdMapFile +WerpCreateIntegratorReportId +WerpDownloadResponseOnly +WerpFreeString +WerpGetIntegratorReportId +WerpGetReportConsent +WerpGetStoreLocation +WerpIsDisabled +WerpLaunchResponse +WerpOpenUserQueue +WerpSetAuxiliaryArchivePath +WerpSetCallBack +WerpSetDefaultUserConsent +WerpSetIntegratorReportId diff --git a/lib/libc/mingw/libarm32/winbio.def b/lib/libc/mingw/libarm32/winbio.def new file mode 100644 index 0000000000..22a13baa26 --- /dev/null +++ b/lib/libc/mingw/libarm32/winbio.def @@ -0,0 +1,68 @@ +; +; Definition file of winbio.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "winbio.dll" +EXPORTS +WinBioNotifyPasswordChange +_BioLogonIdentifiedUser +WinBioAcquireFocus +WinBioAsyncEnumBiometricUnits +WinBioAsyncEnumDatabases +WinBioAsyncEnumServiceProviders +WinBioAsyncMonitorFrameworkChanges +WinBioAsyncOpenFramework +WinBioAsyncOpenSession +WinBioCancel +WinBioCaptureSample +WinBioCaptureSampleWithCallback +WinBioCloseFramework +WinBioCloseSession +WinBioControlUnit +WinBioControlUnitPrivileged +WinBioDeleteTemplate +WinBioEnrollBegin +WinBioEnrollCapture +WinBioEnrollCaptureWithCallback +WinBioEnrollCommit +WinBioEnrollDiscard +WinBioEnumBiometricUnits +WinBioEnumDatabases +WinBioEnumEnrollments +WinBioEnumServiceProviders +WinBioFree +WinBioGetCredentialState +WinBioGetCredentialWithTicket +WinBioGetDomainLogonSetting +WinBioGetEnabledSetting +WinBioGetLogonSetting +WinBioGetMSACredentialState +WinBioGetMSACredentialWithTicket +WinBioGetProperty +WinBioIdentify +WinBioIdentifyAndReleaseTicket +WinBioIdentifyWithCallback +WinBioLocateSensor +WinBioLocateSensorWithCallback +WinBioLockUnit +WinBioLogonIdentifiedUser +WinBioOpenSession +WinBioProtectData +WinBioRegisterEventMonitor +WinBioRegisterServiceMonitor +WinBioReleaseFocus +WinBioRemoveAllCredentials +WinBioRemoveAllDomainCredentials +WinBioRemoveCredential +WinBioRemoveMSACredential +WinBioSetCredential +WinBioSetMSACredential +WinBioUnlockUnit +WinBioUnprotectData +WinBioUnregisterEventMonitor +WinBioUnregisterServiceMonitor +WinBioVerify +WinBioVerifyAndReleaseTicket +WinBioVerifyWithCallback +WinBioWait diff --git a/lib/libc/mingw/libarm32/winsta.def b/lib/libc/mingw/libarm32/winsta.def new file mode 100644 index 0000000000..b7442fa6a3 --- /dev/null +++ b/lib/libc/mingw/libarm32/winsta.def @@ -0,0 +1,173 @@ +; +; Definition file of WINSTA.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "WINSTA.dll" +EXPORTS +WinStationRegisterConsoleNotificationEx2 +LogonIdFromWinStationNameA +LogonIdFromWinStationNameW +RemoteAssistancePrepareSystemRestore +ServerGetInternetConnectorStatus +ServerLicensingClose +ServerLicensingDeactivateCurrentPolicy +ServerLicensingFreePolicyInformation +ServerLicensingGetAvailablePolicyIds +ServerLicensingGetPolicy +ServerLicensingGetPolicyInformationA +ServerLicensingGetPolicyInformationW +ServerLicensingLoadPolicy +ServerLicensingOpenA +ServerLicensingOpenW +ServerLicensingSetPolicy +ServerLicensingUnloadPolicy +ServerQueryInetConnectorInformationA +ServerQueryInetConnectorInformationW +ServerSetInternetConnectorStatus +WTSRegisterSessionNotificationEx +WTSUnRegisterSessionNotificationEx +WinStationActivateLicense +WinStationAutoReconnect +WinStationBroadcastSystemMessage +WinStationCheckAccess +WinStationCheckLoopBack +WinStationCloseServer +WinStationConnectA +WinStationConnectAndLockDesktop +WinStationConnectCallback +WinStationConnectEx +WinStationConnectW +WinStationCreateChildSessionTransport +WinStationDisconnect +WinStationEnableChildSessions +WinStationEnumerateA +WinStationEnumerateExW +WinStationEnumerateLicenses +WinStationEnumerateProcesses +WinStationEnumerateW +WinStationEnumerate_IndexedA +WinStationEnumerate_IndexedW +WinStationFreeConsoleNotification +WinStationFreeEXECENVDATAEX +WinStationFreeGAPMemory +WinStationFreeMemory +WinStationFreePropertyValue +WinStationFreeUserCertificates +WinStationFreeUserCredentials +WinStationFreeUserSessionInfo +WinStationGenerateLicense +WinStationGetAllProcesses +WinStationGetAllSessionsEx +WinStationGetAllSessionsW +WinStationGetAllUserSessions +WinStationGetChildSessionId +WinStationGetConnectionProperty +WinStationGetCurrentSessionCapabilities +WinStationGetCurrentSessionConnectionProperty +WinStationGetCurrentSessionTerminalName +WinStationGetDeviceId +WinStationGetInitialApplication +WinStationGetLanAdapterNameA +WinStationGetLanAdapterNameW +WinStationGetLoggedOnCount +WinStationGetMachinePolicy +WinStationGetParentSessionId +WinStationGetProcessSid +WinStationGetRedirectAuthInfo +WinStationGetRestrictedLogonInfo +WinStationGetSessionIds +WinStationGetTermSrvCountersValue +WinStationGetUserCertificates +WinStationGetUserCredentials +WinStationGetUserProfile +WinStationInstallLicense +WinStationIsChildSessionsEnabled +WinStationIsCurrentSessionRemoteable +WinStationIsHelpAssistantSession +WinStationIsSessionPermitted +WinStationIsSessionRemoteable +WinStationNameFromLogonIdA +WinStationNameFromLogonIdW +WinStationNegotiateSession +WinStationNtsdDebug +WinStationOpenServerA +WinStationOpenServerExA +WinStationOpenServerExW +WinStationOpenServerW +WinStationPreCreateGlassReplacementSession +WinStationQueryAllowConcurrentConnections +WinStationQueryCurrentSessionInformation +WinStationQueryEnforcementCore +WinStationQueryInformationA +WinStationQueryInformationW +WinStationQueryLicense +WinStationQueryLogonCredentialsW +WinStationQuerySessionVirtualIP +WinStationQueryUpdateRequired +WinStationRcmShadow2 +WinStationRedirectErrorMessage +WinStationRedirectLogonBeginPainting +WinStationRedirectLogonError +WinStationRedirectLogonMessage +WinStationRedirectLogonStatus +WinStationRegisterConsoleNotification +WinStationRegisterConsoleNotificationEx +WinStationRegisterCurrentSessionNotificationEvent +WinStationRegisterNotificationEvent +WinStationRemoveLicense +WinStationRenameA +WinStationRenameW +WinStationReportUIResult +WinStationReset +WinStationRevertFromServicesSession +WinStationSendMessageA +WinStationSendMessageW +WinStationSendWindowMessage +WinStationServerPing +WinStationSetAutologonPassword +WinStationSetInformationA +WinStationSetInformationW +WinStationSetPoolCount +WinStationSetRenderHint +WinStationShadow +WinStationShadowAccessCheck +WinStationShadowStop +WinStationShadowStop2 +WinStationShutdownSystem +WinStationSwitchToServicesSession +WinStationSystemShutdownStarted +WinStationSystemShutdownWait +WinStationTerminateGlassReplacementSession +WinStationTerminateProcess +WinStationUnRegisterConsoleNotification +WinStationUnRegisterNotificationEvent +WinStationUserLoginAccessCheck +WinStationVerify +WinStationVirtualOpen +WinStationVirtualOpenEx +WinStationWaitSystemEvent +_NWLogonQueryAdmin +_NWLogonSetAdmin +_WinStationAnnoyancePopup +_WinStationBeepOpen +_WinStationBreakPoint +_WinStationCallback +_WinStationCheckForApplicationName +_WinStationFUSCanRemoteUserDisconnect +_WinStationGetApplicationInfo +_WinStationNotifyDisconnectPipe +_WinStationNotifyLogoff +_WinStationNotifyLogon +_WinStationNotifyNewSession +_WinStationOpenSessionDirectory +_WinStationReInitializeSecurity +_WinStationReadRegistry +_WinStationSessionInitialized +_WinStationShadowTarget +_WinStationShadowTarget2 +_WinStationShadowTargetSetup +_WinStationUpdateClientCachedCredentials +_WinStationUpdateSettings +_WinStationUpdateUserConfig +_WinStationWaitForConnect diff --git a/lib/libc/mingw/libarm32/wldp.def b/lib/libc/mingw/libarm32/wldp.def new file mode 100644 index 0000000000..384443d93b --- /dev/null +++ b/lib/libc/mingw/libarm32/wldp.def @@ -0,0 +1,12 @@ +; +; Definition file of Wldp.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "Wldp.dll" +EXPORTS +WldpCheckRetailConfiguration +WldpGetLockdownPolicy +WldpIsClassInApprovedList +WldpIsDebugAllowed +WldpIsRundll32Allowed diff --git a/lib/libc/mingw/libarm32/wofutil.def b/lib/libc/mingw/libarm32/wofutil.def new file mode 100644 index 0000000000..de3beb5d00 --- /dev/null +++ b/lib/libc/mingw/libarm32/wofutil.def @@ -0,0 +1,14 @@ +; +; Definition file of WOFUTIL.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "WOFUTIL.dll" +EXPORTS +WofEnumEntries +WofIsExternalFile +WofSetFileDataLocation +WofWimAddEntry +WofWimEnumFiles +WofWimRemoveEntry +WofWimUpdateEntry diff --git a/lib/libc/mingw/libarm32/wsclient.def b/lib/libc/mingw/libarm32/wsclient.def new file mode 100644 index 0000000000..6bfc84bea8 --- /dev/null +++ b/lib/libc/mingw/libarm32/wsclient.def @@ -0,0 +1,38 @@ +; +; Definition file of WSClient.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "WSClient.dll" +EXPORTS +WSpTLRW +AcquireDeveloperLicense +CheckDeveloperLicense +GetApplicationURL +RefreshBannedAppsList +RemoveDeveloperLicense +WSCallServer +WSCheckForConsumable +WSEvaluatePackage +WSGetEvaluatePackageAttempted +WSLicenseCleanUpState +WSLicenseClose +WSLicenseFilterValidAppCategoryIds +WSLicenseGetAllUserTokens +WSLicenseGetAllValidAppCategoryIds +WSLicenseGetDevInstalledApps +WSLicenseGetExtendedUserInfo +WSLicenseGetFeatureLicenseResults +WSLicenseGetLicensesForProducts +WSLicenseGetOAuthServiceTicket +WSLicenseGetProductLicenseResults +WSLicenseInstallLicense +WSLicenseOpen +WSLicenseRefreshLicense +WSLicenseRetrieveMachineID +WSLicenseRevokeLicenses +WSLicenseUninstallLicense +WSNotifyOOBECompletion +WSNotifyPackageInstalled +WSTriggerOOBEFileValidation +g_bPrintFromClientDLL DATA diff --git a/lib/libc/mingw/libarm32/wsdapi.def b/lib/libc/mingw/libarm32/wsdapi.def new file mode 100644 index 0000000000..45a9ade6ad --- /dev/null +++ b/lib/libc/mingw/libarm32/wsdapi.def @@ -0,0 +1,52 @@ +; +; Definition file of wsdapi.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "wsdapi.dll" +EXPORTS +WSDAddFirewallCheck +WSDCancelNetworkChangeNotify +WSDCopyNameList +WSDNotifyNetworkChange +WSDRemoveFirewallCheck +WSDXMLCompareNames +WSDAllocateLinkedMemory +WSDAttachLinkedMemory +WSDCompareEndpoints +WSDCopyEndpoint +WSDCreateDeviceHost +WSDCreateDeviceHost2 +WSDCreateDeviceHostAdvanced +WSDCreateDeviceProxy +WSDCreateDeviceProxy2 +WSDCreateDeviceProxyAdvanced +WSDCreateDiscoveryProvider +WSDCreateDiscoveryProvider2 +WSDCreateDiscoveryPublisher +WSDCreateDiscoveryPublisher2 +WSDCreateHttpAddress +WSDCreateHttpMessageParameters +WSDCreateHttpTransport +WSDCreateMetadataAgent +WSDCreateOutboundAttachment +WSDCreateUdpAddress +WSDCreateUdpMessageParameters +WSDCreateUdpTransport +WSDDetachLinkedMemory +WSDFreeLinkedMemory +WSDGenerateFault +WSDGenerateFaultEx +WSDGenerateRandomDelay +WSDGetConfigurationOption +WSDProcessFault +WSDSetConfigurationOption +WSDUriDecode +WSDUriEncode +WSDXMLAddChild +WSDXMLAddSibling +WSDXMLBuildAnyForSingleElement +WSDXMLCleanupElement +WSDXMLCreateContext +WSDXMLGetNameFromBuiltinNamespace +WSDXMLGetValueFromAny diff --git a/lib/libc/mingw/libarm32/wsmsvc.def b/lib/libc/mingw/libarm32/wsmsvc.def new file mode 100644 index 0000000000..c86b719aba --- /dev/null +++ b/lib/libc/mingw/libarm32/wsmsvc.def @@ -0,0 +1,3676 @@ +; +; Definition file of WsmSvc.DLL +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "WsmSvc.DLL" +EXPORTS +??0?$AutoCleanup@V?$AutoDelete@D@@PAD@@QAA@PAD@Z +??0?$AutoCleanup@V?$AutoDelete@G@@PAG@@QAA@PAG@Z +??0?$AutoCleanup@V?$AutoDelete@UIPRange@CWSManIPFilter@@@@PAUIPRange@CWSManIPFilter@@@@QAA@PAUIPRange@CWSManIPFilter@@@Z +??0?$AutoCleanup@V?$AutoDelete@U_SID@@@@PAU_SID@@@@QAA@PAU_SID@@@Z +??0?$AutoCleanup@V?$AutoDelete@U_WSMAN_STREAM_ID_SET@@@@PAU_WSMAN_STREAM_ID_SET@@@@QAA@PAU_WSMAN_STREAM_ID_SET@@@Z +??0?$AutoCleanup@V?$AutoDelete@V?$Handle@VISubscription@@@@@@PAV?$Handle@VISubscription@@@@@@QAA@PAV?$Handle@VISubscription@@@@@Z +??0?$AutoCleanup@V?$AutoDelete@V?$SafeMap_Iterator@VStringKeyCI@@K@@@@PAV?$SafeMap_Iterator@VStringKeyCI@@K@@@@QAA@PAV?$SafeMap_Iterator@VStringKeyCI@@K@@@Z +??0?$AutoCleanup@V?$AutoDelete@V?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@@PAV?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@@QAA@PAV?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@Z +??0?$AutoCleanup@V?$AutoDelete@V?$SafeSet@PAVCCertMapping@@@@@@PAV?$SafeSet@PAVCCertMapping@@@@@@QAA@PAV?$SafeSet@PAVCCertMapping@@@@@Z +??0?$AutoCleanup@V?$AutoDelete@V?$SafeSet@PAVCShellUriSettings@@@@@@PAV?$SafeSet@PAVCShellUriSettings@@@@@@QAA@PAV?$SafeSet@PAVCShellUriSettings@@@@@Z +??0?$AutoCleanup@V?$AutoDelete@V?$SafeSet_Iterator@PAVCListenerOperation@@@@@@PAV?$SafeSet_Iterator@PAVCListenerOperation@@@@@@QAA@PAV?$SafeSet_Iterator@PAVCListenerOperation@@@@@Z +??0?$AutoCleanup@V?$AutoDelete@V?$SimpleStack@VCListenerOperation@@@@@@PAV?$SimpleStack@VCListenerOperation@@@@@@QAA@PAV?$SimpleStack@VCListenerOperation@@@@@Z +??0?$AutoCleanup@V?$AutoDelete@V?$SimpleStack@VShellHostEntry@@@@@@PAV?$SimpleStack@VShellHostEntry@@@@@@QAA@PAV?$SimpleStack@VShellHostEntry@@@@@Z +??0?$AutoCleanup@V?$AutoDelete@V?$set@PAVCListenerSettings@@VCListenerSettingsLessFunctor@CServiceConfigSettings@@V?$transport_allocator@PAVCListenerSettings@@@@@std@@@@PAV?$set@PAVCListenerSettings@@VCListenerSettingsLessFunctor@CServiceConfigSettings@@V?$transport_allocator@PAVCListenerSettings@@@@@std@@@@QAA@PAV?$set@PAVCListenerSettings@@VCListenerSettingsLessFunctor@CServiceConfigSettings@@V?$transport_allocator@PAVCListenerSettings@@@@@std@@@Z +??0?$AutoCleanup@V?$AutoDelete@V?$set@Usockaddr_storage@@VSockAddrLessFunctor@CListenerSettings@@V?$transport_allocator@Usockaddr_storage@@@@@std@@@@PAV?$set@Usockaddr_storage@@VSockAddrLessFunctor@CListenerSettings@@V?$transport_allocator@Usockaddr_storage@@@@@std@@@@QAA@PAV?$set@Usockaddr_storage@@VSockAddrLessFunctor@CListenerSettings@@V?$transport_allocator@Usockaddr_storage@@@@@std@@@Z +??0?$AutoCleanup@V?$AutoDelete@V?$vector@PAVHandleImpl@Client@WSMan@@V?$transport_allocator@PAVHandleImpl@Client@WSMan@@@@@std@@@@PAV?$vector@PAVHandleImpl@Client@WSMan@@V?$transport_allocator@PAVHandleImpl@Client@WSMan@@@@@std@@@@QAA@PAV?$vector@PAVHandleImpl@Client@WSMan@@V?$transport_allocator@PAVHandleImpl@Client@WSMan@@@@@std@@@Z +??0?$AutoCleanup@V?$AutoDelete@V?$vector@PAVIServiceConfigObserver@@V?$transport_allocator@PAVIServiceConfigObserver@@@@@std@@@@PAV?$vector@PAVIServiceConfigObserver@@V?$transport_allocator@PAVIServiceConfigObserver@@@@@std@@@@QAA@PAV?$vector@PAVIServiceConfigObserver@@V?$transport_allocator@PAVIServiceConfigObserver@@@@@std@@@Z +??0?$AutoCleanup@V?$AutoDelete@VAdminSid@CSecurity@@@@PAVAdminSid@CSecurity@@@@QAA@PAVAdminSid@CSecurity@@@Z +??0?$AutoCleanup@V?$AutoDelete@VBlockedRecord@@@@PAVBlockedRecord@@@@QAA@PAVBlockedRecord@@@Z +??0?$AutoCleanup@V?$AutoDelete@VCBaseConfigCache@@@@PAVCBaseConfigCache@@@@QAA@PAVCBaseConfigCache@@@Z +??0?$AutoCleanup@V?$AutoDelete@VCCertMapping@@@@PAVCCertMapping@@@@QAA@PAVCCertMapping@@@Z +??0?$AutoCleanup@V?$AutoDelete@VCConfigChangeSource@@@@PAVCConfigChangeSource@@@@QAA@PAVCConfigChangeSource@@@Z +??0?$AutoCleanup@V?$AutoDelete@VCListenerSettings@@@@PAVCListenerSettings@@@@QAA@PAVCListenerSettings@@@Z +??0?$AutoCleanup@V?$AutoDelete@VCObserverConfigChangeErrors@@@@PAVCObserverConfigChangeErrors@@@@QAA@PAVCObserverConfigChangeErrors@@@Z +??0?$AutoCleanup@V?$AutoDelete@VCServiceWatcher@CServiceConfigCache@@@@PAVCServiceWatcher@CServiceConfigCache@@@@QAA@PAVCServiceWatcher@CServiceConfigCache@@@Z +??0?$AutoCleanup@V?$AutoDelete@VCShellUriSettings@@@@PAVCShellUriSettings@@@@QAA@PAVCShellUriSettings@@@Z +??0?$AutoCleanup@V?$AutoDelete@VCWSManEPR@@@@PAVCWSManEPR@@@@QAA@PAVCWSManEPR@@@Z +??0?$AutoCleanup@V?$AutoDelete@VCWSManResource@@@@PAVCWSManResource@@@@QAA@PAVCWSManResource@@@Z +??0?$AutoCleanup@V?$AutoDelete@VCertHash@@@@PAVCertHash@@@@QAA@PAVCertHash@@@Z +??0?$AutoCleanup@V?$AutoDelete@VConfigUpdate@@@@PAVConfigUpdate@@@@QAA@PAVConfigUpdate@@@Z +??0?$AutoCleanup@V?$AutoDelete@VCredUIDllLoader@@@@PAVCredUIDllLoader@@@@QAA@PAVCredUIDllLoader@@@Z +??0?$AutoCleanup@V?$AutoDelete@VEnumSinkEx@@@@PAVEnumSinkEx@@@@QAA@PAVEnumSinkEx@@@Z +??0?$AutoCleanup@V?$AutoDelete@VEnumSinkEx@@@@PAVEnumSinkEx@@@@QAA@XZ +??0?$AutoCleanup@V?$AutoDelete@VEventHandler@WSMan@@@@PAVEventHandler@WSMan@@@@QAA@PAVEventHandler@WSMan@@@Z +??0?$AutoCleanup@V?$AutoDelete@VExpiredOperationIdRecord@@@@PAVExpiredOperationIdRecord@@@@QAA@PAVExpiredOperationIdRecord@@@Z +??0?$AutoCleanup@V?$AutoDelete@VGPApiManager@@@@PAVGPApiManager@@@@QAA@PAVGPApiManager@@@Z +??0?$AutoCleanup@V?$AutoDelete@VGeneralSinkEx@@@@PAVGeneralSinkEx@@@@QAA@PAVGeneralSinkEx@@@Z +??0?$AutoCleanup@V?$AutoDelete@VGeneralSinkEx@@@@PAVGeneralSinkEx@@@@QAA@XZ +??0?$AutoCleanup@V?$AutoDelete@VIChannelObserverFactory@@@@PAVIChannelObserverFactory@@@@QAA@PAVIChannelObserverFactory@@@Z +??0?$AutoCleanup@V?$AutoDelete@VIQueryDASHSMASHInterface@@@@PAVIQueryDASHSMASHInterface@@@@QAA@PAVIQueryDASHSMASHInterface@@@Z +??0?$AutoCleanup@V?$AutoDelete@VIQueryDASHSMASHInterface@@@@PAVIQueryDASHSMASHInterface@@@@QAA@XZ +??0?$AutoCleanup@V?$AutoDelete@VISpecification@@@@PAVISpecification@@@@QAA@PAVISpecification@@@Z +??0?$AutoCleanup@V?$AutoDelete@VISpecification@@@@PAVISpecification@@@@QAA@XZ +??0?$AutoCleanup@V?$AutoDelete@VInteractiveSid@CSecurity@@@@PAVInteractiveSid@CSecurity@@@@QAA@PAVInteractiveSid@CSecurity@@@Z +??0?$AutoCleanup@V?$AutoDelete@VIpHlpApiDllLoader@@@@PAVIpHlpApiDllLoader@@@@QAA@PAVIpHlpApiDllLoader@@@Z +??0?$AutoCleanup@V?$AutoDelete@VMachineName@@@@PAVMachineName@@@@QAA@PAVMachineName@@@Z +??0?$AutoCleanup@V?$AutoDelete@VNetworkServiceSid@CSecurity@@@@PAVNetworkServiceSid@CSecurity@@@@QAA@PAVNetworkServiceSid@CSecurity@@@Z +??0?$AutoCleanup@V?$AutoDelete@VNtDsApiDllLoader@@@@PAVNtDsApiDllLoader@@@@QAA@PAVNtDsApiDllLoader@@@Z +??0?$AutoCleanup@V?$AutoDelete@VOptionValue@SessionOptions@Client@WSMan@@@@PAVOptionValue@SessionOptions@Client@WSMan@@@@QAA@PAVOptionValue@SessionOptions@Client@WSMan@@@Z +??0?$AutoCleanup@V?$AutoDelete@VPacketCreator@@@@PAVPacketCreator@@@@QAA@PAVPacketCreator@@@Z +??0?$AutoCleanup@V?$AutoDelete@VPacketParser@@@@PAVPacketParser@@@@QAA@PAVPacketParser@@@Z +??0?$AutoCleanup@V?$AutoDelete@VResources@Locale@@@@PAVResources@Locale@@@@QAA@PAVResources@Locale@@@Z +??0?$AutoCleanup@V?$AutoDelete@VRunAsConfiguration@@@@PAVRunAsConfiguration@@@@QAA@PAVRunAsConfiguration@@@Z +??0?$AutoCleanup@V?$AutoDelete@VSecurityEntry@Catalog@@@@PAVSecurityEntry@Catalog@@@@QAA@PAVSecurityEntry@Catalog@@@Z +??0?$AutoCleanup@V?$AutoDelete@VSendPacketArgs@RobustConnectionBuffer@@@@PAVSendPacketArgs@RobustConnectionBuffer@@@@QAA@PAVSendPacketArgs@RobustConnectionBuffer@@@Z +??0?$AutoCleanup@V?$AutoDelete@VServiceSoapProcessor@@@@PAVServiceSoapProcessor@@@@QAA@PAVServiceSoapProcessor@@@Z +??0?$AutoCleanup@V?$AutoDelete@VShell32DllLoader@@@@PAVShell32DllLoader@@@@QAA@PAVShell32DllLoader@@@Z +??0?$AutoCleanup@V?$AutoDelete@VShlWApiDllLoader@@@@PAVShlWApiDllLoader@@@@QAA@PAVShlWApiDllLoader@@@Z +??0?$AutoCleanup@V?$AutoDelete@VSubscriptionEnumerator@@@@PAVSubscriptionEnumerator@@@@QAA@PAVSubscriptionEnumerator@@@Z +??0?$AutoCleanup@V?$AutoDelete@VSubscriptionManager@@@@PAVSubscriptionManager@@@@QAA@PAVSubscriptionManager@@@Z +??0?$AutoCleanup@V?$AutoDelete@VTSTRBUFFER@@@@PAVTSTRBUFFER@@@@QAA@PAVTSTRBUFFER@@@Z +??0?$AutoCleanup@V?$AutoDelete@VTSTRBUFFER@@@@PAVTSTRBUFFER@@@@QAA@XZ +??0?$AutoCleanup@V?$AutoDelete@VUniqueStringOverflow@@@@PAVUniqueStringOverflow@@@@QAA@PAVUniqueStringOverflow@@@Z +??0?$AutoCleanup@V?$AutoDelete@VUser32DllLoader@@@@PAVUser32DllLoader@@@@QAA@PAVUser32DllLoader@@@Z +??0?$AutoCleanup@V?$AutoDelete@VWSMANCONFIGTABLE_IDENTITY@@@@PAVWSMANCONFIGTABLE_IDENTITY@@@@QAA@PAVWSMANCONFIGTABLE_IDENTITY@@@Z +??0?$AutoCleanup@V?$AutoDelete@VWSManMemCryptManager@@@@PAVWSManMemCryptManager@@@@QAA@PAVWSManMemCryptManager@@@Z +??0?$AutoCleanup@V?$AutoDelete@VWmiEnumContext@@@@PAVWmiEnumContext@@@@QAA@PAVWmiEnumContext@@@Z +??0?$AutoCleanup@V?$AutoDelete@VWmiEnumContext@@@@PAVWmiEnumContext@@@@QAA@XZ +??0?$AutoCleanup@V?$AutoDelete@VXmlReader@@@@PAVXmlReader@@@@QAA@PAVXmlReader@@@Z +??0?$AutoCleanup@V?$AutoDeleteVector@$$CBG@@PBG@@QAA@PBG@Z +??0?$AutoCleanup@V?$AutoDeleteVector@D@@PAD@@QAA@PAD@Z +??0?$AutoCleanup@V?$AutoDeleteVector@E@@PAE@@QAA@PAE@Z +??0?$AutoCleanup@V?$AutoDeleteVector@E@@PAE@@QAA@XZ +??0?$AutoCleanup@V?$AutoDeleteVector@G@@PAG@@QAA@PAG@Z +??0?$AutoCleanup@V?$AutoDeleteVector@G@@PAG@@QAA@XZ +??0?$AutoCleanup@V?$AutoDeleteVector@H@@PAH@@QAA@PAH@Z +??0?$AutoCleanup@V?$AutoDeleteVector@PAG@@PAPAG@@QAA@PAPAG@Z +??0?$AutoCleanup@V?$AutoDeleteVector@PAG@@PAPAG@@QAA@XZ +??0?$AutoCleanup@V?$AutoDeleteVector@PBG@@PAPBG@@QAA@PAPBG@Z +??0?$AutoCleanup@V?$AutoDeleteVector@PBG@@PAPBG@@QAA@XZ +??0?$AutoCleanup@V?$AutoDeleteVector@U_CONFIG_UPDATE@@@@PAU_CONFIG_UPDATE@@@@QAA@PAU_CONFIG_UPDATE@@@Z +??0?$AutoCleanup@V?$AutoDeleteVector@U_WINRS_CREATE_SHELL_ENVIRONMENT_VARIABLE@@@@PAU_WINRS_CREATE_SHELL_ENVIRONMENT_VARIABLE@@@@QAA@PAU_WINRS_CREATE_SHELL_ENVIRONMENT_VARIABLE@@@Z +??0?$AutoCleanup@V?$AutoDeleteVector@U_WINRS_CREATE_SHELL_ENVIRONMENT_VARIABLE@@@@PAU_WINRS_CREATE_SHELL_ENVIRONMENT_VARIABLE@@@@QAA@XZ +??0?$AutoCleanup@V?$AutoDeleteVector@U_WINRS_RUN_COMMAND_ARG@@@@PAU_WINRS_RUN_COMMAND_ARG@@@@QAA@PAU_WINRS_RUN_COMMAND_ARG@@@Z +??0?$AutoCleanup@V?$AutoDeleteVector@U_WINRS_RUN_COMMAND_ARG@@@@PAU_WINRS_RUN_COMMAND_ARG@@@@QAA@XZ +??0?$AutoCleanup@V?$AutoDeleteVector@U_WSMAN_OPTION@@@@PAU_WSMAN_OPTION@@@@QAA@PAU_WSMAN_OPTION@@@Z +??0?$AutoCleanup@V?$AutoDeleteVector@X@@PAX@@QAA@PAX@Z +??0?$AutoCleanup@V?$AutoFree@E@@PAE@@QAA@PAE@Z +??0?$AutoCleanup@V?$AutoLocklessItemRecycle@VPacket@@@@PAVPacket@@@@QAA@PAVPacket@@@Z +??0?$AutoCleanup@V?$AutoRelease@UIAppHostChildElementCollection@@@@PAUIAppHostChildElementCollection@@@@QAA@PAUIAppHostChildElementCollection@@@Z +??0?$AutoCleanup@V?$AutoRelease@UIAppHostElement@@@@PAUIAppHostElement@@@@QAA@PAUIAppHostElement@@@Z +??0?$AutoCleanup@V?$AutoRelease@UIAppHostElementCollection@@@@PAUIAppHostElementCollection@@@@QAA@PAUIAppHostElementCollection@@@Z +??0?$AutoCleanup@V?$AutoRelease@UIAppHostProperty@@@@PAUIAppHostProperty@@@@QAA@PAUIAppHostProperty@@@Z +??0?$AutoCleanup@V?$AutoRelease@UIAppHostPropertyCollection@@@@PAUIAppHostPropertyCollection@@@@QAA@PAUIAppHostPropertyCollection@@@Z +??0?$AutoCleanup@V?$AutoRelease@UIClientSecurity@@@@PAUIClientSecurity@@@@QAA@PAUIClientSecurity@@@Z +??0?$AutoCleanup@V?$AutoRelease@UIClientSecurity@@@@PAUIClientSecurity@@@@QAA@XZ +??0?$AutoCleanup@V?$AutoRelease@UIEnumWbemClassObject@@@@PAUIEnumWbemClassObject@@@@QAA@PAUIEnumWbemClassObject@@@Z +??0?$AutoCleanup@V?$AutoRelease@UIEnumWbemClassObject@@@@PAUIEnumWbemClassObject@@@@QAA@XZ +??0?$AutoCleanup@V?$AutoRelease@UIErrorInfo@@@@PAUIErrorInfo@@@@QAA@PAUIErrorInfo@@@Z +??0?$AutoCleanup@V?$AutoRelease@UIErrorInfo@@@@PAUIErrorInfo@@@@QAA@XZ +??0?$AutoCleanup@V?$AutoRelease@UIUnknown@@@@PAUIUnknown@@@@QAA@PAUIUnknown@@@Z +??0?$AutoCleanup@V?$AutoRelease@UIUnknown@@@@PAUIUnknown@@@@QAA@XZ +??0?$AutoCleanup@V?$AutoRelease@UIWbemClassObject@@@@PAUIWbemClassObject@@@@QAA@PAUIWbemClassObject@@@Z +??0?$AutoCleanup@V?$AutoRelease@UIWbemClassObject@@@@PAUIWbemClassObject@@@@QAA@XZ +??0?$AutoCleanup@V?$AutoRelease@UIWbemContext@@@@PAUIWbemContext@@@@QAA@PAUIWbemContext@@@Z +??0?$AutoCleanup@V?$AutoRelease@UIWbemContext@@@@PAUIWbemContext@@@@QAA@XZ +??0?$AutoCleanup@V?$AutoRelease@UIWbemLocator@@@@PAUIWbemLocator@@@@QAA@PAUIWbemLocator@@@Z +??0?$AutoCleanup@V?$AutoRelease@UIWbemLocator@@@@PAUIWbemLocator@@@@QAA@XZ +??0?$AutoCleanup@V?$AutoRelease@UIWbemObjectTextSrc@@@@PAUIWbemObjectTextSrc@@@@QAA@PAUIWbemObjectTextSrc@@@Z +??0?$AutoCleanup@V?$AutoRelease@UIWbemObjectTextSrc@@@@PAUIWbemObjectTextSrc@@@@QAA@XZ +??0?$AutoCleanup@V?$AutoRelease@UIWbemPath@@@@PAUIWbemPath@@@@QAA@PAUIWbemPath@@@Z +??0?$AutoCleanup@V?$AutoRelease@UIWbemPath@@@@PAUIWbemPath@@@@QAA@XZ +??0?$AutoCleanup@V?$AutoRelease@UIWbemPathKeyList@@@@PAUIWbemPathKeyList@@@@QAA@PAUIWbemPathKeyList@@@Z +??0?$AutoCleanup@V?$AutoRelease@UIWbemPathKeyList@@@@PAUIWbemPathKeyList@@@@QAA@XZ +??0?$AutoCleanup@V?$AutoRelease@UIWbemQualifierSet@@@@PAUIWbemQualifierSet@@@@QAA@PAUIWbemQualifierSet@@@Z +??0?$AutoCleanup@V?$AutoRelease@UIWbemQualifierSet@@@@PAUIWbemQualifierSet@@@@QAA@XZ +??0?$AutoCleanup@V?$AutoRelease@UIWbemQuery@@@@PAUIWbemQuery@@@@QAA@PAUIWbemQuery@@@Z +??0?$AutoCleanup@V?$AutoRelease@UIWbemQuery@@@@PAUIWbemQuery@@@@QAA@XZ +??0?$AutoCleanup@V?$AutoRelease@UIWbemServices@@@@PAUIWbemServices@@@@QAA@PAUIWbemServices@@@Z +??0?$AutoCleanup@V?$AutoRelease@UIWbemServices@@@@PAUIWbemServices@@@@QAA@XZ +??0?$AutoCleanup@V?$AutoRelease@VApplication@Client@WSMan@@@@PAVApplication@Client@WSMan@@@@QAA@PAVApplication@Client@WSMan@@@Z +??0?$AutoCleanup@V?$AutoRelease@VCBaseConfigCache@@@@PAVCBaseConfigCache@@@@QAA@PAVCBaseConfigCache@@@Z +??0?$AutoCleanup@V?$AutoRelease@VCClientConfigSettings@@@@PAVCClientConfigSettings@@@@QAA@PAVCClientConfigSettings@@@Z +??0?$AutoCleanup@V?$AutoRelease@VCCommonConfigSettings@@@@PAVCCommonConfigSettings@@@@QAA@PAVCCommonConfigSettings@@@Z +??0?$AutoCleanup@V?$AutoRelease@VCConfigCacheMap@CBaseConfigCache@@@@PAVCConfigCacheMap@CBaseConfigCache@@@@QAA@PAVCConfigCacheMap@CBaseConfigCache@@@Z +??0?$AutoCleanup@V?$AutoRelease@VCConfigManager@@@@PAVCConfigManager@@@@QAA@PAVCConfigManager@@@Z +??0?$AutoCleanup@V?$AutoRelease@VCRemoteOperation@@@@PAVCRemoteOperation@@@@QAA@PAVCRemoteOperation@@@Z +??0?$AutoCleanup@V?$AutoRelease@VCRemoteSession@@@@PAVCRemoteSession@@@@QAA@PAVCRemoteSession@@@Z +??0?$AutoCleanup@V?$AutoRelease@VCRequestContext@@@@PAVCRequestContext@@@@QAA@PAVCRequestContext@@@Z +??0?$AutoCleanup@V?$AutoRelease@VCServiceCommonConfigSettings@@@@PAVCServiceCommonConfigSettings@@@@QAA@PAVCServiceCommonConfigSettings@@@Z +??0?$AutoCleanup@V?$AutoRelease@VCServiceConfigCache@@@@PAVCServiceConfigCache@@@@QAA@PAVCServiceConfigCache@@@Z +??0?$AutoCleanup@V?$AutoRelease@VCServiceConfigSettings@@@@PAVCServiceConfigSettings@@@@QAA@PAVCServiceConfigSettings@@@Z +??0?$AutoCleanup@V?$AutoRelease@VCWSManEPR@@@@PAVCWSManEPR@@@@QAA@PAVCWSManEPR@@@Z +??0?$AutoCleanup@V?$AutoRelease@VCWSManEPR@@@@PAVCWSManEPR@@@@QAA@XZ +??0?$AutoCleanup@V?$AutoRelease@VCWSManGroupPolicyCache@@@@PAVCWSManGroupPolicyCache@@@@QAA@PAVCWSManGroupPolicyCache@@@Z +??0?$AutoCleanup@V?$AutoRelease@VCWSManGroupPolicyManager@@@@PAVCWSManGroupPolicyManager@@@@QAA@PAVCWSManGroupPolicyManager@@@Z +??0?$AutoCleanup@V?$AutoRelease@VCWSManObject@@@@PAVCWSManObject@@@@QAA@PAVCWSManObject@@@Z +??0?$AutoCleanup@V?$AutoRelease@VCWSManResource@@@@PAVCWSManResource@@@@QAA@PAVCWSManResource@@@Z +??0?$AutoCleanup@V?$AutoRelease@VCWinRSPluginConfigCache@@@@PAVCWinRSPluginConfigCache@@@@QAA@PAVCWinRSPluginConfigCache@@@Z +??0?$AutoCleanup@V?$AutoRelease@VCWinRSPluginConfigCache@@@@PAVCWinRSPluginConfigCache@@@@QAA@XZ +??0?$AutoCleanup@V?$AutoRelease@VCWinRSPluginConfigSettings@@@@PAVCWinRSPluginConfigSettings@@@@QAA@PAVCWinRSPluginConfigSettings@@@Z +??0?$AutoCleanup@V?$AutoRelease@VCommand@Client@WSMan@@@@PAVCommand@Client@WSMan@@@@QAA@PAVCommand@Client@WSMan@@@Z +??0?$AutoCleanup@V?$AutoRelease@VConfigNotification@@@@PAVConfigNotification@@@@QAA@PAVConfigNotification@@@Z +??0?$AutoCleanup@V?$AutoRelease@VConnectShellOperation@Client@WSMan@@@@PAVConnectShellOperation@Client@WSMan@@@@QAA@PAVConnectShellOperation@Client@WSMan@@@Z +??0?$AutoCleanup@V?$AutoRelease@VCreateShellOperation@Client@WSMan@@@@PAVCreateShellOperation@Client@WSMan@@@@QAA@PAVCreateShellOperation@Client@WSMan@@@Z +??0?$AutoCleanup@V?$AutoRelease@VDeleteShellOperation@Client@WSMan@@@@PAVDeleteShellOperation@Client@WSMan@@@@QAA@PAVDeleteShellOperation@Client@WSMan@@@Z +??0?$AutoCleanup@V?$AutoRelease@VDisconnectOperation@Client@WSMan@@@@PAVDisconnectOperation@Client@WSMan@@@@QAA@PAVDisconnectOperation@Client@WSMan@@@Z +??0?$AutoCleanup@V?$AutoRelease@VEnumSinkEx@@@@PAVEnumSinkEx@@@@QAA@PAVEnumSinkEx@@@Z +??0?$AutoCleanup@V?$AutoRelease@VEnumSinkEx@@@@PAVEnumSinkEx@@@@QAA@XZ +??0?$AutoCleanup@V?$AutoRelease@VGeneralSinkEx@@@@PAVGeneralSinkEx@@@@QAA@PAVGeneralSinkEx@@@Z +??0?$AutoCleanup@V?$AutoRelease@VGeneralSinkEx@@@@PAVGeneralSinkEx@@@@QAA@XZ +??0?$AutoCleanup@V?$AutoRelease@VIISConfigSettings@@@@PAVIISConfigSettings@@@@QAA@PAVIISConfigSettings@@@Z +??0?$AutoCleanup@V?$AutoRelease@VIPCSoapProcessor@@@@PAVIPCSoapProcessor@@@@QAA@PAVIPCSoapProcessor@@@Z +??0?$AutoCleanup@V?$AutoRelease@VIRequestContext@@@@PAVIRequestContext@@@@QAA@PAVIRequestContext@@@Z +??0?$AutoCleanup@V?$AutoRelease@VIRequestContext@@@@PAVIRequestContext@@@@QAA@XZ +??0?$AutoCleanup@V?$AutoRelease@VISubscription@@@@PAVISubscription@@@@QAA@PAVISubscription@@@Z +??0?$AutoCleanup@V?$AutoRelease@VInboundRequestDetails@@@@PAVInboundRequestDetails@@@@QAA@PAVInboundRequestDetails@@@Z +??0?$AutoCleanup@V?$AutoRelease@VReceiveOperation@Client@WSMan@@@@PAVReceiveOperation@Client@WSMan@@@@QAA@PAVReceiveOperation@Client@WSMan@@@Z +??0?$AutoCleanup@V?$AutoRelease@VReconnectOperation@Client@WSMan@@@@PAVReconnectOperation@Client@WSMan@@@@QAA@PAVReconnectOperation@Client@WSMan@@@Z +??0?$AutoCleanup@V?$AutoRelease@VSendOperation@Client@WSMan@@@@PAVSendOperation@Client@WSMan@@@@QAA@PAVSendOperation@Client@WSMan@@@Z +??0?$AutoCleanup@V?$AutoRelease@VShell@Client@WSMan@@@@PAVShell@Client@WSMan@@@@QAA@PAVShell@Client@WSMan@@@Z +??0?$AutoCleanup@V?$AutoRelease@VShellInfo@@@@PAVShellInfo@@@@QAA@PAVShellInfo@@@Z +??0?$AutoCleanup@V?$AutoRelease@VSignalOperation@Client@WSMan@@@@PAVSignalOperation@Client@WSMan@@@@QAA@PAVSignalOperation@Client@WSMan@@@Z +??0?$AutoCleanup@V?$AutoRelease@VUserRecord@@@@PAVUserRecord@@@@QAA@PAVUserRecord@@@Z +??0?$AutoCleanup@V?$AutoRelease@VWSManHttpListener@@@@PAVWSManHttpListener@@@@QAA@PAVWSManHttpListener@@@Z +??0?$AutoCleanup@V?$AutoReleaseEx@VHostMappingTableEntry@@@@PAVHostMappingTableEntry@@@@QAA@PAVHostMappingTableEntry@@@Z +??0?$AutoCleanup@V?$AutoReleaseEx@VShell@Client@WSMan@@@@PAVShell@Client@WSMan@@@@QAA@PAVShell@Client@WSMan@@@Z +??0?$AutoCleanup@VAutoBstr@@PAG@@QAA@PAG@Z +??0?$AutoCleanup@VAutoBstr@@PAG@@QAA@XZ +??0?$AutoCleanup@VAutoBstrNoAlloc@@PAG@@QAA@PAG@Z +??0?$AutoCleanup@VAutoBstrNoAlloc@@PAG@@QAA@XZ +??0?$AutoCleanup@VAutoCertContext@@PBU_CERT_CONTEXT@@@@QAA@PBU_CERT_CONTEXT@@@Z +??0?$AutoCleanup@VAutoCertContext@@PBU_CERT_CONTEXT@@@@QAA@XZ +??0?$AutoCleanup@VAutoChainContext@@PBU_CERT_CHAIN_CONTEXT@@@@QAA@PBU_CERT_CHAIN_CONTEXT@@@Z +??0?$AutoCleanup@VAutoChainContext@@PBU_CERT_CHAIN_CONTEXT@@@@QAA@XZ +??0?$AutoCleanup@VAutoCoTaskMemFree@@PAX@@QAA@PAX@Z +??0?$AutoCleanup@VAutoCoTaskMemFree@@PAX@@QAA@XZ +??0?$AutoCleanup@VAutoEnvironmentBlock@@PAX@@QAA@PAX@Z +??0?$AutoCleanup@VAutoEnvironmentBlock@@PAX@@QAA@XZ +??0?$AutoCleanup@VAutoFwXmlCloseParser@@PAX@@QAA@PAX@Z +??0?$AutoCleanup@VAutoFwXmlCloseParser@@PAX@@QAA@XZ +??0?$AutoCleanup@VAutoHandle@@PAX@@QAA@PAX@Z +??0?$AutoCleanup@VAutoHandle@@PAX@@QAA@XZ +??0?$AutoCleanup@VAutoImpersonateUser@@PAX@@QAA@PAX@Z +??0?$AutoCleanup@VAutoImpersonateUser@@PAX@@QAA@XZ +??0?$AutoCleanup@VAutoLibrary@@PAUHINSTANCE__@@@@QAA@PAUHINSTANCE__@@@Z +??0?$AutoCleanup@VAutoLibrary@@PAUHINSTANCE__@@@@QAA@XZ +??0?$AutoCleanup@VAutoLocalFree@@PAX@@QAA@PAX@Z +??0?$AutoCleanup@VAutoLocalFree@@PAX@@QAA@XZ +??0?$AutoCleanup@VAutoMIClass@@PAU_MI_Class@@@@QAA@PAU_MI_Class@@@Z +??0?$AutoCleanup@VAutoMIClass@@PAU_MI_Class@@@@QAA@XZ +??0?$AutoCleanup@VAutoMIInstance@@PAU_MI_Instance@@@@QAA@PAU_MI_Instance@@@Z +??0?$AutoCleanup@VAutoMIInstance@@PAU_MI_Instance@@@@QAA@XZ +??0?$AutoCleanup@VAutoObject@@PAUWSMAN_OBJECT@@@@QAA@PAUWSMAN_OBJECT@@@Z +??0?$AutoCleanup@VAutoObject@@PAUWSMAN_OBJECT@@@@QAA@XZ +??0?$AutoCleanup@VAutoRegKey@@PAUHKEY__@@@@QAA@PAUHKEY__@@@Z +??0?$AutoCleanup@VAutoRegKey@@PAUHKEY__@@@@QAA@XZ +??0?$AutoCleanup@VAutoSecurityDescriptor@@PAX@@QAA@PAX@Z +??0?$AutoCleanup@VAutoSecurityDescriptor@@PAX@@QAA@XZ +??0?$AutoCleanup@VAutoWaitHandle@@PAX@@QAA@PAX@Z +??0?$AutoCleanup@VAutoWaitHandle@@PAX@@QAA@XZ +??0?$AutoDelete@D@@QAA@XZ +??0?$AutoDelete@G@@QAA@PAG@Z +??0?$AutoDelete@G@@QAA@XZ +??0?$AutoDelete@UIPRange@CWSManIPFilter@@@@QAA@XZ +??0?$AutoDelete@U_SID@@@@QAA@PAU_SID@@@Z +??0?$AutoDelete@U_WSMAN_STREAM_ID_SET@@@@QAA@PAU_WSMAN_STREAM_ID_SET@@@Z +??0?$AutoDelete@V?$Handle@VISubscription@@@@@@QAA@PAV?$Handle@VISubscription@@@@@Z +??0?$AutoDelete@V?$SafeMap_Iterator@VStringKeyCI@@K@@@@QAA@XZ +??0?$AutoDelete@V?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@@QAA@XZ +??0?$AutoDelete@V?$SafeSet@PAVCCertMapping@@@@@@QAA@PAV?$SafeSet@PAVCCertMapping@@@@@Z +??0?$AutoDelete@V?$SafeSet@PAVCCertMapping@@@@@@QAA@XZ +??0?$AutoDelete@V?$SafeSet@PAVCShellUriSettings@@@@@@QAA@PAV?$SafeSet@PAVCShellUriSettings@@@@@Z +??0?$AutoDelete@V?$SafeSet@PAVCShellUriSettings@@@@@@QAA@XZ +??0?$AutoDelete@V?$SafeSet_Iterator@PAVCListenerOperation@@@@@@QAA@XZ +??0?$AutoDelete@V?$SimpleStack@VCListenerOperation@@@@@@QAA@XZ +??0?$AutoDelete@V?$SimpleStack@VShellHostEntry@@@@@@QAA@XZ +??0?$AutoDelete@V?$set@PAVCListenerSettings@@VCListenerSettingsLessFunctor@CServiceConfigSettings@@V?$transport_allocator@PAVCListenerSettings@@@@@std@@@@QAA@PAV?$set@PAVCListenerSettings@@VCListenerSettingsLessFunctor@CServiceConfigSettings@@V?$transport_allocator@PAVCListenerSettings@@@@@std@@@Z +??0?$AutoDelete@V?$set@PAVCListenerSettings@@VCListenerSettingsLessFunctor@CServiceConfigSettings@@V?$transport_allocator@PAVCListenerSettings@@@@@std@@@@QAA@XZ +??0?$AutoDelete@V?$set@Usockaddr_storage@@VSockAddrLessFunctor@CListenerSettings@@V?$transport_allocator@Usockaddr_storage@@@@@std@@@@QAA@XZ +??0?$AutoDelete@V?$vector@PAVHandleImpl@Client@WSMan@@V?$transport_allocator@PAVHandleImpl@Client@WSMan@@@@@std@@@@QAA@XZ +??0?$AutoDelete@V?$vector@PAVIServiceConfigObserver@@V?$transport_allocator@PAVIServiceConfigObserver@@@@@std@@@@QAA@XZ +??0?$AutoDelete@VAdminSid@CSecurity@@@@QAA@PAVAdminSid@CSecurity@@@Z +??0?$AutoDelete@VBlockedRecord@@@@QAA@XZ +??0?$AutoDelete@VCBaseConfigCache@@@@QAA@PAVCBaseConfigCache@@@Z +??0?$AutoDelete@VCCertMapping@@@@QAA@PAVCCertMapping@@@Z +??0?$AutoDelete@VCConfigChangeSource@@@@QAA@XZ +??0?$AutoDelete@VCListenerSettings@@@@QAA@PAVCListenerSettings@@@Z +??0?$AutoDelete@VCObserverConfigChangeErrors@@@@QAA@XZ +??0?$AutoDelete@VCServiceWatcher@CServiceConfigCache@@@@QAA@PAVCServiceWatcher@CServiceConfigCache@@@Z +??0?$AutoDelete@VCServiceWatcher@CServiceConfigCache@@@@QAA@XZ +??0?$AutoDelete@VCShellUriSettings@@@@QAA@PAVCShellUriSettings@@@Z +??0?$AutoDelete@VCWSManEPR@@@@QAA@PAVCWSManEPR@@@Z +??0?$AutoDelete@VCWSManResource@@@@QAA@PAVCWSManResource@@@Z +??0?$AutoDelete@VCWSManResource@@@@QAA@XZ +??0?$AutoDelete@VCertHash@@@@QAA@PAVCertHash@@@Z +??0?$AutoDelete@VCertHash@@@@QAA@XZ +??0?$AutoDelete@VConfigUpdate@@@@QAA@PAVConfigUpdate@@@Z +??0?$AutoDelete@VConfigUpdate@@@@QAA@XZ +??0?$AutoDelete@VCredUIDllLoader@@@@QAA@PAVCredUIDllLoader@@@Z +??0?$AutoDelete@VEnumSinkEx@@@@QAA@PAVEnumSinkEx@@@Z +??0?$AutoDelete@VEnumSinkEx@@@@QAA@XZ +??0?$AutoDelete@VEventHandler@WSMan@@@@QAA@PAVEventHandler@WSMan@@@Z +??0?$AutoDelete@VExpiredOperationIdRecord@@@@QAA@PAVExpiredOperationIdRecord@@@Z +??0?$AutoDelete@VGPApiManager@@@@QAA@XZ +??0?$AutoDelete@VGeneralSinkEx@@@@QAA@PAVGeneralSinkEx@@@Z +??0?$AutoDelete@VGeneralSinkEx@@@@QAA@XZ +??0?$AutoDelete@VIChannelObserverFactory@@@@QAA@PAVIChannelObserverFactory@@@Z +??0?$AutoDelete@VIChannelObserverFactory@@@@QAA@XZ +??0?$AutoDelete@VIQueryDASHSMASHInterface@@@@QAA@PAVIQueryDASHSMASHInterface@@@Z +??0?$AutoDelete@VIQueryDASHSMASHInterface@@@@QAA@XZ +??0?$AutoDelete@VISpecification@@@@QAA@PAVISpecification@@@Z +??0?$AutoDelete@VISpecification@@@@QAA@XZ +??0?$AutoDelete@VInteractiveSid@CSecurity@@@@QAA@PAVInteractiveSid@CSecurity@@@Z +??0?$AutoDelete@VIpHlpApiDllLoader@@@@QAA@PAVIpHlpApiDllLoader@@@Z +??0?$AutoDelete@VMachineName@@@@QAA@PAVMachineName@@@Z +??0?$AutoDelete@VNetworkServiceSid@CSecurity@@@@QAA@PAVNetworkServiceSid@CSecurity@@@Z +??0?$AutoDelete@VNtDsApiDllLoader@@@@QAA@PAVNtDsApiDllLoader@@@Z +??0?$AutoDelete@VOptionValue@SessionOptions@Client@WSMan@@@@QAA@PAVOptionValue@SessionOptions@Client@WSMan@@@Z +??0?$AutoDelete@VPacketCreator@@@@QAA@PAVPacketCreator@@@Z +??0?$AutoDelete@VPacketCreator@@@@QAA@XZ +??0?$AutoDelete@VPacketParser@@@@QAA@XZ +??0?$AutoDelete@VResources@Locale@@@@QAA@PAVResources@Locale@@@Z +??0?$AutoDelete@VRunAsConfiguration@@@@QAA@PAVRunAsConfiguration@@@Z +??0?$AutoDelete@VSecurityEntry@Catalog@@@@QAA@PAVSecurityEntry@Catalog@@@Z +??0?$AutoDelete@VSendPacketArgs@RobustConnectionBuffer@@@@QAA@PAVSendPacketArgs@RobustConnectionBuffer@@@Z +??0?$AutoDelete@VServiceSoapProcessor@@@@QAA@XZ +??0?$AutoDelete@VShell32DllLoader@@@@QAA@PAVShell32DllLoader@@@Z +??0?$AutoDelete@VShlWApiDllLoader@@@@QAA@PAVShlWApiDllLoader@@@Z +??0?$AutoDelete@VSubscriptionEnumerator@@@@QAA@XZ +??0?$AutoDelete@VSubscriptionManager@@@@QAA@PAVSubscriptionManager@@@Z +??0?$AutoDelete@VTSTRBUFFER@@@@QAA@PAVTSTRBUFFER@@@Z +??0?$AutoDelete@VTSTRBUFFER@@@@QAA@XZ +??0?$AutoDelete@VUniqueStringOverflow@@@@QAA@XZ +??0?$AutoDelete@VUser32DllLoader@@@@QAA@PAVUser32DllLoader@@@Z +??0?$AutoDelete@VWSMANCONFIGTABLE_IDENTITY@@@@QAA@PAVWSMANCONFIGTABLE_IDENTITY@@@Z +??0?$AutoDelete@VWSManMemCryptManager@@@@QAA@PAVWSManMemCryptManager@@@Z +??0?$AutoDelete@VWmiEnumContext@@@@QAA@PAVWmiEnumContext@@@Z +??0?$AutoDelete@VWmiEnumContext@@@@QAA@XZ +??0?$AutoDelete@VXmlReader@@@@QAA@PAVXmlReader@@@Z +??0?$AutoDelete@VXmlReader@@@@QAA@XZ +??0?$AutoDeleteVector@$$CBG@@QAA@XZ +??0?$AutoDeleteVector@D@@QAA@PAD@Z +??0?$AutoDeleteVector@D@@QAA@XZ +??0?$AutoDeleteVector@E@@QAA@PAE@Z +??0?$AutoDeleteVector@E@@QAA@XZ +??0?$AutoDeleteVector@G@@QAA@PAG@Z +??0?$AutoDeleteVector@G@@QAA@XZ +??0?$AutoDeleteVector@H@@QAA@PAH@Z +??0?$AutoDeleteVector@PAG@@QAA@PAPAG@Z +??0?$AutoDeleteVector@PAG@@QAA@XZ +??0?$AutoDeleteVector@PBG@@QAA@PAPBG@Z +??0?$AutoDeleteVector@PBG@@QAA@XZ +??0?$AutoDeleteVector@U_CONFIG_UPDATE@@@@QAA@XZ +??0?$AutoDeleteVector@U_WINRS_CREATE_SHELL_ENVIRONMENT_VARIABLE@@@@QAA@PAU_WINRS_CREATE_SHELL_ENVIRONMENT_VARIABLE@@@Z +??0?$AutoDeleteVector@U_WINRS_CREATE_SHELL_ENVIRONMENT_VARIABLE@@@@QAA@XZ +??0?$AutoDeleteVector@U_WINRS_RUN_COMMAND_ARG@@@@QAA@PAU_WINRS_RUN_COMMAND_ARG@@@Z +??0?$AutoDeleteVector@U_WINRS_RUN_COMMAND_ARG@@@@QAA@XZ +??0?$AutoDeleteVector@U_WSMAN_OPTION@@@@QAA@PAU_WSMAN_OPTION@@@Z +??0?$AutoDeleteVector@U_WSMAN_OPTION@@@@QAA@XZ +??0?$AutoDeleteVector@X@@QAA@PAX@Z +??0?$AutoDeleteVector@X@@QAA@XZ +??0?$AutoFree@E@@QAA@PAE@Z +??0?$AutoFree@E@@QAA@XZ +??0?$AutoLocklessItemRecycle@VPacket@@@@QAA@PAVPacket@@@Z +??0?$AutoLocklessItemRecycle@VPacket@@@@QAA@XZ +??0?$AutoRelease@UIAppHostChildElementCollection@@@@QAA@XZ +??0?$AutoRelease@UIAppHostElement@@@@QAA@XZ +??0?$AutoRelease@UIAppHostElementCollection@@@@QAA@XZ +??0?$AutoRelease@UIAppHostProperty@@@@QAA@XZ +??0?$AutoRelease@UIAppHostPropertyCollection@@@@QAA@XZ +??0?$AutoRelease@UIClientSecurity@@@@QAA@PAUIClientSecurity@@@Z +??0?$AutoRelease@UIClientSecurity@@@@QAA@XZ +??0?$AutoRelease@UIEnumWbemClassObject@@@@QAA@PAUIEnumWbemClassObject@@@Z +??0?$AutoRelease@UIEnumWbemClassObject@@@@QAA@XZ +??0?$AutoRelease@UIErrorInfo@@@@QAA@PAUIErrorInfo@@@Z +??0?$AutoRelease@UIErrorInfo@@@@QAA@XZ +??0?$AutoRelease@UIUnknown@@@@QAA@PAUIUnknown@@@Z +??0?$AutoRelease@UIUnknown@@@@QAA@XZ +??0?$AutoRelease@UIWbemClassObject@@@@QAA@PAUIWbemClassObject@@@Z +??0?$AutoRelease@UIWbemClassObject@@@@QAA@XZ +??0?$AutoRelease@UIWbemContext@@@@QAA@PAUIWbemContext@@@Z +??0?$AutoRelease@UIWbemContext@@@@QAA@XZ +??0?$AutoRelease@UIWbemLocator@@@@QAA@PAUIWbemLocator@@@Z +??0?$AutoRelease@UIWbemLocator@@@@QAA@XZ +??0?$AutoRelease@UIWbemObjectTextSrc@@@@QAA@PAUIWbemObjectTextSrc@@@Z +??0?$AutoRelease@UIWbemObjectTextSrc@@@@QAA@XZ +??0?$AutoRelease@UIWbemPath@@@@QAA@PAUIWbemPath@@@Z +??0?$AutoRelease@UIWbemPath@@@@QAA@XZ +??0?$AutoRelease@UIWbemPathKeyList@@@@QAA@PAUIWbemPathKeyList@@@Z +??0?$AutoRelease@UIWbemPathKeyList@@@@QAA@XZ +??0?$AutoRelease@UIWbemQualifierSet@@@@QAA@PAUIWbemQualifierSet@@@Z +??0?$AutoRelease@UIWbemQualifierSet@@@@QAA@XZ +??0?$AutoRelease@UIWbemQuery@@@@QAA@PAUIWbemQuery@@@Z +??0?$AutoRelease@UIWbemQuery@@@@QAA@XZ +??0?$AutoRelease@UIWbemServices@@@@QAA@PAUIWbemServices@@@Z +??0?$AutoRelease@UIWbemServices@@@@QAA@XZ +??0?$AutoRelease@VApplication@Client@WSMan@@@@QAA@XZ +??0?$AutoRelease@VCBaseConfigCache@@@@QAA@PAVCBaseConfigCache@@@Z +??0?$AutoRelease@VCClientConfigSettings@@@@QAA@PAVCClientConfigSettings@@@Z +??0?$AutoRelease@VCClientConfigSettings@@@@QAA@XZ +??0?$AutoRelease@VCCommonConfigSettings@@@@QAA@PAVCCommonConfigSettings@@@Z +??0?$AutoRelease@VCCommonConfigSettings@@@@QAA@XZ +??0?$AutoRelease@VCConfigCacheMap@CBaseConfigCache@@@@QAA@PAVCConfigCacheMap@CBaseConfigCache@@@Z +??0?$AutoRelease@VCConfigCacheMap@CBaseConfigCache@@@@QAA@XZ +??0?$AutoRelease@VCConfigManager@@@@QAA@PAVCConfigManager@@@Z +??0?$AutoRelease@VCConfigManager@@@@QAA@XZ +??0?$AutoRelease@VCRemoteOperation@@@@QAA@PAVCRemoteOperation@@@Z +??0?$AutoRelease@VCRemoteSession@@@@QAA@PAVCRemoteSession@@@Z +??0?$AutoRelease@VCRemoteSession@@@@QAA@XZ +??0?$AutoRelease@VCRequestContext@@@@QAA@PAVCRequestContext@@@Z +??0?$AutoRelease@VCRequestContext@@@@QAA@XZ +??0?$AutoRelease@VCServiceCommonConfigSettings@@@@QAA@PAVCServiceCommonConfigSettings@@@Z +??0?$AutoRelease@VCServiceCommonConfigSettings@@@@QAA@XZ +??0?$AutoRelease@VCServiceConfigCache@@@@QAA@PAVCServiceConfigCache@@@Z +??0?$AutoRelease@VCServiceConfigCache@@@@QAA@XZ +??0?$AutoRelease@VCServiceConfigSettings@@@@QAA@PAVCServiceConfigSettings@@@Z +??0?$AutoRelease@VCServiceConfigSettings@@@@QAA@XZ +??0?$AutoRelease@VCWSManEPR@@@@QAA@PAVCWSManEPR@@@Z +??0?$AutoRelease@VCWSManEPR@@@@QAA@XZ +??0?$AutoRelease@VCWSManGroupPolicyCache@@@@QAA@PAVCWSManGroupPolicyCache@@@Z +??0?$AutoRelease@VCWSManGroupPolicyManager@@@@QAA@PAVCWSManGroupPolicyManager@@@Z +??0?$AutoRelease@VCWSManObject@@@@QAA@PAVCWSManObject@@@Z +??0?$AutoRelease@VCWSManResource@@@@QAA@PAVCWSManResource@@@Z +??0?$AutoRelease@VCWSManResource@@@@QAA@XZ +??0?$AutoRelease@VCWinRSPluginConfigCache@@@@QAA@PAVCWinRSPluginConfigCache@@@Z +??0?$AutoRelease@VCWinRSPluginConfigCache@@@@QAA@XZ +??0?$AutoRelease@VCWinRSPluginConfigSettings@@@@QAA@PAVCWinRSPluginConfigSettings@@@Z +??0?$AutoRelease@VCommand@Client@WSMan@@@@QAA@PAVCommand@Client@WSMan@@@Z +??0?$AutoRelease@VConfigNotification@@@@QAA@PAVConfigNotification@@@Z +??0?$AutoRelease@VConnectShellOperation@Client@WSMan@@@@QAA@PAVConnectShellOperation@Client@WSMan@@@Z +??0?$AutoRelease@VCreateShellOperation@Client@WSMan@@@@QAA@PAVCreateShellOperation@Client@WSMan@@@Z +??0?$AutoRelease@VDeleteShellOperation@Client@WSMan@@@@QAA@PAVDeleteShellOperation@Client@WSMan@@@Z +??0?$AutoRelease@VDisconnectOperation@Client@WSMan@@@@QAA@PAVDisconnectOperation@Client@WSMan@@@Z +??0?$AutoRelease@VEnumSinkEx@@@@QAA@PAVEnumSinkEx@@@Z +??0?$AutoRelease@VEnumSinkEx@@@@QAA@XZ +??0?$AutoRelease@VGeneralSinkEx@@@@QAA@PAVGeneralSinkEx@@@Z +??0?$AutoRelease@VGeneralSinkEx@@@@QAA@XZ +??0?$AutoRelease@VIISConfigSettings@@@@QAA@XZ +??0?$AutoRelease@VIPCSoapProcessor@@@@QAA@PAVIPCSoapProcessor@@@Z +??0?$AutoRelease@VIRequestContext@@@@QAA@PAVIRequestContext@@@Z +??0?$AutoRelease@VIRequestContext@@@@QAA@XZ +??0?$AutoRelease@VISubscription@@@@QAA@PAVISubscription@@@Z +??0?$AutoRelease@VInboundRequestDetails@@@@QAA@XZ +??0?$AutoRelease@VReceiveOperation@Client@WSMan@@@@QAA@PAVReceiveOperation@Client@WSMan@@@Z +??0?$AutoRelease@VReconnectOperation@Client@WSMan@@@@QAA@PAVReconnectOperation@Client@WSMan@@@Z +??0?$AutoRelease@VSendOperation@Client@WSMan@@@@QAA@PAVSendOperation@Client@WSMan@@@Z +??0?$AutoRelease@VShell@Client@WSMan@@@@QAA@PAVShell@Client@WSMan@@@Z +??0?$AutoRelease@VShellInfo@@@@QAA@XZ +??0?$AutoRelease@VSignalOperation@Client@WSMan@@@@QAA@PAVSignalOperation@Client@WSMan@@@Z +??0?$AutoRelease@VUserRecord@@@@QAA@XZ +??0?$AutoRelease@VWSManHttpListener@@@@QAA@PAVWSManHttpListener@@@Z +??0?$AutoReleaseEx@VHostMappingTableEntry@@@@QAA@XZ +??0?$AutoReleaseEx@VShell@Client@WSMan@@@@QAA@PAVShell@Client@WSMan@@@Z +??0?$ILoader@VAdminSid@CSecurity@@@@QAA@P8AdminSid@CSecurity@@AA_NAAVIRequestContext@@@Z1@Z +??0?$ILoader@VCredUIDllLoader@@@@QAA@P8CredUIDllLoader@@AA_NAAVIRequestContext@@@Z1@Z +??0?$ILoader@VEventHandler@WSMan@@@@QAA@P8EventHandler@WSMan@@AA_NAAVIRequestContext@@@Z1@Z +??0?$ILoader@VInteractiveSid@CSecurity@@@@QAA@P8InteractiveSid@CSecurity@@AA_NAAVIRequestContext@@@Z1@Z +??0?$ILoader@VIpHlpApiDllLoader@@@@QAA@P8IpHlpApiDllLoader@@AA_NAAVIRequestContext@@@Z1@Z +??0?$ILoader@VMachineName@@@@QAA@P8MachineName@@AA_NAAVIRequestContext@@@Z1@Z +??0?$ILoader@VNetworkServiceSid@CSecurity@@@@QAA@P8NetworkServiceSid@CSecurity@@AA_NAAVIRequestContext@@@Z1@Z +??0?$ILoader@VNtDsApiDllLoader@@@@QAA@P8NtDsApiDllLoader@@AA_NAAVIRequestContext@@@Z1@Z +??0?$ILoader@VResources@Locale@@@@QAA@P8Resources@Locale@@AA_NAAVIRequestContext@@@Z1@Z +??0?$ILoader@VShell32DllLoader@@@@QAA@P8Shell32DllLoader@@AA_NAAVIRequestContext@@@Z1@Z +??0?$ILoader@VShlWApiDllLoader@@@@QAA@P8ShlWApiDllLoader@@AA_NAAVIRequestContext@@@Z1@Z +??0?$ILoader@VSubscriptionManager@@@@QAA@P8SubscriptionManager@@AA_NAAVIRequestContext@@@Z1@Z +??0?$ILoader@VUser32DllLoader@@@@QAA@P8User32DllLoader@@AA_NAAVIRequestContext@@@Z1@Z +??0?$ILoader@VWSManMemCryptManager@@@@QAA@P8WSManMemCryptManager@@AA_NAAVIRequestContext@@@Z1@Z +??0?$Loader@VAdminSid@CSecurity@@$00@@QAA@XZ +??0?$Loader@VCredUIDllLoader@@$00@@QAA@XZ +??0?$Loader@VEventHandler@WSMan@@$00@@QAA@XZ +??0?$Loader@VInteractiveSid@CSecurity@@$00@@QAA@XZ +??0?$Loader@VIpHlpApiDllLoader@@$00@@QAA@XZ +??0?$Loader@VMachineName@@$00@@QAA@XZ +??0?$Loader@VNetworkServiceSid@CSecurity@@$00@@QAA@XZ +??0?$Loader@VNtDsApiDllLoader@@$00@@QAA@XZ +??0?$Loader@VResources@Locale@@$0A@@@QAA@XZ +??0?$Loader@VShell32DllLoader@@$00@@QAA@XZ +??0?$Loader@VShlWApiDllLoader@@$00@@QAA@XZ +??0?$Loader@VUser32DllLoader@@$00@@QAA@XZ +??0?$Loader@VWSManMemCryptManager@@$00@@QAA@XZ +??0?$LoaderSerializer@VAdminSid@CSecurity@@$00@@QAA@P8AdminSid@CSecurity@@AA_NAAVIRequestContext@@@Z1@Z +??0?$LoaderSerializer@VCredUIDllLoader@@$00@@QAA@P8CredUIDllLoader@@AA_NAAVIRequestContext@@@Z1@Z +??0?$LoaderSerializer@VEventHandler@WSMan@@$00@@QAA@P8EventHandler@WSMan@@AA_NAAVIRequestContext@@@Z1@Z +??0?$LoaderSerializer@VInteractiveSid@CSecurity@@$00@@QAA@P8InteractiveSid@CSecurity@@AA_NAAVIRequestContext@@@Z1@Z +??0?$LoaderSerializer@VIpHlpApiDllLoader@@$00@@QAA@P8IpHlpApiDllLoader@@AA_NAAVIRequestContext@@@Z1@Z +??0?$LoaderSerializer@VMachineName@@$00@@QAA@P8MachineName@@AA_NAAVIRequestContext@@@Z1@Z +??0?$LoaderSerializer@VNetworkServiceSid@CSecurity@@$00@@QAA@P8NetworkServiceSid@CSecurity@@AA_NAAVIRequestContext@@@Z1@Z +??0?$LoaderSerializer@VNtDsApiDllLoader@@$00@@QAA@P8NtDsApiDllLoader@@AA_NAAVIRequestContext@@@Z1@Z +??0?$LoaderSerializer@VResources@Locale@@$0A@@@QAA@P8Resources@Locale@@AA_NAAVIRequestContext@@@Z1@Z +??0?$LoaderSerializer@VShell32DllLoader@@$00@@QAA@P8Shell32DllLoader@@AA_NAAVIRequestContext@@@Z1@Z +??0?$LoaderSerializer@VShlWApiDllLoader@@$00@@QAA@P8ShlWApiDllLoader@@AA_NAAVIRequestContext@@@Z1@Z +??0?$LoaderSerializer@VSubscriptionManager@@$01@@QAA@P8SubscriptionManager@@AA_NAAVIRequestContext@@@Z1@Z +??0?$LoaderSerializer@VUser32DllLoader@@$00@@QAA@P8User32DllLoader@@AA_NAAVIRequestContext@@@Z1@Z +??0?$LoaderSerializer@VWSManMemCryptManager@@$00@@QAA@P8WSManMemCryptManager@@AA_NAAVIRequestContext@@@Z1@Z +??0?$PacketElement@K@PacketParser@@QAA@XZ +??0?$PacketElement@PAU_FWXML_ELEMENT@@@PacketParser@@QAA@XZ +??0?$PacketElement@PBG@PacketParser@@QAA@XZ +??0?$PacketElement@_K@PacketParser@@QAA@XZ +??0?$SafeMap@PAVCCertMapping@@UEmpty@@V?$SafeSet_Iterator@PAVCCertMapping@@@@@@QAA@XZ +??0?$SafeMap@PAVCListenerOperation@@UEmpty@@V?$SafeSet_Iterator@PAVCListenerOperation@@@@@@QAA@XZ +??0?$SafeMap@PAVCShellUriSettings@@UEmpty@@V?$SafeSet_Iterator@PAVCShellUriSettings@@@@@@QAA@XZ +??0?$SafeMap@PAXUEmpty@@V?$SafeSet_Iterator@PAX@@@@QAA@XZ +??0?$SafeMap@UPluginKey@@KV?$SafeMap_Iterator@UPluginKey@@K@@@@QAA@XZ +??0?$SafeMap@UUserKey@@PAVBlockedRecord@@V?$SafeMap_Iterator@UUserKey@@PAVBlockedRecord@@@@@@QAA@XZ +??0?$SafeMap@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@V?$SafeMap_Iterator@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@@@@@QAA@XZ +??0?$SafeMap@VKey@Locale@@KV?$SafeMap_Iterator@VKey@Locale@@K@@@@QAA@XZ +??0?$SafeMap@VStringKeyCI@@KV?$SafeMap_Iterator@VStringKeyCI@@K@@@@QAA@XZ +??0?$SafeMap@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@V?$SafeMap_Iterator@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@@@@@QAA@XZ +??0?$SafeMap@VStringKeyStore@@PAVExpiredOperationIdRecord@@V?$SafeMap_Iterator@VStringKeyStore@@PAVExpiredOperationIdRecord@@@@@@QAA@XZ +??0?$SafeMap@VStringKeyStore@@PAVServerFullDuplexChannel@@V?$SafeMap_Iterator@VStringKeyStore@@PAVServerFullDuplexChannel@@@@@@QAA@XZ +??0?$SafeMap@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@V?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@@QAA@XZ +??0?$SafeMap@_KPAVSendPacketArgs@RobustConnectionBuffer@@V?$SafeMap_Iterator@_KPAVSendPacketArgs@RobustConnectionBuffer@@@@@@QAA@XZ +??0?$SafeMap_Iterator@PAVCCertMapping@@UEmpty@@@@QAA@AAV?$SafeMap@PAVCCertMapping@@UEmpty@@V?$SafeMap_Iterator@PAVCCertMapping@@UEmpty@@@@@@_N@Z +??0?$SafeMap_Iterator@PAVCListenerOperation@@UEmpty@@@@QAA@AAV?$SafeMap@PAVCListenerOperation@@UEmpty@@V?$SafeMap_Iterator@PAVCListenerOperation@@UEmpty@@@@@@_N@Z +??0?$SafeMap_Iterator@PAVCShellUriSettings@@UEmpty@@@@QAA@AAV?$SafeMap@PAVCShellUriSettings@@UEmpty@@V?$SafeMap_Iterator@PAVCShellUriSettings@@UEmpty@@@@@@_N@Z +??0?$SafeMap_Iterator@PAXUEmpty@@@@QAA@AAV?$SafeMap@PAXUEmpty@@V?$SafeMap_Iterator@PAXUEmpty@@@@@@_N@Z +??0?$SafeMap_Iterator@UPluginKey@@K@@QAA@AAV?$SafeMap@UPluginKey@@KV?$SafeMap_Iterator@UPluginKey@@K@@@@_N@Z +??0?$SafeMap_Iterator@UUserKey@@PAVBlockedRecord@@@@QAA@AAV?$SafeMap@UUserKey@@PAVBlockedRecord@@V?$SafeMap_Iterator@UUserKey@@PAVBlockedRecord@@@@@@_N@Z +??0?$SafeMap_Iterator@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@@@QAA@AAV?$SafeMap@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@V?$SafeMap_Iterator@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@@@@@_N@Z +??0?$SafeMap_Iterator@VKey@Locale@@K@@QAA@AAV?$SafeMap@VKey@Locale@@KV?$SafeMap_Iterator@VKey@Locale@@K@@@@_N@Z +??0?$SafeMap_Iterator@VStringKeyCI@@K@@QAA@AAV?$SafeMap@VStringKeyCI@@KV?$SafeMap_Iterator@VStringKeyCI@@K@@@@_N@Z +??0?$SafeMap_Iterator@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@@@QAA@AAV?$SafeMap@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@V?$SafeMap_Iterator@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@@@@@_N@Z +??0?$SafeMap_Iterator@VStringKeyStore@@PAVExpiredOperationIdRecord@@@@QAA@AAV?$SafeMap@VStringKeyStore@@PAVExpiredOperationIdRecord@@V?$SafeMap_Iterator@VStringKeyStore@@PAVExpiredOperationIdRecord@@@@@@_N@Z +??0?$SafeMap_Iterator@VStringKeyStore@@PAVServerFullDuplexChannel@@@@QAA@AAV?$SafeMap@VStringKeyStore@@PAVServerFullDuplexChannel@@V?$SafeMap_Iterator@VStringKeyStore@@PAVServerFullDuplexChannel@@@@@@_N@Z +??0?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@QAA@AAV?$SafeMap@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@V?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@@_N@Z +??0?$SafeMap_Iterator@_KPAVSendPacketArgs@RobustConnectionBuffer@@@@QAA@AAV?$SafeMap@_KPAVSendPacketArgs@RobustConnectionBuffer@@V?$SafeMap_Iterator@_KPAVSendPacketArgs@RobustConnectionBuffer@@@@@@_N@Z +??0?$SafeMap_Lock@PAVCCertMapping@@UEmpty@@V?$SafeMap_Iterator@PAVCCertMapping@@UEmpty@@@@@@QAA@ABV?$SafeMap@PAVCCertMapping@@UEmpty@@V?$SafeMap_Iterator@PAVCCertMapping@@UEmpty@@@@@@_N@Z +??0?$SafeMap_Lock@PAVCCertMapping@@UEmpty@@V?$SafeSet_Iterator@PAVCCertMapping@@@@@@QAA@ABV?$SafeMap@PAVCCertMapping@@UEmpty@@V?$SafeSet_Iterator@PAVCCertMapping@@@@@@_N@Z +??0?$SafeMap_Lock@PAVCListenerOperation@@UEmpty@@V?$SafeMap_Iterator@PAVCListenerOperation@@UEmpty@@@@@@QAA@ABV?$SafeMap@PAVCListenerOperation@@UEmpty@@V?$SafeMap_Iterator@PAVCListenerOperation@@UEmpty@@@@@@_N@Z +??0?$SafeMap_Lock@PAVCListenerOperation@@UEmpty@@V?$SafeSet_Iterator@PAVCListenerOperation@@@@@@QAA@ABV?$SafeMap@PAVCListenerOperation@@UEmpty@@V?$SafeSet_Iterator@PAVCListenerOperation@@@@@@_N@Z +??0?$SafeMap_Lock@PAVCShellUriSettings@@UEmpty@@V?$SafeMap_Iterator@PAVCShellUriSettings@@UEmpty@@@@@@QAA@ABV?$SafeMap@PAVCShellUriSettings@@UEmpty@@V?$SafeMap_Iterator@PAVCShellUriSettings@@UEmpty@@@@@@_N@Z +??0?$SafeMap_Lock@PAVCShellUriSettings@@UEmpty@@V?$SafeSet_Iterator@PAVCShellUriSettings@@@@@@QAA@ABV?$SafeMap@PAVCShellUriSettings@@UEmpty@@V?$SafeSet_Iterator@PAVCShellUriSettings@@@@@@_N@Z +??0?$SafeMap_Lock@PAXUEmpty@@V?$SafeMap_Iterator@PAXUEmpty@@@@@@QAA@ABV?$SafeMap@PAXUEmpty@@V?$SafeMap_Iterator@PAXUEmpty@@@@@@_N@Z +??0?$SafeMap_Lock@PAXUEmpty@@V?$SafeSet_Iterator@PAX@@@@QAA@ABV?$SafeMap@PAXUEmpty@@V?$SafeSet_Iterator@PAX@@@@_N@Z +??0?$SafeMap_Lock@UPluginKey@@KV?$SafeMap_Iterator@UPluginKey@@K@@@@QAA@ABV?$SafeMap@UPluginKey@@KV?$SafeMap_Iterator@UPluginKey@@K@@@@_N@Z +??0?$SafeMap_Lock@UUserKey@@PAVBlockedRecord@@V?$SafeMap_Iterator@UUserKey@@PAVBlockedRecord@@@@@@QAA@ABV?$SafeMap@UUserKey@@PAVBlockedRecord@@V?$SafeMap_Iterator@UUserKey@@PAVBlockedRecord@@@@@@_N@Z +??0?$SafeMap_Lock@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@V?$SafeMap_Iterator@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@@@@@QAA@ABV?$SafeMap@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@V?$SafeMap_Iterator@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@@@@@_N@Z +??0?$SafeMap_Lock@VKey@Locale@@KV?$SafeMap_Iterator@VKey@Locale@@K@@@@QAA@ABV?$SafeMap@VKey@Locale@@KV?$SafeMap_Iterator@VKey@Locale@@K@@@@_N@Z +??0?$SafeMap_Lock@VStringKeyCI@@KV?$SafeMap_Iterator@VStringKeyCI@@K@@@@QAA@ABV?$SafeMap@VStringKeyCI@@KV?$SafeMap_Iterator@VStringKeyCI@@K@@@@_N@Z +??0?$SafeMap_Lock@VStringKeyCI@@UEmpty@@V?$SafeSet_Iterator@VStringKeyCI@@@@@@QAA@ABV?$SafeMap@VStringKeyCI@@UEmpty@@V?$SafeSet_Iterator@VStringKeyCI@@@@@@_N@Z +??0?$SafeMap_Lock@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@V?$SafeMap_Iterator@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@@@@@QAA@ABV?$SafeMap@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@V?$SafeMap_Iterator@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@@@@@_N@Z +??0?$SafeMap_Lock@VStringKeyStore@@PAVExpiredOperationIdRecord@@V?$SafeMap_Iterator@VStringKeyStore@@PAVExpiredOperationIdRecord@@@@@@QAA@ABV?$SafeMap@VStringKeyStore@@PAVExpiredOperationIdRecord@@V?$SafeMap_Iterator@VStringKeyStore@@PAVExpiredOperationIdRecord@@@@@@_N@Z +??0?$SafeMap_Lock@VStringKeyStore@@PAVServerFullDuplexChannel@@V?$SafeMap_Iterator@VStringKeyStore@@PAVServerFullDuplexChannel@@@@@@QAA@ABV?$SafeMap@VStringKeyStore@@PAVServerFullDuplexChannel@@V?$SafeMap_Iterator@VStringKeyStore@@PAVServerFullDuplexChannel@@@@@@_N@Z +??0?$SafeMap_Lock@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@V?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@@QAA@ABV?$SafeMap@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@V?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@@_N@Z +??0?$SafeMap_Lock@_KPAVSendPacketArgs@RobustConnectionBuffer@@V?$SafeMap_Iterator@_KPAVSendPacketArgs@RobustConnectionBuffer@@@@@@QAA@ABV?$SafeMap@_KPAVSendPacketArgs@RobustConnectionBuffer@@V?$SafeMap_Iterator@_KPAVSendPacketArgs@RobustConnectionBuffer@@@@@@_N@Z +??0?$SafeSet@PAVCCertMapping@@@@QAA@XZ +??0?$SafeSet@PAVCListenerOperation@@@@QAA@XZ +??0?$SafeSet@PAVCShellUriSettings@@@@QAA@XZ +??0?$SafeSet@PAX@@QAA@XZ +??0?$SafeSet_Iterator@PAVCCertMapping@@@@QAA@AAV?$SafeMap@PAVCCertMapping@@UEmpty@@V?$SafeSet_Iterator@PAVCCertMapping@@@@@@_N@Z +??0?$SafeSet_Iterator@PAVCCertMapping@@@@QAA@AAV?$SafeSet@PAVCCertMapping@@@@@Z +??0?$SafeSet_Iterator@PAVCListenerOperation@@@@QAA@AAV?$SafeMap@PAVCListenerOperation@@UEmpty@@V?$SafeSet_Iterator@PAVCListenerOperation@@@@@@_N@Z +??0?$SafeSet_Iterator@PAVCListenerOperation@@@@QAA@AAV?$SafeSet@PAVCListenerOperation@@@@@Z +??0?$SafeSet_Iterator@PAVCShellUriSettings@@@@QAA@AAV?$SafeMap@PAVCShellUriSettings@@UEmpty@@V?$SafeSet_Iterator@PAVCShellUriSettings@@@@@@_N@Z +??0?$SafeSet_Iterator@PAX@@QAA@AAV?$SafeMap@PAXUEmpty@@V?$SafeSet_Iterator@PAX@@@@_N@Z +??0?$SimpleQueue@T_LARGE_INTEGER@@@@QAA@XZ +??0AutoBstr@@QAA@PAG@Z +??0AutoBstr@@QAA@XZ +??0AutoBstrNoAlloc@@QAA@PAG@Z +??0AutoBstrNoAlloc@@QAA@XZ +??0AutoCertContext@@QAA@PBU_CERT_CONTEXT@@@Z +??0AutoCertContext@@QAA@XZ +??0AutoChainContext@@QAA@PBU_CERT_CHAIN_CONTEXT@@@Z +??0AutoChainContext@@QAA@XZ +??0AutoCoTaskMemFree@@QAA@PAX@Z +??0AutoCoTaskMemFree@@QAA@XZ +??0AutoEnvironmentBlock@@QAA@PAX@Z +??0AutoEnvironmentBlock@@QAA@XZ +??0AutoFwXmlCloseParser@@QAA@PAX@Z +??0AutoFwXmlCloseParser@@QAA@XZ +??0AutoHandle@@QAA@PAX@Z +??0AutoHandle@@QAA@XZ +??0AutoImpersonateUser@@QAA@PAX@Z +??0AutoImpersonateUser@@QAA@XZ +??0AutoLibrary@@QAA@PAUHINSTANCE__@@@Z +??0AutoLibrary@@QAA@XZ +??0AutoLocalFree@@QAA@PAX@Z +??0AutoLocalFree@@QAA@XZ +??0AutoMIClass@@QAA@PAU_MI_Class@@@Z +??0AutoMIClass@@QAA@XZ +??0AutoMIInstance@@QAA@PAU_MI_Instance@@@Z +??0AutoMIInstance@@QAA@XZ +??0AutoObject@@QAA@PAUWSMAN_OBJECT@@@Z +??0AutoObject@@QAA@XZ +??0AutoRegKey@@QAA@PAUHKEY__@@@Z +??0AutoRegKey@@QAA@XZ +??0AutoSecurityDescriptor@@QAA@PAX@Z +??0AutoSecurityDescriptor@@QAA@XZ +??0AutoWaitHandle@@QAA@PAX@Z +??0AutoWaitHandle@@QAA@XZ +??0BufferFormatter@@QAA@PAEK@Z +??0BufferFormatter@@QAA@XZ +??0CBaseConfigCache@@IAA@W4ConfigLocation@CConfigChangeSource@@PAVFastLock@@PAVCConfigCacheMap@0@@Z +??0CClientConfigCache@@AAA@XZ +??0CConfigManager@@AAA@XZ +??0CErrorContext@@QAA@_N@Z +??0CRequestContext@@QAA@PBG@Z +??0CRequestContext@@QAA@XZ +??0CResourceAlias@@QAA@PBG@Z +??0CServiceConfigCache@@AAA@XZ +??0CServiceWatcher@CServiceConfigCache@@AAA@PAV1@PAVIServiceConfigObserver@@@Z +??0CWSManCriticalSection@@QAA@XZ +??0CWSManCriticalSectionWithConditionVar@@QAA@XZ +??0CWSManEPR@@QAA@H@Z +??0CWSManGroupPolicyManager@@AAA@XZ +??0CWSManResource@@QAA@H@Z +??0CWSManResourceNoResourceUri@@QAA@H@Z +??0CWSManSecurityUI@@QAA@XZ +??0CWinRSPluginConfigCache@@AAA@XZ +??0ChildLifeTimeManager@@QAA@XZ +??0CircularBufferFormatter@@QAA@XZ +??0ConfigRegistry@@IAA@XZ +??0EtwCorrelationHelper@@QAA@ABV0@@Z +??0EventHandler@WSMan@@QAA@XZ +??0ExtendedSemantic@@QAA@K@Z +??0FastLock@@QAA@XZ +??0Fragment@PacketParser@@QAA@XZ +??0IConfigChangeObserver@@QAA@ABV0@@Z +??0IConfigChangeObserver@@QAA@XZ +??0ILifeTimeMgmt@@QAA@ABV0@@Z +??0ILifeTimeMgmt@@QAA@XZ +??0IRequestContext@@IAA@XZ +??0IWSManGroupPolicyObserver@@QAA@ABV0@@Z +??0IWSManGroupPolicyObserver@@QAA@XZ +??0IWSManGroupPolicyPublisher@@QAA@ABV0@@Z +??0IWSManGroupPolicyPublisher@@QAA@XZ +??0Locale@@QAA@ABV0@@Z +??0Locale@@QAA@PAVIRequestContext@@@Z +??0Locale@@QAA@XZ +??0MessageId@PacketParser@@QAA@XZ +??0NotUnderstandSoapHeader@PacketParser@@QAA@XZ +??0OnHTTPInitialize@@QAA@XZ +??0OperationId@PacketParser@@QAA@XZ +??0OwnLock@@QAA@AAVFastLock@@@Z +??0PacketFormatter@@QAA@XZ +??0PacketParser@@QAA@XZ +??0RBUFFER@@QAA@I@Z +??0RBUFFER@@QAA@PAEI@Z +??0ReferenceParameters@PacketParser@@QAA@XZ +??0SBUFFER@@QAA@XZ +??0SessionId@PacketParser@@QAA@XZ +??0ShareLock@@QAA@AAVFastLock@@@Z +??0SoapSemanticConverter@@QAA@XZ +??0TSTRBUFFER@@QAA@XZ +??0UserAuthzRecord@@QAA@ABV0@@Z +??0UserAuthzRecord@@QAA@XZ +??0UserRecord@@QAA@XZ +??0XmlReader@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@D@@PAD@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@G@@PAG@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@UIPRange@CWSManIPFilter@@@@PAUIPRange@CWSManIPFilter@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@U_SID@@@@PAU_SID@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@U_WSMAN_STREAM_ID_SET@@@@PAU_WSMAN_STREAM_ID_SET@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@V?$Handle@VISubscription@@@@@@PAV?$Handle@VISubscription@@@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@V?$SafeMap_Iterator@PAVCListenerConnect@@PAV1@@@@@PAV?$SafeMap_Iterator@PAVCListenerConnect@@PAV1@@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@V?$SafeMap_Iterator@PAVCListenerReceive@@PAV1@@@@@PAV?$SafeMap_Iterator@PAVCListenerReceive@@PAV1@@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@V?$SafeMap_Iterator@PAVCListenerSend@@PAV1@@@@@PAV?$SafeMap_Iterator@PAVCListenerSend@@PAV1@@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@V?$SafeMap_Iterator@PAVCListenerSignal@@PAV1@@@@@PAV?$SafeMap_Iterator@PAVCListenerSignal@@PAV1@@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@V?$SafeMap_Iterator@VGuidKey@@PAVCListenerCommand@@@@@@PAV?$SafeMap_Iterator@VGuidKey@@PAVCListenerCommand@@@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@V?$SafeMap_Iterator@VStringKeyCI@@K@@@@PAV?$SafeMap_Iterator@VStringKeyCI@@K@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@V?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@@PAV?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@V?$SafeSet@PAVCCertMapping@@@@@@PAV?$SafeSet@PAVCCertMapping@@@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@V?$SafeSet@PAVCShellUriSettings@@@@@@PAV?$SafeSet@PAVCShellUriSettings@@@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@V?$SafeSet_Iterator@PAVCListenerOperation@@@@@@PAV?$SafeSet_Iterator@PAVCListenerOperation@@@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@V?$SafeSet_Iterator@PAVCollector@@@@@@PAV?$SafeSet_Iterator@PAVCollector@@@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@V?$SafeSet_Iterator@PAVHostOperation@@@@@@PAV?$SafeSet_Iterator@PAVHostOperation@@@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@V?$SafeSet_Iterator@PAVListenerSourceSubscription@@@@@@PAV?$SafeSet_Iterator@PAVListenerSourceSubscription@@@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@V?$SimpleStack@VCListenerOperation@@@@@@PAV?$SimpleStack@VCListenerOperation@@@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@V?$SimpleStack@VShellHostEntry@@@@@@PAV?$SimpleStack@VShellHostEntry@@@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@V?$queue@PAU_WSMAN_PUBLISHER_EVENT_STRUCT@@V?$deque@PAU_WSMAN_PUBLISHER_EVENT_STRUCT@@V?$transport_allocator@PAU_WSMAN_PUBLISHER_EVENT_STRUCT@@@@@std@@@std@@@@PAV?$queue@PAU_WSMAN_PUBLISHER_EVENT_STRUCT@@V?$deque@PAU_WSMAN_PUBLISHER_EVENT_STRUCT@@V?$transport_allocator@PAU_WSMAN_PUBLISHER_EVENT_STRUCT@@@@@std@@@std@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@V?$set@PAVCListenerSettings@@VCListenerSettingsLessFunctor@CServiceConfigSettings@@V?$transport_allocator@PAVCListenerSettings@@@@@std@@@@PAV?$set@PAVCListenerSettings@@VCListenerSettingsLessFunctor@CServiceConfigSettings@@V?$transport_allocator@PAVCListenerSettings@@@@@std@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@V?$set@Usockaddr_storage@@VSockAddrLessFunctor@CListenerSettings@@V?$transport_allocator@Usockaddr_storage@@@@@std@@@@PAV?$set@Usockaddr_storage@@VSockAddrLessFunctor@CListenerSettings@@V?$transport_allocator@Usockaddr_storage@@@@@std@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@V?$vector@PAVCWSManRequest@@V?$transport_allocator@PAVCWSManRequest@@@@@std@@@@PAV?$vector@PAVCWSManRequest@@V?$transport_allocator@PAVCWSManRequest@@@@@std@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@V?$vector@PAVHandleImpl@Client@WSMan@@V?$transport_allocator@PAVHandleImpl@Client@WSMan@@@@@std@@@@PAV?$vector@PAVHandleImpl@Client@WSMan@@V?$transport_allocator@PAVHandleImpl@Client@WSMan@@@@@std@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@V?$vector@PAVIServiceConfigObserver@@V?$transport_allocator@PAVIServiceConfigObserver@@@@@std@@@@PAV?$vector@PAVIServiceConfigObserver@@V?$transport_allocator@PAVIServiceConfigObserver@@@@@std@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@V?$vector@PAVWSManHttpSenderConnection@@V?$transport_allocator@PAVWSManHttpSenderConnection@@@@@std@@@@PAV?$vector@PAVWSManHttpSenderConnection@@V?$transport_allocator@PAVWSManHttpSenderConnection@@@@@std@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VAdminSid@CSecurity@@@@PAVAdminSid@CSecurity@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VBlockedRecord@@@@PAVBlockedRecord@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VCBaseConfigCache@@@@PAVCBaseConfigCache@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VCCertMapping@@@@PAVCCertMapping@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VCConfigChangeSource@@@@PAVCConfigChangeSource@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VCListenerSettings@@@@PAVCListenerSettings@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VCObserverConfigChangeErrors@@@@PAVCObserverConfigChangeErrors@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VCServiceWatcher@CServiceConfigCache@@@@PAVCServiceWatcher@CServiceConfigCache@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VCShellUriSettings@@@@PAVCShellUriSettings@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VCWSManEPR@@@@PAVCWSManEPR@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VCWSManResource@@@@PAVCWSManResource@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VCertHash@@@@PAVCertHash@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VConfigUpdate@@@@PAVConfigUpdate@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VCredUIDllLoader@@@@PAVCredUIDllLoader@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VEnumSinkEx@@@@PAVEnumSinkEx@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VEventHandler@WSMan@@@@PAVEventHandler@WSMan@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VExpiredOperationIdRecord@@@@PAVExpiredOperationIdRecord@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VGPApiManager@@@@PAVGPApiManager@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VGeneralSinkEx@@@@PAVGeneralSinkEx@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VIChannelObserverFactory@@@@PAVIChannelObserverFactory@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VIQueryDASHSMASHInterface@@@@PAVIQueryDASHSMASHInterface@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VISpecification@@@@PAVISpecification@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VInteractiveSid@CSecurity@@@@PAVInteractiveSid@CSecurity@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VIpHlpApiDllLoader@@@@PAVIpHlpApiDllLoader@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VMachineName@@@@PAVMachineName@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VMasterReceiveData@CListenerReceive@@@@PAVMasterReceiveData@CListenerReceive@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VNetworkServiceSid@CSecurity@@@@PAVNetworkServiceSid@CSecurity@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VNtDsApiDllLoader@@@@PAVNtDsApiDllLoader@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VOptionValue@SessionOptions@Client@WSMan@@@@PAVOptionValue@SessionOptions@Client@WSMan@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VPacketCreator@@@@PAVPacketCreator@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VPacketParser@@@@PAVPacketParser@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VResources@Locale@@@@PAVResources@Locale@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VRunAsConfiguration@@@@PAVRunAsConfiguration@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VSecurityEntry@Catalog@@@@PAVSecurityEntry@Catalog@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VSendPacketArgs@RobustConnectionBuffer@@@@PAVSendPacketArgs@RobustConnectionBuffer@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VServiceSoapProcessor@@@@PAVServiceSoapProcessor@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VShell32DllLoader@@@@PAVShell32DllLoader@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VShlWApiDllLoader@@@@PAVShlWApiDllLoader@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VSubscriptionEnumerator@@@@PAVSubscriptionEnumerator@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VSubscriptionManager@@@@PAVSubscriptionManager@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VTSTRBUFFER@@@@PAVTSTRBUFFER@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VUniqueStringOverflow@@@@PAVUniqueStringOverflow@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VUser32DllLoader@@@@PAVUser32DllLoader@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VWSMANCONFIGTABLE_IDENTITY@@@@PAVWSMANCONFIGTABLE_IDENTITY@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VWSManMemCryptManager@@@@PAVWSManMemCryptManager@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VWmiEnumContext@@@@PAVWmiEnumContext@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDelete@VXmlReader@@@@PAVXmlReader@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDeleteVector@$$CBG@@PBG@@QAA@XZ +??1?$AutoCleanup@V?$AutoDeleteVector@D@@PAD@@QAA@XZ +??1?$AutoCleanup@V?$AutoDeleteVector@E@@PAE@@QAA@XZ +??1?$AutoCleanup@V?$AutoDeleteVector@G@@PAG@@QAA@XZ +??1?$AutoCleanup@V?$AutoDeleteVector@H@@PAH@@QAA@XZ +??1?$AutoCleanup@V?$AutoDeleteVector@PAG@@PAPAG@@QAA@XZ +??1?$AutoCleanup@V?$AutoDeleteVector@PBG@@PAPBG@@QAA@XZ +??1?$AutoCleanup@V?$AutoDeleteVector@U_CONFIG_UPDATE@@@@PAU_CONFIG_UPDATE@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDeleteVector@U_WINRS_CREATE_SHELL_ENVIRONMENT_VARIABLE@@@@PAU_WINRS_CREATE_SHELL_ENVIRONMENT_VARIABLE@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDeleteVector@U_WINRS_RUN_COMMAND_ARG@@@@PAU_WINRS_RUN_COMMAND_ARG@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDeleteVector@U_WSMAN_OPTION@@@@PAU_WSMAN_OPTION@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoDeleteVector@X@@PAX@@QAA@XZ +??1?$AutoCleanup@V?$AutoFree@E@@PAE@@QAA@XZ +??1?$AutoCleanup@V?$AutoLocklessItemRecycle@VPacket@@@@PAVPacket@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@UIAppHostChildElementCollection@@@@PAUIAppHostChildElementCollection@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@UIAppHostElement@@@@PAUIAppHostElement@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@UIAppHostElementCollection@@@@PAUIAppHostElementCollection@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@UIAppHostProperty@@@@PAUIAppHostProperty@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@UIAppHostPropertyCollection@@@@PAUIAppHostPropertyCollection@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@UIClientSecurity@@@@PAUIClientSecurity@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@UIEnumWbemClassObject@@@@PAUIEnumWbemClassObject@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@UIErrorInfo@@@@PAUIErrorInfo@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@UIUnknown@@@@PAUIUnknown@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@UIWbemClassObject@@@@PAUIWbemClassObject@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@UIWbemContext@@@@PAUIWbemContext@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@UIWbemLocator@@@@PAUIWbemLocator@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@UIWbemObjectTextSrc@@@@PAUIWbemObjectTextSrc@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@UIWbemPath@@@@PAUIWbemPath@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@UIWbemPathKeyList@@@@PAUIWbemPathKeyList@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@UIWbemQualifierSet@@@@PAUIWbemQualifierSet@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@UIWbemQuery@@@@PAUIWbemQuery@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@UIWbemServices@@@@PAUIWbemServices@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VApplication@Client@WSMan@@@@PAVApplication@Client@WSMan@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VCBaseConfigCache@@@@PAVCBaseConfigCache@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VCClientConfigCache@@@@PAVCClientConfigCache@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VCClientConfigSettings@@@@PAVCClientConfigSettings@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VCCommonConfigSettings@@@@PAVCCommonConfigSettings@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VCConfigCacheMap@CBaseConfigCache@@@@PAVCConfigCacheMap@CBaseConfigCache@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VCConfigManager@@@@PAVCConfigManager@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VCListenerCommand@@@@PAVCListenerCommand@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VCListenerMasterOperation@@@@PAVCListenerMasterOperation@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VCListenerReceive@@@@PAVCListenerReceive@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VCListenerShell@@@@PAVCListenerShell@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VCRemoteOperation@@@@PAVCRemoteOperation@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VCRemoteSession@@@@PAVCRemoteSession@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VCRequestContext@@@@PAVCRequestContext@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VCServiceCommonConfigSettings@@@@PAVCServiceCommonConfigSettings@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VCServiceConfigCache@@@@PAVCServiceConfigCache@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VCServiceConfigSettings@@@@PAVCServiceConfigSettings@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VCWSManEPR@@@@PAVCWSManEPR@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VCWSManGroupPolicyCache@@@@PAVCWSManGroupPolicyCache@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VCWSManGroupPolicyManager@@@@PAVCWSManGroupPolicyManager@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VCWSManObject@@@@PAVCWSManObject@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VCWSManResource@@@@PAVCWSManResource@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VCWSManSession@@@@PAVCWSManSession@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VCWinRSPluginConfigCache@@@@PAVCWinRSPluginConfigCache@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VCWinRSPluginConfigSettings@@@@PAVCWinRSPluginConfigSettings@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VCommand@Client@WSMan@@@@PAVCommand@Client@WSMan@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VConfigNotification@@@@PAVConfigNotification@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VConnectShellOperation@Client@WSMan@@@@PAVConnectShellOperation@Client@WSMan@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VCreateShellOperation@Client@WSMan@@@@PAVCreateShellOperation@Client@WSMan@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VDeleteShellOperation@Client@WSMan@@@@PAVDeleteShellOperation@Client@WSMan@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VDisconnectOperation@Client@WSMan@@@@PAVDisconnectOperation@Client@WSMan@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VEnumSinkEx@@@@PAVEnumSinkEx@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VGeneralSinkEx@@@@PAVGeneralSinkEx@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VHostMappingTable@@@@PAVHostMappingTable@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VIISConfigSettings@@@@PAVIISConfigSettings@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VIPCSoapProcessor@@@@PAVIPCSoapProcessor@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VIRequestContext@@@@PAVIRequestContext@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VISubscription@@@@PAVISubscription@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VInboundRequestDetails@@@@PAVInboundRequestDetails@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VProxyManager@Client@WSMan@@@@PAVProxyManager@Client@WSMan@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VProxySelection@Client@WSMan@@@@PAVProxySelection@Client@WSMan@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VPushSubscribeOperation@@@@PAVPushSubscribeOperation@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VPushSubscription@@@@PAVPushSubscription@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VReceiveOperation@Client@WSMan@@@@PAVReceiveOperation@Client@WSMan@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VReconnectOperation@Client@WSMan@@@@PAVReconnectOperation@Client@WSMan@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VSendOperation@Client@WSMan@@@@PAVSendOperation@Client@WSMan@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VShell@Client@WSMan@@@@PAVShell@Client@WSMan@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VShellInfo@@@@PAVShellInfo@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VSignalOperation@Client@WSMan@@@@PAVSignalOperation@Client@WSMan@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VUserRecord@@@@PAVUserRecord@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoRelease@VWSManHttpListener@@@@PAVWSManHttpListener@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoReleaseEx@VHostMappingTableEntry@@@@PAVHostMappingTableEntry@@@@QAA@XZ +??1?$AutoCleanup@V?$AutoReleaseEx@VShell@Client@WSMan@@@@PAVShell@Client@WSMan@@@@QAA@XZ +??1?$AutoCleanup@VAutoBstr@@PAG@@QAA@XZ +??1?$AutoCleanup@VAutoBstrNoAlloc@@PAG@@QAA@XZ +??1?$AutoCleanup@VAutoCertContext@@PBU_CERT_CONTEXT@@@@QAA@XZ +??1?$AutoCleanup@VAutoChainContext@@PBU_CERT_CHAIN_CONTEXT@@@@QAA@XZ +??1?$AutoCleanup@VAutoCoTaskMemFree@@PAX@@QAA@XZ +??1?$AutoCleanup@VAutoEnvironmentBlock@@PAX@@QAA@XZ +??1?$AutoCleanup@VAutoFwXmlCloseParser@@PAX@@QAA@XZ +??1?$AutoCleanup@VAutoHandle@@PAX@@QAA@XZ +??1?$AutoCleanup@VAutoImpersonateUser@@PAX@@QAA@XZ +??1?$AutoCleanup@VAutoLibrary@@PAUHINSTANCE__@@@@QAA@XZ +??1?$AutoCleanup@VAutoLocalFree@@PAX@@QAA@XZ +??1?$AutoCleanup@VAutoMIClass@@PAU_MI_Class@@@@QAA@XZ +??1?$AutoCleanup@VAutoMIInstance@@PAU_MI_Instance@@@@QAA@XZ +??1?$AutoCleanup@VAutoObject@@PAUWSMAN_OBJECT@@@@QAA@XZ +??1?$AutoCleanup@VAutoRegKey@@PAUHKEY__@@@@QAA@XZ +??1?$AutoCleanup@VAutoSecurityDescriptor@@PAX@@QAA@XZ +??1?$AutoCleanup@VAutoWaitHandle@@PAX@@QAA@XZ +??1?$AutoDelete@D@@QAA@XZ +??1?$AutoDelete@G@@QAA@XZ +??1?$AutoDelete@UIPRange@CWSManIPFilter@@@@QAA@XZ +??1?$AutoDelete@U_SID@@@@QAA@XZ +??1?$AutoDelete@U_WSMAN_STREAM_ID_SET@@@@QAA@XZ +??1?$AutoDelete@V?$Handle@VISubscription@@@@@@QAA@XZ +??1?$AutoDelete@V?$SafeMap_Iterator@PAVCListenerConnect@@PAV1@@@@@QAA@XZ +??1?$AutoDelete@V?$SafeMap_Iterator@PAVCListenerReceive@@PAV1@@@@@QAA@XZ +??1?$AutoDelete@V?$SafeMap_Iterator@PAVCListenerSend@@PAV1@@@@@QAA@XZ +??1?$AutoDelete@V?$SafeMap_Iterator@PAVCListenerSignal@@PAV1@@@@@QAA@XZ +??1?$AutoDelete@V?$SafeMap_Iterator@VGuidKey@@PAVCListenerCommand@@@@@@QAA@XZ +??1?$AutoDelete@V?$SafeMap_Iterator@VStringKeyCI@@K@@@@QAA@XZ +??1?$AutoDelete@V?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@@QAA@XZ +??1?$AutoDelete@V?$SafeSet@PAVCCertMapping@@@@@@QAA@XZ +??1?$AutoDelete@V?$SafeSet@PAVCShellUriSettings@@@@@@QAA@XZ +??1?$AutoDelete@V?$SafeSet_Iterator@PAVCListenerOperation@@@@@@QAA@XZ +??1?$AutoDelete@V?$SafeSet_Iterator@PAVCollector@@@@@@QAA@XZ +??1?$AutoDelete@V?$SafeSet_Iterator@PAVHostOperation@@@@@@QAA@XZ +??1?$AutoDelete@V?$SafeSet_Iterator@PAVListenerSourceSubscription@@@@@@QAA@XZ +??1?$AutoDelete@V?$SimpleStack@VCListenerOperation@@@@@@QAA@XZ +??1?$AutoDelete@V?$SimpleStack@VShellHostEntry@@@@@@QAA@XZ +??1?$AutoDelete@V?$queue@PAU_WSMAN_PUBLISHER_EVENT_STRUCT@@V?$deque@PAU_WSMAN_PUBLISHER_EVENT_STRUCT@@V?$transport_allocator@PAU_WSMAN_PUBLISHER_EVENT_STRUCT@@@@@std@@@std@@@@QAA@XZ +??1?$AutoDelete@V?$set@PAVCListenerSettings@@VCListenerSettingsLessFunctor@CServiceConfigSettings@@V?$transport_allocator@PAVCListenerSettings@@@@@std@@@@QAA@XZ +??1?$AutoDelete@V?$set@Usockaddr_storage@@VSockAddrLessFunctor@CListenerSettings@@V?$transport_allocator@Usockaddr_storage@@@@@std@@@@QAA@XZ +??1?$AutoDelete@V?$vector@PAVCWSManRequest@@V?$transport_allocator@PAVCWSManRequest@@@@@std@@@@QAA@XZ +??1?$AutoDelete@V?$vector@PAVHandleImpl@Client@WSMan@@V?$transport_allocator@PAVHandleImpl@Client@WSMan@@@@@std@@@@QAA@XZ +??1?$AutoDelete@V?$vector@PAVIServiceConfigObserver@@V?$transport_allocator@PAVIServiceConfigObserver@@@@@std@@@@QAA@XZ +??1?$AutoDelete@V?$vector@PAVWSManHttpSenderConnection@@V?$transport_allocator@PAVWSManHttpSenderConnection@@@@@std@@@@QAA@XZ +??1?$AutoDelete@VAdminSid@CSecurity@@@@QAA@XZ +??1?$AutoDelete@VBlockedRecord@@@@QAA@XZ +??1?$AutoDelete@VCBaseConfigCache@@@@QAA@XZ +??1?$AutoDelete@VCCertMapping@@@@QAA@XZ +??1?$AutoDelete@VCConfigChangeSource@@@@QAA@XZ +??1?$AutoDelete@VCListenerSettings@@@@QAA@XZ +??1?$AutoDelete@VCObserverConfigChangeErrors@@@@QAA@XZ +??1?$AutoDelete@VCServiceWatcher@CServiceConfigCache@@@@QAA@XZ +??1?$AutoDelete@VCShellUriSettings@@@@QAA@XZ +??1?$AutoDelete@VCWSManEPR@@@@QAA@XZ +??1?$AutoDelete@VCWSManResource@@@@QAA@XZ +??1?$AutoDelete@VCertHash@@@@QAA@XZ +??1?$AutoDelete@VConfigUpdate@@@@QAA@XZ +??1?$AutoDelete@VCredUIDllLoader@@@@QAA@XZ +??1?$AutoDelete@VEnumSinkEx@@@@QAA@XZ +??1?$AutoDelete@VEventHandler@WSMan@@@@QAA@XZ +??1?$AutoDelete@VExpiredOperationIdRecord@@@@QAA@XZ +??1?$AutoDelete@VGPApiManager@@@@QAA@XZ +??1?$AutoDelete@VGeneralSinkEx@@@@QAA@XZ +??1?$AutoDelete@VIChannelObserverFactory@@@@QAA@XZ +??1?$AutoDelete@VIQueryDASHSMASHInterface@@@@QAA@XZ +??1?$AutoDelete@VISpecification@@@@QAA@XZ +??1?$AutoDelete@VInteractiveSid@CSecurity@@@@QAA@XZ +??1?$AutoDelete@VIpHlpApiDllLoader@@@@QAA@XZ +??1?$AutoDelete@VMachineName@@@@QAA@XZ +??1?$AutoDelete@VMasterReceiveData@CListenerReceive@@@@QAA@XZ +??1?$AutoDelete@VNetworkServiceSid@CSecurity@@@@QAA@XZ +??1?$AutoDelete@VNtDsApiDllLoader@@@@QAA@XZ +??1?$AutoDelete@VOptionValue@SessionOptions@Client@WSMan@@@@QAA@XZ +??1?$AutoDelete@VPacketCreator@@@@QAA@XZ +??1?$AutoDelete@VPacketParser@@@@QAA@XZ +??1?$AutoDelete@VResources@Locale@@@@QAA@XZ +??1?$AutoDelete@VRunAsConfiguration@@@@QAA@XZ +??1?$AutoDelete@VSecurityEntry@Catalog@@@@QAA@XZ +??1?$AutoDelete@VSendPacketArgs@RobustConnectionBuffer@@@@QAA@XZ +??1?$AutoDelete@VServiceSoapProcessor@@@@QAA@XZ +??1?$AutoDelete@VShell32DllLoader@@@@QAA@XZ +??1?$AutoDelete@VShlWApiDllLoader@@@@QAA@XZ +??1?$AutoDelete@VSubscriptionEnumerator@@@@QAA@XZ +??1?$AutoDelete@VSubscriptionManager@@@@QAA@XZ +??1?$AutoDelete@VTSTRBUFFER@@@@QAA@XZ +??1?$AutoDelete@VUniqueStringOverflow@@@@QAA@XZ +??1?$AutoDelete@VUser32DllLoader@@@@QAA@XZ +??1?$AutoDelete@VWSMANCONFIGTABLE_IDENTITY@@@@QAA@XZ +??1?$AutoDelete@VWSManMemCryptManager@@@@QAA@XZ +??1?$AutoDelete@VWmiEnumContext@@@@QAA@XZ +??1?$AutoDelete@VXmlReader@@@@QAA@XZ +??1?$AutoDeleteVector@$$CBG@@QAA@XZ +??1?$AutoDeleteVector@D@@QAA@XZ +??1?$AutoDeleteVector@E@@QAA@XZ +??1?$AutoDeleteVector@G@@QAA@XZ +??1?$AutoDeleteVector@H@@QAA@XZ +??1?$AutoDeleteVector@PAG@@QAA@XZ +??1?$AutoDeleteVector@PBG@@QAA@XZ +??1?$AutoDeleteVector@U_CONFIG_UPDATE@@@@QAA@XZ +??1?$AutoDeleteVector@U_WINRS_CREATE_SHELL_ENVIRONMENT_VARIABLE@@@@QAA@XZ +??1?$AutoDeleteVector@U_WINRS_RUN_COMMAND_ARG@@@@QAA@XZ +??1?$AutoDeleteVector@U_WSMAN_OPTION@@@@QAA@XZ +??1?$AutoDeleteVector@X@@QAA@XZ +??1?$AutoFree@E@@QAA@XZ +??1?$AutoLocklessItemRecycle@VPacket@@@@QAA@XZ +??1?$AutoRelease@UIAppHostChildElementCollection@@@@QAA@XZ +??1?$AutoRelease@UIAppHostElement@@@@QAA@XZ +??1?$AutoRelease@UIAppHostElementCollection@@@@QAA@XZ +??1?$AutoRelease@UIAppHostProperty@@@@QAA@XZ +??1?$AutoRelease@UIAppHostPropertyCollection@@@@QAA@XZ +??1?$AutoRelease@UIClientSecurity@@@@QAA@XZ +??1?$AutoRelease@UIEnumWbemClassObject@@@@QAA@XZ +??1?$AutoRelease@UIErrorInfo@@@@QAA@XZ +??1?$AutoRelease@UIUnknown@@@@QAA@XZ +??1?$AutoRelease@UIWbemClassObject@@@@QAA@XZ +??1?$AutoRelease@UIWbemContext@@@@QAA@XZ +??1?$AutoRelease@UIWbemLocator@@@@QAA@XZ +??1?$AutoRelease@UIWbemObjectTextSrc@@@@QAA@XZ +??1?$AutoRelease@UIWbemPath@@@@QAA@XZ +??1?$AutoRelease@UIWbemPathKeyList@@@@QAA@XZ +??1?$AutoRelease@UIWbemQualifierSet@@@@QAA@XZ +??1?$AutoRelease@UIWbemQuery@@@@QAA@XZ +??1?$AutoRelease@UIWbemServices@@@@QAA@XZ +??1?$AutoRelease@VApplication@Client@WSMan@@@@QAA@XZ +??1?$AutoRelease@VCBaseConfigCache@@@@QAA@XZ +??1?$AutoRelease@VCClientConfigCache@@@@QAA@XZ +??1?$AutoRelease@VCClientConfigSettings@@@@QAA@XZ +??1?$AutoRelease@VCCommonConfigSettings@@@@QAA@XZ +??1?$AutoRelease@VCConfigCacheMap@CBaseConfigCache@@@@QAA@XZ +??1?$AutoRelease@VCConfigManager@@@@QAA@XZ +??1?$AutoRelease@VCListenerCommand@@@@QAA@XZ +??1?$AutoRelease@VCListenerMasterOperation@@@@QAA@XZ +??1?$AutoRelease@VCListenerReceive@@@@QAA@XZ +??1?$AutoRelease@VCListenerShell@@@@QAA@XZ +??1?$AutoRelease@VCRemoteOperation@@@@QAA@XZ +??1?$AutoRelease@VCRemoteSession@@@@QAA@XZ +??1?$AutoRelease@VCRequestContext@@@@QAA@XZ +??1?$AutoRelease@VCServiceCommonConfigSettings@@@@QAA@XZ +??1?$AutoRelease@VCServiceConfigCache@@@@QAA@XZ +??1?$AutoRelease@VCServiceConfigSettings@@@@QAA@XZ +??1?$AutoRelease@VCWSManEPR@@@@QAA@XZ +??1?$AutoRelease@VCWSManGroupPolicyCache@@@@QAA@XZ +??1?$AutoRelease@VCWSManGroupPolicyManager@@@@QAA@XZ +??1?$AutoRelease@VCWSManObject@@@@QAA@XZ +??1?$AutoRelease@VCWSManResource@@@@QAA@XZ +??1?$AutoRelease@VCWSManSession@@@@QAA@XZ +??1?$AutoRelease@VCWinRSPluginConfigCache@@@@QAA@XZ +??1?$AutoRelease@VCWinRSPluginConfigSettings@@@@QAA@XZ +??1?$AutoRelease@VCommand@Client@WSMan@@@@QAA@XZ +??1?$AutoRelease@VConfigNotification@@@@QAA@XZ +??1?$AutoRelease@VConnectShellOperation@Client@WSMan@@@@QAA@XZ +??1?$AutoRelease@VCreateShellOperation@Client@WSMan@@@@QAA@XZ +??1?$AutoRelease@VDeleteShellOperation@Client@WSMan@@@@QAA@XZ +??1?$AutoRelease@VDisconnectOperation@Client@WSMan@@@@QAA@XZ +??1?$AutoRelease@VEnumSinkEx@@@@QAA@XZ +??1?$AutoRelease@VGeneralSinkEx@@@@QAA@XZ +??1?$AutoRelease@VHostMappingTable@@@@QAA@XZ +??1?$AutoRelease@VIISConfigSettings@@@@QAA@XZ +??1?$AutoRelease@VIPCSoapProcessor@@@@QAA@XZ +??1?$AutoRelease@VIRequestContext@@@@QAA@XZ +??1?$AutoRelease@VISubscription@@@@QAA@XZ +??1?$AutoRelease@VInboundRequestDetails@@@@QAA@XZ +??1?$AutoRelease@VProxyManager@Client@WSMan@@@@QAA@XZ +??1?$AutoRelease@VProxySelection@Client@WSMan@@@@QAA@XZ +??1?$AutoRelease@VPushSubscribeOperation@@@@QAA@XZ +??1?$AutoRelease@VPushSubscription@@@@QAA@XZ +??1?$AutoRelease@VReceiveOperation@Client@WSMan@@@@QAA@XZ +??1?$AutoRelease@VReconnectOperation@Client@WSMan@@@@QAA@XZ +??1?$AutoRelease@VSendOperation@Client@WSMan@@@@QAA@XZ +??1?$AutoRelease@VShell@Client@WSMan@@@@QAA@XZ +??1?$AutoRelease@VShellInfo@@@@QAA@XZ +??1?$AutoRelease@VSignalOperation@Client@WSMan@@@@QAA@XZ +??1?$AutoRelease@VUserRecord@@@@QAA@XZ +??1?$AutoRelease@VWSManHttpListener@@@@QAA@XZ +??1?$AutoReleaseEx@VHostMappingTableEntry@@@@QAA@XZ +??1?$AutoReleaseEx@VShell@Client@WSMan@@@@QAA@XZ +??1?$ILoader@VAdminSid@CSecurity@@@@QAA@XZ +??1?$ILoader@VCredUIDllLoader@@@@QAA@XZ +??1?$ILoader@VEventHandler@WSMan@@@@QAA@XZ +??1?$ILoader@VInteractiveSid@CSecurity@@@@QAA@XZ +??1?$ILoader@VIpHlpApiDllLoader@@@@QAA@XZ +??1?$ILoader@VMachineName@@@@QAA@XZ +??1?$ILoader@VNetworkServiceSid@CSecurity@@@@QAA@XZ +??1?$ILoader@VNtDsApiDllLoader@@@@QAA@XZ +??1?$ILoader@VResources@Locale@@@@QAA@XZ +??1?$ILoader@VShell32DllLoader@@@@QAA@XZ +??1?$ILoader@VShlWApiDllLoader@@@@QAA@XZ +??1?$ILoader@VSubscriptionManager@@@@QAA@XZ +??1?$ILoader@VUser32DllLoader@@@@QAA@XZ +??1?$ILoader@VWSManMemCryptManager@@@@QAA@XZ +??1?$Loader@VAdminSid@CSecurity@@$00@@QAA@XZ +??1?$Loader@VCredUIDllLoader@@$00@@QAA@XZ +??1?$Loader@VEventHandler@WSMan@@$00@@QAA@XZ +??1?$Loader@VInteractiveSid@CSecurity@@$00@@QAA@XZ +??1?$Loader@VIpHlpApiDllLoader@@$00@@QAA@XZ +??1?$Loader@VMachineName@@$00@@QAA@XZ +??1?$Loader@VNetworkServiceSid@CSecurity@@$00@@QAA@XZ +??1?$Loader@VNtDsApiDllLoader@@$00@@QAA@XZ +??1?$Loader@VResources@Locale@@$0A@@@QAA@XZ +??1?$Loader@VShell32DllLoader@@$00@@QAA@XZ +??1?$Loader@VShlWApiDllLoader@@$00@@QAA@XZ +??1?$Loader@VSubscriptionManager@@$01@@QAA@XZ +??1?$Loader@VUser32DllLoader@@$00@@QAA@XZ +??1?$Loader@VWSManMemCryptManager@@$00@@QAA@XZ +??1?$LoaderSerializer@VAdminSid@CSecurity@@$00@@QAA@XZ +??1?$LoaderSerializer@VCredUIDllLoader@@$00@@QAA@XZ +??1?$LoaderSerializer@VEventHandler@WSMan@@$00@@QAA@XZ +??1?$LoaderSerializer@VInteractiveSid@CSecurity@@$00@@QAA@XZ +??1?$LoaderSerializer@VIpHlpApiDllLoader@@$00@@QAA@XZ +??1?$LoaderSerializer@VMachineName@@$00@@QAA@XZ +??1?$LoaderSerializer@VNetworkServiceSid@CSecurity@@$00@@QAA@XZ +??1?$LoaderSerializer@VNtDsApiDllLoader@@$00@@QAA@XZ +??1?$LoaderSerializer@VResources@Locale@@$0A@@@QAA@XZ +??1?$LoaderSerializer@VShell32DllLoader@@$00@@QAA@XZ +??1?$LoaderSerializer@VShlWApiDllLoader@@$00@@QAA@XZ +??1?$LoaderSerializer@VSubscriptionManager@@$01@@QAA@XZ +??1?$LoaderSerializer@VUser32DllLoader@@$00@@QAA@XZ +??1?$LoaderSerializer@VWSManMemCryptManager@@$00@@QAA@XZ +??1?$SafeMap@PAVCCertMapping@@UEmpty@@V?$SafeSet_Iterator@PAVCCertMapping@@@@@@QAA@XZ +??1?$SafeMap@PAVCListenerOperation@@UEmpty@@V?$SafeSet_Iterator@PAVCListenerOperation@@@@@@QAA@XZ +??1?$SafeMap@PAVCShellUriSettings@@UEmpty@@V?$SafeSet_Iterator@PAVCShellUriSettings@@@@@@QAA@XZ +??1?$SafeMap@PAVCollector@@UEmpty@@V?$SafeSet_Iterator@PAVCollector@@@@@@QAA@XZ +??1?$SafeMap@PAVHostOperation@@UEmpty@@V?$SafeSet_Iterator@PAVHostOperation@@@@@@QAA@XZ +??1?$SafeMap@PAVIOperation@@UEmpty@@V?$SafeSet_Iterator@PAVIOperation@@@@@@QAA@XZ +??1?$SafeMap@PAVListenerSourceSubscription@@UEmpty@@V?$SafeSet_Iterator@PAVListenerSourceSubscription@@@@@@QAA@XZ +??1?$SafeMap@PAVPushSubscription@@UEmpty@@V?$SafeSet_Iterator@PAVPushSubscription@@@@@@QAA@XZ +??1?$SafeMap@PAXUEmpty@@V?$SafeSet_Iterator@PAX@@@@QAA@XZ +??1?$SafeMap@UPluginKey@@KV?$SafeMap_Iterator@UPluginKey@@K@@@@QAA@XZ +??1?$SafeMap@UUserKey@@PAVBlockedRecord@@V?$SafeMap_Iterator@UUserKey@@PAVBlockedRecord@@@@@@QAA@XZ +??1?$SafeMap@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@V?$SafeMap_Iterator@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@@@@@QAA@XZ +??1?$SafeMap@VKey@Locale@@KV?$SafeMap_Iterator@VKey@Locale@@K@@@@QAA@XZ +??1?$SafeMap@VStringKeyCI@@KV?$SafeMap_Iterator@VStringKeyCI@@K@@@@QAA@XZ +??1?$SafeMap@VStringKeyCI@@UEmpty@@V?$SafeSet_Iterator@VStringKeyCI@@@@@@QAA@XZ +??1?$SafeMap@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@V?$SafeMap_Iterator@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@@@@@QAA@XZ +??1?$SafeMap@VStringKeyStore@@PAVExpiredOperationIdRecord@@V?$SafeMap_Iterator@VStringKeyStore@@PAVExpiredOperationIdRecord@@@@@@QAA@XZ +??1?$SafeMap@VStringKeyStore@@PAVServerFullDuplexChannel@@V?$SafeMap_Iterator@VStringKeyStore@@PAVServerFullDuplexChannel@@@@@@QAA@XZ +??1?$SafeMap@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@V?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@@QAA@XZ +??1?$SafeMap@_KPAVSendPacketArgs@RobustConnectionBuffer@@V?$SafeMap_Iterator@_KPAVSendPacketArgs@RobustConnectionBuffer@@@@@@QAA@XZ +??1?$SafeMap_Iterator@PAVCCertMapping@@UEmpty@@@@QAA@XZ +??1?$SafeMap_Iterator@PAVCListenerConnect@@PAV1@@@QAA@XZ +??1?$SafeMap_Iterator@PAVCListenerOperation@@UEmpty@@@@QAA@XZ +??1?$SafeMap_Iterator@PAVCListenerReceive@@PAV1@@@QAA@XZ +??1?$SafeMap_Iterator@PAVCListenerSend@@PAV1@@@QAA@XZ +??1?$SafeMap_Iterator@PAVCListenerSignal@@PAV1@@@QAA@XZ +??1?$SafeMap_Iterator@PAVCShellUriSettings@@UEmpty@@@@QAA@XZ +??1?$SafeMap_Iterator@PAVCollector@@UEmpty@@@@QAA@XZ +??1?$SafeMap_Iterator@PAVHostOperation@@UEmpty@@@@QAA@XZ +??1?$SafeMap_Iterator@PAVIOperation@@UEmpty@@@@QAA@XZ +??1?$SafeMap_Iterator@PAVListenerSourceSubscription@@UEmpty@@@@QAA@XZ +??1?$SafeMap_Iterator@PAVPushSubscription@@UEmpty@@@@QAA@XZ +??1?$SafeMap_Iterator@PAXUEmpty@@@@QAA@XZ +??1?$SafeMap_Iterator@UPluginKey@@K@@QAA@XZ +??1?$SafeMap_Iterator@UUserKey@@PAVBlockedRecord@@@@QAA@XZ +??1?$SafeMap_Iterator@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@@@QAA@XZ +??1?$SafeMap_Iterator@VGuidKey@@PAVCListenerCommand@@@@QAA@XZ +??1?$SafeMap_Iterator@VKey@Locale@@K@@QAA@XZ +??1?$SafeMap_Iterator@VStringKeyCI@@K@@QAA@XZ +??1?$SafeMap_Iterator@VStringKeyCI@@UEmpty@@@@QAA@XZ +??1?$SafeMap_Iterator@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@@@QAA@XZ +??1?$SafeMap_Iterator@VStringKeyStore@@PAVExpiredOperationIdRecord@@@@QAA@XZ +??1?$SafeMap_Iterator@VStringKeyStore@@PAVServerFullDuplexChannel@@@@QAA@XZ +??1?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@QAA@XZ +??1?$SafeMap_Iterator@_KPAVSendPacketArgs@RobustConnectionBuffer@@@@QAA@XZ +??1?$SafeMap_Lock@PAVCCertMapping@@UEmpty@@V?$SafeMap_Iterator@PAVCCertMapping@@UEmpty@@@@@@QAA@XZ +??1?$SafeMap_Lock@PAVCCertMapping@@UEmpty@@V?$SafeSet_Iterator@PAVCCertMapping@@@@@@QAA@XZ +??1?$SafeMap_Lock@PAVCListenerConnect@@PAV1@V?$SafeMap_Iterator@PAVCListenerConnect@@PAV1@@@@@QAA@XZ +??1?$SafeMap_Lock@PAVCListenerOperation@@UEmpty@@V?$SafeMap_Iterator@PAVCListenerOperation@@UEmpty@@@@@@QAA@XZ +??1?$SafeMap_Lock@PAVCListenerOperation@@UEmpty@@V?$SafeSet_Iterator@PAVCListenerOperation@@@@@@QAA@XZ +??1?$SafeMap_Lock@PAVCListenerReceive@@PAV1@V?$SafeMap_Iterator@PAVCListenerReceive@@PAV1@@@@@QAA@XZ +??1?$SafeMap_Lock@PAVCListenerSend@@PAV1@V?$SafeMap_Iterator@PAVCListenerSend@@PAV1@@@@@QAA@XZ +??1?$SafeMap_Lock@PAVCListenerSignal@@PAV1@V?$SafeMap_Iterator@PAVCListenerSignal@@PAV1@@@@@QAA@XZ +??1?$SafeMap_Lock@PAVCShellUriSettings@@UEmpty@@V?$SafeMap_Iterator@PAVCShellUriSettings@@UEmpty@@@@@@QAA@XZ +??1?$SafeMap_Lock@PAVCShellUriSettings@@UEmpty@@V?$SafeSet_Iterator@PAVCShellUriSettings@@@@@@QAA@XZ +??1?$SafeMap_Lock@PAVCollector@@UEmpty@@V?$SafeMap_Iterator@PAVCollector@@UEmpty@@@@@@QAA@XZ +??1?$SafeMap_Lock@PAVHostOperation@@UEmpty@@V?$SafeMap_Iterator@PAVHostOperation@@UEmpty@@@@@@QAA@XZ +??1?$SafeMap_Lock@PAVIOperation@@UEmpty@@V?$SafeMap_Iterator@PAVIOperation@@UEmpty@@@@@@QAA@XZ +??1?$SafeMap_Lock@PAVListenerSourceSubscription@@UEmpty@@V?$SafeMap_Iterator@PAVListenerSourceSubscription@@UEmpty@@@@@@QAA@XZ +??1?$SafeMap_Lock@PAVPushSubscription@@UEmpty@@V?$SafeMap_Iterator@PAVPushSubscription@@UEmpty@@@@@@QAA@XZ +??1?$SafeMap_Lock@PAXUEmpty@@V?$SafeMap_Iterator@PAXUEmpty@@@@@@QAA@XZ +??1?$SafeMap_Lock@PAXUEmpty@@V?$SafeSet_Iterator@PAX@@@@QAA@XZ +??1?$SafeMap_Lock@UPluginKey@@KV?$SafeMap_Iterator@UPluginKey@@K@@@@QAA@XZ +??1?$SafeMap_Lock@UUserKey@@PAVBlockedRecord@@V?$SafeMap_Iterator@UUserKey@@PAVBlockedRecord@@@@@@QAA@XZ +??1?$SafeMap_Lock@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@V?$SafeMap_Iterator@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@@@@@QAA@XZ +??1?$SafeMap_Lock@VGuidKey@@PAVCListenerCommand@@V?$SafeMap_Iterator@VGuidKey@@PAVCListenerCommand@@@@@@QAA@XZ +??1?$SafeMap_Lock@VKey@Locale@@KV?$SafeMap_Iterator@VKey@Locale@@K@@@@QAA@XZ +??1?$SafeMap_Lock@VStringKeyCI@@KV?$SafeMap_Iterator@VStringKeyCI@@K@@@@QAA@XZ +??1?$SafeMap_Lock@VStringKeyCI@@UEmpty@@V?$SafeMap_Iterator@VStringKeyCI@@UEmpty@@@@@@QAA@XZ +??1?$SafeMap_Lock@VStringKeyCI@@UEmpty@@V?$SafeSet_Iterator@VStringKeyCI@@@@@@QAA@XZ +??1?$SafeMap_Lock@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@V?$SafeMap_Iterator@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@@@@@QAA@XZ +??1?$SafeMap_Lock@VStringKeyStore@@PAVExpiredOperationIdRecord@@V?$SafeMap_Iterator@VStringKeyStore@@PAVExpiredOperationIdRecord@@@@@@QAA@XZ +??1?$SafeMap_Lock@VStringKeyStore@@PAVServerFullDuplexChannel@@V?$SafeMap_Iterator@VStringKeyStore@@PAVServerFullDuplexChannel@@@@@@QAA@XZ +??1?$SafeMap_Lock@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@V?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@@QAA@XZ +??1?$SafeMap_Lock@_KPAVSendPacketArgs@RobustConnectionBuffer@@V?$SafeMap_Iterator@_KPAVSendPacketArgs@RobustConnectionBuffer@@@@@@QAA@XZ +??1?$SafeSet@PAVCCertMapping@@@@QAA@XZ +??1?$SafeSet@PAVCListenerOperation@@@@QAA@XZ +??1?$SafeSet@PAVCShellUriSettings@@@@QAA@XZ +??1?$SafeSet@PAVCollector@@@@QAA@XZ +??1?$SafeSet@PAVHostOperation@@@@QAA@XZ +??1?$SafeSet@PAVIOperation@@@@QAA@XZ +??1?$SafeSet@PAVListenerSourceSubscription@@@@QAA@XZ +??1?$SafeSet@PAVPushSubscription@@@@QAA@XZ +??1?$SafeSet@PAX@@QAA@XZ +??1?$SafeSet@VStringKeyCI@@@@QAA@XZ +??1?$SafeSet_Iterator@PAVCCertMapping@@@@QAA@XZ +??1?$SafeSet_Iterator@PAVCListenerOperation@@@@QAA@XZ +??1?$SafeSet_Iterator@PAVCShellUriSettings@@@@QAA@XZ +??1?$SafeSet_Iterator@PAVCollector@@@@QAA@XZ +??1?$SafeSet_Iterator@PAVHostOperation@@@@QAA@XZ +??1?$SafeSet_Iterator@PAVIOperation@@@@QAA@XZ +??1?$SafeSet_Iterator@PAVListenerSourceSubscription@@@@QAA@XZ +??1?$SafeSet_Iterator@PAVPushSubscription@@@@QAA@XZ +??1?$SafeSet_Iterator@PAX@@QAA@XZ +??1?$SafeSet_Iterator@VStringKeyCI@@@@QAA@XZ +??1?$SimpleQueue@T_LARGE_INTEGER@@@@QAA@XZ +??1AutoBstr@@QAA@XZ +??1AutoBstrNoAlloc@@QAA@XZ +??1AutoCertContext@@QAA@XZ +??1AutoChainContext@@QAA@XZ +??1AutoCoTaskMemFree@@QAA@XZ +??1AutoEnvironmentBlock@@QAA@XZ +??1AutoFwXmlCloseParser@@QAA@XZ +??1AutoHandle@@QAA@XZ +??1AutoImpersonateUser@@QAA@XZ +??1AutoLibrary@@QAA@XZ +??1AutoLocalFree@@QAA@XZ +??1AutoMIClass@@QAA@XZ +??1AutoMIInstance@@QAA@XZ +??1AutoObject@@QAA@XZ +??1AutoRegKey@@QAA@XZ +??1AutoSecurityDescriptor@@QAA@XZ +??1AutoWaitHandle@@QAA@XZ +??1BufferFormatter@@UAA@XZ +??1CBaseConfigCache@@UAA@XZ +??1CClientConfigCache@@UAA@XZ +??1CCommonConfigSettings@@UAA@XZ +??1CConfigManager@@UAA@XZ +??1CErrorContext@@UAA@XZ +??1CRequestContext@@UAA@XZ +??1CResourceAlias@@QAA@XZ +??1CServiceConfigCache@@EAA@XZ +??1CServiceWatcher@CServiceConfigCache@@QAA@XZ +??1CWSManCriticalSection@@QAA@XZ +??1CWSManCriticalSectionWithConditionVar@@QAA@XZ +??1CWSManEPR@@UAA@XZ +??1CWSManGroupPolicyManager@@EAA@XZ +??1CWSManResource@@UAA@XZ +??1CWSManResourceNoResourceUri@@UAA@XZ +??1CWSManSecurityUI@@QAA@XZ +??1CWinRSPluginConfigCache@@EAA@XZ +??1ChildLifeTimeManager@@QAA@XZ +??1CircularBufferFormatter@@UAA@XZ +??1ConfigRegistry@@IAA@XZ +??1EtwCorrelationHelper@@UAA@XZ +??1EventHandler@WSMan@@QAA@XZ +??1IConfigChangeObserver@@UAA@XZ +??1ILifeTimeMgmt@@UAA@XZ +??1IRequestContext@@UAA@XZ +??1IWSManGroupPolicyObserver@@UAA@XZ +??1IWSManGroupPolicyPublisher@@UAA@XZ +??1MessageId@PacketParser@@QAA@XZ +??1OnHTTPInitialize@@QAA@XZ +??1OperationId@PacketParser@@QAA@XZ +??1OwnLock@@QAA@XZ +??1PacketParser@@QAA@XZ +??1RBUFFER@@QAA@XZ +??1ReferenceParameters@PacketParser@@QAA@XZ +??1SBUFFER@@QAA@XZ +??1ShareLock@@QAA@XZ +??1SoapSemanticConverter@@QAA@XZ +??1TSTRBUFFER@@QAA@XZ +??1UserRecord@@QAA@XZ +??1XmlReader@@QAA@XZ +??4?$AutoCleanup@V?$AutoDelete@D@@PAD@@QAAAAV?$AutoDelete@D@@PAD@Z +??4?$AutoCleanup@V?$AutoDelete@G@@PAG@@QAAAAV?$AutoDelete@G@@PAG@Z +??4?$AutoCleanup@V?$AutoDelete@V?$SafeMap_Iterator@VStringKeyCI@@K@@@@PAV?$SafeMap_Iterator@VStringKeyCI@@K@@@@QAAAAV?$AutoDelete@V?$SafeMap_Iterator@VStringKeyCI@@K@@@@PAV?$SafeMap_Iterator@VStringKeyCI@@K@@@Z +??4?$AutoCleanup@V?$AutoDelete@V?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@@PAV?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@@QAAAAV?$AutoDelete@V?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@@PAV?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@Z +??4?$AutoCleanup@V?$AutoDelete@V?$SafeSet@PAVCCertMapping@@@@@@PAV?$SafeSet@PAVCCertMapping@@@@@@QAAAAV?$AutoDelete@V?$SafeSet@PAVCCertMapping@@@@@@PAV?$SafeSet@PAVCCertMapping@@@@@Z +??4?$AutoCleanup@V?$AutoDelete@V?$SafeSet@PAVCShellUriSettings@@@@@@PAV?$SafeSet@PAVCShellUriSettings@@@@@@QAAAAV?$AutoDelete@V?$SafeSet@PAVCShellUriSettings@@@@@@PAV?$SafeSet@PAVCShellUriSettings@@@@@Z +??4?$AutoCleanup@V?$AutoDelete@V?$SafeSet_Iterator@PAVCListenerOperation@@@@@@PAV?$SafeSet_Iterator@PAVCListenerOperation@@@@@@QAAAAV?$AutoDelete@V?$SafeSet_Iterator@PAVCListenerOperation@@@@@@PAV?$SafeSet_Iterator@PAVCListenerOperation@@@@@Z +??4?$AutoCleanup@V?$AutoDelete@V?$set@PAVCListenerSettings@@VCListenerSettingsLessFunctor@CServiceConfigSettings@@V?$transport_allocator@PAVCListenerSettings@@@@@std@@@@PAV?$set@PAVCListenerSettings@@VCListenerSettingsLessFunctor@CServiceConfigSettings@@V?$transport_allocator@PAVCListenerSettings@@@@@std@@@@QAAAAV?$AutoDelete@V?$set@PAVCListenerSettings@@VCListenerSettingsLessFunctor@CServiceConfigSettings@@V?$transport_allocator@PAVCListenerSettings@@@@@std@@@@PAV?$set@PAVCListenerSettings@@VCListenerSettingsLessFunctor@CServiceConfigSettings@@V?$transport_allocator@PAVCListenerSettings@@@@@std@@@Z +??4?$AutoCleanup@V?$AutoDelete@V?$set@Usockaddr_storage@@VSockAddrLessFunctor@CListenerSettings@@V?$transport_allocator@Usockaddr_storage@@@@@std@@@@PAV?$set@Usockaddr_storage@@VSockAddrLessFunctor@CListenerSettings@@V?$transport_allocator@Usockaddr_storage@@@@@std@@@@QAAAAV?$AutoDelete@V?$set@Usockaddr_storage@@VSockAddrLessFunctor@CListenerSettings@@V?$transport_allocator@Usockaddr_storage@@@@@std@@@@PAV?$set@Usockaddr_storage@@VSockAddrLessFunctor@CListenerSettings@@V?$transport_allocator@Usockaddr_storage@@@@@std@@@Z +??4?$AutoCleanup@V?$AutoDelete@V?$vector@PAVHandleImpl@Client@WSMan@@V?$transport_allocator@PAVHandleImpl@Client@WSMan@@@@@std@@@@PAV?$vector@PAVHandleImpl@Client@WSMan@@V?$transport_allocator@PAVHandleImpl@Client@WSMan@@@@@std@@@@QAAAAV?$AutoDelete@V?$vector@PAVHandleImpl@Client@WSMan@@V?$transport_allocator@PAVHandleImpl@Client@WSMan@@@@@std@@@@PAV?$vector@PAVHandleImpl@Client@WSMan@@V?$transport_allocator@PAVHandleImpl@Client@WSMan@@@@@std@@@Z +??4?$AutoCleanup@V?$AutoDelete@V?$vector@PAVIServiceConfigObserver@@V?$transport_allocator@PAVIServiceConfigObserver@@@@@std@@@@PAV?$vector@PAVIServiceConfigObserver@@V?$transport_allocator@PAVIServiceConfigObserver@@@@@std@@@@QAAAAV?$AutoDelete@V?$vector@PAVIServiceConfigObserver@@V?$transport_allocator@PAVIServiceConfigObserver@@@@@std@@@@PAV?$vector@PAVIServiceConfigObserver@@V?$transport_allocator@PAVIServiceConfigObserver@@@@@std@@@Z +??4?$AutoCleanup@V?$AutoDelete@VBlockedRecord@@@@PAVBlockedRecord@@@@QAAAAV?$AutoDelete@VBlockedRecord@@@@PAVBlockedRecord@@@Z +??4?$AutoCleanup@V?$AutoDelete@VCConfigChangeSource@@@@PAVCConfigChangeSource@@@@QAAAAV?$AutoDelete@VCConfigChangeSource@@@@PAVCConfigChangeSource@@@Z +??4?$AutoCleanup@V?$AutoDelete@VCObserverConfigChangeErrors@@@@PAVCObserverConfigChangeErrors@@@@QAAAAV?$AutoDelete@VCObserverConfigChangeErrors@@@@PAVCObserverConfigChangeErrors@@@Z +??4?$AutoCleanup@V?$AutoDelete@VCServiceWatcher@CServiceConfigCache@@@@PAVCServiceWatcher@CServiceConfigCache@@@@QAAAAV?$AutoDelete@VCServiceWatcher@CServiceConfigCache@@@@PAVCServiceWatcher@CServiceConfigCache@@@Z +??4?$AutoCleanup@V?$AutoDelete@VCWSManResource@@@@PAVCWSManResource@@@@QAAAAV?$AutoDelete@VCWSManResource@@@@PAVCWSManResource@@@Z +??4?$AutoCleanup@V?$AutoDelete@VCertHash@@@@PAVCertHash@@@@QAAAAV?$AutoDelete@VCertHash@@@@PAVCertHash@@@Z +??4?$AutoCleanup@V?$AutoDelete@VConfigUpdate@@@@PAVConfigUpdate@@@@QAAAAV?$AutoDelete@VConfigUpdate@@@@PAVConfigUpdate@@@Z +??4?$AutoCleanup@V?$AutoDelete@VEnumSinkEx@@@@PAVEnumSinkEx@@@@QAAAAV?$AutoDelete@VEnumSinkEx@@@@PAVEnumSinkEx@@@Z +??4?$AutoCleanup@V?$AutoDelete@VGPApiManager@@@@PAVGPApiManager@@@@QAAAAV?$AutoDelete@VGPApiManager@@@@PAVGPApiManager@@@Z +??4?$AutoCleanup@V?$AutoDelete@VGeneralSinkEx@@@@PAVGeneralSinkEx@@@@QAAAAV?$AutoDelete@VGeneralSinkEx@@@@PAVGeneralSinkEx@@@Z +??4?$AutoCleanup@V?$AutoDelete@VIChannelObserverFactory@@@@PAVIChannelObserverFactory@@@@QAAAAV?$AutoDelete@VIChannelObserverFactory@@@@PAVIChannelObserverFactory@@@Z +??4?$AutoCleanup@V?$AutoDelete@VIQueryDASHSMASHInterface@@@@PAVIQueryDASHSMASHInterface@@@@QAAAAV?$AutoDelete@VIQueryDASHSMASHInterface@@@@PAVIQueryDASHSMASHInterface@@@Z +??4?$AutoCleanup@V?$AutoDelete@VISpecification@@@@PAVISpecification@@@@QAAAAV?$AutoDelete@VISpecification@@@@PAVISpecification@@@Z +??4?$AutoCleanup@V?$AutoDelete@VPacketCreator@@@@PAVPacketCreator@@@@QAAAAV?$AutoDelete@VPacketCreator@@@@PAVPacketCreator@@@Z +??4?$AutoCleanup@V?$AutoDelete@VPacketParser@@@@PAVPacketParser@@@@QAAAAV?$AutoDelete@VPacketParser@@@@PAVPacketParser@@@Z +??4?$AutoCleanup@V?$AutoDelete@VRunAsConfiguration@@@@PAVRunAsConfiguration@@@@QAAAAV?$AutoDelete@VRunAsConfiguration@@@@PAVRunAsConfiguration@@@Z +??4?$AutoCleanup@V?$AutoDelete@VSecurityEntry@Catalog@@@@PAVSecurityEntry@Catalog@@@@QAAAAV?$AutoDelete@VSecurityEntry@Catalog@@@@PAVSecurityEntry@Catalog@@@Z +??4?$AutoCleanup@V?$AutoDelete@VServiceSoapProcessor@@@@PAVServiceSoapProcessor@@@@QAAAAV?$AutoDelete@VServiceSoapProcessor@@@@PAVServiceSoapProcessor@@@Z +??4?$AutoCleanup@V?$AutoDelete@VSubscriptionEnumerator@@@@PAVSubscriptionEnumerator@@@@QAAAAV?$AutoDelete@VSubscriptionEnumerator@@@@PAVSubscriptionEnumerator@@@Z +??4?$AutoCleanup@V?$AutoDelete@VTSTRBUFFER@@@@PAVTSTRBUFFER@@@@QAAAAV?$AutoDelete@VTSTRBUFFER@@@@PAVTSTRBUFFER@@@Z +??4?$AutoCleanup@V?$AutoDelete@VUniqueStringOverflow@@@@PAVUniqueStringOverflow@@@@QAAAAV?$AutoDelete@VUniqueStringOverflow@@@@PAVUniqueStringOverflow@@@Z +??4?$AutoCleanup@V?$AutoDelete@VWSMANCONFIGTABLE_IDENTITY@@@@PAVWSMANCONFIGTABLE_IDENTITY@@@@QAAAAV?$AutoDelete@VWSMANCONFIGTABLE_IDENTITY@@@@PAVWSMANCONFIGTABLE_IDENTITY@@@Z +??4?$AutoCleanup@V?$AutoDelete@VWmiEnumContext@@@@PAVWmiEnumContext@@@@QAAAAV?$AutoDelete@VWmiEnumContext@@@@PAVWmiEnumContext@@@Z +??4?$AutoCleanup@V?$AutoDelete@VXmlReader@@@@PAVXmlReader@@@@QAAAAV?$AutoDelete@VXmlReader@@@@PAVXmlReader@@@Z +??4?$AutoCleanup@V?$AutoDeleteVector@$$CBG@@PBG@@QAAAAV?$AutoDeleteVector@$$CBG@@PBG@Z +??4?$AutoCleanup@V?$AutoDeleteVector@D@@PAD@@QAAAAV?$AutoDeleteVector@D@@PAD@Z +??4?$AutoCleanup@V?$AutoDeleteVector@E@@PAE@@QAAAAV?$AutoDeleteVector@E@@PAE@Z +??4?$AutoCleanup@V?$AutoDeleteVector@G@@PAG@@QAAAAV?$AutoDeleteVector@G@@PAG@Z +??4?$AutoCleanup@V?$AutoDeleteVector@PAG@@PAPAG@@QAAAAV?$AutoDeleteVector@PAG@@PAPAG@Z +??4?$AutoCleanup@V?$AutoDeleteVector@PBG@@PAPBG@@QAAAAV?$AutoDeleteVector@PBG@@PAPBG@Z +??4?$AutoCleanup@V?$AutoDeleteVector@U_CONFIG_UPDATE@@@@PAU_CONFIG_UPDATE@@@@QAAAAV?$AutoDeleteVector@U_CONFIG_UPDATE@@@@PAU_CONFIG_UPDATE@@@Z +??4?$AutoCleanup@V?$AutoDeleteVector@U_WINRS_CREATE_SHELL_ENVIRONMENT_VARIABLE@@@@PAU_WINRS_CREATE_SHELL_ENVIRONMENT_VARIABLE@@@@QAAAAV?$AutoDeleteVector@U_WINRS_CREATE_SHELL_ENVIRONMENT_VARIABLE@@@@PAU_WINRS_CREATE_SHELL_ENVIRONMENT_VARIABLE@@@Z +??4?$AutoCleanup@V?$AutoDeleteVector@U_WINRS_RUN_COMMAND_ARG@@@@PAU_WINRS_RUN_COMMAND_ARG@@@@QAAAAV?$AutoDeleteVector@U_WINRS_RUN_COMMAND_ARG@@@@PAU_WINRS_RUN_COMMAND_ARG@@@Z +??4?$AutoCleanup@V?$AutoDeleteVector@U_WSMAN_OPTION@@@@PAU_WSMAN_OPTION@@@@QAAAAV?$AutoDeleteVector@U_WSMAN_OPTION@@@@PAU_WSMAN_OPTION@@@Z +??4?$AutoCleanup@V?$AutoDeleteVector@X@@PAX@@QAAAAV?$AutoDeleteVector@X@@PAX@Z +??4?$AutoCleanup@V?$AutoFree@E@@PAE@@QAAAAV?$AutoFree@E@@PAE@Z +??4?$AutoCleanup@V?$AutoLocklessItemRecycle@VPacket@@@@PAVPacket@@@@QAAAAV?$AutoLocklessItemRecycle@VPacket@@@@PAVPacket@@@Z +??4?$AutoCleanup@V?$AutoRelease@UIClientSecurity@@@@PAUIClientSecurity@@@@QAAAAV?$AutoRelease@UIClientSecurity@@@@PAUIClientSecurity@@@Z +??4?$AutoCleanup@V?$AutoRelease@UIEnumWbemClassObject@@@@PAUIEnumWbemClassObject@@@@QAAAAV?$AutoRelease@UIEnumWbemClassObject@@@@PAUIEnumWbemClassObject@@@Z +??4?$AutoCleanup@V?$AutoRelease@UIErrorInfo@@@@PAUIErrorInfo@@@@QAAAAV?$AutoRelease@UIErrorInfo@@@@PAUIErrorInfo@@@Z +??4?$AutoCleanup@V?$AutoRelease@UIUnknown@@@@PAUIUnknown@@@@QAAAAV?$AutoRelease@UIUnknown@@@@PAUIUnknown@@@Z +??4?$AutoCleanup@V?$AutoRelease@UIWbemClassObject@@@@PAUIWbemClassObject@@@@QAAAAV?$AutoRelease@UIWbemClassObject@@@@PAUIWbemClassObject@@@Z +??4?$AutoCleanup@V?$AutoRelease@UIWbemContext@@@@PAUIWbemContext@@@@QAAAAV?$AutoRelease@UIWbemContext@@@@PAUIWbemContext@@@Z +??4?$AutoCleanup@V?$AutoRelease@UIWbemLocator@@@@PAUIWbemLocator@@@@QAAAAV?$AutoRelease@UIWbemLocator@@@@PAUIWbemLocator@@@Z +??4?$AutoCleanup@V?$AutoRelease@UIWbemObjectTextSrc@@@@PAUIWbemObjectTextSrc@@@@QAAAAV?$AutoRelease@UIWbemObjectTextSrc@@@@PAUIWbemObjectTextSrc@@@Z +??4?$AutoCleanup@V?$AutoRelease@UIWbemPath@@@@PAUIWbemPath@@@@QAAAAV?$AutoRelease@UIWbemPath@@@@PAUIWbemPath@@@Z +??4?$AutoCleanup@V?$AutoRelease@UIWbemPathKeyList@@@@PAUIWbemPathKeyList@@@@QAAAAV?$AutoRelease@UIWbemPathKeyList@@@@PAUIWbemPathKeyList@@@Z +??4?$AutoCleanup@V?$AutoRelease@UIWbemQualifierSet@@@@PAUIWbemQualifierSet@@@@QAAAAV?$AutoRelease@UIWbemQualifierSet@@@@PAUIWbemQualifierSet@@@Z +??4?$AutoCleanup@V?$AutoRelease@UIWbemQuery@@@@PAUIWbemQuery@@@@QAAAAV?$AutoRelease@UIWbemQuery@@@@PAUIWbemQuery@@@Z +??4?$AutoCleanup@V?$AutoRelease@UIWbemServices@@@@PAUIWbemServices@@@@QAAAAV?$AutoRelease@UIWbemServices@@@@PAUIWbemServices@@@Z +??4?$AutoCleanup@V?$AutoRelease@VApplication@Client@WSMan@@@@PAVApplication@Client@WSMan@@@@QAAAAV?$AutoRelease@VApplication@Client@WSMan@@@@PAVApplication@Client@WSMan@@@Z +??4?$AutoCleanup@V?$AutoRelease@VCBaseConfigCache@@@@PAVCBaseConfigCache@@@@QAAAAV?$AutoRelease@VCBaseConfigCache@@@@PAVCBaseConfigCache@@@Z +??4?$AutoCleanup@V?$AutoRelease@VCClientConfigSettings@@@@PAVCClientConfigSettings@@@@QAAAAV?$AutoRelease@VCClientConfigSettings@@@@PAVCClientConfigSettings@@@Z +??4?$AutoCleanup@V?$AutoRelease@VCCommonConfigSettings@@@@PAVCCommonConfigSettings@@@@QAAAAV?$AutoRelease@VCCommonConfigSettings@@@@PAVCCommonConfigSettings@@@Z +??4?$AutoCleanup@V?$AutoRelease@VCConfigCacheMap@CBaseConfigCache@@@@PAVCConfigCacheMap@CBaseConfigCache@@@@QAAAAV?$AutoRelease@VCConfigCacheMap@CBaseConfigCache@@@@PAVCConfigCacheMap@CBaseConfigCache@@@Z +??4?$AutoCleanup@V?$AutoRelease@VCConfigManager@@@@PAVCConfigManager@@@@QAAAAV?$AutoRelease@VCConfigManager@@@@PAVCConfigManager@@@Z +??4?$AutoCleanup@V?$AutoRelease@VCRemoteOperation@@@@PAVCRemoteOperation@@@@QAAAAV?$AutoRelease@VCRemoteOperation@@@@PAVCRemoteOperation@@@Z +??4?$AutoCleanup@V?$AutoRelease@VCRemoteSession@@@@PAVCRemoteSession@@@@QAAAAV?$AutoRelease@VCRemoteSession@@@@PAVCRemoteSession@@@Z +??4?$AutoCleanup@V?$AutoRelease@VCRequestContext@@@@PAVCRequestContext@@@@QAAAAV?$AutoRelease@VCRequestContext@@@@PAVCRequestContext@@@Z +??4?$AutoCleanup@V?$AutoRelease@VCServiceCommonConfigSettings@@@@PAVCServiceCommonConfigSettings@@@@QAAAAV?$AutoRelease@VCServiceCommonConfigSettings@@@@PAVCServiceCommonConfigSettings@@@Z +??4?$AutoCleanup@V?$AutoRelease@VCServiceConfigCache@@@@PAVCServiceConfigCache@@@@QAAAAV?$AutoRelease@VCServiceConfigCache@@@@PAVCServiceConfigCache@@@Z +??4?$AutoCleanup@V?$AutoRelease@VCServiceConfigSettings@@@@PAVCServiceConfigSettings@@@@QAAAAV?$AutoRelease@VCServiceConfigSettings@@@@PAVCServiceConfigSettings@@@Z +??4?$AutoCleanup@V?$AutoRelease@VCWSManEPR@@@@PAVCWSManEPR@@@@QAAAAV?$AutoRelease@VCWSManEPR@@@@PAVCWSManEPR@@@Z +??4?$AutoCleanup@V?$AutoRelease@VCWSManGroupPolicyManager@@@@PAVCWSManGroupPolicyManager@@@@QAAAAV?$AutoRelease@VCWSManGroupPolicyManager@@@@PAVCWSManGroupPolicyManager@@@Z +??4?$AutoCleanup@V?$AutoRelease@VCWSManResource@@@@PAVCWSManResource@@@@QAAAAV?$AutoRelease@VCWSManResource@@@@PAVCWSManResource@@@Z +??4?$AutoCleanup@V?$AutoRelease@VCWinRSPluginConfigCache@@@@PAVCWinRSPluginConfigCache@@@@QAAAAV?$AutoRelease@VCWinRSPluginConfigCache@@@@PAVCWinRSPluginConfigCache@@@Z +??4?$AutoCleanup@V?$AutoRelease@VCWinRSPluginConfigSettings@@@@PAVCWinRSPluginConfigSettings@@@@QAAAAV?$AutoRelease@VCWinRSPluginConfigSettings@@@@PAVCWinRSPluginConfigSettings@@@Z +??4?$AutoCleanup@V?$AutoRelease@VEnumSinkEx@@@@PAVEnumSinkEx@@@@QAAAAV?$AutoRelease@VEnumSinkEx@@@@PAVEnumSinkEx@@@Z +??4?$AutoCleanup@V?$AutoRelease@VGeneralSinkEx@@@@PAVGeneralSinkEx@@@@QAAAAV?$AutoRelease@VGeneralSinkEx@@@@PAVGeneralSinkEx@@@Z +??4?$AutoCleanup@V?$AutoRelease@VIRequestContext@@@@PAVIRequestContext@@@@QAAAAV?$AutoRelease@VIRequestContext@@@@PAVIRequestContext@@@Z +??4?$AutoCleanup@V?$AutoRelease@VISubscription@@@@PAVISubscription@@@@QAAAAV?$AutoRelease@VISubscription@@@@PAVISubscription@@@Z +??4?$AutoCleanup@V?$AutoRelease@VInboundRequestDetails@@@@PAVInboundRequestDetails@@@@QAAAAV?$AutoRelease@VInboundRequestDetails@@@@PAVInboundRequestDetails@@@Z +??4?$AutoCleanup@V?$AutoRelease@VUserRecord@@@@PAVUserRecord@@@@QAAAAV?$AutoRelease@VUserRecord@@@@PAVUserRecord@@@Z +??4?$AutoCleanup@V?$AutoRelease@VWSManHttpListener@@@@PAVWSManHttpListener@@@@QAAAAV?$AutoRelease@VWSManHttpListener@@@@PAVWSManHttpListener@@@Z +??4?$AutoCleanup@V?$AutoReleaseEx@VShell@Client@WSMan@@@@PAVShell@Client@WSMan@@@@QAAAAV?$AutoReleaseEx@VShell@Client@WSMan@@@@PAVShell@Client@WSMan@@@Z +??4?$AutoCleanup@VAutoBstr@@PAG@@QAAAAVAutoBstr@@PAG@Z +??4?$AutoCleanup@VAutoBstrNoAlloc@@PAG@@QAAAAVAutoBstrNoAlloc@@PAG@Z +??4?$AutoCleanup@VAutoCertContext@@PBU_CERT_CONTEXT@@@@QAAAAVAutoCertContext@@PBU_CERT_CONTEXT@@@Z +??4?$AutoCleanup@VAutoChainContext@@PBU_CERT_CHAIN_CONTEXT@@@@QAAAAVAutoChainContext@@PBU_CERT_CHAIN_CONTEXT@@@Z +??4?$AutoCleanup@VAutoCoTaskMemFree@@PAX@@QAAAAVAutoCoTaskMemFree@@PAX@Z +??4?$AutoCleanup@VAutoEnvironmentBlock@@PAX@@QAAAAVAutoEnvironmentBlock@@PAX@Z +??4?$AutoCleanup@VAutoFwXmlCloseParser@@PAX@@QAAAAVAutoFwXmlCloseParser@@PAX@Z +??4?$AutoCleanup@VAutoHandle@@PAX@@QAAAAVAutoHandle@@PAX@Z +??4?$AutoCleanup@VAutoImpersonateUser@@PAX@@QAAAAVAutoImpersonateUser@@PAX@Z +??4?$AutoCleanup@VAutoLibrary@@PAUHINSTANCE__@@@@QAAAAVAutoLibrary@@PAUHINSTANCE__@@@Z +??4?$AutoCleanup@VAutoLocalFree@@PAX@@QAAAAVAutoLocalFree@@PAX@Z +??4?$AutoCleanup@VAutoMIClass@@PAU_MI_Class@@@@QAAAAVAutoMIClass@@PAU_MI_Class@@@Z +??4?$AutoCleanup@VAutoMIInstance@@PAU_MI_Instance@@@@QAAAAVAutoMIInstance@@PAU_MI_Instance@@@Z +??4?$AutoCleanup@VAutoObject@@PAUWSMAN_OBJECT@@@@QAAAAVAutoObject@@PAUWSMAN_OBJECT@@@Z +??4?$AutoCleanup@VAutoRegKey@@PAUHKEY__@@@@QAAAAVAutoRegKey@@PAUHKEY__@@@Z +??4?$AutoCleanup@VAutoSecurityDescriptor@@PAX@@QAAAAVAutoSecurityDescriptor@@PAX@Z +??4?$AutoCleanup@VAutoWaitHandle@@PAX@@QAAAAVAutoWaitHandle@@PAX@Z +??4?$AutoDelete@D@@QAAAAV0@PAD@Z +??4?$AutoDelete@G@@QAAAAV0@PAG@Z +??4?$AutoDelete@V?$SafeMap_Iterator@VStringKeyCI@@K@@@@QAAAAV0@PAV?$SafeMap_Iterator@VStringKeyCI@@K@@@Z +??4?$AutoDelete@V?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@@QAAAAV0@PAV?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@Z +??4?$AutoDelete@V?$SafeSet@PAVCCertMapping@@@@@@QAAAAV0@PAV?$SafeSet@PAVCCertMapping@@@@@Z +??4?$AutoDelete@V?$SafeSet@PAVCShellUriSettings@@@@@@QAAAAV0@PAV?$SafeSet@PAVCShellUriSettings@@@@@Z +??4?$AutoDelete@V?$SafeSet_Iterator@PAVCListenerOperation@@@@@@QAAAAV0@PAV?$SafeSet_Iterator@PAVCListenerOperation@@@@@Z +??4?$AutoDelete@V?$set@PAVCListenerSettings@@VCListenerSettingsLessFunctor@CServiceConfigSettings@@V?$transport_allocator@PAVCListenerSettings@@@@@std@@@@QAAAAV0@PAV?$set@PAVCListenerSettings@@VCListenerSettingsLessFunctor@CServiceConfigSettings@@V?$transport_allocator@PAVCListenerSettings@@@@@std@@@Z +??4?$AutoDelete@V?$set@Usockaddr_storage@@VSockAddrLessFunctor@CListenerSettings@@V?$transport_allocator@Usockaddr_storage@@@@@std@@@@QAAAAV0@PAV?$set@Usockaddr_storage@@VSockAddrLessFunctor@CListenerSettings@@V?$transport_allocator@Usockaddr_storage@@@@@std@@@Z +??4?$AutoDelete@V?$vector@PAVHandleImpl@Client@WSMan@@V?$transport_allocator@PAVHandleImpl@Client@WSMan@@@@@std@@@@QAAAAV0@PAV?$vector@PAVHandleImpl@Client@WSMan@@V?$transport_allocator@PAVHandleImpl@Client@WSMan@@@@@std@@@Z +??4?$AutoDelete@V?$vector@PAVIServiceConfigObserver@@V?$transport_allocator@PAVIServiceConfigObserver@@@@@std@@@@QAAAAV0@PAV?$vector@PAVIServiceConfigObserver@@V?$transport_allocator@PAVIServiceConfigObserver@@@@@std@@@Z +??4?$AutoDelete@VBlockedRecord@@@@QAAAAV0@PAVBlockedRecord@@@Z +??4?$AutoDelete@VCConfigChangeSource@@@@QAAAAV0@PAVCConfigChangeSource@@@Z +??4?$AutoDelete@VCObserverConfigChangeErrors@@@@QAAAAV0@PAVCObserverConfigChangeErrors@@@Z +??4?$AutoDelete@VCServiceWatcher@CServiceConfigCache@@@@QAAAAV0@PAVCServiceWatcher@CServiceConfigCache@@@Z +??4?$AutoDelete@VCWSManResource@@@@QAAAAV0@PAVCWSManResource@@@Z +??4?$AutoDelete@VCertHash@@@@QAAAAV0@PAVCertHash@@@Z +??4?$AutoDelete@VConfigUpdate@@@@QAAAAV0@PAVConfigUpdate@@@Z +??4?$AutoDelete@VEnumSinkEx@@@@QAAAAV0@PAVEnumSinkEx@@@Z +??4?$AutoDelete@VGPApiManager@@@@QAAAAV0@PAVGPApiManager@@@Z +??4?$AutoDelete@VGeneralSinkEx@@@@QAAAAV0@PAVGeneralSinkEx@@@Z +??4?$AutoDelete@VIChannelObserverFactory@@@@QAAAAV0@PAVIChannelObserverFactory@@@Z +??4?$AutoDelete@VIQueryDASHSMASHInterface@@@@QAAAAV0@PAVIQueryDASHSMASHInterface@@@Z +??4?$AutoDelete@VISpecification@@@@QAAAAV0@PAVISpecification@@@Z +??4?$AutoDelete@VPacketCreator@@@@QAAAAV0@PAVPacketCreator@@@Z +??4?$AutoDelete@VPacketParser@@@@QAAAAV0@PAVPacketParser@@@Z +??4?$AutoDelete@VRunAsConfiguration@@@@QAAAAV0@PAVRunAsConfiguration@@@Z +??4?$AutoDelete@VSecurityEntry@Catalog@@@@QAAAAV0@PAVSecurityEntry@Catalog@@@Z +??4?$AutoDelete@VServiceSoapProcessor@@@@QAAAAV0@PAVServiceSoapProcessor@@@Z +??4?$AutoDelete@VSubscriptionEnumerator@@@@QAAAAV0@PAVSubscriptionEnumerator@@@Z +??4?$AutoDelete@VTSTRBUFFER@@@@QAAAAV0@PAVTSTRBUFFER@@@Z +??4?$AutoDelete@VUniqueStringOverflow@@@@QAAAAV0@PAVUniqueStringOverflow@@@Z +??4?$AutoDelete@VWSMANCONFIGTABLE_IDENTITY@@@@QAAAAV0@PAVWSMANCONFIGTABLE_IDENTITY@@@Z +??4?$AutoDelete@VWmiEnumContext@@@@QAAAAV0@PAVWmiEnumContext@@@Z +??4?$AutoDelete@VXmlReader@@@@QAAAAV0@PAVXmlReader@@@Z +??4?$AutoDeleteVector@$$CBG@@QAAAAV0@PBG@Z +??4?$AutoDeleteVector@D@@QAAAAV0@PAD@Z +??4?$AutoDeleteVector@E@@QAAAAV0@PAE@Z +??4?$AutoDeleteVector@G@@QAAAAV0@PAG@Z +??4?$AutoDeleteVector@PAG@@QAAAAV0@PAPAG@Z +??4?$AutoDeleteVector@PBG@@QAAAAV0@PAPBG@Z +??4?$AutoDeleteVector@U_CONFIG_UPDATE@@@@QAAAAV0@PAU_CONFIG_UPDATE@@@Z +??4?$AutoDeleteVector@U_WINRS_CREATE_SHELL_ENVIRONMENT_VARIABLE@@@@QAAAAV0@PAU_WINRS_CREATE_SHELL_ENVIRONMENT_VARIABLE@@@Z +??4?$AutoDeleteVector@U_WINRS_RUN_COMMAND_ARG@@@@QAAAAV0@PAU_WINRS_RUN_COMMAND_ARG@@@Z +??4?$AutoDeleteVector@U_WSMAN_OPTION@@@@QAAAAV0@PAU_WSMAN_OPTION@@@Z +??4?$AutoDeleteVector@X@@QAAAAV0@PAX@Z +??4?$AutoFree@E@@QAAAAV0@PAE@Z +??4?$AutoLocklessItemRecycle@VPacket@@@@QAAAAV0@PAVPacket@@@Z +??4?$AutoRelease@UIClientSecurity@@@@QAAAAV0@PAUIClientSecurity@@@Z +??4?$AutoRelease@UIEnumWbemClassObject@@@@QAAAAV0@PAUIEnumWbemClassObject@@@Z +??4?$AutoRelease@UIErrorInfo@@@@QAAAAV0@PAUIErrorInfo@@@Z +??4?$AutoRelease@UIUnknown@@@@QAAAAV0@PAUIUnknown@@@Z +??4?$AutoRelease@UIWbemClassObject@@@@QAAAAV0@PAUIWbemClassObject@@@Z +??4?$AutoRelease@UIWbemContext@@@@QAAAAV0@PAUIWbemContext@@@Z +??4?$AutoRelease@UIWbemLocator@@@@QAAAAV0@PAUIWbemLocator@@@Z +??4?$AutoRelease@UIWbemObjectTextSrc@@@@QAAAAV0@PAUIWbemObjectTextSrc@@@Z +??4?$AutoRelease@UIWbemPath@@@@QAAAAV0@PAUIWbemPath@@@Z +??4?$AutoRelease@UIWbemPathKeyList@@@@QAAAAV0@PAUIWbemPathKeyList@@@Z +??4?$AutoRelease@UIWbemQualifierSet@@@@QAAAAV0@PAUIWbemQualifierSet@@@Z +??4?$AutoRelease@UIWbemQuery@@@@QAAAAV0@PAUIWbemQuery@@@Z +??4?$AutoRelease@UIWbemServices@@@@QAAAAV0@PAUIWbemServices@@@Z +??4?$AutoRelease@VApplication@Client@WSMan@@@@QAAAAV0@PAVApplication@Client@WSMan@@@Z +??4?$AutoRelease@VCBaseConfigCache@@@@QAAAAV0@PAVCBaseConfigCache@@@Z +??4?$AutoRelease@VCClientConfigSettings@@@@QAAAAV0@PAVCClientConfigSettings@@@Z +??4?$AutoRelease@VCCommonConfigSettings@@@@QAAAAV0@PAVCCommonConfigSettings@@@Z +??4?$AutoRelease@VCConfigCacheMap@CBaseConfigCache@@@@QAAAAV0@PAVCConfigCacheMap@CBaseConfigCache@@@Z +??4?$AutoRelease@VCConfigManager@@@@QAAAAV0@PAVCConfigManager@@@Z +??4?$AutoRelease@VCRemoteOperation@@@@QAAAAV0@PAVCRemoteOperation@@@Z +??4?$AutoRelease@VCRemoteSession@@@@QAAAAV0@PAVCRemoteSession@@@Z +??4?$AutoRelease@VCRequestContext@@@@QAAAAV0@PAVCRequestContext@@@Z +??4?$AutoRelease@VCServiceCommonConfigSettings@@@@QAAAAV0@PAVCServiceCommonConfigSettings@@@Z +??4?$AutoRelease@VCServiceConfigCache@@@@QAAAAV0@PAVCServiceConfigCache@@@Z +??4?$AutoRelease@VCServiceConfigSettings@@@@QAAAAV0@PAVCServiceConfigSettings@@@Z +??4?$AutoRelease@VCWSManEPR@@@@QAAAAV0@PAVCWSManEPR@@@Z +??4?$AutoRelease@VCWSManGroupPolicyManager@@@@QAAAAV0@PAVCWSManGroupPolicyManager@@@Z +??4?$AutoRelease@VCWSManResource@@@@QAAAAV0@PAVCWSManResource@@@Z +??4?$AutoRelease@VCWinRSPluginConfigCache@@@@QAAAAV0@PAVCWinRSPluginConfigCache@@@Z +??4?$AutoRelease@VCWinRSPluginConfigSettings@@@@QAAAAV0@PAVCWinRSPluginConfigSettings@@@Z +??4?$AutoRelease@VEnumSinkEx@@@@QAAAAV0@PAVEnumSinkEx@@@Z +??4?$AutoRelease@VGeneralSinkEx@@@@QAAAAV0@PAVGeneralSinkEx@@@Z +??4?$AutoRelease@VIRequestContext@@@@QAAAAV0@PAVIRequestContext@@@Z +??4?$AutoRelease@VISubscription@@@@QAAAAV0@PAVISubscription@@@Z +??4?$AutoRelease@VInboundRequestDetails@@@@QAAAAV0@PAVInboundRequestDetails@@@Z +??4?$AutoRelease@VUserRecord@@@@QAAAAV0@PAVUserRecord@@@Z +??4?$AutoRelease@VWSManHttpListener@@@@QAAAAV0@PAVWSManHttpListener@@@Z +??4?$AutoReleaseEx@VShell@Client@WSMan@@@@QAAAAV0@PAVShell@Client@WSMan@@@Z +??4?$PacketElement@K@PacketParser@@QAAAAV01@ABV01@@Z +??4?$PacketElement@PAU_FWXML_ELEMENT@@@PacketParser@@QAAAAV01@ABV01@@Z +??4?$PacketElement@PBG@PacketParser@@QAAAAV01@ABV01@@Z +??4?$PacketElement@_K@PacketParser@@QAAAAV01@ABV01@@Z +??4?$SimpleQueue@T_LARGE_INTEGER@@@@QAAAAV0@ABV0@@Z +??4AutoBstr@@QAAAAV0@PAG@Z +??4AutoBstrNoAlloc@@QAAAAV0@PAG@Z +??4AutoCertContext@@QAAAAV0@PBU_CERT_CONTEXT@@@Z +??4AutoChainContext@@QAAAAV0@PBU_CERT_CHAIN_CONTEXT@@@Z +??4AutoCoTaskMemFree@@QAAAAV0@PAX@Z +??4AutoEnvironmentBlock@@QAAAAV0@PAX@Z +??4AutoFwXmlCloseParser@@QAAAAV0@PAX@Z +??4AutoHandle@@QAAAAV0@PAX@Z +??4AutoImpersonateUser@@QAAAAV0@PAX@Z +??4AutoLibrary@@QAAAAV0@PAUHINSTANCE__@@@Z +??4AutoLocalFree@@QAAAAV0@PAX@Z +??4AutoMIClass@@QAAAAV0@PAU_MI_Class@@@Z +??4AutoMIInstance@@QAAAAV0@PAU_MI_Instance@@@Z +??4AutoObject@@QAAAAV0@PAUWSMAN_OBJECT@@@Z +??4AutoRegKey@@QAAAAV0@PAUHKEY__@@@Z +??4AutoSecurityDescriptor@@QAAAAV0@PAX@Z +??4AutoWaitHandle@@QAAAAV0@PAX@Z +??4ChildLifeTimeManager@@QAAAAV0@ABV0@@Z +??4ConfigRegistry@@QAAAAV0@ABV0@@Z +??4EtwCorrelationHelper@@QAAAAV0@ABV0@@Z +??4EventLog@@QAAAAV0@ABV0@@Z +??4ExtendedSemantic@@QAAAAV0@ABV0@@Z +??4FastLock@@QAAAAV0@ABV0@@Z +??4Fragment@PacketParser@@QAAAAV01@ABV01@@Z +??4IConfigChangeObserver@@QAAAAV0@ABV0@@Z +??4ILifeTimeMgmt@@QAAAAV0@ABV0@@Z +??4IWSManGroupPolicyObserver@@QAAAAV0@ABV0@@Z +??4IWSManGroupPolicyPublisher@@QAAAAV0@ABV0@@Z +??4Locale@@QAAAAV0@ABV0@@Z +??4NotUnderstandSoapHeader@PacketParser@@QAAAAV01@ABV01@@Z +??4PacketFormatter@@QAAAAV0@ABV0@@Z +??4RBUFFER@@QAAAAV0@ABV0@@Z +??4SBUFFER@@QAAAAV0@ABV0@@Z +??4SessionId@PacketParser@@QAAAAV01@ABV01@@Z +??4SoapSemanticConverter@@QAAAAV0@ABV0@@Z +??4UserAuthzRecord@@QAAAAV0@ABV0@@Z +??6BufferFormatter@@UAAAAV0@AAVBufferFormatterDataFormatDWORD@@@Z +??6BufferFormatter@@UAAAAV0@AAVBufferFormatterDataFormatULONGLONG@@@Z +??6BufferFormatter@@UAAAAV0@AAVBufferFormatterDataPCWSTR@@@Z +??6BufferFormatter@@UAAAAV0@AAVBufferFormatterDataPUCHAR@@@Z +??6BufferFormatter@@UAAAAV0@AAVBufferFormatterDataXmlEscape@@@Z +??6BufferFormatter@@UAAAAV0@K@Z +??6BufferFormatter@@UAAAAV0@PAU_FWXML_ELEMENT@@@Z +??7?$AutoCleanup@V?$AutoDelete@G@@PAG@@QBA_NXZ +??7?$AutoCleanup@V?$AutoDelete@V?$SafeSet@PAVCCertMapping@@@@@@PAV?$SafeSet@PAVCCertMapping@@@@@@QBA_NXZ +??7?$AutoCleanup@V?$AutoDelete@V?$SafeSet@PAVCShellUriSettings@@@@@@PAV?$SafeSet@PAVCShellUriSettings@@@@@@QBA_NXZ +??7?$AutoCleanup@V?$AutoDelete@V?$set@PAVCListenerSettings@@VCListenerSettingsLessFunctor@CServiceConfigSettings@@V?$transport_allocator@PAVCListenerSettings@@@@@std@@@@PAV?$set@PAVCListenerSettings@@VCListenerSettingsLessFunctor@CServiceConfigSettings@@V?$transport_allocator@PAVCListenerSettings@@@@@std@@@@QBA_NXZ +??7?$AutoCleanup@V?$AutoDelete@VConfigUpdate@@@@PAVConfigUpdate@@@@QBA_NXZ +??7?$AutoCleanup@V?$AutoDelete@VEnumSinkEx@@@@PAVEnumSinkEx@@@@QBA_NXZ +??7?$AutoCleanup@V?$AutoDelete@VGeneralSinkEx@@@@PAVGeneralSinkEx@@@@QBA_NXZ +??7?$AutoCleanup@V?$AutoDelete@VIQueryDASHSMASHInterface@@@@PAVIQueryDASHSMASHInterface@@@@QBA_NXZ +??7?$AutoCleanup@V?$AutoDelete@VISpecification@@@@PAVISpecification@@@@QBA_NXZ +??7?$AutoCleanup@V?$AutoDelete@VRunAsConfiguration@@@@PAVRunAsConfiguration@@@@QBA_NXZ +??7?$AutoCleanup@V?$AutoDelete@VSubscriptionEnumerator@@@@PAVSubscriptionEnumerator@@@@QBA_NXZ +??7?$AutoCleanup@V?$AutoDelete@VTSTRBUFFER@@@@PAVTSTRBUFFER@@@@QBA_NXZ +??7?$AutoCleanup@V?$AutoDelete@VWmiEnumContext@@@@PAVWmiEnumContext@@@@QBA_NXZ +??7?$AutoCleanup@V?$AutoDeleteVector@D@@PAD@@QBA_NXZ +??7?$AutoCleanup@V?$AutoDeleteVector@E@@PAE@@QBA_NXZ +??7?$AutoCleanup@V?$AutoDeleteVector@G@@PAG@@QBA_NXZ +??7?$AutoCleanup@V?$AutoDeleteVector@PAG@@PAPAG@@QBA_NXZ +??7?$AutoCleanup@V?$AutoDeleteVector@PBG@@PAPBG@@QBA_NXZ +??7?$AutoCleanup@V?$AutoDeleteVector@U_WINRS_CREATE_SHELL_ENVIRONMENT_VARIABLE@@@@PAU_WINRS_CREATE_SHELL_ENVIRONMENT_VARIABLE@@@@QBA_NXZ +??7?$AutoCleanup@V?$AutoDeleteVector@U_WINRS_RUN_COMMAND_ARG@@@@PAU_WINRS_RUN_COMMAND_ARG@@@@QBA_NXZ +??7?$AutoCleanup@V?$AutoDeleteVector@X@@PAX@@QBA_NXZ +??7?$AutoCleanup@V?$AutoRelease@UIClientSecurity@@@@PAUIClientSecurity@@@@QBA_NXZ +??7?$AutoCleanup@V?$AutoRelease@UIEnumWbemClassObject@@@@PAUIEnumWbemClassObject@@@@QBA_NXZ +??7?$AutoCleanup@V?$AutoRelease@UIErrorInfo@@@@PAUIErrorInfo@@@@QBA_NXZ +??7?$AutoCleanup@V?$AutoRelease@UIUnknown@@@@PAUIUnknown@@@@QBA_NXZ +??7?$AutoCleanup@V?$AutoRelease@UIWbemClassObject@@@@PAUIWbemClassObject@@@@QBA_NXZ +??7?$AutoCleanup@V?$AutoRelease@UIWbemContext@@@@PAUIWbemContext@@@@QBA_NXZ +??7?$AutoCleanup@V?$AutoRelease@UIWbemLocator@@@@PAUIWbemLocator@@@@QBA_NXZ +??7?$AutoCleanup@V?$AutoRelease@UIWbemObjectTextSrc@@@@PAUIWbemObjectTextSrc@@@@QBA_NXZ +??7?$AutoCleanup@V?$AutoRelease@UIWbemPath@@@@PAUIWbemPath@@@@QBA_NXZ +??7?$AutoCleanup@V?$AutoRelease@UIWbemPathKeyList@@@@PAUIWbemPathKeyList@@@@QBA_NXZ +??7?$AutoCleanup@V?$AutoRelease@UIWbemQualifierSet@@@@PAUIWbemQualifierSet@@@@QBA_NXZ +??7?$AutoCleanup@V?$AutoRelease@UIWbemQuery@@@@PAUIWbemQuery@@@@QBA_NXZ +??7?$AutoCleanup@V?$AutoRelease@UIWbemServices@@@@PAUIWbemServices@@@@QBA_NXZ +??7?$AutoCleanup@V?$AutoRelease@VCClientConfigSettings@@@@PAVCClientConfigSettings@@@@QBA_NXZ +??7?$AutoCleanup@V?$AutoRelease@VCConfigManager@@@@PAVCConfigManager@@@@QBA_NXZ +??7?$AutoCleanup@V?$AutoRelease@VCRemoteSession@@@@PAVCRemoteSession@@@@QBA_NXZ +??7?$AutoCleanup@V?$AutoRelease@VCRequestContext@@@@PAVCRequestContext@@@@QBA_NXZ +??7?$AutoCleanup@V?$AutoRelease@VCWSManEPR@@@@PAVCWSManEPR@@@@QBA_NXZ +??7?$AutoCleanup@V?$AutoRelease@VCWSManResource@@@@PAVCWSManResource@@@@QBA_NXZ +??7?$AutoCleanup@V?$AutoRelease@VCWinRSPluginConfigCache@@@@PAVCWinRSPluginConfigCache@@@@QBA_NXZ +??7?$AutoCleanup@V?$AutoRelease@VEnumSinkEx@@@@PAVEnumSinkEx@@@@QBA_NXZ +??7?$AutoCleanup@V?$AutoRelease@VGeneralSinkEx@@@@PAVGeneralSinkEx@@@@QBA_NXZ +??7?$AutoCleanup@V?$AutoRelease@VIRequestContext@@@@PAVIRequestContext@@@@QBA_NXZ +??7?$AutoCleanup@V?$AutoRelease@VInboundRequestDetails@@@@PAVInboundRequestDetails@@@@QBA_NXZ +??7?$AutoCleanup@VAutoBstrNoAlloc@@PAG@@QBA_NXZ +??7?$AutoCleanup@VAutoCertContext@@PBU_CERT_CONTEXT@@@@QBA_NXZ +??7?$AutoCleanup@VAutoHandle@@PAX@@QBA_NXZ +??7?$AutoCleanup@VAutoImpersonateUser@@PAX@@QBA_NXZ +??7?$AutoCleanup@VAutoMIClass@@PAU_MI_Class@@@@QBA_NXZ +??7?$AutoCleanup@VAutoRegKey@@PAUHKEY__@@@@QBA_NXZ +??7?$AutoCleanup@VAutoSecurityDescriptor@@PAX@@QBA_NXZ +??A?$SafeMap@UPluginKey@@KV?$SafeMap_Iterator@UPluginKey@@K@@@@QAAPAKABUPluginKey@@@Z +??A?$SafeMap@UUserKey@@PAVBlockedRecord@@V?$SafeMap_Iterator@UUserKey@@PAVBlockedRecord@@@@@@QAAPAPAVBlockedRecord@@ABUUserKey@@@Z +??A?$SafeMap@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@V?$SafeMap_Iterator@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@@@@@QAAPAVCertThumbprintMappedSet@CServiceConfigSettings@@ABVCertThumbprintKey@@@Z +??A?$SafeMap@VStringKeyCI@@KV?$SafeMap_Iterator@VStringKeyCI@@K@@@@QAAPAKABVStringKeyCI@@@Z +??A?$SafeMap@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@V?$SafeMap_Iterator@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@@@@@QAAPAUUSER_CONTEXT_INFO@WSManHttpListener@@ABVStringKeyCI@@@Z +??A?$SafeMap@VStringKeyStore@@PAVExpiredOperationIdRecord@@V?$SafeMap_Iterator@VStringKeyStore@@PAVExpiredOperationIdRecord@@@@@@QAAPAPAVExpiredOperationIdRecord@@ABVStringKeyStore@@@Z +??A?$SafeMap@VStringKeyStore@@PAVServerFullDuplexChannel@@V?$SafeMap_Iterator@VStringKeyStore@@PAVServerFullDuplexChannel@@@@@@QAAPAPAVServerFullDuplexChannel@@ABVStringKeyStore@@@Z +??A?$SafeMap@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@V?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@@QAAPAPAVOptionValue@SessionOptions@Client@WSMan@@ABW4WSManSessionOption@@@Z +??A?$SafeMap@_KPAVSendPacketArgs@RobustConnectionBuffer@@V?$SafeMap_Iterator@_KPAVSendPacketArgs@RobustConnectionBuffer@@@@@@QAAPAPAVSendPacketArgs@RobustConnectionBuffer@@AB_K@Z +??A?$SafeSet@PAX@@QBAPBQAXABQAX@Z +??B?$AutoCleanup@V?$AutoDelete@D@@PAD@@QAAPADXZ +??B?$AutoCleanup@V?$AutoDelete@G@@PAG@@QAAPAGXZ +??B?$AutoCleanup@V?$AutoDelete@G@@PAG@@QBAQAGXZ +??B?$AutoCleanup@V?$AutoDelete@UIPRange@CWSManIPFilter@@@@PAUIPRange@CWSManIPFilter@@@@QAAPAUIPRange@CWSManIPFilter@@XZ +??B?$AutoCleanup@V?$AutoDelete@U_SID@@@@PAU_SID@@@@QAAPAU_SID@@XZ +??B?$AutoCleanup@V?$AutoDelete@U_WSMAN_STREAM_ID_SET@@@@PAU_WSMAN_STREAM_ID_SET@@@@QAAPAU_WSMAN_STREAM_ID_SET@@XZ +??B?$AutoCleanup@V?$AutoDelete@V?$Handle@VISubscription@@@@@@PAV?$Handle@VISubscription@@@@@@QAAPAV?$Handle@VISubscription@@@@XZ +??B?$AutoCleanup@V?$AutoDelete@V?$SafeMap_Iterator@VStringKeyCI@@K@@@@PAV?$SafeMap_Iterator@VStringKeyCI@@K@@@@QAAPAV?$SafeMap_Iterator@VStringKeyCI@@K@@XZ +??B?$AutoCleanup@V?$AutoDelete@V?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@@PAV?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@@QAAPAV?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@XZ +??B?$AutoCleanup@V?$AutoDelete@V?$SafeSet@PAVCCertMapping@@@@@@PAV?$SafeSet@PAVCCertMapping@@@@@@QAAPAV?$SafeSet@PAVCCertMapping@@@@XZ +??B?$AutoCleanup@V?$AutoDelete@V?$SafeSet@PAVCShellUriSettings@@@@@@PAV?$SafeSet@PAVCShellUriSettings@@@@@@QAAPAV?$SafeSet@PAVCShellUriSettings@@@@XZ +??B?$AutoCleanup@V?$AutoDelete@V?$SafeSet_Iterator@PAVCListenerOperation@@@@@@PAV?$SafeSet_Iterator@PAVCListenerOperation@@@@@@QAAPAV?$SafeSet_Iterator@PAVCListenerOperation@@@@XZ +??B?$AutoCleanup@V?$AutoDelete@V?$set@PAVCListenerSettings@@VCListenerSettingsLessFunctor@CServiceConfigSettings@@V?$transport_allocator@PAVCListenerSettings@@@@@std@@@@PAV?$set@PAVCListenerSettings@@VCListenerSettingsLessFunctor@CServiceConfigSettings@@V?$transport_allocator@PAVCListenerSettings@@@@@std@@@@QAAPAV?$set@PAVCListenerSettings@@VCListenerSettingsLessFunctor@CServiceConfigSettings@@V?$transport_allocator@PAVCListenerSettings@@@@@std@@XZ +??B?$AutoCleanup@V?$AutoDelete@V?$set@Usockaddr_storage@@VSockAddrLessFunctor@CListenerSettings@@V?$transport_allocator@Usockaddr_storage@@@@@std@@@@PAV?$set@Usockaddr_storage@@VSockAddrLessFunctor@CListenerSettings@@V?$transport_allocator@Usockaddr_storage@@@@@std@@@@QAAPAV?$set@Usockaddr_storage@@VSockAddrLessFunctor@CListenerSettings@@V?$transport_allocator@Usockaddr_storage@@@@@std@@XZ +??B?$AutoCleanup@V?$AutoDelete@V?$vector@PAVHandleImpl@Client@WSMan@@V?$transport_allocator@PAVHandleImpl@Client@WSMan@@@@@std@@@@PAV?$vector@PAVHandleImpl@Client@WSMan@@V?$transport_allocator@PAVHandleImpl@Client@WSMan@@@@@std@@@@QAAPAV?$vector@PAVHandleImpl@Client@WSMan@@V?$transport_allocator@PAVHandleImpl@Client@WSMan@@@@@std@@XZ +??B?$AutoCleanup@V?$AutoDelete@V?$vector@PAVHandleImpl@Client@WSMan@@V?$transport_allocator@PAVHandleImpl@Client@WSMan@@@@@std@@@@PAV?$vector@PAVHandleImpl@Client@WSMan@@V?$transport_allocator@PAVHandleImpl@Client@WSMan@@@@@std@@@@QBAQAV?$vector@PAVHandleImpl@Client@WSMan@@V?$transport_allocator@PAVHandleImpl@Client@WSMan@@@@@std@@XZ +??B?$AutoCleanup@V?$AutoDelete@V?$vector@PAVIServiceConfigObserver@@V?$transport_allocator@PAVIServiceConfigObserver@@@@@std@@@@PAV?$vector@PAVIServiceConfigObserver@@V?$transport_allocator@PAVIServiceConfigObserver@@@@@std@@@@QAAPAV?$vector@PAVIServiceConfigObserver@@V?$transport_allocator@PAVIServiceConfigObserver@@@@@std@@XZ +??B?$AutoCleanup@V?$AutoDelete@VAdminSid@CSecurity@@@@PAVAdminSid@CSecurity@@@@QAAPAVAdminSid@CSecurity@@XZ +??B?$AutoCleanup@V?$AutoDelete@VBlockedRecord@@@@PAVBlockedRecord@@@@QAAPAVBlockedRecord@@XZ +??B?$AutoCleanup@V?$AutoDelete@VCBaseConfigCache@@@@PAVCBaseConfigCache@@@@QAAPAVCBaseConfigCache@@XZ +??B?$AutoCleanup@V?$AutoDelete@VCCertMapping@@@@PAVCCertMapping@@@@QAAPAVCCertMapping@@XZ +??B?$AutoCleanup@V?$AutoDelete@VCConfigChangeSource@@@@PAVCConfigChangeSource@@@@QAAPAVCConfigChangeSource@@XZ +??B?$AutoCleanup@V?$AutoDelete@VCListenerSettings@@@@PAVCListenerSettings@@@@QAAPAVCListenerSettings@@XZ +??B?$AutoCleanup@V?$AutoDelete@VCObserverConfigChangeErrors@@@@PAVCObserverConfigChangeErrors@@@@QAAPAVCObserverConfigChangeErrors@@XZ +??B?$AutoCleanup@V?$AutoDelete@VCServiceWatcher@CServiceConfigCache@@@@PAVCServiceWatcher@CServiceConfigCache@@@@QAAPAVCServiceWatcher@CServiceConfigCache@@XZ +??B?$AutoCleanup@V?$AutoDelete@VCShellUriSettings@@@@PAVCShellUriSettings@@@@QAAPAVCShellUriSettings@@XZ +??B?$AutoCleanup@V?$AutoDelete@VCWSManEPR@@@@PAVCWSManEPR@@@@QAAPAVCWSManEPR@@XZ +??B?$AutoCleanup@V?$AutoDelete@VCWSManResource@@@@PAVCWSManResource@@@@QAAPAVCWSManResource@@XZ +??B?$AutoCleanup@V?$AutoDelete@VCertHash@@@@PAVCertHash@@@@QAAPAVCertHash@@XZ +??B?$AutoCleanup@V?$AutoDelete@VConfigUpdate@@@@PAVConfigUpdate@@@@QAAPAVConfigUpdate@@XZ +??B?$AutoCleanup@V?$AutoDelete@VCredUIDllLoader@@@@PAVCredUIDllLoader@@@@QAAPAVCredUIDllLoader@@XZ +??B?$AutoCleanup@V?$AutoDelete@VEnumSinkEx@@@@PAVEnumSinkEx@@@@QAAPAVEnumSinkEx@@XZ +??B?$AutoCleanup@V?$AutoDelete@VEnumSinkEx@@@@PAVEnumSinkEx@@@@QBAQAVEnumSinkEx@@XZ +??B?$AutoCleanup@V?$AutoDelete@VEventHandler@WSMan@@@@PAVEventHandler@WSMan@@@@QAAPAVEventHandler@WSMan@@XZ +??B?$AutoCleanup@V?$AutoDelete@VExpiredOperationIdRecord@@@@PAVExpiredOperationIdRecord@@@@QAAPAVExpiredOperationIdRecord@@XZ +??B?$AutoCleanup@V?$AutoDelete@VGPApiManager@@@@PAVGPApiManager@@@@QAAPAVGPApiManager@@XZ +??B?$AutoCleanup@V?$AutoDelete@VGeneralSinkEx@@@@PAVGeneralSinkEx@@@@QAAPAVGeneralSinkEx@@XZ +??B?$AutoCleanup@V?$AutoDelete@VGeneralSinkEx@@@@PAVGeneralSinkEx@@@@QBAQAVGeneralSinkEx@@XZ +??B?$AutoCleanup@V?$AutoDelete@VIChannelObserverFactory@@@@PAVIChannelObserverFactory@@@@QAAPAVIChannelObserverFactory@@XZ +??B?$AutoCleanup@V?$AutoDelete@VIQueryDASHSMASHInterface@@@@PAVIQueryDASHSMASHInterface@@@@QAAPAVIQueryDASHSMASHInterface@@XZ +??B?$AutoCleanup@V?$AutoDelete@VIQueryDASHSMASHInterface@@@@PAVIQueryDASHSMASHInterface@@@@QBAQAVIQueryDASHSMASHInterface@@XZ +??B?$AutoCleanup@V?$AutoDelete@VISpecification@@@@PAVISpecification@@@@QAAPAVISpecification@@XZ +??B?$AutoCleanup@V?$AutoDelete@VISpecification@@@@PAVISpecification@@@@QBAQAVISpecification@@XZ +??B?$AutoCleanup@V?$AutoDelete@VInteractiveSid@CSecurity@@@@PAVInteractiveSid@CSecurity@@@@QAAPAVInteractiveSid@CSecurity@@XZ +??B?$AutoCleanup@V?$AutoDelete@VIpHlpApiDllLoader@@@@PAVIpHlpApiDllLoader@@@@QAAPAVIpHlpApiDllLoader@@XZ +??B?$AutoCleanup@V?$AutoDelete@VMachineName@@@@PAVMachineName@@@@QAAPAVMachineName@@XZ +??B?$AutoCleanup@V?$AutoDelete@VNetworkServiceSid@CSecurity@@@@PAVNetworkServiceSid@CSecurity@@@@QAAPAVNetworkServiceSid@CSecurity@@XZ +??B?$AutoCleanup@V?$AutoDelete@VNtDsApiDllLoader@@@@PAVNtDsApiDllLoader@@@@QAAPAVNtDsApiDllLoader@@XZ +??B?$AutoCleanup@V?$AutoDelete@VOptionValue@SessionOptions@Client@WSMan@@@@PAVOptionValue@SessionOptions@Client@WSMan@@@@QAAPAVOptionValue@SessionOptions@Client@WSMan@@XZ +??B?$AutoCleanup@V?$AutoDelete@VPacketCreator@@@@PAVPacketCreator@@@@QAAPAVPacketCreator@@XZ +??B?$AutoCleanup@V?$AutoDelete@VPacketParser@@@@PAVPacketParser@@@@QAAPAVPacketParser@@XZ +??B?$AutoCleanup@V?$AutoDelete@VResources@Locale@@@@PAVResources@Locale@@@@QAAPAVResources@Locale@@XZ +??B?$AutoCleanup@V?$AutoDelete@VSecurityEntry@Catalog@@@@PAVSecurityEntry@Catalog@@@@QAAPAVSecurityEntry@Catalog@@XZ +??B?$AutoCleanup@V?$AutoDelete@VServiceSoapProcessor@@@@PAVServiceSoapProcessor@@@@QAAPAVServiceSoapProcessor@@XZ +??B?$AutoCleanup@V?$AutoDelete@VShell32DllLoader@@@@PAVShell32DllLoader@@@@QAAPAVShell32DllLoader@@XZ +??B?$AutoCleanup@V?$AutoDelete@VShlWApiDllLoader@@@@PAVShlWApiDllLoader@@@@QAAPAVShlWApiDllLoader@@XZ +??B?$AutoCleanup@V?$AutoDelete@VSubscriptionManager@@@@PAVSubscriptionManager@@@@QAAPAVSubscriptionManager@@XZ +??B?$AutoCleanup@V?$AutoDelete@VTSTRBUFFER@@@@PAVTSTRBUFFER@@@@QAAPAVTSTRBUFFER@@XZ +??B?$AutoCleanup@V?$AutoDelete@VTSTRBUFFER@@@@PAVTSTRBUFFER@@@@QBAQAVTSTRBUFFER@@XZ +??B?$AutoCleanup@V?$AutoDelete@VUniqueStringOverflow@@@@PAVUniqueStringOverflow@@@@QAAPAVUniqueStringOverflow@@XZ +??B?$AutoCleanup@V?$AutoDelete@VUser32DllLoader@@@@PAVUser32DllLoader@@@@QAAPAVUser32DllLoader@@XZ +??B?$AutoCleanup@V?$AutoDelete@VWSMANCONFIGTABLE_IDENTITY@@@@PAVWSMANCONFIGTABLE_IDENTITY@@@@QAAPAVWSMANCONFIGTABLE_IDENTITY@@XZ +??B?$AutoCleanup@V?$AutoDelete@VWSManMemCryptManager@@@@PAVWSManMemCryptManager@@@@QAAPAVWSManMemCryptManager@@XZ +??B?$AutoCleanup@V?$AutoDelete@VWmiEnumContext@@@@PAVWmiEnumContext@@@@QAAPAVWmiEnumContext@@XZ +??B?$AutoCleanup@V?$AutoDelete@VWmiEnumContext@@@@PAVWmiEnumContext@@@@QBAQAVWmiEnumContext@@XZ +??B?$AutoCleanup@V?$AutoDelete@VXmlReader@@@@PAVXmlReader@@@@QAAPAVXmlReader@@XZ +??B?$AutoCleanup@V?$AutoDeleteVector@$$CBG@@PBG@@QAAPBGXZ +??B?$AutoCleanup@V?$AutoDeleteVector@D@@PAD@@QAAPADXZ +??B?$AutoCleanup@V?$AutoDeleteVector@E@@PAE@@QAAPAEXZ +??B?$AutoCleanup@V?$AutoDeleteVector@E@@PAE@@QBAQAEXZ +??B?$AutoCleanup@V?$AutoDeleteVector@G@@PAG@@QAAPAGXZ +??B?$AutoCleanup@V?$AutoDeleteVector@G@@PAG@@QBAQAGXZ +??B?$AutoCleanup@V?$AutoDeleteVector@H@@PAH@@QAAPAHXZ +??B?$AutoCleanup@V?$AutoDeleteVector@PAG@@PAPAG@@QAAPAPAGXZ +??B?$AutoCleanup@V?$AutoDeleteVector@PAG@@PAPAG@@QBAQAPAGXZ +??B?$AutoCleanup@V?$AutoDeleteVector@PBG@@PAPBG@@QAAPAPBGXZ +??B?$AutoCleanup@V?$AutoDeleteVector@PBG@@PAPBG@@QBAQAPBGXZ +??B?$AutoCleanup@V?$AutoDeleteVector@U_CONFIG_UPDATE@@@@PAU_CONFIG_UPDATE@@@@QAAPAU_CONFIG_UPDATE@@XZ +??B?$AutoCleanup@V?$AutoDeleteVector@U_WINRS_CREATE_SHELL_ENVIRONMENT_VARIABLE@@@@PAU_WINRS_CREATE_SHELL_ENVIRONMENT_VARIABLE@@@@QAAPAU_WINRS_CREATE_SHELL_ENVIRONMENT_VARIABLE@@XZ +??B?$AutoCleanup@V?$AutoDeleteVector@U_WINRS_CREATE_SHELL_ENVIRONMENT_VARIABLE@@@@PAU_WINRS_CREATE_SHELL_ENVIRONMENT_VARIABLE@@@@QBAQAU_WINRS_CREATE_SHELL_ENVIRONMENT_VARIABLE@@XZ +??B?$AutoCleanup@V?$AutoDeleteVector@U_WINRS_RUN_COMMAND_ARG@@@@PAU_WINRS_RUN_COMMAND_ARG@@@@QAAPAU_WINRS_RUN_COMMAND_ARG@@XZ +??B?$AutoCleanup@V?$AutoDeleteVector@U_WINRS_RUN_COMMAND_ARG@@@@PAU_WINRS_RUN_COMMAND_ARG@@@@QBAQAU_WINRS_RUN_COMMAND_ARG@@XZ +??B?$AutoCleanup@V?$AutoDeleteVector@U_WSMAN_OPTION@@@@PAU_WSMAN_OPTION@@@@QAAPAU_WSMAN_OPTION@@XZ +??B?$AutoCleanup@V?$AutoDeleteVector@X@@PAX@@QAAPAXXZ +??B?$AutoCleanup@V?$AutoFree@E@@PAE@@QAAPAEXZ +??B?$AutoCleanup@V?$AutoFree@E@@PAE@@QBAQAEXZ +??B?$AutoCleanup@V?$AutoLocklessItemRecycle@VPacket@@@@PAVPacket@@@@QAAPAVPacket@@XZ +??B?$AutoCleanup@V?$AutoRelease@UIAppHostChildElementCollection@@@@PAUIAppHostChildElementCollection@@@@QAAPAUIAppHostChildElementCollection@@XZ +??B?$AutoCleanup@V?$AutoRelease@UIAppHostElement@@@@PAUIAppHostElement@@@@QAAPAUIAppHostElement@@XZ +??B?$AutoCleanup@V?$AutoRelease@UIAppHostElementCollection@@@@PAUIAppHostElementCollection@@@@QAAPAUIAppHostElementCollection@@XZ +??B?$AutoCleanup@V?$AutoRelease@UIClientSecurity@@@@PAUIClientSecurity@@@@QAAPAUIClientSecurity@@XZ +??B?$AutoCleanup@V?$AutoRelease@UIClientSecurity@@@@PAUIClientSecurity@@@@QBAQAUIClientSecurity@@XZ +??B?$AutoCleanup@V?$AutoRelease@UIEnumWbemClassObject@@@@PAUIEnumWbemClassObject@@@@QAAPAUIEnumWbemClassObject@@XZ +??B?$AutoCleanup@V?$AutoRelease@UIEnumWbemClassObject@@@@PAUIEnumWbemClassObject@@@@QBAQAUIEnumWbemClassObject@@XZ +??B?$AutoCleanup@V?$AutoRelease@UIErrorInfo@@@@PAUIErrorInfo@@@@QAAPAUIErrorInfo@@XZ +??B?$AutoCleanup@V?$AutoRelease@UIErrorInfo@@@@PAUIErrorInfo@@@@QBAQAUIErrorInfo@@XZ +??B?$AutoCleanup@V?$AutoRelease@UIUnknown@@@@PAUIUnknown@@@@QAAPAUIUnknown@@XZ +??B?$AutoCleanup@V?$AutoRelease@UIUnknown@@@@PAUIUnknown@@@@QBAQAUIUnknown@@XZ +??B?$AutoCleanup@V?$AutoRelease@UIWbemClassObject@@@@PAUIWbemClassObject@@@@QAAPAUIWbemClassObject@@XZ +??B?$AutoCleanup@V?$AutoRelease@UIWbemClassObject@@@@PAUIWbemClassObject@@@@QBAQAUIWbemClassObject@@XZ +??B?$AutoCleanup@V?$AutoRelease@UIWbemContext@@@@PAUIWbemContext@@@@QAAPAUIWbemContext@@XZ +??B?$AutoCleanup@V?$AutoRelease@UIWbemContext@@@@PAUIWbemContext@@@@QBAQAUIWbemContext@@XZ +??B?$AutoCleanup@V?$AutoRelease@UIWbemLocator@@@@PAUIWbemLocator@@@@QAAPAUIWbemLocator@@XZ +??B?$AutoCleanup@V?$AutoRelease@UIWbemLocator@@@@PAUIWbemLocator@@@@QBAQAUIWbemLocator@@XZ +??B?$AutoCleanup@V?$AutoRelease@UIWbemObjectTextSrc@@@@PAUIWbemObjectTextSrc@@@@QAAPAUIWbemObjectTextSrc@@XZ +??B?$AutoCleanup@V?$AutoRelease@UIWbemObjectTextSrc@@@@PAUIWbemObjectTextSrc@@@@QBAQAUIWbemObjectTextSrc@@XZ +??B?$AutoCleanup@V?$AutoRelease@UIWbemPath@@@@PAUIWbemPath@@@@QAAPAUIWbemPath@@XZ +??B?$AutoCleanup@V?$AutoRelease@UIWbemPath@@@@PAUIWbemPath@@@@QBAQAUIWbemPath@@XZ +??B?$AutoCleanup@V?$AutoRelease@UIWbemPathKeyList@@@@PAUIWbemPathKeyList@@@@QAAPAUIWbemPathKeyList@@XZ +??B?$AutoCleanup@V?$AutoRelease@UIWbemPathKeyList@@@@PAUIWbemPathKeyList@@@@QBAQAUIWbemPathKeyList@@XZ +??B?$AutoCleanup@V?$AutoRelease@UIWbemQualifierSet@@@@PAUIWbemQualifierSet@@@@QAAPAUIWbemQualifierSet@@XZ +??B?$AutoCleanup@V?$AutoRelease@UIWbemQualifierSet@@@@PAUIWbemQualifierSet@@@@QBAQAUIWbemQualifierSet@@XZ +??B?$AutoCleanup@V?$AutoRelease@UIWbemQuery@@@@PAUIWbemQuery@@@@QAAPAUIWbemQuery@@XZ +??B?$AutoCleanup@V?$AutoRelease@UIWbemQuery@@@@PAUIWbemQuery@@@@QBAQAUIWbemQuery@@XZ +??B?$AutoCleanup@V?$AutoRelease@UIWbemServices@@@@PAUIWbemServices@@@@QAAPAUIWbemServices@@XZ +??B?$AutoCleanup@V?$AutoRelease@UIWbemServices@@@@PAUIWbemServices@@@@QBAQAUIWbemServices@@XZ +??B?$AutoCleanup@V?$AutoRelease@VCBaseConfigCache@@@@PAVCBaseConfigCache@@@@QAAPAVCBaseConfigCache@@XZ +??B?$AutoCleanup@V?$AutoRelease@VCClientConfigSettings@@@@PAVCClientConfigSettings@@@@QAAPAVCClientConfigSettings@@XZ +??B?$AutoCleanup@V?$AutoRelease@VCCommonConfigSettings@@@@PAVCCommonConfigSettings@@@@QAAPAVCCommonConfigSettings@@XZ +??B?$AutoCleanup@V?$AutoRelease@VCConfigCacheMap@CBaseConfigCache@@@@PAVCConfigCacheMap@CBaseConfigCache@@@@QAAPAVCConfigCacheMap@CBaseConfigCache@@XZ +??B?$AutoCleanup@V?$AutoRelease@VCConfigManager@@@@PAVCConfigManager@@@@QAAPAVCConfigManager@@XZ +??B?$AutoCleanup@V?$AutoRelease@VCRemoteSession@@@@PAVCRemoteSession@@@@QAAPAVCRemoteSession@@XZ +??B?$AutoCleanup@V?$AutoRelease@VCRequestContext@@@@PAVCRequestContext@@@@QAAPAVCRequestContext@@XZ +??B?$AutoCleanup@V?$AutoRelease@VCServiceCommonConfigSettings@@@@PAVCServiceCommonConfigSettings@@@@QAAPAVCServiceCommonConfigSettings@@XZ +??B?$AutoCleanup@V?$AutoRelease@VCServiceConfigCache@@@@PAVCServiceConfigCache@@@@QAAPAVCServiceConfigCache@@XZ +??B?$AutoCleanup@V?$AutoRelease@VCServiceConfigSettings@@@@PAVCServiceConfigSettings@@@@QAAPAVCServiceConfigSettings@@XZ +??B?$AutoCleanup@V?$AutoRelease@VCWSManEPR@@@@PAVCWSManEPR@@@@QAAPAVCWSManEPR@@XZ +??B?$AutoCleanup@V?$AutoRelease@VCWSManEPR@@@@PAVCWSManEPR@@@@QBAQAVCWSManEPR@@XZ +??B?$AutoCleanup@V?$AutoRelease@VCWSManGroupPolicyCache@@@@PAVCWSManGroupPolicyCache@@@@QAAPAVCWSManGroupPolicyCache@@XZ +??B?$AutoCleanup@V?$AutoRelease@VCWSManGroupPolicyManager@@@@PAVCWSManGroupPolicyManager@@@@QAAPAVCWSManGroupPolicyManager@@XZ +??B?$AutoCleanup@V?$AutoRelease@VCWSManObject@@@@PAVCWSManObject@@@@QAAPAVCWSManObject@@XZ +??B?$AutoCleanup@V?$AutoRelease@VCWSManResource@@@@PAVCWSManResource@@@@QAAPAVCWSManResource@@XZ +??B?$AutoCleanup@V?$AutoRelease@VCWSManResource@@@@PAVCWSManResource@@@@QBAQAVCWSManResource@@XZ +??B?$AutoCleanup@V?$AutoRelease@VCWinRSPluginConfigCache@@@@PAVCWinRSPluginConfigCache@@@@QAAPAVCWinRSPluginConfigCache@@XZ +??B?$AutoCleanup@V?$AutoRelease@VCWinRSPluginConfigCache@@@@PAVCWinRSPluginConfigCache@@@@QBAQAVCWinRSPluginConfigCache@@XZ +??B?$AutoCleanup@V?$AutoRelease@VCWinRSPluginConfigSettings@@@@PAVCWinRSPluginConfigSettings@@@@QAAPAVCWinRSPluginConfigSettings@@XZ +??B?$AutoCleanup@V?$AutoRelease@VCommand@Client@WSMan@@@@PAVCommand@Client@WSMan@@@@QAAPAVCommand@Client@WSMan@@XZ +??B?$AutoCleanup@V?$AutoRelease@VConfigNotification@@@@PAVConfigNotification@@@@QAAPAVConfigNotification@@XZ +??B?$AutoCleanup@V?$AutoRelease@VConnectShellOperation@Client@WSMan@@@@PAVConnectShellOperation@Client@WSMan@@@@QAAPAVConnectShellOperation@Client@WSMan@@XZ +??B?$AutoCleanup@V?$AutoRelease@VCreateShellOperation@Client@WSMan@@@@PAVCreateShellOperation@Client@WSMan@@@@QAAPAVCreateShellOperation@Client@WSMan@@XZ +??B?$AutoCleanup@V?$AutoRelease@VDeleteShellOperation@Client@WSMan@@@@PAVDeleteShellOperation@Client@WSMan@@@@QAAPAVDeleteShellOperation@Client@WSMan@@XZ +??B?$AutoCleanup@V?$AutoRelease@VDisconnectOperation@Client@WSMan@@@@PAVDisconnectOperation@Client@WSMan@@@@QAAPAVDisconnectOperation@Client@WSMan@@XZ +??B?$AutoCleanup@V?$AutoRelease@VEnumSinkEx@@@@PAVEnumSinkEx@@@@QAAPAVEnumSinkEx@@XZ +??B?$AutoCleanup@V?$AutoRelease@VEnumSinkEx@@@@PAVEnumSinkEx@@@@QBAQAVEnumSinkEx@@XZ +??B?$AutoCleanup@V?$AutoRelease@VGeneralSinkEx@@@@PAVGeneralSinkEx@@@@QAAPAVGeneralSinkEx@@XZ +??B?$AutoCleanup@V?$AutoRelease@VGeneralSinkEx@@@@PAVGeneralSinkEx@@@@QBAQAVGeneralSinkEx@@XZ +??B?$AutoCleanup@V?$AutoRelease@VIISConfigSettings@@@@PAVIISConfigSettings@@@@QAAPAVIISConfigSettings@@XZ +??B?$AutoCleanup@V?$AutoRelease@VIPCSoapProcessor@@@@PAVIPCSoapProcessor@@@@QAAPAVIPCSoapProcessor@@XZ +??B?$AutoCleanup@V?$AutoRelease@VIRequestContext@@@@PAVIRequestContext@@@@QAAPAVIRequestContext@@XZ +??B?$AutoCleanup@V?$AutoRelease@VIRequestContext@@@@PAVIRequestContext@@@@QBAQAVIRequestContext@@XZ +??B?$AutoCleanup@V?$AutoRelease@VISubscription@@@@PAVISubscription@@@@QAAPAVISubscription@@XZ +??B?$AutoCleanup@V?$AutoRelease@VInboundRequestDetails@@@@PAVInboundRequestDetails@@@@QAAPAVInboundRequestDetails@@XZ +??B?$AutoCleanup@V?$AutoRelease@VInboundRequestDetails@@@@PAVInboundRequestDetails@@@@QBAQAVInboundRequestDetails@@XZ +??B?$AutoCleanup@V?$AutoRelease@VReceiveOperation@Client@WSMan@@@@PAVReceiveOperation@Client@WSMan@@@@QAAPAVReceiveOperation@Client@WSMan@@XZ +??B?$AutoCleanup@V?$AutoRelease@VReconnectOperation@Client@WSMan@@@@PAVReconnectOperation@Client@WSMan@@@@QAAPAVReconnectOperation@Client@WSMan@@XZ +??B?$AutoCleanup@V?$AutoRelease@VSendOperation@Client@WSMan@@@@PAVSendOperation@Client@WSMan@@@@QAAPAVSendOperation@Client@WSMan@@XZ +??B?$AutoCleanup@V?$AutoRelease@VShell@Client@WSMan@@@@PAVShell@Client@WSMan@@@@QAAPAVShell@Client@WSMan@@XZ +??B?$AutoCleanup@V?$AutoRelease@VShell@Client@WSMan@@@@PAVShell@Client@WSMan@@@@QBAQAVShell@Client@WSMan@@XZ +??B?$AutoCleanup@V?$AutoRelease@VSignalOperation@Client@WSMan@@@@PAVSignalOperation@Client@WSMan@@@@QAAPAVSignalOperation@Client@WSMan@@XZ +??B?$AutoCleanup@V?$AutoRelease@VUserRecord@@@@PAVUserRecord@@@@QAAPAVUserRecord@@XZ +??B?$AutoCleanup@V?$AutoRelease@VUserRecord@@@@PAVUserRecord@@@@QBAQAVUserRecord@@XZ +??B?$AutoCleanup@VAutoBstr@@PAG@@QAAPAGXZ +??B?$AutoCleanup@VAutoBstrNoAlloc@@PAG@@QAAPAGXZ +??B?$AutoCleanup@VAutoBstrNoAlloc@@PAG@@QBAQAGXZ +??B?$AutoCleanup@VAutoCertContext@@PBU_CERT_CONTEXT@@@@QAAPBU_CERT_CONTEXT@@XZ +??B?$AutoCleanup@VAutoHandle@@PAX@@QAAPAXXZ +??B?$AutoCleanup@VAutoHandle@@PAX@@QBAQAXXZ +??B?$AutoCleanup@VAutoImpersonateUser@@PAX@@QAAPAXXZ +??B?$AutoCleanup@VAutoImpersonateUser@@PAX@@QBAQAXXZ +??B?$AutoCleanup@VAutoLibrary@@PAUHINSTANCE__@@@@QAAPAUHINSTANCE__@@XZ +??B?$AutoCleanup@VAutoLocalFree@@PAX@@QAAPAXXZ +??B?$AutoCleanup@VAutoMIClass@@PAU_MI_Class@@@@QAAPAU_MI_Class@@XZ +??B?$AutoCleanup@VAutoMIInstance@@PAU_MI_Instance@@@@QAAPAU_MI_Instance@@XZ +??B?$AutoCleanup@VAutoRegKey@@PAUHKEY__@@@@QAAPAUHKEY__@@XZ +??B?$AutoCleanup@VAutoSecurityDescriptor@@PAX@@QAAPAXXZ +??B?$SafeMap_Iterator@PAVCCertMapping@@UEmpty@@@@QBA_NXZ +??B?$SafeMap_Iterator@PAVCListenerOperation@@UEmpty@@@@QBA_NXZ +??B?$SafeMap_Iterator@PAVCShellUriSettings@@UEmpty@@@@QBA_NXZ +??B?$SafeMap_Iterator@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@@@QBA_NXZ +??B?$SafeMap_Iterator@VKey@Locale@@K@@QBA_NXZ +??B?$SafeMap_Iterator@VStringKeyCI@@K@@QBA_NXZ +??B?$SafeMap_Iterator@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@@@QBA_NXZ +??B?$SafeMap_Iterator@VStringKeyStore@@PAVExpiredOperationIdRecord@@@@QBA_NXZ +??B?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@QBA_NXZ +??C?$AutoCleanup@V?$AutoDelete@U_WSMAN_STREAM_ID_SET@@@@PAU_WSMAN_STREAM_ID_SET@@@@QAAPAU_WSMAN_STREAM_ID_SET@@XZ +??C?$AutoCleanup@V?$AutoDelete@V?$Handle@VISubscription@@@@@@PAV?$Handle@VISubscription@@@@@@QAAPAV?$Handle@VISubscription@@@@XZ +??C?$AutoCleanup@V?$AutoDelete@V?$SafeMap_Iterator@VStringKeyCI@@K@@@@PAV?$SafeMap_Iterator@VStringKeyCI@@K@@@@QAAPAV?$SafeMap_Iterator@VStringKeyCI@@K@@XZ +??C?$AutoCleanup@V?$AutoDelete@V?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@@PAV?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@@QAAPAV?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@XZ +??C?$AutoCleanup@V?$AutoDelete@V?$SafeSet@PAVCCertMapping@@@@@@PAV?$SafeSet@PAVCCertMapping@@@@@@QAAPAV?$SafeSet@PAVCCertMapping@@@@XZ +??C?$AutoCleanup@V?$AutoDelete@V?$SafeSet@PAVCShellUriSettings@@@@@@PAV?$SafeSet@PAVCShellUriSettings@@@@@@QAAPAV?$SafeSet@PAVCShellUriSettings@@@@XZ +??C?$AutoCleanup@V?$AutoDelete@V?$SafeSet_Iterator@PAVCListenerOperation@@@@@@PAV?$SafeSet_Iterator@PAVCListenerOperation@@@@@@QAAPAV?$SafeSet_Iterator@PAVCListenerOperation@@@@XZ +??C?$AutoCleanup@V?$AutoDelete@V?$set@PAVCListenerSettings@@VCListenerSettingsLessFunctor@CServiceConfigSettings@@V?$transport_allocator@PAVCListenerSettings@@@@@std@@@@PAV?$set@PAVCListenerSettings@@VCListenerSettingsLessFunctor@CServiceConfigSettings@@V?$transport_allocator@PAVCListenerSettings@@@@@std@@@@QAAPAV?$set@PAVCListenerSettings@@VCListenerSettingsLessFunctor@CServiceConfigSettings@@V?$transport_allocator@PAVCListenerSettings@@@@@std@@XZ +??C?$AutoCleanup@V?$AutoDelete@V?$set@Usockaddr_storage@@VSockAddrLessFunctor@CListenerSettings@@V?$transport_allocator@Usockaddr_storage@@@@@std@@@@PAV?$set@Usockaddr_storage@@VSockAddrLessFunctor@CListenerSettings@@V?$transport_allocator@Usockaddr_storage@@@@@std@@@@QAAPAV?$set@Usockaddr_storage@@VSockAddrLessFunctor@CListenerSettings@@V?$transport_allocator@Usockaddr_storage@@@@@std@@XZ +??C?$AutoCleanup@V?$AutoDelete@V?$vector@PAVHandleImpl@Client@WSMan@@V?$transport_allocator@PAVHandleImpl@Client@WSMan@@@@@std@@@@PAV?$vector@PAVHandleImpl@Client@WSMan@@V?$transport_allocator@PAVHandleImpl@Client@WSMan@@@@@std@@@@QAAPAV?$vector@PAVHandleImpl@Client@WSMan@@V?$transport_allocator@PAVHandleImpl@Client@WSMan@@@@@std@@XZ +??C?$AutoCleanup@V?$AutoDelete@V?$vector@PAVIServiceConfigObserver@@V?$transport_allocator@PAVIServiceConfigObserver@@@@@std@@@@PAV?$vector@PAVIServiceConfigObserver@@V?$transport_allocator@PAVIServiceConfigObserver@@@@@std@@@@QAAPAV?$vector@PAVIServiceConfigObserver@@V?$transport_allocator@PAVIServiceConfigObserver@@@@@std@@XZ +??C?$AutoCleanup@V?$AutoDelete@VBlockedRecord@@@@PAVBlockedRecord@@@@QAAPAVBlockedRecord@@XZ +??C?$AutoCleanup@V?$AutoDelete@VCBaseConfigCache@@@@PAVCBaseConfigCache@@@@QAAPAVCBaseConfigCache@@XZ +??C?$AutoCleanup@V?$AutoDelete@VCCertMapping@@@@PAVCCertMapping@@@@QAAPAVCCertMapping@@XZ +??C?$AutoCleanup@V?$AutoDelete@VCConfigChangeSource@@@@PAVCConfigChangeSource@@@@QAAPAVCConfigChangeSource@@XZ +??C?$AutoCleanup@V?$AutoDelete@VCListenerSettings@@@@PAVCListenerSettings@@@@QAAPAVCListenerSettings@@XZ +??C?$AutoCleanup@V?$AutoDelete@VCServiceWatcher@CServiceConfigCache@@@@PAVCServiceWatcher@CServiceConfigCache@@@@QAAPAVCServiceWatcher@CServiceConfigCache@@XZ +??C?$AutoCleanup@V?$AutoDelete@VCShellUriSettings@@@@PAVCShellUriSettings@@@@QAAPAVCShellUriSettings@@XZ +??C?$AutoCleanup@V?$AutoDelete@VCWSManEPR@@@@PAVCWSManEPR@@@@QAAPAVCWSManEPR@@XZ +??C?$AutoCleanup@V?$AutoDelete@VCWSManResource@@@@PAVCWSManResource@@@@QAAPAVCWSManResource@@XZ +??C?$AutoCleanup@V?$AutoDelete@VCertHash@@@@PAVCertHash@@@@QAAPAVCertHash@@XZ +??C?$AutoCleanup@V?$AutoDelete@VConfigUpdate@@@@PAVConfigUpdate@@@@QAAPAVConfigUpdate@@XZ +??C?$AutoCleanup@V?$AutoDelete@VEnumSinkEx@@@@PAVEnumSinkEx@@@@QAAPAVEnumSinkEx@@XZ +??C?$AutoCleanup@V?$AutoDelete@VEnumSinkEx@@@@PAVEnumSinkEx@@@@QBAQAVEnumSinkEx@@XZ +??C?$AutoCleanup@V?$AutoDelete@VExpiredOperationIdRecord@@@@PAVExpiredOperationIdRecord@@@@QAAPAVExpiredOperationIdRecord@@XZ +??C?$AutoCleanup@V?$AutoDelete@VGPApiManager@@@@PAVGPApiManager@@@@QAAPAVGPApiManager@@XZ +??C?$AutoCleanup@V?$AutoDelete@VGeneralSinkEx@@@@PAVGeneralSinkEx@@@@QAAPAVGeneralSinkEx@@XZ +??C?$AutoCleanup@V?$AutoDelete@VGeneralSinkEx@@@@PAVGeneralSinkEx@@@@QBAQAVGeneralSinkEx@@XZ +??C?$AutoCleanup@V?$AutoDelete@VIChannelObserverFactory@@@@PAVIChannelObserverFactory@@@@QAAPAVIChannelObserverFactory@@XZ +??C?$AutoCleanup@V?$AutoDelete@VIQueryDASHSMASHInterface@@@@PAVIQueryDASHSMASHInterface@@@@QAAPAVIQueryDASHSMASHInterface@@XZ +??C?$AutoCleanup@V?$AutoDelete@VIQueryDASHSMASHInterface@@@@PAVIQueryDASHSMASHInterface@@@@QBAQAVIQueryDASHSMASHInterface@@XZ +??C?$AutoCleanup@V?$AutoDelete@VISpecification@@@@PAVISpecification@@@@QAAPAVISpecification@@XZ +??C?$AutoCleanup@V?$AutoDelete@VISpecification@@@@PAVISpecification@@@@QBAQAVISpecification@@XZ +??C?$AutoCleanup@V?$AutoDelete@VMasterReceiveData@CListenerReceive@@@@PAVMasterReceiveData@CListenerReceive@@@@QAAPAVMasterReceiveData@CListenerReceive@@XZ +??C?$AutoCleanup@V?$AutoDelete@VOptionValue@SessionOptions@Client@WSMan@@@@PAVOptionValue@SessionOptions@Client@WSMan@@@@QAAPAVOptionValue@SessionOptions@Client@WSMan@@XZ +??C?$AutoCleanup@V?$AutoDelete@VPacketCreator@@@@PAVPacketCreator@@@@QAAPAVPacketCreator@@XZ +??C?$AutoCleanup@V?$AutoDelete@VPacketParser@@@@PAVPacketParser@@@@QAAPAVPacketParser@@XZ +??C?$AutoCleanup@V?$AutoDelete@VRunAsConfiguration@@@@PAVRunAsConfiguration@@@@QAAPAVRunAsConfiguration@@XZ +??C?$AutoCleanup@V?$AutoDelete@VSecurityEntry@Catalog@@@@PAVSecurityEntry@Catalog@@@@QAAPAVSecurityEntry@Catalog@@XZ +??C?$AutoCleanup@V?$AutoDelete@VSendPacketArgs@RobustConnectionBuffer@@@@PAVSendPacketArgs@RobustConnectionBuffer@@@@QAAPAVSendPacketArgs@RobustConnectionBuffer@@XZ +??C?$AutoCleanup@V?$AutoDelete@VServiceSoapProcessor@@@@PAVServiceSoapProcessor@@@@QAAPAVServiceSoapProcessor@@XZ +??C?$AutoCleanup@V?$AutoDelete@VSubscriptionEnumerator@@@@PAVSubscriptionEnumerator@@@@QAAPAVSubscriptionEnumerator@@XZ +??C?$AutoCleanup@V?$AutoDelete@VTSTRBUFFER@@@@PAVTSTRBUFFER@@@@QAAPAVTSTRBUFFER@@XZ +??C?$AutoCleanup@V?$AutoDelete@VTSTRBUFFER@@@@PAVTSTRBUFFER@@@@QBAQAVTSTRBUFFER@@XZ +??C?$AutoCleanup@V?$AutoDelete@VUniqueStringOverflow@@@@PAVUniqueStringOverflow@@@@QAAPAVUniqueStringOverflow@@XZ +??C?$AutoCleanup@V?$AutoDelete@VWSMANCONFIGTABLE_IDENTITY@@@@PAVWSMANCONFIGTABLE_IDENTITY@@@@QAAPAVWSMANCONFIGTABLE_IDENTITY@@XZ +??C?$AutoCleanup@V?$AutoDelete@VWmiEnumContext@@@@PAVWmiEnumContext@@@@QAAPAVWmiEnumContext@@XZ +??C?$AutoCleanup@V?$AutoDelete@VWmiEnumContext@@@@PAVWmiEnumContext@@@@QBAQAVWmiEnumContext@@XZ +??C?$AutoCleanup@V?$AutoDelete@VXmlReader@@@@PAVXmlReader@@@@QAAPAVXmlReader@@XZ +??C?$AutoCleanup@V?$AutoDeleteVector@E@@PAE@@QAAPAEXZ +??C?$AutoCleanup@V?$AutoDeleteVector@E@@PAE@@QBAQAEXZ +??C?$AutoCleanup@V?$AutoDeleteVector@G@@PAG@@QAAPAGXZ +??C?$AutoCleanup@V?$AutoDeleteVector@G@@PAG@@QBAQAGXZ +??C?$AutoCleanup@V?$AutoDeleteVector@PAG@@PAPAG@@QAAPAPAGXZ +??C?$AutoCleanup@V?$AutoDeleteVector@PAG@@PAPAG@@QBAQAPAGXZ +??C?$AutoCleanup@V?$AutoDeleteVector@PBG@@PAPBG@@QAAPAPBGXZ +??C?$AutoCleanup@V?$AutoDeleteVector@PBG@@PAPBG@@QBAQAPBGXZ +??C?$AutoCleanup@V?$AutoDeleteVector@U_WINRS_CREATE_SHELL_ENVIRONMENT_VARIABLE@@@@PAU_WINRS_CREATE_SHELL_ENVIRONMENT_VARIABLE@@@@QAAPAU_WINRS_CREATE_SHELL_ENVIRONMENT_VARIABLE@@XZ +??C?$AutoCleanup@V?$AutoDeleteVector@U_WINRS_CREATE_SHELL_ENVIRONMENT_VARIABLE@@@@PAU_WINRS_CREATE_SHELL_ENVIRONMENT_VARIABLE@@@@QBAQAU_WINRS_CREATE_SHELL_ENVIRONMENT_VARIABLE@@XZ +??C?$AutoCleanup@V?$AutoDeleteVector@U_WINRS_RUN_COMMAND_ARG@@@@PAU_WINRS_RUN_COMMAND_ARG@@@@QAAPAU_WINRS_RUN_COMMAND_ARG@@XZ +??C?$AutoCleanup@V?$AutoDeleteVector@U_WINRS_RUN_COMMAND_ARG@@@@PAU_WINRS_RUN_COMMAND_ARG@@@@QBAQAU_WINRS_RUN_COMMAND_ARG@@XZ +??C?$AutoCleanup@V?$AutoRelease@UIAppHostChildElementCollection@@@@PAUIAppHostChildElementCollection@@@@QAAPAUIAppHostChildElementCollection@@XZ +??C?$AutoCleanup@V?$AutoRelease@UIAppHostElementCollection@@@@PAUIAppHostElementCollection@@@@QAAPAUIAppHostElementCollection@@XZ +??C?$AutoCleanup@V?$AutoRelease@UIAppHostProperty@@@@PAUIAppHostProperty@@@@QAAPAUIAppHostProperty@@XZ +??C?$AutoCleanup@V?$AutoRelease@UIAppHostPropertyCollection@@@@PAUIAppHostPropertyCollection@@@@QAAPAUIAppHostPropertyCollection@@XZ +??C?$AutoCleanup@V?$AutoRelease@UIClientSecurity@@@@PAUIClientSecurity@@@@QAAPAUIClientSecurity@@XZ +??C?$AutoCleanup@V?$AutoRelease@UIClientSecurity@@@@PAUIClientSecurity@@@@QBAQAUIClientSecurity@@XZ +??C?$AutoCleanup@V?$AutoRelease@UIEnumWbemClassObject@@@@PAUIEnumWbemClassObject@@@@QAAPAUIEnumWbemClassObject@@XZ +??C?$AutoCleanup@V?$AutoRelease@UIEnumWbemClassObject@@@@PAUIEnumWbemClassObject@@@@QBAQAUIEnumWbemClassObject@@XZ +??C?$AutoCleanup@V?$AutoRelease@UIErrorInfo@@@@PAUIErrorInfo@@@@QAAPAUIErrorInfo@@XZ +??C?$AutoCleanup@V?$AutoRelease@UIErrorInfo@@@@PAUIErrorInfo@@@@QBAQAUIErrorInfo@@XZ +??C?$AutoCleanup@V?$AutoRelease@UIUnknown@@@@PAUIUnknown@@@@QAAPAUIUnknown@@XZ +??C?$AutoCleanup@V?$AutoRelease@UIUnknown@@@@PAUIUnknown@@@@QBAQAUIUnknown@@XZ +??C?$AutoCleanup@V?$AutoRelease@UIWbemClassObject@@@@PAUIWbemClassObject@@@@QAAPAUIWbemClassObject@@XZ +??C?$AutoCleanup@V?$AutoRelease@UIWbemClassObject@@@@PAUIWbemClassObject@@@@QBAQAUIWbemClassObject@@XZ +??C?$AutoCleanup@V?$AutoRelease@UIWbemContext@@@@PAUIWbemContext@@@@QAAPAUIWbemContext@@XZ +??C?$AutoCleanup@V?$AutoRelease@UIWbemContext@@@@PAUIWbemContext@@@@QBAQAUIWbemContext@@XZ +??C?$AutoCleanup@V?$AutoRelease@UIWbemLocator@@@@PAUIWbemLocator@@@@QAAPAUIWbemLocator@@XZ +??C?$AutoCleanup@V?$AutoRelease@UIWbemLocator@@@@PAUIWbemLocator@@@@QBAQAUIWbemLocator@@XZ +??C?$AutoCleanup@V?$AutoRelease@UIWbemObjectTextSrc@@@@PAUIWbemObjectTextSrc@@@@QAAPAUIWbemObjectTextSrc@@XZ +??C?$AutoCleanup@V?$AutoRelease@UIWbemObjectTextSrc@@@@PAUIWbemObjectTextSrc@@@@QBAQAUIWbemObjectTextSrc@@XZ +??C?$AutoCleanup@V?$AutoRelease@UIWbemPath@@@@PAUIWbemPath@@@@QAAPAUIWbemPath@@XZ +??C?$AutoCleanup@V?$AutoRelease@UIWbemPath@@@@PAUIWbemPath@@@@QBAQAUIWbemPath@@XZ +??C?$AutoCleanup@V?$AutoRelease@UIWbemPathKeyList@@@@PAUIWbemPathKeyList@@@@QAAPAUIWbemPathKeyList@@XZ +??C?$AutoCleanup@V?$AutoRelease@UIWbemPathKeyList@@@@PAUIWbemPathKeyList@@@@QBAQAUIWbemPathKeyList@@XZ +??C?$AutoCleanup@V?$AutoRelease@UIWbemQualifierSet@@@@PAUIWbemQualifierSet@@@@QAAPAUIWbemQualifierSet@@XZ +??C?$AutoCleanup@V?$AutoRelease@UIWbemQualifierSet@@@@PAUIWbemQualifierSet@@@@QBAQAUIWbemQualifierSet@@XZ +??C?$AutoCleanup@V?$AutoRelease@UIWbemQuery@@@@PAUIWbemQuery@@@@QAAPAUIWbemQuery@@XZ +??C?$AutoCleanup@V?$AutoRelease@UIWbemQuery@@@@PAUIWbemQuery@@@@QBAQAUIWbemQuery@@XZ +??C?$AutoCleanup@V?$AutoRelease@UIWbemServices@@@@PAUIWbemServices@@@@QAAPAUIWbemServices@@XZ +??C?$AutoCleanup@V?$AutoRelease@UIWbemServices@@@@PAUIWbemServices@@@@QBAQAUIWbemServices@@XZ +??C?$AutoCleanup@V?$AutoRelease@VCBaseConfigCache@@@@PAVCBaseConfigCache@@@@QAAPAVCBaseConfigCache@@XZ +??C?$AutoCleanup@V?$AutoRelease@VCClientConfigSettings@@@@PAVCClientConfigSettings@@@@QAAPAVCClientConfigSettings@@XZ +??C?$AutoCleanup@V?$AutoRelease@VCConfigCacheMap@CBaseConfigCache@@@@PAVCConfigCacheMap@CBaseConfigCache@@@@QAAPAVCConfigCacheMap@CBaseConfigCache@@XZ +??C?$AutoCleanup@V?$AutoRelease@VCConfigManager@@@@PAVCConfigManager@@@@QAAPAVCConfigManager@@XZ +??C?$AutoCleanup@V?$AutoRelease@VCListenerReceive@@@@PAVCListenerReceive@@@@QAAPAVCListenerReceive@@XZ +??C?$AutoCleanup@V?$AutoRelease@VCRemoteSession@@@@PAVCRemoteSession@@@@QAAPAVCRemoteSession@@XZ +??C?$AutoCleanup@V?$AutoRelease@VCRemoteSession@@@@PAVCRemoteSession@@@@QBAQAVCRemoteSession@@XZ +??C?$AutoCleanup@V?$AutoRelease@VCRequestContext@@@@PAVCRequestContext@@@@QAAPAVCRequestContext@@XZ +??C?$AutoCleanup@V?$AutoRelease@VCServiceCommonConfigSettings@@@@PAVCServiceCommonConfigSettings@@@@QAAPAVCServiceCommonConfigSettings@@XZ +??C?$AutoCleanup@V?$AutoRelease@VCServiceConfigCache@@@@PAVCServiceConfigCache@@@@QAAPAVCServiceConfigCache@@XZ +??C?$AutoCleanup@V?$AutoRelease@VCServiceConfigSettings@@@@PAVCServiceConfigSettings@@@@QAAPAVCServiceConfigSettings@@XZ +??C?$AutoCleanup@V?$AutoRelease@VCWSManEPR@@@@PAVCWSManEPR@@@@QAAPAVCWSManEPR@@XZ +??C?$AutoCleanup@V?$AutoRelease@VCWSManEPR@@@@PAVCWSManEPR@@@@QBAQAVCWSManEPR@@XZ +??C?$AutoCleanup@V?$AutoRelease@VCWSManGroupPolicyCache@@@@PAVCWSManGroupPolicyCache@@@@QAAPAVCWSManGroupPolicyCache@@XZ +??C?$AutoCleanup@V?$AutoRelease@VCWSManGroupPolicyManager@@@@PAVCWSManGroupPolicyManager@@@@QAAPAVCWSManGroupPolicyManager@@XZ +??C?$AutoCleanup@V?$AutoRelease@VCWSManObject@@@@PAVCWSManObject@@@@QAAPAVCWSManObject@@XZ +??C?$AutoCleanup@V?$AutoRelease@VCWSManResource@@@@PAVCWSManResource@@@@QAAPAVCWSManResource@@XZ +??C?$AutoCleanup@V?$AutoRelease@VCWinRSPluginConfigCache@@@@PAVCWinRSPluginConfigCache@@@@QAAPAVCWinRSPluginConfigCache@@XZ +??C?$AutoCleanup@V?$AutoRelease@VCWinRSPluginConfigCache@@@@PAVCWinRSPluginConfigCache@@@@QBAQAVCWinRSPluginConfigCache@@XZ +??C?$AutoCleanup@V?$AutoRelease@VCWinRSPluginConfigSettings@@@@PAVCWinRSPluginConfigSettings@@@@QAAPAVCWinRSPluginConfigSettings@@XZ +??C?$AutoCleanup@V?$AutoRelease@VCommand@Client@WSMan@@@@PAVCommand@Client@WSMan@@@@QAAPAVCommand@Client@WSMan@@XZ +??C?$AutoCleanup@V?$AutoRelease@VConfigNotification@@@@PAVConfigNotification@@@@QAAPAVConfigNotification@@XZ +??C?$AutoCleanup@V?$AutoRelease@VConnectShellOperation@Client@WSMan@@@@PAVConnectShellOperation@Client@WSMan@@@@QAAPAVConnectShellOperation@Client@WSMan@@XZ +??C?$AutoCleanup@V?$AutoRelease@VCreateShellOperation@Client@WSMan@@@@PAVCreateShellOperation@Client@WSMan@@@@QAAPAVCreateShellOperation@Client@WSMan@@XZ +??C?$AutoCleanup@V?$AutoRelease@VDeleteShellOperation@Client@WSMan@@@@PAVDeleteShellOperation@Client@WSMan@@@@QAAPAVDeleteShellOperation@Client@WSMan@@XZ +??C?$AutoCleanup@V?$AutoRelease@VDisconnectOperation@Client@WSMan@@@@PAVDisconnectOperation@Client@WSMan@@@@QAAPAVDisconnectOperation@Client@WSMan@@XZ +??C?$AutoCleanup@V?$AutoRelease@VEnumSinkEx@@@@PAVEnumSinkEx@@@@QAAPAVEnumSinkEx@@XZ +??C?$AutoCleanup@V?$AutoRelease@VEnumSinkEx@@@@PAVEnumSinkEx@@@@QBAQAVEnumSinkEx@@XZ +??C?$AutoCleanup@V?$AutoRelease@VGeneralSinkEx@@@@PAVGeneralSinkEx@@@@QAAPAVGeneralSinkEx@@XZ +??C?$AutoCleanup@V?$AutoRelease@VGeneralSinkEx@@@@PAVGeneralSinkEx@@@@QBAQAVGeneralSinkEx@@XZ +??C?$AutoCleanup@V?$AutoRelease@VIPCSoapProcessor@@@@PAVIPCSoapProcessor@@@@QAAPAVIPCSoapProcessor@@XZ +??C?$AutoCleanup@V?$AutoRelease@VIRequestContext@@@@PAVIRequestContext@@@@QAAPAVIRequestContext@@XZ +??C?$AutoCleanup@V?$AutoRelease@VIRequestContext@@@@PAVIRequestContext@@@@QBAQAVIRequestContext@@XZ +??C?$AutoCleanup@V?$AutoRelease@VInboundRequestDetails@@@@PAVInboundRequestDetails@@@@QAAPAVInboundRequestDetails@@XZ +??C?$AutoCleanup@V?$AutoRelease@VInboundRequestDetails@@@@PAVInboundRequestDetails@@@@QBAQAVInboundRequestDetails@@XZ +??C?$AutoCleanup@V?$AutoRelease@VReceiveOperation@Client@WSMan@@@@PAVReceiveOperation@Client@WSMan@@@@QAAPAVReceiveOperation@Client@WSMan@@XZ +??C?$AutoCleanup@V?$AutoRelease@VReconnectOperation@Client@WSMan@@@@PAVReconnectOperation@Client@WSMan@@@@QAAPAVReconnectOperation@Client@WSMan@@XZ +??C?$AutoCleanup@V?$AutoRelease@VSendOperation@Client@WSMan@@@@PAVSendOperation@Client@WSMan@@@@QAAPAVSendOperation@Client@WSMan@@XZ +??C?$AutoCleanup@V?$AutoRelease@VShell@Client@WSMan@@@@PAVShell@Client@WSMan@@@@QAAPAVShell@Client@WSMan@@XZ +??C?$AutoCleanup@V?$AutoRelease@VShell@Client@WSMan@@@@PAVShell@Client@WSMan@@@@QBAQAVShell@Client@WSMan@@XZ +??C?$AutoCleanup@V?$AutoRelease@VSignalOperation@Client@WSMan@@@@PAVSignalOperation@Client@WSMan@@@@QAAPAVSignalOperation@Client@WSMan@@XZ +??C?$AutoCleanup@V?$AutoRelease@VUserRecord@@@@PAVUserRecord@@@@QAAPAVUserRecord@@XZ +??C?$AutoCleanup@V?$AutoRelease@VWSManHttpListener@@@@PAVWSManHttpListener@@@@QAAPAVWSManHttpListener@@XZ +??C?$AutoCleanup@VAutoBstrNoAlloc@@PAG@@QAAPAGXZ +??C?$AutoCleanup@VAutoBstrNoAlloc@@PAG@@QBAQAGXZ +??C?$AutoCleanup@VAutoChainContext@@PBU_CERT_CHAIN_CONTEXT@@@@QAAPBU_CERT_CHAIN_CONTEXT@@XZ +??C?$AutoCleanup@VAutoImpersonateUser@@PAX@@QAAPAXXZ +??C?$AutoCleanup@VAutoImpersonateUser@@PAX@@QBAQAXXZ +??C?$AutoCleanup@VAutoMIClass@@PAU_MI_Class@@@@QAAPAU_MI_Class@@XZ +??C?$SafeMap_Iterator@VStringKeyStore@@PAVExpiredOperationIdRecord@@@@QBAAAPAVExpiredOperationIdRecord@@XZ +??C?$SafeSet_Iterator@PAVCListenerOperation@@@@QBAABQAVCListenerOperation@@XZ +??D?$SafeMap_Iterator@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@@@QBAAAVCertThumbprintMappedSet@CServiceConfigSettings@@XZ +??D?$SafeMap_Iterator@VKey@Locale@@K@@QBAAAKXZ +??D?$SafeMap_Iterator@VStringKeyStore@@PAVExpiredOperationIdRecord@@@@QBAAAPAVExpiredOperationIdRecord@@XZ +??D?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@QBAAAPAVOptionValue@SessionOptions@Client@WSMan@@XZ +??D?$SafeSet_Iterator@PAVCCertMapping@@@@QBAABQAVCCertMapping@@XZ +??D?$SafeSet_Iterator@PAVCListenerOperation@@@@QBAABQAVCListenerOperation@@XZ +??D?$SafeSet_Iterator@PAVCShellUriSettings@@@@QBAABQAVCShellUriSettings@@XZ +??E?$SafeMap_Iterator@PAVCCertMapping@@UEmpty@@@@QAAXH@Z +??E?$SafeMap_Iterator@PAVCListenerOperation@@UEmpty@@@@QAAXH@Z +??E?$SafeMap_Iterator@PAVCShellUriSettings@@UEmpty@@@@QAAXH@Z +??E?$SafeMap_Iterator@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@@@QAAXH@Z +??E?$SafeMap_Iterator@VStringKeyCI@@K@@QAAXH@Z +??E?$SafeMap_Iterator@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@@@QAAXH@Z +??E?$SafeMap_Iterator@VStringKeyStore@@PAVExpiredOperationIdRecord@@@@QAAXH@Z +??E?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@QAAXH@Z +??_7?$SafeMap@PAVCCertMapping@@UEmpty@@V?$SafeSet_Iterator@PAVCCertMapping@@@@@@6B@ DATA +??_7?$SafeMap@PAVCListenerOperation@@UEmpty@@V?$SafeSet_Iterator@PAVCListenerOperation@@@@@@6B@ DATA +??_7?$SafeMap@PAVCShellUriSettings@@UEmpty@@V?$SafeSet_Iterator@PAVCShellUriSettings@@@@@@6B@ DATA +??_7?$SafeMap@PAVCollector@@UEmpty@@V?$SafeSet_Iterator@PAVCollector@@@@@@6B@ DATA +??_7?$SafeMap@PAVHostOperation@@UEmpty@@V?$SafeSet_Iterator@PAVHostOperation@@@@@@6B@ DATA +??_7?$SafeMap@PAVIOperation@@UEmpty@@V?$SafeSet_Iterator@PAVIOperation@@@@@@6B@ DATA +??_7?$SafeMap@PAVListenerSourceSubscription@@UEmpty@@V?$SafeSet_Iterator@PAVListenerSourceSubscription@@@@@@6B@ DATA +??_7?$SafeMap@PAVPushSubscription@@UEmpty@@V?$SafeSet_Iterator@PAVPushSubscription@@@@@@6B@ DATA +??_7?$SafeMap@PAXUEmpty@@V?$SafeSet_Iterator@PAX@@@@6B@ DATA +??_7?$SafeMap@UPluginKey@@KV?$SafeMap_Iterator@UPluginKey@@K@@@@6B@ DATA +??_7?$SafeMap@UUserKey@@PAVBlockedRecord@@V?$SafeMap_Iterator@UUserKey@@PAVBlockedRecord@@@@@@6B@ DATA +??_7?$SafeMap@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@V?$SafeMap_Iterator@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@@@@@6B@ DATA +??_7?$SafeMap@VKey@Locale@@KV?$SafeMap_Iterator@VKey@Locale@@K@@@@6B@ DATA +??_7?$SafeMap@VStringKeyCI@@KV?$SafeMap_Iterator@VStringKeyCI@@K@@@@6B@ DATA +??_7?$SafeMap@VStringKeyCI@@UEmpty@@V?$SafeSet_Iterator@VStringKeyCI@@@@@@6B@ DATA +??_7?$SafeMap@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@V?$SafeMap_Iterator@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@@@@@6B@ DATA +??_7?$SafeMap@VStringKeyStore@@PAVExpiredOperationIdRecord@@V?$SafeMap_Iterator@VStringKeyStore@@PAVExpiredOperationIdRecord@@@@@@6B@ DATA +??_7?$SafeMap@VStringKeyStore@@PAVServerFullDuplexChannel@@V?$SafeMap_Iterator@VStringKeyStore@@PAVServerFullDuplexChannel@@@@@@6B@ DATA +??_7?$SafeMap@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@V?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@@6B@ DATA +??_7?$SafeMap@_KPAVSendPacketArgs@RobustConnectionBuffer@@V?$SafeMap_Iterator@_KPAVSendPacketArgs@RobustConnectionBuffer@@@@@@6B@ DATA +??_7?$SafeSet@PAVCCertMapping@@@@6B@ DATA +??_7?$SafeSet@PAVCListenerOperation@@@@6B@ DATA +??_7?$SafeSet@PAVCShellUriSettings@@@@6B@ DATA +??_7?$SafeSet@PAX@@6B@ DATA +??_7BufferFormatter@@6B@ DATA +??_7CBaseConfigCache@@6BIConfigChangeObserver@@@ DATA +??_7CBaseConfigCache@@6BILifeTimeMgmt@@@ DATA +??_7CClientConfigCache@@6BIConfigChangeObserver@@@ DATA +??_7CClientConfigCache@@6BILifeTimeMgmt@@@ DATA +??_7CConfigManager@@6B@ DATA +??_7CErrorContext@@6B@ DATA +??_7CRequestContext@@6BCErrorContext@@@ DATA +??_7CRequestContext@@6BEtwCorrelationHelper@@@ DATA +??_7CServiceConfigCache@@6BIConfigChangeObserver@@@ DATA +??_7CServiceConfigCache@@6BILifeTimeMgmt@@@ DATA +??_7CWSManEPR@@6B@ DATA +??_7CWSManGroupPolicyManager@@6B@ DATA +??_7CWSManResource@@6B@ DATA +??_7CWSManResourceNoResourceUri@@6B@ DATA +??_7CWSManSecurityUI@@6B@ DATA +??_7CWinRSPluginConfigCache@@6BIConfigChangeObserver@@@ DATA +??_7CWinRSPluginConfigCache@@6BILifeTimeMgmt@@@ DATA +??_7CircularBufferFormatter@@6B@ DATA +??_7EtwCorrelationHelper@@6B@ DATA +??_7IConfigChangeObserver@@6B@ DATA +??_7ILifeTimeMgmt@@6B@ DATA +??_7IRequestContext@@6B@ DATA +??_7IWSManGroupPolicyObserver@@6B@ DATA +??_7IWSManGroupPolicyPublisher@@6B@ DATA +??_7PacketParser@@6B@ DATA +??_7UserAuthzRecord@@6B@ DATA +??_7UserRecord@@6B@ DATA +??_FCErrorContext@@QAAXXZ +??_FRBUFFER@@QAAXXZ +?Acquire@?$SafeMap@PAVCCertMapping@@UEmpty@@V?$SafeMap_Iterator@PAVCCertMapping@@UEmpty@@@@@@UBAXXZ +?Acquire@?$SafeMap@PAVCCertMapping@@UEmpty@@V?$SafeSet_Iterator@PAVCCertMapping@@@@@@UBAXXZ +?Acquire@?$SafeMap@PAVCListenerConnect@@PAV1@V?$SafeMap_Iterator@PAVCListenerConnect@@PAV1@@@@@UBAXXZ +?Acquire@?$SafeMap@PAVCListenerOperation@@UEmpty@@V?$SafeMap_Iterator@PAVCListenerOperation@@UEmpty@@@@@@UBAXXZ +?Acquire@?$SafeMap@PAVCListenerOperation@@UEmpty@@V?$SafeSet_Iterator@PAVCListenerOperation@@@@@@UBAXXZ +?Acquire@?$SafeMap@PAVCListenerReceive@@PAV1@V?$SafeMap_Iterator@PAVCListenerReceive@@PAV1@@@@@UBAXXZ +?Acquire@?$SafeMap@PAVCListenerSend@@PAV1@V?$SafeMap_Iterator@PAVCListenerSend@@PAV1@@@@@UBAXXZ +?Acquire@?$SafeMap@PAVCListenerSignal@@PAV1@V?$SafeMap_Iterator@PAVCListenerSignal@@PAV1@@@@@UBAXXZ +?Acquire@?$SafeMap@PAVCShellUriSettings@@UEmpty@@V?$SafeSet_Iterator@PAVCShellUriSettings@@@@@@UBAXXZ +?Acquire@?$SafeMap@PAVCollector@@UEmpty@@V?$SafeMap_Iterator@PAVCollector@@UEmpty@@@@@@UBAXXZ +?Acquire@?$SafeMap@PAVCollector@@UEmpty@@V?$SafeSet_Iterator@PAVCollector@@@@@@UBAXXZ +?Acquire@?$SafeMap@PAVHostOperation@@UEmpty@@V?$SafeMap_Iterator@PAVHostOperation@@UEmpty@@@@@@UBAXXZ +?Acquire@?$SafeMap@PAVHostOperation@@UEmpty@@V?$SafeSet_Iterator@PAVHostOperation@@@@@@UBAXXZ +?Acquire@?$SafeMap@PAVIOperation@@UEmpty@@V?$SafeMap_Iterator@PAVIOperation@@UEmpty@@@@@@UBAXXZ +?Acquire@?$SafeMap@PAVIOperation@@UEmpty@@V?$SafeSet_Iterator@PAVIOperation@@@@@@UBAXXZ +?Acquire@?$SafeMap@PAVListenerSourceSubscription@@UEmpty@@V?$SafeMap_Iterator@PAVListenerSourceSubscription@@UEmpty@@@@@@UBAXXZ +?Acquire@?$SafeMap@PAVListenerSourceSubscription@@UEmpty@@V?$SafeSet_Iterator@PAVListenerSourceSubscription@@@@@@UBAXXZ +?Acquire@?$SafeMap@PAVPushSubscription@@UEmpty@@V?$SafeMap_Iterator@PAVPushSubscription@@UEmpty@@@@@@UBAXXZ +?Acquire@?$SafeMap@PAVPushSubscription@@UEmpty@@V?$SafeSet_Iterator@PAVPushSubscription@@@@@@UBAXXZ +?Acquire@?$SafeMap@PAXUEmpty@@V?$SafeSet_Iterator@PAX@@@@UBAXXZ +?Acquire@?$SafeMap@UPluginKey@@KV?$SafeMap_Iterator@UPluginKey@@K@@@@UBAXXZ +?Acquire@?$SafeMap@UUserKey@@PAVBlockedRecord@@V?$SafeMap_Iterator@UUserKey@@PAVBlockedRecord@@@@@@UBAXXZ +?Acquire@?$SafeMap@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@V?$SafeMap_Iterator@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@@@@@UBAXXZ +?Acquire@?$SafeMap@VGuidKey@@PAVCListenerCommand@@V?$SafeMap_Iterator@VGuidKey@@PAVCListenerCommand@@@@@@UBAXXZ +?Acquire@?$SafeMap@VKey@CWmiPtrCache@@VMapping@2@V?$SafeMap_Iterator@VKey@CWmiPtrCache@@VMapping@2@@@@@UBAXXZ +?Acquire@?$SafeMap@VKey@Locale@@KV?$SafeMap_Iterator@VKey@Locale@@K@@@@UBAXXZ +?Acquire@?$SafeMap@VStringKey@@PAVListenerEvents@@V?$SafeMap_Iterator@VStringKey@@PAVListenerEvents@@@@@@UBAXXZ +?Acquire@?$SafeMap@VStringKey@@PAVListenerSourceSubscription@@V?$SafeMap_Iterator@VStringKey@@PAVListenerSourceSubscription@@@@@@UBAXXZ +?Acquire@?$SafeMap@VStringKey@@UOption@WinRM_OperationOptions@@V?$SafeMap_Iterator@VStringKey@@UOption@WinRM_OperationOptions@@@@@@UBAXXZ +?Acquire@?$SafeMap@VStringKeyCI@@KV?$SafeMap_Iterator@VStringKeyCI@@K@@@@UBAXXZ +?Acquire@?$SafeMap@VStringKeyCI@@PAVIISEndpoint@@V?$SafeMap_Iterator@VStringKeyCI@@PAVIISEndpoint@@@@@@UBAXXZ +?Acquire@?$SafeMap@VStringKeyCI@@UEmpty@@V?$SafeMap_Iterator@VStringKeyCI@@UEmpty@@@@@@UBAXXZ +?Acquire@?$SafeMap@VStringKeyCI@@UEmpty@@V?$SafeSet_Iterator@VStringKeyCI@@@@@@UBAXXZ +?Acquire@?$SafeMap@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@V?$SafeMap_Iterator@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@@@@@UBAXXZ +?Acquire@?$SafeMap@VStringKeyStore@@PAVExpiredOperationIdRecord@@V?$SafeMap_Iterator@VStringKeyStore@@PAVExpiredOperationIdRecord@@@@@@UBAXXZ +?Acquire@?$SafeMap@VStringKeyStore@@PAVServerFullDuplexChannel@@V?$SafeMap_Iterator@VStringKeyStore@@PAVServerFullDuplexChannel@@@@@@UBAXXZ +?Acquire@?$SafeMap@VTokenCacheKey@ServiceSoapProcessor@@VTokenCacheMapping@2@V?$SafeMap_Iterator@VTokenCacheKey@ServiceSoapProcessor@@VTokenCacheMapping@2@@@@@UBAXXZ +?Acquire@?$SafeMap@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@V?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@@UBAXXZ +?Acquire@?$SafeMap@_KPAVSendPacketArgs@RobustConnectionBuffer@@V?$SafeMap_Iterator@_KPAVSendPacketArgs@RobustConnectionBuffer@@@@@@UBAXXZ +?Acquire@?$SafeMap_Lock@PAVCCertMapping@@UEmpty@@V?$SafeMap_Iterator@PAVCCertMapping@@UEmpty@@@@@@QAAXXZ +?Acquire@?$SafeMap_Lock@PAVCCertMapping@@UEmpty@@V?$SafeSet_Iterator@PAVCCertMapping@@@@@@QAAXXZ +?Acquire@?$SafeMap_Lock@PAVCListenerOperation@@UEmpty@@V?$SafeMap_Iterator@PAVCListenerOperation@@UEmpty@@@@@@QAAXXZ +?Acquire@?$SafeMap_Lock@PAVCListenerOperation@@UEmpty@@V?$SafeSet_Iterator@PAVCListenerOperation@@@@@@QAAXXZ +?Acquire@?$SafeMap_Lock@PAVCShellUriSettings@@UEmpty@@V?$SafeMap_Iterator@PAVCShellUriSettings@@UEmpty@@@@@@QAAXXZ +?Acquire@?$SafeMap_Lock@PAVCShellUriSettings@@UEmpty@@V?$SafeSet_Iterator@PAVCShellUriSettings@@@@@@QAAXXZ +?Acquire@?$SafeMap_Lock@PAXUEmpty@@V?$SafeMap_Iterator@PAXUEmpty@@@@@@QAAXXZ +?Acquire@?$SafeMap_Lock@PAXUEmpty@@V?$SafeSet_Iterator@PAX@@@@QAAXXZ +?Acquire@?$SafeMap_Lock@UPluginKey@@KV?$SafeMap_Iterator@UPluginKey@@K@@@@QAAXXZ +?Acquire@?$SafeMap_Lock@UUserKey@@PAVBlockedRecord@@V?$SafeMap_Iterator@UUserKey@@PAVBlockedRecord@@@@@@QAAXXZ +?Acquire@?$SafeMap_Lock@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@V?$SafeMap_Iterator@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@@@@@QAAXXZ +?Acquire@?$SafeMap_Lock@VKey@Locale@@KV?$SafeMap_Iterator@VKey@Locale@@K@@@@QAAXXZ +?Acquire@?$SafeMap_Lock@VStringKeyCI@@KV?$SafeMap_Iterator@VStringKeyCI@@K@@@@QAAXXZ +?Acquire@?$SafeMap_Lock@VStringKeyCI@@UEmpty@@V?$SafeSet_Iterator@VStringKeyCI@@@@@@QAAXXZ +?Acquire@?$SafeMap_Lock@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@V?$SafeMap_Iterator@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@@@@@QAAXXZ +?Acquire@?$SafeMap_Lock@VStringKeyStore@@PAVExpiredOperationIdRecord@@V?$SafeMap_Iterator@VStringKeyStore@@PAVExpiredOperationIdRecord@@@@@@QAAXXZ +?Acquire@?$SafeMap_Lock@VStringKeyStore@@PAVServerFullDuplexChannel@@V?$SafeMap_Iterator@VStringKeyStore@@PAVServerFullDuplexChannel@@@@@@QAAXXZ +?Acquire@?$SafeMap_Lock@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@V?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@@QAAXXZ +?Acquire@?$SafeMap_Lock@_KPAVSendPacketArgs@RobustConnectionBuffer@@V?$SafeMap_Iterator@_KPAVSendPacketArgs@RobustConnectionBuffer@@@@@@QAAXXZ +?Acquire@CWSManCriticalSection@@QAAXXZ +?AcquireExclusive@FastLock@@QAAXXZ +?AcquireShared@FastLock@@QAAXXZ +?Acquired@?$SafeMap_Lock@PAVCCertMapping@@UEmpty@@V?$SafeMap_Iterator@PAVCCertMapping@@UEmpty@@@@@@QAA_NXZ +?Acquired@?$SafeMap_Lock@PAVCListenerConnect@@PAV1@V?$SafeMap_Iterator@PAVCListenerConnect@@PAV1@@@@@QAA_NXZ +?Acquired@?$SafeMap_Lock@PAVCListenerOperation@@UEmpty@@V?$SafeMap_Iterator@PAVCListenerOperation@@UEmpty@@@@@@QAA_NXZ +?Acquired@?$SafeMap_Lock@PAVCListenerReceive@@PAV1@V?$SafeMap_Iterator@PAVCListenerReceive@@PAV1@@@@@QAA_NXZ +?Acquired@?$SafeMap_Lock@PAVCListenerSend@@PAV1@V?$SafeMap_Iterator@PAVCListenerSend@@PAV1@@@@@QAA_NXZ +?Acquired@?$SafeMap_Lock@PAVCListenerSignal@@PAV1@V?$SafeMap_Iterator@PAVCListenerSignal@@PAV1@@@@@QAA_NXZ +?Acquired@?$SafeMap_Lock@PAVCShellUriSettings@@UEmpty@@V?$SafeMap_Iterator@PAVCShellUriSettings@@UEmpty@@@@@@QAA_NXZ +?Acquired@?$SafeMap_Lock@PAVCollector@@UEmpty@@V?$SafeMap_Iterator@PAVCollector@@UEmpty@@@@@@QAA_NXZ +?Acquired@?$SafeMap_Lock@PAVHostOperation@@UEmpty@@V?$SafeMap_Iterator@PAVHostOperation@@UEmpty@@@@@@QAA_NXZ +?Acquired@?$SafeMap_Lock@PAVIOperation@@UEmpty@@V?$SafeMap_Iterator@PAVIOperation@@UEmpty@@@@@@QAA_NXZ +?Acquired@?$SafeMap_Lock@PAVListenerSourceSubscription@@UEmpty@@V?$SafeMap_Iterator@PAVListenerSourceSubscription@@UEmpty@@@@@@QAA_NXZ +?Acquired@?$SafeMap_Lock@PAVPushSubscription@@UEmpty@@V?$SafeMap_Iterator@PAVPushSubscription@@UEmpty@@@@@@QAA_NXZ +?Acquired@?$SafeMap_Lock@PAXUEmpty@@V?$SafeMap_Iterator@PAXUEmpty@@@@@@QAA_NXZ +?Acquired@?$SafeMap_Lock@UPluginKey@@KV?$SafeMap_Iterator@UPluginKey@@K@@@@QAA_NXZ +?Acquired@?$SafeMap_Lock@UUserKey@@PAVBlockedRecord@@V?$SafeMap_Iterator@UUserKey@@PAVBlockedRecord@@@@@@QAA_NXZ +?Acquired@?$SafeMap_Lock@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@V?$SafeMap_Iterator@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@@@@@QAA_NXZ +?Acquired@?$SafeMap_Lock@VGuidKey@@PAVCListenerCommand@@V?$SafeMap_Iterator@VGuidKey@@PAVCListenerCommand@@@@@@QAA_NXZ +?Acquired@?$SafeMap_Lock@VKey@Locale@@KV?$SafeMap_Iterator@VKey@Locale@@K@@@@QAA_NXZ +?Acquired@?$SafeMap_Lock@VStringKeyCI@@KV?$SafeMap_Iterator@VStringKeyCI@@K@@@@QAA_NXZ +?Acquired@?$SafeMap_Lock@VStringKeyCI@@UEmpty@@V?$SafeMap_Iterator@VStringKeyCI@@UEmpty@@@@@@QAA_NXZ +?Acquired@?$SafeMap_Lock@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@V?$SafeMap_Iterator@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@@@@@QAA_NXZ +?Acquired@?$SafeMap_Lock@VStringKeyStore@@PAVExpiredOperationIdRecord@@V?$SafeMap_Iterator@VStringKeyStore@@PAVExpiredOperationIdRecord@@@@@@QAA_NXZ +?Acquired@?$SafeMap_Lock@VStringKeyStore@@PAVServerFullDuplexChannel@@V?$SafeMap_Iterator@VStringKeyStore@@PAVServerFullDuplexChannel@@@@@@QAA_NXZ +?Acquired@?$SafeMap_Lock@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@V?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@@QAA_NXZ +?Acquired@?$SafeMap_Lock@_KPAVSendPacketArgs@RobustConnectionBuffer@@V?$SafeMap_Iterator@_KPAVSendPacketArgs@RobustConnectionBuffer@@@@@@QAA_NXZ +?Add@?$SafeMap@PAVCCertMapping@@UEmpty@@V?$SafeSet_Iterator@PAVCCertMapping@@@@@@QAA_NABQAVCCertMapping@@ABUEmpty@@AAVIRequestContext@@@Z +?Add@?$SafeMap@PAVCListenerOperation@@UEmpty@@V?$SafeSet_Iterator@PAVCListenerOperation@@@@@@QAA_NABQAVCListenerOperation@@ABUEmpty@@AAVIRequestContext@@@Z +?Add@?$SafeMap@PAVCShellUriSettings@@UEmpty@@V?$SafeSet_Iterator@PAVCShellUriSettings@@@@@@QAA_NABQAVCShellUriSettings@@ABUEmpty@@AAVIRequestContext@@@Z +?Add@?$SafeMap@PAXUEmpty@@V?$SafeSet_Iterator@PAX@@@@QAA_NABQAXABUEmpty@@AAVIRequestContext@@@Z +?Add@?$SafeMap@UPluginKey@@KV?$SafeMap_Iterator@UPluginKey@@K@@@@QAA_NABUPluginKey@@ABKAAVIRequestContext@@@Z +?Add@?$SafeMap@UUserKey@@PAVBlockedRecord@@V?$SafeMap_Iterator@UUserKey@@PAVBlockedRecord@@@@@@QAA_NABUUserKey@@ABQAVBlockedRecord@@AAVIRequestContext@@@Z +?Add@?$SafeMap@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@V?$SafeMap_Iterator@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@@@@@QAA_NABVCertThumbprintKey@@ABVCertThumbprintMappedSet@CServiceConfigSettings@@AAVIRequestContext@@@Z +?Add@?$SafeMap@VKey@Locale@@KV?$SafeMap_Iterator@VKey@Locale@@K@@@@QAA_NABVKey@Locale@@ABKAAVIRequestContext@@@Z +?Add@?$SafeMap@VStringKeyCI@@KV?$SafeMap_Iterator@VStringKeyCI@@K@@@@QAA_NABVStringKeyCI@@ABKAAVIRequestContext@@@Z +?Add@?$SafeMap@VStringKeyCI@@UEmpty@@V?$SafeSet_Iterator@VStringKeyCI@@@@@@QAA_NABVStringKeyCI@@ABUEmpty@@AAVIRequestContext@@@Z +?Add@?$SafeMap@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@V?$SafeMap_Iterator@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@@@@@QAA_NABVStringKeyCI@@ABUUSER_CONTEXT_INFO@WSManHttpListener@@AAVIRequestContext@@@Z +?Add@?$SafeMap@VStringKeyStore@@PAVExpiredOperationIdRecord@@V?$SafeMap_Iterator@VStringKeyStore@@PAVExpiredOperationIdRecord@@@@@@QAA_NABVStringKeyStore@@ABQAVExpiredOperationIdRecord@@AAVIRequestContext@@@Z +?Add@?$SafeMap@VStringKeyStore@@PAVServerFullDuplexChannel@@V?$SafeMap_Iterator@VStringKeyStore@@PAVServerFullDuplexChannel@@@@@@QAA_NABVStringKeyStore@@ABQAVServerFullDuplexChannel@@AAVIRequestContext@@@Z +?Add@?$SafeMap@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@V?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@@QAA_NABW4WSManSessionOption@@ABQAVOptionValue@SessionOptions@Client@WSMan@@AAVIRequestContext@@@Z +?Add@?$SafeMap@_KPAVSendPacketArgs@RobustConnectionBuffer@@V?$SafeMap_Iterator@_KPAVSendPacketArgs@RobustConnectionBuffer@@@@@@QAA_NAB_KABQAVSendPacketArgs@RobustConnectionBuffer@@AAVIRequestContext@@@Z +?Add@?$SafeSet@PAVCCertMapping@@@@QAA_NABQAVCCertMapping@@AAVIRequestContext@@@Z +?Add@?$SafeSet@PAVCListenerOperation@@@@QAA_NABQAVCListenerOperation@@AAVIRequestContext@@@Z +?Add@?$SafeSet@PAVCShellUriSettings@@@@QAA_NABQAVCShellUriSettings@@AAVIRequestContext@@@Z +?Add@?$SafeSet@PAX@@QAA_NABQAXAAVIRequestContext@@@Z +?Add@?$SafeSet@VStringKeyCI@@@@QAA_NABVStringKeyCI@@AAVIRequestContext@@@Z +?AddDefaultPlugins@ConfigUpdate@@SAHPAVIRequestContext@@H@Z +?AddKey@CWSManResourceNoResourceUri@@QAAHPBG0PAVIRequestContext@@@Z +?AddMessage@CRequestContext@@AAAHPBGPAPAD1@Z +?AddOption@CWSManResourceNoResourceUri@@QAAHPBG0HPAVIRequestContext@@@Z +?AddOptionSet@CWSManResourceNoResourceUri@@QAAHPAU_WSMAN_OPTION_SET@@PAVIRequestContext@@@Z +?AddPacket@PacketParser@@QAA_NPAVPacket@@_N11@Z +?AddRef@CWSManSecurityUI@@UAAKXZ +?AddRef@ILifeTimeMgmt@@UAAJXZ +?AddRef@UserRecord@@QAA_NAAVIRequestContext@@@Z +?AddSource@CBaseConfigCache@@IAAHPAVIRequestContext@@PAVCConfigChangeSource@@@Z +?AddToMap@CBaseConfigCache@@AAAHPAVIRequestContext@@AAVAutoLocalFree@@@Z +?Alloc@WSManMemory@@SAPAXIHW4_NitsFaultMode@@@Z +?AllocBstr@WSManMemory@@SAPAGPBGHH@Z +?AllocBstrLen@WSManMemory@@SAPAGPBGIHH@Z +?AllocCache@CClientConfigCache@@CAPAVCBaseConfigCache@@XZ +?AllocCache@CServiceConfigCache@@CAPAVCBaseConfigCache@@XZ +?AllocCache@CWinRSPluginConfigCache@@CAPAVCBaseConfigCache@@XZ +?AllocSysString@TSTRBUFFER@@QBAJPAPAG@Z +?AllowBasic@CCommonConfigSettings@@UBAHXZ +?AllowClientCertificate@CCommonConfigSettings@@UBAHXZ +?AllowCredSsp@CCommonConfigSettings@@UBAHXZ +?AllowKerberos@CCommonConfigSettings@@UBAHXZ +?AllowNegotiate@CCommonConfigSettings@@UBAHXZ +?AllowUnencrypted@CCommonConfigSettings@@UBAHXZ +?Append@SBUFFER@@QAAJPAEI@Z +?Append@SBUFFER@@QAAJPAV1@@Z +?Append@TSTRBUFFER@@QAAJPBG@Z +?Append@TSTRBUFFER@@QAAJPBGII@Z +?AppendChar@TSTRBUFFER@@QAAJG@Z +?AppendEscapeXmlAttribute@TSTRBUFFER@@QAAJPBGG@Z +?AppendEscapeXmlContent@TSTRBUFFER@@QAAJPBG_N@Z +?AppendXmlElem@TSTRBUFFER@@QAAJPBG0HKPAU_XML_ATTRIB@@@Z +?AppendXmlElemWithNamespace@TSTRBUFFER@@QAAJPBG00HKPAU_XML_ATTRIB@@@Z +?AppendXmlElemWithNamespaceAndPrefix@TSTRBUFFER@@QAAJPBG000HKPAU_XML_ATTRIB@@@Z +?AppendXmlElemWithPrefix@TSTRBUFFER@@QAAJPBG00HKPAU_XML_ATTRIB@@@Z +?AppendXmlEndElem@TSTRBUFFER@@QAAJPBG@Z +?AppendXmlEndElemWithPrefix@TSTRBUFFER@@QAAJPBG0@Z +?AppendXmlEndFragment@TSTRBUFFER@@QAAJXZ +?AppendXmlEndItem@TSTRBUFFER@@QAAJXZ +?AppendXmlStartElem@TSTRBUFFER@@QAAJPBGHKPAU_XML_ATTRIB@@@Z +?AppendXmlStartElemWithNamespace@TSTRBUFFER@@QAAJPBG0HKPAU_XML_ATTRIB@@@Z +?AppendXmlStartElemWithNamespaceAndPrefix@TSTRBUFFER@@QAAJPBG00HKPAU_XML_ATTRIB@@@Z +?AppendXmlStartElemWithNamespaces@TSTRBUFFER@@QAAJPBGKPAU_XML_NAMESPACE_PREFIX@@HKPAU_XML_ATTRIB@@@Z +?AppendXmlStartElemWithNamespacesAndPrefixes@TSTRBUFFER@@QAAJPBG0KPAU_XML_NAMESPACE_PREFIX@@HKPAU_XML_ATTRIB@@@Z +?AppendXmlStartElemWithPrefix@TSTRBUFFER@@QAAJPBG0HKPAU_XML_ATTRIB@@@Z +?AppendXmlStartFragment@TSTRBUFFER@@QAAJXZ +?AppendXmlStartItem@TSTRBUFFER@@QAAJXZ +?ApplyQuota@UserRecord@@QAA_NW4OperationType@@AAVIRequestContext@@PBVProvider@Catalog@@PAVCServiceConfigSettings@@@Z +?ApplySecurity@ConfigRegistry@@IAAHPAVIRequestContext@@PAUHKEY__@@PBG2@Z +?AsReference@?$SafeMap@PAVCCertMapping@@UEmpty@@V?$SafeSet_Iterator@PAVCCertMapping@@@@@@QAAAAV1@XZ +?AsReference@?$SafeMap@PAVCListenerOperation@@UEmpty@@V?$SafeSet_Iterator@PAVCListenerOperation@@@@@@QAAAAV1@XZ +?AsReference@?$SafeMap@PAVCShellUriSettings@@UEmpty@@V?$SafeSet_Iterator@PAVCShellUriSettings@@@@@@QAAAAV1@XZ +?AsReference@?$SafeMap@PAXUEmpty@@V?$SafeSet_Iterator@PAX@@@@QAAAAV1@XZ +?AsReference@?$SafeMap@UPluginKey@@KV?$SafeMap_Iterator@UPluginKey@@K@@@@QAAAAV1@XZ +?AsReference@?$SafeMap@UUserKey@@PAVBlockedRecord@@V?$SafeMap_Iterator@UUserKey@@PAVBlockedRecord@@@@@@QAAAAV1@XZ +?AsReference@?$SafeMap@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@V?$SafeMap_Iterator@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@@@@@QAAAAV1@XZ +?AsReference@?$SafeMap@VKey@Locale@@KV?$SafeMap_Iterator@VKey@Locale@@K@@@@QAAAAV1@XZ +?AsReference@?$SafeMap@VStringKeyCI@@KV?$SafeMap_Iterator@VStringKeyCI@@K@@@@QAAAAV1@XZ +?AsReference@?$SafeMap@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@V?$SafeMap_Iterator@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@@@@@QAAAAV1@XZ +?AsReference@?$SafeMap@VStringKeyStore@@PAVExpiredOperationIdRecord@@V?$SafeMap_Iterator@VStringKeyStore@@PAVExpiredOperationIdRecord@@@@@@QAAAAV1@XZ +?AsReference@?$SafeMap@VStringKeyStore@@PAVServerFullDuplexChannel@@V?$SafeMap_Iterator@VStringKeyStore@@PAVServerFullDuplexChannel@@@@@@QAAAAV1@XZ +?AsReference@?$SafeMap@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@V?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@@QAAAAV1@XZ +?AsReference@?$SafeMap@_KPAVSendPacketArgs@RobustConnectionBuffer@@V?$SafeMap_Iterator@_KPAVSendPacketArgs@RobustConnectionBuffer@@@@@@QAAAAV1@XZ +?AuthzComplete@UserRecord@@UAAKPAX0W4AdministratorType@UserAuthzRecord@@KPBG@Z +?BOMS@PacketFormatter@@0QBUBOMInfo@1@B DATA +?BeginRevertToSelf@CSecurity@@SAHPAPAXK@Z +?BuildFragmentTransfer@CWSManResourceNoResourceUri@@UAAHAAVBufferFormatter@@@Z +?BuildOptionSet@CWSManResourceNoResourceUri@@QAAHAAVBufferFormatter@@@Z +?BuildSelectorSet@CWSManEPR@@UAAHAAVBufferFormatter@@@Z +?BuildSelectorSet@CWSManResourceNoResourceUri@@UAAHAAVBufferFormatter@@@Z +?CHARSETS@PacketFormatter@@0QBUCharsetInfo@1@B DATA +?ChangeLogging@CServiceConfigCache@@QAAXW4ErrorLogging@@@Z +?CheckSharedSSLConfiguration@ConfigRegistry@@IAAHPAVIRequestContext@@PBG1HPAH@Z +?Clear@?$SafeMap@UPluginKey@@KV?$SafeMap_Iterator@UPluginKey@@K@@@@QAAXXZ +?Clear@?$SafeMap@VStringKeyCI@@KV?$SafeMap_Iterator@VStringKeyCI@@K@@@@QAAXXZ +?Clear@?$SafeMap@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@V?$SafeMap_Iterator@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@@@@@QAAXXZ +?Clear@?$SafeMap@VStringKeyStore@@PAVExpiredOperationIdRecord@@V?$SafeMap_Iterator@VStringKeyStore@@PAVExpiredOperationIdRecord@@@@@@QAAXXZ +?ClearKeys@CWSManResourceNoResourceUri@@QAAHXZ +?ClearOptions@CWSManResourceNoResourceUri@@QAAHXZ +?ClearRegistryKeys@ConfigRegistry@@IAAHPAVIRequestContext@@@Z +?ClearSubKeys@@YAHPAUHKEY__@@PAVIRequestContext@@@Z +?CompleteWithErrorContext@CRequestContext@@QAAXPAU_WSMAN_PLUGIN_REQUEST@@@Z +?Confirm@ExtendedSemantic@@2KB +?Copy@TSTRBUFFER@@QAAJPBG@Z +?CopyString@@YAPAGPAVIRequestContext@@W4CallSiteId@@PBG@Z +?CopyString@@YAPAGPBGABHAAVIRequestContext@@@Z +?CopyString@MessageId@PacketParser@@QAAKPBGH@Z +?CopyTo@CErrorContext@@UBAXPAVIRequestContext@@@Z +?CopyTo@CRequestContext@@UBAXPAVIRequestContext@@@Z +?CreateActivityId@EventHandler@WSMan@@SAXAAU_GUID@@@Z +?CreateAnEvent@SoapSemanticConverter@@QAAKKPAVSemanticMessage@@AAVBufferFormatter@@PAVIRequestContext@@@Z +?CreateAutoConfiguredListener@CConfigManager@@AAAHPAVIRequestContext@@PAVLISTENER_IDENTITY@@@Z +?CreateInstance@?$ILoader@VAdminSid@CSecurity@@@@IAA_NAAVIRequestContext@@@Z +?CreateInstance@?$ILoader@VCredUIDllLoader@@@@IAA_NAAVIRequestContext@@@Z +?CreateInstance@?$ILoader@VEventHandler@WSMan@@@@IAA_NAAVIRequestContext@@@Z +?CreateInstance@?$ILoader@VInteractiveSid@CSecurity@@@@IAA_NAAVIRequestContext@@@Z +?CreateInstance@?$ILoader@VIpHlpApiDllLoader@@@@IAA_NAAVIRequestContext@@@Z +?CreateInstance@?$ILoader@VMachineName@@@@IAA_NAAVIRequestContext@@@Z +?CreateInstance@?$ILoader@VNetworkServiceSid@CSecurity@@@@IAA_NAAVIRequestContext@@@Z +?CreateInstance@?$ILoader@VNtDsApiDllLoader@@@@IAA_NAAVIRequestContext@@@Z +?CreateInstance@?$ILoader@VResources@Locale@@@@IAA_NAAVIRequestContext@@@Z +?CreateInstance@?$ILoader@VShell32DllLoader@@@@IAA_NAAVIRequestContext@@@Z +?CreateInstance@?$ILoader@VShlWApiDllLoader@@@@IAA_NAAVIRequestContext@@@Z +?CreateInstance@?$ILoader@VSubscriptionManager@@@@IAA_NAAVIRequestContext@@@Z +?CreateInstance@?$ILoader@VUser32DllLoader@@@@IAA_NAAVIRequestContext@@@Z +?CreateInstance@?$ILoader@VWSManMemCryptManager@@@@IAA_NAAVIRequestContext@@@Z +?CreateKey@ConfigRegistry@@IAAHPAVIRequestContext@@PBGPAPAUHKEY__@@1KPAK@Z +?CreateNew@CBaseConfigCache@@CAPAV1@PAVIRequestContext@@PAVCConfigCacheMap@1@P6APAV1@XZW4ErrorLogging@@H@Z +CreateProvHost +?CreateRenderingInformation@CWSManSecurityUI@@AAAHPAVIRequestContext@@@Z +?CreateResponse@SoapSemanticConverter@@QAAKKW4_MI_OperationCallback_ResponseType@@AAVBufferFormatter@@PAVIRequestContext@@@Z +?CreateSessionGuid@SessionId@PacketParser@@QAAKPBGH@Z +?Data@?$SafeMap_Iterator@PAVCCertMapping@@UEmpty@@@@IBAAAV?$STLMap@PAVCCertMapping@@UEmpty@@@@XZ +?Data@?$SafeMap_Iterator@PAVCListenerOperation@@UEmpty@@@@IBAAAV?$STLMap@PAVCListenerOperation@@UEmpty@@@@XZ +?Data@?$SafeMap_Iterator@PAVCShellUriSettings@@UEmpty@@@@IBAAAV?$STLMap@PAVCShellUriSettings@@UEmpty@@@@XZ +?Data@?$SafeMap_Iterator@PAXUEmpty@@@@IBAAAV?$STLMap@PAXUEmpty@@@@XZ +?Data@?$SafeMap_Iterator@UPluginKey@@K@@IBAAAV?$STLMap@UPluginKey@@K@@XZ +?Data@?$SafeMap_Iterator@UUserKey@@PAVBlockedRecord@@@@IBAAAV?$STLMap@UUserKey@@PAVBlockedRecord@@@@XZ +?Data@?$SafeMap_Iterator@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@@@IBAAAV?$STLMap@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@@@XZ +?Data@?$SafeMap_Iterator@VKey@Locale@@K@@IBAAAV?$STLMap@VKey@Locale@@K@@XZ +?Data@?$SafeMap_Iterator@VStringKeyCI@@K@@IBAAAV?$STLMap@VStringKeyCI@@K@@XZ +?Data@?$SafeMap_Iterator@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@@@IBAAAV?$STLMap@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@@@XZ +?Data@?$SafeMap_Iterator@VStringKeyStore@@PAVExpiredOperationIdRecord@@@@IBAAAV?$STLMap@VStringKeyStore@@PAVExpiredOperationIdRecord@@@@XZ +?Data@?$SafeMap_Iterator@VStringKeyStore@@PAVServerFullDuplexChannel@@@@IBAAAV?$STLMap@VStringKeyStore@@PAVServerFullDuplexChannel@@@@XZ +?Data@?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@IBAAAV?$STLMap@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@XZ +?Data@?$SafeMap_Iterator@_KPAVSendPacketArgs@RobustConnectionBuffer@@@@IBAAAV?$STLMap@_KPAVSendPacketArgs@RobustConnectionBuffer@@@@XZ +?DeInitialize@?$SafeMap@PAVCCertMapping@@UEmpty@@V?$SafeMap_Iterator@PAVCCertMapping@@UEmpty@@@@@@UAA_NAAVIRequestContext@@@Z +?DeInitialize@?$SafeMap@PAVCCertMapping@@UEmpty@@V?$SafeSet_Iterator@PAVCCertMapping@@@@@@UAA_NAAVIRequestContext@@@Z +?DeInitialize@?$SafeMap@PAVCListenerConnect@@PAV1@V?$SafeMap_Iterator@PAVCListenerConnect@@PAV1@@@@@UAA_NAAVIRequestContext@@@Z +?DeInitialize@?$SafeMap@PAVCListenerOperation@@UEmpty@@V?$SafeMap_Iterator@PAVCListenerOperation@@UEmpty@@@@@@UAA_NAAVIRequestContext@@@Z +?DeInitialize@?$SafeMap@PAVCListenerOperation@@UEmpty@@V?$SafeSet_Iterator@PAVCListenerOperation@@@@@@UAA_NAAVIRequestContext@@@Z +?DeInitialize@?$SafeMap@PAVCListenerReceive@@PAV1@V?$SafeMap_Iterator@PAVCListenerReceive@@PAV1@@@@@UAA_NAAVIRequestContext@@@Z +?DeInitialize@?$SafeMap@PAVCListenerSend@@PAV1@V?$SafeMap_Iterator@PAVCListenerSend@@PAV1@@@@@UAA_NAAVIRequestContext@@@Z +?DeInitialize@?$SafeMap@PAVCListenerSignal@@PAV1@V?$SafeMap_Iterator@PAVCListenerSignal@@PAV1@@@@@UAA_NAAVIRequestContext@@@Z +?DeInitialize@?$SafeMap@PAVCShellUriSettings@@UEmpty@@V?$SafeSet_Iterator@PAVCShellUriSettings@@@@@@UAA_NAAVIRequestContext@@@Z +?DeInitialize@?$SafeMap@PAVCollector@@UEmpty@@V?$SafeMap_Iterator@PAVCollector@@UEmpty@@@@@@UAA_NAAVIRequestContext@@@Z +?DeInitialize@?$SafeMap@PAVCollector@@UEmpty@@V?$SafeSet_Iterator@PAVCollector@@@@@@UAA_NAAVIRequestContext@@@Z +?DeInitialize@?$SafeMap@PAVHostOperation@@UEmpty@@V?$SafeMap_Iterator@PAVHostOperation@@UEmpty@@@@@@UAA_NAAVIRequestContext@@@Z +?DeInitialize@?$SafeMap@PAVHostOperation@@UEmpty@@V?$SafeSet_Iterator@PAVHostOperation@@@@@@UAA_NAAVIRequestContext@@@Z +?DeInitialize@?$SafeMap@PAVIOperation@@UEmpty@@V?$SafeMap_Iterator@PAVIOperation@@UEmpty@@@@@@UAA_NAAVIRequestContext@@@Z +?DeInitialize@?$SafeMap@PAVIOperation@@UEmpty@@V?$SafeSet_Iterator@PAVIOperation@@@@@@UAA_NAAVIRequestContext@@@Z +?DeInitialize@?$SafeMap@PAVListenerSourceSubscription@@UEmpty@@V?$SafeMap_Iterator@PAVListenerSourceSubscription@@UEmpty@@@@@@UAA_NAAVIRequestContext@@@Z +?DeInitialize@?$SafeMap@PAVListenerSourceSubscription@@UEmpty@@V?$SafeSet_Iterator@PAVListenerSourceSubscription@@@@@@UAA_NAAVIRequestContext@@@Z +?DeInitialize@?$SafeMap@PAVPushSubscription@@UEmpty@@V?$SafeMap_Iterator@PAVPushSubscription@@UEmpty@@@@@@UAA_NAAVIRequestContext@@@Z +?DeInitialize@?$SafeMap@PAVPushSubscription@@UEmpty@@V?$SafeSet_Iterator@PAVPushSubscription@@@@@@UAA_NAAVIRequestContext@@@Z +?DeInitialize@?$SafeMap@PAXUEmpty@@V?$SafeSet_Iterator@PAX@@@@UAA_NAAVIRequestContext@@@Z +?DeInitialize@?$SafeMap@UPluginKey@@KV?$SafeMap_Iterator@UPluginKey@@K@@@@UAA_NAAVIRequestContext@@@Z +?DeInitialize@?$SafeMap@UUserKey@@PAVBlockedRecord@@V?$SafeMap_Iterator@UUserKey@@PAVBlockedRecord@@@@@@UAA_NAAVIRequestContext@@@Z +?DeInitialize@?$SafeMap@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@V?$SafeMap_Iterator@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@@@@@UAA_NAAVIRequestContext@@@Z +?DeInitialize@?$SafeMap@VGuidKey@@PAVCListenerCommand@@V?$SafeMap_Iterator@VGuidKey@@PAVCListenerCommand@@@@@@UAA_NAAVIRequestContext@@@Z +?DeInitialize@?$SafeMap@VKey@CWmiPtrCache@@VMapping@2@V?$SafeMap_Iterator@VKey@CWmiPtrCache@@VMapping@2@@@@@UAA_NAAVIRequestContext@@@Z +?DeInitialize@?$SafeMap@VKey@Locale@@KV?$SafeMap_Iterator@VKey@Locale@@K@@@@UAA_NAAVIRequestContext@@@Z +?DeInitialize@?$SafeMap@VStringKey@@PAVListenerEvents@@V?$SafeMap_Iterator@VStringKey@@PAVListenerEvents@@@@@@UAA_NAAVIRequestContext@@@Z +?DeInitialize@?$SafeMap@VStringKey@@PAVListenerSourceSubscription@@V?$SafeMap_Iterator@VStringKey@@PAVListenerSourceSubscription@@@@@@UAA_NAAVIRequestContext@@@Z +?DeInitialize@?$SafeMap@VStringKey@@UOption@WinRM_OperationOptions@@V?$SafeMap_Iterator@VStringKey@@UOption@WinRM_OperationOptions@@@@@@UAA_NAAVIRequestContext@@@Z +?DeInitialize@?$SafeMap@VStringKeyCI@@KV?$SafeMap_Iterator@VStringKeyCI@@K@@@@UAA_NAAVIRequestContext@@@Z +?DeInitialize@?$SafeMap@VStringKeyCI@@PAVIISEndpoint@@V?$SafeMap_Iterator@VStringKeyCI@@PAVIISEndpoint@@@@@@UAA_NAAVIRequestContext@@@Z +?DeInitialize@?$SafeMap@VStringKeyCI@@UEmpty@@V?$SafeMap_Iterator@VStringKeyCI@@UEmpty@@@@@@UAA_NAAVIRequestContext@@@Z +?DeInitialize@?$SafeMap@VStringKeyCI@@UEmpty@@V?$SafeSet_Iterator@VStringKeyCI@@@@@@UAA_NAAVIRequestContext@@@Z +?DeInitialize@?$SafeMap@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@V?$SafeMap_Iterator@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@@@@@UAA_NAAVIRequestContext@@@Z +?DeInitialize@?$SafeMap@VStringKeyStore@@PAVExpiredOperationIdRecord@@V?$SafeMap_Iterator@VStringKeyStore@@PAVExpiredOperationIdRecord@@@@@@UAA_NAAVIRequestContext@@@Z +?DeInitialize@?$SafeMap@VStringKeyStore@@PAVServerFullDuplexChannel@@V?$SafeMap_Iterator@VStringKeyStore@@PAVServerFullDuplexChannel@@@@@@UAA_NAAVIRequestContext@@@Z +?DeInitialize@?$SafeMap@VTokenCacheKey@ServiceSoapProcessor@@VTokenCacheMapping@2@V?$SafeMap_Iterator@VTokenCacheKey@ServiceSoapProcessor@@VTokenCacheMapping@2@@@@@UAA_NAAVIRequestContext@@@Z +?DeInitialize@?$SafeMap@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@V?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@@UAA_NAAVIRequestContext@@@Z +?DeInitialize@?$SafeMap@_KPAVSendPacketArgs@RobustConnectionBuffer@@V?$SafeMap_Iterator@_KPAVSendPacketArgs@RobustConnectionBuffer@@@@@@UAA_NAAVIRequestContext@@@Z +?DeInitialize@CWSManGroupPolicyManager@@AAAHXZ +?DeInitialize@EventHandler@WSMan@@QAA_NAAVIRequestContext@@@Z +?Debug@ExtendedSemantic@@2KB +?Decode@PacketFormatter@@QBAKPAPAVPacket@@@Z +?DecodeFaultObject@CRequestContext@@AAAKPAU_FWXML_ELEMENT@@AAPBG11@Z +?DecodeFaultObject@CRequestContext@@AAAKPBGKAAPBG11@Z +?DecodeFaultObjectProvider@CRequestContext@@AAAKPAU_FWXML_ELEMENT@@AAPBG1@Z +?DecodeFaultObjectProviderMessage@CRequestContext@@AAAKPAU_FWXML_ELEMENT@@AAPBG@Z +?DecodeFaultReason@CRequestContext@@AAAKPAU_FWXML_ELEMENT@@AAPBG@Z +?DecreaseProfileCount@UserRecord@@QAAXXZ +?DeleteConfigKey@ConfigRegistry@@KAHPAVIRequestContext@@PBG1H@Z +?DeleteCredentialsFromCredmanStore@CConfigManager@@SAHPAVIRequestContext@@PAG@Z +?DeleteKey@@YAHPAVIRequestContext@@PBG1@Z +?DeleteKey@ConfigRegistry@@KAHPAVIRequestContext@@PBGH@Z +?DeleteSubkeys@ConfigRegistry@@KAHPAVIRequestContext@@PAUHKEY__@@PBGHH@Z +?DeleteValues@ConfigRegistry@@KAHPAVIRequestContext@@PAUHKEY__@@@Z +?Detach@?$AutoCleanup@V?$AutoDelete@G@@PAG@@QAAPAGXZ +?Detach@?$AutoCleanup@V?$AutoDelete@UIPRange@CWSManIPFilter@@@@PAUIPRange@CWSManIPFilter@@@@QAAPAUIPRange@CWSManIPFilter@@XZ +?Detach@?$AutoCleanup@V?$AutoDelete@U_WSMAN_STREAM_ID_SET@@@@PAU_WSMAN_STREAM_ID_SET@@@@QAAPAU_WSMAN_STREAM_ID_SET@@XZ +?Detach@?$AutoCleanup@V?$AutoDelete@V?$Handle@VISubscription@@@@@@PAV?$Handle@VISubscription@@@@@@QAAPAV?$Handle@VISubscription@@@@XZ +?Detach@?$AutoCleanup@V?$AutoDelete@V?$SafeSet@PAVCCertMapping@@@@@@PAV?$SafeSet@PAVCCertMapping@@@@@@QAAPAV?$SafeSet@PAVCCertMapping@@@@XZ +?Detach@?$AutoCleanup@V?$AutoDelete@V?$SafeSet@PAVCShellUriSettings@@@@@@PAV?$SafeSet@PAVCShellUriSettings@@@@@@QAAPAV?$SafeSet@PAVCShellUriSettings@@@@XZ +?Detach@?$AutoCleanup@V?$AutoDelete@V?$set@PAVCListenerSettings@@VCListenerSettingsLessFunctor@CServiceConfigSettings@@V?$transport_allocator@PAVCListenerSettings@@@@@std@@@@PAV?$set@PAVCListenerSettings@@VCListenerSettingsLessFunctor@CServiceConfigSettings@@V?$transport_allocator@PAVCListenerSettings@@@@@std@@@@QAAPAV?$set@PAVCListenerSettings@@VCListenerSettingsLessFunctor@CServiceConfigSettings@@V?$transport_allocator@PAVCListenerSettings@@@@@std@@XZ +?Detach@?$AutoCleanup@V?$AutoDelete@VAdminSid@CSecurity@@@@PAVAdminSid@CSecurity@@@@QAAPAVAdminSid@CSecurity@@XZ +?Detach@?$AutoCleanup@V?$AutoDelete@VBlockedRecord@@@@PAVBlockedRecord@@@@QAAPAVBlockedRecord@@XZ +?Detach@?$AutoCleanup@V?$AutoDelete@VCBaseConfigCache@@@@PAVCBaseConfigCache@@@@QAAPAVCBaseConfigCache@@XZ +?Detach@?$AutoCleanup@V?$AutoDelete@VCCertMapping@@@@PAVCCertMapping@@@@QAAPAVCCertMapping@@XZ +?Detach@?$AutoCleanup@V?$AutoDelete@VCListenerSettings@@@@PAVCListenerSettings@@@@QAAPAVCListenerSettings@@XZ +?Detach@?$AutoCleanup@V?$AutoDelete@VCServiceWatcher@CServiceConfigCache@@@@PAVCServiceWatcher@CServiceConfigCache@@@@QAAPAVCServiceWatcher@CServiceConfigCache@@XZ +?Detach@?$AutoCleanup@V?$AutoDelete@VCShellUriSettings@@@@PAVCShellUriSettings@@@@QAAPAVCShellUriSettings@@XZ +?Detach@?$AutoCleanup@V?$AutoDelete@VCWSManEPR@@@@PAVCWSManEPR@@@@QAAPAVCWSManEPR@@XZ +?Detach@?$AutoCleanup@V?$AutoDelete@VCWSManResource@@@@PAVCWSManResource@@@@QAAPAVCWSManResource@@XZ +?Detach@?$AutoCleanup@V?$AutoDelete@VCertHash@@@@PAVCertHash@@@@QAAPAVCertHash@@XZ +?Detach@?$AutoCleanup@V?$AutoDelete@VConfigUpdate@@@@PAVConfigUpdate@@@@QAAPAVConfigUpdate@@XZ +?Detach@?$AutoCleanup@V?$AutoDelete@VCredUIDllLoader@@@@PAVCredUIDllLoader@@@@QAAPAVCredUIDllLoader@@XZ +?Detach@?$AutoCleanup@V?$AutoDelete@VEnumSinkEx@@@@PAVEnumSinkEx@@@@QAAPAVEnumSinkEx@@XZ +?Detach@?$AutoCleanup@V?$AutoDelete@VEventHandler@WSMan@@@@PAVEventHandler@WSMan@@@@QAAPAVEventHandler@WSMan@@XZ +?Detach@?$AutoCleanup@V?$AutoDelete@VExpiredOperationIdRecord@@@@PAVExpiredOperationIdRecord@@@@QAAPAVExpiredOperationIdRecord@@XZ +?Detach@?$AutoCleanup@V?$AutoDelete@VGeneralSinkEx@@@@PAVGeneralSinkEx@@@@QAAPAVGeneralSinkEx@@XZ +?Detach@?$AutoCleanup@V?$AutoDelete@VIQueryDASHSMASHInterface@@@@PAVIQueryDASHSMASHInterface@@@@QAAPAVIQueryDASHSMASHInterface@@XZ +?Detach@?$AutoCleanup@V?$AutoDelete@VISpecification@@@@PAVISpecification@@@@QAAPAVISpecification@@XZ +?Detach@?$AutoCleanup@V?$AutoDelete@VInteractiveSid@CSecurity@@@@PAVInteractiveSid@CSecurity@@@@QAAPAVInteractiveSid@CSecurity@@XZ +?Detach@?$AutoCleanup@V?$AutoDelete@VIpHlpApiDllLoader@@@@PAVIpHlpApiDllLoader@@@@QAAPAVIpHlpApiDllLoader@@XZ +?Detach@?$AutoCleanup@V?$AutoDelete@VMachineName@@@@PAVMachineName@@@@QAAPAVMachineName@@XZ +?Detach@?$AutoCleanup@V?$AutoDelete@VNetworkServiceSid@CSecurity@@@@PAVNetworkServiceSid@CSecurity@@@@QAAPAVNetworkServiceSid@CSecurity@@XZ +?Detach@?$AutoCleanup@V?$AutoDelete@VNtDsApiDllLoader@@@@PAVNtDsApiDllLoader@@@@QAAPAVNtDsApiDllLoader@@XZ +?Detach@?$AutoCleanup@V?$AutoDelete@VOptionValue@SessionOptions@Client@WSMan@@@@PAVOptionValue@SessionOptions@Client@WSMan@@@@QAAPAVOptionValue@SessionOptions@Client@WSMan@@XZ +?Detach@?$AutoCleanup@V?$AutoDelete@VResources@Locale@@@@PAVResources@Locale@@@@QAAPAVResources@Locale@@XZ +?Detach@?$AutoCleanup@V?$AutoDelete@VSecurityEntry@Catalog@@@@PAVSecurityEntry@Catalog@@@@QAAPAVSecurityEntry@Catalog@@XZ +?Detach@?$AutoCleanup@V?$AutoDelete@VServiceSoapProcessor@@@@PAVServiceSoapProcessor@@@@QAAPAVServiceSoapProcessor@@XZ +?Detach@?$AutoCleanup@V?$AutoDelete@VShell32DllLoader@@@@PAVShell32DllLoader@@@@QAAPAVShell32DllLoader@@XZ +?Detach@?$AutoCleanup@V?$AutoDelete@VShlWApiDllLoader@@@@PAVShlWApiDllLoader@@@@QAAPAVShlWApiDllLoader@@XZ +?Detach@?$AutoCleanup@V?$AutoDelete@VSubscriptionManager@@@@PAVSubscriptionManager@@@@QAAPAVSubscriptionManager@@XZ +?Detach@?$AutoCleanup@V?$AutoDelete@VTSTRBUFFER@@@@PAVTSTRBUFFER@@@@QAAPAVTSTRBUFFER@@XZ +?Detach@?$AutoCleanup@V?$AutoDelete@VUser32DllLoader@@@@PAVUser32DllLoader@@@@QAAPAVUser32DllLoader@@XZ +?Detach@?$AutoCleanup@V?$AutoDelete@VWSManMemCryptManager@@@@PAVWSManMemCryptManager@@@@QAAPAVWSManMemCryptManager@@XZ +?Detach@?$AutoCleanup@V?$AutoDelete@VWmiEnumContext@@@@PAVWmiEnumContext@@@@QAAPAVWmiEnumContext@@XZ +?Detach@?$AutoCleanup@V?$AutoDelete@VXmlReader@@@@PAVXmlReader@@@@QAAPAVXmlReader@@XZ +?Detach@?$AutoCleanup@V?$AutoDeleteVector@$$CBG@@PBG@@QAAPBGXZ +?Detach@?$AutoCleanup@V?$AutoDeleteVector@D@@PAD@@QAAPADXZ +?Detach@?$AutoCleanup@V?$AutoDeleteVector@E@@PAE@@QAAPAEXZ +?Detach@?$AutoCleanup@V?$AutoDeleteVector@G@@PAG@@QAAPAGXZ +?Detach@?$AutoCleanup@V?$AutoDeleteVector@PAG@@PAPAG@@QAAPAPAGXZ +?Detach@?$AutoCleanup@V?$AutoDeleteVector@PBG@@PAPBG@@QAAPAPBGXZ +?Detach@?$AutoCleanup@V?$AutoDeleteVector@U_WINRS_CREATE_SHELL_ENVIRONMENT_VARIABLE@@@@PAU_WINRS_CREATE_SHELL_ENVIRONMENT_VARIABLE@@@@QAAPAU_WINRS_CREATE_SHELL_ENVIRONMENT_VARIABLE@@XZ +?Detach@?$AutoCleanup@V?$AutoDeleteVector@U_WINRS_RUN_COMMAND_ARG@@@@PAU_WINRS_RUN_COMMAND_ARG@@@@QAAPAU_WINRS_RUN_COMMAND_ARG@@XZ +?Detach@?$AutoCleanup@V?$AutoDeleteVector@U_WSMAN_OPTION@@@@PAU_WSMAN_OPTION@@@@QAAPAU_WSMAN_OPTION@@XZ +?Detach@?$AutoCleanup@V?$AutoFree@E@@PAE@@QAAPAEXZ +?Detach@?$AutoCleanup@V?$AutoLocklessItemRecycle@VPacket@@@@PAVPacket@@@@QAAPAVPacket@@XZ +?Detach@?$AutoCleanup@V?$AutoRelease@UIClientSecurity@@@@PAUIClientSecurity@@@@QAAPAUIClientSecurity@@XZ +?Detach@?$AutoCleanup@V?$AutoRelease@UIEnumWbemClassObject@@@@PAUIEnumWbemClassObject@@@@QAAPAUIEnumWbemClassObject@@XZ +?Detach@?$AutoCleanup@V?$AutoRelease@UIErrorInfo@@@@PAUIErrorInfo@@@@QAAPAUIErrorInfo@@XZ +?Detach@?$AutoCleanup@V?$AutoRelease@UIUnknown@@@@PAUIUnknown@@@@QAAPAUIUnknown@@XZ +?Detach@?$AutoCleanup@V?$AutoRelease@UIWbemClassObject@@@@PAUIWbemClassObject@@@@QAAPAUIWbemClassObject@@XZ +?Detach@?$AutoCleanup@V?$AutoRelease@UIWbemContext@@@@PAUIWbemContext@@@@QAAPAUIWbemContext@@XZ +?Detach@?$AutoCleanup@V?$AutoRelease@UIWbemLocator@@@@PAUIWbemLocator@@@@QAAPAUIWbemLocator@@XZ +?Detach@?$AutoCleanup@V?$AutoRelease@UIWbemObjectTextSrc@@@@PAUIWbemObjectTextSrc@@@@QAAPAUIWbemObjectTextSrc@@XZ +?Detach@?$AutoCleanup@V?$AutoRelease@UIWbemPath@@@@PAUIWbemPath@@@@QAAPAUIWbemPath@@XZ +?Detach@?$AutoCleanup@V?$AutoRelease@UIWbemPathKeyList@@@@PAUIWbemPathKeyList@@@@QAAPAUIWbemPathKeyList@@XZ +?Detach@?$AutoCleanup@V?$AutoRelease@UIWbemQualifierSet@@@@PAUIWbemQualifierSet@@@@QAAPAUIWbemQualifierSet@@XZ +?Detach@?$AutoCleanup@V?$AutoRelease@UIWbemQuery@@@@PAUIWbemQuery@@@@QAAPAUIWbemQuery@@XZ +?Detach@?$AutoCleanup@V?$AutoRelease@UIWbemServices@@@@PAUIWbemServices@@@@QAAPAUIWbemServices@@XZ +?Detach@?$AutoCleanup@V?$AutoRelease@VApplication@Client@WSMan@@@@PAVApplication@Client@WSMan@@@@QAAPAVApplication@Client@WSMan@@XZ +?Detach@?$AutoCleanup@V?$AutoRelease@VCBaseConfigCache@@@@PAVCBaseConfigCache@@@@QAAPAVCBaseConfigCache@@XZ +?Detach@?$AutoCleanup@V?$AutoRelease@VCClientConfigSettings@@@@PAVCClientConfigSettings@@@@QAAPAVCClientConfigSettings@@XZ +?Detach@?$AutoCleanup@V?$AutoRelease@VCCommonConfigSettings@@@@PAVCCommonConfigSettings@@@@QAAPAVCCommonConfigSettings@@XZ +?Detach@?$AutoCleanup@V?$AutoRelease@VCConfigManager@@@@PAVCConfigManager@@@@QAAPAVCConfigManager@@XZ +?Detach@?$AutoCleanup@V?$AutoRelease@VCRemoteSession@@@@PAVCRemoteSession@@@@QAAPAVCRemoteSession@@XZ +?Detach@?$AutoCleanup@V?$AutoRelease@VCRequestContext@@@@PAVCRequestContext@@@@QAAPAVCRequestContext@@XZ +?Detach@?$AutoCleanup@V?$AutoRelease@VCServiceConfigSettings@@@@PAVCServiceConfigSettings@@@@QAAPAVCServiceConfigSettings@@XZ +?Detach@?$AutoCleanup@V?$AutoRelease@VCWSManEPR@@@@PAVCWSManEPR@@@@QAAPAVCWSManEPR@@XZ +?Detach@?$AutoCleanup@V?$AutoRelease@VCWSManGroupPolicyCache@@@@PAVCWSManGroupPolicyCache@@@@QAAPAVCWSManGroupPolicyCache@@XZ +?Detach@?$AutoCleanup@V?$AutoRelease@VCWSManGroupPolicyManager@@@@PAVCWSManGroupPolicyManager@@@@QAAPAVCWSManGroupPolicyManager@@XZ +?Detach@?$AutoCleanup@V?$AutoRelease@VCWSManObject@@@@PAVCWSManObject@@@@QAAPAVCWSManObject@@XZ +?Detach@?$AutoCleanup@V?$AutoRelease@VCWinRSPluginConfigCache@@@@PAVCWinRSPluginConfigCache@@@@QAAPAVCWinRSPluginConfigCache@@XZ +?Detach@?$AutoCleanup@V?$AutoRelease@VCWinRSPluginConfigSettings@@@@PAVCWinRSPluginConfigSettings@@@@QAAPAVCWinRSPluginConfigSettings@@XZ +?Detach@?$AutoCleanup@V?$AutoRelease@VCommand@Client@WSMan@@@@PAVCommand@Client@WSMan@@@@QAAPAVCommand@Client@WSMan@@XZ +?Detach@?$AutoCleanup@V?$AutoRelease@VEnumSinkEx@@@@PAVEnumSinkEx@@@@QAAPAVEnumSinkEx@@XZ +?Detach@?$AutoCleanup@V?$AutoRelease@VGeneralSinkEx@@@@PAVGeneralSinkEx@@@@QAAPAVGeneralSinkEx@@XZ +?Detach@?$AutoCleanup@V?$AutoRelease@VIPCSoapProcessor@@@@PAVIPCSoapProcessor@@@@QAAPAVIPCSoapProcessor@@XZ +?Detach@?$AutoCleanup@V?$AutoRelease@VIRequestContext@@@@PAVIRequestContext@@@@QAAPAVIRequestContext@@XZ +?Detach@?$AutoCleanup@V?$AutoRelease@VReceiveOperation@Client@WSMan@@@@PAVReceiveOperation@Client@WSMan@@@@QAAPAVReceiveOperation@Client@WSMan@@XZ +?Detach@?$AutoCleanup@V?$AutoRelease@VSendOperation@Client@WSMan@@@@PAVSendOperation@Client@WSMan@@@@QAAPAVSendOperation@Client@WSMan@@XZ +?Detach@?$AutoCleanup@V?$AutoRelease@VShell@Client@WSMan@@@@PAVShell@Client@WSMan@@@@QAAPAVShell@Client@WSMan@@XZ +?Detach@?$AutoCleanup@V?$AutoRelease@VSignalOperation@Client@WSMan@@@@PAVSignalOperation@Client@WSMan@@@@QAAPAVSignalOperation@Client@WSMan@@XZ +?Detach@?$AutoCleanup@VAutoBstrNoAlloc@@PAG@@QAAPAGXZ +?Detach@?$AutoCleanup@VAutoCertContext@@PBU_CERT_CONTEXT@@@@QAAPBU_CERT_CONTEXT@@XZ +?Detach@?$AutoCleanup@VAutoHandle@@PAX@@QAAPAXXZ +?Detach@?$AutoCleanup@VAutoImpersonateUser@@PAX@@QAAPAXXZ +?Detach@?$AutoCleanup@VAutoLocalFree@@PAX@@QAAPAXXZ +?Detach@?$AutoCleanup@VAutoMIClass@@PAU_MI_Class@@@@QAAPAU_MI_Class@@XZ +?Detach@?$AutoCleanup@VAutoMIInstance@@PAU_MI_Instance@@@@QAAPAU_MI_Instance@@XZ +?Detach@?$AutoCleanup@VAutoRegKey@@PAUHKEY__@@@@QAAPAUHKEY__@@XZ +?Detach@?$AutoCleanup@VAutoSecurityDescriptor@@PAX@@QAAPAXXZ +?Detach@?$AutoCleanup@VAutoWaitHandle@@PAX@@QAAPAXXZ +?Detach@BufferFormatter@@QAAPAEXZ +?Discard@CServiceWatcher@CServiceConfigCache@@QAAXXZ +?DoOnChange@CBaseConfigCache@@IAAXW4ConfigChangeSources@@KW4ConfigChangeSeverityType@@@Z +?DoesThreadOwnLock@CWSManCriticalSection@@QAAHXZ +?Down@?$LoaderSerializer@VSubscriptionManager@@$01@@AAAJXZ +?DropData@CircularBufferFormatter@@QAAXK@Z +?DuplicateCurrentToken@CSecurity@@SAHPAPAXKPAU_SECURITY_ATTRIBUTES@@W4_SECURITY_IMPERSONATION_LEVEL@@W4_TOKEN_TYPE@@H@Z +?EnableAllPrivileges@@YAHPAPAE@Z +?Encode@PacketFormatter@@QBAKPAPAVPacket@@@Z +?Encode@PacketFormatter@@QBAKPBGKPAEKPAPAEPAK_N@Z +?EndOfStream@PacketParser@@QAAXK@Z +?EndRevertToSelf@CSecurity@@SAHPAX@Z +?EnsureActivityIdOnThread@EventHandler@WSMan@@SAXXZ +?EnsureNoActiveCaches@CClientConfigCache@@SAXXZ +?EnsureNoActiveCaches@CServiceConfigCache@@SAXXZ +?Error@EventLog@@SAXK@Z +?Error@EventLog@@SAXKGPAPBG@Z +?Error@EventLog@@SAXKPBG@Z +?ErrorAction@ExtendedSemantic@@2KB +?EventEnabled@EventHandler@WSMan@@AAA_NABU_EVENT_DESCRIPTOR@@@Z +?EventProviderEnabled@EventHandler@WSMan@@AAA_NXZ +?EventWrite@EventHandler@WSMan@@AAAXABU_EVENT_DESCRIPTOR@@KPAU_EVENT_DATA_DESCRIPTOR@@@Z +?ExtractContextId@PacketParser@@QAAHPAPBGKPBG@Z +?ExtractShellId@PacketParser@@QAAHPAVCRequestContext@@PAGK@Z +?ExtractSidFromToken@CSecurity@@SAHPAVIRequestContext@@PAXAAVAutoLocalFree@@@Z +?FindExisting@CBaseConfigCache@@CAPAV1@PAVCConfigCacheMap@1@PBGW4ErrorLogging@@@Z +?FindMatch@CResourceAlias@@AAAPAU_ALIAS_INFORMATION@@PBG@Z +?First@TSTRBUFFER@@QBAPBGXZ +?Format@Locale@@ABA_NKPAPADPAPAXPAGKGW4CallSiteId@@@Z +?FormatDataDescriptor@EventHandler@WSMan@@SAXAAU_EVENT_DATA_DESCRIPTOR@@AAG@Z +?FormatDataDescriptor@EventHandler@WSMan@@SAXAAU_EVENT_DATA_DESCRIPTOR@@AAJ@Z +?FormatDataDescriptor@EventHandler@WSMan@@SAXAAU_EVENT_DATA_DESCRIPTOR@@AAK@Z +?FormatDataDescriptor@EventHandler@WSMan@@SAXAAU_EVENT_DATA_DESCRIPTOR@@PBD@Z +?FormatDataDescriptor@EventHandler@WSMan@@SAXAAU_EVENT_DATA_DESCRIPTOR@@PBG@Z +?FormatWithFallback@Locale@@ABA_NKPAPAD0PAPAXPAGK@Z +?Free@WSManMemory@@SAXPAXH@Z +?FreeBstr@WSManMemory@@SAXPAGHH@Z +?FreeInstance@?$ILoader@VAdminSid@CSecurity@@@@QAA_NAAVIRequestContext@@_N@Z +?FreeInstance@?$ILoader@VCredUIDllLoader@@@@QAA_NAAVIRequestContext@@_N@Z +?FreeInstance@?$ILoader@VEventHandler@WSMan@@@@QAA_NAAVIRequestContext@@_N@Z +?FreeInstance@?$ILoader@VInteractiveSid@CSecurity@@@@QAA_NAAVIRequestContext@@_N@Z +?FreeInstance@?$ILoader@VIpHlpApiDllLoader@@@@QAA_NAAVIRequestContext@@_N@Z +?FreeInstance@?$ILoader@VMachineName@@@@QAA_NAAVIRequestContext@@_N@Z +?FreeInstance@?$ILoader@VNetworkServiceSid@CSecurity@@@@QAA_NAAVIRequestContext@@_N@Z +?FreeInstance@?$ILoader@VNtDsApiDllLoader@@@@QAA_NAAVIRequestContext@@_N@Z +?FreeInstance@?$ILoader@VResources@Locale@@@@QAA_NAAVIRequestContext@@_N@Z +?FreeInstance@?$ILoader@VShell32DllLoader@@@@QAA_NAAVIRequestContext@@_N@Z +?FreeInstance@?$ILoader@VShlWApiDllLoader@@@@QAA_NAAVIRequestContext@@_N@Z +?FreeInstance@?$ILoader@VSubscriptionManager@@@@QAA_NAAVIRequestContext@@_N@Z +?FreeInstance@?$ILoader@VUser32DllLoader@@@@QAA_NAAVIRequestContext@@_N@Z +?FreeInstance@?$ILoader@VWSManMemCryptManager@@@@QAA_NAAVIRequestContext@@_N@Z +?FreeInstance@?$LoaderSerializer@VSubscriptionManager@@$01@@QAA_NAAVIRequestContext@@_N@Z +?FreeMemory@RBUFFER@@QAAXXZ +?FreeMemory@SBUFFER@@QAAXXZ +?FreePacket@PacketParser@@QAAXXZ +?FreeXmlStructure@PacketParser@@QAAXXZ +?GenerateTransferId@EventHandler@WSMan@@SAXABU_EVENT_DESCRIPTOR@@PBU_GUID@@1@Z +?GenerateTransferIdImp@EventHandler@WSMan@@AAAXABU_EVENT_DESCRIPTOR@@PBU_GUID@@1@Z +?GetAccessRights@CWSManSecurityUI@@UAAJPBU_GUID@@KPAPAU_SI_ACCESS@@PAK2@Z +?GetAction@PacketParser@@QBAABV?$PacketElement@PBG@1@XZ +?GetActionType@SoapSemanticConverter@@AAA_NPBGPAW4_MI_OperationCallback_ResponseType@@PAW4_MI_CallbackMode@@PAVIRequestContext@@@Z +?GetActivityIdOnCurrentThread@EventHandler@WSMan@@SAXAAU_GUID@@@Z +?GetBaseUri@CWSManResource@@QAAPBGXZ +?GetBomIndex@PacketFormatter@@QBA?AW4Charset@1@XZ +?GetBookmarkXml@PacketParser@@QAAABV?$PacketElement@PAU_FWXML_ELEMENT@@@1@XZ +?GetBool@CConfigManager@@QAAHPAVIRequestContext@@W4ConfigSetting@@PAHPAW4WSManConfigSource@@@Z +?GetBool@CWSManGroupPolicyManager@@QAAHPAVIRequestContext@@W4WSManGroupPolicySetting@@PAHPAW4WSManGroupPolicySettingState@@@Z +?GetBuffer@BufferFormatter@@UAAPAEXZ +?GetBuffer@BufferFormatter@@UBAPBEXZ +?GetBuffer@CircularBufferFormatter@@UAAPAEXZ +?GetBuffer@CircularBufferFormatter@@UBAPBEXZ +?GetBuffer@XmlReader@@QAAPBGXZ +?GetBufferLength@PacketParser@@UAAKXZ +?GetBufferPtr@PacketParser@@UAAPAPAGXZ +?GetBufferSize@BufferFormatter@@QBAKXZ +?GetCacheCount@CClientConfigCache@@SAKXZ +?GetCacheCount@CServiceConfigCache@@SAKXZ +?GetCalculationSize@BufferFormatter@@UBAK_N@Z +?GetCalculationSize@CircularBufferFormatter@@UBAK_N@Z +?GetCharInUse@TSTRBUFFER@@QBAIXZ +?GetCharset@PacketFormatter@@QBA?AW4Charset@1@XZ +?GetCharsetLen@PacketFormatter@@QBAKXZ +?GetCharsetName@PacketFormatter@@QBAPBDXZ +?GetChildCount@ChildLifeTimeManager@@QBAJXZ +?GetConfigCache@CBaseConfigCache@@KAPAV1@PAVIRequestContext@@W4ErrorLogging@@P6APAV1@XZPAVFastLock@@AAV?$AutoRelease@VCConfigCacheMap@CBaseConfigCache@@@@H@Z +?GetConfigCache@CClientConfigCache@@SAPAV1@PAVIRequestContext@@H@Z +?GetConfigCache@CServiceConfigCache@@SAPAV1@PAVIRequestContext@@W4ErrorLogging@@H@Z +?GetConfigCache@CWinRSPluginConfigCache@@SAPAV1@PAVIRequestContext@@W4ErrorLogging@@H@Z +?GetConfigManager@CConfigManager@@SAPAV1@XZ +?GetConfigManagerForCertMapping@CConfigManager@@SAPAV1@PAVCERTMAPPING_IDENTITY@@PAVIRequestContext@@@Z +?GetConfigManagerForListener@CConfigManager@@SAPAV1@PAVLISTENER_IDENTITY@@PAVIRequestContext@@@Z +?GetConfigManagerForShellUri@CConfigManager@@SAPAV1@PAVSHELLURI_IDENTITY@@PAVIRequestContext@@@Z +?GetConfigManagerForTable@CConfigManager@@SAPAV1@PAVWSMANCONFIGTABLE_IDENTITY@@PAVIRequestContext@@@Z +?GetConfigXml@CConfigManager@@QAAHPAVIRequestContext@@PAPBGPAPAVXmlReader@@PAH@Z +?GetCorrelationId@PacketParser@@QAAAAU_GUID@@XZ +?GetCurrentCertMappingIdentity@CConfigManager@@QAAHPAVCERTMAPPING_IDENTITY@@PAVIRequestContext@@@Z +?GetCurrentListenerIdentity@CConfigManager@@QAAHPAVLISTENER_IDENTITY@@PAVIRequestContext@@@Z +?GetCurrentSettings@CBaseConfigCache@@IAAPAVCCommonConfigSettings@@PAVIRequestContext@@@Z +?GetCurrentSettings@CClientConfigCache@@QAAPAVCClientConfigSettings@@PAVIRequestContext@@@Z +?GetCurrentSettings@CServiceConfigCache@@QAAPAVCServiceConfigSettings@@PAVIRequestContext@@@Z +?GetCurrentSettings@CWinRSPluginConfigCache@@QAAPAVCWinRSPluginConfigSettings@@PAVIRequestContext@@@Z +?GetCurrentShellUriIdentity@CConfigManager@@QAAHPAVSHELLURI_IDENTITY@@PAVIRequestContext@@@Z +?GetCurrentTableIdentity@CConfigManager@@QAAHPAVWSMANCONFIGTABLE_IDENTITY@@PAVIRequestContext@@@Z +?GetDataLocale@PacketParser@@QBAABV?$PacketElement@PBG@1@XZ +?GetDataLocaleHelper@PacketParser@@QAAAAVLocale@@XZ +?GetDescriptionElement@SoapSemanticConverter@@QAAPAU_FWXML_ELEMENT@@PAU2@PAVIRequestContext@@@Z +?GetDestructorIter@?$SafeMap@PAVCCertMapping@@UEmpty@@V?$SafeSet_Iterator@PAVCCertMapping@@@@@@QAAAAV?$SafeSet_Iterator@PAVCCertMapping@@@@XZ +?GetDestructorIter@?$SafeMap@PAVCShellUriSettings@@UEmpty@@V?$SafeSet_Iterator@PAVCShellUriSettings@@@@@@QAAAAV?$SafeSet_Iterator@PAVCShellUriSettings@@@@XZ +?GetDestructorIter@?$SafeMap@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@V?$SafeMap_Iterator@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@@@@@QAAAAV?$SafeMap_Iterator@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@@@XZ +?GetDestructorIter@?$SafeMap@VStringKeyStore@@PAVExpiredOperationIdRecord@@V?$SafeMap_Iterator@VStringKeyStore@@PAVExpiredOperationIdRecord@@@@@@QAAAAV?$SafeMap_Iterator@VStringKeyStore@@PAVExpiredOperationIdRecord@@@@XZ +?GetDestructorIter@?$SafeMap@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@V?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@@QAAAAV?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@XZ +?GetDialect@Fragment@PacketParser@@QBAPBGXZ +?GetError@BufferFormatter@@QBAKXZ +?GetErrorCode@CErrorContext@@UBAKXZ +?GetEventType@SoapSemanticConverter@@AAAKPBGPAVIRequestContext@@@Z +?GetEventTypeAndResponseElement@SoapSemanticConverter@@AAAPAU_FWXML_ELEMENT@@PAU2@PAKPAVIRequestContext@@@Z +?GetExtendedErrorString@CErrorContext@@UAAPAGXZ +?GetExtendedErrorString@CRequestContext@@UAAPAGXZ +?GetFaultToXml@PacketParser@@QBAABVReferenceParameters@1@XZ +?GetFaultXML@CErrorContext@@UBAPBGXZ +?GetFaultXML@CRequestContext@@UBAPBGXZ +?GetFaultXMLPrivate@CRequestContext@@AAAXPAPAD0KHKKPBG11@Z +?GetFirstConfigManagerForCertMapping@CConfigManager@@SAPAV1@PBG@Z +?GetFirstConfigManagerForListener@CConfigManager@@SAPAV1@PBG@Z +?GetFirstConfigManagerForShellUri@CConfigManager@@SAPAV1@PBG@Z +?GetFirstConfigManagerForTable@CConfigManager@@SAPAV1@W4WSMANTableConfigType@@PBG@Z +?GetFormat@PacketFormatter@@QBA?AW4Charset@1@XZ +?GetFormatterMode@BufferFormatter@@QAA?AW4Charset@PacketFormatter@@XZ +?GetFragment@PacketParser@@QBAABVFragment@1@XZ +?GetFragmentDialect@CWSManResourceNoResourceUri@@QAAPBGXZ +?GetFragmentPath@CWSManResourceNoResourceUri@@QAAPBGXZ +?GetGroupPolicyManager@CWSManGroupPolicyManager@@SAPAV1@PAVIRequestContext@@PBG@Z +?GetHeap@WSManMemory@@SAPAXXZ +?GetIISConfiguration@CConfigManager@@SAHPAVIRequestContext@@PBGPAPAVXmlReader@@@Z +?GetImpersonationToken@UserRecord@@QAAPAXXZ +?GetInheritTypes@CWSManSecurityUI@@UAAJPAPAU_SI_INHERIT_TYPE@@PAK@Z +?GetInitError@CWSManCriticalSection@@QBAKXZ +?GetInstance@?$LoaderSerializer@VAdminSid@CSecurity@@$00@@QAAPAVAdminSid@CSecurity@@AAVIRequestContext@@@Z +?GetInstance@?$LoaderSerializer@VCredUIDllLoader@@$00@@QAAPAVCredUIDllLoader@@AAVIRequestContext@@@Z +?GetInstance@?$LoaderSerializer@VEventHandler@WSMan@@$00@@QAAPAVEventHandler@WSMan@@AAVIRequestContext@@@Z +?GetInstance@?$LoaderSerializer@VInteractiveSid@CSecurity@@$00@@QAAPAVInteractiveSid@CSecurity@@AAVIRequestContext@@@Z +?GetInstance@?$LoaderSerializer@VIpHlpApiDllLoader@@$00@@QAAPAVIpHlpApiDllLoader@@AAVIRequestContext@@@Z +?GetInstance@?$LoaderSerializer@VMachineName@@$00@@QAAPAVMachineName@@AAVIRequestContext@@@Z +?GetInstance@?$LoaderSerializer@VNetworkServiceSid@CSecurity@@$00@@QAAPAVNetworkServiceSid@CSecurity@@AAVIRequestContext@@@Z +?GetInstance@?$LoaderSerializer@VNtDsApiDllLoader@@$00@@QAAPAVNtDsApiDllLoader@@AAVIRequestContext@@@Z +?GetInstance@?$LoaderSerializer@VResources@Locale@@$0A@@@QAAPAVResources@Locale@@AAVIRequestContext@@@Z +?GetInstance@?$LoaderSerializer@VShell32DllLoader@@$00@@QAAPAVShell32DllLoader@@AAVIRequestContext@@@Z +?GetInstance@?$LoaderSerializer@VShlWApiDllLoader@@$00@@QAAPAVShlWApiDllLoader@@AAVIRequestContext@@@Z +?GetInstance@?$LoaderSerializer@VSubscriptionManager@@$01@@QAAPAVSubscriptionManager@@AAVIRequestContext@@@Z +?GetInstance@?$LoaderSerializer@VUser32DllLoader@@$00@@QAAPAVUser32DllLoader@@AAVIRequestContext@@@Z +?GetInstance@?$LoaderSerializer@VWSManMemCryptManager@@$00@@QAAPAVWSManMemCryptManager@@AAVIRequestContext@@@Z +?GetInt@CConfigManager@@QAAHPAVIRequestContext@@W4ConfigSetting@@PAKPAW4WSManConfigSource@@@Z +?GetInt@CWSManGroupPolicyManager@@QAAHPAVIRequestContext@@W4WSManGroupPolicySetting@@PAKPAW4WSManGroupPolicySettingState@@@Z +?GetKey@UserRecord@@QBA?AUUserKey@@XZ +?GetKeyCount@CWSManResourceNoResourceUri@@QAAKXZ +?GetKeyValue@CWSManResourceNoResourceUri@@QAAPBGPBG@Z +?GetKeys@CWSManResourceNoResourceUri@@QAAPAU_WSMAN_KEY@@XZ +?GetLCID@Locale@@QAAKXZ +?GetLength@XmlReader@@QAAIXZ +?GetLocale@CRequestContext@@QAAAAVLocale@@XZ +?GetLocale@PacketParser@@QBAABV?$PacketElement@PBG@1@XZ +?GetLocaleHelper@PacketParser@@QAAAAVLocale@@XZ +?GetLocaleString@CRequestContext@@QAAPBGXZ +?GetLocator@CWSManResource@@QAAPAU_WSMAN_RESOURCE_LOCATOR@@XZ +?GetMachineId@PacketParser@@QBAABV?$PacketElement@PBG@1@XZ +?GetMap@?$SafeMap_Iterator@PAVCCertMapping@@UEmpty@@@@QBAAAV?$SafeMap@PAVCCertMapping@@UEmpty@@V?$SafeMap_Iterator@PAVCCertMapping@@UEmpty@@@@@@XZ +?GetMap@?$SafeMap_Iterator@PAVCListenerConnect@@PAV1@@@QBAAAV?$SafeMap@PAVCListenerConnect@@PAV1@V?$SafeMap_Iterator@PAVCListenerConnect@@PAV1@@@@@XZ +?GetMap@?$SafeMap_Iterator@PAVCListenerOperation@@UEmpty@@@@QBAAAV?$SafeMap@PAVCListenerOperation@@UEmpty@@V?$SafeMap_Iterator@PAVCListenerOperation@@UEmpty@@@@@@XZ +?GetMap@?$SafeMap_Iterator@PAVCListenerReceive@@PAV1@@@QBAAAV?$SafeMap@PAVCListenerReceive@@PAV1@V?$SafeMap_Iterator@PAVCListenerReceive@@PAV1@@@@@XZ +?GetMap@?$SafeMap_Iterator@PAVCListenerSend@@PAV1@@@QBAAAV?$SafeMap@PAVCListenerSend@@PAV1@V?$SafeMap_Iterator@PAVCListenerSend@@PAV1@@@@@XZ +?GetMap@?$SafeMap_Iterator@PAVCListenerSignal@@PAV1@@@QBAAAV?$SafeMap@PAVCListenerSignal@@PAV1@V?$SafeMap_Iterator@PAVCListenerSignal@@PAV1@@@@@XZ +?GetMap@?$SafeMap_Iterator@PAVCShellUriSettings@@UEmpty@@@@QBAAAV?$SafeMap@PAVCShellUriSettings@@UEmpty@@V?$SafeMap_Iterator@PAVCShellUriSettings@@UEmpty@@@@@@XZ +?GetMap@?$SafeMap_Iterator@PAVCollector@@UEmpty@@@@QBAAAV?$SafeMap@PAVCollector@@UEmpty@@V?$SafeMap_Iterator@PAVCollector@@UEmpty@@@@@@XZ +?GetMap@?$SafeMap_Iterator@PAVHostOperation@@UEmpty@@@@QBAAAV?$SafeMap@PAVHostOperation@@UEmpty@@V?$SafeMap_Iterator@PAVHostOperation@@UEmpty@@@@@@XZ +?GetMap@?$SafeMap_Iterator@PAVIOperation@@UEmpty@@@@QBAAAV?$SafeMap@PAVIOperation@@UEmpty@@V?$SafeMap_Iterator@PAVIOperation@@UEmpty@@@@@@XZ +?GetMap@?$SafeMap_Iterator@PAVListenerSourceSubscription@@UEmpty@@@@QBAAAV?$SafeMap@PAVListenerSourceSubscription@@UEmpty@@V?$SafeMap_Iterator@PAVListenerSourceSubscription@@UEmpty@@@@@@XZ +?GetMap@?$SafeMap_Iterator@PAVPushSubscription@@UEmpty@@@@QBAAAV?$SafeMap@PAVPushSubscription@@UEmpty@@V?$SafeMap_Iterator@PAVPushSubscription@@UEmpty@@@@@@XZ +?GetMap@?$SafeMap_Iterator@PAXUEmpty@@@@QBAAAV?$SafeMap@PAXUEmpty@@V?$SafeMap_Iterator@PAXUEmpty@@@@@@XZ +?GetMap@?$SafeMap_Iterator@UPluginKey@@K@@QBAAAV?$SafeMap@UPluginKey@@KV?$SafeMap_Iterator@UPluginKey@@K@@@@XZ +?GetMap@?$SafeMap_Iterator@UUserKey@@PAVBlockedRecord@@@@QBAAAV?$SafeMap@UUserKey@@PAVBlockedRecord@@V?$SafeMap_Iterator@UUserKey@@PAVBlockedRecord@@@@@@XZ +?GetMap@?$SafeMap_Iterator@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@@@QBAAAV?$SafeMap@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@V?$SafeMap_Iterator@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@@@@@XZ +?GetMap@?$SafeMap_Iterator@VGuidKey@@PAVCListenerCommand@@@@QBAAAV?$SafeMap@VGuidKey@@PAVCListenerCommand@@V?$SafeMap_Iterator@VGuidKey@@PAVCListenerCommand@@@@@@XZ +?GetMap@?$SafeMap_Iterator@VKey@Locale@@K@@QBAAAV?$SafeMap@VKey@Locale@@KV?$SafeMap_Iterator@VKey@Locale@@K@@@@XZ +?GetMap@?$SafeMap_Iterator@VStringKeyCI@@K@@QBAAAV?$SafeMap@VStringKeyCI@@KV?$SafeMap_Iterator@VStringKeyCI@@K@@@@XZ +?GetMap@?$SafeMap_Iterator@VStringKeyCI@@UEmpty@@@@QBAAAV?$SafeMap@VStringKeyCI@@UEmpty@@V?$SafeMap_Iterator@VStringKeyCI@@UEmpty@@@@@@XZ +?GetMap@?$SafeMap_Iterator@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@@@QBAAAV?$SafeMap@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@V?$SafeMap_Iterator@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@@@@@XZ +?GetMap@?$SafeMap_Iterator@VStringKeyStore@@PAVExpiredOperationIdRecord@@@@QBAAAV?$SafeMap@VStringKeyStore@@PAVExpiredOperationIdRecord@@V?$SafeMap_Iterator@VStringKeyStore@@PAVExpiredOperationIdRecord@@@@@@XZ +?GetMap@?$SafeMap_Iterator@VStringKeyStore@@PAVServerFullDuplexChannel@@@@QBAAAV?$SafeMap@VStringKeyStore@@PAVServerFullDuplexChannel@@V?$SafeMap_Iterator@VStringKeyStore@@PAVServerFullDuplexChannel@@@@@@XZ +?GetMap@?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@QBAAAV?$SafeMap@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@V?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@@XZ +?GetMap@?$SafeMap_Iterator@_KPAVSendPacketArgs@RobustConnectionBuffer@@@@QBAAAV?$SafeMap@_KPAVSendPacketArgs@RobustConnectionBuffer@@V?$SafeMap_Iterator@_KPAVSendPacketArgs@RobustConnectionBuffer@@@@@@XZ +?GetMap@?$SafeMap_Lock@PAVCCertMapping@@UEmpty@@V?$SafeMap_Iterator@PAVCCertMapping@@UEmpty@@@@@@QBAABV?$SafeMap@PAVCCertMapping@@UEmpty@@V?$SafeMap_Iterator@PAVCCertMapping@@UEmpty@@@@@@XZ +?GetMap@?$SafeMap_Lock@PAVCListenerConnect@@PAV1@V?$SafeMap_Iterator@PAVCListenerConnect@@PAV1@@@@@QBAABV?$SafeMap@PAVCListenerConnect@@PAV1@V?$SafeMap_Iterator@PAVCListenerConnect@@PAV1@@@@@XZ +?GetMap@?$SafeMap_Lock@PAVCListenerOperation@@UEmpty@@V?$SafeMap_Iterator@PAVCListenerOperation@@UEmpty@@@@@@QBAABV?$SafeMap@PAVCListenerOperation@@UEmpty@@V?$SafeMap_Iterator@PAVCListenerOperation@@UEmpty@@@@@@XZ +?GetMap@?$SafeMap_Lock@PAVCListenerReceive@@PAV1@V?$SafeMap_Iterator@PAVCListenerReceive@@PAV1@@@@@QBAABV?$SafeMap@PAVCListenerReceive@@PAV1@V?$SafeMap_Iterator@PAVCListenerReceive@@PAV1@@@@@XZ +?GetMap@?$SafeMap_Lock@PAVCListenerSend@@PAV1@V?$SafeMap_Iterator@PAVCListenerSend@@PAV1@@@@@QBAABV?$SafeMap@PAVCListenerSend@@PAV1@V?$SafeMap_Iterator@PAVCListenerSend@@PAV1@@@@@XZ +?GetMap@?$SafeMap_Lock@PAVCListenerSignal@@PAV1@V?$SafeMap_Iterator@PAVCListenerSignal@@PAV1@@@@@QBAABV?$SafeMap@PAVCListenerSignal@@PAV1@V?$SafeMap_Iterator@PAVCListenerSignal@@PAV1@@@@@XZ +?GetMap@?$SafeMap_Lock@PAVCShellUriSettings@@UEmpty@@V?$SafeMap_Iterator@PAVCShellUriSettings@@UEmpty@@@@@@QBAABV?$SafeMap@PAVCShellUriSettings@@UEmpty@@V?$SafeMap_Iterator@PAVCShellUriSettings@@UEmpty@@@@@@XZ +?GetMap@?$SafeMap_Lock@PAVCollector@@UEmpty@@V?$SafeMap_Iterator@PAVCollector@@UEmpty@@@@@@QBAABV?$SafeMap@PAVCollector@@UEmpty@@V?$SafeMap_Iterator@PAVCollector@@UEmpty@@@@@@XZ +?GetMap@?$SafeMap_Lock@PAVHostOperation@@UEmpty@@V?$SafeMap_Iterator@PAVHostOperation@@UEmpty@@@@@@QBAABV?$SafeMap@PAVHostOperation@@UEmpty@@V?$SafeMap_Iterator@PAVHostOperation@@UEmpty@@@@@@XZ +?GetMap@?$SafeMap_Lock@PAVIOperation@@UEmpty@@V?$SafeMap_Iterator@PAVIOperation@@UEmpty@@@@@@QBAABV?$SafeMap@PAVIOperation@@UEmpty@@V?$SafeMap_Iterator@PAVIOperation@@UEmpty@@@@@@XZ +?GetMap@?$SafeMap_Lock@PAVListenerSourceSubscription@@UEmpty@@V?$SafeMap_Iterator@PAVListenerSourceSubscription@@UEmpty@@@@@@QBAABV?$SafeMap@PAVListenerSourceSubscription@@UEmpty@@V?$SafeMap_Iterator@PAVListenerSourceSubscription@@UEmpty@@@@@@XZ +?GetMap@?$SafeMap_Lock@PAVPushSubscription@@UEmpty@@V?$SafeMap_Iterator@PAVPushSubscription@@UEmpty@@@@@@QBAABV?$SafeMap@PAVPushSubscription@@UEmpty@@V?$SafeMap_Iterator@PAVPushSubscription@@UEmpty@@@@@@XZ +?GetMap@?$SafeMap_Lock@PAXUEmpty@@V?$SafeMap_Iterator@PAXUEmpty@@@@@@QBAABV?$SafeMap@PAXUEmpty@@V?$SafeMap_Iterator@PAXUEmpty@@@@@@XZ +?GetMap@?$SafeMap_Lock@UPluginKey@@KV?$SafeMap_Iterator@UPluginKey@@K@@@@QBAABV?$SafeMap@UPluginKey@@KV?$SafeMap_Iterator@UPluginKey@@K@@@@XZ +?GetMap@?$SafeMap_Lock@UUserKey@@PAVBlockedRecord@@V?$SafeMap_Iterator@UUserKey@@PAVBlockedRecord@@@@@@QBAABV?$SafeMap@UUserKey@@PAVBlockedRecord@@V?$SafeMap_Iterator@UUserKey@@PAVBlockedRecord@@@@@@XZ +?GetMap@?$SafeMap_Lock@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@V?$SafeMap_Iterator@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@@@@@QBAABV?$SafeMap@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@V?$SafeMap_Iterator@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@@@@@XZ +?GetMap@?$SafeMap_Lock@VGuidKey@@PAVCListenerCommand@@V?$SafeMap_Iterator@VGuidKey@@PAVCListenerCommand@@@@@@QBAABV?$SafeMap@VGuidKey@@PAVCListenerCommand@@V?$SafeMap_Iterator@VGuidKey@@PAVCListenerCommand@@@@@@XZ +?GetMap@?$SafeMap_Lock@VKey@Locale@@KV?$SafeMap_Iterator@VKey@Locale@@K@@@@QBAABV?$SafeMap@VKey@Locale@@KV?$SafeMap_Iterator@VKey@Locale@@K@@@@XZ +?GetMap@?$SafeMap_Lock@VStringKeyCI@@KV?$SafeMap_Iterator@VStringKeyCI@@K@@@@QBAABV?$SafeMap@VStringKeyCI@@KV?$SafeMap_Iterator@VStringKeyCI@@K@@@@XZ +?GetMap@?$SafeMap_Lock@VStringKeyCI@@UEmpty@@V?$SafeMap_Iterator@VStringKeyCI@@UEmpty@@@@@@QBAABV?$SafeMap@VStringKeyCI@@UEmpty@@V?$SafeMap_Iterator@VStringKeyCI@@UEmpty@@@@@@XZ +?GetMap@?$SafeMap_Lock@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@V?$SafeMap_Iterator@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@@@@@QBAABV?$SafeMap@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@V?$SafeMap_Iterator@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@@@@@XZ +?GetMap@?$SafeMap_Lock@VStringKeyStore@@PAVExpiredOperationIdRecord@@V?$SafeMap_Iterator@VStringKeyStore@@PAVExpiredOperationIdRecord@@@@@@QBAABV?$SafeMap@VStringKeyStore@@PAVExpiredOperationIdRecord@@V?$SafeMap_Iterator@VStringKeyStore@@PAVExpiredOperationIdRecord@@@@@@XZ +?GetMap@?$SafeMap_Lock@VStringKeyStore@@PAVServerFullDuplexChannel@@V?$SafeMap_Iterator@VStringKeyStore@@PAVServerFullDuplexChannel@@@@@@QBAABV?$SafeMap@VStringKeyStore@@PAVServerFullDuplexChannel@@V?$SafeMap_Iterator@VStringKeyStore@@PAVServerFullDuplexChannel@@@@@@XZ +?GetMap@?$SafeMap_Lock@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@V?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@@QBAABV?$SafeMap@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@V?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@@XZ +?GetMap@?$SafeMap_Lock@_KPAVSendPacketArgs@RobustConnectionBuffer@@V?$SafeMap_Iterator@_KPAVSendPacketArgs@RobustConnectionBuffer@@@@@@QBAABV?$SafeMap@_KPAVSendPacketArgs@RobustConnectionBuffer@@V?$SafeMap_Iterator@_KPAVSendPacketArgs@RobustConnectionBuffer@@@@@@XZ +?GetMaxBatchItems@CCommonConfigSettings@@UAAKXZ +?GetMaxBatchSize@CCommonConfigSettings@@UAAKXZ +?GetMaxEnvelopeSize@CCommonConfigSettings@@UAAKXZ +?GetMaxEnvelopeSize@PacketParser@@QBAABV?$PacketElement@K@1@XZ +?GetMaxTimeOut@CCommonConfigSettings@@UAAKXZ +?GetMessageAlloc@Locale@@QBAPBGAAVAutoLocalFree@@KZZ +?GetMessageEmpty@Locale@@QBAPBGAAVAutoLocalFree@@K@Z +?GetMessageId@CErrorContext@@UBAKXZ +?GetMessageId@CRequestContext@@UBAKXZ +?GetMessageId@PacketParser@@QBAABV?$PacketElement@PBG@1@XZ +?GetMessageW@Locale@@QBA_NKPAPAD0PAGK@Z +?GetMinBatchItems@CCommonConfigSettings@@UAAKXZ +?GetMinBatchSize@CCommonConfigSettings@@UAAKXZ +?GetMinBatchTimeout@CCommonConfigSettings@@UAAKXZ +?GetMinEnvelopeSize@CCommonConfigSettings@@UAAKXZ +?GetMinTimeOut@CCommonConfigSettings@@UAAKXZ +?GetNamespacePrefix@NotUnderstandSoapHeader@PacketParser@@QBAPBGXZ +?GetNamespaceUrl@NotUnderstandSoapHeader@PacketParser@@QBAPBGXZ +?GetNewStorage@RBUFFER@@IAAHI@Z +?GetNotUnderstandHeader@PacketParser@@QBAABVNotUnderstandSoapHeader@1@XZ +?GetObjectInformation@CWSManSecurityUI@@UAAJPAU_SI_OBJECT_INFO@@@Z +?GetObjectW@?$ILoader@VAdminSid@CSecurity@@@@IBAPAVAdminSid@CSecurity@@XZ +?GetObjectW@?$ILoader@VCredUIDllLoader@@@@IBAPAVCredUIDllLoader@@XZ +?GetObjectW@?$ILoader@VEventHandler@WSMan@@@@IBAPAVEventHandler@WSMan@@XZ +?GetObjectW@?$ILoader@VInteractiveSid@CSecurity@@@@IBAPAVInteractiveSid@CSecurity@@XZ +?GetObjectW@?$ILoader@VIpHlpApiDllLoader@@@@IBAPAVIpHlpApiDllLoader@@XZ +?GetObjectW@?$ILoader@VMachineName@@@@IBAPAVMachineName@@XZ +?GetObjectW@?$ILoader@VNetworkServiceSid@CSecurity@@@@IBAPAVNetworkServiceSid@CSecurity@@XZ +?GetObjectW@?$ILoader@VNtDsApiDllLoader@@@@IBAPAVNtDsApiDllLoader@@XZ +?GetObjectW@?$ILoader@VResources@Locale@@@@IBAPAVResources@Locale@@XZ +?GetObjectW@?$ILoader@VShell32DllLoader@@@@IBAPAVShell32DllLoader@@XZ +?GetObjectW@?$ILoader@VShlWApiDllLoader@@@@IBAPAVShlWApiDllLoader@@XZ +?GetObjectW@?$ILoader@VSubscriptionManager@@@@IBAPAVSubscriptionManager@@XZ +?GetObjectW@?$ILoader@VUser32DllLoader@@@@IBAPAVUser32DllLoader@@XZ +?GetObjectW@?$ILoader@VWSManMemCryptManager@@@@IBAPAVWSManMemCryptManager@@XZ +?GetOperationId@PacketParser@@QBAABV?$PacketElement@PBG@1@XZ +?GetOptionCount@CWSManResourceNoResourceUri@@QAAKXZ +?GetOptionTypes@CWSManResourceNoResourceUri@@QAAPAPBGXZ +?GetOptionValue@CWSManResourceNoResourceUri@@QAAPBGPBG@Z +?GetOptions@CWSManResourceNoResourceUri@@QAAPAU_WSMAN_OPTION@@XZ +?GetOptionsMustUnderstandValue@CWSManResourceNoResourceUri@@QAAHXZ +?GetOptionsSetXml@PacketParser@@QAAABV?$PacketElement@PAU_FWXML_ELEMENT@@@1@XZ +?GetOriginalUri@CWSManResource@@QAAPBGXZ +?GetPacket@PacketParser@@QAAPAVPacket@@XZ +?GetPacketPool@PacketParser@@QAAAAVPacketPool@@XZ +?GetParser@XmlReader@@QAAPAXXZ +?GetPath@Fragment@PacketParser@@QBAPBGXZ +?GetPolicyLocation@CWSManGroupPolicyManager@@AAAPBGPBU_WSMAN_POLICY_INFO@@@Z +?GetPolicyValueForConfigSetting@CConfigManager@@AAAJW4ConfigSetting@@KPAGPAKPAW4WSManGroupPolicySettingState@@PAVIRequestContext@@@Z +?GetPolicyValueForConfigSetting@CConfigManager@@AAAJW4ConfigSetting@@PAKPAW4WSManGroupPolicySettingState@@PAVIRequestContext@@@Z +?GetProfileCount@UserRecord@@QAAJXZ +?GetProfileHandle@UserRecord@@QAA_JXZ +?GetPromptType@SoapSemanticConverter@@AAA_NPBGPAW4_MI_PromptType@@PAVIRequestContext@@@Z +?GetQuotaRecord@UserRecord@@QBAPBVQuotaRecord@@XZ +?GetRefCount@ILifeTimeMgmt@@QAAJXZ +?GetReferenceParameters@ReferenceParameters@PacketParser@@QBAPBGXZ +?GetReferenceProperties@ReferenceParameters@PacketParser@@QBAPBGXZ +?GetRemainderPacket@PacketParser@@QAAPAVPacket@@PAVIRequestContext@@@Z +?GetReplyToXml@PacketParser@@QBAABVReferenceParameters@1@XZ +?GetRequestedDataLocale@PacketParser@@QBAABV?$PacketElement@PBG@1@XZ +?GetRequestedLocale@PacketParser@@QBAABV?$PacketElement@PBG@1@XZ +?GetResourceUri@PacketParser@@QBAABV?$PacketElement@PBG@1@XZ +?GetRoot@XmlReader@@QAAPAU_FWXML_ELEMENT@@XZ +?GetSecurity@CWSManSecurityUI@@UAAJKPAPAXH@Z +?GetSecurityDescriptor@CConfigManager@@QAAHPAVIRequestContext@@W4ConfigSetting@@PAPAXPAW4WSManConfigSource@@@Z +?GetSelectorSetXml@PacketParser@@QAAABV?$PacketElement@PAU_FWXML_ELEMENT@@@1@XZ +?GetSequenceId@PacketParser@@QBAABV?$PacketElement@_K@1@XZ +?GetServiceCatalog@@YAPAVCatalog@@XZ +?GetSessionId@PacketParser@@QBAABV?$PacketElement@PBG@1@XZ +?GetSessionIdGuid@PacketParser@@QAAAAU_GUID@@XZ +?GetSessionIdGuid@SessionId@PacketParser@@QAAAAU_GUID@@XZ +?GetSetting@CConfigManager@@QAAHPAVIRequestContext@@W4ConfigSetting@@KPAGPAKPAW4WSManConfigSource@@@Z +?GetShellCompressionType@PacketParser@@QBAABV?$PacketElement@PBG@1@XZ +?GetSid@CSecurity@@SAPAXXZ +?GetSizeInUse@SBUFFER@@QBAIXZ +?GetSoapBody@PacketParser@@QAAPAU_FWXML_ELEMENT@@XZ +?GetSoapHeaders@PacketParser@@QAAPAU_FWXML_ELEMENT@@XZ +?GetSourceSubscriptionId@PacketParser@@QBAABV?$PacketElement@PBG@1@XZ +?GetSpaceUsed@BufferFormatter@@UBAK_N@Z +?GetSpaceUsed@CircularBufferFormatter@@UBAK_N@Z +?GetStrPtr@TSTRBUFFER@@QAAPAGXZ +?GetString@CConfigManager@@QAAHPAVIRequestContext@@W4ConfigSetting@@KPAGPAKPAW4WSManConfigSource@@@Z +?GetString@CWSManGroupPolicyManager@@QAAHPAVIRequestContext@@W4WSManGroupPolicySetting@@KPAGPAKPAW4WSManGroupPolicySettingState@@@Z +?GetString@Locale@@QAAPBGXZ +?GetStringInternal@CConfigManager@@AAAHPAVIRequestContext@@W4ConfigSetting@@KKPAGPAKPAW4WSManConfigSource@@@Z +?GetStringInternal@CWSManGroupPolicyManager@@AAAHPAVIRequestContext@@W4WSManGroupPolicySetting@@KKPAGPAKPAW4WSManGroupPolicySettingState@@@Z +?GetSubscriptionId@PacketParser@@QBAABV?$PacketElement@PBG@1@XZ +?GetSuccessCode@OnHTTPInitialize@@QBAKXZ +?GetTimeout@PacketParser@@QBAABV?$PacketElement@K@1@XZ +?GetTo@PacketParser@@QBAABV?$PacketElement@PBG@1@XZ +?GetToken@CSecurity@@SAPAXXZ +?GetToken@UserRecord@@QAAPAXXZ +?GetUpdatedSDDL@CWSManSecurityUI@@QAAPAGPAVIRequestContext@@@Z +?GetUri@CWSManResource@@QAAPBGXZ +?GetUserAdministratorType@UserRecord@@QBA?AW4AdministratorType@UserAuthzRecord@@XZ +?GetUserNameW@UserRecord@@QAAPBGXZ +?GetValue@?$PacketElement@K@PacketParser@@QBAKXZ +?GetValue@?$PacketElement@PAU_FWXML_ELEMENT@@@PacketParser@@QBAPAU_FWXML_ELEMENT@@XZ +?GetValue@?$PacketElement@PBG@PacketParser@@QBAPBGXZ +?GetValue@?$PacketElement@_K@PacketParser@@QBA_KXZ +?GetWsmanData@TSTRBUFFER@@QAAXPAU_WSMAN_DATA@@@Z +?GetXmlDoc@PacketParser@@QAAPAUFWXML_DOCUMENT@@XZ +?GrowBuffer@BufferFormatter@@UAAKK@Z +?GrowBuffer@BufferFormatter@@UAAKXZ +?GrowBuffer@CircularBufferFormatter@@UAAKK@Z +?GrowBuffer@CircularBufferFormatter@@UAAKXZ +?HandleAutoConfiguredListener@CConfigManager@@QAAHPAVIRequestContext@@PAVLISTENER_IDENTITY@@@Z +?HandleMigration@@YAHPAVWSManMigrationContext@@@Z +?HasFaultXML@CRequestContext@@QBAHXZ +?HasHtmlError@CRequestContext@@ABAHXZ +?HasOption@CWSManResourceNoResourceUri@@QAAHPBG@Z +?ImpersonateUserOrSelf@CSecurity@@SAHW4CallSiteId@@PAX@Z +?IncreaseProfileCount@UserRecord@@QAAXXZ +?Info@EventLog@@SAXK@Z +?Info@EventLog@@SAXKGPAPBG@Z +?Info@EventLog@@SAXKPBG@Z +?Init@CBaseConfigCache@@IAAHPAVIRequestContext@@H@Z +?Init@CWSManSecurityUI@@QAAHPAG0PAVIRequestContext@@@Z +?Init@ConfigRegistry@@IAAHXZ +?Init@XmlReader@@QAAHPAVIRequestContext@@PAUWSMAN_OBJECT@@@Z +?Init@XmlReader@@QAAHPAVIRequestContext@@PBG@Z +?InitCfgMgr@CConfigManager@@AAAHPAVWSMANCONFIGTABLE_IDENTITY@@@Z +?InitCfgMgr@CConfigManager@@AAAHPAVWSMANCONFIGTABLE_IDENTITY@@PAUHKEY__@@1@Z +?InitMap@CBaseConfigCache@@CAHPAVIRequestContext@@AAV?$AutoRelease@VCConfigCacheMap@CBaseConfigCache@@@@@Z +?Initialize@?$SafeMap@PAVCCertMapping@@UEmpty@@V?$SafeMap_Iterator@PAVCCertMapping@@UEmpty@@@@@@UAA_NAAVIRequestContext@@@Z +?Initialize@?$SafeMap@PAVCCertMapping@@UEmpty@@V?$SafeSet_Iterator@PAVCCertMapping@@@@@@UAA_NAAVIRequestContext@@@Z +?Initialize@?$SafeMap@PAVCListenerConnect@@PAV1@V?$SafeMap_Iterator@PAVCListenerConnect@@PAV1@@@@@UAA_NAAVIRequestContext@@@Z +?Initialize@?$SafeMap@PAVCListenerOperation@@UEmpty@@V?$SafeMap_Iterator@PAVCListenerOperation@@UEmpty@@@@@@UAA_NAAVIRequestContext@@@Z +?Initialize@?$SafeMap@PAVCListenerOperation@@UEmpty@@V?$SafeSet_Iterator@PAVCListenerOperation@@@@@@UAA_NAAVIRequestContext@@@Z +?Initialize@?$SafeMap@PAVCListenerReceive@@PAV1@V?$SafeMap_Iterator@PAVCListenerReceive@@PAV1@@@@@UAA_NAAVIRequestContext@@@Z +?Initialize@?$SafeMap@PAVCListenerSend@@PAV1@V?$SafeMap_Iterator@PAVCListenerSend@@PAV1@@@@@UAA_NAAVIRequestContext@@@Z +?Initialize@?$SafeMap@PAVCListenerSignal@@PAV1@V?$SafeMap_Iterator@PAVCListenerSignal@@PAV1@@@@@UAA_NAAVIRequestContext@@@Z +?Initialize@?$SafeMap@PAVCShellUriSettings@@UEmpty@@V?$SafeSet_Iterator@PAVCShellUriSettings@@@@@@UAA_NAAVIRequestContext@@@Z +?Initialize@?$SafeMap@PAVCollector@@UEmpty@@V?$SafeMap_Iterator@PAVCollector@@UEmpty@@@@@@UAA_NAAVIRequestContext@@@Z +?Initialize@?$SafeMap@PAVCollector@@UEmpty@@V?$SafeSet_Iterator@PAVCollector@@@@@@UAA_NAAVIRequestContext@@@Z +?Initialize@?$SafeMap@PAVHostOperation@@UEmpty@@V?$SafeMap_Iterator@PAVHostOperation@@UEmpty@@@@@@UAA_NAAVIRequestContext@@@Z +?Initialize@?$SafeMap@PAVHostOperation@@UEmpty@@V?$SafeSet_Iterator@PAVHostOperation@@@@@@UAA_NAAVIRequestContext@@@Z +?Initialize@?$SafeMap@PAVIOperation@@UEmpty@@V?$SafeMap_Iterator@PAVIOperation@@UEmpty@@@@@@UAA_NAAVIRequestContext@@@Z +?Initialize@?$SafeMap@PAVIOperation@@UEmpty@@V?$SafeSet_Iterator@PAVIOperation@@@@@@UAA_NAAVIRequestContext@@@Z +?Initialize@?$SafeMap@PAVListenerSourceSubscription@@UEmpty@@V?$SafeMap_Iterator@PAVListenerSourceSubscription@@UEmpty@@@@@@UAA_NAAVIRequestContext@@@Z +?Initialize@?$SafeMap@PAVListenerSourceSubscription@@UEmpty@@V?$SafeSet_Iterator@PAVListenerSourceSubscription@@@@@@UAA_NAAVIRequestContext@@@Z +?Initialize@?$SafeMap@PAVPushSubscription@@UEmpty@@V?$SafeMap_Iterator@PAVPushSubscription@@UEmpty@@@@@@UAA_NAAVIRequestContext@@@Z +?Initialize@?$SafeMap@PAVPushSubscription@@UEmpty@@V?$SafeSet_Iterator@PAVPushSubscription@@@@@@UAA_NAAVIRequestContext@@@Z +?Initialize@?$SafeMap@PAXUEmpty@@V?$SafeSet_Iterator@PAX@@@@UAA_NAAVIRequestContext@@@Z +?Initialize@?$SafeMap@UPluginKey@@KV?$SafeMap_Iterator@UPluginKey@@K@@@@UAA_NAAVIRequestContext@@@Z +?Initialize@?$SafeMap@UUserKey@@PAVBlockedRecord@@V?$SafeMap_Iterator@UUserKey@@PAVBlockedRecord@@@@@@UAA_NAAVIRequestContext@@@Z +?Initialize@?$SafeMap@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@V?$SafeMap_Iterator@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@@@@@UAA_NAAVIRequestContext@@@Z +?Initialize@?$SafeMap@VGuidKey@@PAVCListenerCommand@@V?$SafeMap_Iterator@VGuidKey@@PAVCListenerCommand@@@@@@UAA_NAAVIRequestContext@@@Z +?Initialize@?$SafeMap@VKey@CWmiPtrCache@@VMapping@2@V?$SafeMap_Iterator@VKey@CWmiPtrCache@@VMapping@2@@@@@UAA_NAAVIRequestContext@@@Z +?Initialize@?$SafeMap@VKey@Locale@@KV?$SafeMap_Iterator@VKey@Locale@@K@@@@UAA_NAAVIRequestContext@@@Z +?Initialize@?$SafeMap@VStringKey@@PAVListenerEvents@@V?$SafeMap_Iterator@VStringKey@@PAVListenerEvents@@@@@@UAA_NAAVIRequestContext@@@Z +?Initialize@?$SafeMap@VStringKey@@PAVListenerSourceSubscription@@V?$SafeMap_Iterator@VStringKey@@PAVListenerSourceSubscription@@@@@@UAA_NAAVIRequestContext@@@Z +?Initialize@?$SafeMap@VStringKey@@UOption@WinRM_OperationOptions@@V?$SafeMap_Iterator@VStringKey@@UOption@WinRM_OperationOptions@@@@@@UAA_NAAVIRequestContext@@@Z +?Initialize@?$SafeMap@VStringKeyCI@@KV?$SafeMap_Iterator@VStringKeyCI@@K@@@@UAA_NAAVIRequestContext@@@Z +?Initialize@?$SafeMap@VStringKeyCI@@PAVIISEndpoint@@V?$SafeMap_Iterator@VStringKeyCI@@PAVIISEndpoint@@@@@@UAA_NAAVIRequestContext@@@Z +?Initialize@?$SafeMap@VStringKeyCI@@UEmpty@@V?$SafeMap_Iterator@VStringKeyCI@@UEmpty@@@@@@UAA_NAAVIRequestContext@@@Z +?Initialize@?$SafeMap@VStringKeyCI@@UEmpty@@V?$SafeSet_Iterator@VStringKeyCI@@@@@@UAA_NAAVIRequestContext@@@Z +?Initialize@?$SafeMap@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@V?$SafeMap_Iterator@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@@@@@UAA_NAAVIRequestContext@@@Z +?Initialize@?$SafeMap@VStringKeyStore@@PAVExpiredOperationIdRecord@@V?$SafeMap_Iterator@VStringKeyStore@@PAVExpiredOperationIdRecord@@@@@@UAA_NAAVIRequestContext@@@Z +?Initialize@?$SafeMap@VStringKeyStore@@PAVServerFullDuplexChannel@@V?$SafeMap_Iterator@VStringKeyStore@@PAVServerFullDuplexChannel@@@@@@UAA_NAAVIRequestContext@@@Z +?Initialize@?$SafeMap@VTokenCacheKey@ServiceSoapProcessor@@VTokenCacheMapping@2@V?$SafeMap_Iterator@VTokenCacheKey@ServiceSoapProcessor@@VTokenCacheMapping@2@@@@@UAA_NAAVIRequestContext@@@Z +?Initialize@?$SafeMap@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@V?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@@UAA_NAAVIRequestContext@@@Z +?Initialize@?$SafeMap@_KPAVSendPacketArgs@RobustConnectionBuffer@@V?$SafeMap_Iterator@_KPAVSendPacketArgs@RobustConnectionBuffer@@@@@@UAA_NAAVIRequestContext@@@Z +?Initialize@?$SafeMap_Iterator@PAVCCertMapping@@UEmpty@@@@QAAAAV1@XZ +?Initialize@?$SafeMap_Iterator@PAVCListenerOperation@@UEmpty@@@@QAAAAV1@XZ +?Initialize@?$SafeMap_Iterator@PAVCShellUriSettings@@UEmpty@@@@QAAAAV1@XZ +?Initialize@?$SafeMap_Iterator@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@@@QAAAAV1@XZ +?Initialize@?$SafeMap_Iterator@VStringKeyCI@@K@@QAAAAV1@XZ +?Initialize@?$SafeMap_Iterator@VStringKeyStore@@PAVExpiredOperationIdRecord@@@@QAAAAV1@XZ +?Initialize@?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@QAAAAV1@XZ +?Initialize@CWSManGroupPolicyManager@@AAAHPAVIRequestContext@@PBG@Z +?Initialize@EventHandler@WSMan@@QAA_NAAVIRequestContext@@@Z +?Initialize@UserRecord@@SAXAAV1@ABUInitializer@1@@Z +?InitializeSources@CBaseConfigCache@@IAAHPAVIRequestContext@@HH@Z +?InitializeSourcesHelper@CBaseConfigCache@@MAAHPAVIRequestContext@@H@Z +?InitializeSourcesHelper@CClientConfigCache@@EAAHPAVIRequestContext@@H@Z +?InsertAtPosition@TSTRBUFFER@@QAAJPBGI@Z +?InternalFailure@CErrorContext@@UAAXKZZ +?InternalFailure@CRequestContext@@UAAXKZZ +?InternalHResult@CErrorContext@@UAAXKKZZ +?InternalHResult@CRequestContext@@UAAXKKZZ +?InternalParse@CWSManEPR@@MAAHPAVIRequestContext@@@Z +?InternalParse@CWSManResource@@MAAHPAVIRequestContext@@@Z +?IsActive@ChildLifeTimeManager@@QAA_NXZ +?IsAdmin@UserRecord@@QBA_NXZ +?IsAutoListenerConfigurationOn@CConfigManager@@SAHPAVIRequestContext@@PAH@Z +?IsCIM_Error@CRequestContext@@QAAHXZ +?IsCurrentListenerAutoConfigured@CConfigManager@@QAAHPAVIRequestContext@@PAH@Z +?IsCurrentListenerCompat@CConfigManager@@QBA_NXZ +?IsDynAlloced@RBUFFER@@IBAHXZ +?IsEPR@CWSManEPR@@UAAHXZ +?IsEPR@CWSManResourceNoResourceUri@@UAAHXZ +?IsEmpty@?$ILoader@VAdminSid@CSecurity@@@@QBA_NXZ +?IsEmpty@?$ILoader@VCredUIDllLoader@@@@QBA_NXZ +?IsEmpty@?$ILoader@VEventHandler@WSMan@@@@QBA_NXZ +?IsEmpty@?$ILoader@VInteractiveSid@CSecurity@@@@QBA_NXZ +?IsEmpty@?$ILoader@VIpHlpApiDllLoader@@@@QBA_NXZ +?IsEmpty@?$ILoader@VMachineName@@@@QBA_NXZ +?IsEmpty@?$ILoader@VNetworkServiceSid@CSecurity@@@@QBA_NXZ +?IsEmpty@?$ILoader@VNtDsApiDllLoader@@@@QBA_NXZ +?IsEmpty@?$ILoader@VResources@Locale@@@@QBA_NXZ +?IsEmpty@?$ILoader@VShell32DllLoader@@@@QBA_NXZ +?IsEmpty@?$ILoader@VShlWApiDllLoader@@@@QBA_NXZ +?IsEmpty@?$ILoader@VSubscriptionManager@@@@QBA_NXZ +?IsEmpty@?$ILoader@VUser32DllLoader@@@@QBA_NXZ +?IsEmpty@?$ILoader@VWSManMemCryptManager@@@@QBA_NXZ +?IsEmpty@?$SafeMap@PAVCListenerOperation@@UEmpty@@V?$SafeSet_Iterator@PAVCListenerOperation@@@@@@QBA_NXZ +?IsEmpty@?$SafeMap@VStringKeyCI@@KV?$SafeMap_Iterator@VStringKeyCI@@K@@@@QBA_NXZ +?IsEmpty@?$SafeMap@VStringKeyCI@@UEmpty@@V?$SafeSet_Iterator@VStringKeyCI@@@@@@QBA_NXZ +?IsEvent@SoapSemanticConverter@@QAA_NPAU_FWXML_ELEMENT@@@Z +?IsEventEnabled@EventHandler@WSMan@@SA_NABU_EVENT_DESCRIPTOR@@@Z +?IsEventProviderEnabled@EventHandler@WSMan@@SA_NXZ +?IsFound@?$PacketElement@K@PacketParser@@QBAHXZ +?IsFound@?$PacketElement@PAU_FWXML_ELEMENT@@@PacketParser@@QBAHXZ +?IsFound@?$PacketElement@PBG@PacketParser@@QBAHXZ +?IsFound@?$PacketElement@_K@PacketParser@@QBAHXZ +?IsGeneratingError@CErrorContext@@UBA_NXZ +?IsIdentifyPacket@PacketParser@@QBAHXZ +?IsInCommitMode@BufferFormatter@@QAA_NXZ +?IsInteractive@UserRecord@@QBA_NXZ +?IsLocalSystemSid@CSecurity@@SAHPAX@Z +?IsMustUnderstand@?$PacketElement@PBG@PacketParser@@QBAHXZ +?IsNonOperativePacket@PacketParser@@QBAHXZ +?IsPolicyControlledSetting@CConfigManager@@QAAHPAVIRequestContext@@W4ConfigSetting@@PAH@Z +?IsRobustConnectionPacket@PacketParser@@QBAHXZ +?IsStreamingEvent@SoapSemanticConverter@@QAA_NPAU_FWXML_ELEMENT@@PAVIRequestContext@@@Z +?IsStringNullOrEmpty@@YAHPBG@Z +?IsValid@?$SafeMap@PAVCListenerOperation@@UEmpty@@V?$SafeSet_Iterator@PAVCListenerOperation@@@@@@QBA_NXZ +?IsValid@?$SafeMap@UPluginKey@@KV?$SafeMap_Iterator@UPluginKey@@K@@@@QBA_NXZ +?IsValid@?$SafeMap@VStringKeyCI@@KV?$SafeMap_Iterator@VStringKeyCI@@K@@@@QBA_NXZ +?IsValid@?$SafeMap@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@V?$SafeMap_Iterator@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@@@@@QBA_NXZ +?IsValid@?$SafeMap@VStringKeyStore@@PAVServerFullDuplexChannel@@V?$SafeMap_Iterator@VStringKeyStore@@PAVServerFullDuplexChannel@@@@@@QBA_NXZ +?IsValid@?$SafeMap@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@V?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@@QBA_NXZ +?IsValid@?$SafeMap_Iterator@PAVCCertMapping@@UEmpty@@@@QBA_NXZ +?IsValid@?$SafeMap_Iterator@PAVCListenerConnect@@PAV1@@@QBA_NXZ +?IsValid@?$SafeMap_Iterator@PAVCListenerOperation@@UEmpty@@@@QBA_NXZ +?IsValid@?$SafeMap_Iterator@PAVCListenerReceive@@PAV1@@@QBA_NXZ +?IsValid@?$SafeMap_Iterator@PAVCListenerSend@@PAV1@@@QBA_NXZ +?IsValid@?$SafeMap_Iterator@PAVCListenerSignal@@PAV1@@@QBA_NXZ +?IsValid@?$SafeMap_Iterator@PAVCShellUriSettings@@UEmpty@@@@QBA_NXZ +?IsValid@?$SafeMap_Iterator@PAVCollector@@UEmpty@@@@QBA_NXZ +?IsValid@?$SafeMap_Iterator@PAVHostOperation@@UEmpty@@@@QBA_NXZ +?IsValid@?$SafeMap_Iterator@PAVIOperation@@UEmpty@@@@QBA_NXZ +?IsValid@?$SafeMap_Iterator@PAVListenerSourceSubscription@@UEmpty@@@@QBA_NXZ +?IsValid@?$SafeMap_Iterator@PAVPushSubscription@@UEmpty@@@@QBA_NXZ +?IsValid@?$SafeMap_Iterator@PAXUEmpty@@@@QBA_NXZ +?IsValid@?$SafeMap_Iterator@UPluginKey@@K@@QBA_NXZ +?IsValid@?$SafeMap_Iterator@UUserKey@@PAVBlockedRecord@@@@QBA_NXZ +?IsValid@?$SafeMap_Iterator@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@@@QBA_NXZ +?IsValid@?$SafeMap_Iterator@VGuidKey@@PAVCListenerCommand@@@@QBA_NXZ +?IsValid@?$SafeMap_Iterator@VKey@CWmiPtrCache@@VMapping@2@@@QBA_NXZ +?IsValid@?$SafeMap_Iterator@VKey@Locale@@K@@QBA_NXZ +?IsValid@?$SafeMap_Iterator@VStringKey@@PAVListenerEvents@@@@QBA_NXZ +?IsValid@?$SafeMap_Iterator@VStringKey@@PAVListenerSourceSubscription@@@@QBA_NXZ +?IsValid@?$SafeMap_Iterator@VStringKey@@UOption@WinRM_OperationOptions@@@@QBA_NXZ +?IsValid@?$SafeMap_Iterator@VStringKeyCI@@K@@QBA_NXZ +?IsValid@?$SafeMap_Iterator@VStringKeyCI@@PAVIISEndpoint@@@@QBA_NXZ +?IsValid@?$SafeMap_Iterator@VStringKeyCI@@UEmpty@@@@QBA_NXZ +?IsValid@?$SafeMap_Iterator@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@@@QBA_NXZ +?IsValid@?$SafeMap_Iterator@VStringKeyStore@@PAVExpiredOperationIdRecord@@@@QBA_NXZ +?IsValid@?$SafeMap_Iterator@VStringKeyStore@@PAVServerFullDuplexChannel@@@@QBA_NXZ +?IsValid@?$SafeMap_Iterator@VTokenCacheKey@ServiceSoapProcessor@@VTokenCacheMapping@2@@@QBA_NXZ +?IsValid@?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@QBA_NXZ +?IsValid@?$SafeMap_Iterator@_KPAVSendPacketArgs@RobustConnectionBuffer@@@@QBA_NXZ +?IsValid@CWSManCriticalSection@@QBAHXZ +?IsValid@RBUFFER@@IBAHXZ +?Key@?$SafeMap@VStringKeyCI@@KV?$SafeMap_Iterator@VStringKeyCI@@K@@@@QBAPBVStringKeyCI@@ABV2@@Z +?Key@?$SafeMap@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@V?$SafeMap_Iterator@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@@@@@QBAPBVStringKeyCI@@ABV2@@Z +?Key@?$SafeMap_Iterator@VKey@Locale@@K@@QBAABV0Locale@@XZ +?Key@?$SafeMap_Iterator@VStringKeyCI@@K@@QBAABVStringKeyCI@@XZ +?Key@?$SafeMap_Iterator@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@@@QBAABVStringKeyCI@@XZ +?LogError@CBaseConfigCache@@UAAXKK@Z +?LogErrorCode@CErrorContext@@QAAXXZ +?LogErrorCode@CRequestContext@@QAAXXZ +?LogErrorMessage@CRequestContext@@QAAXXZ +?LogNotificationEvent@CWSManGroupPolicyManager@@CAXK@Z +?LogReadErrors@CBaseConfigCache@@IAA?AW4ErrorLogging@@W4ConfigChangeSources@@@Z +?LowerBound@?$SafeMap_Iterator@VKey@Locale@@K@@QAAXABVKey@Locale@@@Z +?MakeUrlBinding@@YAHKPAGPAKPBG222@Z +?MakeUrlBinding@@YAPAGPAVIRequestContext@@PBG111@Z +?MapGeneric@CWSManSecurityUI@@UAAJPBU_GUID@@PAEPAK@Z +?Me@?$AutoCleanup@V?$AutoDelete@D@@PAD@@AAAAAV?$AutoDelete@D@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@G@@PAG@@AAAAAV?$AutoDelete@G@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@UIPRange@CWSManIPFilter@@@@PAUIPRange@CWSManIPFilter@@@@AAAAAV?$AutoDelete@UIPRange@CWSManIPFilter@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@U_SID@@@@PAU_SID@@@@AAAAAV?$AutoDelete@U_SID@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@U_WSMAN_STREAM_ID_SET@@@@PAU_WSMAN_STREAM_ID_SET@@@@AAAAAV?$AutoDelete@U_WSMAN_STREAM_ID_SET@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@V?$Handle@VISubscription@@@@@@PAV?$Handle@VISubscription@@@@@@AAAAAV?$AutoDelete@V?$Handle@VISubscription@@@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@V?$SafeMap_Iterator@PAVCListenerConnect@@PAV1@@@@@PAV?$SafeMap_Iterator@PAVCListenerConnect@@PAV1@@@@@AAAAAV?$AutoDelete@V?$SafeMap_Iterator@PAVCListenerConnect@@PAV1@@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@V?$SafeMap_Iterator@PAVCListenerReceive@@PAV1@@@@@PAV?$SafeMap_Iterator@PAVCListenerReceive@@PAV1@@@@@AAAAAV?$AutoDelete@V?$SafeMap_Iterator@PAVCListenerReceive@@PAV1@@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@V?$SafeMap_Iterator@PAVCListenerSend@@PAV1@@@@@PAV?$SafeMap_Iterator@PAVCListenerSend@@PAV1@@@@@AAAAAV?$AutoDelete@V?$SafeMap_Iterator@PAVCListenerSend@@PAV1@@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@V?$SafeMap_Iterator@PAVCListenerSignal@@PAV1@@@@@PAV?$SafeMap_Iterator@PAVCListenerSignal@@PAV1@@@@@AAAAAV?$AutoDelete@V?$SafeMap_Iterator@PAVCListenerSignal@@PAV1@@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@V?$SafeMap_Iterator@VGuidKey@@PAVCListenerCommand@@@@@@PAV?$SafeMap_Iterator@VGuidKey@@PAVCListenerCommand@@@@@@AAAAAV?$AutoDelete@V?$SafeMap_Iterator@VGuidKey@@PAVCListenerCommand@@@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@V?$SafeMap_Iterator@VStringKeyCI@@K@@@@PAV?$SafeMap_Iterator@VStringKeyCI@@K@@@@AAAAAV?$AutoDelete@V?$SafeMap_Iterator@VStringKeyCI@@K@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@V?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@@PAV?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@@AAAAAV?$AutoDelete@V?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@V?$SafeSet@PAVCCertMapping@@@@@@PAV?$SafeSet@PAVCCertMapping@@@@@@AAAAAV?$AutoDelete@V?$SafeSet@PAVCCertMapping@@@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@V?$SafeSet@PAVCShellUriSettings@@@@@@PAV?$SafeSet@PAVCShellUriSettings@@@@@@AAAAAV?$AutoDelete@V?$SafeSet@PAVCShellUriSettings@@@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@V?$SafeSet_Iterator@PAVCListenerOperation@@@@@@PAV?$SafeSet_Iterator@PAVCListenerOperation@@@@@@AAAAAV?$AutoDelete@V?$SafeSet_Iterator@PAVCListenerOperation@@@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@V?$SafeSet_Iterator@PAVCollector@@@@@@PAV?$SafeSet_Iterator@PAVCollector@@@@@@AAAAAV?$AutoDelete@V?$SafeSet_Iterator@PAVCollector@@@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@V?$SafeSet_Iterator@PAVHostOperation@@@@@@PAV?$SafeSet_Iterator@PAVHostOperation@@@@@@AAAAAV?$AutoDelete@V?$SafeSet_Iterator@PAVHostOperation@@@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@V?$SafeSet_Iterator@PAVListenerSourceSubscription@@@@@@PAV?$SafeSet_Iterator@PAVListenerSourceSubscription@@@@@@AAAAAV?$AutoDelete@V?$SafeSet_Iterator@PAVListenerSourceSubscription@@@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@V?$SimpleStack@VCListenerOperation@@@@@@PAV?$SimpleStack@VCListenerOperation@@@@@@AAAAAV?$AutoDelete@V?$SimpleStack@VCListenerOperation@@@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@V?$SimpleStack@VShellHostEntry@@@@@@PAV?$SimpleStack@VShellHostEntry@@@@@@AAAAAV?$AutoDelete@V?$SimpleStack@VShellHostEntry@@@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@V?$queue@PAU_WSMAN_PUBLISHER_EVENT_STRUCT@@V?$deque@PAU_WSMAN_PUBLISHER_EVENT_STRUCT@@V?$transport_allocator@PAU_WSMAN_PUBLISHER_EVENT_STRUCT@@@@@std@@@std@@@@PAV?$queue@PAU_WSMAN_PUBLISHER_EVENT_STRUCT@@V?$deque@PAU_WSMAN_PUBLISHER_EVENT_STRUCT@@V?$transport_allocator@PAU_WSMAN_PUBLISHER_EVENT_STRUCT@@@@@std@@@std@@@@AAAAAV?$AutoDelete@V?$queue@PAU_WSMAN_PUBLISHER_EVENT_STRUCT@@V?$deque@PAU_WSMAN_PUBLISHER_EVENT_STRUCT@@V?$transport_allocator@PAU_WSMAN_PUBLISHER_EVENT_STRUCT@@@@@std@@@std@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@V?$set@PAVCListenerSettings@@VCListenerSettingsLessFunctor@CServiceConfigSettings@@V?$transport_allocator@PAVCListenerSettings@@@@@std@@@@PAV?$set@PAVCListenerSettings@@VCListenerSettingsLessFunctor@CServiceConfigSettings@@V?$transport_allocator@PAVCListenerSettings@@@@@std@@@@AAAAAV?$AutoDelete@V?$set@PAVCListenerSettings@@VCListenerSettingsLessFunctor@CServiceConfigSettings@@V?$transport_allocator@PAVCListenerSettings@@@@@std@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@V?$set@Usockaddr_storage@@VSockAddrLessFunctor@CListenerSettings@@V?$transport_allocator@Usockaddr_storage@@@@@std@@@@PAV?$set@Usockaddr_storage@@VSockAddrLessFunctor@CListenerSettings@@V?$transport_allocator@Usockaddr_storage@@@@@std@@@@AAAAAV?$AutoDelete@V?$set@Usockaddr_storage@@VSockAddrLessFunctor@CListenerSettings@@V?$transport_allocator@Usockaddr_storage@@@@@std@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@V?$vector@PAVCWSManRequest@@V?$transport_allocator@PAVCWSManRequest@@@@@std@@@@PAV?$vector@PAVCWSManRequest@@V?$transport_allocator@PAVCWSManRequest@@@@@std@@@@AAAAAV?$AutoDelete@V?$vector@PAVCWSManRequest@@V?$transport_allocator@PAVCWSManRequest@@@@@std@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@V?$vector@PAVHandleImpl@Client@WSMan@@V?$transport_allocator@PAVHandleImpl@Client@WSMan@@@@@std@@@@PAV?$vector@PAVHandleImpl@Client@WSMan@@V?$transport_allocator@PAVHandleImpl@Client@WSMan@@@@@std@@@@AAAAAV?$AutoDelete@V?$vector@PAVHandleImpl@Client@WSMan@@V?$transport_allocator@PAVHandleImpl@Client@WSMan@@@@@std@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@V?$vector@PAVIServiceConfigObserver@@V?$transport_allocator@PAVIServiceConfigObserver@@@@@std@@@@PAV?$vector@PAVIServiceConfigObserver@@V?$transport_allocator@PAVIServiceConfigObserver@@@@@std@@@@AAAAAV?$AutoDelete@V?$vector@PAVIServiceConfigObserver@@V?$transport_allocator@PAVIServiceConfigObserver@@@@@std@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@V?$vector@PAVWSManHttpSenderConnection@@V?$transport_allocator@PAVWSManHttpSenderConnection@@@@@std@@@@PAV?$vector@PAVWSManHttpSenderConnection@@V?$transport_allocator@PAVWSManHttpSenderConnection@@@@@std@@@@AAAAAV?$AutoDelete@V?$vector@PAVWSManHttpSenderConnection@@V?$transport_allocator@PAVWSManHttpSenderConnection@@@@@std@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VAdminSid@CSecurity@@@@PAVAdminSid@CSecurity@@@@AAAAAV?$AutoDelete@VAdminSid@CSecurity@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VBlockedRecord@@@@PAVBlockedRecord@@@@AAAAAV?$AutoDelete@VBlockedRecord@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VCBaseConfigCache@@@@PAVCBaseConfigCache@@@@AAAAAV?$AutoDelete@VCBaseConfigCache@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VCCertMapping@@@@PAVCCertMapping@@@@AAAAAV?$AutoDelete@VCCertMapping@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VCConfigChangeSource@@@@PAVCConfigChangeSource@@@@AAAAAV?$AutoDelete@VCConfigChangeSource@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VCListenerSettings@@@@PAVCListenerSettings@@@@AAAAAV?$AutoDelete@VCListenerSettings@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VCObserverConfigChangeErrors@@@@PAVCObserverConfigChangeErrors@@@@AAAAAV?$AutoDelete@VCObserverConfigChangeErrors@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VCServiceWatcher@CServiceConfigCache@@@@PAVCServiceWatcher@CServiceConfigCache@@@@AAAAAV?$AutoDelete@VCServiceWatcher@CServiceConfigCache@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VCShellUriSettings@@@@PAVCShellUriSettings@@@@AAAAAV?$AutoDelete@VCShellUriSettings@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VCWSManEPR@@@@PAVCWSManEPR@@@@AAAAAV?$AutoDelete@VCWSManEPR@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VCWSManResource@@@@PAVCWSManResource@@@@AAAAAV?$AutoDelete@VCWSManResource@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VCertHash@@@@PAVCertHash@@@@AAAAAV?$AutoDelete@VCertHash@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VConfigUpdate@@@@PAVConfigUpdate@@@@AAAAAV?$AutoDelete@VConfigUpdate@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VCredUIDllLoader@@@@PAVCredUIDllLoader@@@@AAAAAV?$AutoDelete@VCredUIDllLoader@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VEnumSinkEx@@@@PAVEnumSinkEx@@@@AAAAAV?$AutoDelete@VEnumSinkEx@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VEventHandler@WSMan@@@@PAVEventHandler@WSMan@@@@AAAAAV?$AutoDelete@VEventHandler@WSMan@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VExpiredOperationIdRecord@@@@PAVExpiredOperationIdRecord@@@@AAAAAV?$AutoDelete@VExpiredOperationIdRecord@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VGPApiManager@@@@PAVGPApiManager@@@@AAAAAV?$AutoDelete@VGPApiManager@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VGeneralSinkEx@@@@PAVGeneralSinkEx@@@@AAAAAV?$AutoDelete@VGeneralSinkEx@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VIChannelObserverFactory@@@@PAVIChannelObserverFactory@@@@AAAAAV?$AutoDelete@VIChannelObserverFactory@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VIQueryDASHSMASHInterface@@@@PAVIQueryDASHSMASHInterface@@@@AAAAAV?$AutoDelete@VIQueryDASHSMASHInterface@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VISpecification@@@@PAVISpecification@@@@AAAAAV?$AutoDelete@VISpecification@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VInteractiveSid@CSecurity@@@@PAVInteractiveSid@CSecurity@@@@AAAAAV?$AutoDelete@VInteractiveSid@CSecurity@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VIpHlpApiDllLoader@@@@PAVIpHlpApiDllLoader@@@@AAAAAV?$AutoDelete@VIpHlpApiDllLoader@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VMachineName@@@@PAVMachineName@@@@AAAAAV?$AutoDelete@VMachineName@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VMasterReceiveData@CListenerReceive@@@@PAVMasterReceiveData@CListenerReceive@@@@AAAAAV?$AutoDelete@VMasterReceiveData@CListenerReceive@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VNetworkServiceSid@CSecurity@@@@PAVNetworkServiceSid@CSecurity@@@@AAAAAV?$AutoDelete@VNetworkServiceSid@CSecurity@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VNtDsApiDllLoader@@@@PAVNtDsApiDllLoader@@@@AAAAAV?$AutoDelete@VNtDsApiDllLoader@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VOptionValue@SessionOptions@Client@WSMan@@@@PAVOptionValue@SessionOptions@Client@WSMan@@@@AAAAAV?$AutoDelete@VOptionValue@SessionOptions@Client@WSMan@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VPacketCreator@@@@PAVPacketCreator@@@@AAAAAV?$AutoDelete@VPacketCreator@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VPacketParser@@@@PAVPacketParser@@@@AAAAAV?$AutoDelete@VPacketParser@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VResources@Locale@@@@PAVResources@Locale@@@@AAAAAV?$AutoDelete@VResources@Locale@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VRunAsConfiguration@@@@PAVRunAsConfiguration@@@@AAAAAV?$AutoDelete@VRunAsConfiguration@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VSecurityEntry@Catalog@@@@PAVSecurityEntry@Catalog@@@@AAAAAV?$AutoDelete@VSecurityEntry@Catalog@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VSendPacketArgs@RobustConnectionBuffer@@@@PAVSendPacketArgs@RobustConnectionBuffer@@@@AAAAAV?$AutoDelete@VSendPacketArgs@RobustConnectionBuffer@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VServiceSoapProcessor@@@@PAVServiceSoapProcessor@@@@AAAAAV?$AutoDelete@VServiceSoapProcessor@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VShell32DllLoader@@@@PAVShell32DllLoader@@@@AAAAAV?$AutoDelete@VShell32DllLoader@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VShlWApiDllLoader@@@@PAVShlWApiDllLoader@@@@AAAAAV?$AutoDelete@VShlWApiDllLoader@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VSubscriptionEnumerator@@@@PAVSubscriptionEnumerator@@@@AAAAAV?$AutoDelete@VSubscriptionEnumerator@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VSubscriptionManager@@@@PAVSubscriptionManager@@@@AAAAAV?$AutoDelete@VSubscriptionManager@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VTSTRBUFFER@@@@PAVTSTRBUFFER@@@@AAAAAV?$AutoDelete@VTSTRBUFFER@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VUniqueStringOverflow@@@@PAVUniqueStringOverflow@@@@AAAAAV?$AutoDelete@VUniqueStringOverflow@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VUser32DllLoader@@@@PAVUser32DllLoader@@@@AAAAAV?$AutoDelete@VUser32DllLoader@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VWSMANCONFIGTABLE_IDENTITY@@@@PAVWSMANCONFIGTABLE_IDENTITY@@@@AAAAAV?$AutoDelete@VWSMANCONFIGTABLE_IDENTITY@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VWSManMemCryptManager@@@@PAVWSManMemCryptManager@@@@AAAAAV?$AutoDelete@VWSManMemCryptManager@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VWmiEnumContext@@@@PAVWmiEnumContext@@@@AAAAAV?$AutoDelete@VWmiEnumContext@@@@XZ +?Me@?$AutoCleanup@V?$AutoDelete@VXmlReader@@@@PAVXmlReader@@@@AAAAAV?$AutoDelete@VXmlReader@@@@XZ +?Me@?$AutoCleanup@V?$AutoDeleteVector@$$CBG@@PBG@@AAAAAV?$AutoDeleteVector@$$CBG@@XZ +?Me@?$AutoCleanup@V?$AutoDeleteVector@D@@PAD@@AAAAAV?$AutoDeleteVector@D@@XZ +?Me@?$AutoCleanup@V?$AutoDeleteVector@E@@PAE@@AAAAAV?$AutoDeleteVector@E@@XZ +?Me@?$AutoCleanup@V?$AutoDeleteVector@G@@PAG@@AAAAAV?$AutoDeleteVector@G@@XZ +?Me@?$AutoCleanup@V?$AutoDeleteVector@H@@PAH@@AAAAAV?$AutoDeleteVector@H@@XZ +?Me@?$AutoCleanup@V?$AutoDeleteVector@PAG@@PAPAG@@AAAAAV?$AutoDeleteVector@PAG@@XZ +?Me@?$AutoCleanup@V?$AutoDeleteVector@PBG@@PAPBG@@AAAAAV?$AutoDeleteVector@PBG@@XZ +?Me@?$AutoCleanup@V?$AutoDeleteVector@U_CONFIG_UPDATE@@@@PAU_CONFIG_UPDATE@@@@AAAAAV?$AutoDeleteVector@U_CONFIG_UPDATE@@@@XZ +?Me@?$AutoCleanup@V?$AutoDeleteVector@U_WINRS_CREATE_SHELL_ENVIRONMENT_VARIABLE@@@@PAU_WINRS_CREATE_SHELL_ENVIRONMENT_VARIABLE@@@@AAAAAV?$AutoDeleteVector@U_WINRS_CREATE_SHELL_ENVIRONMENT_VARIABLE@@@@XZ +?Me@?$AutoCleanup@V?$AutoDeleteVector@U_WINRS_RUN_COMMAND_ARG@@@@PAU_WINRS_RUN_COMMAND_ARG@@@@AAAAAV?$AutoDeleteVector@U_WINRS_RUN_COMMAND_ARG@@@@XZ +?Me@?$AutoCleanup@V?$AutoDeleteVector@U_WSMAN_OPTION@@@@PAU_WSMAN_OPTION@@@@AAAAAV?$AutoDeleteVector@U_WSMAN_OPTION@@@@XZ +?Me@?$AutoCleanup@V?$AutoDeleteVector@X@@PAX@@AAAAAV?$AutoDeleteVector@X@@XZ +?Me@?$AutoCleanup@V?$AutoFree@E@@PAE@@AAAAAV?$AutoFree@E@@XZ +?Me@?$AutoCleanup@V?$AutoLocklessItemRecycle@VPacket@@@@PAVPacket@@@@AAAAAV?$AutoLocklessItemRecycle@VPacket@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@UIAppHostChildElementCollection@@@@PAUIAppHostChildElementCollection@@@@AAAAAV?$AutoRelease@UIAppHostChildElementCollection@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@UIAppHostElement@@@@PAUIAppHostElement@@@@AAAAAV?$AutoRelease@UIAppHostElement@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@UIAppHostElementCollection@@@@PAUIAppHostElementCollection@@@@AAAAAV?$AutoRelease@UIAppHostElementCollection@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@UIAppHostProperty@@@@PAUIAppHostProperty@@@@AAAAAV?$AutoRelease@UIAppHostProperty@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@UIAppHostPropertyCollection@@@@PAUIAppHostPropertyCollection@@@@AAAAAV?$AutoRelease@UIAppHostPropertyCollection@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@UIClientSecurity@@@@PAUIClientSecurity@@@@AAAAAV?$AutoRelease@UIClientSecurity@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@UIEnumWbemClassObject@@@@PAUIEnumWbemClassObject@@@@AAAAAV?$AutoRelease@UIEnumWbemClassObject@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@UIErrorInfo@@@@PAUIErrorInfo@@@@AAAAAV?$AutoRelease@UIErrorInfo@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@UIUnknown@@@@PAUIUnknown@@@@AAAAAV?$AutoRelease@UIUnknown@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@UIWbemClassObject@@@@PAUIWbemClassObject@@@@AAAAAV?$AutoRelease@UIWbemClassObject@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@UIWbemContext@@@@PAUIWbemContext@@@@AAAAAV?$AutoRelease@UIWbemContext@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@UIWbemLocator@@@@PAUIWbemLocator@@@@AAAAAV?$AutoRelease@UIWbemLocator@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@UIWbemObjectTextSrc@@@@PAUIWbemObjectTextSrc@@@@AAAAAV?$AutoRelease@UIWbemObjectTextSrc@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@UIWbemPath@@@@PAUIWbemPath@@@@AAAAAV?$AutoRelease@UIWbemPath@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@UIWbemPathKeyList@@@@PAUIWbemPathKeyList@@@@AAAAAV?$AutoRelease@UIWbemPathKeyList@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@UIWbemQualifierSet@@@@PAUIWbemQualifierSet@@@@AAAAAV?$AutoRelease@UIWbemQualifierSet@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@UIWbemQuery@@@@PAUIWbemQuery@@@@AAAAAV?$AutoRelease@UIWbemQuery@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@UIWbemServices@@@@PAUIWbemServices@@@@AAAAAV?$AutoRelease@UIWbemServices@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VApplication@Client@WSMan@@@@PAVApplication@Client@WSMan@@@@AAAAAV?$AutoRelease@VApplication@Client@WSMan@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VCBaseConfigCache@@@@PAVCBaseConfigCache@@@@AAAAAV?$AutoRelease@VCBaseConfigCache@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VCClientConfigCache@@@@PAVCClientConfigCache@@@@AAAAAV?$AutoRelease@VCClientConfigCache@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VCClientConfigSettings@@@@PAVCClientConfigSettings@@@@AAAAAV?$AutoRelease@VCClientConfigSettings@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VCCommonConfigSettings@@@@PAVCCommonConfigSettings@@@@AAAAAV?$AutoRelease@VCCommonConfigSettings@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VCConfigCacheMap@CBaseConfigCache@@@@PAVCConfigCacheMap@CBaseConfigCache@@@@AAAAAV?$AutoRelease@VCConfigCacheMap@CBaseConfigCache@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VCConfigManager@@@@PAVCConfigManager@@@@AAAAAV?$AutoRelease@VCConfigManager@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VCListenerCommand@@@@PAVCListenerCommand@@@@AAAAAV?$AutoRelease@VCListenerCommand@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VCListenerMasterOperation@@@@PAVCListenerMasterOperation@@@@AAAAAV?$AutoRelease@VCListenerMasterOperation@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VCListenerReceive@@@@PAVCListenerReceive@@@@AAAAAV?$AutoRelease@VCListenerReceive@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VCListenerShell@@@@PAVCListenerShell@@@@AAAAAV?$AutoRelease@VCListenerShell@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VCRemoteOperation@@@@PAVCRemoteOperation@@@@AAAAAV?$AutoRelease@VCRemoteOperation@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VCRemoteSession@@@@PAVCRemoteSession@@@@AAAAAV?$AutoRelease@VCRemoteSession@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VCRequestContext@@@@PAVCRequestContext@@@@AAAAAV?$AutoRelease@VCRequestContext@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VCServiceCommonConfigSettings@@@@PAVCServiceCommonConfigSettings@@@@AAAAAV?$AutoRelease@VCServiceCommonConfigSettings@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VCServiceConfigCache@@@@PAVCServiceConfigCache@@@@AAAAAV?$AutoRelease@VCServiceConfigCache@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VCServiceConfigSettings@@@@PAVCServiceConfigSettings@@@@AAAAAV?$AutoRelease@VCServiceConfigSettings@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VCWSManEPR@@@@PAVCWSManEPR@@@@AAAAAV?$AutoRelease@VCWSManEPR@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VCWSManGroupPolicyCache@@@@PAVCWSManGroupPolicyCache@@@@AAAAAV?$AutoRelease@VCWSManGroupPolicyCache@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VCWSManGroupPolicyManager@@@@PAVCWSManGroupPolicyManager@@@@AAAAAV?$AutoRelease@VCWSManGroupPolicyManager@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VCWSManObject@@@@PAVCWSManObject@@@@AAAAAV?$AutoRelease@VCWSManObject@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VCWSManResource@@@@PAVCWSManResource@@@@AAAAAV?$AutoRelease@VCWSManResource@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VCWSManSession@@@@PAVCWSManSession@@@@AAAAAV?$AutoRelease@VCWSManSession@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VCWinRSPluginConfigCache@@@@PAVCWinRSPluginConfigCache@@@@AAAAAV?$AutoRelease@VCWinRSPluginConfigCache@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VCWinRSPluginConfigSettings@@@@PAVCWinRSPluginConfigSettings@@@@AAAAAV?$AutoRelease@VCWinRSPluginConfigSettings@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VCommand@Client@WSMan@@@@PAVCommand@Client@WSMan@@@@AAAAAV?$AutoRelease@VCommand@Client@WSMan@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VConfigNotification@@@@PAVConfigNotification@@@@AAAAAV?$AutoRelease@VConfigNotification@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VConnectShellOperation@Client@WSMan@@@@PAVConnectShellOperation@Client@WSMan@@@@AAAAAV?$AutoRelease@VConnectShellOperation@Client@WSMan@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VCreateShellOperation@Client@WSMan@@@@PAVCreateShellOperation@Client@WSMan@@@@AAAAAV?$AutoRelease@VCreateShellOperation@Client@WSMan@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VDeleteShellOperation@Client@WSMan@@@@PAVDeleteShellOperation@Client@WSMan@@@@AAAAAV?$AutoRelease@VDeleteShellOperation@Client@WSMan@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VDisconnectOperation@Client@WSMan@@@@PAVDisconnectOperation@Client@WSMan@@@@AAAAAV?$AutoRelease@VDisconnectOperation@Client@WSMan@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VEnumSinkEx@@@@PAVEnumSinkEx@@@@AAAAAV?$AutoRelease@VEnumSinkEx@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VGeneralSinkEx@@@@PAVGeneralSinkEx@@@@AAAAAV?$AutoRelease@VGeneralSinkEx@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VHostMappingTable@@@@PAVHostMappingTable@@@@AAAAAV?$AutoRelease@VHostMappingTable@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VIISConfigSettings@@@@PAVIISConfigSettings@@@@AAAAAV?$AutoRelease@VIISConfigSettings@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VIPCSoapProcessor@@@@PAVIPCSoapProcessor@@@@AAAAAV?$AutoRelease@VIPCSoapProcessor@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VIRequestContext@@@@PAVIRequestContext@@@@AAAAAV?$AutoRelease@VIRequestContext@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VISubscription@@@@PAVISubscription@@@@AAAAAV?$AutoRelease@VISubscription@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VInboundRequestDetails@@@@PAVInboundRequestDetails@@@@AAAAAV?$AutoRelease@VInboundRequestDetails@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VProxyManager@Client@WSMan@@@@PAVProxyManager@Client@WSMan@@@@AAAAAV?$AutoRelease@VProxyManager@Client@WSMan@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VProxySelection@Client@WSMan@@@@PAVProxySelection@Client@WSMan@@@@AAAAAV?$AutoRelease@VProxySelection@Client@WSMan@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VPushSubscribeOperation@@@@PAVPushSubscribeOperation@@@@AAAAAV?$AutoRelease@VPushSubscribeOperation@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VPushSubscription@@@@PAVPushSubscription@@@@AAAAAV?$AutoRelease@VPushSubscription@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VReceiveOperation@Client@WSMan@@@@PAVReceiveOperation@Client@WSMan@@@@AAAAAV?$AutoRelease@VReceiveOperation@Client@WSMan@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VReconnectOperation@Client@WSMan@@@@PAVReconnectOperation@Client@WSMan@@@@AAAAAV?$AutoRelease@VReconnectOperation@Client@WSMan@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VSendOperation@Client@WSMan@@@@PAVSendOperation@Client@WSMan@@@@AAAAAV?$AutoRelease@VSendOperation@Client@WSMan@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VShell@Client@WSMan@@@@PAVShell@Client@WSMan@@@@AAAAAV?$AutoRelease@VShell@Client@WSMan@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VShellInfo@@@@PAVShellInfo@@@@AAAAAV?$AutoRelease@VShellInfo@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VSignalOperation@Client@WSMan@@@@PAVSignalOperation@Client@WSMan@@@@AAAAAV?$AutoRelease@VSignalOperation@Client@WSMan@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VUserRecord@@@@PAVUserRecord@@@@AAAAAV?$AutoRelease@VUserRecord@@@@XZ +?Me@?$AutoCleanup@V?$AutoRelease@VWSManHttpListener@@@@PAVWSManHttpListener@@@@AAAAAV?$AutoRelease@VWSManHttpListener@@@@XZ +?Me@?$AutoCleanup@V?$AutoReleaseEx@VHostMappingTableEntry@@@@PAVHostMappingTableEntry@@@@AAAAAV?$AutoReleaseEx@VHostMappingTableEntry@@@@XZ +?Me@?$AutoCleanup@V?$AutoReleaseEx@VShell@Client@WSMan@@@@PAVShell@Client@WSMan@@@@AAAAAV?$AutoReleaseEx@VShell@Client@WSMan@@@@XZ +?Me@?$AutoCleanup@VAutoBstr@@PAG@@AAAAAVAutoBstr@@XZ +?Me@?$AutoCleanup@VAutoBstrNoAlloc@@PAG@@AAAAAVAutoBstrNoAlloc@@XZ +?Me@?$AutoCleanup@VAutoCertContext@@PBU_CERT_CONTEXT@@@@AAAAAVAutoCertContext@@XZ +?Me@?$AutoCleanup@VAutoChainContext@@PBU_CERT_CHAIN_CONTEXT@@@@AAAAAVAutoChainContext@@XZ +?Me@?$AutoCleanup@VAutoCoTaskMemFree@@PAX@@AAAAAVAutoCoTaskMemFree@@XZ +?Me@?$AutoCleanup@VAutoEnvironmentBlock@@PAX@@AAAAAVAutoEnvironmentBlock@@XZ +?Me@?$AutoCleanup@VAutoFwXmlCloseParser@@PAX@@AAAAAVAutoFwXmlCloseParser@@XZ +?Me@?$AutoCleanup@VAutoHandle@@PAX@@AAAAAVAutoHandle@@XZ +?Me@?$AutoCleanup@VAutoImpersonateUser@@PAX@@AAAAAVAutoImpersonateUser@@XZ +?Me@?$AutoCleanup@VAutoLibrary@@PAUHINSTANCE__@@@@AAAAAVAutoLibrary@@XZ +?Me@?$AutoCleanup@VAutoLocalFree@@PAX@@AAAAAVAutoLocalFree@@XZ +?Me@?$AutoCleanup@VAutoMIClass@@PAU_MI_Class@@@@AAAAAVAutoMIClass@@XZ +?Me@?$AutoCleanup@VAutoMIInstance@@PAU_MI_Instance@@@@AAAAAVAutoMIInstance@@XZ +?Me@?$AutoCleanup@VAutoObject@@PAUWSMAN_OBJECT@@@@AAAAAVAutoObject@@XZ +?Me@?$AutoCleanup@VAutoRegKey@@PAUHKEY__@@@@AAAAAVAutoRegKey@@XZ +?Me@?$AutoCleanup@VAutoSecurityDescriptor@@PAX@@AAAAAVAutoSecurityDescriptor@@XZ +?Me@?$AutoCleanup@VAutoWaitHandle@@PAX@@AAAAAVAutoWaitHandle@@XZ +?MoveSettingsToMigrationKey@@YAHPAVIRequestContext@@_N@Z +?NUM_BOMS@PacketFormatter@@0HB +?NUM_CHARSETS@PacketFormatter@@0HB +?Next@TSTRBUFFER@@QBAPBGPBG@Z +?NextCertMapping@CConfigManager@@QAAHXZ +?NextListener@CConfigManager@@QAAHXZ +?NextRow@CConfigManager@@QAAHXZ +?NextShellUri@CConfigManager@@QAAHXZ +?NoSemantics@ExtendedSemantic@@2KB +?NotifyObservers@CWSManGroupPolicyManager@@UAAHPAVIRequestContext@@PAVIWSManGroupPolicyCacheDataProvider@@@Z +?OnChange@CBaseConfigCache@@UAAXW4ConfigChangeSources@@KW4ConfigChangeSeverityType@@@Z +?OpenRegKey@ConfigRegistry@@IAAJPAU_CONFIG_INFO@@KPAVWSMANCONFIGTABLE_IDENTITY@@PAVAutoRegKey@@PAUHKEY__@@@Z +?OverrideMaxEnvelopeSize@PacketParser@@QAAXK@Z +?OverrideTimeout@PacketParser@@QAAXK@Z +?Parse@CWSManResource@@SAPAV1@PAVIRequestContext@@PBG11PAU_WSMAN_SELECTOR_SET@@PAU_WSMAN_OPTION_SET@@H@Z +?Parse@CWSManResource@@SAPAV1@PAVIRequestContext@@PBGH@Z +?Parse@XmlReader@@AAAHPAVIRequestContext@@@Z +?ParseAction@PacketParser@@AAAHPAVIRequestContext@@PAU_FWXML_ELEMENT@@_N@Z +?ParseActivityId@PacketParser@@AAAHPAVIRequestContext@@PAU_FWXML_ELEMENT@@H@Z +?ParseBookmark@PacketParser@@AAAHPAVIRequestContext@@PAU_FWXML_ELEMENT@@H@Z +?ParseDataLocale@PacketParser@@AAAHPAVIRequestContext@@PAU_FWXML_ELEMENT@@H@Z +?ParseEprElement@CWSManEPR@@SAPAV1@PAVIRequestContext@@PAU_FWXML_ELEMENT@@@Z +?ParseEvent@SoapSemanticConverter@@QAAPAVSemanticMessage@@PAU_FWXML_ELEMENT@@PAKPAVIRequestContext@@@Z +?ParseFaultTo@PacketParser@@AAAHPAVIRequestContext@@PAU_FWXML_ELEMENT@@H@Z +?ParseFragment@PacketParser@@AAAHPAVIRequestContext@@PAU_FWXML_ELEMENT@@H@Z +?ParseHeader@PacketParser@@AAAHPAVCRequestContext@@PAU_FWXML_ELEMENT@@HPAVCServiceCommonConfigSettings@@@Z +?ParseHeaders@CWSManResourceNoResourceUri@@QAAHPAVIRequestContext@@PAU_FWXML_ELEMENT@@11@Z +?ParseHeaders@PacketParser@@AAAHPAVCRequestContext@@PAVCServiceCommonConfigSettings@@@Z +?ParseLocale@PacketParser@@AAAHPAVIRequestContext@@PAU_FWXML_ELEMENT@@H@Z +?ParseMachineID@PacketParser@@AAAHPAVIRequestContext@@PAU_FWXML_ELEMENT@@@Z +?ParseMaxEnvelopeSize@PacketParser@@AAAHPAVIRequestContext@@PAU_FWXML_ELEMENT@@HPAVCServiceCommonConfigSettings@@@Z +?ParseMessageId@PacketParser@@AAAHPAVIRequestContext@@PAU_FWXML_ELEMENT@@_N@Z +?ParseOperationId@PacketParser@@AAAHPAVIRequestContext@@PAU_FWXML_ELEMENT@@H@Z +?ParseOptionSet@CWSManResourceNoResourceUri@@QAAHPAVIRequestContext@@PAU_FWXML_ELEMENT@@@Z +?ParseOptions@PacketParser@@AAAHPAVIRequestContext@@PAU_FWXML_ELEMENT@@H@Z +?ParsePacket@PacketParser@@QAAHPAVCRequestContext@@PAVPacket@@PAVCServiceCommonConfigSettings@@@Z +?ParsePacketInternal@PacketParser@@AAAHPAVCRequestContext@@PAU_FWXML_ELEMENT@@PAVCServiceCommonConfigSettings@@@Z +?ParseReplyTo@PacketParser@@AAAHPAVIRequestContext@@PAU_FWXML_ELEMENT@@@Z +?ParseResourceLocator@CWSManResource@@SAPAV1@PAVIRequestContext@@PAU_WSMAN_RESOURCE_LOCATOR@@@Z +?ParseResourceUri@PacketParser@@AAAHPAVIRequestContext@@PAU_FWXML_ELEMENT@@H@Z +?ParseResponse@SoapSemanticConverter@@QAA_NPAU_FWXML_ELEMENT@@PAKPA_NPAVIRequestContext@@@Z +?ParseRobustConnectionAckSequenceId@PacketParser@@AAAKPA_K@Z +?ParseRobustConnectionMessages@PacketParser@@QAAKPAW4PacketType@1@PA_NPA_K2@Z +?ParseSelectors@PacketParser@@AAAHPAVIRequestContext@@PAU_FWXML_ELEMENT@@H@Z +?ParseSequenceId@PacketParser@@AAAHPAVIRequestContext@@PAU_FWXML_ELEMENT@@@Z +?ParseSessionId@PacketParser@@AAAHPAVIRequestContext@@PAU_FWXML_ELEMENT@@H@Z +?ParseShellCompression@PacketParser@@AAAHPAVIRequestContext@@PAU_FWXML_ELEMENT@@H@Z +?ParseStream@PacketParser@@QAAXPAVCRequestContext@@PAVITransportReceiver@@PAVPacket@@PAVCServiceCommonConfigSettings@@@Z +?ParseSubscriptionAgentPacket@PacketParser@@QAAHPAVCRequestContext@@PAVPacket@@PAVCServiceConfigSettings@@@Z +?ParseSubscriptionID@PacketParser@@AAAHPAVIRequestContext@@PAU_FWXML_ELEMENT@@H@Z +?ParseTimeout@PacketParser@@AAAHPAVIRequestContext@@PAU_FWXML_ELEMENT@@HPAVCServiceCommonConfigSettings@@@Z +?ParseToAddress@PacketParser@@AAAHPAVCRequestContext@@PAU_FWXML_ELEMENT@@@Z +?Passed@CErrorContext@@UBAHXZ +?PolicyChanged@CWSManGroupPolicyManager@@AAAXE@Z +?PostChange@CBaseConfigCache@@MAAHPAVIRequestContext@@PAVCCommonConfigSettings@@1@Z +?PostChange@CServiceConfigCache@@EAAHPAVIRequestContext@@PAVCCommonConfigSettings@@1@Z +?PostError@CBaseConfigCache@@MAAXK@Z +?PostError@CServiceConfigCache@@EAAXK@Z +?PrepareToCommitWithSize@BufferFormatter@@UAAKK@Z +?PrepareToCommitWithSize@CircularBufferFormatter@@UAAKK@Z +?PrintHandleTrace@@YAXPAX@Z +?PrintReleaseTrace@@YAXPAXJ@Z +?PrintUnregisterWaitTrace@@YAXPAX@Z +?ProcessContext@CErrorContext@@UAAHHPAKPAU_WSMAN_FAULT_OBJECT@@@Z +?ProcessContext@CErrorContext@@UAAHHPAU_WSMAN_ERROR@@@Z +?ProcessContext@CRequestContext@@QAAHHPAU_WSMAN_ENUMERATOR_RESULT@@@Z +?ProcessContext@CRequestContext@@QAAHHPAU_WSMAN_EVENTS_RESULT@@@Z +?ProcessContext@CRequestContext@@QAAHHPAU_WSMAN_RESULT@@@Z +?ProcessContext@CRequestContext@@QAAHHPAU_WSMAN_STATUS@@@Z +?ProcessContext@CRequestContext@@UAAHHPAKPAU_WSMAN_FAULT_OBJECT@@@Z +?ProcessContext@CRequestContext@@UAAHHPAU_WSMAN_ERROR@@@Z +?ProcessEPR@CWSManEPR@@AAAHPAVIRequestContext@@PAU_FWXML_ELEMENT@@@Z +?ProcessFragmentDialect@CWSManResourceNoResourceUri@@IAAHPAVIRequestContext@@PBGK@Z +?ProcessFragmentPath@CWSManResourceNoResourceUri@@IAAHPAVIRequestContext@@PBGK@Z +?ProcessKey@CWSManResourceNoResourceUri@@IAAHPAVIRequestContext@@PBG1@Z +?ProcessNestedEPR@CWSManResourceNoResourceUri@@IAAHPAVIRequestContext@@PBGPAU_FWXML_ELEMENT@@@Z +?ProcessOption@CWSManResourceNoResourceUri@@IAAHPAVIRequestContext@@PBG11H@Z +?ProcessRefParameters@CWSManEPR@@AAAHPAVIRequestContext@@PAU_FWXML_ELEMENT@@@Z +?ProcessRefProperties@CWSManEPR@@AAAHPAVIRequestContext@@PAU_FWXML_ELEMENT@@@Z +?ProcessUri@CWSManResource@@QAAHPAVIRequestContext@@PBGK@Z +?Progress@ExtendedSemantic@@2KB +?PropertySheetPageCallback@CWSManSecurityUI@@UAAJPAUHWND__@@IW4_SI_PAGE_TYPE@@@Z +?ProviderFailure@CErrorContext@@UBAHXZ +?ProviderShutdownCleanup@CWinRSPluginConfigCache@@SAXXZ +?PutOverrideValue@?$PacketElement@K@PacketParser@@QAAXK@Z +?PutOverrideValue@?$PacketElement@PBG@PacketParser@@QAAXPBG@Z +?PutValue@?$PacketElement@K@PacketParser@@QAAXKH@Z +?PutValue@?$PacketElement@PAU_FWXML_ELEMENT@@@PacketParser@@QAAXPAU_FWXML_ELEMENT@@H@Z +?PutValue@?$PacketElement@PBG@PacketParser@@QAAXPBGH@Z +?PutValue@?$PacketElement@_K@PacketParser@@QAAX_KH@Z +?PutValue@Fragment@PacketParser@@QAAXPBG0H@Z +?PutValue@NotUnderstandSoapHeader@PacketParser@@QAAXPBG00@Z +?PutValue@ReferenceParameters@PacketParser@@QAAKPAU_FWXML_ELEMENT@@H@Z +?QueryInterface@CWSManSecurityUI@@UAAJABU_GUID@@PAPAX@Z +?QueryPtr@RBUFFER@@QBAPAXXZ +?QueryRegValue@CConfigManager@@AAAJPAU_CONFIG_INFO@@PAKKPAE1@Z +?QueryRegValue@CWSManGroupPolicyManager@@AAAJPAVIRequestContext@@PBU_WSMAN_POLICY_INFO@@PAKKPAE2@Z +?QuerySize@RBUFFER@@QBAIXZ +?QueryStr@TSTRBUFFER@@QBAPBGXZ +?QuotaComplete@UserRecord@@UAAXPAU_WSMAN_AUTHZ_QUOTA@@KPBG@Z +?ReAlloc@WSManMemory@@SAPAXPAXIHW4_NitsFaultMode@@@Z +?ReadCertMappingRegistryKey@CConfigManager@@SAHPAVIRequestContext@@PAVCERTMAPPING_IDENTITY@@PAG@Z +?ReadCredentialsFromCredmanStore@CConfigManager@@SAHPAVIRequestContext@@PAG1@Z +?ReadCurrentSettings@CClientConfigCache@@EAAPAVCCommonConfigSettings@@PAVIRequestContext@@W4ErrorLogging@@@Z +?ReadCurrentSettings@CServiceConfigCache@@EAAPAVCCommonConfigSettings@@PAVIRequestContext@@W4ErrorLogging@@@Z +?ReadCurrentSettings@CWinRSPluginConfigCache@@EAAPAVCCommonConfigSettings@@PAVIRequestContext@@W4ErrorLogging@@@Z +?ReadDefaultSettings@CClientConfigCache@@EAAPAVCCommonConfigSettings@@PAVIRequestContext@@@Z +?ReadDefaultSettings@CServiceConfigCache@@EAAPAVCCommonConfigSettings@@PAVIRequestContext@@@Z +?ReadDefaultSettings@CWinRSPluginConfigCache@@EAAPAVCCommonConfigSettings@@PAVIRequestContext@@@Z +?ReadShellUriRegistryKey@CConfigManager@@SAHPAVIRequestContext@@PAVSHELLURI_IDENTITY@@PAG@Z +?ReadTableRegistryKey@CConfigManager@@SAHPAVIRequestContext@@PAVWSMANCONFIGTABLE_IDENTITY@@PAG@Z +?ReallocStorage@RBUFFER@@IAAHI@Z +?RecordAccessDenied@CErrorContext@@UAAXXZ +?RecordAccessDenied@CRequestContext@@UAAXXZ +?RecordAccessDeniedWithDetail@CErrorContext@@UAAXKZZ +?RecordAccessDeniedWithDetail@CRequestContext@@UAAXKZZ +?RecordFailure@CErrorContext@@UAAXK@Z +?RecordFailure@CErrorContext@@UAAXKKZZ +?RecordFailure@CErrorContext@@UAAXPAU_WSMAN_FAULT_OBJECT@@@Z +?RecordFailure@CErrorContext@@UAAXW4_MI_Result@@KKZZ +?RecordFailure@CRequestContext@@AAAXKKPAPAD0@Z +?RecordFailure@CRequestContext@@UAAXK@Z +?RecordFailure@CRequestContext@@UAAXKKZZ +?RecordFailure@CRequestContext@@UAAXPAU_WSMAN_FAULT_OBJECT@@@Z +?RecordFailure@CRequestContext@@UAAXW4_MI_Result@@KKZZ +?RecordHresult@CErrorContext@@UAAXKKZZ +?RecordHresult@CRequestContext@@UAAXKKZZ +?RecordHtmlError@CRequestContext@@QAAHKPAU_FWXML_ELEMENT@@@Z +?RecordHtmlError@CRequestContext@@QAAHKPBGK@Z +?RecordMIFailure@IRequestContext@@QAAXW4_MI_Result@@K@Z +?RecordOutOfMemory@CErrorContext@@UAAXXZ +?RecordOutOfMemory@CRequestContext@@UAAXXZ +?RecordProviderFailure@CErrorContext@@UAAXPAU_WSMAN_FAULT_OBJECT@@PBG1@Z +?RecordProviderFailure@CRequestContext@@QAAXKHPBG00@Z +?RecordProviderFailure@CRequestContext@@UAAXPAU_WSMAN_FAULT_OBJECT@@PBG1@Z +?RecordSoapError@CErrorContext@@UAAHKPBG@Z +?RecordSoapError@CRequestContext@@QAAHKPAU_FWXML_ELEMENT@@@Z +?RecordSoapError@CRequestContext@@UAAHKPBG@Z +?RecordText@CRequestContext@@AAAHKPBGIK@Z +?RecordXml@CRequestContext@@AAAHKPAU_FWXML_ELEMENT@@K@Z +?Refresh@UserRecord@@QAAXXZ +?RegisterChild@ChildLifeTimeManager@@QAA_NXZ +?RegisterChunkBoundary@CircularBufferFormatter@@QAAKXZ +?RegisterConfigChangeNotification@CConfigManager@@QAAPAVConfigNotification@@PAX@Z +?RegisterForPolicyNotification@CWSManGroupPolicyManager@@AAAHPAVIRequestContext@@H@Z +RegisterModule +?Release@?$SafeMap@PAVCCertMapping@@UEmpty@@V?$SafeMap_Iterator@PAVCCertMapping@@UEmpty@@@@@@UBAXXZ +?Release@?$SafeMap@PAVCCertMapping@@UEmpty@@V?$SafeSet_Iterator@PAVCCertMapping@@@@@@UBAXXZ +?Release@?$SafeMap@PAVCListenerConnect@@PAV1@V?$SafeMap_Iterator@PAVCListenerConnect@@PAV1@@@@@UBAXXZ +?Release@?$SafeMap@PAVCListenerOperation@@UEmpty@@V?$SafeMap_Iterator@PAVCListenerOperation@@UEmpty@@@@@@UBAXXZ +?Release@?$SafeMap@PAVCListenerOperation@@UEmpty@@V?$SafeSet_Iterator@PAVCListenerOperation@@@@@@UBAXXZ +?Release@?$SafeMap@PAVCListenerReceive@@PAV1@V?$SafeMap_Iterator@PAVCListenerReceive@@PAV1@@@@@UBAXXZ +?Release@?$SafeMap@PAVCListenerSend@@PAV1@V?$SafeMap_Iterator@PAVCListenerSend@@PAV1@@@@@UBAXXZ +?Release@?$SafeMap@PAVCListenerSignal@@PAV1@V?$SafeMap_Iterator@PAVCListenerSignal@@PAV1@@@@@UBAXXZ +?Release@?$SafeMap@PAVCShellUriSettings@@UEmpty@@V?$SafeSet_Iterator@PAVCShellUriSettings@@@@@@UBAXXZ +?Release@?$SafeMap@PAVCollector@@UEmpty@@V?$SafeMap_Iterator@PAVCollector@@UEmpty@@@@@@UBAXXZ +?Release@?$SafeMap@PAVCollector@@UEmpty@@V?$SafeSet_Iterator@PAVCollector@@@@@@UBAXXZ +?Release@?$SafeMap@PAVHostOperation@@UEmpty@@V?$SafeMap_Iterator@PAVHostOperation@@UEmpty@@@@@@UBAXXZ +?Release@?$SafeMap@PAVHostOperation@@UEmpty@@V?$SafeSet_Iterator@PAVHostOperation@@@@@@UBAXXZ +?Release@?$SafeMap@PAVIOperation@@UEmpty@@V?$SafeMap_Iterator@PAVIOperation@@UEmpty@@@@@@UBAXXZ +?Release@?$SafeMap@PAVIOperation@@UEmpty@@V?$SafeSet_Iterator@PAVIOperation@@@@@@UBAXXZ +?Release@?$SafeMap@PAVListenerSourceSubscription@@UEmpty@@V?$SafeMap_Iterator@PAVListenerSourceSubscription@@UEmpty@@@@@@UBAXXZ +?Release@?$SafeMap@PAVListenerSourceSubscription@@UEmpty@@V?$SafeSet_Iterator@PAVListenerSourceSubscription@@@@@@UBAXXZ +?Release@?$SafeMap@PAVPushSubscription@@UEmpty@@V?$SafeMap_Iterator@PAVPushSubscription@@UEmpty@@@@@@UBAXXZ +?Release@?$SafeMap@PAVPushSubscription@@UEmpty@@V?$SafeSet_Iterator@PAVPushSubscription@@@@@@UBAXXZ +?Release@?$SafeMap@PAXUEmpty@@V?$SafeSet_Iterator@PAX@@@@UBAXXZ +?Release@?$SafeMap@UPluginKey@@KV?$SafeMap_Iterator@UPluginKey@@K@@@@UBAXXZ +?Release@?$SafeMap@UUserKey@@PAVBlockedRecord@@V?$SafeMap_Iterator@UUserKey@@PAVBlockedRecord@@@@@@UBAXXZ +?Release@?$SafeMap@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@V?$SafeMap_Iterator@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@@@@@UBAXXZ +?Release@?$SafeMap@VGuidKey@@PAVCListenerCommand@@V?$SafeMap_Iterator@VGuidKey@@PAVCListenerCommand@@@@@@UBAXXZ +?Release@?$SafeMap@VKey@CWmiPtrCache@@VMapping@2@V?$SafeMap_Iterator@VKey@CWmiPtrCache@@VMapping@2@@@@@UBAXXZ +?Release@?$SafeMap@VKey@Locale@@KV?$SafeMap_Iterator@VKey@Locale@@K@@@@UBAXXZ +?Release@?$SafeMap@VStringKey@@PAVListenerEvents@@V?$SafeMap_Iterator@VStringKey@@PAVListenerEvents@@@@@@UBAXXZ +?Release@?$SafeMap@VStringKey@@PAVListenerSourceSubscription@@V?$SafeMap_Iterator@VStringKey@@PAVListenerSourceSubscription@@@@@@UBAXXZ +?Release@?$SafeMap@VStringKey@@UOption@WinRM_OperationOptions@@V?$SafeMap_Iterator@VStringKey@@UOption@WinRM_OperationOptions@@@@@@UBAXXZ +?Release@?$SafeMap@VStringKeyCI@@KV?$SafeMap_Iterator@VStringKeyCI@@K@@@@UBAXXZ +?Release@?$SafeMap@VStringKeyCI@@PAVIISEndpoint@@V?$SafeMap_Iterator@VStringKeyCI@@PAVIISEndpoint@@@@@@UBAXXZ +?Release@?$SafeMap@VStringKeyCI@@UEmpty@@V?$SafeMap_Iterator@VStringKeyCI@@UEmpty@@@@@@UBAXXZ +?Release@?$SafeMap@VStringKeyCI@@UEmpty@@V?$SafeSet_Iterator@VStringKeyCI@@@@@@UBAXXZ +?Release@?$SafeMap@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@V?$SafeMap_Iterator@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@@@@@UBAXXZ +?Release@?$SafeMap@VStringKeyStore@@PAVExpiredOperationIdRecord@@V?$SafeMap_Iterator@VStringKeyStore@@PAVExpiredOperationIdRecord@@@@@@UBAXXZ +?Release@?$SafeMap@VStringKeyStore@@PAVServerFullDuplexChannel@@V?$SafeMap_Iterator@VStringKeyStore@@PAVServerFullDuplexChannel@@@@@@UBAXXZ +?Release@?$SafeMap@VTokenCacheKey@ServiceSoapProcessor@@VTokenCacheMapping@2@V?$SafeMap_Iterator@VTokenCacheKey@ServiceSoapProcessor@@VTokenCacheMapping@2@@@@@UBAXXZ +?Release@?$SafeMap@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@V?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@@UBAXXZ +?Release@?$SafeMap@_KPAVSendPacketArgs@RobustConnectionBuffer@@V?$SafeMap_Iterator@_KPAVSendPacketArgs@RobustConnectionBuffer@@@@@@UBAXXZ +?Release@?$SafeMap_Iterator@PAVCCertMapping@@UEmpty@@@@QAAXXZ +?Release@?$SafeMap_Iterator@PAVCListenerOperation@@UEmpty@@@@QAAXXZ +?Release@?$SafeMap_Iterator@PAVCShellUriSettings@@UEmpty@@@@QAAXXZ +?Release@?$SafeMap_Iterator@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@@@QAAXXZ +?Release@?$SafeMap_Iterator@VStringKeyCI@@K@@QAAXXZ +?Release@?$SafeMap_Iterator@VStringKeyStore@@PAVExpiredOperationIdRecord@@@@QAAXXZ +?Release@?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@QAAXXZ +?Release@?$SafeMap_Lock@PAVCCertMapping@@UEmpty@@V?$SafeMap_Iterator@PAVCCertMapping@@UEmpty@@@@@@QAAXXZ +?Release@?$SafeMap_Lock@PAVCListenerOperation@@UEmpty@@V?$SafeMap_Iterator@PAVCListenerOperation@@UEmpty@@@@@@QAAXXZ +?Release@?$SafeMap_Lock@PAVCShellUriSettings@@UEmpty@@V?$SafeMap_Iterator@PAVCShellUriSettings@@UEmpty@@@@@@QAAXXZ +?Release@?$SafeMap_Lock@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@V?$SafeMap_Iterator@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@@@@@QAAXXZ +?Release@?$SafeMap_Lock@VStringKeyCI@@KV?$SafeMap_Iterator@VStringKeyCI@@K@@@@QAAXXZ +?Release@?$SafeMap_Lock@VStringKeyStore@@PAVExpiredOperationIdRecord@@V?$SafeMap_Iterator@VStringKeyStore@@PAVExpiredOperationIdRecord@@@@@@QAAXXZ +?Release@?$SafeMap_Lock@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@V?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@@QAAXXZ +?Release@CBaseConfigCache@@UAAJP6AXPAX@Z0@Z +?Release@CWSManCriticalSection@@QAAXXZ +?Release@CWSManSecurityUI@@UAAKXZ +?Release@ILifeTimeMgmt@@UAAJP6AXPAX@Z0@Z +?Release@UserRecord@@QAAJXZ +?ReleaseExclusive@FastLock@@QAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@D@@PAD@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@G@@PAG@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@UIPRange@CWSManIPFilter@@@@PAUIPRange@CWSManIPFilter@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@U_SID@@@@PAU_SID@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@U_WSMAN_STREAM_ID_SET@@@@PAU_WSMAN_STREAM_ID_SET@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@V?$Handle@VISubscription@@@@@@PAV?$Handle@VISubscription@@@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@V?$SafeMap_Iterator@PAVCListenerConnect@@PAV1@@@@@PAV?$SafeMap_Iterator@PAVCListenerConnect@@PAV1@@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@V?$SafeMap_Iterator@PAVCListenerReceive@@PAV1@@@@@PAV?$SafeMap_Iterator@PAVCListenerReceive@@PAV1@@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@V?$SafeMap_Iterator@PAVCListenerSend@@PAV1@@@@@PAV?$SafeMap_Iterator@PAVCListenerSend@@PAV1@@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@V?$SafeMap_Iterator@PAVCListenerSignal@@PAV1@@@@@PAV?$SafeMap_Iterator@PAVCListenerSignal@@PAV1@@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@V?$SafeMap_Iterator@VGuidKey@@PAVCListenerCommand@@@@@@PAV?$SafeMap_Iterator@VGuidKey@@PAVCListenerCommand@@@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@V?$SafeMap_Iterator@VStringKeyCI@@K@@@@PAV?$SafeMap_Iterator@VStringKeyCI@@K@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@V?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@@PAV?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@V?$SafeSet@PAVCCertMapping@@@@@@PAV?$SafeSet@PAVCCertMapping@@@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@V?$SafeSet@PAVCShellUriSettings@@@@@@PAV?$SafeSet@PAVCShellUriSettings@@@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@V?$SafeSet_Iterator@PAVCListenerOperation@@@@@@PAV?$SafeSet_Iterator@PAVCListenerOperation@@@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@V?$SafeSet_Iterator@PAVCollector@@@@@@PAV?$SafeSet_Iterator@PAVCollector@@@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@V?$SafeSet_Iterator@PAVHostOperation@@@@@@PAV?$SafeSet_Iterator@PAVHostOperation@@@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@V?$SafeSet_Iterator@PAVListenerSourceSubscription@@@@@@PAV?$SafeSet_Iterator@PAVListenerSourceSubscription@@@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@V?$SimpleStack@VCListenerOperation@@@@@@PAV?$SimpleStack@VCListenerOperation@@@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@V?$SimpleStack@VShellHostEntry@@@@@@PAV?$SimpleStack@VShellHostEntry@@@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@V?$queue@PAU_WSMAN_PUBLISHER_EVENT_STRUCT@@V?$deque@PAU_WSMAN_PUBLISHER_EVENT_STRUCT@@V?$transport_allocator@PAU_WSMAN_PUBLISHER_EVENT_STRUCT@@@@@std@@@std@@@@PAV?$queue@PAU_WSMAN_PUBLISHER_EVENT_STRUCT@@V?$deque@PAU_WSMAN_PUBLISHER_EVENT_STRUCT@@V?$transport_allocator@PAU_WSMAN_PUBLISHER_EVENT_STRUCT@@@@@std@@@std@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@V?$set@PAVCListenerSettings@@VCListenerSettingsLessFunctor@CServiceConfigSettings@@V?$transport_allocator@PAVCListenerSettings@@@@@std@@@@PAV?$set@PAVCListenerSettings@@VCListenerSettingsLessFunctor@CServiceConfigSettings@@V?$transport_allocator@PAVCListenerSettings@@@@@std@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@V?$set@Usockaddr_storage@@VSockAddrLessFunctor@CListenerSettings@@V?$transport_allocator@Usockaddr_storage@@@@@std@@@@PAV?$set@Usockaddr_storage@@VSockAddrLessFunctor@CListenerSettings@@V?$transport_allocator@Usockaddr_storage@@@@@std@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@V?$vector@PAVCWSManRequest@@V?$transport_allocator@PAVCWSManRequest@@@@@std@@@@PAV?$vector@PAVCWSManRequest@@V?$transport_allocator@PAVCWSManRequest@@@@@std@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@V?$vector@PAVHandleImpl@Client@WSMan@@V?$transport_allocator@PAVHandleImpl@Client@WSMan@@@@@std@@@@PAV?$vector@PAVHandleImpl@Client@WSMan@@V?$transport_allocator@PAVHandleImpl@Client@WSMan@@@@@std@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@V?$vector@PAVIServiceConfigObserver@@V?$transport_allocator@PAVIServiceConfigObserver@@@@@std@@@@PAV?$vector@PAVIServiceConfigObserver@@V?$transport_allocator@PAVIServiceConfigObserver@@@@@std@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@V?$vector@PAVWSManHttpSenderConnection@@V?$transport_allocator@PAVWSManHttpSenderConnection@@@@@std@@@@PAV?$vector@PAVWSManHttpSenderConnection@@V?$transport_allocator@PAVWSManHttpSenderConnection@@@@@std@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VAdminSid@CSecurity@@@@PAVAdminSid@CSecurity@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VBlockedRecord@@@@PAVBlockedRecord@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VCBaseConfigCache@@@@PAVCBaseConfigCache@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VCCertMapping@@@@PAVCCertMapping@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VCConfigChangeSource@@@@PAVCConfigChangeSource@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VCListenerSettings@@@@PAVCListenerSettings@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VCObserverConfigChangeErrors@@@@PAVCObserverConfigChangeErrors@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VCServiceWatcher@CServiceConfigCache@@@@PAVCServiceWatcher@CServiceConfigCache@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VCShellUriSettings@@@@PAVCShellUriSettings@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VCWSManEPR@@@@PAVCWSManEPR@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VCWSManResource@@@@PAVCWSManResource@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VCertHash@@@@PAVCertHash@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VConfigUpdate@@@@PAVConfigUpdate@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VCredUIDllLoader@@@@PAVCredUIDllLoader@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VEnumSinkEx@@@@PAVEnumSinkEx@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VEventHandler@WSMan@@@@PAVEventHandler@WSMan@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VExpiredOperationIdRecord@@@@PAVExpiredOperationIdRecord@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VGPApiManager@@@@PAVGPApiManager@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VGeneralSinkEx@@@@PAVGeneralSinkEx@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VIChannelObserverFactory@@@@PAVIChannelObserverFactory@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VIQueryDASHSMASHInterface@@@@PAVIQueryDASHSMASHInterface@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VISpecification@@@@PAVISpecification@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VInteractiveSid@CSecurity@@@@PAVInteractiveSid@CSecurity@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VIpHlpApiDllLoader@@@@PAVIpHlpApiDllLoader@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VMachineName@@@@PAVMachineName@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VMasterReceiveData@CListenerReceive@@@@PAVMasterReceiveData@CListenerReceive@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VNetworkServiceSid@CSecurity@@@@PAVNetworkServiceSid@CSecurity@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VNtDsApiDllLoader@@@@PAVNtDsApiDllLoader@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VOptionValue@SessionOptions@Client@WSMan@@@@PAVOptionValue@SessionOptions@Client@WSMan@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VPacketCreator@@@@PAVPacketCreator@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VPacketParser@@@@PAVPacketParser@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VResources@Locale@@@@PAVResources@Locale@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VRunAsConfiguration@@@@PAVRunAsConfiguration@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VSecurityEntry@Catalog@@@@PAVSecurityEntry@Catalog@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VSendPacketArgs@RobustConnectionBuffer@@@@PAVSendPacketArgs@RobustConnectionBuffer@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VServiceSoapProcessor@@@@PAVServiceSoapProcessor@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VShell32DllLoader@@@@PAVShell32DllLoader@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VShlWApiDllLoader@@@@PAVShlWApiDllLoader@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VSubscriptionEnumerator@@@@PAVSubscriptionEnumerator@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VSubscriptionManager@@@@PAVSubscriptionManager@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VTSTRBUFFER@@@@PAVTSTRBUFFER@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VUniqueStringOverflow@@@@PAVUniqueStringOverflow@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VUser32DllLoader@@@@PAVUser32DllLoader@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VWSMANCONFIGTABLE_IDENTITY@@@@PAVWSMANCONFIGTABLE_IDENTITY@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VWSManMemCryptManager@@@@PAVWSManMemCryptManager@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VWmiEnumContext@@@@PAVWmiEnumContext@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDelete@VXmlReader@@@@PAVXmlReader@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDeleteVector@$$CBG@@PBG@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDeleteVector@D@@PAD@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDeleteVector@E@@PAE@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDeleteVector@G@@PAG@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDeleteVector@H@@PAH@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDeleteVector@PAG@@PAPAG@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDeleteVector@PBG@@PAPBG@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDeleteVector@U_CONFIG_UPDATE@@@@PAU_CONFIG_UPDATE@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDeleteVector@U_WINRS_CREATE_SHELL_ENVIRONMENT_VARIABLE@@@@PAU_WINRS_CREATE_SHELL_ENVIRONMENT_VARIABLE@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDeleteVector@U_WINRS_RUN_COMMAND_ARG@@@@PAU_WINRS_RUN_COMMAND_ARG@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDeleteVector@U_WSMAN_OPTION@@@@PAU_WSMAN_OPTION@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoDeleteVector@X@@PAX@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoFree@E@@PAE@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoLocklessItemRecycle@VPacket@@@@PAVPacket@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@UIAppHostChildElementCollection@@@@PAUIAppHostChildElementCollection@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@UIAppHostElement@@@@PAUIAppHostElement@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@UIAppHostElementCollection@@@@PAUIAppHostElementCollection@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@UIAppHostProperty@@@@PAUIAppHostProperty@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@UIAppHostPropertyCollection@@@@PAUIAppHostPropertyCollection@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@UIClientSecurity@@@@PAUIClientSecurity@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@UIEnumWbemClassObject@@@@PAUIEnumWbemClassObject@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@UIErrorInfo@@@@PAUIErrorInfo@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@UIUnknown@@@@PAUIUnknown@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@UIWbemClassObject@@@@PAUIWbemClassObject@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@UIWbemContext@@@@PAUIWbemContext@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@UIWbemLocator@@@@PAUIWbemLocator@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@UIWbemObjectTextSrc@@@@PAUIWbemObjectTextSrc@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@UIWbemPath@@@@PAUIWbemPath@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@UIWbemPathKeyList@@@@PAUIWbemPathKeyList@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@UIWbemQualifierSet@@@@PAUIWbemQualifierSet@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@UIWbemQuery@@@@PAUIWbemQuery@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@UIWbemServices@@@@PAUIWbemServices@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VApplication@Client@WSMan@@@@PAVApplication@Client@WSMan@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VCBaseConfigCache@@@@PAVCBaseConfigCache@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VCClientConfigCache@@@@PAVCClientConfigCache@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VCClientConfigSettings@@@@PAVCClientConfigSettings@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VCCommonConfigSettings@@@@PAVCCommonConfigSettings@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VCConfigCacheMap@CBaseConfigCache@@@@PAVCConfigCacheMap@CBaseConfigCache@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VCConfigManager@@@@PAVCConfigManager@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VCListenerCommand@@@@PAVCListenerCommand@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VCListenerMasterOperation@@@@PAVCListenerMasterOperation@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VCListenerReceive@@@@PAVCListenerReceive@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VCListenerShell@@@@PAVCListenerShell@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VCRemoteOperation@@@@PAVCRemoteOperation@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VCRemoteSession@@@@PAVCRemoteSession@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VCRequestContext@@@@PAVCRequestContext@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VCServiceCommonConfigSettings@@@@PAVCServiceCommonConfigSettings@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VCServiceConfigCache@@@@PAVCServiceConfigCache@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VCServiceConfigSettings@@@@PAVCServiceConfigSettings@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VCWSManEPR@@@@PAVCWSManEPR@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VCWSManGroupPolicyCache@@@@PAVCWSManGroupPolicyCache@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VCWSManGroupPolicyManager@@@@PAVCWSManGroupPolicyManager@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VCWSManObject@@@@PAVCWSManObject@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VCWSManResource@@@@PAVCWSManResource@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VCWSManSession@@@@PAVCWSManSession@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VCWinRSPluginConfigCache@@@@PAVCWinRSPluginConfigCache@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VCWinRSPluginConfigSettings@@@@PAVCWinRSPluginConfigSettings@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VCommand@Client@WSMan@@@@PAVCommand@Client@WSMan@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VConfigNotification@@@@PAVConfigNotification@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VConnectShellOperation@Client@WSMan@@@@PAVConnectShellOperation@Client@WSMan@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VCreateShellOperation@Client@WSMan@@@@PAVCreateShellOperation@Client@WSMan@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VDeleteShellOperation@Client@WSMan@@@@PAVDeleteShellOperation@Client@WSMan@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VDisconnectOperation@Client@WSMan@@@@PAVDisconnectOperation@Client@WSMan@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VEnumSinkEx@@@@PAVEnumSinkEx@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VGeneralSinkEx@@@@PAVGeneralSinkEx@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VHostMappingTable@@@@PAVHostMappingTable@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VIISConfigSettings@@@@PAVIISConfigSettings@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VIPCSoapProcessor@@@@PAVIPCSoapProcessor@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VIRequestContext@@@@PAVIRequestContext@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VISubscription@@@@PAVISubscription@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VInboundRequestDetails@@@@PAVInboundRequestDetails@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VProxyManager@Client@WSMan@@@@PAVProxyManager@Client@WSMan@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VProxySelection@Client@WSMan@@@@PAVProxySelection@Client@WSMan@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VPushSubscribeOperation@@@@PAVPushSubscribeOperation@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VPushSubscription@@@@PAVPushSubscription@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VReceiveOperation@Client@WSMan@@@@PAVReceiveOperation@Client@WSMan@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VReconnectOperation@Client@WSMan@@@@PAVReconnectOperation@Client@WSMan@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VSendOperation@Client@WSMan@@@@PAVSendOperation@Client@WSMan@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VShell@Client@WSMan@@@@PAVShell@Client@WSMan@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VShellInfo@@@@PAVShellInfo@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VSignalOperation@Client@WSMan@@@@PAVSignalOperation@Client@WSMan@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VUserRecord@@@@PAVUserRecord@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoRelease@VWSManHttpListener@@@@PAVWSManHttpListener@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoReleaseEx@VHostMappingTableEntry@@@@PAVHostMappingTableEntry@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@V?$AutoReleaseEx@VShell@Client@WSMan@@@@PAVShell@Client@WSMan@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@VAutoBstr@@PAG@@AAAXXZ +?ReleasePtr@?$AutoCleanup@VAutoBstrNoAlloc@@PAG@@AAAXXZ +?ReleasePtr@?$AutoCleanup@VAutoCertContext@@PBU_CERT_CONTEXT@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@VAutoChainContext@@PBU_CERT_CHAIN_CONTEXT@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@VAutoCoTaskMemFree@@PAX@@AAAXXZ +?ReleasePtr@?$AutoCleanup@VAutoEnvironmentBlock@@PAX@@AAAXXZ +?ReleasePtr@?$AutoCleanup@VAutoFwXmlCloseParser@@PAX@@AAAXXZ +?ReleasePtr@?$AutoCleanup@VAutoHandle@@PAX@@AAAXXZ +?ReleasePtr@?$AutoCleanup@VAutoImpersonateUser@@PAX@@AAAXXZ +?ReleasePtr@?$AutoCleanup@VAutoLibrary@@PAUHINSTANCE__@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@VAutoLocalFree@@PAX@@AAAXXZ +?ReleasePtr@?$AutoCleanup@VAutoMIClass@@PAU_MI_Class@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@VAutoMIInstance@@PAU_MI_Instance@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@VAutoObject@@PAUWSMAN_OBJECT@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@VAutoRegKey@@PAUHKEY__@@@@AAAXXZ +?ReleasePtr@?$AutoCleanup@VAutoSecurityDescriptor@@PAX@@AAAXXZ +?ReleasePtr@?$AutoCleanup@VAutoWaitHandle@@PAX@@AAAXXZ +?ReleaseQuota@UserRecord@@QAAXW4OperationType@@PBVProvider@Catalog@@@Z +?ReleaseShared@FastLock@@QAAXXZ +?Remove@?$SafeMap@PAVCListenerOperation@@UEmpty@@V?$SafeSet_Iterator@PAVCListenerOperation@@@@@@QAA_NABQAVCListenerOperation@@@Z +?Remove@?$SafeMap@UUserKey@@PAVBlockedRecord@@V?$SafeMap_Iterator@UUserKey@@PAVBlockedRecord@@@@@@QAA_NABUUserKey@@@Z +?Remove@?$SafeMap@VStringKeyCI@@KV?$SafeMap_Iterator@VStringKeyCI@@K@@@@QAA_NABVStringKeyCI@@@Z +?Remove@?$SafeMap@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@V?$SafeMap_Iterator@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@@@@@QAA_NABVStringKeyCI@@@Z +?Remove@?$SafeMap@VStringKeyStore@@PAVExpiredOperationIdRecord@@V?$SafeMap_Iterator@VStringKeyStore@@PAVExpiredOperationIdRecord@@@@@@QAA_NABVStringKeyStore@@@Z +?Remove@?$SafeMap@VStringKeyStore@@PAVServerFullDuplexChannel@@V?$SafeMap_Iterator@VStringKeyStore@@PAVServerFullDuplexChannel@@@@@@QAA_NABVStringKeyStore@@@Z +?Remove@?$SafeMap@_KPAVSendPacketArgs@RobustConnectionBuffer@@V?$SafeMap_Iterator@_KPAVSendPacketArgs@RobustConnectionBuffer@@@@@@QAA_NAB_K@Z +?RemoveAll@CBaseConfigCache@@KAXPAVFastLock@@AAV?$AutoRelease@VCConfigCacheMap@CBaseConfigCache@@@@@Z +?RemoveFromMap@CBaseConfigCache@@AAAHXZ +?RemoveHttpsBinding@@YAXPBG@Z +?RemoveHttpsCertificate@@YAXPBG0@Z +?RemoveObserver@CServiceConfigCache@@AAAHPAVIServiceConfigObserver@@@Z +?ReportEventW@EventLog@@SAXGKGPAPBG@Z +?Reset@?$PacketElement@K@PacketParser@@QAAX_N@Z +?Reset@?$PacketElement@PAU_FWXML_ELEMENT@@@PacketParser@@QAAX_N@Z +?Reset@?$PacketElement@PBG@PacketParser@@QAAX_N@Z +?Reset@?$PacketElement@_K@PacketParser@@QAAX_N@Z +?Reset@?$SafeMap_Iterator@PAVCCertMapping@@UEmpty@@@@QAAXXZ +?Reset@?$SafeMap_Iterator@PAVCListenerOperation@@UEmpty@@@@QAAXXZ +?Reset@?$SafeMap_Iterator@PAVCShellUriSettings@@UEmpty@@@@QAAXXZ +?Reset@?$SafeMap_Iterator@PAXUEmpty@@@@QAAXXZ +?Reset@?$SafeMap_Iterator@UPluginKey@@K@@QAAXXZ +?Reset@?$SafeMap_Iterator@UUserKey@@PAVBlockedRecord@@@@QAAXXZ +?Reset@?$SafeMap_Iterator@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@@@QAAXXZ +?Reset@?$SafeMap_Iterator@VKey@Locale@@K@@QAAXXZ +?Reset@?$SafeMap_Iterator@VStringKeyCI@@K@@QAAXXZ +?Reset@?$SafeMap_Iterator@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@@@QAAXXZ +?Reset@?$SafeMap_Iterator@VStringKeyStore@@PAVExpiredOperationIdRecord@@@@QAAXXZ +?Reset@?$SafeMap_Iterator@VStringKeyStore@@PAVServerFullDuplexChannel@@@@QAAXXZ +?Reset@?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@QAAXXZ +?Reset@?$SafeMap_Iterator@_KPAVSendPacketArgs@RobustConnectionBuffer@@@@QAAXXZ +?Reset@BufferFormatter@@UAAXXZ +?Reset@CErrorContext@@UAAXH@Z +?Reset@CRequestContext@@UAAXH@Z +?Reset@CircularBufferFormatter@@UAAXXZ +?Reset@Locale@@QAAXXZ +?Reset@TSTRBUFFER@@QAAXXZ +?Reset@UserRecord@@QAAXXZ +?ResetProfileCount@UserRecord@@QAAXXZ +?ResetRobustConnectionHeaders@PacketParser@@AAAXXZ +?Resize@RBUFFER@@QAAHI@Z +?Resize@RBUFFER@@QAAHII@Z +?ResizeOptionList@CWSManResourceNoResourceUri@@IAA_NIAAVIRequestContext@@@Z +?RestoreAllPrivileges@@YAHPAU_TOKEN_PRIVILEGES@@@Z +?RetrieveCertMappingIdentity@CConfigManager@@AAAHPAUHKEY__@@PAVCERTMAPPING_IDENTITY@@@Z +?RetrieveListenerIdentity@CConfigManager@@AAAHPAUHKEY__@@PAGPAPAGPAVLISTENER_IDENTITY@@@Z +?RetrieveShellUriIdentity@CConfigManager@@AAAHPAUHKEY__@@PAVSHELLURI_IDENTITY@@@Z +?RetrieveTableIdentity@CConfigManager@@AAAHPAUHKEY__@@PAVWSMANCONFIGTABLE_IDENTITY@@@Z +?RevertToSelf@CSecurity@@SAHXZ +?RtlSecureZeroMemory@XmlReader@@QAAXXZ +?SafeStringToUI64@@YAJPBGEHPA_KPAVIRequestContext@@K@Z +?SetBOM@PacketFormatter@@QAA_NPAVPacket@@@Z +?SetBOM@PacketFormatter@@QAA_NPBEK@Z +?SetCIM_Error@CErrorContext@@UAAXXZ +?SetCIM_Error@CRequestContext@@UAAXXZ +?SetCharset@PacketFormatter@@QAAXW4Charset@1@@Z +?SetCharset@PacketFormatter@@QAA_NPBDK_NPA_N@Z +?SetCharsetAndBom@PacketFormatter@@QAAXW4Charset@1@0@Z +?SetConfigToUseDefaults@CErrorContext@@UAAXH@Z +?SetErrorAction@ExtendedSemantic@@QAAXW4_MI_OperationCallback_ResponseType@@W4_MI_CallbackMode@@@Z +?SetErrorState@CBaseConfigCache@@AAAXPAVCRequestContext@@K@Z +?SetExactCharSize@TSTRBUFFER@@QAAJI@Z +?SetExtendedErrorString@CErrorContext@@UAAXPAG@Z +?SetExtendedErrorString@CRequestContext@@UAAXPAG@Z +?SetExtraLogInfo@CErrorContext@@QAAXPBG000@Z +?SetFault@CErrorContext@@UAAXKKKPBG@Z +?SetFault@CRequestContext@@EAAXKKKPBG@Z +?SetFinishValue@ConfigRegistry@@IAAHPAVIRequestContext@@@Z +?SetFormatterMode@BufferFormatter@@QAAXW4Charset@PacketFormatter@@0@Z +?SetFragmentDialect@CWSManResourceNoResourceUri@@QAAHPBGPAVIRequestContext@@@Z +?SetFragmentPath@CWSManResourceNoResourceUri@@QAAHPBGPAVIRequestContext@@@Z +?SetGeneratingError@CErrorContext@@UAAXXZ +?SetLocale@CRequestContext@@QAA_NPBGK@Z +?SetLocale@Locale@@QAA_NKPBGPAVIRequestContext@@@Z +?SetMachineName@CRequestContext@@QAAKPBG@Z +?SetMachineName@CRequestContext@@QAAKPBGI@Z +?SetMachineName@CRequestContext@@QAAKXZ +?SetMaxEnvelopeSize@CircularBufferFormatter@@QAAXK@Z +?SetOptionsMustUnderstandValue@CWSManResourceNoResourceUri@@QAAXH@Z +?SetProfileHandle@UserRecord@@QAAX_J@Z +?SetProviderFailure@CErrorContext@@UAAXH@Z +?SetSecurity@CWSManSecurityUI@@UAAJKPAX@Z +?SetSize@TSTRBUFFER@@QAAJII@Z +?SetSizeInUse@SBUFFER@@QAAXI@Z +?SetThreadUILanguage@Locale@@QAA_NPAVIRequestContext@@@Z +?SetUpdateMode@BufferFormatter@@UAAXW4Mode@1@@Z +?SetUpdateMode@CircularBufferFormatter@@UAAXW4Mode@BufferFormatter@@@Z +?SetUri@CWSManResource@@QAAHPBGPAVIRequestContext@@@Z +?SetValid@RBUFFER@@IAAXH@Z +?SetXml@ReferenceParameters@PacketParser@@AAAKAAVBufferFormatter@@PAU_FWXML_ELEMENT@@@Z +?Shutdown@CBaseConfigCache@@IAAXXZ +?Shutdown@CConfigManager@@SAHXZ +?Shutdown@CWSManGroupPolicyManager@@SAHXZ +?Shutdown@ChildLifeTimeManager@@QAAXXZ +?ShutdownLocaleMap@Locale@@SAXXZ +?Size@?$SafeMap@PAVCListenerOperation@@UEmpty@@V?$SafeSet_Iterator@PAVCListenerOperation@@@@@@QBAHXZ +?Size@?$SafeMap@UUserKey@@PAVBlockedRecord@@V?$SafeMap_Iterator@UUserKey@@PAVBlockedRecord@@@@@@QBAHXZ +?Size@?$SafeMap@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@V?$SafeMap_Iterator@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@@@@@QBAHXZ +?Size@?$SafeMap@VStringKeyCI@@KV?$SafeMap_Iterator@VStringKeyCI@@K@@@@QBAHXZ +?Size@?$SafeMap@VStringKeyCI@@UEmpty@@V?$SafeSet_Iterator@VStringKeyCI@@@@@@QBAHXZ +?Size@?$SafeMap@VStringKeyStore@@PAVExpiredOperationIdRecord@@V?$SafeMap_Iterator@VStringKeyStore@@PAVExpiredOperationIdRecord@@@@@@QBAHXZ +?SkipOrphans@?$SafeMap_Iterator@PAVCCertMapping@@UEmpty@@@@IAAXXZ +?SkipOrphans@?$SafeMap_Iterator@PAVCListenerOperation@@UEmpty@@@@IAAXXZ +?SkipOrphans@?$SafeMap_Iterator@PAVCShellUriSettings@@UEmpty@@@@IAAXXZ +?SkipOrphans@?$SafeMap_Iterator@PAXUEmpty@@@@IAAXXZ +?SkipOrphans@?$SafeMap_Iterator@UPluginKey@@K@@IAAXXZ +?SkipOrphans@?$SafeMap_Iterator@UUserKey@@PAVBlockedRecord@@@@IAAXXZ +?SkipOrphans@?$SafeMap_Iterator@VCertThumbprintKey@@VCertThumbprintMappedSet@CServiceConfigSettings@@@@IAAXXZ +?SkipOrphans@?$SafeMap_Iterator@VKey@Locale@@K@@IAAXXZ +?SkipOrphans@?$SafeMap_Iterator@VStringKeyCI@@K@@IAAXXZ +?SkipOrphans@?$SafeMap_Iterator@VStringKeyCI@@UUSER_CONTEXT_INFO@WSManHttpListener@@@@IAAXXZ +?SkipOrphans@?$SafeMap_Iterator@VStringKeyStore@@PAVExpiredOperationIdRecord@@@@IAAXXZ +?SkipOrphans@?$SafeMap_Iterator@VStringKeyStore@@PAVServerFullDuplexChannel@@@@IAAXXZ +?SkipOrphans@?$SafeMap_Iterator@W4WSManSessionOption@@PAVOptionValue@SessionOptions@Client@WSMan@@@@IAAXXZ +?SkipOrphans@?$SafeMap_Iterator@_KPAVSendPacketArgs@RobustConnectionBuffer@@@@IAAXXZ +StartSoapProcessor +StopSoapProcessor +?Storage@?$AutoCleanup@V?$AutoDelete@G@@PAG@@QAAPAPAGXZ +?Storage@?$AutoCleanup@V?$AutoDelete@UIPRange@CWSManIPFilter@@@@PAUIPRange@CWSManIPFilter@@@@QAAPAPAUIPRange@CWSManIPFilter@@XZ +?Storage@?$AutoCleanup@V?$AutoDelete@VEnumSinkEx@@@@PAVEnumSinkEx@@@@QAAPAPAVEnumSinkEx@@XZ +?Storage@?$AutoCleanup@V?$AutoDelete@VGeneralSinkEx@@@@PAVGeneralSinkEx@@@@QAAPAPAVGeneralSinkEx@@XZ +?Storage@?$AutoCleanup@V?$AutoDelete@VIQueryDASHSMASHInterface@@@@PAVIQueryDASHSMASHInterface@@@@QAAPAPAVIQueryDASHSMASHInterface@@XZ +?Storage@?$AutoCleanup@V?$AutoDelete@VISpecification@@@@PAVISpecification@@@@QAAPAPAVISpecification@@XZ +?Storage@?$AutoCleanup@V?$AutoDelete@VPacketCreator@@@@PAVPacketCreator@@@@QAAPAPAVPacketCreator@@XZ +?Storage@?$AutoCleanup@V?$AutoDelete@VTSTRBUFFER@@@@PAVTSTRBUFFER@@@@QAAPAPAVTSTRBUFFER@@XZ +?Storage@?$AutoCleanup@V?$AutoDelete@VWmiEnumContext@@@@PAVWmiEnumContext@@@@QAAPAPAVWmiEnumContext@@XZ +?Storage@?$AutoCleanup@V?$AutoDelete@VXmlReader@@@@PAVXmlReader@@@@QAAPAPAVXmlReader@@XZ +?Storage@?$AutoCleanup@V?$AutoDeleteVector@$$CBG@@PBG@@QAAPAPBGXZ +?Storage@?$AutoCleanup@V?$AutoDeleteVector@E@@PAE@@QAAPAPAEXZ +?Storage@?$AutoCleanup@V?$AutoDeleteVector@G@@PAG@@QAAPAPAGXZ +?Storage@?$AutoCleanup@V?$AutoDeleteVector@PAG@@PAPAG@@QAAPAPAPAGXZ +?Storage@?$AutoCleanup@V?$AutoDeleteVector@PBG@@PAPBG@@QAAPAPAPBGXZ +?Storage@?$AutoCleanup@V?$AutoDeleteVector@U_WINRS_CREATE_SHELL_ENVIRONMENT_VARIABLE@@@@PAU_WINRS_CREATE_SHELL_ENVIRONMENT_VARIABLE@@@@QAAPAPAU_WINRS_CREATE_SHELL_ENVIRONMENT_VARIABLE@@XZ +?Storage@?$AutoCleanup@V?$AutoDeleteVector@U_WINRS_RUN_COMMAND_ARG@@@@PAU_WINRS_RUN_COMMAND_ARG@@@@QAAPAPAU_WINRS_RUN_COMMAND_ARG@@XZ +?Storage@?$AutoCleanup@V?$AutoDeleteVector@X@@PAX@@QAAPAPAXXZ +?Storage@?$AutoCleanup@V?$AutoFree@E@@PAE@@QAAPAPAEXZ +?Storage@?$AutoCleanup@V?$AutoLocklessItemRecycle@VPacket@@@@PAVPacket@@@@QAAPAPAVPacket@@XZ +?Storage@?$AutoCleanup@V?$AutoRelease@UIAppHostChildElementCollection@@@@PAUIAppHostChildElementCollection@@@@QAAPAPAUIAppHostChildElementCollection@@XZ +?Storage@?$AutoCleanup@V?$AutoRelease@UIAppHostElement@@@@PAUIAppHostElement@@@@QAAPAPAUIAppHostElement@@XZ +?Storage@?$AutoCleanup@V?$AutoRelease@UIAppHostElementCollection@@@@PAUIAppHostElementCollection@@@@QAAPAPAUIAppHostElementCollection@@XZ +?Storage@?$AutoCleanup@V?$AutoRelease@UIAppHostProperty@@@@PAUIAppHostProperty@@@@QAAPAPAUIAppHostProperty@@XZ +?Storage@?$AutoCleanup@V?$AutoRelease@UIAppHostPropertyCollection@@@@PAUIAppHostPropertyCollection@@@@QAAPAPAUIAppHostPropertyCollection@@XZ +?Storage@?$AutoCleanup@V?$AutoRelease@UIClientSecurity@@@@PAUIClientSecurity@@@@QAAPAPAUIClientSecurity@@XZ +?Storage@?$AutoCleanup@V?$AutoRelease@UIEnumWbemClassObject@@@@PAUIEnumWbemClassObject@@@@QAAPAPAUIEnumWbemClassObject@@XZ +?Storage@?$AutoCleanup@V?$AutoRelease@UIErrorInfo@@@@PAUIErrorInfo@@@@QAAPAPAUIErrorInfo@@XZ +?Storage@?$AutoCleanup@V?$AutoRelease@UIUnknown@@@@PAUIUnknown@@@@QAAPAPAUIUnknown@@XZ +?Storage@?$AutoCleanup@V?$AutoRelease@UIWbemClassObject@@@@PAUIWbemClassObject@@@@QAAPAPAUIWbemClassObject@@XZ +?Storage@?$AutoCleanup@V?$AutoRelease@UIWbemContext@@@@PAUIWbemContext@@@@QAAPAPAUIWbemContext@@XZ +?Storage@?$AutoCleanup@V?$AutoRelease@UIWbemLocator@@@@PAUIWbemLocator@@@@QAAPAPAUIWbemLocator@@XZ +?Storage@?$AutoCleanup@V?$AutoRelease@UIWbemObjectTextSrc@@@@PAUIWbemObjectTextSrc@@@@QAAPAPAUIWbemObjectTextSrc@@XZ +?Storage@?$AutoCleanup@V?$AutoRelease@UIWbemPath@@@@PAUIWbemPath@@@@QAAPAPAUIWbemPath@@XZ +?Storage@?$AutoCleanup@V?$AutoRelease@UIWbemPathKeyList@@@@PAUIWbemPathKeyList@@@@QAAPAPAUIWbemPathKeyList@@XZ +?Storage@?$AutoCleanup@V?$AutoRelease@UIWbemQualifierSet@@@@PAUIWbemQualifierSet@@@@QAAPAPAUIWbemQualifierSet@@XZ +?Storage@?$AutoCleanup@V?$AutoRelease@UIWbemQuery@@@@PAUIWbemQuery@@@@QAAPAPAUIWbemQuery@@XZ +?Storage@?$AutoCleanup@V?$AutoRelease@UIWbemServices@@@@PAUIWbemServices@@@@QAAPAPAUIWbemServices@@XZ +?Storage@?$AutoCleanup@V?$AutoRelease@VCWSManEPR@@@@PAVCWSManEPR@@@@QAAPAPAVCWSManEPR@@XZ +?Storage@?$AutoCleanup@V?$AutoRelease@VCWinRSPluginConfigCache@@@@PAVCWinRSPluginConfigCache@@@@QAAPAPAVCWinRSPluginConfigCache@@XZ +?Storage@?$AutoCleanup@V?$AutoRelease@VCommand@Client@WSMan@@@@PAVCommand@Client@WSMan@@@@QAAPAPAVCommand@Client@WSMan@@XZ +?Storage@?$AutoCleanup@V?$AutoRelease@VEnumSinkEx@@@@PAVEnumSinkEx@@@@QAAPAPAVEnumSinkEx@@XZ +?Storage@?$AutoCleanup@V?$AutoRelease@VGeneralSinkEx@@@@PAVGeneralSinkEx@@@@QAAPAPAVGeneralSinkEx@@XZ +?Storage@?$AutoCleanup@V?$AutoRelease@VIRequestContext@@@@PAVIRequestContext@@@@QAAPAPAVIRequestContext@@XZ +?Storage@?$AutoCleanup@V?$AutoRelease@VReceiveOperation@Client@WSMan@@@@PAVReceiveOperation@Client@WSMan@@@@QAAPAPAVReceiveOperation@Client@WSMan@@XZ +?Storage@?$AutoCleanup@V?$AutoRelease@VSendOperation@Client@WSMan@@@@PAVSendOperation@Client@WSMan@@@@QAAPAPAVSendOperation@Client@WSMan@@XZ +?Storage@?$AutoCleanup@V?$AutoRelease@VShell@Client@WSMan@@@@PAVShell@Client@WSMan@@@@QAAPAPAVShell@Client@WSMan@@XZ +?Storage@?$AutoCleanup@V?$AutoRelease@VSignalOperation@Client@WSMan@@@@PAVSignalOperation@Client@WSMan@@@@QAAPAPAVSignalOperation@Client@WSMan@@XZ +?Storage@?$AutoCleanup@VAutoBstr@@PAG@@QAAPAPAGXZ +?Storage@?$AutoCleanup@VAutoBstrNoAlloc@@PAG@@QAAPAPAGXZ +?Storage@?$AutoCleanup@VAutoCertContext@@PBU_CERT_CONTEXT@@@@QAAPAPBU_CERT_CONTEXT@@XZ +?Storage@?$AutoCleanup@VAutoChainContext@@PBU_CERT_CHAIN_CONTEXT@@@@QAAPAPBU_CERT_CHAIN_CONTEXT@@XZ +?Storage@?$AutoCleanup@VAutoHandle@@PAX@@QAAPAPAXXZ +?Storage@?$AutoCleanup@VAutoImpersonateUser@@PAX@@QAAPAPAXXZ +?Storage@?$AutoCleanup@VAutoLocalFree@@PAX@@QAAPAPAXXZ +?Storage@?$AutoCleanup@VAutoMIClass@@PAU_MI_Class@@@@QAAPAPAU_MI_Class@@XZ +?Storage@?$AutoCleanup@VAutoMIInstance@@PAU_MI_Instance@@@@QAAPAPAU_MI_Instance@@XZ +?Storage@?$AutoCleanup@VAutoRegKey@@PAUHKEY__@@@@QAAPAPAUHKEY__@@XZ +?Storage@?$AutoCleanup@VAutoSecurityDescriptor@@PAX@@QAAPAPAXXZ +?Storage@?$AutoCleanup@VAutoWaitHandle@@PAX@@QAAPAPAXXZ +?StoreData@CWSManResource@@AAAHPAVIRequestContext@@PBG11PAU_WSMAN_SELECTOR_SET@@PAU_WSMAN_OPTION_SET@@@Z +?StoreData@CWSManResource@@QAAHPAVIRequestContext@@PBG@Z +?StoreDataFromResourceLocator@CWSManResource@@AAAHPAVIRequestContext@@PAU_WSMAN_RESOURCE_LOCATOR@@@Z +?StoreExpansion@CResourceAlias@@AAAXPBGPAU_ALIAS_INFORMATION@@@Z +?StreamingOutput@ExtendedSemantic@@2KB +?StringCchEndsWithCI@@YAHPBG0@Z +?StringCchEquals@@YAHPBG0@Z +?StringCchEqualsCI@@YAHPBG0@Z +?StringCchStartsWith@@YAHPBG0@Z +?StringCchStartsWithCI@@YAHPBG0@Z +?StringConcatenate@CWSManResourceNoResourceUri@@IAAHAAPAGAAKKPAG@Z +?StringIsBlank@@YAHPBG@Z +?StringToDword@@YAHPBDPAK@Z +?StringToDword@@YAHPBGPAK@Z +?StringTrimWhitespace@@YAPAGPAG@Z +?Subscribe@CWSManGroupPolicyManager@@UAAHPAVIRequestContext@@PAVIWSManGroupPolicyObserver@@H@Z +?TruncateAt@TSTRBUFFER@@QAAXI@Z +?TryAcquire@CWSManCriticalSection@@QAAHXZ +?UnSubscribe@CWSManGroupPolicyManager@@UAAHPAVIRequestContext@@PAVIWSManGroupPolicyObserver@@@Z +?UninstallMigration@@YAHPAVIRequestContext@@@Z +?UnregisterChild@ChildLifeTimeManager@@QAAXXZ +?UnregisterPolicyNotification@CWSManGroupPolicyManager@@AAAHXZ +?Up@?$LoaderSerializer@VSubscriptionManager@@$01@@AAAJXZ +?UpdateCredentialsInCredmanStore@CConfigManager@@SAHPAVIRequestContext@@PAG1@Z +?UpdateHttpsBinding@@YAHPAVIRequestContext@@PBG1PAH@Z +?UpdateHttpsCertificate@@YAHPAVIRequestContext@@PBG11PAHHU_GUID@@@Z +?UpdateKey@CWSManResourceNoResourceUri@@QAAHPAVIRequestContext@@PBG1@Z +?Uri@CResourceAlias@@QAAPBGXZ +?UseClientToken@UserRecord@@QAA_NXZ +?UseDefaultConfig@CErrorContext@@UBAHXZ +?UsingDefaultLCID@Locale@@QAA_NXZ +?Validate@Locale@@SA_NPAU_WSMAN_DATA@@@Z +?Validate@Locale@@SA_NPBG@Z +?ValidateCBTHardeningLevel@ConfigRegistry@@IAAHPAVIRequestContext@@PBG@Z +?ValidateCertificateHash@ConfigRegistry@@IAAHPAVIRequestContext@@PBG111@Z +?ValidateHeaders@PacketParser@@QAAHPAVIRequestContext@@K@Z +?ValidateHostnameAndCertificateCN@ConfigRegistry@@IAAHPAVIRequestContext@@PBG1@Z +?ValidateIPFilter@ConfigRegistry@@IAAHPAVIRequestContext@@W4ConfigSetting@@PBG@Z +?ValidateInt@CWSManGroupPolicyManager@@AAAHPAVIRequestContext@@PBU_WSMAN_POLICY_INFO@@K@Z +?ValidateInt@ConfigRegistry@@IAAHPAVIRequestContext@@PAU_CONFIG_INFO@@KPBG@Z +?ValidateString@CWSManGroupPolicyManager@@AAAHPAVIRequestContext@@PBU_WSMAN_POLICY_INFO@@PBG@Z +?ValidateString@ConfigRegistry@@IAAHPAVIRequestContext@@PAU_CONFIG_INFO@@PBG@Z +?ValidateTrustedHosts@ConfigRegistry@@IAAHPAVIRequestContext@@PBG@Z +?ValidateUrlPrefix@ConfigRegistry@@IAAHPAVIRequestContext@@PBG@Z +?Verbose@ExtendedSemantic@@2KB +?VerifyState@RBUFFER@@IBAXXZ +?WSManError@@YAXPBGK0KPAVIRequestContext@@@Z +?WSManMemoryOperation@@YAHW4WSMANMEMOPERATION@@PAXKK@Z +?WSManPostThreadMessageW@@YAHKIIJ@Z +?WaitForAllChildrenToUnregister@ChildLifeTimeManager@@QAAXK@Z +?WaitForConditionVar@CWSManCriticalSectionWithConditionVar@@QAAKK@Z +?WaitForMore@PacketParser@@UAA_NXZ +?WakeAllWaitingForConditionVar@CWSManCriticalSectionWithConditionVar@@QAAXXZ +?WakeAllWaitingOnNoOfChildren@ChildLifeTimeManager@@AAAXXZ +?Warning@EventLog@@SAXK@Z +?Warning@EventLog@@SAXKGPAPBG@Z +?Warning@EventLog@@SAXKPBG@Z +?Warning@ExtendedSemantic@@2KB +?WatchForChanges@CServiceConfigCache@@QAAPAVCServiceWatcher@1@PAVIRequestContext@@PAVIServiceConfigObserver@@@Z +?WrapperCoSetProxyBlanket@@YAJPAUIUnknown@@KKPAGKKPAXKW4BehaviourForNoInterfaceError@@@Z +?Write@EventHandler@WSMan@@SAXABU_EVENT_DESCRIPTOR@@KPAU_EVENT_DATA_DESCRIPTOR@@@Z +?WriteCredentialsToCredmanStore@CConfigManager@@SAHPAVIRequestContext@@PAG1H@Z +?WriteSoapA@EventHandler@WSMan@@SAXABU_EVENT_DESCRIPTOR@@PBDK@Z +?WriteSoapMessageA@EventHandler@WSMan@@AAAXABU_EVENT_DESCRIPTOR@@PBDK@Z +?WriteSoapMessageW@EventHandler@WSMan@@AAAXABU_EVENT_DESCRIPTOR@@PBGK@Z +?WriteSoapMessageW_BE@EventHandler@WSMan@@AAAXABU_EVENT_DESCRIPTOR@@PBGK@Z +?WriteSoapW@EventHandler@WSMan@@SAXABU_EVENT_DESCRIPTOR@@PBGK@Z +?WriteSoapW_BE@EventHandler@WSMan@@SAXABU_EVENT_DESCRIPTOR@@PBGK@Z +?_PolicyChangedCallback@CWSManGroupPolicyManager@@CAXPAXE@Z +?back@?$SimpleQueue@T_LARGE_INTEGER@@@@QBA?BT_LARGE_INTEGER@@XZ +?empty@?$SimpleQueue@T_LARGE_INTEGER@@@@QBA_NXZ +?front@?$SimpleQueue@T_LARGE_INTEGER@@@@QBA?BT_LARGE_INTEGER@@XZ +?g_Resources@Locale@@0V?$Loader@VResources@Locale@@$0A@@@A DATA +?pop@?$SimpleQueue@T_LARGE_INTEGER@@@@QAAXXZ +?push@?$SimpleQueue@T_LARGE_INTEGER@@@@QAAKT_LARGE_INTEGER@@@Z +?s_cacheMap@CClientConfigCache@@0V?$AutoRelease@VCConfigCacheMap@CBaseConfigCache@@@@A DATA +?s_cacheMap@CServiceConfigCache@@0V?$AutoRelease@VCConfigCacheMap@CBaseConfigCache@@@@A DATA +?s_cacheMap@CWinRSPluginConfigCache@@0V?$AutoRelease@VCConfigCacheMap@CBaseConfigCache@@@@A DATA +?s_config@CConfigManager@@0V?$AutoRelease@VCConfigManager@@@@A DATA +?s_lock@CConfigManager@@0VFastLock@@A DATA +?s_lock@CWSManGroupPolicyManager@@0VFastLock@@A DATA +?s_mapLock@CClientConfigCache@@0VFastLock@@A DATA +?s_mapLock@CServiceConfigCache@@0VFastLock@@A DATA +?s_mapLock@CWinRSPluginConfigCache@@0VFastLock@@A DATA +?s_policyManager@CWSManGroupPolicyManager@@0V?$AutoRelease@VCWSManGroupPolicyManager@@@@A DATA +EnumServiceUserResources +FwGetParsedDocument +FwGetRootElement +FwIsXmlEscapedProperly +FwXmlAddAttributeToAttributeList +FwXmlCloseParser +FwXmlCompareAttributeName +FwXmlCompareAttributeNameEx +FwXmlCompareElementName +FwXmlCompareElementNameEx +FwXmlCompareElementNameLen +FwXmlCompareElementNameSpace +FwXmlCompareName +FwXmlCreateXmlFromElement +FwXmlDecodeXmlEscapes +FwXmlEncodeXmlEscapes +FwXmlFindAttribute +FwXmlFindAttributeEx +FwXmlFindChildElement +FwXmlFindChildElementEx +FwXmlGetAttribute +FwXmlGetAttributeNameEx +FwXmlGetAttributeNamespacePrefix +FwXmlGetAttributeValue +FwXmlGetAttributeValueDWord +FwXmlGetBooleanValue +FwXmlGetBuffer +FwXmlGetChild +FwXmlGetElementName +FwXmlGetElementNameEx +FwXmlGetElementNamespacePrefix +FwXmlGetElementNamespaceUrl +FwXmlGetEntryNameEx +FwXmlGetNamespaceForPrefix +FwXmlGetNormalizedString +FwXmlGetReferenceXmlFromElement +FwXmlGetRemainder +FwXmlGetSimpleContent +FwXmlGetSimpleContentEx +FwXmlGetSimpleContentEx2 +FwXmlHasText +FwXmlIsEmpty +FwXmlIsMustUnderstand +FwXmlIsNull +FwXmlIsSimpleContent +FwXmlIsSimpleContentOrEmpty +FwXmlIsTrueValue +FwXmlNumAttributes +FwXmlNumChildren +FwXmlNumChildrenWithName +FwXmlNumConsecutiveChildrenWithName +FwXmlParsePrefixedXML +FwXmlParseStream +FwXmlParseText +FwXmlParserCreate +FwXmlUpdatePrefixes +GetServiceSecurity +MI_Application_InitializeV1 +ServiceMain +SetServiceSecurity +SubscriptionsProvEnumerate +SvchostPushServiceGlobals +WSManAckEvents +WSManAddSubscriptionManagerInternal +WSManCloseCommand +WSManCloseEnumerationHandle +WSManCloseEnumeratorHandle +WSManCloseObjectHandle +WSManCloseOperation +WSManClosePublisherHandle +WSManCloseSession +WSManCloseSessionHandle +WSManCloseShell +WSManCloseSubscriptionHandle +WSManConnectShell +WSManConnectShellCommand +WSManConstructError +WSManCreateEnumeratorInternal +WSManCreateInternal +WSManCreateInternalEx +WSManCreatePullSubscription +WSManCreatePushSubscription +WSManCreateSession +WSManCreateSessionInternal +WSManCreateShell +WSManCreateShellEx +WSManDecodeObject +WSManDeinitialize +WSManDeleteInternal +WSManDeleteInternalEx +WSManDeliverEndSubscriptionNotification +WSManDeliverEvent +WSManDisconnectShell +WSManEncodeObject +WSManEncodeObjectEx +WSManEncodeObjectInternal +WSManEnumerateInternal +WSManEnumerateInternalEx +WSManEnumeratorAddEvent +WSManEnumeratorAddObject +WSManEnumeratorBatchPolicyViolated +WSManEnumeratorNextObject +WSManEnumeratorObjectCount +WSManGetErrorMessage +WSManGetInternal +WSManGetInternalEx +WSManGetSessionOptionAsDword +WSManGetSessionOptionAsString +WSManIdentifyInternal +WSManInitialize +WSManInvokeInternal +WSManInvokeInternalEx +WSManPluginAuthzOperationComplete +WSManPluginAuthzQueryQuotaComplete +WSManPluginAuthzUserComplete +WSManPluginFreeRequestDetails +WSManPluginGetConfiguration +WSManPluginGetOperationParameters +WSManPluginInteractiveCallback +WSManPluginObjectAndBookmarkResult +WSManPluginObjectAndEprResult +WSManPluginObjectResult +WSManPluginOperationComplete +WSManPluginReceiveResult +WSManPluginReportCompletion +WSManPluginReportContext +WSManPluginShutdown +WSManPluginStartup +WSManProvCreate +WSManProvDelete +WSManProvEnumerate +WSManProvGet +WSManProvInvoke +WSManProvPut +WSManPull +WSManPullEvents +WSManPutInternal +WSManPutInternalEx +WSManReceiveShellOutput +WSManReconnectShell +WSManReconnectShellCommand +WSManRemoveSubscriptionManagerInternal +WSManRunShellCommand +WSManRunShellCommandEx +WSManSendShellInput +WSManSetSessionOption +WSManSignalShell +mi_clientFT_V1 DATA diff --git a/lib/libc/mingw/libarm32/wsnmp32.def b/lib/libc/mingw/libarm32/wsnmp32.def new file mode 100644 index 0000000000..61e704a901 --- /dev/null +++ b/lib/libc/mingw/libarm32/wsnmp32.def @@ -0,0 +1,58 @@ +; +; Definition file of wsnmp32.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "wsnmp32.dll" +EXPORTS +SnmpGetTranslateMode +SnmpSetTranslateMode +SnmpGetRetransmitMode +SnmpSetRetransmitMode +SnmpGetTimeout +SnmpSetTimeout +SnmpGetRetry +SnmpSetRetry +SnmpConveyAgentAddress +SnmpSetAgentAddress +SnmpGetVendorInfo +SnmpStartup +SnmpCleanup +SnmpOpen +SnmpClose +SnmpSendMsg +SnmpRecvMsg +SnmpRegister +SnmpCreateSession +SnmpListen +SnmpCancelMsg +SnmpStartupEx +SnmpCleanupEx +SnmpListenEx +SnmpStrToEntity +SnmpEntityToStr +SnmpFreeEntity +SnmpSetPort +SnmpStrToContext +SnmpContextToStr +SnmpFreeContext +SnmpCreatePdu +SnmpGetPduData +SnmpSetPduData +SnmpDuplicatePdu +SnmpFreePdu +SnmpCreateVbl +SnmpDuplicateVbl +SnmpFreeVbl +SnmpCountVbl +SnmpGetVb +SnmpSetVb +SnmpDeleteVb +SnmpFreeDescriptor +SnmpEncodeMsg +SnmpDecodeMsg +SnmpStrToOid +SnmpOidToStr +SnmpOidCopy +SnmpOidCompare +SnmpGetLastError diff --git a/lib/libc/mingw/libarm32/xmllite.def b/lib/libc/mingw/libarm32/xmllite.def new file mode 100644 index 0000000000..2cf21b845b --- /dev/null +++ b/lib/libc/mingw/libarm32/xmllite.def @@ -0,0 +1,13 @@ +; +; Definition file of XmlLite.dll +; Automatic generated by gendef +; written by Kai Tietz 2008-2014 +; +LIBRARY "XmlLite.dll" +EXPORTS +CreateXmlReader +CreateXmlReaderInputWithEncodingCodePage +CreateXmlReaderInputWithEncodingName +CreateXmlWriter +CreateXmlWriterOutputWithEncodingCodePage +CreateXmlWriterOutputWithEncodingName From 9c797fe3ac3a377caa01bdbd74b984d11b53398e Mon Sep 17 00:00:00 2001 From: Tadeo Kondrak Date: Mon, 11 Jan 2021 07:56:48 -0700 Subject: [PATCH 67/73] std.zig: reformat inline fn to callconv(.Inline) --- lib/std/zig/ast.zig | 9 +++++++++ lib/std/zig/parse.zig | 11 +++++++++-- lib/std/zig/render.zig | 4 +++- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/lib/std/zig/ast.zig b/lib/std/zig/ast.zig index b7975fc0f7..436d9c37ee 100644 --- a/lib/std/zig/ast.zig +++ b/lib/std/zig/ast.zig @@ -1357,6 +1357,7 @@ pub const Node = struct { extern_export_inline_token: TokenIndex, is_extern_prototype: void, // TODO: Remove once extern fn rewriting is is_async: void, // TODO: remove once async fn rewriting is + is_inline: void, // TODO: remove once inline fn rewriting is }); pub const RequiredFields = struct { @@ -1523,6 +1524,14 @@ pub const Node = struct { self.setTrailer(.is_async, value); } + pub fn getIsInline(self: *const FnProto) ?void { + return self.getTrailer(.is_inline); + } + + pub fn setIsInline(self: *FnProto, value: void) void { + self.setTrailer(.is_inline, value); + } + fn getTrailer(self: *const FnProto, comptime field: TrailerFlags.FieldEnum) ?TrailerFlags.Field(field) { const trailers_start = @alignCast( @alignOf(ParamDecl), diff --git a/lib/std/zig/parse.zig b/lib/std/zig/parse.zig index 5dd27cbcb3..32f6403686 100644 --- a/lib/std/zig/parse.zig +++ b/lib/std/zig/parse.zig @@ -493,9 +493,15 @@ const Parser = struct { extern_export_inline_token: ?TokenIndex = null, lib_name: ?*Node = null, }) !?*Node { - // TODO: Remove once extern/async fn rewriting is - var is_async: ?void = null; + // TODO: Remove once extern/async/inline fn rewriting is var is_extern_prototype: ?void = null; + var is_async: ?void = null; + var is_inline: ?void = null; + if (fields.extern_export_inline_token != null and + p.token_ids[fields.extern_export_inline_token.?] == .Keyword_inline) + { + is_inline = {}; + } const cc_token: ?TokenIndex = blk: { if (p.eatToken(.Keyword_extern)) |token| { is_extern_prototype = {}; @@ -573,6 +579,7 @@ const Parser = struct { .callconv_expr = callconv_expr, .is_extern_prototype = is_extern_prototype, .is_async = is_async, + .is_inline = is_inline, }); std.mem.copy(Node.FnProto.ParamDecl, fn_proto_node.params(), params); diff --git a/lib/std/zig/render.zig b/lib/std/zig/render.zig index c8568301ea..31cc6e16c2 100644 --- a/lib/std/zig/render.zig +++ b/lib/std/zig/render.zig @@ -1558,7 +1558,7 @@ fn renderExpression( } if (fn_proto.getExternExportInlineToken()) |extern_export_inline_token| { - if (fn_proto.getIsExternPrototype() == null) + if (fn_proto.getIsExternPrototype() == null and fn_proto.getIsInline() == null) try renderToken(tree, ais, extern_export_inline_token, Space.Space); // extern/export/inline } @@ -1664,6 +1664,8 @@ fn renderExpression( try ais.writer().writeAll("callconv(.C) "); } else if (fn_proto.getIsAsync() != null) { try ais.writer().writeAll("callconv(.Async) "); + } else if (fn_proto.getIsInline() != null) { + try ais.writer().writeAll("callconv(.Inline) "); } switch (fn_proto.return_type) { From 5dfe0e7e8fabd3cfc3fdf5c7099791da98899903 Mon Sep 17 00:00:00 2001 From: Tadeo Kondrak Date: Mon, 11 Jan 2021 08:03:09 -0700 Subject: [PATCH 68/73] Convert inline fn to callconv(.Inline) everywhere --- doc/langref.html.in | 4 +- lib/std/c/builtins.zig | 90 +++++++++++++-------------- lib/std/compress/deflate.zig | 2 +- lib/std/crypto/25519/curve25519.zig | 4 +- lib/std/crypto/25519/edwards25519.zig | 6 +- lib/std/crypto/25519/field.zig | 28 ++++----- lib/std/crypto/25519/ristretto255.zig | 8 +-- lib/std/crypto/25519/scalar.zig | 2 +- lib/std/crypto/aegis.zig | 4 +- lib/std/crypto/aes/aesni.zig | 32 +++++----- lib/std/crypto/aes/armcrypto.zig | 32 +++++----- lib/std/crypto/aes/soft.zig | 20 +++--- lib/std/crypto/blake3.zig | 6 +- lib/std/crypto/chacha20.zig | 12 ++-- lib/std/crypto/ghash.zig | 4 +- lib/std/crypto/gimli.zig | 4 +- lib/std/crypto/salsa20.zig | 6 +- lib/std/elf.zig | 16 ++--- lib/std/fmt/parse_float.zig | 8 +-- lib/std/hash/cityhash.zig | 2 +- lib/std/os/bits/freebsd.zig | 8 +-- lib/std/os/bits/netbsd.zig | 8 +-- lib/std/os/linux.zig | 2 +- lib/std/os/linux/tls.zig | 2 +- lib/std/os/windows.zig | 2 +- lib/std/start.zig | 4 +- lib/std/zig/parser_test.zig | 6 +- lib/std/zig/system/x86.zig | 4 +- src/link/MachO.zig | 2 +- src/tracy.zig | 2 +- test/cli.zig | 2 +- test/compile_errors.zig | 12 ++-- test/stage1/behavior/fn.zig | 2 +- test/stage2/cbe.zig | 2 +- test/stage2/test.zig | 10 +-- test/translate_c.zig | 32 +++++----- 36 files changed, 195 insertions(+), 195 deletions(-) diff --git a/doc/langref.html.in b/doc/langref.html.in index 7759e26f3b..f43abfe1e6 100644 --- a/doc/langref.html.in +++ b/doc/langref.html.in @@ -4240,9 +4240,9 @@ fn _start() callconv(.Naked) noreturn { abort(); } -// The inline specifier forces a function to be inlined at all call sites. +// The inline calling convention forces a function to be inlined at all call sites. // If the function cannot be inlined, it is a compile-time error. -inline fn shiftLeftOne(a: u32) u32 { +fn shiftLeftOne(a: u32) callconv(.Inline) u32 { return a << 1; } diff --git a/lib/std/c/builtins.zig b/lib/std/c/builtins.zig index 43f5ed0588..2b386c82f4 100644 --- a/lib/std/c/builtins.zig +++ b/lib/std/c/builtins.zig @@ -6,70 +6,70 @@ const std = @import("std"); -pub inline fn __builtin_bswap16(val: u16) callconv(.C) u16 { return @byteSwap(u16, val); } -pub inline fn __builtin_bswap32(val: u32) callconv(.C) u32 { return @byteSwap(u32, val); } -pub inline fn __builtin_bswap64(val: u64) callconv(.C) u64 { return @byteSwap(u64, val); } +pub fn __builtin_bswap16(val: u16) callconv(.Inline) u16 { return @byteSwap(u16, val); } +pub fn __builtin_bswap32(val: u32) callconv(.Inline) u32 { return @byteSwap(u32, val); } +pub fn __builtin_bswap64(val: u64) callconv(.Inline) u64 { return @byteSwap(u64, val); } -pub inline fn __builtin_signbit(val: f64) callconv(.C) c_int { return @boolToInt(std.math.signbit(val)); } -pub inline fn __builtin_signbitf(val: f32) callconv(.C) c_int { return @boolToInt(std.math.signbit(val)); } +pub fn __builtin_signbit(val: f64) callconv(.Inline) c_int { return @boolToInt(std.math.signbit(val)); } +pub fn __builtin_signbitf(val: f32) callconv(.Inline) c_int { return @boolToInt(std.math.signbit(val)); } -pub inline fn __builtin_popcount(val: c_uint) callconv(.C) c_int { +pub fn __builtin_popcount(val: c_uint) callconv(.Inline) c_int { // popcount of a c_uint will never exceed the capacity of a c_int @setRuntimeSafety(false); return @bitCast(c_int, @as(c_uint, @popCount(c_uint, val))); } -pub inline fn __builtin_ctz(val: c_uint) callconv(.C) c_int { +pub fn __builtin_ctz(val: c_uint) callconv(.Inline) c_int { // Returns the number of trailing 0-bits in val, starting at the least significant bit position. // In C if `val` is 0, the result is undefined; in zig it's the number of bits in a c_uint @setRuntimeSafety(false); return @bitCast(c_int, @as(c_uint, @ctz(c_uint, val))); } -pub inline fn __builtin_clz(val: c_uint) callconv(.C) c_int { +pub fn __builtin_clz(val: c_uint) callconv(.Inline) c_int { // Returns the number of leading 0-bits in x, starting at the most significant bit position. // In C if `val` is 0, the result is undefined; in zig it's the number of bits in a c_uint @setRuntimeSafety(false); return @bitCast(c_int, @as(c_uint, @clz(c_uint, val))); } -pub inline fn __builtin_sqrt(val: f64) callconv(.C) f64 { return @sqrt(val); } -pub inline fn __builtin_sqrtf(val: f32) callconv(.C) f32 { return @sqrt(val); } +pub fn __builtin_sqrt(val: f64) callconv(.Inline) f64 { return @sqrt(val); } +pub fn __builtin_sqrtf(val: f32) callconv(.Inline) f32 { return @sqrt(val); } -pub inline fn __builtin_sin(val: f64) callconv(.C) f64 { return @sin(val); } -pub inline fn __builtin_sinf(val: f32) callconv(.C) f32 { return @sin(val); } -pub inline fn __builtin_cos(val: f64) callconv(.C) f64 { return @cos(val); } -pub inline fn __builtin_cosf(val: f32) callconv(.C) f32 { return @cos(val); } +pub fn __builtin_sin(val: f64) callconv(.Inline) f64 { return @sin(val); } +pub fn __builtin_sinf(val: f32) callconv(.Inline) f32 { return @sin(val); } +pub fn __builtin_cos(val: f64) callconv(.Inline) f64 { return @cos(val); } +pub fn __builtin_cosf(val: f32) callconv(.Inline) f32 { return @cos(val); } -pub inline fn __builtin_exp(val: f64) callconv(.C) f64 { return @exp(val); } -pub inline fn __builtin_expf(val: f32) callconv(.C) f32 { return @exp(val); } -pub inline fn __builtin_exp2(val: f64) callconv(.C) f64 { return @exp2(val); } -pub inline fn __builtin_exp2f(val: f32) callconv(.C) f32 { return @exp2(val); } -pub inline fn __builtin_log(val: f64) callconv(.C) f64 { return @log(val); } -pub inline fn __builtin_logf(val: f32) callconv(.C) f32 { return @log(val); } -pub inline fn __builtin_log2(val: f64) callconv(.C) f64 { return @log2(val); } -pub inline fn __builtin_log2f(val: f32) callconv(.C) f32 { return @log2(val); } -pub inline fn __builtin_log10(val: f64) callconv(.C) f64 { return @log10(val); } -pub inline fn __builtin_log10f(val: f32) callconv(.C) f32 { return @log10(val); } +pub fn __builtin_exp(val: f64) callconv(.Inline) f64 { return @exp(val); } +pub fn __builtin_expf(val: f32) callconv(.Inline) f32 { return @exp(val); } +pub fn __builtin_exp2(val: f64) callconv(.Inline) f64 { return @exp2(val); } +pub fn __builtin_exp2f(val: f32) callconv(.Inline) f32 { return @exp2(val); } +pub fn __builtin_log(val: f64) callconv(.Inline) f64 { return @log(val); } +pub fn __builtin_logf(val: f32) callconv(.Inline) f32 { return @log(val); } +pub fn __builtin_log2(val: f64) callconv(.Inline) f64 { return @log2(val); } +pub fn __builtin_log2f(val: f32) callconv(.Inline) f32 { return @log2(val); } +pub fn __builtin_log10(val: f64) callconv(.Inline) f64 { return @log10(val); } +pub fn __builtin_log10f(val: f32) callconv(.Inline) f32 { return @log10(val); } // Standard C Library bug: The absolute value of the most negative integer remains negative. -pub inline fn __builtin_abs(val: c_int) callconv(.C) c_int { return std.math.absInt(val) catch std.math.minInt(c_int); } -pub inline fn __builtin_fabs(val: f64) callconv(.C) f64 { return @fabs(val); } -pub inline fn __builtin_fabsf(val: f32) callconv(.C) f32 { return @fabs(val); } +pub fn __builtin_abs(val: c_int) callconv(.Inline) c_int { return std.math.absInt(val) catch std.math.minInt(c_int); } +pub fn __builtin_fabs(val: f64) callconv(.Inline) f64 { return @fabs(val); } +pub fn __builtin_fabsf(val: f32) callconv(.Inline) f32 { return @fabs(val); } -pub inline fn __builtin_floor(val: f64) callconv(.C) f64 { return @floor(val); } -pub inline fn __builtin_floorf(val: f32) callconv(.C) f32 { return @floor(val); } -pub inline fn __builtin_ceil(val: f64) callconv(.C) f64 { return @ceil(val); } -pub inline fn __builtin_ceilf(val: f32) callconv(.C) f32 { return @ceil(val); } -pub inline fn __builtin_trunc(val: f64) callconv(.C) f64 { return @trunc(val); } -pub inline fn __builtin_truncf(val: f32) callconv(.C) f32 { return @trunc(val); } -pub inline fn __builtin_round(val: f64) callconv(.C) f64 { return @round(val); } -pub inline fn __builtin_roundf(val: f32) callconv(.C) f32 { return @round(val); } +pub fn __builtin_floor(val: f64) callconv(.Inline) f64 { return @floor(val); } +pub fn __builtin_floorf(val: f32) callconv(.Inline) f32 { return @floor(val); } +pub fn __builtin_ceil(val: f64) callconv(.Inline) f64 { return @ceil(val); } +pub fn __builtin_ceilf(val: f32) callconv(.Inline) f32 { return @ceil(val); } +pub fn __builtin_trunc(val: f64) callconv(.Inline) f64 { return @trunc(val); } +pub fn __builtin_truncf(val: f32) callconv(.Inline) f32 { return @trunc(val); } +pub fn __builtin_round(val: f64) callconv(.Inline) f64 { return @round(val); } +pub fn __builtin_roundf(val: f32) callconv(.Inline) f32 { return @round(val); } -pub inline fn __builtin_strlen(s: [*c]const u8) callconv(.C) usize { return std.mem.lenZ(s); } -pub inline fn __builtin_strcmp(s1: [*c]const u8, s2: [*c]const u8) callconv(.C) c_int { +pub fn __builtin_strlen(s: [*c]const u8) callconv(.Inline) usize { return std.mem.lenZ(s); } +pub fn __builtin_strcmp(s1: [*c]const u8, s2: [*c]const u8) callconv(.Inline) c_int { return @as(c_int, std.cstr.cmp(s1, s2)); } -pub inline fn __builtin_object_size(ptr: ?*const c_void, ty: c_int) callconv(.C) usize { +pub fn __builtin_object_size(ptr: ?*const c_void, ty: c_int) callconv(.Inline) usize { // clang semantics match gcc's: https://gcc.gnu.org/onlinedocs/gcc/Object-Size-Checking.html // If it is not possible to determine which objects ptr points to at compile time, // __builtin_object_size should return (size_t) -1 for type 0 or 1 and (size_t) 0 @@ -79,37 +79,37 @@ pub inline fn __builtin_object_size(ptr: ?*const c_void, ty: c_int) callconv(.C) unreachable; } -pub inline fn __builtin___memset_chk( +pub fn __builtin___memset_chk( dst: ?*c_void, val: c_int, len: usize, remaining: usize, -) callconv(.C) ?*c_void { +) callconv(.Inline) ?*c_void { if (len > remaining) @panic("std.c.builtins.memset_chk called with len > remaining"); return __builtin_memset(dst, val, len); } -pub inline fn __builtin_memset(dst: ?*c_void, val: c_int, len: usize) callconv(.C) ?*c_void { +pub fn __builtin_memset(dst: ?*c_void, val: c_int, len: usize) callconv(.Inline) ?*c_void { const dst_cast = @ptrCast([*c]u8, dst); @memset(dst_cast, @bitCast(u8, @truncate(i8, val)), len); return dst; } -pub inline fn __builtin___memcpy_chk( +pub fn __builtin___memcpy_chk( noalias dst: ?*c_void, noalias src: ?*const c_void, len: usize, remaining: usize, -) callconv(.C) ?*c_void { +) callconv(.Inline) ?*c_void { if (len > remaining) @panic("std.c.builtins.memcpy_chk called with len > remaining"); return __builtin_memcpy(dst, src, len); } -pub inline fn __builtin_memcpy( +pub fn __builtin_memcpy( noalias dst: ?*c_void, noalias src: ?*const c_void, len: usize, -) callconv(.C) ?*c_void { +) callconv(.Inline) ?*c_void { const dst_cast = @ptrCast([*c]u8, dst); const src_cast = @ptrCast([*c]const u8, src); diff --git a/lib/std/compress/deflate.zig b/lib/std/compress/deflate.zig index 3f920c08b6..e680dc9e6f 100644 --- a/lib/std/compress/deflate.zig +++ b/lib/std/compress/deflate.zig @@ -209,7 +209,7 @@ pub fn InflateStream(comptime ReaderType: type) type { // Insert a single byte into the window. // Assumes there's enough space. - inline fn appendUnsafe(self: *WSelf, value: u8) void { + fn appendUnsafe(self: *WSelf, value: u8) callconv(.Inline) void { self.buf[self.wi] = value; self.wi = (self.wi + 1) & (self.buf.len - 1); self.el += 1; diff --git a/lib/std/crypto/25519/curve25519.zig b/lib/std/crypto/25519/curve25519.zig index 14ad0444f5..765ffa1629 100644 --- a/lib/std/crypto/25519/curve25519.zig +++ b/lib/std/crypto/25519/curve25519.zig @@ -15,12 +15,12 @@ pub const Curve25519 = struct { x: Fe, /// Decode a Curve25519 point from its compressed (X) coordinates. - pub inline fn fromBytes(s: [32]u8) Curve25519 { + pub fn fromBytes(s: [32]u8) callconv(.Inline) Curve25519 { return .{ .x = Fe.fromBytes(s) }; } /// Encode a Curve25519 point. - pub inline fn toBytes(p: Curve25519) [32]u8 { + pub fn toBytes(p: Curve25519) callconv(.Inline) [32]u8 { return p.x.toBytes(); } diff --git a/lib/std/crypto/25519/edwards25519.zig b/lib/std/crypto/25519/edwards25519.zig index 8c0a783083..d4238f87bb 100644 --- a/lib/std/crypto/25519/edwards25519.zig +++ b/lib/std/crypto/25519/edwards25519.zig @@ -92,7 +92,7 @@ pub const Edwards25519 = struct { } /// Flip the sign of the X coordinate. - pub inline fn neg(p: Edwards25519) Edwards25519 { + pub fn neg(p: Edwards25519) callconv(.Inline) Edwards25519 { return .{ .x = p.x.neg(), .y = p.y, .z = p.z, .t = p.t.neg() }; } @@ -137,14 +137,14 @@ pub const Edwards25519 = struct { return p.add(q.neg()); } - inline fn cMov(p: *Edwards25519, a: Edwards25519, c: u64) void { + fn cMov(p: *Edwards25519, a: Edwards25519, c: u64) callconv(.Inline) void { p.x.cMov(a.x, c); p.y.cMov(a.y, c); p.z.cMov(a.z, c); p.t.cMov(a.t, c); } - inline fn pcSelect(comptime n: usize, pc: [n]Edwards25519, b: u8) Edwards25519 { + fn pcSelect(comptime n: usize, pc: [n]Edwards25519, b: u8) callconv(.Inline) Edwards25519 { var t = Edwards25519.identityElement; comptime var i: u8 = 1; inline while (i < pc.len) : (i += 1) { diff --git a/lib/std/crypto/25519/field.zig b/lib/std/crypto/25519/field.zig index 12c7f06d39..320cb1bb51 100644 --- a/lib/std/crypto/25519/field.zig +++ b/lib/std/crypto/25519/field.zig @@ -52,7 +52,7 @@ pub const Fe = struct { pub const edwards25519sqrtam2 = Fe{ .limbs = .{ 1693982333959686, 608509411481997, 2235573344831311, 947681270984193, 266558006233600 } }; /// Return true if the field element is zero - pub inline fn isZero(fe: Fe) bool { + pub fn isZero(fe: Fe) callconv(.Inline) bool { var reduced = fe; reduced.reduce(); const limbs = reduced.limbs; @@ -60,7 +60,7 @@ pub const Fe = struct { } /// Return true if both field elements are equivalent - pub inline fn equivalent(a: Fe, b: Fe) bool { + pub fn equivalent(a: Fe, b: Fe) callconv(.Inline) bool { return a.sub(b).isZero(); } @@ -164,7 +164,7 @@ pub const Fe = struct { } /// Add a field element - pub inline fn add(a: Fe, b: Fe) Fe { + pub fn add(a: Fe, b: Fe) callconv(.Inline) Fe { var fe: Fe = undefined; comptime var i = 0; inline while (i < 5) : (i += 1) { @@ -174,7 +174,7 @@ pub const Fe = struct { } /// Substract a field elememnt - pub inline fn sub(a: Fe, b: Fe) Fe { + pub fn sub(a: Fe, b: Fe) callconv(.Inline) Fe { var fe = b; comptime var i = 0; inline while (i < 4) : (i += 1) { @@ -193,17 +193,17 @@ pub const Fe = struct { } /// Negate a field element - pub inline fn neg(a: Fe) Fe { + pub fn neg(a: Fe) callconv(.Inline) Fe { return zero.sub(a); } /// Return true if a field element is negative - pub inline fn isNegative(a: Fe) bool { + pub fn isNegative(a: Fe) callconv(.Inline) bool { return (a.toBytes()[0] & 1) != 0; } /// Conditonally replace a field element with `a` if `c` is positive - pub inline fn cMov(fe: *Fe, a: Fe, c: u64) void { + pub fn cMov(fe: *Fe, a: Fe, c: u64) callconv(.Inline) void { const mask: u64 = 0 -% c; var x = fe.*; comptime var i = 0; @@ -244,7 +244,7 @@ pub const Fe = struct { } } - inline fn _carry128(r: *[5]u128) Fe { + fn _carry128(r: *[5]u128) callconv(.Inline) Fe { var rs: [5]u64 = undefined; comptime var i = 0; inline while (i < 4) : (i += 1) { @@ -265,7 +265,7 @@ pub const Fe = struct { } /// Multiply two field elements - pub inline fn mul(a: Fe, b: Fe) Fe { + pub fn mul(a: Fe, b: Fe) callconv(.Inline) Fe { var ax: [5]u128 = undefined; var bx: [5]u128 = undefined; var a19: [5]u128 = undefined; @@ -288,7 +288,7 @@ pub const Fe = struct { return _carry128(&r); } - inline fn _sq(a: Fe, double: comptime bool) Fe { + fn _sq(a: Fe, double: comptime bool) callconv(.Inline) Fe { var ax: [5]u128 = undefined; var r: [5]u128 = undefined; comptime var i = 0; @@ -317,17 +317,17 @@ pub const Fe = struct { } /// Square a field element - pub inline fn sq(a: Fe) Fe { + pub fn sq(a: Fe) callconv(.Inline) Fe { return _sq(a, false); } /// Square and double a field element - pub inline fn sq2(a: Fe) Fe { + pub fn sq2(a: Fe) callconv(.Inline) Fe { return _sq(a, true); } /// Multiply a field element with a small (32-bit) integer - pub inline fn mul32(a: Fe, comptime n: u32) Fe { + pub fn mul32(a: Fe, comptime n: u32) callconv(.Inline) Fe { const sn = @intCast(u128, n); var fe: Fe = undefined; var x: u128 = 0; @@ -342,7 +342,7 @@ pub const Fe = struct { } /// Square a field element `n` times - inline fn sqn(a: Fe, comptime n: comptime_int) Fe { + fn sqn(a: Fe, comptime n: comptime_int) callconv(.Inline) Fe { var i: usize = 0; var fe = a; while (i < n) : (i += 1) { diff --git a/lib/std/crypto/25519/ristretto255.zig b/lib/std/crypto/25519/ristretto255.zig index 35dd6ea76c..68fb938103 100644 --- a/lib/std/crypto/25519/ristretto255.zig +++ b/lib/std/crypto/25519/ristretto255.zig @@ -42,7 +42,7 @@ pub const Ristretto255 = struct { } /// Reject the neutral element. - pub inline fn rejectIdentity(p: Ristretto255) !void { + pub fn rejectIdentity(p: Ristretto255) callconv(.Inline) !void { return p.p.rejectIdentity(); } @@ -141,19 +141,19 @@ pub const Ristretto255 = struct { } /// Double a Ristretto255 element. - pub inline fn dbl(p: Ristretto255) Ristretto255 { + pub fn dbl(p: Ristretto255) callconv(.Inline) Ristretto255 { return .{ .p = p.p.dbl() }; } /// Add two Ristretto255 elements. - pub inline fn add(p: Ristretto255, q: Ristretto255) Ristretto255 { + pub fn add(p: Ristretto255, q: Ristretto255) callconv(.Inline) Ristretto255 { return .{ .p = p.p.add(q.p) }; } /// Multiply a Ristretto255 element with a scalar. /// Return error.WeakPublicKey if the resulting element is /// the identity element. - pub inline fn mul(p: Ristretto255, s: [encoded_length]u8) !Ristretto255 { + pub fn mul(p: Ristretto255, s: [encoded_length]u8) callconv(.Inline) !Ristretto255 { return Ristretto255{ .p = try p.p.mul(s) }; } diff --git a/lib/std/crypto/25519/scalar.zig b/lib/std/crypto/25519/scalar.zig index d00f147274..ceff153bff 100644 --- a/lib/std/crypto/25519/scalar.zig +++ b/lib/std/crypto/25519/scalar.zig @@ -46,7 +46,7 @@ pub fn reduce64(s: [64]u8) [32]u8 { /// Perform the X25519 "clamping" operation. /// The scalar is then guaranteed to be a multiple of the cofactor. -pub inline fn clamp(s: *[32]u8) void { +pub fn clamp(s: *[32]u8) callconv(.Inline) void { s[0] &= 248; s[31] = (s[31] & 127) | 64; } diff --git a/lib/std/crypto/aegis.zig b/lib/std/crypto/aegis.zig index 234b439708..089dc06be4 100644 --- a/lib/std/crypto/aegis.zig +++ b/lib/std/crypto/aegis.zig @@ -35,7 +35,7 @@ const State128L = struct { return state; } - inline fn update(state: *State128L, d1: AesBlock, d2: AesBlock) void { + fn update(state: *State128L, d1: AesBlock, d2: AesBlock) callconv(.Inline) void { const blocks = &state.blocks; const tmp = blocks[7]; comptime var i: usize = 7; @@ -207,7 +207,7 @@ const State256 = struct { return state; } - inline fn update(state: *State256, d: AesBlock) void { + fn update(state: *State256, d: AesBlock) callconv(.Inline) void { const blocks = &state.blocks; const tmp = blocks[5].encrypt(blocks[0]); comptime var i: usize = 5; diff --git a/lib/std/crypto/aes/aesni.zig b/lib/std/crypto/aes/aesni.zig index 231bf5dbe8..13b3f8e527 100644 --- a/lib/std/crypto/aes/aesni.zig +++ b/lib/std/crypto/aes/aesni.zig @@ -19,24 +19,24 @@ pub const Block = struct { repr: BlockVec, /// Convert a byte sequence into an internal representation. - pub inline fn fromBytes(bytes: *const [16]u8) Block { + pub fn fromBytes(bytes: *const [16]u8) callconv(.Inline) Block { const repr = mem.bytesToValue(BlockVec, bytes); return Block{ .repr = repr }; } /// Convert the internal representation of a block into a byte sequence. - pub inline fn toBytes(block: Block) [16]u8 { + pub fn toBytes(block: Block) callconv(.Inline) [16]u8 { return mem.toBytes(block.repr); } /// XOR the block with a byte sequence. - pub inline fn xorBytes(block: Block, bytes: *const [16]u8) [16]u8 { + pub fn xorBytes(block: Block, bytes: *const [16]u8) callconv(.Inline) [16]u8 { const x = block.repr ^ fromBytes(bytes).repr; return mem.toBytes(x); } /// Encrypt a block with a round key. - pub inline fn encrypt(block: Block, round_key: Block) Block { + pub fn encrypt(block: Block, round_key: Block) callconv(.Inline) Block { return Block{ .repr = asm ( \\ vaesenc %[rk], %[in], %[out] @@ -48,7 +48,7 @@ pub const Block = struct { } /// Encrypt a block with the last round key. - pub inline fn encryptLast(block: Block, round_key: Block) Block { + pub fn encryptLast(block: Block, round_key: Block) callconv(.Inline) Block { return Block{ .repr = asm ( \\ vaesenclast %[rk], %[in], %[out] @@ -60,7 +60,7 @@ pub const Block = struct { } /// Decrypt a block with a round key. - pub inline fn decrypt(block: Block, inv_round_key: Block) Block { + pub fn decrypt(block: Block, inv_round_key: Block) callconv(.Inline) Block { return Block{ .repr = asm ( \\ vaesdec %[rk], %[in], %[out] @@ -72,7 +72,7 @@ pub const Block = struct { } /// Decrypt a block with the last round key. - pub inline fn decryptLast(block: Block, inv_round_key: Block) Block { + pub fn decryptLast(block: Block, inv_round_key: Block) callconv(.Inline) Block { return Block{ .repr = asm ( \\ vaesdeclast %[rk], %[in], %[out] @@ -84,17 +84,17 @@ pub const Block = struct { } /// Apply the bitwise XOR operation to the content of two blocks. - pub inline fn xorBlocks(block1: Block, block2: Block) Block { + pub fn xorBlocks(block1: Block, block2: Block) callconv(.Inline) Block { return Block{ .repr = block1.repr ^ block2.repr }; } /// Apply the bitwise AND operation to the content of two blocks. - pub inline fn andBlocks(block1: Block, block2: Block) Block { + pub fn andBlocks(block1: Block, block2: Block) callconv(.Inline) Block { return Block{ .repr = block1.repr & block2.repr }; } /// Apply the bitwise OR operation to the content of two blocks. - pub inline fn orBlocks(block1: Block, block2: Block) Block { + pub fn orBlocks(block1: Block, block2: Block) callconv(.Inline) Block { return Block{ .repr = block1.repr | block2.repr }; } @@ -114,7 +114,7 @@ pub const Block = struct { }; /// Encrypt multiple blocks in parallel, each their own round key. - pub inline fn encryptParallel(comptime count: usize, blocks: [count]Block, round_keys: [count]Block) [count]Block { + pub fn encryptParallel(comptime count: usize, blocks: [count]Block, round_keys: [count]Block) callconv(.Inline) [count]Block { comptime var i = 0; var out: [count]Block = undefined; inline while (i < count) : (i += 1) { @@ -124,7 +124,7 @@ pub const Block = struct { } /// Decrypt multiple blocks in parallel, each their own round key. - pub inline fn decryptParallel(comptime count: usize, blocks: [count]Block, round_keys: [count]Block) [count]Block { + pub fn decryptParallel(comptime count: usize, blocks: [count]Block, round_keys: [count]Block) callconv(.Inline) [count]Block { comptime var i = 0; var out: [count]Block = undefined; inline while (i < count) : (i += 1) { @@ -134,7 +134,7 @@ pub const Block = struct { } /// Encrypt multiple blocks in parallel with the same round key. - pub inline fn encryptWide(comptime count: usize, blocks: [count]Block, round_key: Block) [count]Block { + pub fn encryptWide(comptime count: usize, blocks: [count]Block, round_key: Block) callconv(.Inline) [count]Block { comptime var i = 0; var out: [count]Block = undefined; inline while (i < count) : (i += 1) { @@ -144,7 +144,7 @@ pub const Block = struct { } /// Decrypt multiple blocks in parallel with the same round key. - pub inline fn decryptWide(comptime count: usize, blocks: [count]Block, round_key: Block) [count]Block { + pub fn decryptWide(comptime count: usize, blocks: [count]Block, round_key: Block) callconv(.Inline) [count]Block { comptime var i = 0; var out: [count]Block = undefined; inline while (i < count) : (i += 1) { @@ -154,7 +154,7 @@ pub const Block = struct { } /// Encrypt multiple blocks in parallel with the same last round key. - pub inline fn encryptLastWide(comptime count: usize, blocks: [count]Block, round_key: Block) [count]Block { + pub fn encryptLastWide(comptime count: usize, blocks: [count]Block, round_key: Block) callconv(.Inline) [count]Block { comptime var i = 0; var out: [count]Block = undefined; inline while (i < count) : (i += 1) { @@ -164,7 +164,7 @@ pub const Block = struct { } /// Decrypt multiple blocks in parallel with the same last round key. - pub inline fn decryptLastWide(comptime count: usize, blocks: [count]Block, round_key: Block) [count]Block { + pub fn decryptLastWide(comptime count: usize, blocks: [count]Block, round_key: Block) callconv(.Inline) [count]Block { comptime var i = 0; var out: [count]Block = undefined; inline while (i < count) : (i += 1) { diff --git a/lib/std/crypto/aes/armcrypto.zig b/lib/std/crypto/aes/armcrypto.zig index cb8387a2c6..d331783284 100644 --- a/lib/std/crypto/aes/armcrypto.zig +++ b/lib/std/crypto/aes/armcrypto.zig @@ -19,18 +19,18 @@ pub const Block = struct { repr: BlockVec, /// Convert a byte sequence into an internal representation. - pub inline fn fromBytes(bytes: *const [16]u8) Block { + pub fn fromBytes(bytes: *const [16]u8) callconv(.Inline) Block { const repr = mem.bytesToValue(BlockVec, bytes); return Block{ .repr = repr }; } /// Convert the internal representation of a block into a byte sequence. - pub inline fn toBytes(block: Block) [16]u8 { + pub fn toBytes(block: Block) callconv(.Inline) [16]u8 { return mem.toBytes(block.repr); } /// XOR the block with a byte sequence. - pub inline fn xorBytes(block: Block, bytes: *const [16]u8) [16]u8 { + pub fn xorBytes(block: Block, bytes: *const [16]u8) callconv(.Inline) [16]u8 { const x = block.repr ^ fromBytes(bytes).repr; return mem.toBytes(x); } @@ -38,7 +38,7 @@ pub const Block = struct { const zero = Vector(2, u64){ 0, 0 }; /// Encrypt a block with a round key. - pub inline fn encrypt(block: Block, round_key: Block) Block { + pub fn encrypt(block: Block, round_key: Block) callconv(.Inline) Block { return Block{ .repr = asm ( \\ mov %[out].16b, %[in].16b @@ -54,7 +54,7 @@ pub const Block = struct { } /// Encrypt a block with the last round key. - pub inline fn encryptLast(block: Block, round_key: Block) Block { + pub fn encryptLast(block: Block, round_key: Block) callconv(.Inline) Block { return Block{ .repr = asm ( \\ mov %[out].16b, %[in].16b @@ -69,7 +69,7 @@ pub const Block = struct { } /// Decrypt a block with a round key. - pub inline fn decrypt(block: Block, inv_round_key: Block) Block { + pub fn decrypt(block: Block, inv_round_key: Block) callconv(.Inline) Block { return Block{ .repr = asm ( \\ mov %[out].16b, %[in].16b @@ -85,7 +85,7 @@ pub const Block = struct { } /// Decrypt a block with the last round key. - pub inline fn decryptLast(block: Block, inv_round_key: Block) Block { + pub fn decryptLast(block: Block, inv_round_key: Block) callconv(.Inline) Block { return Block{ .repr = asm ( \\ mov %[out].16b, %[in].16b @@ -100,17 +100,17 @@ pub const Block = struct { } /// Apply the bitwise XOR operation to the content of two blocks. - pub inline fn xorBlocks(block1: Block, block2: Block) Block { + pub fn xorBlocks(block1: Block, block2: Block) callconv(.Inline) Block { return Block{ .repr = block1.repr ^ block2.repr }; } /// Apply the bitwise AND operation to the content of two blocks. - pub inline fn andBlocks(block1: Block, block2: Block) Block { + pub fn andBlocks(block1: Block, block2: Block) callconv(.Inline) Block { return Block{ .repr = block1.repr & block2.repr }; } /// Apply the bitwise OR operation to the content of two blocks. - pub inline fn orBlocks(block1: Block, block2: Block) Block { + pub fn orBlocks(block1: Block, block2: Block) callconv(.Inline) Block { return Block{ .repr = block1.repr | block2.repr }; } @@ -120,7 +120,7 @@ pub const Block = struct { pub const optimal_parallel_blocks = 8; /// Encrypt multiple blocks in parallel, each their own round key. - pub inline fn encryptParallel(comptime count: usize, blocks: [count]Block, round_keys: [count]Block) [count]Block { + pub fn encryptParallel(comptime count: usize, blocks: [count]Block, round_keys: [count]Block) callconv(.Inline) [count]Block { comptime var i = 0; var out: [count]Block = undefined; inline while (i < count) : (i += 1) { @@ -130,7 +130,7 @@ pub const Block = struct { } /// Decrypt multiple blocks in parallel, each their own round key. - pub inline fn decryptParallel(comptime count: usize, blocks: [count]Block, round_keys: [count]Block) [count]Block { + pub fn decryptParallel(comptime count: usize, blocks: [count]Block, round_keys: [count]Block) callconv(.Inline) [count]Block { comptime var i = 0; var out: [count]Block = undefined; inline while (i < count) : (i += 1) { @@ -140,7 +140,7 @@ pub const Block = struct { } /// Encrypt multiple blocks in parallel with the same round key. - pub inline fn encryptWide(comptime count: usize, blocks: [count]Block, round_key: Block) [count]Block { + pub fn encryptWide(comptime count: usize, blocks: [count]Block, round_key: Block) callconv(.Inline) [count]Block { comptime var i = 0; var out: [count]Block = undefined; inline while (i < count) : (i += 1) { @@ -150,7 +150,7 @@ pub const Block = struct { } /// Decrypt multiple blocks in parallel with the same round key. - pub inline fn decryptWide(comptime count: usize, blocks: [count]Block, round_key: Block) [count]Block { + pub fn decryptWide(comptime count: usize, blocks: [count]Block, round_key: Block) callconv(.Inline) [count]Block { comptime var i = 0; var out: [count]Block = undefined; inline while (i < count) : (i += 1) { @@ -160,7 +160,7 @@ pub const Block = struct { } /// Encrypt multiple blocks in parallel with the same last round key. - pub inline fn encryptLastWide(comptime count: usize, blocks: [count]Block, round_key: Block) [count]Block { + pub fn encryptLastWide(comptime count: usize, blocks: [count]Block, round_key: Block) callconv(.Inline) [count]Block { comptime var i = 0; var out: [count]Block = undefined; inline while (i < count) : (i += 1) { @@ -170,7 +170,7 @@ pub const Block = struct { } /// Decrypt multiple blocks in parallel with the same last round key. - pub inline fn decryptLastWide(comptime count: usize, blocks: [count]Block, round_key: Block) [count]Block { + pub fn decryptLastWide(comptime count: usize, blocks: [count]Block, round_key: Block) callconv(.Inline) [count]Block { comptime var i = 0; var out: [count]Block = undefined; inline while (i < count) : (i += 1) { diff --git a/lib/std/crypto/aes/soft.zig b/lib/std/crypto/aes/soft.zig index 5eda9557ee..6f305b4050 100644 --- a/lib/std/crypto/aes/soft.zig +++ b/lib/std/crypto/aes/soft.zig @@ -18,7 +18,7 @@ pub const Block = struct { repr: BlockVec align(16), /// Convert a byte sequence into an internal representation. - pub inline fn fromBytes(bytes: *const [16]u8) Block { + pub fn fromBytes(bytes: *const [16]u8) callconv(.Inline) Block { const s0 = mem.readIntBig(u32, bytes[0..4]); const s1 = mem.readIntBig(u32, bytes[4..8]); const s2 = mem.readIntBig(u32, bytes[8..12]); @@ -27,7 +27,7 @@ pub const Block = struct { } /// Convert the internal representation of a block into a byte sequence. - pub inline fn toBytes(block: Block) [16]u8 { + pub fn toBytes(block: Block) callconv(.Inline) [16]u8 { var bytes: [16]u8 = undefined; mem.writeIntBig(u32, bytes[0..4], block.repr[0]); mem.writeIntBig(u32, bytes[4..8], block.repr[1]); @@ -37,7 +37,7 @@ pub const Block = struct { } /// XOR the block with a byte sequence. - pub inline fn xorBytes(block: Block, bytes: *const [16]u8) [16]u8 { + pub fn xorBytes(block: Block, bytes: *const [16]u8) callconv(.Inline) [16]u8 { const block_bytes = block.toBytes(); var x: [16]u8 = undefined; comptime var i: usize = 0; @@ -48,7 +48,7 @@ pub const Block = struct { } /// Encrypt a block with a round key. - pub inline fn encrypt(block: Block, round_key: Block) Block { + pub fn encrypt(block: Block, round_key: Block) callconv(.Inline) Block { const src = &block.repr; const s0 = block.repr[0]; @@ -65,7 +65,7 @@ pub const Block = struct { } /// Encrypt a block with the last round key. - pub inline fn encryptLast(block: Block, round_key: Block) Block { + pub fn encryptLast(block: Block, round_key: Block) callconv(.Inline) Block { const src = &block.repr; const t0 = block.repr[0]; @@ -87,7 +87,7 @@ pub const Block = struct { } /// Decrypt a block with a round key. - pub inline fn decrypt(block: Block, round_key: Block) Block { + pub fn decrypt(block: Block, round_key: Block) callconv(.Inline) Block { const src = &block.repr; const s0 = block.repr[0]; @@ -104,7 +104,7 @@ pub const Block = struct { } /// Decrypt a block with the last round key. - pub inline fn decryptLast(block: Block, round_key: Block) Block { + pub fn decryptLast(block: Block, round_key: Block) callconv(.Inline) Block { const src = &block.repr; const t0 = block.repr[0]; @@ -126,7 +126,7 @@ pub const Block = struct { } /// Apply the bitwise XOR operation to the content of two blocks. - pub inline fn xorBlocks(block1: Block, block2: Block) Block { + pub fn xorBlocks(block1: Block, block2: Block) callconv(.Inline) Block { var x: BlockVec = undefined; comptime var i = 0; inline while (i < 4) : (i += 1) { @@ -136,7 +136,7 @@ pub const Block = struct { } /// Apply the bitwise AND operation to the content of two blocks. - pub inline fn andBlocks(block1: Block, block2: Block) Block { + pub fn andBlocks(block1: Block, block2: Block) callconv(.Inline) Block { var x: BlockVec = undefined; comptime var i = 0; inline while (i < 4) : (i += 1) { @@ -146,7 +146,7 @@ pub const Block = struct { } /// Apply the bitwise OR operation to the content of two blocks. - pub inline fn orBlocks(block1: Block, block2: Block) Block { + pub fn orBlocks(block1: Block, block2: Block) callconv(.Inline) Block { var x: BlockVec = undefined; comptime var i = 0; inline while (i < 4) : (i += 1) { diff --git a/lib/std/crypto/blake3.zig b/lib/std/crypto/blake3.zig index e3d3192bf8..7a65487135 100644 --- a/lib/std/crypto/blake3.zig +++ b/lib/std/crypto/blake3.zig @@ -66,7 +66,7 @@ const CompressVectorized = struct { const Lane = Vector(4, u32); const Rows = [4]Lane; - inline fn g(comptime even: bool, rows: *Rows, m: Lane) void { + fn g(comptime even: bool, rows: *Rows, m: Lane) callconv(.Inline) void { rows[0] +%= rows[1] +% m; rows[3] ^= rows[0]; rows[3] = math.rotr(Lane, rows[3], if (even) 8 else 16); @@ -75,13 +75,13 @@ const CompressVectorized = struct { rows[1] = math.rotr(Lane, rows[1], if (even) 7 else 12); } - inline fn diagonalize(rows: *Rows) void { + fn diagonalize(rows: *Rows) callconv(.Inline) void { rows[0] = @shuffle(u32, rows[0], undefined, [_]i32{ 3, 0, 1, 2 }); rows[3] = @shuffle(u32, rows[3], undefined, [_]i32{ 2, 3, 0, 1 }); rows[2] = @shuffle(u32, rows[2], undefined, [_]i32{ 1, 2, 3, 0 }); } - inline fn undiagonalize(rows: *Rows) void { + fn undiagonalize(rows: *Rows) callconv(.Inline) void { rows[0] = @shuffle(u32, rows[0], undefined, [_]i32{ 1, 2, 3, 0 }); rows[3] = @shuffle(u32, rows[3], undefined, [_]i32{ 2, 3, 0, 1 }); rows[2] = @shuffle(u32, rows[2], undefined, [_]i32{ 3, 0, 1, 2 }); diff --git a/lib/std/crypto/chacha20.zig b/lib/std/crypto/chacha20.zig index 8923bac26f..0f79707279 100644 --- a/lib/std/crypto/chacha20.zig +++ b/lib/std/crypto/chacha20.zig @@ -35,7 +35,7 @@ const ChaCha20VecImpl = struct { }; } - inline fn chacha20Core(x: *BlockVec, input: BlockVec) void { + fn chacha20Core(x: *BlockVec, input: BlockVec) callconv(.Inline) void { x.* = input; var r: usize = 0; @@ -80,7 +80,7 @@ const ChaCha20VecImpl = struct { } } - inline fn hashToBytes(out: *[64]u8, x: BlockVec) void { + fn hashToBytes(out: *[64]u8, x: BlockVec) callconv(.Inline) void { var i: usize = 0; while (i < 4) : (i += 1) { mem.writeIntLittle(u32, out[16 * i + 0 ..][0..4], x[i][0]); @@ -90,7 +90,7 @@ const ChaCha20VecImpl = struct { } } - inline fn contextFeedback(x: *BlockVec, ctx: BlockVec) void { + fn contextFeedback(x: *BlockVec, ctx: BlockVec) callconv(.Inline) void { x[0] +%= ctx[0]; x[1] +%= ctx[1]; x[2] +%= ctx[2]; @@ -190,7 +190,7 @@ const ChaCha20NonVecImpl = struct { }; } - inline fn chacha20Core(x: *BlockVec, input: BlockVec) void { + fn chacha20Core(x: *BlockVec, input: BlockVec) callconv(.Inline) void { x.* = input; const rounds = comptime [_]QuarterRound{ @@ -219,7 +219,7 @@ const ChaCha20NonVecImpl = struct { } } - inline fn hashToBytes(out: *[64]u8, x: BlockVec) void { + fn hashToBytes(out: *[64]u8, x: BlockVec) callconv(.Inline) void { var i: usize = 0; while (i < 4) : (i += 1) { mem.writeIntLittle(u32, out[16 * i + 0 ..][0..4], x[i * 4 + 0]); @@ -229,7 +229,7 @@ const ChaCha20NonVecImpl = struct { } } - inline fn contextFeedback(x: *BlockVec, ctx: BlockVec) void { + fn contextFeedback(x: *BlockVec, ctx: BlockVec) callconv(.Inline) void { var i: usize = 0; while (i < 16) : (i += 1) { x[i] +%= ctx[i]; diff --git a/lib/std/crypto/ghash.zig b/lib/std/crypto/ghash.zig index 3d56469d8e..ffc9ef41ae 100644 --- a/lib/std/crypto/ghash.zig +++ b/lib/std/crypto/ghash.zig @@ -95,7 +95,7 @@ pub const Ghash = struct { } } - inline fn clmul_pclmul(x: u64, y: u64) u64 { + fn clmul_pclmul(x: u64, y: u64) callconv(.Inline) u64 { const Vector = std.meta.Vector; const product = asm ( \\ vpclmulqdq $0x00, %[x], %[y], %[out] @@ -106,7 +106,7 @@ pub const Ghash = struct { return product[0]; } - inline fn clmul_pmull(x: u64, y: u64) u64 { + fn clmul_pmull(x: u64, y: u64) callconv(.Inline) u64 { const Vector = std.meta.Vector; const product = asm ( \\ pmull %[out].1q, %[x].1d, %[y].1d diff --git a/lib/std/crypto/gimli.zig b/lib/std/crypto/gimli.zig index a5a7fb8c59..4809b9b6f7 100644 --- a/lib/std/crypto/gimli.zig +++ b/lib/std/crypto/gimli.zig @@ -48,7 +48,7 @@ pub const State = struct { return mem.asBytes(&self.data); } - inline fn endianSwap(self: *Self) void { + fn endianSwap(self: *Self) callconv(.Inline) void { for (self.data) |*w| { w.* = mem.littleToNative(u32, w.*); } @@ -116,7 +116,7 @@ pub const State = struct { const Lane = Vector(4, u32); - inline fn shift(x: Lane, comptime n: comptime_int) Lane { + fn shift(x: Lane, comptime n: comptime_int) callconv(.Inline) Lane { return x << @splat(4, @as(u5, n)); } diff --git a/lib/std/crypto/salsa20.zig b/lib/std/crypto/salsa20.zig index 14505865cf..e22668f998 100644 --- a/lib/std/crypto/salsa20.zig +++ b/lib/std/crypto/salsa20.zig @@ -37,7 +37,7 @@ const Salsa20VecImpl = struct { }; } - inline fn salsa20Core(x: *BlockVec, input: BlockVec, comptime feedback: bool) void { + fn salsa20Core(x: *BlockVec, input: BlockVec, comptime feedback: bool) callconv(.Inline) void { const n1n2n3n0 = Lane{ input[3][1], input[3][2], input[3][3], input[3][0] }; const n1n2 = Half{ n1n2n3n0[0], n1n2n3n0[1] }; const n3n0 = Half{ n1n2n3n0[2], n1n2n3n0[3] }; @@ -211,7 +211,7 @@ const Salsa20NonVecImpl = struct { d: u6, }; - inline fn Rp(a: usize, b: usize, c: usize, d: u6) QuarterRound { + fn Rp(a: usize, b: usize, c: usize, d: u6) callconv(.Inline) QuarterRound { return QuarterRound{ .a = a, .b = b, @@ -220,7 +220,7 @@ const Salsa20NonVecImpl = struct { }; } - inline fn salsa20Core(x: *BlockVec, input: BlockVec, comptime feedback: bool) void { + fn salsa20Core(x: *BlockVec, input: BlockVec, comptime feedback: bool) callconv(.Inline) void { const arx_steps = comptime [_]QuarterRound{ Rp(4, 0, 12, 7), Rp(8, 4, 0, 9), Rp(12, 8, 4, 13), Rp(0, 12, 8, 18), Rp(9, 5, 1, 7), Rp(13, 9, 5, 9), Rp(1, 13, 9, 13), Rp(5, 1, 13, 18), diff --git a/lib/std/elf.zig b/lib/std/elf.zig index 6dfa373414..cfb6b448c0 100644 --- a/lib/std/elf.zig +++ b/lib/std/elf.zig @@ -720,10 +720,10 @@ pub const Elf32_Rel = extern struct { r_offset: Elf32_Addr, r_info: Elf32_Word, - pub inline fn r_sym(self: @This()) u24 { + pub fn r_sym(self: @This()) callconv(.Inline) u24 { return @truncate(u24, self.r_info >> 8); } - pub inline fn r_type(self: @This()) u8 { + pub fn r_type(self: @This()) callconv(.Inline) u8 { return @truncate(u8, self.r_info & 0xff); } }; @@ -731,10 +731,10 @@ pub const Elf64_Rel = extern struct { r_offset: Elf64_Addr, r_info: Elf64_Xword, - pub inline fn r_sym(self: @This()) u32 { + pub fn r_sym(self: @This()) callconv(.Inline) u32 { return @truncate(u32, self.r_info >> 32); } - pub inline fn r_type(self: @This()) u32 { + pub fn r_type(self: @This()) callconv(.Inline) u32 { return @truncate(u32, self.r_info & 0xffffffff); } }; @@ -743,10 +743,10 @@ pub const Elf32_Rela = extern struct { r_info: Elf32_Word, r_addend: Elf32_Sword, - pub inline fn r_sym(self: @This()) u24 { + pub fn r_sym(self: @This()) callconv(.Inline) u24 { return @truncate(u24, self.r_info >> 8); } - pub inline fn r_type(self: @This()) u8 { + pub fn r_type(self: @This()) callconv(.Inline) u8 { return @truncate(u8, self.r_info & 0xff); } }; @@ -755,10 +755,10 @@ pub const Elf64_Rela = extern struct { r_info: Elf64_Xword, r_addend: Elf64_Sxword, - pub inline fn r_sym(self: @This()) u32 { + pub fn r_sym(self: @This()) callconv(.Inline) u32 { return @truncate(u32, self.r_info >> 32); } - pub inline fn r_type(self: @This()) u32 { + pub fn r_type(self: @This()) callconv(.Inline) u32 { return @truncate(u32, self.r_info & 0xffffffff); } }; diff --git a/lib/std/fmt/parse_float.zig b/lib/std/fmt/parse_float.zig index caa88520ac..324b06898e 100644 --- a/lib/std/fmt/parse_float.zig +++ b/lib/std/fmt/parse_float.zig @@ -52,21 +52,21 @@ const Z96 = struct { d2: u32, // d = s >> 1 - inline fn shiftRight1(d: *Z96, s: Z96) void { + fn shiftRight1(d: *Z96, s: Z96) callconv(.Inline) void { d.d0 = (s.d0 >> 1) | ((s.d1 & 1) << 31); d.d1 = (s.d1 >> 1) | ((s.d2 & 1) << 31); d.d2 = s.d2 >> 1; } // d = s << 1 - inline fn shiftLeft1(d: *Z96, s: Z96) void { + fn shiftLeft1(d: *Z96, s: Z96) callconv(.Inline) void { d.d2 = (s.d2 << 1) | ((s.d1 & (1 << 31)) >> 31); d.d1 = (s.d1 << 1) | ((s.d0 & (1 << 31)) >> 31); d.d0 = s.d0 << 1; } // d += s - inline fn add(d: *Z96, s: Z96) void { + fn add(d: *Z96, s: Z96) callconv(.Inline) void { var w = @as(u64, d.d0) + @as(u64, s.d0); d.d0 = @truncate(u32, w); @@ -80,7 +80,7 @@ const Z96 = struct { } // d -= s - inline fn sub(d: *Z96, s: Z96) void { + fn sub(d: *Z96, s: Z96) callconv(.Inline) void { var w = @as(u64, d.d0) -% @as(u64, s.d0); d.d0 = @truncate(u32, w); diff --git a/lib/std/hash/cityhash.zig b/lib/std/hash/cityhash.zig index c2e7db4d49..d7f2f1a9eb 100644 --- a/lib/std/hash/cityhash.zig +++ b/lib/std/hash/cityhash.zig @@ -6,7 +6,7 @@ const std = @import("std"); const builtin = @import("builtin"); -inline fn offsetPtr(ptr: [*]const u8, offset: usize) [*]const u8 { +fn offsetPtr(ptr: [*]const u8, offset: usize) callconv(.Inline) [*]const u8 { // ptr + offset doesn't work at comptime so we need this instead. return @ptrCast([*]const u8, &ptr[offset]); } diff --git a/lib/std/os/bits/freebsd.zig b/lib/std/os/bits/freebsd.zig index e2c4eb055b..8529c5e3db 100644 --- a/lib/std/os/bits/freebsd.zig +++ b/lib/std/os/bits/freebsd.zig @@ -815,16 +815,16 @@ pub const sigval = extern union { pub const _SIG_WORDS = 4; pub const _SIG_MAXSIG = 128; -pub inline fn _SIG_IDX(sig: usize) usize { +pub fn _SIG_IDX(sig: usize) callconv(.Inline) usize { return sig - 1; } -pub inline fn _SIG_WORD(sig: usize) usize { +pub fn _SIG_WORD(sig: usize) callconv(.Inline) usize { return_SIG_IDX(sig) >> 5; } -pub inline fn _SIG_BIT(sig: usize) usize { +pub fn _SIG_BIT(sig: usize) callconv(.Inline) usize { return 1 << (_SIG_IDX(sig) & 31); } -pub inline fn _SIG_VALID(sig: usize) usize { +pub fn _SIG_VALID(sig: usize) callconv(.Inline) usize { return sig <= _SIG_MAXSIG and sig > 0; } diff --git a/lib/std/os/bits/netbsd.zig b/lib/std/os/bits/netbsd.zig index 1780255aac..f8b950ea86 100644 --- a/lib/std/os/bits/netbsd.zig +++ b/lib/std/os/bits/netbsd.zig @@ -796,16 +796,16 @@ pub const _ksiginfo = extern struct { pub const _SIG_WORDS = 4; pub const _SIG_MAXSIG = 128; -pub inline fn _SIG_IDX(sig: usize) usize { +pub fn _SIG_IDX(sig: usize) callconv(.Inline) usize { return sig - 1; } -pub inline fn _SIG_WORD(sig: usize) usize { +pub fn _SIG_WORD(sig: usize) callconv(.Inline) usize { return_SIG_IDX(sig) >> 5; } -pub inline fn _SIG_BIT(sig: usize) usize { +pub fn _SIG_BIT(sig: usize) callconv(.Inline) usize { return 1 << (_SIG_IDX(sig) & 31); } -pub inline fn _SIG_VALID(sig: usize) usize { +pub fn _SIG_VALID(sig: usize) callconv(.Inline) usize { return sig <= _SIG_MAXSIG and sig > 0; } diff --git a/lib/std/os/linux.zig b/lib/std/os/linux.zig index ffc1029708..b7534db191 100644 --- a/lib/std/os/linux.zig +++ b/lib/std/os/linux.zig @@ -126,7 +126,7 @@ pub fn fork() usize { /// It is advised to avoid this function and use clone instead, because /// the compiler is not aware of how vfork affects control flow and you may /// see different results in optimized builds. -pub inline fn vfork() usize { +pub fn vfork() callconv(.Inline) usize { return @call(.{ .modifier = .always_inline }, syscall0, .{.vfork}); } diff --git a/lib/std/os/linux/tls.zig b/lib/std/os/linux/tls.zig index a9c0f6cb56..614f5b4395 100644 --- a/lib/std/os/linux/tls.zig +++ b/lib/std/os/linux/tls.zig @@ -300,7 +300,7 @@ fn initTLS() void { }; } -inline fn alignPtrCast(comptime T: type, ptr: [*]u8) *T { +fn alignPtrCast(comptime T: type, ptr: [*]u8) callconv(.Inline) *T { return @ptrCast(*T, @alignCast(@alignOf(*T), ptr)); } diff --git a/lib/std/os/windows.zig b/lib/std/os/windows.zig index e1e325d9f6..6f67b65252 100644 --- a/lib/std/os/windows.zig +++ b/lib/std/os/windows.zig @@ -1669,7 +1669,7 @@ pub fn wToPrefixedFileW(s: []const u16) !PathSpace { return path_space; } -inline fn MAKELANGID(p: c_ushort, s: c_ushort) LANGID { +fn MAKELANGID(p: c_ushort, s: c_ushort) callconv(.Inline) LANGID { return (s << 10) | p; } diff --git a/lib/std/start.zig b/lib/std/start.zig index 718d48130e..0fb96c768f 100644 --- a/lib/std/start.zig +++ b/lib/std/start.zig @@ -262,7 +262,7 @@ const bad_main_ret = "expected return type of main to be 'void', '!void', 'noret // This is marked inline because for some reason LLVM in release mode fails to inline it, // and we want fewer call frames in stack traces. -inline fn initEventLoopAndCallMain() u8 { +fn initEventLoopAndCallMain() callconv(.Inline) u8 { if (std.event.Loop.instance) |loop| { if (!@hasDecl(root, "event_loop")) { loop.init() catch |err| { @@ -291,7 +291,7 @@ inline fn initEventLoopAndCallMain() u8 { // and we want fewer call frames in stack traces. // TODO This function is duplicated from initEventLoopAndCallMain instead of using generics // because it is working around stage1 compiler bugs. -inline fn initEventLoopAndCallWinMain() std.os.windows.INT { +fn initEventLoopAndCallWinMain() callconv(.Inline) std.os.windows.INT { if (std.event.Loop.instance) |loop| { if (!@hasDecl(root, "event_loop")) { loop.init() catch |err| { diff --git a/lib/std/zig/parser_test.zig b/lib/std/zig/parser_test.zig index 2f0b7ff082..822e9006c4 100644 --- a/lib/std/zig/parser_test.zig +++ b/lib/std/zig/parser_test.zig @@ -2355,17 +2355,17 @@ test "zig fmt: functions" { \\extern fn puts(s: *const u8) c_int; \\extern "c" fn puts(s: *const u8) c_int; \\export fn puts(s: *const u8) c_int; - \\inline fn puts(s: *const u8) c_int; + \\fn puts(s: *const u8) callconv(.Inline) c_int; \\noinline fn puts(s: *const u8) c_int; \\pub extern fn puts(s: *const u8) c_int; \\pub extern "c" fn puts(s: *const u8) c_int; \\pub export fn puts(s: *const u8) c_int; - \\pub inline fn puts(s: *const u8) c_int; + \\pub fn puts(s: *const u8) callconv(.Inline) c_int; \\pub noinline fn puts(s: *const u8) c_int; \\pub extern fn puts(s: *const u8) align(2 + 2) c_int; \\pub extern "c" fn puts(s: *const u8) align(2 + 2) c_int; \\pub export fn puts(s: *const u8) align(2 + 2) c_int; - \\pub inline fn puts(s: *const u8) align(2 + 2) c_int; + \\pub fn puts(s: *const u8) align(2 + 2) callconv(.Inline) c_int; \\pub noinline fn puts(s: *const u8) align(2 + 2) c_int; \\ ); diff --git a/lib/std/zig/system/x86.zig b/lib/std/zig/system/x86.zig index 24aebb5a61..bda9a17c95 100644 --- a/lib/std/zig/system/x86.zig +++ b/lib/std/zig/system/x86.zig @@ -19,11 +19,11 @@ fn setFeature(cpu: *Target.Cpu, feature: Target.x86.Feature, enabled: bool) void if (enabled) cpu.features.addFeature(idx) else cpu.features.removeFeature(idx); } -inline fn bit(input: u32, offset: u5) bool { +fn bit(input: u32, offset: u5) callconv(.Inline) bool { return (input >> offset) & 1 != 0; } -inline fn hasMask(input: u32, mask: u32) bool { +fn hasMask(input: u32, mask: u32) callconv(.Inline) bool { return (input & mask) == mask; } diff --git a/src/link/MachO.zig b/src/link/MachO.zig index eee5841903..fd1c53cb67 100644 --- a/src/link/MachO.zig +++ b/src/link/MachO.zig @@ -2366,7 +2366,7 @@ fn allocatedSizeLinkedit(self: *MachO, start: u64) u64 { return min_pos - start; } -inline fn checkForCollision(start: u64, end: u64, off: u64, size: u64) ?u64 { +fn checkForCollision(start: u64, end: u64, off: u64, size: u64) callconv(.Inline) ?u64 { const increased_size = padToIdeal(size); const test_end = off + increased_size; if (end > off and start < test_end) { diff --git a/src/tracy.zig b/src/tracy.zig index 6f56a87ce6..3f6cf56588 100644 --- a/src/tracy.zig +++ b/src/tracy.zig @@ -31,7 +31,7 @@ pub const Ctx = if (enable) ___tracy_c_zone_context else struct { pub fn end(self: Ctx) void {} }; -pub inline fn trace(comptime src: std.builtin.SourceLocation) Ctx { +pub fn trace(comptime src: std.builtin.SourceLocation) callconv(.Inline) Ctx { if (!enable) return .{}; const loc: ___tracy_source_location_data = .{ diff --git a/test/cli.zig b/test/cli.zig index 8dbef06887..8787dab277 100644 --- a/test/cli.zig +++ b/test/cli.zig @@ -113,7 +113,7 @@ fn testGodboltApi(zig_exe: []const u8, dir_path: []const u8) anyerror!void { \\ return num * num; \\} \\extern fn zig_panic() noreturn; - \\pub inline fn panic(msg: []const u8, error_return_trace: ?*@import("builtin").StackTrace) noreturn { + \\pub fn panic(msg: []const u8, error_return_trace: ?*@import("builtin").StackTrace) callconv(.Inline) noreturn { \\ zig_panic(); \\} ); diff --git a/test/compile_errors.zig b/test/compile_errors.zig index 3b4eb61195..2fb4c36ed4 100644 --- a/test/compile_errors.zig +++ b/test/compile_errors.zig @@ -1648,7 +1648,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { \\ @call(.{ .modifier = .compile_time }, baz, .{}); \\} \\fn foo() void {} - \\inline fn bar() void {} + \\fn bar() callconv(.Inline) void {} \\fn baz1() void {} \\fn baz2() void {} , &[_][]const u8{ @@ -3944,7 +3944,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { \\export fn entry() void { \\ var a = b; \\} - \\inline fn b() void { } + \\fn b() callconv(.Inline) void { } , &[_][]const u8{ "tmp.zig:2:5: error: functions marked inline must be stored in const or comptime var", "tmp.zig:4:1: note: declared here", @@ -6782,11 +6782,11 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { // \\export fn foo() void { // \\ bar(); // \\} - // \\inline fn bar() void { + // \\fn bar() callconv(.Inline) void { // \\ baz(); // \\ quux(); // \\} - // \\inline fn baz() void { + // \\fn baz() callconv(.Inline) void { // \\ bar(); // \\ quux(); // \\} @@ -6799,7 +6799,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { // \\export fn foo() void { // \\ quux(@ptrToInt(bar)); // \\} - // \\inline fn bar() void { } + // \\fn bar() callconv(.Inline) void { } // \\extern fn quux(usize) void; //, &[_][]const u8{ // "tmp.zig:4:1: error: unable to inline function", @@ -7207,7 +7207,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { \\export fn entry() void { \\ foo(); \\} - \\inline fn foo() void { + \\fn foo() callconv(.Inline) void { \\ @setAlignStack(16); \\} , &[_][]const u8{ diff --git a/test/stage1/behavior/fn.zig b/test/stage1/behavior/fn.zig index dd69d00c60..a1e726c565 100644 --- a/test/stage1/behavior/fn.zig +++ b/test/stage1/behavior/fn.zig @@ -113,7 +113,7 @@ test "assign inline fn to const variable" { a(); } -inline fn inlineFn() void {} +fn inlineFn() callconv(.Inline) void {} test "pass by non-copying value" { expect(addPointCoords(Point{ .x = 1, .y = 2 }) == 3); diff --git a/test/stage2/cbe.zig b/test/stage2/cbe.zig index 0eb2cf68b4..35ae1dbf12 100644 --- a/test/stage2/cbe.zig +++ b/test/stage2/cbe.zig @@ -179,7 +179,7 @@ pub fn addCases(ctx: *TestContext) !void { \\ return y - 1; \\} \\ - \\inline fn rec(n: usize) usize { + \\fn rec(n: usize) callconv(.Inline) usize { \\ if (n <= 1) return n; \\ return rec(n - 1); \\} diff --git a/test/stage2/test.zig b/test/stage2/test.zig index 78d7eba262..486edeb864 100644 --- a/test/stage2/test.zig +++ b/test/stage2/test.zig @@ -255,7 +255,7 @@ pub fn addCases(ctx: *TestContext) !void { \\ exit(y - 6); \\} \\ - \\inline fn add(a: usize, b: usize, c: usize) usize { + \\fn add(a: usize, b: usize, c: usize) callconv(.Inline) usize { \\ return a + b + c; \\} \\ @@ -1228,7 +1228,7 @@ pub fn addCases(ctx: *TestContext) !void { \\ exit(y - 6); \\} \\ - \\inline fn add(a: usize, b: usize, c: usize) usize { + \\fn add(a: usize, b: usize, c: usize) callconv(.Inline) usize { \\ if (a == 10) @compileError("bad"); \\ return a + b + c; \\} @@ -1251,7 +1251,7 @@ pub fn addCases(ctx: *TestContext) !void { \\ exit(y - 6); \\} \\ - \\inline fn add(a: usize, b: usize, c: usize) usize { + \\fn add(a: usize, b: usize, c: usize) callconv(.Inline) usize { \\ if (a == 10) @compileError("bad"); \\ return a + b + c; \\} @@ -1277,7 +1277,7 @@ pub fn addCases(ctx: *TestContext) !void { \\ exit(y - 21); \\} \\ - \\inline fn fibonacci(n: usize) usize { + \\fn fibonacci(n: usize) callconv(.Inline) usize { \\ if (n <= 2) return n; \\ return fibonacci(n - 2) + fibonacci(n - 1); \\} @@ -1300,7 +1300,7 @@ pub fn addCases(ctx: *TestContext) !void { \\ exit(y - 21); \\} \\ - \\inline fn fibonacci(n: usize) usize { + \\fn fibonacci(n: usize) callconv(.Inline) usize { \\ if (n <= 2) return n; \\ return fibonacci(n - 2) + fibonacci(n - 1); \\} diff --git a/test/translate_c.zig b/test/translate_c.zig index 03ca87d5f6..b8e00a690b 100644 --- a/test/translate_c.zig +++ b/test/translate_c.zig @@ -43,7 +43,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { , \\pub const VALUE = ((((1 + (2 * 3)) + (4 * 5)) + 6) << 7) | @boolToInt(8 == 9); , - \\pub inline fn _AL_READ3BYTES(p: anytype) @TypeOf(((@import("std").meta.cast([*c]u8, p)).* | (((@import("std").meta.cast([*c]u8, p)) + 1).* << 8)) | (((@import("std").meta.cast([*c]u8, p)) + 2).* << 16)) { + \\pub fn _AL_READ3BYTES(p: anytype) callconv(.Inline) @TypeOf(((@import("std").meta.cast([*c]u8, p)).* | (((@import("std").meta.cast([*c]u8, p)) + 1).* << 8)) | (((@import("std").meta.cast([*c]u8, p)) + 2).* << 16)) { \\ return ((@import("std").meta.cast([*c]u8, p)).* | (((@import("std").meta.cast([*c]u8, p)) + 1).* << 8)) | (((@import("std").meta.cast([*c]u8, p)) + 2).* << 16); \\} }); @@ -116,7 +116,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { \\}; \\pub const Color = struct_Color; , - \\pub inline fn CLITERAL(type_1: anytype) @TypeOf(type_1) { + \\pub fn CLITERAL(type_1: anytype) callconv(.Inline) @TypeOf(type_1) { \\ return type_1; \\} , @@ -148,7 +148,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { cases.add("correct semicolon after infixop", \\#define __ferror_unlocked_body(_fp) (((_fp)->_flags & _IO_ERR_SEEN) != 0) , &[_][]const u8{ - \\pub inline fn __ferror_unlocked_body(_fp: anytype) @TypeOf(((_fp.*._flags) & _IO_ERR_SEEN) != 0) { + \\pub fn __ferror_unlocked_body(_fp: anytype) callconv(.Inline) @TypeOf(((_fp.*._flags) & _IO_ERR_SEEN) != 0) { \\ return ((_fp.*._flags) & _IO_ERR_SEEN) != 0; \\} }); @@ -157,7 +157,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { \\#define FOO(x) ((x >= 0) + (x >= 0)) \\#define BAR 1 && 2 > 4 , &[_][]const u8{ - \\pub inline fn FOO(x: anytype) @TypeOf(@boolToInt(x >= 0) + @boolToInt(x >= 0)) { + \\pub fn FOO(x: anytype) callconv(.Inline) @TypeOf(@boolToInt(x >= 0) + @boolToInt(x >= 0)) { \\ return @boolToInt(x >= 0) + @boolToInt(x >= 0); \\} , @@ -208,7 +208,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { \\ break :blk bar; \\}; , - \\pub inline fn bar(x: anytype) @TypeOf(baz(1, 2)) { + \\pub fn bar(x: anytype) callconv(.Inline) @TypeOf(baz(1, 2)) { \\ return blk: { \\ _ = &x; \\ _ = 3; @@ -1590,13 +1590,13 @@ pub fn addCases(cases: *tests.TranslateCContext) void { , &[_][]const u8{ \\pub extern var fn_ptr: ?fn () callconv(.C) void; , - \\pub inline fn foo() void { + \\pub fn foo() callconv(.Inline) void { \\ return fn_ptr.?(); \\} , \\pub extern var fn_ptr2: ?fn (c_int, f32) callconv(.C) u8; , - \\pub inline fn bar(arg_1: c_int, arg_2: f32) u8 { + \\pub fn bar(arg_1: c_int, arg_2: f32) callconv(.Inline) u8 { \\ return fn_ptr2.?(arg_1, arg_2); \\} }); @@ -1629,7 +1629,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { , \\pub const glClearPFN = PFNGLCLEARPROC; , - \\pub inline fn glClearUnion(arg_2: GLbitfield) void { + \\pub fn glClearUnion(arg_2: GLbitfield) callconv(.Inline) void { \\ return glProcs.gl.Clear.?(arg_2); \\} , @@ -1650,15 +1650,15 @@ pub fn addCases(cases: *tests.TranslateCContext) void { , &[_][]const u8{ \\pub extern var c: c_int; , - \\pub inline fn BASIC(c_1: anytype) @TypeOf(c_1 * 2) { + \\pub fn BASIC(c_1: anytype) callconv(.Inline) @TypeOf(c_1 * 2) { \\ return c_1 * 2; \\} , - \\pub inline fn FOO(L: anytype, b: anytype) @TypeOf(L + b) { + \\pub fn FOO(L: anytype, b: anytype) callconv(.Inline) @TypeOf(L + b) { \\ return L + b; \\} , - \\pub inline fn BAR() @TypeOf(c * c) { + \\pub fn BAR() callconv(.Inline) @TypeOf(c * c) { \\ return c * c; \\} }); @@ -2298,7 +2298,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { cases.add("macro call", \\#define CALL(arg) bar(arg) , &[_][]const u8{ - \\pub inline fn CALL(arg: anytype) @TypeOf(bar(arg)) { + \\pub fn CALL(arg: anytype) callconv(.Inline) @TypeOf(bar(arg)) { \\ return bar(arg); \\} }); @@ -2860,7 +2860,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { \\#define BAR (void*) a \\#define BAZ (uint32_t)(2) , &[_][]const u8{ - \\pub inline fn FOO(bar: anytype) @TypeOf(baz((@import("std").meta.cast(?*c_void, baz)))) { + \\pub fn FOO(bar: anytype) callconv(.Inline) @TypeOf(baz((@import("std").meta.cast(?*c_void, baz)))) { \\ return baz((@import("std").meta.cast(?*c_void, baz))); \\} , @@ -2902,11 +2902,11 @@ pub fn addCases(cases: *tests.TranslateCContext) void { \\#define MIN(a, b) ((b) < (a) ? (b) : (a)) \\#define MAX(a, b) ((b) > (a) ? (b) : (a)) , &[_][]const u8{ - \\pub inline fn MIN(a: anytype, b: anytype) @TypeOf(if (b < a) b else a) { + \\pub fn MIN(a: anytype, b: anytype) callconv(.Inline) @TypeOf(if (b < a) b else a) { \\ return if (b < a) b else a; \\} , - \\pub inline fn MAX(a: anytype, b: anytype) @TypeOf(if (b > a) b else a) { + \\pub fn MAX(a: anytype, b: anytype) callconv(.Inline) @TypeOf(if (b > a) b else a) { \\ return if (b > a) b else a; \\} }); @@ -3094,7 +3094,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { \\#define DefaultScreen(dpy) (((_XPrivDisplay)(dpy))->default_screen) \\ , &[_][]const u8{ - \\pub inline fn DefaultScreen(dpy: anytype) @TypeOf((@import("std").meta.cast(_XPrivDisplay, dpy)).*.default_screen) { + \\pub fn DefaultScreen(dpy: anytype) callconv(.Inline) @TypeOf((@import("std").meta.cast(_XPrivDisplay, dpy)).*.default_screen) { \\ return (@import("std").meta.cast(_XPrivDisplay, dpy)).*.default_screen; \\} }); From 1c15091bc8d83b9464082afbdb62ecd9c9176cd6 Mon Sep 17 00:00:00 2001 From: Tadeo Kondrak Date: Mon, 11 Jan 2021 07:59:11 -0700 Subject: [PATCH 69/73] stage1: switch from inline fn to callconv(.Inline) --- lib/std/builtin.zig | 11 ++-------- src/stage1/all_types.hpp | 12 +++------- src/stage1/analyze.cpp | 20 ++++++++++++----- src/stage1/ast_render.cpp | 11 +++------- src/stage1/codegen.cpp | 46 +++++++++++++++------------------------ src/stage1/ir.cpp | 23 ++++++++++---------- src/stage1/parser.cpp | 17 +++------------ 7 files changed, 56 insertions(+), 84 deletions(-) diff --git a/lib/std/builtin.zig b/lib/std/builtin.zig index 7163cc5357..93de8ae3b9 100644 --- a/lib/std/builtin.zig +++ b/lib/std/builtin.zig @@ -155,6 +155,7 @@ pub const CallingConvention = enum { C, Naked, Async, + Inline, Interrupt, Signal, Stdcall, @@ -404,21 +405,13 @@ pub const TypeInfo = union(enum) { /// therefore must be kept in sync with the compiler implementation. pub const FnDecl = struct { fn_type: type, - inline_type: Inline, + is_noinline: bool, is_var_args: bool, is_extern: bool, is_export: bool, lib_name: ?[]const u8, return_type: type, arg_names: []const []const u8, - - /// This data structure is used by the Zig language code generation and - /// therefore must be kept in sync with the compiler implementation. - pub const Inline = enum { - Auto, - Always, - Never, - }; }; }; }; diff --git a/src/stage1/all_types.hpp b/src/stage1/all_types.hpp index d2741320d7..7ad585a524 100644 --- a/src/stage1/all_types.hpp +++ b/src/stage1/all_types.hpp @@ -74,6 +74,7 @@ enum CallingConvention { CallingConventionC, CallingConventionNaked, CallingConventionAsync, + CallingConventionInline, CallingConventionInterrupt, CallingConventionSignal, CallingConventionStdcall, @@ -703,12 +704,6 @@ enum NodeType { NodeTypeAnyTypeField, }; -enum FnInline { - FnInlineAuto, - FnInlineAlways, - FnInlineNever, -}; - struct AstNodeFnProto { Buf *name; ZigList params; @@ -725,13 +720,12 @@ struct AstNodeFnProto { AstNode *callconv_expr; Buf doc_comments; - FnInline fn_inline; - VisibMod visib_mod; bool auto_err_set; bool is_var_args; bool is_extern; bool is_export; + bool is_noinline; }; struct AstNodeFnDef { @@ -1719,7 +1713,6 @@ struct ZigFn { LLVMValueRef valgrind_client_request_array; - FnInline fn_inline; FnAnalState anal_state; uint32_t align_bytes; @@ -1728,6 +1721,7 @@ struct ZigFn { bool calls_or_awaits_errorable_fn; bool is_cold; bool is_test; + bool is_noinline; }; uint32_t fn_table_entry_hash(ZigFn*); diff --git a/src/stage1/analyze.cpp b/src/stage1/analyze.cpp index c701abce8a..a4e368288e 100644 --- a/src/stage1/analyze.cpp +++ b/src/stage1/analyze.cpp @@ -973,6 +973,7 @@ const char *calling_convention_name(CallingConvention cc) { case CallingConventionAPCS: return "APCS"; case CallingConventionAAPCS: return "AAPCS"; case CallingConventionAAPCSVFP: return "AAPCSVFP"; + case CallingConventionInline: return "Inline"; } zig_unreachable(); } @@ -981,6 +982,7 @@ bool calling_convention_allows_zig_types(CallingConvention cc) { switch (cc) { case CallingConventionUnspecified: case CallingConventionAsync: + case CallingConventionInline: return true; case CallingConventionC: case CallingConventionNaked: @@ -1007,7 +1009,8 @@ ZigType *get_stack_trace_type(CodeGen *g) { } bool want_first_arg_sret(CodeGen *g, FnTypeId *fn_type_id) { - if (fn_type_id->cc == CallingConventionUnspecified) { + if (fn_type_id->cc == CallingConventionUnspecified + || fn_type_id->cc == CallingConventionInline) { return handle_is_ptr(g, fn_type_id->return_type); } if (fn_type_id->cc != CallingConventionC) { @@ -1888,6 +1891,7 @@ Error emit_error_unless_callconv_allowed_for_target(CodeGen *g, AstNode *source_ case CallingConventionC: case CallingConventionNaked: case CallingConventionAsync: + case CallingConventionInline: break; case CallingConventionInterrupt: if (g->zig_target->arch != ZigLLVM_x86 @@ -3587,7 +3591,7 @@ static void get_fully_qualified_decl_name(CodeGen *g, Buf *buf, Tld *tld, bool i } } -static ZigFn *create_fn_raw(CodeGen *g, FnInline inline_value) { +static ZigFn *create_fn_raw(CodeGen *g, bool is_noinline) { ZigFn *fn_entry = heap::c_allocator.create(); fn_entry->ir_executable = heap::c_allocator.create(); @@ -3597,7 +3601,7 @@ static ZigFn *create_fn_raw(CodeGen *g, FnInline inline_value) { fn_entry->analyzed_executable.backward_branch_quota = &fn_entry->prealloc_backward_branch_quota; fn_entry->analyzed_executable.fn_entry = fn_entry; fn_entry->ir_executable->fn_entry = fn_entry; - fn_entry->fn_inline = inline_value; + fn_entry->is_noinline = is_noinline; return fn_entry; } @@ -3606,7 +3610,7 @@ ZigFn *create_fn(CodeGen *g, AstNode *proto_node) { assert(proto_node->type == NodeTypeFnProto); AstNodeFnProto *fn_proto = &proto_node->data.fn_proto; - ZigFn *fn_entry = create_fn_raw(g, fn_proto->fn_inline); + ZigFn *fn_entry = create_fn_raw(g, fn_proto->is_noinline); fn_entry->proto_node = proto_node; fn_entry->body_node = (proto_node->data.fn_proto.fn_def_node == nullptr) ? nullptr : @@ -3739,6 +3743,12 @@ static void resolve_decl_fn(CodeGen *g, TldFn *tld_fn) { fn_table_entry->type_entry = g->builtin_types.entry_invalid; tld_fn->base.resolution = TldResolutionInvalid; return; + case CallingConventionInline: + add_node_error(g, fn_def_node, + buf_sprintf("exported function cannot be inline")); + fn_table_entry->type_entry = g->builtin_types.entry_invalid; + tld_fn->base.resolution = TldResolutionInvalid; + return; case CallingConventionC: case CallingConventionNaked: case CallingConventionInterrupt: @@ -3774,7 +3784,7 @@ static void resolve_decl_fn(CodeGen *g, TldFn *tld_fn) { fn_table_entry->inferred_async_node = fn_table_entry->proto_node; } } else if (source_node->type == NodeTypeTestDecl) { - ZigFn *fn_table_entry = create_fn_raw(g, FnInlineAuto); + ZigFn *fn_table_entry = create_fn_raw(g, false); get_fully_qualified_decl_name(g, &fn_table_entry->symbol_name, &tld_fn->base, true); diff --git a/src/stage1/ast_render.cpp b/src/stage1/ast_render.cpp index e3f9d11404..9aebac1d28 100644 --- a/src/stage1/ast_render.cpp +++ b/src/stage1/ast_render.cpp @@ -123,13 +123,8 @@ static const char *export_string(bool is_export) { // zig_unreachable(); //} -static const char *inline_string(FnInline fn_inline) { - switch (fn_inline) { - case FnInlineAlways: return "inline "; - case FnInlineNever: return "noinline "; - case FnInlineAuto: return ""; - } - zig_unreachable(); +static const char *inline_string(bool is_inline) { + return is_inline ? "inline" : ""; } static const char *const_or_var_string(bool is_const) { @@ -446,7 +441,7 @@ static void render_node_extra(AstRender *ar, AstNode *node, bool grouped) { const char *pub_str = visib_mod_string(node->data.fn_proto.visib_mod); const char *extern_str = extern_string(node->data.fn_proto.is_extern); const char *export_str = export_string(node->data.fn_proto.is_export); - const char *inline_str = inline_string(node->data.fn_proto.fn_inline); + const char *inline_str = inline_string(node->data.fn_proto.is_noinline); fprintf(ar->f, "%s%s%s%sfn ", pub_str, inline_str, export_str, extern_str); if (node->data.fn_proto.name != nullptr) { print_symbol(ar, node->data.fn_proto.name); diff --git a/src/stage1/codegen.cpp b/src/stage1/codegen.cpp index 6aa134c3b0..7f8b1884bd 100644 --- a/src/stage1/codegen.cpp +++ b/src/stage1/codegen.cpp @@ -159,6 +159,7 @@ static const char *get_mangled_name(CodeGen *g, const char *original_name) { static ZigLLVM_CallingConv get_llvm_cc(CodeGen *g, CallingConvention cc) { switch (cc) { case CallingConventionUnspecified: + case CallingConventionInline: return ZigLLVM_Fast; case CallingConventionC: return ZigLLVM_C; @@ -350,6 +351,7 @@ static bool cc_want_sret_attr(CallingConvention cc) { return true; case CallingConventionAsync: case CallingConventionUnspecified: + case CallingConventionInline: return false; } zig_unreachable(); @@ -452,20 +454,11 @@ static LLVMValueRef make_fn_llvm_value(CodeGen *g, ZigFn *fn) { } } - switch (fn->fn_inline) { - case FnInlineAlways: - addLLVMFnAttr(llvm_fn, "alwaysinline"); - g->inline_fns.append(fn); - break; - case FnInlineNever: - addLLVMFnAttr(llvm_fn, "noinline"); - break; - case FnInlineAuto: - if (fn->alignstack_value != 0) { - addLLVMFnAttr(llvm_fn, "noinline"); - } - break; - } + if (cc == CallingConventionInline) + addLLVMFnAttr(llvm_fn, "alwaysinline"); + + if (fn->is_noinline || (cc != CallingConventionInline && fn->alignstack_value != 0)) + addLLVMFnAttr(llvm_fn, "noinline"); if (cc == CallingConventionNaked) { addLLVMFnAttr(llvm_fn, "naked"); @@ -532,7 +525,7 @@ static LLVMValueRef make_fn_llvm_value(CodeGen *g, ZigFn *fn) { addLLVMFnAttr(llvm_fn, "nounwind"); add_uwtable_attr(g, llvm_fn); addLLVMFnAttr(llvm_fn, "nobuiltin"); - if (codegen_have_frame_pointer(g) && fn->fn_inline != FnInlineAlways) { + if (codegen_have_frame_pointer(g) && cc != CallingConventionInline) { ZigLLVMAddFunctionAttr(llvm_fn, "frame-pointer", "all"); } if (fn->section_name) { @@ -9043,19 +9036,16 @@ Buf *codegen_generate_builtin_source(CodeGen *g) { static_assert(CallingConventionC == 1, ""); static_assert(CallingConventionNaked == 2, ""); static_assert(CallingConventionAsync == 3, ""); - static_assert(CallingConventionInterrupt == 4, ""); - static_assert(CallingConventionSignal == 5, ""); - static_assert(CallingConventionStdcall == 6, ""); - static_assert(CallingConventionFastcall == 7, ""); - static_assert(CallingConventionVectorcall == 8, ""); - static_assert(CallingConventionThiscall == 9, ""); - static_assert(CallingConventionAPCS == 10, ""); - static_assert(CallingConventionAAPCS == 11, ""); - static_assert(CallingConventionAAPCSVFP == 12, ""); - - static_assert(FnInlineAuto == 0, ""); - static_assert(FnInlineAlways == 1, ""); - static_assert(FnInlineNever == 2, ""); + static_assert(CallingConventionInline == 4, ""); + static_assert(CallingConventionInterrupt == 5, ""); + static_assert(CallingConventionSignal == 6, ""); + static_assert(CallingConventionStdcall == 7, ""); + static_assert(CallingConventionFastcall == 8, ""); + static_assert(CallingConventionVectorcall == 9, ""); + static_assert(CallingConventionThiscall == 10, ""); + static_assert(CallingConventionAPCS == 11, ""); + static_assert(CallingConventionAAPCS == 12, ""); + static_assert(CallingConventionAAPCSVFP == 13, ""); static_assert(BuiltinPtrSizeOne == 0, ""); static_assert(BuiltinPtrSizeMany == 1, ""); diff --git a/src/stage1/ir.cpp b/src/stage1/ir.cpp index e876873022..7906df3b0d 100644 --- a/src/stage1/ir.cpp +++ b/src/stage1/ir.cpp @@ -19000,7 +19000,7 @@ static IrInstGen *ir_analyze_instruction_decl_var(IrAnalyze *ira, IrInstSrcDeclV } else if (init_val->type->id == ZigTypeIdFn && init_val->special != ConstValSpecialUndef && init_val->data.x_ptr.special == ConstPtrSpecialFunction && - init_val->data.x_ptr.data.fn.fn_entry->fn_inline == FnInlineAlways) + init_val->data.x_ptr.data.fn.fn_entry->type_entry->data.fn.fn_type_id.cc == CallingConventionInline) { var_class_requires_const = true; if (!var->src_is_const && !is_comptime_var) { @@ -19182,6 +19182,11 @@ static IrInstGen *ir_analyze_instruction_export(IrAnalyze *ira, IrInstSrcExport buf_sprintf("exported function cannot be async")); add_error_note(ira->codegen, msg, fn_entry->proto_node, buf_sprintf("declared here")); } break; + case CallingConventionInline: { + ErrorMsg *msg = ir_add_error(ira, &target->base, + buf_sprintf("exported function cannot be inline")); + add_error_note(ira->codegen, msg, fn_entry->proto_node, buf_sprintf("declared here")); + } break; case CallingConventionC: case CallingConventionNaked: case CallingConventionInterrupt: @@ -21120,7 +21125,7 @@ static IrInstGen *ir_analyze_fn_call(IrAnalyze *ira, IrInst* source_instr, if (type_is_invalid(return_type)) return ira->codegen->invalid_inst_gen; - if (fn_entry != nullptr && fn_entry->fn_inline == FnInlineAlways && modifier == CallModifierNeverInline) { + if (fn_entry != nullptr && fn_type_id->cc == CallingConventionInline && modifier == CallModifierNeverInline) { ir_add_error(ira, source_instr, buf_sprintf("no-inline call of inline function")); return ira->codegen->invalid_inst_gen; @@ -25219,10 +25224,6 @@ static Error ir_make_type_info_decls(IrAnalyze *ira, IrInst* source_instr, ZigVa if ((err = type_resolve(ira->codegen, type_info_fn_decl_type, ResolveStatusSizeKnown))) return err; - ZigType *type_info_fn_decl_inline_type = ir_type_info_get_type(ira, "Inline", type_info_fn_decl_type); - if ((err = type_resolve(ira->codegen, type_info_fn_decl_inline_type, ResolveStatusSizeKnown))) - return err; - resolve_container_usingnamespace_decls(ira->codegen, decls_scope); // The unresolved declarations are collected in a separate queue to avoid @@ -25365,11 +25366,11 @@ static Error ir_make_type_info_decls(IrAnalyze *ira, IrInst* source_instr, ZigVa fn_decl_fields[0]->special = ConstValSpecialStatic; fn_decl_fields[0]->type = ira->codegen->builtin_types.entry_type; fn_decl_fields[0]->data.x_type = fn_entry->type_entry; - // inline_type: Data.FnDecl.Inline - ensure_field_index(fn_decl_val->type, "inline_type", 1); + // is_noinline: bool + ensure_field_index(fn_decl_val->type, "is_noinline", 1); fn_decl_fields[1]->special = ConstValSpecialStatic; - fn_decl_fields[1]->type = type_info_fn_decl_inline_type; - bigint_init_unsigned(&fn_decl_fields[1]->data.x_enum_tag, fn_entry->fn_inline); + fn_decl_fields[1]->type = ira->codegen->builtin_types.entry_bool; + fn_decl_fields[1]->data.x_bool = fn_entry->is_noinline; // is_var_args: bool ensure_field_index(fn_decl_val->type, "is_var_args", 2); bool is_varargs = fn_node->is_var_args; @@ -30957,7 +30958,7 @@ static IrInstGen *ir_analyze_instruction_set_align_stack(IrAnalyze *ira, IrInstS return ira->codegen->invalid_inst_gen; } - if (fn_entry->fn_inline == FnInlineAlways) { + if (fn_entry->type_entry->data.fn.fn_type_id.cc == CallingConventionInline) { ir_add_error(ira, &instruction->base.base, buf_sprintf("@setAlignStack in inline function")); return ira->codegen->invalid_inst_gen; } diff --git a/src/stage1/parser.cpp b/src/stage1/parser.cpp index 3fe85adbf5..c37b3ffefb 100644 --- a/src/stage1/parser.cpp +++ b/src/stage1/parser.cpp @@ -693,8 +693,6 @@ static AstNode *ast_parse_top_level_decl(ParseContext *pc, VisibMod visib_mod, B Token *first = eat_token_if(pc, TokenIdKeywordExport); if (first == nullptr) first = eat_token_if(pc, TokenIdKeywordExtern); - if (first == nullptr) - first = eat_token_if(pc, TokenIdKeywordInline); if (first == nullptr) first = eat_token_if(pc, TokenIdKeywordNoInline); if (first != nullptr) { @@ -702,7 +700,7 @@ static AstNode *ast_parse_top_level_decl(ParseContext *pc, VisibMod visib_mod, B if (first->id == TokenIdKeywordExtern) lib_name = eat_token_if(pc, TokenIdStringLiteral); - if (first->id != TokenIdKeywordInline && first->id != TokenIdKeywordNoInline) { + if (first->id != TokenIdKeywordNoInline) { Token *thread_local_kw = eat_token_if(pc, TokenIdKeywordThreadLocal); AstNode *var_decl = ast_parse_var_decl(pc); if (var_decl != nullptr) { @@ -739,17 +737,8 @@ static AstNode *ast_parse_top_level_decl(ParseContext *pc, VisibMod visib_mod, B if (!fn_proto->data.fn_proto.is_extern) fn_proto->data.fn_proto.is_extern = first->id == TokenIdKeywordExtern; fn_proto->data.fn_proto.is_export = first->id == TokenIdKeywordExport; - switch (first->id) { - case TokenIdKeywordInline: - fn_proto->data.fn_proto.fn_inline = FnInlineAlways; - break; - case TokenIdKeywordNoInline: - fn_proto->data.fn_proto.fn_inline = FnInlineNever; - break; - default: - fn_proto->data.fn_proto.fn_inline = FnInlineAuto; - break; - } + if (first->id == TokenIdKeywordNoInline) + fn_proto->data.fn_proto.is_noinline = true; fn_proto->data.fn_proto.lib_name = token_buf(lib_name); AstNode *res = fn_proto; From 7644e9a752ebe50c4372fae8ea0e8eaecb211508 Mon Sep 17 00:00:00 2001 From: Tadeo Kondrak Date: Mon, 11 Jan 2021 10:30:15 -0700 Subject: [PATCH 70/73] stage2: switch from inline fn to callconv(.Inline) --- src/Module.zig | 35 +++++++++++++++++++---------------- src/type.zig | 4 +++- src/zir.zig | 9 +++------ src/zir_sema.zig | 32 +++++++++++++------------------- 4 files changed, 38 insertions(+), 42 deletions(-) diff --git a/src/Module.zig b/src/Module.zig index a90998a386..322f190673 100644 --- a/src/Module.zig +++ b/src/Module.zig @@ -1087,14 +1087,23 @@ fn astGenAndAnalyzeDecl(self: *Module, decl: *Decl) !bool { if (fn_proto.getSectionExpr()) |sect_expr| { return self.failNode(&fn_type_scope.base, sect_expr, "TODO implement function section expression", .{}); } - if (fn_proto.getCallconvExpr()) |callconv_expr| { - return self.failNode( - &fn_type_scope.base, - callconv_expr, - "TODO implement function calling convention expression", - .{}, - ); - } + + const enum_literal_type = try astgen.addZIRInstConst(self, &fn_type_scope.base, fn_src, .{ + .ty = Type.initTag(.type), + .val = Value.initTag(.enum_literal_type), + }); + const enum_literal_type_rl: astgen.ResultLoc = .{ .ty = enum_literal_type }; + const cc = if (fn_proto.getCallconvExpr()) |callconv_expr| + try astgen.expr(self, &fn_type_scope.base, enum_literal_type_rl, callconv_expr) + else + try astgen.addZIRInstConst(self, &fn_type_scope.base, fn_src, .{ + .ty = Type.initTag(.enum_literal), + .val = try Value.Tag.enum_literal.create( + &fn_type_scope_arena.allocator, + try fn_type_scope_arena.allocator.dupe(u8, "Unspecified"), + ), + }); + const return_type_expr = switch (fn_proto.return_type) { .Explicit => |node| node, .InferErrorSet => |node| return self.failNode(&fn_type_scope.base, node, "TODO implement inferred error sets", .{}), @@ -1105,6 +1114,7 @@ fn astGenAndAnalyzeDecl(self: *Module, decl: *Decl) !bool { const fn_type_inst = try astgen.addZIRInst(self, &fn_type_scope.base, fn_src, zir.Inst.FnType, .{ .return_type = return_type_inst, .param_types = param_types, + .cc = cc, }, .{}); if (std.builtin.mode == .Debug and self.comp.verbose_ir) { @@ -1230,14 +1240,7 @@ fn astGenAndAnalyzeDecl(self: *Module, decl: *Decl) !bool { }; }; - const is_inline = blk: { - if (fn_proto.getExternExportInlineToken()) |maybe_inline_token| { - if (tree.token_ids[maybe_inline_token] == .Keyword_inline) { - break :blk true; - } - } - break :blk false; - }; + const is_inline = fn_type.fnCallingConvention() == .Inline; const anal_state = ([2]Fn.Analysis{ .queued, .inline_only })[@boolToInt(is_inline)]; new_func.* = .{ diff --git a/src/type.zig b/src/type.zig index 837e1ad29a..e1006e554c 100644 --- a/src/type.zig +++ b/src/type.zig @@ -552,7 +552,9 @@ pub const Type = extern union { if (i != 0) try out_stream.writeAll(", "); try param_type.format("", .{}, out_stream); } - try out_stream.writeAll(") "); + try out_stream.writeAll(") callconv(."); + try out_stream.writeAll(@tagName(payload.cc)); + try out_stream.writeAll(")"); ty = payload.return_type; continue; }, diff --git a/src/zir.zig b/src/zir.zig index 30bfeead9b..eefded0c6f 100644 --- a/src/zir.zig +++ b/src/zir.zig @@ -863,9 +863,7 @@ pub const Inst = struct { fn_type: *Inst, body: Body, }, - kw_args: struct { - is_inline: bool = false, - }, + kw_args: struct {}, }; pub const FnType = struct { @@ -875,10 +873,9 @@ pub const Inst = struct { positionals: struct { param_types: []*Inst, return_type: *Inst, + cc: *Inst, }, - kw_args: struct { - cc: std.builtin.CallingConvention = .Unspecified, - }, + kw_args: struct {}, }; pub const IntType = struct { diff --git a/src/zir_sema.zig b/src/zir_sema.zig index a8120108a4..480e0b4c33 100644 --- a/src/zir_sema.zig +++ b/src/zir_sema.zig @@ -980,18 +980,8 @@ fn zirCall(mod: *Module, scope: *Scope, inst: *zir.Inst.Call) InnerError!*Inst { const b = try mod.requireFunctionBlock(scope, inst.base.src); const is_comptime_call = b.is_comptime or inst.kw_args.modifier == .compile_time; - const is_inline_call = is_comptime_call or inst.kw_args.modifier == .always_inline or blk: { - // This logic will get simplified by - // https://github.com/ziglang/zig/issues/6429 - if (try mod.resolveDefinedValue(scope, func)) |func_val| { - const module_fn = switch (func_val.tag()) { - .function => func_val.castTag(.function).?.data, - else => break :blk false, - }; - break :blk module_fn.state == .inline_only; - } - break :blk false; - }; + const is_inline_call = is_comptime_call or inst.kw_args.modifier == .always_inline or + func.ty.fnCallingConvention() == .Inline; if (is_inline_call) { const func_val = try mod.resolveConstValue(scope, func); const module_fn = switch (func_val.tag()) { @@ -1075,7 +1065,7 @@ fn zirFn(mod: *Module, scope: *Scope, fn_inst: *zir.Inst.Fn) InnerError!*Inst { const fn_type = try resolveType(mod, scope, fn_inst.positionals.fn_type); const new_func = try scope.arena().create(Module.Fn); new_func.* = .{ - .state = if (fn_inst.kw_args.is_inline) .inline_only else .queued, + .state = if (fn_type.fnCallingConvention() == .Inline) .inline_only else .queued, .zir = fn_inst.positionals.body, .body = undefined, .owner_decl = scope.ownerDecl().?, @@ -1305,22 +1295,26 @@ fn zirFnType(mod: *Module, scope: *Scope, fntype: *zir.Inst.FnType) InnerError!* const tracy = trace(@src()); defer tracy.end(); const return_type = try resolveType(mod, scope, fntype.positionals.return_type); + const cc_tv = try resolveInstConst(mod, scope, fntype.positionals.cc); + const cc_str = cc_tv.val.castTag(.enum_literal).?.data; + const cc = std.meta.stringToEnum(std.builtin.CallingConvention, cc_str) orelse + return mod.fail(scope, fntype.positionals.cc.src, "Unknown calling convention {s}", .{cc_str}); // Hot path for some common function types. if (fntype.positionals.param_types.len == 0) { - if (return_type.zigTypeTag() == .NoReturn and fntype.kw_args.cc == .Unspecified) { + if (return_type.zigTypeTag() == .NoReturn and cc == .Unspecified) { return mod.constType(scope, fntype.base.src, Type.initTag(.fn_noreturn_no_args)); } - if (return_type.zigTypeTag() == .Void and fntype.kw_args.cc == .Unspecified) { + if (return_type.zigTypeTag() == .Void and cc == .Unspecified) { return mod.constType(scope, fntype.base.src, Type.initTag(.fn_void_no_args)); } - if (return_type.zigTypeTag() == .NoReturn and fntype.kw_args.cc == .Naked) { + if (return_type.zigTypeTag() == .NoReturn and cc == .Naked) { return mod.constType(scope, fntype.base.src, Type.initTag(.fn_naked_noreturn_no_args)); } - if (return_type.zigTypeTag() == .Void and fntype.kw_args.cc == .C) { + if (return_type.zigTypeTag() == .Void and cc == .C) { return mod.constType(scope, fntype.base.src, Type.initTag(.fn_ccc_void_no_args)); } } @@ -1337,9 +1331,9 @@ fn zirFnType(mod: *Module, scope: *Scope, fntype: *zir.Inst.FnType) InnerError!* } const fn_ty = try Type.Tag.function.create(arena, .{ - .cc = fntype.kw_args.cc, - .return_type = return_type, .param_types = param_types, + .return_type = return_type, + .cc = cc, }); return mod.constType(scope, fntype.base.src, fn_ty); } From bcc13597fcec351f7231333fe6f5612c88d6eb65 Mon Sep 17 00:00:00 2001 From: Tadeo Kondrak Date: Mon, 8 Feb 2021 14:22:43 -0700 Subject: [PATCH 71/73] translate_c: switch from inline fn to callconv(.Inline) --- src/translate_c.zig | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/translate_c.zig b/src/translate_c.zig index 82a7695c13..9e1e3e9498 100644 --- a/src/translate_c.zig +++ b/src/translate_c.zig @@ -4721,7 +4721,6 @@ fn transCreateNodeMacroFn(c: *Context, name: []const u8, ref: *ast.Node, proto_a const scope = &c.global_scope.base; const pub_tok = try appendToken(c, .Keyword_pub, "pub"); - const inline_tok = try appendToken(c, .Keyword_inline, "inline"); const fn_tok = try appendToken(c, .Keyword_fn, "fn"); const name_tok = try appendIdentifier(c, name); _ = try appendToken(c, .LParen, "("); @@ -4749,6 +4748,11 @@ fn transCreateNodeMacroFn(c: *Context, name: []const u8, ref: *ast.Node, proto_a _ = try appendToken(c, .RParen, ")"); + _ = try appendToken(c, .Keyword_callconv, "callconv"); + _ = try appendToken(c, .LParen, "("); + const callconv_expr = try transCreateNodeEnumLiteral(c, "Inline"); + _ = try appendToken(c, .RParen, ")"); + const block_lbrace = try appendToken(c, .LBrace, "{"); const return_kw = try appendToken(c, .Keyword_return, "return"); @@ -4788,8 +4792,8 @@ fn transCreateNodeMacroFn(c: *Context, name: []const u8, ref: *ast.Node, proto_a }, .{ .visib_token = pub_tok, .name_token = name_tok, - .extern_export_inline_token = inline_tok, .body_node = &block.base, + .callconv_expr = callconv_expr, }); mem.copy(ast.Node.FnProto.ParamDecl, fn_proto.params(), fn_params.items); return &fn_proto.base; @@ -5739,7 +5743,6 @@ fn transMacroFnDefine(c: *Context, m: *MacroCtx) ParseError!void { const scope = &block_scope.base; const pub_tok = try appendToken(c, .Keyword_pub, "pub"); - const inline_tok = try appendToken(c, .Keyword_inline, "inline"); const fn_tok = try appendToken(c, .Keyword_fn, "fn"); const name_tok = try appendIdentifier(c, m.name); _ = try appendToken(c, .LParen, "("); @@ -5784,6 +5787,11 @@ fn transMacroFnDefine(c: *Context, m: *MacroCtx) ParseError!void { _ = try appendToken(c, .RParen, ")"); + _ = try appendToken(c, .Keyword_callconv, "callconv"); + _ = try appendToken(c, .LParen, "("); + const callconv_expr = try transCreateNodeEnumLiteral(c, "Inline"); + _ = try appendToken(c, .RParen, ")"); + const type_of = try c.createBuiltinCall("@TypeOf", 1); const return_kw = try appendToken(c, .Keyword_return, "return"); @@ -5815,9 +5823,9 @@ fn transMacroFnDefine(c: *Context, m: *MacroCtx) ParseError!void { .return_type = .{ .Explicit = &type_of.base }, }, .{ .visib_token = pub_tok, - .extern_export_inline_token = inline_tok, .name_token = name_tok, .body_node = block_node, + .callconv_expr = callconv_expr, }); mem.copy(ast.Node.FnProto.ParamDecl, fn_proto.params(), fn_params.items); From bb4f4c043e7dde4e8b9fcbf0af9329d3fd08ff7b Mon Sep 17 00:00:00 2001 From: Tadeo Kondrak Date: Tue, 9 Feb 2021 23:44:33 -0700 Subject: [PATCH 72/73] test/cli.zig: Remove inline from panic function in testGodboltApi Might add another line to stack traces there. --- test/cli.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/cli.zig b/test/cli.zig index 8787dab277..c0702fa54c 100644 --- a/test/cli.zig +++ b/test/cli.zig @@ -113,7 +113,7 @@ fn testGodboltApi(zig_exe: []const u8, dir_path: []const u8) anyerror!void { \\ return num * num; \\} \\extern fn zig_panic() noreturn; - \\pub fn panic(msg: []const u8, error_return_trace: ?*@import("builtin").StackTrace) callconv(.Inline) noreturn { + \\pub fn panic(msg: []const u8, error_return_trace: ?*@import("builtin").StackTrace) noreturn { \\ zig_panic(); \\} ); From d98f09e4f67fb2848be6052466db035450326605 Mon Sep 17 00:00:00 2001 From: Evan Haas Date: Thu, 11 Feb 2021 09:43:30 -0800 Subject: [PATCH 73/73] translate-c: comma operator should introduce a new scope This prevents inadvertent side-effects when an expression is not evaluated due to boolean short-circuiting Fixes #7989 --- src/translate_c.zig | 33 ++++++++++++++------------------- test/run_translated_c.zig | 13 +++++++++++++ test/translate_c.zig | 32 ++++++++++++++++++++++---------- 3 files changed, 49 insertions(+), 29 deletions(-) diff --git a/src/translate_c.zig b/src/translate_c.zig index 82a7695c13..4dc9453c85 100644 --- a/src/translate_c.zig +++ b/src/translate_c.zig @@ -1438,30 +1438,25 @@ fn transBinaryOperator( switch (op) { .Assign => return try transCreateNodeAssign(rp, scope, result_used, stmt.getLHS(), stmt.getRHS()), .Comma => { - const block_scope = try scope.findBlockScope(rp.c); - const expr = block_scope.base.parent == scope; - const lparen = if (expr) try appendToken(rp.c, .LParen, "(") else undefined; + var block_scope = try Scope.Block.init(rp.c, scope, true); + const lparen = try appendToken(rp.c, .LParen, "("); const lhs = try transExpr(rp, &block_scope.base, stmt.getLHS(), .unused, .r_value); try block_scope.statements.append(lhs); const rhs = try transExpr(rp, &block_scope.base, stmt.getRHS(), .used, .r_value); - if (expr) { - _ = try appendToken(rp.c, .Semicolon, ";"); - const break_node = try transCreateNodeBreak(rp.c, block_scope.label, rhs); - try block_scope.statements.append(&break_node.base); - const block_node = try block_scope.complete(rp.c); - const rparen = try appendToken(rp.c, .RParen, ")"); - const grouped_expr = try rp.c.arena.create(ast.Node.GroupedExpression); - grouped_expr.* = .{ - .lparen = lparen, - .expr = block_node, - .rparen = rparen, - }; - return maybeSuppressResult(rp, scope, result_used, &grouped_expr.base); - } else { - return maybeSuppressResult(rp, scope, result_used, rhs); - } + _ = try appendToken(rp.c, .Semicolon, ";"); + const break_node = try transCreateNodeBreak(rp.c, block_scope.label, rhs); + try block_scope.statements.append(&break_node.base); + const block_node = try block_scope.complete(rp.c); + const rparen = try appendToken(rp.c, .RParen, ")"); + const grouped_expr = try rp.c.arena.create(ast.Node.GroupedExpression); + grouped_expr.* = .{ + .lparen = lparen, + .expr = block_node, + .rparen = rparen, + }; + return maybeSuppressResult(rp, scope, result_used, &grouped_expr.base); }, .Div => { if (cIsSignedInteger(qt)) { diff --git a/test/run_translated_c.zig b/test/run_translated_c.zig index e28bdc96f0..b8af201e36 100644 --- a/test/run_translated_c.zig +++ b/test/run_translated_c.zig @@ -909,4 +909,17 @@ pub fn addCases(cases: *tests.RunTranslatedCContext) void { \\ return 1 != 1; \\} , ""); + + cases.add("Comma operator should create new scope; issue #7989", + \\#include + \\#include + \\int main(void) { + \\ if (1 || (abort(), 1)) {} + \\ if (0 && (1, printf("do not print\n"))) {} + \\ int x = 0; + \\ x = (x = 3, 4, x + 1); + \\ if (x != 4) abort(); + \\ return 0; + \\} + , ""); } diff --git a/test/translate_c.zig b/test/translate_c.zig index 03ca87d5f6..2097e17323 100644 --- a/test/translate_c.zig +++ b/test/translate_c.zig @@ -1723,11 +1723,17 @@ pub fn addCases(cases: *tests.TranslateCContext) void { \\} , &[_][]const u8{ \\pub export fn foo() c_int { - \\ _ = @as(c_int, 2); - \\ _ = @as(c_int, 4); - \\ _ = @as(c_int, 2); - \\ _ = @as(c_int, 4); - \\ return @as(c_int, 6); + \\ _ = (blk: { + \\ _ = @as(c_int, 2); + \\ break :blk @as(c_int, 4); + \\ }); + \\ return (blk: { + \\ _ = (blk_1: { + \\ _ = @as(c_int, 2); + \\ break :blk_1 @as(c_int, 4); + \\ }); + \\ break :blk @as(c_int, 6); + \\ }); \\} }); @@ -1774,8 +1780,10 @@ pub fn addCases(cases: *tests.TranslateCContext) void { \\ while (true) { \\ var a_1: c_int = 4; \\ a_1 = 9; - \\ _ = @as(c_int, 6); - \\ return a_1; + \\ return (blk: { + \\ _ = @as(c_int, 6); + \\ break :blk a_1; + \\ }); \\ } \\ while (true) { \\ var a_1: c_int = 2; @@ -1805,9 +1813,13 @@ pub fn addCases(cases: *tests.TranslateCContext) void { \\ var b: c_int = 4; \\ while ((i + @as(c_int, 2)) != 0) : (i = 2) { \\ var a: c_int = 2; - \\ a = 6; - \\ _ = @as(c_int, 5); - \\ _ = @as(c_int, 7); + \\ _ = (blk: { + \\ _ = (blk_1: { + \\ a = 6; + \\ break :blk_1 @as(c_int, 5); + \\ }); + \\ break :blk @as(c_int, 7); + \\ }); \\ } \\ } \\ var i: u8 = @bitCast(u8, @truncate(i8, @as(c_int, 2)));