//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (940)
//--------------------------------------------------------------------------------
pub const JET_bitConfigStoreReadControlInhibitRead = @as(u32, 1);
pub const JET_bitConfigStoreReadControlDisableAll = @as(u32, 2);
pub const JET_bitConfigStoreReadControlDefault = @as(u32, 0);
pub const JET_bitDefragmentBatchStart = @as(u32, 1);
pub const JET_bitDefragmentBatchStop = @as(u32, 2);
pub const JET_bitDefragmentAvailSpaceTreesOnly = @as(u32, 64);
pub const JET_bitDefragmentNoPartialMerges = @as(u32, 128);
pub const JET_bitDefragmentBTree = @as(u32, 256);
pub const JET_cbtypNull = @as(u32, 0);
pub const JET_cbtypFinalize = @as(u32, 1);
pub const JET_cbtypBeforeInsert = @as(u32, 2);
pub const JET_cbtypAfterInsert = @as(u32, 4);
pub const JET_cbtypBeforeReplace = @as(u32, 8);
pub const JET_cbtypAfterReplace = @as(u32, 16);
pub const JET_cbtypBeforeDelete = @as(u32, 32);
pub const JET_cbtypAfterDelete = @as(u32, 64);
pub const JET_cbtypUserDefinedDefaultValue = @as(u32, 128);
pub const JET_cbtypOnlineDefragCompleted = @as(u32, 256);
pub const JET_cbtypFreeCursorLS = @as(u32, 512);
pub const JET_cbtypFreeTableLS = @as(u32, 1024);
pub const JET_bitTableInfoUpdatable = @as(u32, 1);
pub const JET_bitTableInfoBookmark = @as(u32, 2);
pub const JET_bitTableInfoRollback = @as(u32, 4);
pub const JET_bitObjectSystem = @as(u32, 2147483648);
pub const JET_bitObjectTableFixedDDL = @as(u32, 1073741824);
pub const JET_bitObjectTableTemplate = @as(u32, 536870912);
pub const JET_bitObjectTableDerived = @as(u32, 268435456);
pub const JET_bitObjectTableNoFixedVarColumnsInDerivedTables = @as(u32, 67108864);
pub const JET_MAX_COMPUTERNAME_LENGTH = @as(u32, 15);
pub const JET_bitDurableCommitCallbackLogUnavailable = @as(u32, 1);
pub const JET_cbBookmarkMost = @as(u32, 256);
pub const JET_cbNameMost = @as(u32, 64);
pub const JET_cbFullNameMost = @as(u32, 255);
pub const JET_cbColumnLVPageOverhead = @as(u32, 82);
pub const JET_cbLVDefaultValueMost = @as(u32, 255);
pub const JET_cbColumnMost = @as(u32, 255);
pub const JET_cbLVColumnMost = @as(u32, 2147483647);
pub const JET_cbKeyMost8KBytePage = @as(u32, 2000);
pub const JET_cbKeyMost4KBytePage = @as(u32, 1000);
pub const JET_cbKeyMost2KBytePage = @as(u32, 500);
pub const JET_cbKeyMostMin = @as(u32, 255);
pub const JET_cbKeyMost = @as(u32, 255);
pub const JET_cbLimitKeyMost = @as(u32, 256);
pub const JET_cbPrimaryKeyMost = @as(u32, 255);
pub const JET_cbSecondaryKeyMost = @as(u32, 255);
pub const JET_ccolKeyMost = @as(u32, 16);
pub const JET_ccolMost = @as(u32, 65248);
pub const JET_ccolFixedMost = @as(u32, 127);
pub const JET_ccolVarMost = @as(u32, 128);
pub const JET_EventLoggingDisable = @as(u32, 0);
pub const JET_EventLoggingLevelMin = @as(u32, 1);
pub const JET_EventLoggingLevelLow = @as(u32, 25);
pub const JET_EventLoggingLevelMedium = @as(u32, 50);
pub const JET_EventLoggingLevelHigh = @as(u32, 75);
pub const JET_EventLoggingLevelMax = @as(u32, 100);
pub const JET_IOPriorityNormal = @as(u32, 0);
pub const JET_IOPriorityLow = @as(u32, 1);
pub const JET_configDefault = @as(u32, 1);
pub const JET_configRemoveQuotas = @as(u32, 2);
pub const JET_configLowDiskFootprint = @as(u32, 4);
pub const JET_configMediumDiskFootprint = @as(u32, 8);
pub const JET_configLowMemory = @as(u32, 16);
pub const JET_configDynamicMediumMemory = @as(u32, 32);
pub const JET_configLowPower = @as(u32, 64);
pub const JET_configSSDProfileIO = @as(u32, 128);
pub const JET_configRunSilent = @as(u32, 256);
pub const JET_configUnthrottledMemory = @as(u32, 512);
pub const JET_configHighConcurrencyScaling = @as(u32, 1024);
pub const JET_paramSystemPath = @as(u32, 0);
pub const JET_paramTempPath = @as(u32, 1);
pub const JET_paramLogFilePath = @as(u32, 2);
pub const JET_paramBaseName = @as(u32, 3);
pub const JET_paramEventSource = @as(u32, 4);
pub const JET_paramMaxSessions = @as(u32, 5);
pub const JET_paramMaxOpenTables = @as(u32, 6);
pub const JET_paramPreferredMaxOpenTables = @as(u32, 7);
pub const JET_paramCachedClosedTables = @as(u32, 125);
pub const JET_paramMaxCursors = @as(u32, 8);
pub const JET_paramMaxVerPages = @as(u32, 9);
pub const JET_paramPreferredVerPages = @as(u32, 63);
pub const JET_paramGlobalMinVerPages = @as(u32, 81);
pub const JET_paramVersionStoreTaskQueueMax = @as(u32, 105);
pub const JET_paramMaxTemporaryTables = @as(u32, 10);
pub const JET_paramLogFileSize = @as(u32, 11);
pub const JET_paramLogBuffers = @as(u32, 12);
pub const JET_paramWaitLogFlush = @as(u32, 13);
pub const JET_paramLogCheckpointPeriod = @as(u32, 14);
pub const JET_paramLogWaitingUserMax = @as(u32, 15);
pub const JET_paramCommitDefault = @as(u32, 16);
pub const JET_paramCircularLog = @as(u32, 17);
pub const JET_paramDbExtensionSize = @as(u32, 18);
pub const JET_paramPageTempDBMin = @as(u32, 19);
pub const JET_paramPageFragment = @as(u32, 20);
pub const JET_paramEnableFileCache = @as(u32, 126);
pub const JET_paramVerPageSize = @as(u32, 128);
pub const JET_paramConfiguration = @as(u32, 129);
pub const JET_paramEnableAdvanced = @as(u32, 130);
pub const JET_paramMaxColtyp = @as(u32, 131);
pub const JET_paramBatchIOBufferMax = @as(u32, 22);
pub const JET_paramCacheSize = @as(u32, 41);
pub const JET_paramCacheSizeMin = @as(u32, 60);
pub const JET_paramCacheSizeMax = @as(u32, 23);
pub const JET_paramCheckpointDepthMax = @as(u32, 24);
pub const JET_paramLRUKCorrInterval = @as(u32, 25);
pub const JET_paramLRUKHistoryMax = @as(u32, 26);
pub const JET_paramLRUKPolicy = @as(u32, 27);
pub const JET_paramLRUKTimeout = @as(u32, 28);
pub const JET_paramLRUKTrxCorrInterval = @as(u32, 29);
pub const JET_paramOutstandingIOMax = @as(u32, 30);
pub const JET_paramStartFlushThreshold = @as(u32, 31);
pub const JET_paramStopFlushThreshold = @as(u32, 32);
pub const JET_paramEnableViewCache = @as(u32, 127);
pub const JET_paramCheckpointIOMax = @as(u32, 135);
pub const JET_paramTableClass1Name = @as(u32, 137);
pub const JET_paramTableClass2Name = @as(u32, 138);
pub const JET_paramTableClass3Name = @as(u32, 139);
pub const JET_paramTableClass4Name = @as(u32, 140);
pub const JET_paramTableClass5Name = @as(u32, 141);
pub const JET_paramTableClass6Name = @as(u32, 142);
pub const JET_paramTableClass7Name = @as(u32, 143);
pub const JET_paramTableClass8Name = @as(u32, 144);
pub const JET_paramTableClass9Name = @as(u32, 145);
pub const JET_paramTableClass10Name = @as(u32, 146);
pub const JET_paramTableClass11Name = @as(u32, 147);
pub const JET_paramTableClass12Name = @as(u32, 148);
pub const JET_paramTableClass13Name = @as(u32, 149);
pub const JET_paramTableClass14Name = @as(u32, 150);
pub const JET_paramTableClass15Name = @as(u32, 151);
pub const JET_paramIOPriority = @as(u32, 152);
pub const JET_paramRecovery = @as(u32, 34);
pub const JET_paramEnableOnlineDefrag = @as(u32, 35);
pub const JET_paramCheckFormatWhenOpenFail = @as(u32, 44);
pub const JET_paramEnableTempTableVersioning = @as(u32, 46);
pub const JET_paramIgnoreLogVersion = @as(u32, 47);
pub const JET_paramDeleteOldLogs = @as(u32, 48);
pub const JET_paramEventSourceKey = @as(u32, 49);
pub const JET_paramNoInformationEvent = @as(u32, 50);
pub const JET_paramEventLoggingLevel = @as(u32, 51);
pub const JET_paramDeleteOutOfRangeLogs = @as(u32, 52);
pub const JET_paramAccessDeniedRetryPeriod = @as(u32, 53);
pub const JET_paramEnableIndexChecking = @as(u32, 45);
pub const JET_paramEnableIndexCleanup = @as(u32, 54);
pub const JET_paramDatabasePageSize = @as(u32, 64);
pub const JET_paramDisableCallbacks = @as(u32, 65);
pub const JET_paramLogFileCreateAsynch = @as(u32, 69);
pub const JET_paramErrorToString = @as(u32, 70);
pub const JET_paramZeroDatabaseDuringBackup = @as(u32, 71);
pub const JET_paramUnicodeIndexDefault = @as(u32, 72);
pub const JET_paramRuntimeCallback = @as(u32, 73);
pub const JET_paramCleanupMismatchedLogFiles = @as(u32, 77);
pub const JET_paramRecordUpgradeDirtyLevel = @as(u32, 78);
pub const JET_paramOSSnapshotTimeout = @as(u32, 82);
pub const JET_paramExceptionAction = @as(u32, 98);
pub const JET_paramEventLogCache = @as(u32, 99);
pub const JET_paramCreatePathIfNotExist = @as(u32, 100);
pub const JET_paramPageHintCacheSize = @as(u32, 101);
pub const JET_paramOneDatabasePerSession = @as(u32, 102);
pub const JET_paramMaxInstances = @as(u32, 104);
pub const JET_paramDisablePerfmon = @as(u32, 107);
pub const JET_paramIndexTuplesLengthMin = @as(u32, 110);
pub const JET_paramIndexTuplesLengthMax = @as(u32, 111);
pub const JET_paramIndexTuplesToIndexMax = @as(u32, 112);
pub const JET_paramAlternateDatabaseRecoveryPath = @as(u32, 113);
pub const JET_paramIndexTupleIncrement = @as(u32, 132);
pub const JET_paramIndexTupleStart = @as(u32, 133);
pub const JET_paramKeyMost = @as(u32, 134);
pub const JET_paramLegacyFileNames = @as(u32, 136);
pub const JET_paramEnablePersistedCallbacks = @as(u32, 156);
pub const JET_paramWaypointLatency = @as(u32, 153);
pub const JET_paramDefragmentSequentialBTrees = @as(u32, 160);
pub const JET_paramDefragmentSequentialBTreesDensityCheckFrequency = @as(u32, 161);
pub const JET_paramIOThrottlingTimeQuanta = @as(u32, 162);
pub const JET_paramLVChunkSizeMost = @as(u32, 163);
pub const JET_paramMaxCoalesceReadSize = @as(u32, 164);
pub const JET_paramMaxCoalesceWriteSize = @as(u32, 165);
pub const JET_paramMaxCoalesceReadGapSize = @as(u32, 166);
pub const JET_paramMaxCoalesceWriteGapSize = @as(u32, 167);
pub const JET_paramEnableDBScanInRecovery = @as(u32, 169);
pub const JET_paramDbScanThrottle = @as(u32, 170);
pub const JET_paramDbScanIntervalMinSec = @as(u32, 171);
pub const JET_paramDbScanIntervalMaxSec = @as(u32, 172);
pub const JET_paramCachePriority = @as(u32, 177);
pub const JET_paramMaxTransactionSize = @as(u32, 178);
pub const JET_paramPrereadIOMax = @as(u32, 179);
pub const JET_paramEnableDBScanSerialization = @as(u32, 180);
pub const JET_paramHungIOThreshold = @as(u32, 181);
pub const JET_paramHungIOActions = @as(u32, 182);
pub const JET_paramMinDataForXpress = @as(u32, 183);
pub const JET_paramEnableShrinkDatabase = @as(u32, 184);
pub const JET_paramProcessFriendlyName = @as(u32, 186);
pub const JET_paramDurableCommitCallback = @as(u32, 187);
pub const JET_paramEnableSqm = @as(u32, 188);
pub const JET_paramConfigStoreSpec = @as(u32, 189);
pub const JET_paramUseFlushForWriteDurability = @as(u32, 214);
pub const JET_paramEnableRBS = @as(u32, 215);
pub const JET_paramRBSFilePath = @as(u32, 216);
pub const JET_paramMaxValueInvalid = @as(u32, 217);
pub const JET_sesparamCommitDefault = @as(u32, 4097);
pub const JET_sesparamTransactionLevel = @as(u32, 4099);
pub const JET_sesparamOperationContext = @as(u32, 4100);
pub const JET_sesparamCorrelationID = @as(u32, 4101);
pub const JET_sesparamMaxValueInvalid = @as(u32, 4110);
pub const JET_bitESE98FileNames = @as(u32, 1);
pub const JET_bitEightDotThreeSoftCompat = @as(u32, 2);
pub const JET_bitHungIOEvent = @as(u32, 1);
pub const JET_bitShrinkDatabaseOff = @as(u32, 0);
pub const JET_bitShrinkDatabaseOn = @as(u32, 1);
pub const JET_bitShrinkDatabaseRealtime = @as(u32, 2);
pub const JET_bitShrinkDatabaseTrim = @as(u32, 1);
pub const JET_bitReplayIgnoreMissingDB = @as(u32, 4);
pub const JET_bitRecoveryWithoutUndo = @as(u32, 8);
pub const JET_bitTruncateLogsAfterRecovery = @as(u32, 16);
pub const JET_bitReplayMissingMapEntryDB = @as(u32, 32);
pub const JET_bitLogStreamMustExist = @as(u32, 64);
pub const JET_bitReplayIgnoreLostLogs = @as(u32, 128);
pub const JET_bitKeepDbAttachedAtEndOfRecovery = @as(u32, 4096);
pub const JET_bitTermComplete = @as(u32, 1);
pub const JET_bitTermAbrupt = @as(u32, 2);
pub const JET_bitTermStopBackup = @as(u32, 4);
pub const JET_bitTermDirty = @as(u32, 8);
pub const JET_bitIdleFlushBuffers = @as(u32, 1);
pub const JET_bitIdleCompact = @as(u32, 2);
pub const JET_bitIdleStatus = @as(u32, 4);
pub const JET_bitDbReadOnly = @as(u32, 1);
pub const JET_bitDbExclusive = @as(u32, 2);
pub const JET_bitDbDeleteCorruptIndexes = @as(u32, 16);
pub const JET_bitDbDeleteUnicodeIndexes = @as(u32, 1024);
pub const JET_bitDbUpgrade = @as(u32, 512);
pub const JET_bitDbEnableBackgroundMaintenance = @as(u32, 2048);
pub const JET_bitDbPurgeCacheOnAttach = @as(u32, 4096);
pub const JET_bitForceDetach = @as(u32, 1);
pub const JET_bitDbRecoveryOff = @as(u32, 8);
pub const JET_bitDbShadowingOff = @as(u32, 128);
pub const JET_bitDbOverwriteExisting = @as(u32, 512);
pub const JET_bitBackupIncremental = @as(u32, 1);
pub const JET_bitBackupAtomic = @as(u32, 4);
pub const JET_bitBackupSnapshot = @as(u32, 16);
pub const JET_bitBackupEndNormal = @as(u32, 1);
pub const JET_bitBackupEndAbort = @as(u32, 2);
pub const JET_bitBackupTruncateDone = @as(u32, 256);
pub const JET_bitTableCreateFixedDDL = @as(u32, 1);
pub const JET_bitTableCreateTemplateTable = @as(u32, 2);
pub const JET_bitTableCreateNoFixedVarColumnsInDerivedTables = @as(u32, 4);
pub const JET_bitTableCreateImmutableStructure = @as(u32, 8);
pub const JET_bitColumnFixed = @as(u32, 1);
pub const JET_bitColumnTagged = @as(u32, 2);
pub const JET_bitColumnNotNULL = @as(u32, 4);
pub const JET_bitColumnVersion = @as(u32, 8);
pub const JET_bitColumnAutoincrement = @as(u32, 16);
pub const JET_bitColumnUpdatable = @as(u32, 32);
pub const JET_bitColumnTTKey = @as(u32, 64);
pub const JET_bitColumnTTDescending = @as(u32, 128);
pub const JET_bitColumnMultiValued = @as(u32, 1024);
pub const JET_bitColumnEscrowUpdate = @as(u32, 2048);
pub const JET_bitColumnUnversioned = @as(u32, 4096);
pub const JET_bitColumnMaybeNull = @as(u32, 8192);
pub const JET_bitColumnFinalize = @as(u32, 16384);
pub const JET_bitColumnUserDefinedDefault = @as(u32, 32768);
pub const JET_bitColumnDeleteOnZero = @as(u32, 131072);
pub const JET_bitColumnCompressed = @as(u32, 524288);
pub const JET_bitDeleteColumnIgnoreTemplateColumns = @as(u32, 1);
pub const JET_bitMoveFirst = @as(u32, 0);
pub const JET_bitNoMove = @as(u32, 2);
pub const JET_bitNewKey = @as(u32, 1);
pub const JET_bitStrLimit = @as(u32, 2);
pub const JET_bitSubStrLimit = @as(u32, 4);
pub const JET_bitNormalizedKey = @as(u32, 8);
pub const JET_bitKeyDataZeroLength = @as(u32, 16);
pub const JET_bitFullColumnStartLimit = @as(u32, 256);
pub const JET_bitFullColumnEndLimit = @as(u32, 512);
pub const JET_bitPartialColumnStartLimit = @as(u32, 1024);
pub const JET_bitPartialColumnEndLimit = @as(u32, 2048);
pub const JET_bitRangeInclusive = @as(u32, 1);
pub const JET_bitRangeUpperLimit = @as(u32, 2);
pub const JET_bitRangeInstantDuration = @as(u32, 4);
pub const JET_bitRangeRemove = @as(u32, 8);
pub const JET_bitReadLock = @as(u32, 1);
pub const JET_bitWriteLock = @as(u32, 2);
pub const JET_MoveFirst = @as(u32, 2147483648);
pub const JET_MovePrevious = @as(i32, -1);
pub const JET_MoveLast = @as(u32, 2147483647);
pub const JET_bitMoveKeyNE = @as(u32, 1);
pub const JET_bitSeekEQ = @as(u32, 1);
pub const JET_bitSeekLT = @as(u32, 2);
pub const JET_bitSeekLE = @as(u32, 4);
pub const JET_bitSeekGE = @as(u32, 8);
pub const JET_bitSeekGT = @as(u32, 16);
pub const JET_bitSetIndexRange = @as(u32, 32);
pub const JET_bitCheckUniqueness = @as(u32, 64);
pub const JET_bitBookmarkPermitVirtualCurrency = @as(u32, 1);
pub const JET_bitIndexColumnMustBeNull = @as(u32, 1);
pub const JET_bitIndexColumnMustBeNonNull = @as(u32, 2);
pub const JET_bitRecordInIndex = @as(u32, 1);
pub const JET_bitRecordNotInIndex = @as(u32, 2);
pub const JET_bitIndexUnique = @as(u32, 1);
pub const JET_bitIndexPrimary = @as(u32, 2);
pub const JET_bitIndexDisallowNull = @as(u32, 4);
pub const JET_bitIndexIgnoreNull = @as(u32, 8);
pub const JET_bitIndexIgnoreAnyNull = @as(u32, 32);
pub const JET_bitIndexIgnoreFirstNull = @as(u32, 64);
pub const JET_bitIndexLazyFlush = @as(u32, 128);
pub const JET_bitIndexEmpty = @as(u32, 256);
pub const JET_bitIndexUnversioned = @as(u32, 512);
pub const JET_bitIndexSortNullsHigh = @as(u32, 1024);
pub const JET_bitIndexUnicode = @as(u32, 2048);
pub const JET_bitIndexTuples = @as(u32, 4096);
pub const JET_bitIndexTupleLimits = @as(u32, 8192);
pub const JET_bitIndexCrossProduct = @as(u32, 16384);
pub const JET_bitIndexKeyMost = @as(u32, 32768);
pub const JET_bitIndexDisallowTruncation = @as(u32, 65536);
pub const JET_bitIndexNestedTable = @as(u32, 131072);
pub const JET_bitIndexDotNetGuid = @as(u32, 262144);
pub const JET_bitIndexImmutableStructure = @as(u32, 524288);
pub const JET_bitKeyAscending = @as(u32, 0);
pub const JET_bitKeyDescending = @as(u32, 1);
pub const JET_bitTableDenyWrite = @as(u32, 1);
pub const JET_bitTableDenyRead = @as(u32, 2);
pub const JET_bitTableReadOnly = @as(u32, 4);
pub const JET_bitTableUpdatable = @as(u32, 8);
pub const JET_bitTablePermitDDL = @as(u32, 16);
pub const JET_bitTableNoCache = @as(u32, 32);
pub const JET_bitTablePreread = @as(u32, 64);
pub const JET_bitTableOpportuneRead = @as(u32, 128);
pub const JET_bitTableSequential = @as(u32, 32768);
pub const JET_bitTableClassMask = @as(u32, 2031616);
pub const JET_bitTableClassNone = @as(u32, 0);
pub const JET_bitTableClass1 = @as(u32, 65536);
pub const JET_bitTableClass2 = @as(u32, 131072);
pub const JET_bitTableClass3 = @as(u32, 196608);
pub const JET_bitTableClass4 = @as(u32, 262144);
pub const JET_bitTableClass5 = @as(u32, 327680);
pub const JET_bitTableClass6 = @as(u32, 393216);
pub const JET_bitTableClass7 = @as(u32, 458752);
pub const JET_bitTableClass8 = @as(u32, 524288);
pub const JET_bitTableClass9 = @as(u32, 589824);
pub const JET_bitTableClass10 = @as(u32, 655360);
pub const JET_bitTableClass11 = @as(u32, 720896);
pub const JET_bitTableClass12 = @as(u32, 786432);
pub const JET_bitTableClass13 = @as(u32, 851968);
pub const JET_bitTableClass14 = @as(u32, 917504);
pub const JET_bitTableClass15 = @as(u32, 983040);
pub const JET_bitLSReset = @as(u32, 1);
pub const JET_bitLSCursor = @as(u32, 2);
pub const JET_bitLSTable = @as(u32, 4);
pub const JET_bitPrereadForward = @as(u32, 1);
pub const JET_bitPrereadBackward = @as(u32, 2);
pub const JET_bitPrereadFirstPage = @as(u32, 4);
pub const JET_bitPrereadNormalizedKey = @as(u32, 8);
pub const JET_bitTTIndexed = @as(u32, 1);
pub const JET_bitTTUnique = @as(u32, 2);
pub const JET_bitTTUpdatable = @as(u32, 4);
pub const JET_bitTTScrollable = @as(u32, 8);
pub const JET_bitTTSortNullsHigh = @as(u32, 16);
pub const JET_bitTTForceMaterialization = @as(u32, 32);
pub const JET_bitTTErrorOnDuplicateInsertion = @as(u32, 32);
pub const JET_bitTTForwardOnly = @as(u32, 64);
pub const JET_bitTTIntrinsicLVsOnly = @as(u32, 128);
pub const JET_bitTTDotNetGuid = @as(u32, 256);
pub const JET_bitSetAppendLV = @as(u32, 1);
pub const JET_bitSetOverwriteLV = @as(u32, 4);
pub const JET_bitSetSizeLV = @as(u32, 8);
pub const JET_bitSetZeroLength = @as(u32, 32);
pub const JET_bitSetSeparateLV = @as(u32, 64);
pub const JET_bitSetUniqueMultiValues = @as(u32, 128);
pub const JET_bitSetUniqueNormalizedMultiValues = @as(u32, 256);
pub const JET_bitSetRevertToDefaultValue = @as(u32, 512);
pub const JET_bitSetIntrinsicLV = @as(u32, 1024);
pub const JET_bitSetUncompressed = @as(u32, 65536);
pub const JET_bitSetCompressed = @as(u32, 131072);
pub const JET_bitSetContiguousLV = @as(u32, 262144);
pub const JET_bitSpaceHintsUtilizeParentSpace = @as(u32, 1);
pub const JET_bitCreateHintAppendSequential = @as(u32, 2);
pub const JET_bitCreateHintHotpointSequential = @as(u32, 4);
pub const JET_bitRetrieveHintReserve1 = @as(u32, 8);
pub const JET_bitRetrieveHintTableScanForward = @as(u32, 16);
pub const JET_bitRetrieveHintTableScanBackward = @as(u32, 32);
pub const JET_bitRetrieveHintReserve2 = @as(u32, 64);
pub const JET_bitRetrieveHintReserve3 = @as(u32, 128);
pub const JET_bitDeleteHintTableSequential = @as(u32, 256);
pub const JET_prepInsert = @as(u32, 0);
pub const JET_prepReplace = @as(u32, 2);
pub const JET_prepCancel = @as(u32, 3);
pub const JET_prepReplaceNoLock = @as(u32, 4);
pub const JET_prepInsertCopy = @as(u32, 5);
pub const JET_prepInsertCopyDeleteOriginal = @as(u32, 7);
pub const JET_prepInsertCopyReplaceOriginal = @as(u32, 9);
pub const JET_sqmDisable = @as(u32, 0);
pub const JET_sqmEnable = @as(u32, 1);
pub const JET_sqmFromCEIP = @as(u32, 2);
pub const JET_bitUpdateCheckESE97Compatibility = @as(u32, 1);
pub const JET_bitEscrowNoRollback = @as(u32, 1);
pub const JET_bitRetrieveCopy = @as(u32, 1);
pub const JET_bitRetrieveFromIndex = @as(u32, 2);
pub const JET_bitRetrieveFromPrimaryBookmark = @as(u32, 4);
pub const JET_bitRetrieveTag = @as(u32, 8);
pub const JET_bitRetrieveNull = @as(u32, 16);
pub const JET_bitRetrieveIgnoreDefault = @as(u32, 32);
pub const JET_bitRetrieveTuple = @as(u32, 2048);
pub const JET_bitZeroLength = @as(u32, 1);
pub const JET_bitEnumerateCopy = @as(u32, 1);
pub const JET_bitEnumerateIgnoreDefault = @as(u32, 32);
pub const JET_bitEnumeratePresenceOnly = @as(u32, 131072);
pub const JET_bitEnumerateTaggedOnly = @as(u32, 262144);
pub const JET_bitEnumerateCompressOutput = @as(u32, 524288);
pub const JET_bitEnumerateIgnoreUserDefinedDefault = @as(u32, 1048576);
pub const JET_bitEnumerateInRecordOnly = @as(u32, 2097152);
pub const JET_bitRecordSizeInCopyBuffer = @as(u32, 1);
pub const JET_bitRecordSizeRunningTotal = @as(u32, 2);
pub const JET_bitRecordSizeLocal = @as(u32, 4);
pub const JET_bitTransactionReadOnly = @as(u32, 1);
pub const JET_bitCommitLazyFlush = @as(u32, 1);
pub const JET_bitWaitLastLevel0Commit = @as(u32, 2);
pub const JET_bitWaitAllLevel0Commit = @as(u32, 8);
pub const JET_bitForceNewLog = @as(u32, 16);
pub const JET_bitRollbackAll = @as(u32, 1);
pub const JET_bitIncrementalSnapshot = @as(u32, 1);
pub const JET_bitCopySnapshot = @as(u32, 2);
pub const JET_bitContinueAfterThaw = @as(u32, 4);
pub const JET_bitExplicitPrepare = @as(u32, 8);
pub const JET_bitAllDatabasesSnapshot = @as(u32, 1);
pub const JET_bitAbortSnapshot = @as(u32, 1);
pub const JET_DbInfoFilename = @as(u32, 0);
pub const JET_DbInfoConnect = @as(u32, 1);
pub const JET_DbInfoCountry = @as(u32, 2);
pub const JET_DbInfoLCID = @as(u32, 3);
pub const JET_DbInfoLangid = @as(u32, 3);
pub const JET_DbInfoCp = @as(u32, 4);
pub const JET_DbInfoCollate = @as(u32, 5);
pub const JET_DbInfoOptions = @as(u32, 6);
pub const JET_DbInfoTransactions = @as(u32, 7);
pub const JET_DbInfoVersion = @as(u32, 8);
pub const JET_DbInfoIsam = @as(u32, 9);
pub const JET_DbInfoFilesize = @as(u32, 10);
pub const JET_DbInfoSpaceOwned = @as(u32, 11);
pub const JET_DbInfoSpaceAvailable = @as(u32, 12);
pub const JET_DbInfoUpgrade = @as(u32, 13);
pub const JET_DbInfoMisc = @as(u32, 14);
pub const JET_DbInfoDBInUse = @as(u32, 15);
pub const JET_DbInfoPageSize = @as(u32, 17);
pub const JET_DbInfoFileType = @as(u32, 19);
pub const JET_DbInfoFilesizeOnDisk = @as(u32, 21);
pub const JET_dbstateJustCreated = @as(u32, 1);
pub const JET_dbstateDirtyShutdown = @as(u32, 2);
pub const JET_dbstateCleanShutdown = @as(u32, 3);
pub const JET_dbstateBeingConverted = @as(u32, 4);
pub const JET_dbstateForceDetach = @as(u32, 5);
pub const JET_filetypeUnknown = @as(u32, 0);
pub const JET_filetypeDatabase = @as(u32, 1);
pub const JET_filetypeLog = @as(u32, 3);
pub const JET_filetypeCheckpoint = @as(u32, 4);
pub const JET_filetypeTempDatabase = @as(u32, 5);
pub const JET_filetypeFlushMap = @as(u32, 7);
pub const JET_revertstateNone = @as(u32, 0);
pub const JET_revertstateInProgress = @as(u32, 1);
pub const JET_revertstateCopingLogs = @as(u32, 2);
pub const JET_revertstateCompleted = @as(u32, 3);
pub const JET_bitDeleteAllExistingLogs = @as(u32, 1);
pub const JET_coltypNil = @as(u32, 0);
pub const JET_coltypBit = @as(u32, 1);
pub const JET_coltypUnsignedByte = @as(u32, 2);
pub const JET_coltypShort = @as(u32, 3);
pub const JET_coltypLong = @as(u32, 4);
pub const JET_coltypCurrency = @as(u32, 5);
pub const JET_coltypIEEESingle = @as(u32, 6);
pub const JET_coltypIEEEDouble = @as(u32, 7);
pub const JET_coltypDateTime = @as(u32, 8);
pub const JET_coltypBinary = @as(u32, 9);
pub const JET_coltypText = @as(u32, 10);
pub const JET_coltypLongBinary = @as(u32, 11);
pub const JET_coltypLongText = @as(u32, 12);
pub const JET_coltypMax = @as(u32, 13);
pub const JET_coltypSLV = @as(u32, 13);
pub const JET_coltypUnsignedLong = @as(u32, 14);
pub const JET_coltypLongLong = @as(u32, 15);
pub const JET_coltypGUID = @as(u32, 16);
pub const JET_coltypUnsignedShort = @as(u32, 17);
pub const JET_coltypUnsignedLongLong = @as(u32, 18);
pub const JET_ColInfoGrbitNonDerivedColumnsOnly = @as(u32, 2147483648);
pub const JET_ColInfoGrbitMinimalInfo = @as(u32, 1073741824);
pub const JET_ColInfoGrbitSortByColumnid = @as(u32, 536870912);
pub const JET_objtypNil = @as(u32, 0);
pub const JET_objtypTable = @as(u32, 1);
pub const JET_bitCompactStats = @as(u32, 32);
pub const JET_bitCompactRepair = @as(u32, 64);
pub const JET_snpRepair = @as(u32, 2);
pub const JET_snpCompact = @as(u32, 4);
pub const JET_snpRestore = @as(u32, 8);
pub const JET_snpBackup = @as(u32, 9);
pub const JET_snpUpgrade = @as(u32, 10);
pub const JET_snpScrub = @as(u32, 11);
pub const JET_snpUpgradeRecordFormat = @as(u32, 12);
pub const JET_sntBegin = @as(u32, 5);
pub const JET_sntRequirements = @as(u32, 7);
pub const JET_sntProgress = @as(u32, 0);
pub const JET_sntComplete = @as(u32, 6);
pub const JET_sntFail = @as(u32, 3);
pub const JET_ExceptionMsgBox = @as(u32, 1);
pub const JET_ExceptionNone = @as(u32, 2);
pub const JET_ExceptionFailFast = @as(u32, 4);
pub const JET_OnlineDefragDisable = @as(u32, 0);
pub const JET_OnlineDefragAllOBSOLETE = @as(u32, 1);
pub const JET_OnlineDefragDatabases = @as(u32, 2);
pub const JET_OnlineDefragSpaceTrees = @as(u32, 4);
pub const JET_OnlineDefragAll = @as(u32, 65535);
pub const JET_bitResizeDatabaseOnlyGrow = @as(u32, 1);
pub const JET_bitResizeDatabaseOnlyShrink = @as(u32, 2);
pub const JET_bitStopServiceAll = @as(u32, 0);
pub const JET_bitStopServiceBackgroundUserTasks = @as(u32, 2);
pub const JET_bitStopServiceQuiesceCaches = @as(u32, 4);
pub const JET_bitStopServiceResume = @as(u32, 2147483648);
pub const JET_errSuccess = @as(u32, 0);
pub const JET_wrnNyi = @as(i32, -1);
pub const JET_errRfsFailure = @as(i32, -100);
pub const JET_errRfsNotArmed = @as(i32, -101);
pub const JET_errFileClose = @as(i32, -102);
pub const JET_errOutOfThreads = @as(i32, -103);
pub const JET_errTooManyIO = @as(i32, -105);
pub const JET_errTaskDropped = @as(i32, -106);
pub const JET_errInternalError = @as(i32, -107);
pub const JET_errDisabledFunctionality = @as(i32, -112);
pub const JET_errUnloadableOSFunctionality = @as(i32, -113);
pub const JET_errDatabaseBufferDependenciesCorrupted = @as(i32, -255);
pub const JET_wrnRemainingVersions = @as(u32, 321);
pub const JET_errPreviousVersion = @as(i32, -322);
pub const JET_errPageBoundary = @as(i32, -323);
pub const JET_errKeyBoundary = @as(i32, -324);
pub const JET_errBadPageLink = @as(i32, -327);
pub const JET_errBadBookmark = @as(i32, -328);
pub const JET_errNTSystemCallFailed = @as(i32, -334);
pub const JET_errBadParentPageLink = @as(i32, -338);
pub const JET_errSPAvailExtCacheOutOfSync = @as(i32, -340);
pub const JET_errSPAvailExtCorrupted = @as(i32, -341);
pub const JET_errSPAvailExtCacheOutOfMemory = @as(i32, -342);
pub const JET_errSPOwnExtCorrupted = @as(i32, -343);
pub const JET_errDbTimeCorrupted = @as(i32, -344);
pub const JET_wrnUniqueKey = @as(u32, 345);
pub const JET_errKeyTruncated = @as(i32, -346);
pub const JET_errDatabaseLeakInSpace = @as(i32, -348);
pub const JET_errBadEmptyPage = @as(i32, -351);
pub const JET_errBadLineCount = @as(i32, -354);
pub const JET_errPageTagCorrupted = @as(i32, -357);
pub const JET_errNodeCorrupted = @as(i32, -358);
pub const JET_wrnSeparateLongValue = @as(u32, 406);
pub const JET_errKeyTooBig = @as(i32, -408);
pub const JET_errCannotSeparateIntrinsicLV = @as(i32, -416);
pub const JET_errSeparatedLongValue = @as(i32, -421);
pub const JET_errMustBeSeparateLongValue = @as(i32, -423);
pub const JET_errInvalidPreread = @as(i32, -424);
pub const JET_errInvalidLoggedOperation = @as(i32, -500);
pub const JET_errLogFileCorrupt = @as(i32, -501);
pub const JET_errNoBackupDirectory = @as(i32, -503);
pub const JET_errBackupDirectoryNotEmpty = @as(i32, -504);
pub const JET_errBackupInProgress = @as(i32, -505);
pub const JET_errRestoreInProgress = @as(i32, -506);
pub const JET_errMissingPreviousLogFile = @as(i32, -509);
pub const JET_errLogWriteFail = @as(i32, -510);
pub const JET_errLogDisabledDueToRecoveryFailure = @as(i32, -511);
pub const JET_errCannotLogDuringRecoveryRedo = @as(i32, -512);
pub const JET_errLogGenerationMismatch = @as(i32, -513);
pub const JET_errBadLogVersion = @as(i32, -514);
pub const JET_errInvalidLogSequence = @as(i32, -515);
pub const JET_errLoggingDisabled = @as(i32, -516);
pub const JET_errLogBufferTooSmall = @as(i32, -517);
pub const JET_errLogSequenceEnd = @as(i32, -519);
pub const JET_errNoBackup = @as(i32, -520);
pub const JET_errInvalidBackupSequence = @as(i32, -521);
pub const JET_errBackupNotAllowedYet = @as(i32, -523);
pub const JET_errDeleteBackupFileFail = @as(i32, -524);
pub const JET_errMakeBackupDirectoryFail = @as(i32, -525);
pub const JET_errInvalidBackup = @as(i32, -526);
pub const JET_errRecoveredWithErrors = @as(i32, -527);
pub const JET_errMissingLogFile = @as(i32, -528);
pub const JET_errLogDiskFull = @as(i32, -529);
pub const JET_errBadLogSignature = @as(i32, -530);
pub const JET_errBadDbSignature = @as(i32, -531);
pub const JET_errBadCheckpointSignature = @as(i32, -532);
pub const JET_errCheckpointCorrupt = @as(i32, -533);
pub const JET_errMissingPatchPage = @as(i32, -534);
pub const JET_errBadPatchPage = @as(i32, -535);
pub const JET_errRedoAbruptEnded = @as(i32, -536);
pub const JET_errPatchFileMissing = @as(i32, -538);
pub const JET_errDatabaseLogSetMismatch = @as(i32, -539);
pub const JET_errDatabaseStreamingFileMismatch = @as(i32, -540);
pub const JET_errLogFileSizeMismatch = @as(i32, -541);
pub const JET_errCheckpointFileNotFound = @as(i32, -542);
pub const JET_errRequiredLogFilesMissing = @as(i32, -543);
pub const JET_errSoftRecoveryOnBackupDatabase = @as(i32, -544);
pub const JET_errLogFileSizeMismatchDatabasesConsistent = @as(i32, -545);
pub const JET_errLogSectorSizeMismatch = @as(i32, -546);
pub const JET_errLogSectorSizeMismatchDatabasesConsistent = @as(i32, -547);
pub const JET_errLogSequenceEndDatabasesConsistent = @as(i32, -548);
pub const JET_errStreamingDataNotLogged = @as(i32, -549);
pub const JET_errDatabaseDirtyShutdown = @as(i32, -550);
pub const JET_errDatabaseInconsistent = @as(i32, -550);
pub const JET_errConsistentTimeMismatch = @as(i32, -551);
pub const JET_errDatabasePatchFileMismatch = @as(i32, -552);
pub const JET_errEndingRestoreLogTooLow = @as(i32, -553);
pub const JET_errStartingRestoreLogTooHigh = @as(i32, -554);
pub const JET_errGivenLogFileHasBadSignature = @as(i32, -555);
pub const JET_errGivenLogFileIsNotContiguous = @as(i32, -556);
pub const JET_errMissingRestoreLogFiles = @as(i32, -557);
pub const JET_wrnExistingLogFileHasBadSignature = @as(u32, 558);
pub const JET_wrnExistingLogFileIsNotContiguous = @as(u32, 559);
pub const JET_errMissingFullBackup = @as(i32, -560);
pub const JET_errBadBackupDatabaseSize = @as(i32, -561);
pub const JET_errDatabaseAlreadyUpgraded = @as(i32, -562);
pub const JET_errDatabaseIncompleteUpgrade = @as(i32, -563);
pub const JET_wrnSkipThisRecord = @as(u32, 564);
pub const JET_errMissingCurrentLogFiles = @as(i32, -565);
pub const JET_errDbTimeTooOld = @as(i32, -566);
pub const JET_errDbTimeTooNew = @as(i32, -567);
pub const JET_errMissingFileToBackup = @as(i32, -569);
pub const JET_errLogTornWriteDuringHardRestore = @as(i32, -570);
pub const JET_errLogTornWriteDuringHardRecovery = @as(i32, -571);
pub const JET_errLogCorruptDuringHardRestore = @as(i32, -573);
pub const JET_errLogCorruptDuringHardRecovery = @as(i32, -574);
pub const JET_errMustDisableLoggingForDbUpgrade = @as(i32, -575);
pub const JET_errBadRestoreTargetInstance = @as(i32, -577);
pub const JET_wrnTargetInstanceRunning = @as(u32, 578);
pub const JET_errRecoveredWithoutUndo = @as(i32, -579);
pub const JET_errDatabasesNotFromSameSnapshot = @as(i32, -580);
pub const JET_errSoftRecoveryOnSnapshot = @as(i32, -581);
pub const JET_errCommittedLogFilesMissing = @as(i32, -582);
pub const JET_errSectorSizeNotSupported = @as(i32, -583);
pub const JET_errRecoveredWithoutUndoDatabasesConsistent = @as(i32, -584);
pub const JET_wrnCommittedLogFilesLost = @as(u32, 585);
pub const JET_errCommittedLogFileCorrupt = @as(i32, -586);
pub const JET_wrnCommittedLogFilesRemoved = @as(u32, 587);
pub const JET_wrnFinishWithUndo = @as(u32, 588);
pub const JET_errLogSequenceChecksumMismatch = @as(i32, -590);
pub const JET_wrnDatabaseRepaired = @as(u32, 595);
pub const JET_errPageInitializedMismatch = @as(i32, -596);
pub const JET_errUnicodeTranslationBufferTooSmall = @as(i32, -601);
pub const JET_errUnicodeTranslationFail = @as(i32, -602);
pub const JET_errUnicodeNormalizationNotSupported = @as(i32, -603);
pub const JET_errUnicodeLanguageValidationFailure = @as(i32, -604);
pub const JET_errExistingLogFileHasBadSignature = @as(i32, -610);
pub const JET_errExistingLogFileIsNotContiguous = @as(i32, -611);
pub const JET_errLogReadVerifyFailure = @as(i32, -612);
pub const JET_errCheckpointDepthTooDeep = @as(i32, -614);
pub const JET_errRestoreOfNonBackupDatabase = @as(i32, -615);
pub const JET_errLogFileNotCopied = @as(i32, -616);
pub const JET_errTransactionTooLong = @as(i32, -618);
pub const JET_errEngineFormatVersionNoLongerSupportedTooLow = @as(i32, -619);
pub const JET_errEngineFormatVersionNotYetImplementedTooHigh = @as(i32, -620);
pub const JET_errEngineFormatVersionParamTooLowForRequestedFeature = @as(i32, -621);
pub const JET_errEngineFormatVersionSpecifiedTooLowForLogVersion = @as(i32, -622);
pub const JET_errEngineFormatVersionSpecifiedTooLowForDatabaseVersion = @as(i32, -623);
pub const JET_errBackupAbortByServer = @as(i32, -801);
pub const JET_errInvalidGrbit = @as(i32, -900);
pub const JET_errTermInProgress = @as(i32, -1000);
pub const JET_errFeatureNotAvailable = @as(i32, -1001);
pub const JET_errInvalidName = @as(i32, -1002);
pub const JET_errInvalidParameter = @as(i32, -1003);
pub const JET_wrnColumnNull = @as(u32, 1004);
pub const JET_wrnBufferTruncated = @as(u32, 1006);
pub const JET_wrnDatabaseAttached = @as(u32, 1007);
pub const JET_errDatabaseFileReadOnly = @as(i32, -1008);
pub const JET_wrnSortOverflow = @as(u32, 1009);
pub const JET_errInvalidDatabaseId = @as(i32, -1010);
pub const JET_errOutOfMemory = @as(i32, -1011);
pub const JET_errOutOfDatabaseSpace = @as(i32, -1012);
pub const JET_errOutOfCursors = @as(i32, -1013);
pub const JET_errOutOfBuffers = @as(i32, -1014);
pub const JET_errTooManyIndexes = @as(i32, -1015);
pub const JET_errTooManyKeys = @as(i32, -1016);
pub const JET_errRecordDeleted = @as(i32, -1017);
pub const JET_errReadVerifyFailure = @as(i32, -1018);
pub const JET_errPageNotInitialized = @as(i32, -1019);
pub const JET_errOutOfFileHandles = @as(i32, -1020);
pub const JET_errDiskReadVerificationFailure = @as(i32, -1021);
pub const JET_errDiskIO = @as(i32, -1022);
pub const JET_errInvalidPath = @as(i32, -1023);
pub const JET_errInvalidSystemPath = @as(i32, -1024);
pub const JET_errInvalidLogDirectory = @as(i32, -1025);
pub const JET_errRecordTooBig = @as(i32, -1026);
pub const JET_errTooManyOpenDatabases = @as(i32, -1027);
pub const JET_errInvalidDatabase = @as(i32, -1028);
pub const JET_errNotInitialized = @as(i32, -1029);
pub const JET_errAlreadyInitialized = @as(i32, -1030);
pub const JET_errInitInProgress = @as(i32, -1031);
pub const JET_errFileAccessDenied = @as(i32, -1032);
pub const JET_errBufferTooSmall = @as(i32, -1038);
pub const JET_wrnSeekNotEqual = @as(u32, 1039);
pub const JET_errTooManyColumns = @as(i32, -1040);
pub const JET_errContainerNotEmpty = @as(i32, -1043);
pub const JET_errInvalidFilename = @as(i32, -1044);
pub const JET_errInvalidBookmark = @as(i32, -1045);
pub const JET_errColumnInUse = @as(i32, -1046);
pub const JET_errInvalidBufferSize = @as(i32, -1047);
pub const JET_errColumnNotUpdatable = @as(i32, -1048);
pub const JET_errIndexInUse = @as(i32, -1051);
pub const JET_errLinkNotSupported = @as(i32, -1052);
pub const JET_errNullKeyDisallowed = @as(i32, -1053);
pub const JET_errNotInTransaction = @as(i32, -1054);
pub const JET_wrnNoErrorInfo = @as(u32, 1055);
pub const JET_errMustRollback = @as(i32, -1057);
pub const JET_wrnNoIdleActivity = @as(u32, 1058);
pub const JET_errTooManyActiveUsers = @as(i32, -1059);
pub const JET_errInvalidCountry = @as(i32, -1061);
pub const JET_errInvalidLanguageId = @as(i32, -1062);
pub const JET_errInvalidCodePage = @as(i32, -1063);
pub const JET_errInvalidLCMapStringFlags = @as(i32, -1064);
pub const JET_errVersionStoreEntryTooBig = @as(i32, -1065);
pub const JET_errVersionStoreOutOfMemoryAndCleanupTimedOut = @as(i32, -1066);
pub const JET_wrnNoWriteLock = @as(u32, 1067);
pub const JET_wrnColumnSetNull = @as(u32, 1068);
pub const JET_errVersionStoreOutOfMemory = @as(i32, -1069);
pub const JET_errCannotIndex = @as(i32, -1071);
pub const JET_errRecordNotDeleted = @as(i32, -1072);
pub const JET_errTooManyMempoolEntries = @as(i32, -1073);
pub const JET_errOutOfObjectIDs = @as(i32, -1074);
pub const JET_errOutOfLongValueIDs = @as(i32, -1075);
pub const JET_errOutOfAutoincrementValues = @as(i32, -1076);
pub const JET_errOutOfDbtimeValues = @as(i32, -1077);
pub const JET_errOutOfSequentialIndexValues = @as(i32, -1078);
pub const JET_errRunningInOneInstanceMode = @as(i32, -1080);
pub const JET_errRunningInMultiInstanceMode = @as(i32, -1081);
pub const JET_errSystemParamsAlreadySet = @as(i32, -1082);
pub const JET_errSystemPathInUse = @as(i32, -1083);
pub const JET_errLogFilePathInUse = @as(i32, -1084);
pub const JET_errTempPathInUse = @as(i32, -1085);
pub const JET_errInstanceNameInUse = @as(i32, -1086);
pub const JET_errSystemParameterConflict = @as(i32, -1087);
pub const JET_errInstanceUnavailable = @as(i32, -1090);
pub const JET_errDatabaseUnavailable = @as(i32, -1091);
pub const JET_errInstanceUnavailableDueToFatalLogDiskFull = @as(i32, -1092);
pub const JET_errInvalidSesparamId = @as(i32, -1093);
pub const JET_errTooManyRecords = @as(i32, -1094);
pub const JET_errInvalidDbparamId = @as(i32, -1095);
pub const JET_errOutOfSessions = @as(i32, -1101);
pub const JET_errWriteConflict = @as(i32, -1102);
pub const JET_errTransTooDeep = @as(i32, -1103);
pub const JET_errInvalidSesid = @as(i32, -1104);
pub const JET_errWriteConflictPrimaryIndex = @as(i32, -1105);
pub const JET_errInTransaction = @as(i32, -1108);
pub const JET_errRollbackRequired = @as(i32, -1109);
pub const JET_errTransReadOnly = @as(i32, -1110);
pub const JET_errSessionWriteConflict = @as(i32, -1111);
pub const JET_errRecordTooBigForBackwardCompatibility = @as(i32, -1112);
pub const JET_errCannotMaterializeForwardOnlySort = @as(i32, -1113);
pub const JET_errSesidTableIdMismatch = @as(i32, -1114);
pub const JET_errInvalidInstance = @as(i32, -1115);
pub const JET_errDirtyShutdown = @as(i32, -1116);
pub const JET_errReadPgnoVerifyFailure = @as(i32, -1118);
pub const JET_errReadLostFlushVerifyFailure = @as(i32, -1119);
pub const JET_errFileSystemCorruption = @as(i32, -1121);
pub const JET_wrnShrinkNotPossible = @as(u32, 1122);
pub const JET_errRecoveryVerifyFailure = @as(i32, -1123);
pub const JET_errFilteredMoveNotSupported = @as(i32, -1124);
pub const JET_errDatabaseDuplicate = @as(i32, -1201);
pub const JET_errDatabaseInUse = @as(i32, -1202);
pub const JET_errDatabaseNotFound = @as(i32, -1203);
pub const JET_errDatabaseInvalidName = @as(i32, -1204);
pub const JET_errDatabaseInvalidPages = @as(i32, -1205);
pub const JET_errDatabaseCorrupted = @as(i32, -1206);
pub const JET_errDatabaseLocked = @as(i32, -1207);
pub const JET_errCannotDisableVersioning = @as(i32, -1208);
pub const JET_errInvalidDatabaseVersion = @as(i32, -1209);
pub const JET_errDatabase200Format = @as(i32, -1210);
pub const JET_errDatabase400Format = @as(i32, -1211);
pub const JET_errDatabase500Format = @as(i32, -1212);
pub const JET_errPageSizeMismatch = @as(i32, -1213);
pub const JET_errTooManyInstances = @as(i32, -1214);
pub const JET_errDatabaseSharingViolation = @as(i32, -1215);
pub const JET_errAttachedDatabaseMismatch = @as(i32, -1216);
pub const JET_errDatabaseInvalidPath = @as(i32, -1217);
pub const JET_errDatabaseIdInUse = @as(i32, -1218);
pub const JET_errForceDetachNotAllowed = @as(i32, -1219);
pub const JET_errCatalogCorrupted = @as(i32, -1220);
pub const JET_errPartiallyAttachedDB = @as(i32, -1221);
pub const JET_errDatabaseSignInUse = @as(i32, -1222);
pub const JET_errDatabaseCorruptedNoRepair = @as(i32, -1224);
pub const JET_errInvalidCreateDbVersion = @as(i32, -1225);
pub const JET_errDatabaseNotReady = @as(i32, -1230);
pub const JET_errDatabaseAttachedForRecovery = @as(i32, -1231);
pub const JET_errTransactionsNotReadyDuringRecovery = @as(i32, -1232);
pub const JET_wrnTableEmpty = @as(u32, 1301);
pub const JET_errTableLocked = @as(i32, -1302);
pub const JET_errTableDuplicate = @as(i32, -1303);
pub const JET_errTableInUse = @as(i32, -1304);
pub const JET_errObjectNotFound = @as(i32, -1305);
pub const JET_errDensityInvalid = @as(i32, -1307);
pub const JET_errTableNotEmpty = @as(i32, -1308);
pub const JET_errInvalidTableId = @as(i32, -1310);
pub const JET_errTooManyOpenTables = @as(i32, -1311);
pub const JET_errIllegalOperation = @as(i32, -1312);
pub const JET_errTooManyOpenTablesAndCleanupTimedOut = @as(i32, -1313);
pub const JET_errObjectDuplicate = @as(i32, -1314);
pub const JET_errInvalidObject = @as(i32, -1316);
pub const JET_errCannotDeleteTempTable = @as(i32, -1317);
pub const JET_errCannotDeleteSystemTable = @as(i32, -1318);
pub const JET_errCannotDeleteTemplateTable = @as(i32, -1319);
pub const JET_errExclusiveTableLockRequired = @as(i32, -1322);
pub const JET_errFixedDDL = @as(i32, -1323);
pub const JET_errFixedInheritedDDL = @as(i32, -1324);
pub const JET_errCannotNestDDL = @as(i32, -1325);
pub const JET_errDDLNotInheritable = @as(i32, -1326);
pub const JET_wrnTableInUseBySystem = @as(u32, 1327);
pub const JET_errInvalidSettings = @as(i32, -1328);
pub const JET_errClientRequestToStopJetService = @as(i32, -1329);
pub const JET_errCannotAddFixedVarColumnToDerivedTable = @as(i32, -1330);
pub const JET_errIndexCantBuild = @as(i32, -1401);
pub const JET_errIndexHasPrimary = @as(i32, -1402);
pub const JET_errIndexDuplicate = @as(i32, -1403);
pub const JET_errIndexNotFound = @as(i32, -1404);
pub const JET_errIndexMustStay = @as(i32, -1405);
pub const JET_errIndexInvalidDef = @as(i32, -1406);
pub const JET_errInvalidCreateIndex = @as(i32, -1409);
pub const JET_errTooManyOpenIndexes = @as(i32, -1410);
pub const JET_errMultiValuedIndexViolation = @as(i32, -1411);
pub const JET_errIndexBuildCorrupted = @as(i32, -1412);
pub const JET_errPrimaryIndexCorrupted = @as(i32, -1413);
pub const JET_errSecondaryIndexCorrupted = @as(i32, -1414);
pub const JET_wrnCorruptIndexDeleted = @as(u32, 1415);
pub const JET_errInvalidIndexId = @as(i32, -1416);
pub const JET_wrnPrimaryIndexOutOfDate = @as(u32, 1417);
pub const JET_wrnSecondaryIndexOutOfDate = @as(u32, 1418);
pub const JET_errIndexTuplesSecondaryIndexOnly = @as(i32, -1430);
pub const JET_errIndexTuplesTooManyColumns = @as(i32, -1431);
pub const JET_errIndexTuplesOneColumnOnly = @as(i32, -1431);
pub const JET_errIndexTuplesNonUniqueOnly = @as(i32, -1432);
pub const JET_errIndexTuplesTextBinaryColumnsOnly = @as(i32, -1433);
pub const JET_errIndexTuplesTextColumnsOnly = @as(i32, -1433);
pub const JET_errIndexTuplesVarSegMacNotAllowed = @as(i32, -1434);
pub const JET_errIndexTuplesInvalidLimits = @as(i32, -1435);
pub const JET_errIndexTuplesCannotRetrieveFromIndex = @as(i32, -1436);
pub const JET_errIndexTuplesKeyTooSmall = @as(i32, -1437);
pub const JET_errInvalidLVChunkSize = @as(i32, -1438);
pub const JET_errColumnCannotBeEncrypted = @as(i32, -1439);
pub const JET_errCannotIndexOnEncryptedColumn = @as(i32, -1440);
pub const JET_errColumnLong = @as(i32, -1501);
pub const JET_errColumnNoChunk = @as(i32, -1502);
pub const JET_errColumnDoesNotFit = @as(i32, -1503);
pub const JET_errNullInvalid = @as(i32, -1504);
pub const JET_errColumnIndexed = @as(i32, -1505);
pub const JET_errColumnTooBig = @as(i32, -1506);
pub const JET_errColumnNotFound = @as(i32, -1507);
pub const JET_errColumnDuplicate = @as(i32, -1508);
pub const JET_errMultiValuedColumnMustBeTagged = @as(i32, -1509);
pub const JET_errColumnRedundant = @as(i32, -1510);
pub const JET_errInvalidColumnType = @as(i32, -1511);
pub const JET_wrnColumnMaxTruncated = @as(u32, 1512);
pub const JET_errTaggedNotNULL = @as(i32, -1514);
pub const JET_errNoCurrentIndex = @as(i32, -1515);
pub const JET_errKeyIsMade = @as(i32, -1516);
pub const JET_errBadColumnId = @as(i32, -1517);
pub const JET_errBadItagSequence = @as(i32, -1518);
pub const JET_errColumnInRelationship = @as(i32, -1519);
pub const JET_wrnCopyLongValue = @as(u32, 1520);
pub const JET_errCannotBeTagged = @as(i32, -1521);
pub const JET_errDefaultValueTooBig = @as(i32, -1524);
pub const JET_errMultiValuedDuplicate = @as(i32, -1525);
pub const JET_errLVCorrupted = @as(i32, -1526);
pub const JET_errMultiValuedDuplicateAfterTruncation = @as(i32, -1528);
pub const JET_errDerivedColumnCorruption = @as(i32, -1529);
pub const JET_errInvalidPlaceholderColumn = @as(i32, -1530);
pub const JET_wrnColumnSkipped = @as(u32, 1531);
pub const JET_wrnColumnNotLocal = @as(u32, 1532);
pub const JET_wrnColumnMoreTags = @as(u32, 1533);
pub const JET_wrnColumnTruncated = @as(u32, 1534);
pub const JET_wrnColumnPresent = @as(u32, 1535);
pub const JET_wrnColumnSingleValue = @as(u32, 1536);
pub const JET_wrnColumnDefault = @as(u32, 1537);
pub const JET_errColumnCannotBeCompressed = @as(i32, -1538);
pub const JET_wrnColumnNotInRecord = @as(u32, 1539);
pub const JET_errColumnNoEncryptionKey = @as(i32, -1540);
pub const JET_wrnColumnReference = @as(u32, 1541);
pub const JET_errRecordNotFound = @as(i32, -1601);
pub const JET_errRecordNoCopy = @as(i32, -1602);
pub const JET_errNoCurrentRecord = @as(i32, -1603);
pub const JET_errRecordPrimaryChanged = @as(i32, -1604);
pub const JET_errKeyDuplicate = @as(i32, -1605);
pub const JET_errAlreadyPrepared = @as(i32, -1607);
pub const JET_errKeyNotMade = @as(i32, -1608);
pub const JET_errUpdateNotPrepared = @as(i32, -1609);
pub const JET_wrnDataHasChanged = @as(u32, 1610);
pub const JET_errDataHasChanged = @as(i32, -1611);
pub const JET_wrnKeyChanged = @as(u32, 1618);
pub const JET_errLanguageNotSupported = @as(i32, -1619);
pub const JET_errDecompressionFailed = @as(i32, -1620);
pub const JET_errUpdateMustVersion = @as(i32, -1621);
pub const JET_errDecryptionFailed = @as(i32, -1622);
pub const JET_errEncryptionBadItag = @as(i32, -1623);
pub const JET_errTooManySorts = @as(i32, -1701);
pub const JET_errInvalidOnSort = @as(i32, -1702);
pub const JET_errTempFileOpenError = @as(i32, -1803);
pub const JET_errTooManyAttachedDatabases = @as(i32, -1805);
pub const JET_errDiskFull = @as(i32, -1808);
pub const JET_errPermissionDenied = @as(i32, -1809);
pub const JET_errFileNotFound = @as(i32, -1811);
pub const JET_errFileInvalidType = @as(i32, -1812);
pub const JET_wrnFileOpenReadOnly = @as(u32, 1813);
pub const JET_errFileAlreadyExists = @as(i32, -1814);
pub const JET_errAfterInitialization = @as(i32, -1850);
pub const JET_errLogCorrupted = @as(i32, -1852);
pub const JET_errInvalidOperation = @as(i32, -1906);
pub const JET_errAccessDenied = @as(i32, -1907);
pub const JET_wrnIdleFull = @as(u32, 1908);
pub const JET_errTooManySplits = @as(i32, -1909);
pub const JET_errSessionSharingViolation = @as(i32, -1910);
pub const JET_errEntryPointNotFound = @as(i32, -1911);
pub const JET_errSessionContextAlreadySet = @as(i32, -1912);
pub const JET_errSessionContextNotSetByThisThread = @as(i32, -1913);
pub const JET_errSessionInUse = @as(i32, -1914);
pub const JET_errRecordFormatConversionFailed = @as(i32, -1915);
pub const JET_errOneDatabasePerSession = @as(i32, -1916);
pub const JET_errRollbackError = @as(i32, -1917);
pub const JET_errFlushMapVersionUnsupported = @as(i32, -1918);
pub const JET_errFlushMapDatabaseMismatch = @as(i32, -1919);
pub const JET_errFlushMapUnrecoverable = @as(i32, -1920);
pub const JET_wrnDefragAlreadyRunning = @as(u32, 2000);
pub const JET_wrnDefragNotRunning = @as(u32, 2001);
pub const JET_errDatabaseAlreadyRunningMaintenance = @as(i32, -2004);
pub const JET_wrnCallbackNotRegistered = @as(u32, 2100);
pub const JET_errCallbackFailed = @as(i32, -2101);
pub const JET_errCallbackNotResolved = @as(i32, -2102);
pub const JET_errSpaceHintsInvalid = @as(i32, -2103);
pub const JET_errOSSnapshotInvalidSequence = @as(i32, -2401);
pub const JET_errOSSnapshotTimeOut = @as(i32, -2402);
pub const JET_errOSSnapshotNotAllowed = @as(i32, -2403);
pub const JET_errOSSnapshotInvalidSnapId = @as(i32, -2404);
pub const JET_errLSCallbackNotSpecified = @as(i32, -3000);
pub const JET_errLSAlreadySet = @as(i32, -3001);
pub const JET_errLSNotSet = @as(i32, -3002);
pub const JET_errFileIOSparse = @as(i32, -4000);
pub const JET_errFileIOBeyondEOF = @as(i32, -4001);
pub const JET_errFileIOAbort = @as(i32, -4002);
pub const JET_errFileIORetry = @as(i32, -4003);
pub const JET_errFileIOFail = @as(i32, -4004);
pub const JET_errFileCompressed = @as(i32, -4005);
pub const JET_BASE_NAME_LENGTH = @as(u32, 3);
pub const JET_bitDumpMinimum = @as(u32, 1);
pub const JET_bitDumpMaximum = @as(u32, 2);
pub const JET_bitDumpCacheMinimum = @as(u32, 4);
pub const JET_bitDumpCacheMaximum = @as(u32, 8);
pub const JET_bitDumpCacheIncludeDirtyPages = @as(u32, 16);
pub const JET_bitDumpCacheIncludeCachedPages = @as(u32, 32);
pub const JET_bitDumpCacheIncludeCorruptedPages = @as(u32, 64);
pub const JET_bitDumpCacheNoDecommit = @as(u32, 128);

//--------------------------------------------------------------------------------
// Section: Types (95)
//--------------------------------------------------------------------------------
pub const JET_OSSNAPID = usize;

pub const JET_LS = usize;

pub const JET_PFNSTATUS = switch (@import("builtin").zig_backend) {
    .stage1 => fn (
        sesid: ?JET_SESID,
        snp: u32,
        snt: u32,
        pv: ?*anyopaque,
    ) callconv(@import("std").os.windows.WINAPI) i32,
    else => *const fn (
        sesid: ?JET_SESID,
        snp: u32,
        snt: u32,
        pv: ?*anyopaque,
    ) callconv(@import("std").os.windows.WINAPI) i32,
};

pub const JET_RSTMAP_A = extern struct {
    szDatabaseName: ?PSTR,
    szNewDatabaseName: ?PSTR,
};

pub const JET_RSTMAP_W = extern struct {
    szDatabaseName: ?PWSTR,
    szNewDatabaseName: ?PWSTR,
};

pub const CONVERT_A = extern struct {
    szOldDll: ?PSTR,
    Anonymous: extern union {
        fFlags: u32,
        Anonymous: extern struct {
            _bitfield: u32,
        },
    },
};

pub const CONVERT_W = extern struct {
    szOldDll: ?PWSTR,
    Anonymous: extern union {
        fFlags: u32,
        Anonymous: extern struct {
            _bitfield: u32,
        },
    },
};

pub const JET_CALLBACK = switch (@import("builtin").zig_backend) {
    .stage1 => fn (
        sesid: ?JET_SESID,
        dbid: u32,
        tableid: JET_TABLEID,
        cbtyp: u32,
        pvArg1: ?*anyopaque,
        pvArg2: ?*anyopaque,
        pvContext: ?*anyopaque,
        ulUnused: JET_API_PTR,
    ) callconv(@import("std").os.windows.WINAPI) i32,
    else => *const fn (
        sesid: ?JET_SESID,
        dbid: u32,
        tableid: JET_TABLEID,
        cbtyp: u32,
        pvArg1: ?*anyopaque,
        pvArg2: ?*anyopaque,
        pvContext: ?*anyopaque,
        ulUnused: JET_API_PTR,
    ) callconv(@import("std").os.windows.WINAPI) i32,
};

pub const JET_SNPROG = extern struct {
    cbStruct: u32,
    cunitDone: u32,
    cunitTotal: u32,
};

pub const JET_DBINFOUPGRADE = extern struct {
    cbStruct: u32,
    cbFilesizeLow: u32,
    cbFilesizeHigh: u32,
    cbFreeSpaceRequiredLow: u32,
    cbFreeSpaceRequiredHigh: u32,
    csecToUpgrade: u32,
    Anonymous: extern union {
        ulFlags: u32,
        Anonymous: extern struct {
            _bitfield: u32,
        },
    },
};

pub const JET_OBJECTLIST = extern struct {
    cbStruct: u32,
    tableid: JET_TABLEID,
    cRecord: u32,
    columnidcontainername: u32,
    columnidobjectname: u32,
    columnidobjtyp: u32,
    columniddtCreate: u32,
    columniddtUpdate: u32,
    columnidgrbit: u32,
    columnidflags: u32,
    columnidcRecord: u32,
    columnidcPage: u32,
};

pub const JET_COLUMNLIST = extern struct {
    cbStruct: u32,
    tableid: JET_TABLEID,
    cRecord: u32,
    columnidPresentationOrder: u32,
    columnidcolumnname: u32,
    columnidcolumnid: u32,
    columnidcoltyp: u32,
    columnidCountry: u32,
    columnidLangid: u32,
    columnidCp: u32,
    columnidCollate: u32,
    columnidcbMax: u32,
    columnidgrbit: u32,
    columnidDefault: u32,
    columnidBaseTableName: u32,
    columnidBaseColumnName: u32,
    columnidDefinitionName: u32,
};

pub const JET_COLUMNDEF = extern struct {
    cbStruct: u32,
    columnid: u32,
    coltyp: u32,
    wCountry: u16,
    langid: u16,
    cp: u16,
    wCollate: u16,
    cbMax: u32,
    grbit: u32,
};

pub const JET_COLUMNBASE_A = extern struct {
    cbStruct: u32,
    columnid: u32,
    coltyp: u32,
    wCountry: u16,
    langid: u16,
    cp: u16,
    wFiller: u16,
    cbMax: u32,
    grbit: u32,
    szBaseTableName: [256]CHAR,
    szBaseColumnName: [256]CHAR,
};

pub const JET_COLUMNBASE_W = extern struct {
    cbStruct: u32,
    columnid: u32,
    coltyp: u32,
    wCountry: u16,
    langid: u16,
    cp: u16,
    wFiller: u16,
    cbMax: u32,
    grbit: u32,
    szBaseTableName: [256]u16,
    szBaseColumnName: [256]u16,
};

pub const JET_INDEXLIST = extern struct {
    cbStruct: u32,
    tableid: JET_TABLEID,
    cRecord: u32,
    columnidindexname: u32,
    columnidgrbitIndex: u32,
    columnidcKey: u32,
    columnidcEntry: u32,
    columnidcPage: u32,
    columnidcColumn: u32,
    columnidiColumn: u32,
    columnidcolumnid: u32,
    columnidcoltyp: u32,
    columnidCountry: u32,
    columnidLangid: u32,
    columnidCp: u32,
    columnidCollate: u32,
    columnidgrbitColumn: u32,
    columnidcolumnname: u32,
    columnidLCMapFlags: u32,
};

pub const JET_COLUMNCREATE_A = extern struct {
    cbStruct: u32,
    szColumnName: ?PSTR,
    coltyp: u32,
    cbMax: u32,
    grbit: u32,
    pvDefault: ?*anyopaque,
    cbDefault: u32,
    cp: u32,
    columnid: u32,
    err: i32,
};

pub const JET_COLUMNCREATE_W = extern struct {
    cbStruct: u32,
    szColumnName: ?PWSTR,
    coltyp: u32,
    cbMax: u32,
    grbit: u32,
    pvDefault: ?*anyopaque,
    cbDefault: u32,
    cp: u32,
    columnid: u32,
    err: i32,
};

pub const JET_USERDEFINEDDEFAULT_A = extern struct {
    szCallback: ?PSTR,
    pbUserData: ?*u8,
    cbUserData: u32,
    szDependantColumns: ?PSTR,
};

pub const JET_USERDEFINEDDEFAULT_W = extern struct {
    szCallback: ?PWSTR,
    pbUserData: ?*u8,
    cbUserData: u32,
    szDependantColumns: ?PWSTR,
};

pub const JET_CONDITIONALCOLUMN_A = extern struct {
    cbStruct: u32,
    szColumnName: ?PSTR,
    grbit: u32,
};

pub const JET_CONDITIONALCOLUMN_W = extern struct {
    cbStruct: u32,
    szColumnName: ?PWSTR,
    grbit: u32,
};

pub const JET_UNICODEINDEX = extern struct {
    lcid: u32,
    dwMapFlags: u32,
};

pub const JET_UNICODEINDEX2 = extern struct {
    szLocaleName: ?PWSTR,
    dwMapFlags: u32,
};

pub const JET_TUPLELIMITS = extern struct {
    chLengthMin: u32,
    chLengthMax: u32,
    chToIndexMax: u32,
    cchIncrement: u32,
    ichStart: u32,
};

pub const JET_SPACEHINTS = extern struct {
    cbStruct: u32,
    ulInitialDensity: u32,
    cbInitial: u32,
    grbit: u32,
    ulMaintDensity: u32,
    ulGrowth: u32,
    cbMinExtent: u32,
    cbMaxExtent: u32,
};

pub const JET_INDEXCREATE_A = extern struct {
    cbStruct: u32,
    szIndexName: ?PSTR,
    szKey: ?PSTR,
    cbKey: u32,
    grbit: u32,
    ulDensity: u32,
    Anonymous1: extern union {
        lcid: u32,
        pidxunicode: ?*JET_UNICODEINDEX,
    },
    Anonymous2: extern union {
        cbVarSegMac: u32,
        ptuplelimits: ?*JET_TUPLELIMITS,
    },
    rgconditionalcolumn: ?*JET_CONDITIONALCOLUMN_A,
    cConditionalColumn: u32,
    err: i32,
    cbKeyMost: u32,
};

pub const JET_INDEXCREATE_W = extern struct {
    cbStruct: u32,
    szIndexName: ?PWSTR,
    szKey: ?PWSTR,
    cbKey: u32,
    grbit: u32,
    ulDensity: u32,
    Anonymous1: extern union {
        lcid: u32,
        pidxunicode: ?*JET_UNICODEINDEX,
    },
    Anonymous2: extern union {
        cbVarSegMac: u32,
        ptuplelimits: ?*JET_TUPLELIMITS,
    },
    rgconditionalcolumn: ?*JET_CONDITIONALCOLUMN_W,
    cConditionalColumn: u32,
    err: i32,
    cbKeyMost: u32,
};

pub const JET_INDEXCREATE2_A = extern struct {
    cbStruct: u32,
    szIndexName: ?PSTR,
    szKey: ?PSTR,
    cbKey: u32,
    grbit: u32,
    ulDensity: u32,
    Anonymous1: extern union {
        lcid: u32,
        pidxunicode: ?*JET_UNICODEINDEX,
    },
    Anonymous2: extern union {
        cbVarSegMac: u32,
        ptuplelimits: ?*JET_TUPLELIMITS,
    },
    rgconditionalcolumn: ?*JET_CONDITIONALCOLUMN_A,
    cConditionalColumn: u32,
    err: i32,
    cbKeyMost: u32,
    pSpacehints: ?*JET_SPACEHINTS,
};

pub const JET_INDEXCREATE2_W = extern struct {
    cbStruct: u32,
    szIndexName: ?PWSTR,
    szKey: ?PWSTR,
    cbKey: u32,
    grbit: u32,
    ulDensity: u32,
    Anonymous1: extern union {
        lcid: u32,
        pidxunicode: ?*JET_UNICODEINDEX,
    },
    Anonymous2: extern union {
        cbVarSegMac: u32,
        ptuplelimits: ?*JET_TUPLELIMITS,
    },
    rgconditionalcolumn: ?*JET_CONDITIONALCOLUMN_W,
    cConditionalColumn: u32,
    err: i32,
    cbKeyMost: u32,
    pSpacehints: ?*JET_SPACEHINTS,
};

pub const JET_INDEXCREATE3_A = extern struct {
    cbStruct: u32,
    szIndexName: ?PSTR,
    szKey: ?PSTR,
    cbKey: u32,
    grbit: u32,
    ulDensity: u32,
    pidxunicode: ?*JET_UNICODEINDEX2,
    Anonymous: extern union {
        cbVarSegMac: u32,
        ptuplelimits: ?*JET_TUPLELIMITS,
    },
    rgconditionalcolumn: ?*JET_CONDITIONALCOLUMN_A,
    cConditionalColumn: u32,
    err: i32,
    cbKeyMost: u32,
    pSpacehints: ?*JET_SPACEHINTS,
};

pub const JET_INDEXCREATE3_W = extern struct {
    cbStruct: u32,
    szIndexName: ?PWSTR,
    szKey: ?PWSTR,
    cbKey: u32,
    grbit: u32,
    ulDensity: u32,
    pidxunicode: ?*JET_UNICODEINDEX2,
    Anonymous: extern union {
        cbVarSegMac: u32,
        ptuplelimits: ?*JET_TUPLELIMITS,
    },
    rgconditionalcolumn: ?*JET_CONDITIONALCOLUMN_W,
    cConditionalColumn: u32,
    err: i32,
    cbKeyMost: u32,
    pSpacehints: ?*JET_SPACEHINTS,
};

pub const JET_TABLECREATE_A = extern struct {
    cbStruct: u32,
    szTableName: ?PSTR,
    szTemplateTableName: ?PSTR,
    ulPages: u32,
    ulDensity: u32,
    rgcolumncreate: ?*JET_COLUMNCREATE_A,
    cColumns: u32,
    rgindexcreate: ?*JET_INDEXCREATE_A,
    cIndexes: u32,
    grbit: u32,
    tableid: JET_TABLEID,
    cCreated: u32,
};

pub const JET_TABLECREATE_W = extern struct {
    cbStruct: u32,
    szTableName: ?PWSTR,
    szTemplateTableName: ?PWSTR,
    ulPages: u32,
    ulDensity: u32,
    rgcolumncreate: ?*JET_COLUMNCREATE_W,
    cColumns: u32,
    rgindexcreate: ?*JET_INDEXCREATE_W,
    cIndexes: u32,
    grbit: u32,
    tableid: JET_TABLEID,
    cCreated: u32,
};

pub const JET_TABLECREATE2_A = extern struct {
    cbStruct: u32,
    szTableName: ?PSTR,
    szTemplateTableName: ?PSTR,
    ulPages: u32,
    ulDensity: u32,
    rgcolumncreate: ?*JET_COLUMNCREATE_A,
    cColumns: u32,
    rgindexcreate: ?*JET_INDEXCREATE_A,
    cIndexes: u32,
    szCallback: ?PSTR,
    cbtyp: u32,
    grbit: u32,
    tableid: JET_TABLEID,
    cCreated: u32,
};

pub const JET_TABLECREATE2_W = extern struct {
    cbStruct: u32,
    szTableName: ?PWSTR,
    szTemplateTableName: ?PWSTR,
    ulPages: u32,
    ulDensity: u32,
    rgcolumncreate: ?*JET_COLUMNCREATE_W,
    cColumns: u32,
    rgindexcreate: ?*JET_INDEXCREATE_W,
    cIndexes: u32,
    szCallback: ?PWSTR,
    cbtyp: u32,
    grbit: u32,
    tableid: JET_TABLEID,
    cCreated: u32,
};

pub const JET_TABLECREATE3_A = extern struct {
    cbStruct: u32,
    szTableName: ?PSTR,
    szTemplateTableName: ?PSTR,
    ulPages: u32,
    ulDensity: u32,
    rgcolumncreate: ?*JET_COLUMNCREATE_A,
    cColumns: u32,
    rgindexcreate: ?*JET_INDEXCREATE2_A,
    cIndexes: u32,
    szCallback: ?PSTR,
    cbtyp: u32,
    grbit: u32,
    pSeqSpacehints: ?*JET_SPACEHINTS,
    pLVSpacehints: ?*JET_SPACEHINTS,
    cbSeparateLV: u32,
    tableid: JET_TABLEID,
    cCreated: u32,
};

pub const JET_TABLECREATE3_W = extern struct {
    cbStruct: u32,
    szTableName: ?PWSTR,
    szTemplateTableName: ?PWSTR,
    ulPages: u32,
    ulDensity: u32,
    rgcolumncreate: ?*JET_COLUMNCREATE_W,
    cColumns: u32,
    rgindexcreate: ?*JET_INDEXCREATE2_W,
    cIndexes: u32,
    szCallback: ?PWSTR,
    cbtyp: u32,
    grbit: u32,
    pSeqSpacehints: ?*JET_SPACEHINTS,
    pLVSpacehints: ?*JET_SPACEHINTS,
    cbSeparateLV: u32,
    tableid: JET_TABLEID,
    cCreated: u32,
};

pub const JET_TABLECREATE4_A = extern struct {
    cbStruct: u32,
    szTableName: ?PSTR,
    szTemplateTableName: ?PSTR,
    ulPages: u32,
    ulDensity: u32,
    rgcolumncreate: ?*JET_COLUMNCREATE_A,
    cColumns: u32,
    rgindexcreate: ?*JET_INDEXCREATE3_A,
    cIndexes: u32,
    szCallback: ?PSTR,
    cbtyp: u32,
    grbit: u32,
    pSeqSpacehints: ?*JET_SPACEHINTS,
    pLVSpacehints: ?*JET_SPACEHINTS,
    cbSeparateLV: u32,
    tableid: JET_TABLEID,
    cCreated: u32,
};

pub const JET_TABLECREATE4_W = extern struct {
    cbStruct: u32,
    szTableName: ?PWSTR,
    szTemplateTableName: ?PWSTR,
    ulPages: u32,
    ulDensity: u32,
    rgcolumncreate: ?*JET_COLUMNCREATE_W,
    cColumns: u32,
    rgindexcreate: ?*JET_INDEXCREATE3_W,
    cIndexes: u32,
    szCallback: ?PWSTR,
    cbtyp: u32,
    grbit: u32,
    pSeqSpacehints: ?*JET_SPACEHINTS,
    pLVSpacehints: ?*JET_SPACEHINTS,
    cbSeparateLV: u32,
    tableid: JET_TABLEID,
    cCreated: u32,
};

pub const JET_OPENTEMPORARYTABLE = extern struct {
    cbStruct: u32,
    prgcolumndef: ?*const JET_COLUMNDEF,
    ccolumn: u32,
    pidxunicode: ?*JET_UNICODEINDEX,
    grbit: u32,
    prgcolumnid: ?*u32,
    cbKeyMost: u32,
    cbVarSegMac: u32,
    tableid: JET_TABLEID,
};

pub const JET_OPENTEMPORARYTABLE2 = extern struct {
    cbStruct: u32,
    prgcolumndef: ?*const JET_COLUMNDEF,
    ccolumn: u32,
    pidxunicode: ?*JET_UNICODEINDEX2,
    grbit: u32,
    prgcolumnid: ?*u32,
    cbKeyMost: u32,
    cbVarSegMac: u32,
    tableid: JET_TABLEID,
};

pub const JET_RETINFO = extern struct {
    cbStruct: u32,
    ibLongValue: u32,
    itagSequence: u32,
    columnidNextTagged: u32,
};

pub const JET_SETINFO = extern struct {
    cbStruct: u32,
    ibLongValue: u32,
    itagSequence: u32,
};

pub const JET_RECPOS = extern struct {
    cbStruct: u32,
    centriesLT: u32,
    centriesInRange: u32,
    centriesTotal: u32,
};

pub const JET_RECORDLIST = extern struct {
    cbStruct: u32,
    tableid: JET_TABLEID,
    cRecord: u32,
    columnidBookmark: u32,
};

pub const JET_INDEXRANGE = extern struct {
    cbStruct: u32,
    tableid: JET_TABLEID,
    grbit: u32,
};

pub const JET_RELOP = enum(i32) {
    Equals = 0,
    PrefixEquals = 1,
    NotEquals = 2,
    LessThanOrEqual = 3,
    LessThan = 4,
    GreaterThanOrEqual = 5,
    GreaterThan = 6,
    BitmaskEqualsZero = 7,
    BitmaskNotEqualsZero = 8,
};
pub const JET_relopEquals = JET_RELOP.Equals;
pub const JET_relopPrefixEquals = JET_RELOP.PrefixEquals;
pub const JET_relopNotEquals = JET_RELOP.NotEquals;
pub const JET_relopLessThanOrEqual = JET_RELOP.LessThanOrEqual;
pub const JET_relopLessThan = JET_RELOP.LessThan;
pub const JET_relopGreaterThanOrEqual = JET_RELOP.GreaterThanOrEqual;
pub const JET_relopGreaterThan = JET_RELOP.GreaterThan;
pub const JET_relopBitmaskEqualsZero = JET_RELOP.BitmaskEqualsZero;
pub const JET_relopBitmaskNotEqualsZero = JET_RELOP.BitmaskNotEqualsZero;

pub const JET_INDEX_COLUMN = extern struct {
    columnid: u32,
    relop: JET_RELOP,
    pv: ?*anyopaque,
    cb: u32,
    grbit: u32,
};

pub const JET_INDEX_RANGE = extern struct {
    rgStartColumns: ?*JET_INDEX_COLUMN,
    cStartColumns: u32,
    rgEndColumns: ?*JET_INDEX_COLUMN,
    cEndColumns: u32,
};

pub const JET_LOGTIME = extern struct {
    bSeconds: CHAR,
    bMinutes: CHAR,
    bHours: CHAR,
    bDay: CHAR,
    bMonth: CHAR,
    bYear: CHAR,
    Anonymous1: extern union {
        bFiller1: CHAR,
        Anonymous: extern struct {
            _bitfield: u8,
        },
    },
    Anonymous2: extern union {
        bFiller2: CHAR,
        Anonymous: extern struct {
            _bitfield: u8,
        },
    },
};

pub const JET_BKLOGTIME = extern struct {
    bSeconds: CHAR,
    bMinutes: CHAR,
    bHours: CHAR,
    bDay: CHAR,
    bMonth: CHAR,
    bYear: CHAR,
    Anonymous1: extern union {
        bFiller1: CHAR,
        Anonymous: extern struct {
            _bitfield: u8,
        },
    },
    Anonymous2: extern union {
        bFiller2: CHAR,
        Anonymous: extern struct {
            _bitfield: u8,
        },
    },
};

pub const JET_LGPOS = extern struct {
    ib: u16 align(1),
    isec: u16 align(1),
    lGeneration: i32 align(1),
};

pub const JET_SIGNATURE = extern struct {
    ulRandom: u32 align(1),
    logtimeCreate: JET_LOGTIME align(1),
    szComputerName: [16]CHAR align(1),
};

pub const JET_BKINFO = extern struct {
    lgposMark: JET_LGPOS align(1),
    Anonymous: extern union {
        logtimeMark: JET_LOGTIME,
        bklogtimeMark: JET_BKLOGTIME,
    } align(1),
    genLow: u32 align(1),
    genHigh: u32 align(1),
};

pub const JET_DBINFOMISC = extern struct {
    ulVersion: u32,
    ulUpdate: u32,
    signDb: JET_SIGNATURE,
    dbstate: u32,
    lgposConsistent: JET_LGPOS,
    logtimeConsistent: JET_LOGTIME,
    logtimeAttach: JET_LOGTIME,
    lgposAttach: JET_LGPOS,
    logtimeDetach: JET_LOGTIME,
    lgposDetach: JET_LGPOS,
    signLog: JET_SIGNATURE,
    bkinfoFullPrev: JET_BKINFO,
    bkinfoIncPrev: JET_BKINFO,
    bkinfoFullCur: JET_BKINFO,
    fShadowingDisabled: u32,
    fUpgradeDb: u32,
    dwMajorVersion: u32,
    dwMinorVersion: u32,
    dwBuildNumber: u32,
    lSPNumber: i32,
    cbPageSize: u32,
};

pub const JET_DBINFOMISC2 = extern struct {
    ulVersion: u32,
    ulUpdate: u32,
    signDb: JET_SIGNATURE,
    dbstate: u32,
    lgposConsistent: JET_LGPOS,
    logtimeConsistent: JET_LOGTIME,
    logtimeAttach: JET_LOGTIME,
    lgposAttach: JET_LGPOS,
    logtimeDetach: JET_LOGTIME,
    lgposDetach: JET_LGPOS,
    signLog: JET_SIGNATURE,
    bkinfoFullPrev: JET_BKINFO,
    bkinfoIncPrev: JET_BKINFO,
    bkinfoFullCur: JET_BKINFO,
    fShadowingDisabled: u32,
    fUpgradeDb: u32,
    dwMajorVersion: u32,
    dwMinorVersion: u32,
    dwBuildNumber: u32,
    lSPNumber: i32,
    cbPageSize: u32,
    genMinRequired: u32,
    genMaxRequired: u32,
    logtimeGenMaxCreate: JET_LOGTIME,
    ulRepairCount: u32,
    logtimeRepair: JET_LOGTIME,
    ulRepairCountOld: u32,
    ulECCFixSuccess: u32,
    logtimeECCFixSuccess: JET_LOGTIME,
    ulECCFixSuccessOld: u32,
    ulECCFixFail: u32,
    logtimeECCFixFail: JET_LOGTIME,
    ulECCFixFailOld: u32,
    ulBadChecksum: u32,
    logtimeBadChecksum: JET_LOGTIME,
    ulBadChecksumOld: u32,
};

pub const JET_DBINFOMISC3 = extern struct {
    ulVersion: u32,
    ulUpdate: u32,
    signDb: JET_SIGNATURE,
    dbstate: u32,
    lgposConsistent: JET_LGPOS,
    logtimeConsistent: JET_LOGTIME,
    logtimeAttach: JET_LOGTIME,
    lgposAttach: JET_LGPOS,
    logtimeDetach: JET_LOGTIME,
    lgposDetach: JET_LGPOS,
    signLog: JET_SIGNATURE,
    bkinfoFullPrev: JET_BKINFO,
    bkinfoIncPrev: JET_BKINFO,
    bkinfoFullCur: JET_BKINFO,
    fShadowingDisabled: u32,
    fUpgradeDb: u32,
    dwMajorVersion: u32,
    dwMinorVersion: u32,
    dwBuildNumber: u32,
    lSPNumber: i32,
    cbPageSize: u32,
    genMinRequired: u32,
    genMaxRequired: u32,
    logtimeGenMaxCreate: JET_LOGTIME,
    ulRepairCount: u32,
    logtimeRepair: JET_LOGTIME,
    ulRepairCountOld: u32,
    ulECCFixSuccess: u32,
    logtimeECCFixSuccess: JET_LOGTIME,
    ulECCFixSuccessOld: u32,
    ulECCFixFail: u32,
    logtimeECCFixFail: JET_LOGTIME,
    ulECCFixFailOld: u32,
    ulBadChecksum: u32,
    logtimeBadChecksum: JET_LOGTIME,
    ulBadChecksumOld: u32,
    genCommitted: u32,
};

pub const JET_DBINFOMISC4 = extern struct {
    ulVersion: u32,
    ulUpdate: u32,
    signDb: JET_SIGNATURE,
    dbstate: u32,
    lgposConsistent: JET_LGPOS,
    logtimeConsistent: JET_LOGTIME,
    logtimeAttach: JET_LOGTIME,
    lgposAttach: JET_LGPOS,
    logtimeDetach: JET_LOGTIME,
    lgposDetach: JET_LGPOS,
    signLog: JET_SIGNATURE,
    bkinfoFullPrev: JET_BKINFO,
    bkinfoIncPrev: JET_BKINFO,
    bkinfoFullCur: JET_BKINFO,
    fShadowingDisabled: u32,
    fUpgradeDb: u32,
    dwMajorVersion: u32,
    dwMinorVersion: u32,
    dwBuildNumber: u32,
    lSPNumber: i32,
    cbPageSize: u32,
    genMinRequired: u32,
    genMaxRequired: u32,
    logtimeGenMaxCreate: JET_LOGTIME,
    ulRepairCount: u32,
    logtimeRepair: JET_LOGTIME,
    ulRepairCountOld: u32,
    ulECCFixSuccess: u32,
    logtimeECCFixSuccess: JET_LOGTIME,
    ulECCFixSuccessOld: u32,
    ulECCFixFail: u32,
    logtimeECCFixFail: JET_LOGTIME,
    ulECCFixFailOld: u32,
    ulBadChecksum: u32,
    logtimeBadChecksum: JET_LOGTIME,
    ulBadChecksumOld: u32,
    genCommitted: u32,
    bkinfoCopyPrev: JET_BKINFO,
    bkinfoDiffPrev: JET_BKINFO,
};

pub const JET_THREADSTATS = extern struct {
    cbStruct: u32,
    cPageReferenced: u32,
    cPageRead: u32,
    cPagePreread: u32,
    cPageDirtied: u32,
    cPageRedirtied: u32,
    cLogRecord: u32,
    cbLogRecord: u32,
};

pub const JET_RSTINFO_A = extern struct {
    cbStruct: u32,
    rgrstmap: ?*JET_RSTMAP_A,
    crstmap: i32,
    lgposStop: JET_LGPOS,
    logtimeStop: JET_LOGTIME,
    pfnStatus: ?JET_PFNSTATUS,
};

pub const JET_RSTINFO_W = extern struct {
    cbStruct: u32,
    rgrstmap: ?*JET_RSTMAP_W,
    crstmap: i32,
    lgposStop: JET_LGPOS,
    logtimeStop: JET_LOGTIME,
    pfnStatus: ?JET_PFNSTATUS,
};

pub const JET_ERRCAT = enum(i32) {
    Unknown = 0,
    Error = 1,
    Operation = 2,
    Fatal = 3,
    IO = 4,
    Resource = 5,
    Memory = 6,
    Quota = 7,
    Disk = 8,
    Data = 9,
    Corruption = 10,
    Inconsistent = 11,
    Fragmentation = 12,
    Api = 13,
    Usage = 14,
    State = 15,
    Obsolete = 16,
    Max = 17,
};
pub const JET_errcatUnknown = JET_ERRCAT.Unknown;
pub const JET_errcatError = JET_ERRCAT.Error;
pub const JET_errcatOperation = JET_ERRCAT.Operation;
pub const JET_errcatFatal = JET_ERRCAT.Fatal;
pub const JET_errcatIO = JET_ERRCAT.IO;
pub const JET_errcatResource = JET_ERRCAT.Resource;
pub const JET_errcatMemory = JET_ERRCAT.Memory;
pub const JET_errcatQuota = JET_ERRCAT.Quota;
pub const JET_errcatDisk = JET_ERRCAT.Disk;
pub const JET_errcatData = JET_ERRCAT.Data;
pub const JET_errcatCorruption = JET_ERRCAT.Corruption;
pub const JET_errcatInconsistent = JET_ERRCAT.Inconsistent;
pub const JET_errcatFragmentation = JET_ERRCAT.Fragmentation;
pub const JET_errcatApi = JET_ERRCAT.Api;
pub const JET_errcatUsage = JET_ERRCAT.Usage;
pub const JET_errcatState = JET_ERRCAT.State;
pub const JET_errcatObsolete = JET_ERRCAT.Obsolete;
pub const JET_errcatMax = JET_ERRCAT.Max;

pub const JET_ERRINFOBASIC_W = extern struct {
    cbStruct: u32,
    errValue: i32,
    errcatMostSpecific: JET_ERRCAT,
    rgCategoricalHierarchy: [8]u8,
    lSourceLine: u32,
    rgszSourceFile: [64]u16,
};

pub const JET_PFNDURABLECOMMITCALLBACK = switch (@import("builtin").zig_backend) {
    .stage1 => fn (
        instance: JET_INSTANCE,
        pCommitIdSeen: ?*JET_COMMIT_ID,
        grbit: u32,
    ) callconv(@import("std").os.windows.WINAPI) i32,
    else => *const fn (
        instance: JET_INSTANCE,
        pCommitIdSeen: ?*JET_COMMIT_ID,
        grbit: u32,
    ) callconv(@import("std").os.windows.WINAPI) i32,
};

pub const JET_INDEXCHECKING = enum(i32) {
    Off = 0,
    On = 1,
    DeferToOpenTable = 2,
    Max = 3,
};
pub const JET_IndexCheckingOff = JET_INDEXCHECKING.Off;
pub const JET_IndexCheckingOn = JET_INDEXCHECKING.On;
pub const JET_IndexCheckingDeferToOpenTable = JET_INDEXCHECKING.DeferToOpenTable;
pub const JET_IndexCheckingMax = JET_INDEXCHECKING.Max;

pub const JET_OPERATIONCONTEXT = extern struct {
    ulUserID: u32,
    nOperationID: u8,
    nOperationType: u8,
    nClientType: u8,
    fFlags: u8,
};

pub const JET_SETCOLUMN = extern struct {
    columnid: u32,
    pvData: ?*const anyopaque,
    cbData: u32,
    grbit: u32,
    ibLongValue: u32,
    itagSequence: u32,
    err: i32,
};

pub const JET_SETSYSPARAM_A = extern struct {
    paramid: u32,
    lParam: JET_API_PTR,
    sz: ?[*:0]const u8,
    err: i32,
};

pub const JET_SETSYSPARAM_W = extern struct {
    paramid: u32,
    lParam: JET_API_PTR,
    sz: ?[*:0]const u16,
    err: i32,
};

pub const JET_RETRIEVECOLUMN = extern struct {
    columnid: u32,
    pvData: ?*anyopaque,
    cbData: u32,
    cbActual: u32,
    grbit: u32,
    ibLongValue: u32,
    itagSequence: u32,
    columnidNextTagged: u32,
    err: i32,
};

pub const JET_ENUMCOLUMNID = extern struct {
    columnid: u32,
    ctagSequence: u32,
    rgtagSequence: ?*u32,
};

pub const JET_ENUMCOLUMNVALUE = extern struct {
    itagSequence: u32,
    err: i32,
    cbData: u32,
    pvData: ?*anyopaque,
};

pub const JET_ENUMCOLUMN = extern struct {
    columnid: u32,
    err: i32,
    Anonymous: extern union {
        Anonymous1: extern struct {
            cEnumColumnValue: u32,
            rgEnumColumnValue: ?*JET_ENUMCOLUMNVALUE,
        },
        Anonymous2: extern struct {
            cbData: u32,
            pvData: ?*anyopaque,
        },
    },
};

pub const JET_PFNREALLOC = switch (@import("builtin").zig_backend) {
    .stage1 => fn (
        pvContext: ?*anyopaque,
        pv: ?*anyopaque,
        cb: u32,
    ) callconv(@import("std").os.windows.WINAPI) ?*anyopaque,
    else => *const fn (
        pvContext: ?*anyopaque,
        pv: ?*anyopaque,
        cb: u32,
    ) callconv(@import("std").os.windows.WINAPI) ?*anyopaque,
};

pub const JET_LOGINFO_A = extern struct {
    cbSize: u32,
    ulGenLow: u32,
    ulGenHigh: u32,
    szBaseName: [4]CHAR,
};

pub const JET_LOGINFO_W = extern struct {
    cbSize: u32,
    ulGenLow: u32,
    ulGenHigh: u32,
    szBaseName: [4]u16,
};

pub const JET_INSTANCE_INFO_A = extern struct {
    hInstanceId: JET_INSTANCE,
    szInstanceName: ?PSTR,
    cDatabases: JET_API_PTR,
    szDatabaseFileName: ?*?*i8,
    szDatabaseDisplayName: ?*?*i8,
    szDatabaseSLVFileName_Obsolete: ?*?*i8,
};

pub const JET_INSTANCE_INFO_W = extern struct {
    hInstanceId: JET_INSTANCE,
    szInstanceName: ?PWSTR,
    cDatabases: JET_API_PTR,
    szDatabaseFileName: ?*?*u16,
    szDatabaseDisplayName: ?*?*u16,
    szDatabaseSLVFileName_Obsolete: ?*?*u16,
};

pub const JET_INDEXID = switch (@import("../zig.zig").arch) {
    .X64, .Arm64 => extern struct {
        cbStruct: u32,
        rgbIndexId: [16]u8,
    },
    .X86 => extern struct {
        cbStruct: u32,
        rgbIndexId: [12]u8,
    },
};
pub const JET_OBJECTINFO = switch (@import("../zig.zig").arch) {
    .X64, .Arm64 => extern struct {
        cbStruct: u32,
        objtyp: u32,
        dtCreate: f64,
        dtUpdate: f64,
        grbit: u32,
        flags: u32,
        cRecord: u32,
        cPage: u32,
    },
    .X86 => extern struct {
        cbStruct: u32 align(4),
        objtyp: u32 align(4),
        dtCreate: f64 align(4),
        dtUpdate: f64 align(4),
        grbit: u32 align(4),
        flags: u32 align(4),
        cRecord: u32 align(4),
        cPage: u32 align(4),
    },
};
pub const JET_THREADSTATS2 = switch (@import("../zig.zig").arch) {
    .X64, .Arm64 => extern struct {
        cbStruct: u32,
        cPageReferenced: u32,
        cPageRead: u32,
        cPagePreread: u32,
        cPageDirtied: u32,
        cPageRedirtied: u32,
        cLogRecord: u32,
        cbLogRecord: u32,
        cusecPageCacheMiss: u64,
        cPageCacheMiss: u32,
    },
    .X86 => extern struct {
        cbStruct: u32 align(4),
        cPageReferenced: u32 align(4),
        cPageRead: u32 align(4),
        cPagePreread: u32 align(4),
        cPageDirtied: u32 align(4),
        cPageRedirtied: u32 align(4),
        cLogRecord: u32 align(4),
        cbLogRecord: u32 align(4),
        cusecPageCacheMiss: u64 align(4),
        cPageCacheMiss: u32 align(4),
    },
};
pub const JET_COMMIT_ID = switch (@import("../zig.zig").arch) {
    .X64, .Arm64 => extern struct {
        signLog: JET_SIGNATURE,
        reserved: i32,
        commitId: i64,
    },
    .X86 => extern struct {
        signLog: JET_SIGNATURE align(4),
        reserved: i32 align(4),
        commitId: i64 align(4),
    },
};
pub const JET_RBSINFOMISC = switch (@import("../zig.zig").arch) {
    .X64, .Arm64 => extern struct {
        lRBSGeneration: i32,
        logtimeCreate: JET_LOGTIME,
        logtimeCreatePrevRBS: JET_LOGTIME,
        ulMajor: u32,
        ulMinor: u32,
        cbLogicalFileSize: u64,
    },
    .X86 => extern struct {
        lRBSGeneration: i32 align(4),
        logtimeCreate: JET_LOGTIME align(4),
        logtimeCreatePrevRBS: JET_LOGTIME align(4),
        ulMajor: u32 align(4),
        ulMinor: u32 align(4),
        cbLogicalFileSize: u64 align(4),
    },
};
pub const JET_RBSREVERTINFOMISC = switch (@import("../zig.zig").arch) {
    .X64, .Arm64 => extern struct {
        lGenMinRevertStart: i32,
        lGenMaxRevertStart: i32,
        lGenMinRevertEnd: i32,
        lGenMaxRevertEnd: i32,
        logtimeRevertFrom: JET_LOGTIME,
        cSecRevert: u64,
        cPagesReverted: u64,
    },
    .X86 => extern struct {
        lGenMinRevertStart: i32 align(4),
        lGenMaxRevertStart: i32 align(4),
        lGenMinRevertEnd: i32 align(4),
        lGenMaxRevertEnd: i32 align(4),
        logtimeRevertFrom: JET_LOGTIME align(4),
        cSecRevert: u64 align(4),
        cPagesReverted: u64 align(4),
    },
};
pub const JET_RECSIZE = switch (@import("../zig.zig").arch) {
    .X64, .Arm64 => extern struct {
        cbData: u64,
        cbLongValueData: u64,
        cbOverhead: u64,
        cbLongValueOverhead: u64,
        cNonTaggedColumns: u64,
        cTaggedColumns: u64,
        cLongValues: u64,
        cMultiValues: u64,
    },
    .X86 => extern struct {
        cbData: u64 align(4),
        cbLongValueData: u64 align(4),
        cbOverhead: u64 align(4),
        cbLongValueOverhead: u64 align(4),
        cNonTaggedColumns: u64 align(4),
        cTaggedColumns: u64 align(4),
        cLongValues: u64 align(4),
        cMultiValues: u64 align(4),
    },
};
pub const JET_RECSIZE2 = switch (@import("../zig.zig").arch) {
    .X64, .Arm64 => extern struct {
        cbData: u64,
        cbLongValueData: u64,
        cbOverhead: u64,
        cbLongValueOverhead: u64,
        cNonTaggedColumns: u64,
        cTaggedColumns: u64,
        cLongValues: u64,
        cMultiValues: u64,
        cCompressedColumns: u64,
        cbDataCompressed: u64,
        cbLongValueDataCompressed: u64,
    },
    .X86 => extern struct {
        cbData: u64 align(4),
        cbLongValueData: u64 align(4),
        cbOverhead: u64 align(4),
        cbLongValueOverhead: u64 align(4),
        cNonTaggedColumns: u64 align(4),
        cTaggedColumns: u64 align(4),
        cLongValues: u64 align(4),
        cMultiValues: u64 align(4),
        cCompressedColumns: u64 align(4),
        cbDataCompressed: u64 align(4),
        cbLongValueDataCompressed: u64 align(4),
    },
};

//--------------------------------------------------------------------------------
// Section: Functions (229)
//--------------------------------------------------------------------------------
pub extern "esent" fn JetInit(
    pinstance: ?*JET_INSTANCE,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetInit2(
    pinstance: ?*JET_INSTANCE,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetInit3A(
    pinstance: ?*JET_INSTANCE,
    prstInfo: ?*JET_RSTINFO_A,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetInit3W(
    pinstance: ?*JET_INSTANCE,
    prstInfo: ?*JET_RSTINFO_W,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetCreateInstanceA(
    pinstance: ?*JET_INSTANCE,
    szInstanceName: ?*i8,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetCreateInstanceW(
    pinstance: ?*JET_INSTANCE,
    szInstanceName: ?*u16,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetCreateInstance2A(
    pinstance: ?*JET_INSTANCE,
    szInstanceName: ?*i8,
    szDisplayName: ?*i8,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetCreateInstance2W(
    pinstance: ?*JET_INSTANCE,
    szInstanceName: ?*u16,
    szDisplayName: ?*u16,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetInstanceMiscInfo(
    instance: JET_INSTANCE,
    // TODO: what to do with BytesParamIndex 2?
    pvResult: ?*anyopaque,
    cbMax: u32,
    InfoLevel: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetTerm(
    instance: JET_INSTANCE,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetTerm2(
    instance: JET_INSTANCE,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetStopService() callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetStopServiceInstance(
    instance: JET_INSTANCE,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetStopServiceInstance2(
    instance: JET_INSTANCE,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetStopBackup() callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetStopBackupInstance(
    instance: JET_INSTANCE,
) callconv(@import("std").os.windows.WINAPI) i32;

// This function from dll 'ESENT' is being skipped because it has some sort of issue
pub fn JetSetSystemParameterA() void {
    @panic("this function is not working");
}

// This function from dll 'ESENT' is being skipped because it has some sort of issue
pub fn JetSetSystemParameterW() void {
    @panic("this function is not working");
}

pub extern "esent" fn JetGetSystemParameterA(
    instance: JET_INSTANCE,
    sesid: ?JET_SESID,
    paramid: u32,
    plParam: ?*JET_API_PTR,
    // TODO: what to do with BytesParamIndex 5?
    szParam: ?*i8,
    cbMax: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetSystemParameterW(
    instance: JET_INSTANCE,
    sesid: ?JET_SESID,
    paramid: u32,
    plParam: ?*JET_API_PTR,
    // TODO: what to do with BytesParamIndex 5?
    szParam: ?*u16,
    cbMax: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetEnableMultiInstanceA(
    psetsysparam: ?[*]JET_SETSYSPARAM_A,
    csetsysparam: u32,
    pcsetsucceed: ?*u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetEnableMultiInstanceW(
    psetsysparam: ?[*]JET_SETSYSPARAM_W,
    csetsysparam: u32,
    pcsetsucceed: ?*u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetThreadStats(
    // TODO: what to do with BytesParamIndex 1?
    pvResult: ?*anyopaque,
    cbMax: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetBeginSessionA(
    instance: JET_INSTANCE,
    psesid: ?*?JET_SESID,
    szUserName: ?*i8,
    szPassword: ?*i8,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetBeginSessionW(
    instance: JET_INSTANCE,
    psesid: ?*?JET_SESID,
    szUserName: ?*u16,
    szPassword: ?*u16,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetDupSession(
    sesid: ?JET_SESID,
    psesid: ?*?JET_SESID,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetEndSession(
    sesid: ?JET_SESID,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetVersion(
    sesid: ?JET_SESID,
    pwVersion: ?*u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetIdle(
    sesid: ?JET_SESID,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetCreateDatabaseA(
    sesid: ?JET_SESID,
    szFilename: ?*i8,
    szConnect: ?*i8,
    pdbid: ?*u32,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetCreateDatabaseW(
    sesid: ?JET_SESID,
    szFilename: ?*u16,
    szConnect: ?*u16,
    pdbid: ?*u32,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetCreateDatabase2A(
    sesid: ?JET_SESID,
    szFilename: ?*i8,
    cpgDatabaseSizeMax: u32,
    pdbid: ?*u32,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetCreateDatabase2W(
    sesid: ?JET_SESID,
    szFilename: ?*u16,
    cpgDatabaseSizeMax: u32,
    pdbid: ?*u32,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetAttachDatabaseA(
    sesid: ?JET_SESID,
    szFilename: ?*i8,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetAttachDatabaseW(
    sesid: ?JET_SESID,
    szFilename: ?*u16,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetAttachDatabase2A(
    sesid: ?JET_SESID,
    szFilename: ?*i8,
    cpgDatabaseSizeMax: u32,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetAttachDatabase2W(
    sesid: ?JET_SESID,
    szFilename: ?*u16,
    cpgDatabaseSizeMax: u32,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetDetachDatabaseA(
    sesid: ?JET_SESID,
    szFilename: ?*i8,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetDetachDatabaseW(
    sesid: ?JET_SESID,
    szFilename: ?*u16,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetDetachDatabase2A(
    sesid: ?JET_SESID,
    szFilename: ?*i8,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetDetachDatabase2W(
    sesid: ?JET_SESID,
    szFilename: ?*u16,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetObjectInfoA(
    sesid: ?JET_SESID,
    dbid: u32,
    objtyp: u32,
    szContainerName: ?*i8,
    szObjectName: ?*i8,
    // TODO: what to do with BytesParamIndex 6?
    pvResult: ?*anyopaque,
    cbMax: u32,
    InfoLevel: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetObjectInfoW(
    sesid: ?JET_SESID,
    dbid: u32,
    objtyp: u32,
    szContainerName: ?*u16,
    szObjectName: ?*u16,
    // TODO: what to do with BytesParamIndex 6?
    pvResult: ?*anyopaque,
    cbMax: u32,
    InfoLevel: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetTableInfoA(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    // TODO: what to do with BytesParamIndex 3?
    pvResult: ?*anyopaque,
    cbMax: u32,
    InfoLevel: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetTableInfoW(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    // TODO: what to do with BytesParamIndex 3?
    pvResult: ?*anyopaque,
    cbMax: u32,
    InfoLevel: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetCreateTableA(
    sesid: ?JET_SESID,
    dbid: u32,
    szTableName: ?*i8,
    lPages: u32,
    lDensity: u32,
    ptableid: ?*JET_TABLEID,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetCreateTableW(
    sesid: ?JET_SESID,
    dbid: u32,
    szTableName: ?*u16,
    lPages: u32,
    lDensity: u32,
    ptableid: ?*JET_TABLEID,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetCreateTableColumnIndexA(
    sesid: ?JET_SESID,
    dbid: u32,
    ptablecreate: ?*JET_TABLECREATE_A,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetCreateTableColumnIndexW(
    sesid: ?JET_SESID,
    dbid: u32,
    ptablecreate: ?*JET_TABLECREATE_W,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetCreateTableColumnIndex2A(
    sesid: ?JET_SESID,
    dbid: u32,
    ptablecreate: ?*JET_TABLECREATE2_A,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetCreateTableColumnIndex2W(
    sesid: ?JET_SESID,
    dbid: u32,
    ptablecreate: ?*JET_TABLECREATE2_W,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetCreateTableColumnIndex3A(
    sesid: ?JET_SESID,
    dbid: u32,
    ptablecreate: ?*JET_TABLECREATE3_A,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetCreateTableColumnIndex3W(
    sesid: ?JET_SESID,
    dbid: u32,
    ptablecreate: ?*JET_TABLECREATE3_W,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetCreateTableColumnIndex4A(
    sesid: ?JET_SESID,
    dbid: u32,
    ptablecreate: ?*JET_TABLECREATE4_A,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetCreateTableColumnIndex4W(
    sesid: ?JET_SESID,
    dbid: u32,
    ptablecreate: ?*JET_TABLECREATE4_W,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetDeleteTableA(
    sesid: ?JET_SESID,
    dbid: u32,
    szTableName: ?*i8,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetDeleteTableW(
    sesid: ?JET_SESID,
    dbid: u32,
    szTableName: ?*u16,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetRenameTableA(
    sesid: ?JET_SESID,
    dbid: u32,
    szName: ?*i8,
    szNameNew: ?*i8,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetRenameTableW(
    sesid: ?JET_SESID,
    dbid: u32,
    szName: ?*u16,
    szNameNew: ?*u16,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetTableColumnInfoA(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    szColumnName: ?*i8,
    // TODO: what to do with BytesParamIndex 4?
    pvResult: ?*anyopaque,
    cbMax: u32,
    InfoLevel: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetTableColumnInfoW(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    szColumnName: ?*u16,
    // TODO: what to do with BytesParamIndex 4?
    pvResult: ?*anyopaque,
    cbMax: u32,
    InfoLevel: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetColumnInfoA(
    sesid: ?JET_SESID,
    dbid: u32,
    szTableName: ?*i8,
    pColumnNameOrId: ?*i8,
    // TODO: what to do with BytesParamIndex 5?
    pvResult: ?*anyopaque,
    cbMax: u32,
    InfoLevel: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetColumnInfoW(
    sesid: ?JET_SESID,
    dbid: u32,
    szTableName: ?*u16,
    pwColumnNameOrId: ?*u16,
    // TODO: what to do with BytesParamIndex 5?
    pvResult: ?*anyopaque,
    cbMax: u32,
    InfoLevel: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetAddColumnA(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    szColumnName: ?*i8,
    pcolumndef: ?*const JET_COLUMNDEF,
    // TODO: what to do with BytesParamIndex 5?
    pvDefault: ?*const anyopaque,
    cbDefault: u32,
    pcolumnid: ?*u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetAddColumnW(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    szColumnName: ?*u16,
    pcolumndef: ?*const JET_COLUMNDEF,
    // TODO: what to do with BytesParamIndex 5?
    pvDefault: ?*const anyopaque,
    cbDefault: u32,
    pcolumnid: ?*u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetDeleteColumnA(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    szColumnName: ?*i8,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetDeleteColumnW(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    szColumnName: ?*u16,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetDeleteColumn2A(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    szColumnName: ?*i8,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetDeleteColumn2W(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    szColumnName: ?*u16,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetRenameColumnA(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    szName: ?*i8,
    szNameNew: ?*i8,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetRenameColumnW(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    szName: ?*u16,
    szNameNew: ?*u16,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetSetColumnDefaultValueA(
    sesid: ?JET_SESID,
    dbid: u32,
    szTableName: ?*i8,
    szColumnName: ?*i8,
    // TODO: what to do with BytesParamIndex 5?
    pvData: ?*const anyopaque,
    cbData: u32,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetSetColumnDefaultValueW(
    sesid: ?JET_SESID,
    dbid: u32,
    szTableName: ?*u16,
    szColumnName: ?*u16,
    // TODO: what to do with BytesParamIndex 5?
    pvData: ?*const anyopaque,
    cbData: u32,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetTableIndexInfoA(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    szIndexName: ?*i8,
    // TODO: what to do with BytesParamIndex 4?
    pvResult: ?*anyopaque,
    cbResult: u32,
    InfoLevel: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetTableIndexInfoW(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    szIndexName: ?*u16,
    // TODO: what to do with BytesParamIndex 4?
    pvResult: ?*anyopaque,
    cbResult: u32,
    InfoLevel: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetIndexInfoA(
    sesid: ?JET_SESID,
    dbid: u32,
    szTableName: ?*i8,
    szIndexName: ?*i8,
    // TODO: what to do with BytesParamIndex 5?
    pvResult: ?*anyopaque,
    cbResult: u32,
    InfoLevel: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetIndexInfoW(
    sesid: ?JET_SESID,
    dbid: u32,
    szTableName: ?*u16,
    szIndexName: ?*u16,
    // TODO: what to do with BytesParamIndex 5?
    pvResult: ?*anyopaque,
    cbResult: u32,
    InfoLevel: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetCreateIndexA(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    szIndexName: ?*i8,
    grbit: u32,
    // TODO: what to do with BytesParamIndex 5?
    szKey: ?[*:0]const u8,
    cbKey: u32,
    lDensity: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetCreateIndexW(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    szIndexName: ?*u16,
    grbit: u32,
    // TODO: what to do with BytesParamIndex 5?
    szKey: ?[*:0]const u16,
    cbKey: u32,
    lDensity: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetCreateIndex2A(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    pindexcreate: [*]JET_INDEXCREATE_A,
    cIndexCreate: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetCreateIndex2W(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    pindexcreate: [*]JET_INDEXCREATE_W,
    cIndexCreate: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetCreateIndex3A(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    pindexcreate: [*]JET_INDEXCREATE2_A,
    cIndexCreate: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetCreateIndex3W(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    pindexcreate: [*]JET_INDEXCREATE2_W,
    cIndexCreate: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetCreateIndex4A(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    pindexcreate: [*]JET_INDEXCREATE3_A,
    cIndexCreate: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetCreateIndex4W(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    pindexcreate: [*]JET_INDEXCREATE3_W,
    cIndexCreate: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetDeleteIndexA(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    szIndexName: ?*i8,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetDeleteIndexW(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    szIndexName: ?*u16,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetBeginTransaction(
    sesid: ?JET_SESID,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetBeginTransaction2(
    sesid: ?JET_SESID,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetBeginTransaction3(
    sesid: ?JET_SESID,
    trxid: i64,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetCommitTransaction(
    sesid: ?JET_SESID,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetCommitTransaction2(
    sesid: ?JET_SESID,
    grbit: u32,
    cmsecDurableCommit: u32,
    pCommitId: ?*JET_COMMIT_ID,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetRollback(
    sesid: ?JET_SESID,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetDatabaseInfoA(
    sesid: ?JET_SESID,
    dbid: u32,
    // TODO: what to do with BytesParamIndex 3?
    pvResult: ?*anyopaque,
    cbMax: u32,
    InfoLevel: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetDatabaseInfoW(
    sesid: ?JET_SESID,
    dbid: u32,
    // TODO: what to do with BytesParamIndex 3?
    pvResult: ?*anyopaque,
    cbMax: u32,
    InfoLevel: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetDatabaseFileInfoA(
    szDatabaseName: ?*i8,
    // TODO: what to do with BytesParamIndex 2?
    pvResult: ?*anyopaque,
    cbMax: u32,
    InfoLevel: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetDatabaseFileInfoW(
    szDatabaseName: ?*u16,
    // TODO: what to do with BytesParamIndex 2?
    pvResult: ?*anyopaque,
    cbMax: u32,
    InfoLevel: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetOpenDatabaseA(
    sesid: ?JET_SESID,
    szFilename: ?*i8,
    szConnect: ?*i8,
    pdbid: ?*u32,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetOpenDatabaseW(
    sesid: ?JET_SESID,
    szFilename: ?*u16,
    szConnect: ?*u16,
    pdbid: ?*u32,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetCloseDatabase(
    sesid: ?JET_SESID,
    dbid: u32,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetOpenTableA(
    sesid: ?JET_SESID,
    dbid: u32,
    szTableName: ?*i8,
    // TODO: what to do with BytesParamIndex 4?
    pvParameters: ?*const anyopaque,
    cbParameters: u32,
    grbit: u32,
    ptableid: ?*JET_TABLEID,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetOpenTableW(
    sesid: ?JET_SESID,
    dbid: u32,
    szTableName: ?*u16,
    // TODO: what to do with BytesParamIndex 4?
    pvParameters: ?*const anyopaque,
    cbParameters: u32,
    grbit: u32,
    ptableid: ?*JET_TABLEID,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetSetTableSequential(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetResetTableSequential(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetCloseTable(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetDelete(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetUpdate(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    // TODO: what to do with BytesParamIndex 3?
    pvBookmark: ?*anyopaque,
    cbBookmark: u32,
    pcbActual: ?*u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetUpdate2(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    // TODO: what to do with BytesParamIndex 3?
    pvBookmark: ?*anyopaque,
    cbBookmark: u32,
    pcbActual: ?*u32,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetEscrowUpdate(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    columnid: u32,
    // TODO: what to do with BytesParamIndex 4?
    pv: ?*anyopaque,
    cbMax: u32,
    // TODO: what to do with BytesParamIndex 6?
    pvOld: ?*anyopaque,
    cbOldMax: u32,
    pcbOldActual: ?*u32,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetRetrieveColumn(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    columnid: u32,
    // TODO: what to do with BytesParamIndex 4?
    pvData: ?*anyopaque,
    cbData: u32,
    pcbActual: ?*u32,
    grbit: u32,
    pretinfo: ?*JET_RETINFO,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetRetrieveColumns(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    pretrievecolumn: ?[*]JET_RETRIEVECOLUMN,
    cretrievecolumn: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetEnumerateColumns(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    cEnumColumnId: u32,
    rgEnumColumnId: ?[*]JET_ENUMCOLUMNID,
    pcEnumColumn: ?*u32,
    prgEnumColumn: ?*?*JET_ENUMCOLUMN,
    pfnRealloc: ?JET_PFNREALLOC,
    pvReallocContext: ?*anyopaque,
    cbDataMost: u32,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetRecordSize(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    precsize: ?*JET_RECSIZE,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetRecordSize2(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    precsize: ?*JET_RECSIZE2,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetSetColumn(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    columnid: u32,
    // TODO: what to do with BytesParamIndex 4?
    pvData: ?*const anyopaque,
    cbData: u32,
    grbit: u32,
    psetinfo: ?*JET_SETINFO,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetSetColumns(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    psetcolumn: ?[*]JET_SETCOLUMN,
    csetcolumn: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetPrepareUpdate(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    prep: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetRecordPosition(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    // TODO: what to do with BytesParamIndex 3?
    precpos: ?*JET_RECPOS,
    cbRecpos: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGotoPosition(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    precpos: ?*JET_RECPOS,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetCursorInfo(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    // TODO: what to do with BytesParamIndex 3?
    pvResult: ?*anyopaque,
    cbMax: u32,
    InfoLevel: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetDupCursor(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    ptableid: ?*JET_TABLEID,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetCurrentIndexA(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    // TODO: what to do with BytesParamIndex 3?
    szIndexName: ?*i8,
    cbIndexName: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetCurrentIndexW(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    // TODO: what to do with BytesParamIndex 3?
    szIndexName: ?*u16,
    cbIndexName: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetSetCurrentIndexA(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    szIndexName: ?*i8,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetSetCurrentIndexW(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    szIndexName: ?*u16,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetSetCurrentIndex2A(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    szIndexName: ?*i8,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetSetCurrentIndex2W(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    szIndexName: ?*u16,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetSetCurrentIndex3A(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    szIndexName: ?*i8,
    grbit: u32,
    itagSequence: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetSetCurrentIndex3W(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    szIndexName: ?*u16,
    grbit: u32,
    itagSequence: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetSetCurrentIndex4A(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    szIndexName: ?*i8,
    pindexid: ?*JET_INDEXID,
    grbit: u32,
    itagSequence: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetSetCurrentIndex4W(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    szIndexName: ?*u16,
    pindexid: ?*JET_INDEXID,
    grbit: u32,
    itagSequence: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetMove(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    cRow: i32,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetSetCursorFilter(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    rgColumnFilters: [*]JET_INDEX_COLUMN,
    cColumnFilters: u32,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetLock(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetMakeKey(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    // TODO: what to do with BytesParamIndex 3?
    pvData: ?*const anyopaque,
    cbData: u32,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetSeek(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetPrereadKeys(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    rgpvKeys: [*]const ?*const anyopaque,
    rgcbKeys: [*]const u32,
    ckeys: i32,
    pckeysPreread: ?*i32,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetPrereadIndexRanges(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    rgIndexRanges: [*]const JET_INDEX_RANGE,
    cIndexRanges: u32,
    pcRangesPreread: ?*u32,
    rgcolumnidPreread: [*]const u32,
    ccolumnidPreread: u32,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetBookmark(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    // TODO: what to do with BytesParamIndex 3?
    pvBookmark: ?*anyopaque,
    cbMax: u32,
    pcbActual: ?*u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetSecondaryIndexBookmark(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    // TODO: what to do with BytesParamIndex 3?
    pvSecondaryKey: ?*anyopaque,
    cbSecondaryKeyMax: u32,
    pcbSecondaryKeyActual: ?*u32,
    // TODO: what to do with BytesParamIndex 6?
    pvPrimaryBookmark: ?*anyopaque,
    cbPrimaryBookmarkMax: u32,
    pcbPrimaryBookmarkActual: ?*u32,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetCompactA(
    sesid: ?JET_SESID,
    szDatabaseSrc: ?*i8,
    szDatabaseDest: ?*i8,
    pfnStatus: ?JET_PFNSTATUS,
    pconvert: ?*CONVERT_A,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetCompactW(
    sesid: ?JET_SESID,
    szDatabaseSrc: ?*u16,
    szDatabaseDest: ?*u16,
    pfnStatus: ?JET_PFNSTATUS,
    pconvert: ?*CONVERT_W,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetDefragmentA(
    sesid: ?JET_SESID,
    dbid: u32,
    szTableName: ?*i8,
    pcPasses: ?*u32,
    pcSeconds: ?*u32,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetDefragmentW(
    sesid: ?JET_SESID,
    dbid: u32,
    szTableName: ?*u16,
    pcPasses: ?*u32,
    pcSeconds: ?*u32,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetDefragment2A(
    sesid: ?JET_SESID,
    dbid: u32,
    szTableName: ?*i8,
    pcPasses: ?*u32,
    pcSeconds: ?*u32,
    callback: ?JET_CALLBACK,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetDefragment2W(
    sesid: ?JET_SESID,
    dbid: u32,
    szTableName: ?*u16,
    pcPasses: ?*u32,
    pcSeconds: ?*u32,
    callback: ?JET_CALLBACK,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetDefragment3A(
    sesid: ?JET_SESID,
    szDatabaseName: ?*i8,
    szTableName: ?*i8,
    pcPasses: ?*u32,
    pcSeconds: ?*u32,
    callback: ?JET_CALLBACK,
    pvContext: ?*anyopaque,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetDefragment3W(
    sesid: ?JET_SESID,
    szDatabaseName: ?*u16,
    szTableName: ?*u16,
    pcPasses: ?*u32,
    pcSeconds: ?*u32,
    callback: ?JET_CALLBACK,
    pvContext: ?*anyopaque,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetSetDatabaseSizeA(
    sesid: ?JET_SESID,
    szDatabaseName: ?*i8,
    cpg: u32,
    pcpgReal: ?*u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetSetDatabaseSizeW(
    sesid: ?JET_SESID,
    szDatabaseName: ?*u16,
    cpg: u32,
    pcpgReal: ?*u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGrowDatabase(
    sesid: ?JET_SESID,
    dbid: u32,
    cpg: u32,
    pcpgReal: ?*u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetResizeDatabase(
    sesid: ?JET_SESID,
    dbid: u32,
    cpgTarget: u32,
    pcpgActual: ?*u32,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetSetSessionContext(
    sesid: ?JET_SESID,
    ulContext: JET_API_PTR,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetResetSessionContext(
    sesid: ?JET_SESID,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGotoBookmark(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    // TODO: what to do with BytesParamIndex 3?
    pvBookmark: ?*anyopaque,
    cbBookmark: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGotoSecondaryIndexBookmark(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    // TODO: what to do with BytesParamIndex 3?
    pvSecondaryKey: ?*anyopaque,
    cbSecondaryKey: u32,
    // TODO: what to do with BytesParamIndex 5?
    pvPrimaryBookmark: ?*anyopaque,
    cbPrimaryBookmark: u32,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetIntersectIndexes(
    sesid: ?JET_SESID,
    rgindexrange: [*]JET_INDEXRANGE,
    cindexrange: u32,
    precordlist: ?*JET_RECORDLIST,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetComputeStats(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetOpenTempTable(
    sesid: ?JET_SESID,
    prgcolumndef: [*]const JET_COLUMNDEF,
    ccolumn: u32,
    grbit: u32,
    ptableid: ?*JET_TABLEID,
    prgcolumnid: [*]u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetOpenTempTable2(
    sesid: ?JET_SESID,
    prgcolumndef: [*]const JET_COLUMNDEF,
    ccolumn: u32,
    lcid: u32,
    grbit: u32,
    ptableid: ?*JET_TABLEID,
    prgcolumnid: [*]u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetOpenTempTable3(
    sesid: ?JET_SESID,
    prgcolumndef: [*]const JET_COLUMNDEF,
    ccolumn: u32,
    pidxunicode: ?*JET_UNICODEINDEX,
    grbit: u32,
    ptableid: ?*JET_TABLEID,
    prgcolumnid: [*]u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetOpenTemporaryTable(
    sesid: ?JET_SESID,
    popentemporarytable: ?*JET_OPENTEMPORARYTABLE,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetOpenTemporaryTable2(
    sesid: ?JET_SESID,
    popentemporarytable: ?*JET_OPENTEMPORARYTABLE2,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetBackupA(
    szBackupPath: ?*i8,
    grbit: u32,
    pfnStatus: ?JET_PFNSTATUS,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetBackupW(
    szBackupPath: ?*u16,
    grbit: u32,
    pfnStatus: ?JET_PFNSTATUS,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetBackupInstanceA(
    instance: JET_INSTANCE,
    szBackupPath: ?*i8,
    grbit: u32,
    pfnStatus: ?JET_PFNSTATUS,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetBackupInstanceW(
    instance: JET_INSTANCE,
    szBackupPath: ?*u16,
    grbit: u32,
    pfnStatus: ?JET_PFNSTATUS,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetRestoreA(
    szSource: ?*i8,
    pfn: ?JET_PFNSTATUS,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetRestoreW(
    szSource: ?*u16,
    pfn: ?JET_PFNSTATUS,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetRestore2A(
    sz: ?*i8,
    szDest: ?*i8,
    pfn: ?JET_PFNSTATUS,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetRestore2W(
    sz: ?*u16,
    szDest: ?*u16,
    pfn: ?JET_PFNSTATUS,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetRestoreInstanceA(
    instance: JET_INSTANCE,
    sz: ?*i8,
    szDest: ?*i8,
    pfn: ?JET_PFNSTATUS,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetRestoreInstanceW(
    instance: JET_INSTANCE,
    sz: ?*u16,
    szDest: ?*u16,
    pfn: ?JET_PFNSTATUS,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetSetIndexRange(
    sesid: ?JET_SESID,
    tableidSrc: JET_TABLEID,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetIndexRecordCount(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    pcrec: ?*u32,
    crecMax: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetRetrieveKey(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    // TODO: what to do with BytesParamIndex 3?
    pvKey: ?*anyopaque,
    cbMax: u32,
    pcbActual: ?*u32,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetBeginExternalBackup(
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetBeginExternalBackupInstance(
    instance: JET_INSTANCE,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetAttachInfoA(
    // TODO: what to do with BytesParamIndex 1?
    szzDatabases: ?*i8,
    cbMax: u32,
    pcbActual: ?*u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetAttachInfoW(
    // TODO: what to do with BytesParamIndex 1?
    wszzDatabases: ?*u16,
    cbMax: u32,
    pcbActual: ?*u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetAttachInfoInstanceA(
    instance: JET_INSTANCE,
    // TODO: what to do with BytesParamIndex 2?
    szzDatabases: ?*i8,
    cbMax: u32,
    pcbActual: ?*u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetAttachInfoInstanceW(
    instance: JET_INSTANCE,
    // TODO: what to do with BytesParamIndex 2?
    szzDatabases: ?*u16,
    cbMax: u32,
    pcbActual: ?*u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetOpenFileA(
    szFileName: ?*i8,
    phfFile: ?*JET_HANDLE,
    pulFileSizeLow: ?*u32,
    pulFileSizeHigh: ?*u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetOpenFileW(
    szFileName: ?*u16,
    phfFile: ?*JET_HANDLE,
    pulFileSizeLow: ?*u32,
    pulFileSizeHigh: ?*u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetOpenFileInstanceA(
    instance: JET_INSTANCE,
    szFileName: ?*i8,
    phfFile: ?*JET_HANDLE,
    pulFileSizeLow: ?*u32,
    pulFileSizeHigh: ?*u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetOpenFileInstanceW(
    instance: JET_INSTANCE,
    szFileName: ?*u16,
    phfFile: ?*JET_HANDLE,
    pulFileSizeLow: ?*u32,
    pulFileSizeHigh: ?*u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetReadFile(
    hfFile: JET_HANDLE,
    // TODO: what to do with BytesParamIndex 2?
    pv: ?*anyopaque,
    cb: u32,
    pcbActual: ?*u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetReadFileInstance(
    instance: JET_INSTANCE,
    hfFile: JET_HANDLE,
    // TODO: what to do with BytesParamIndex 3?
    pv: ?*anyopaque,
    cb: u32,
    pcbActual: ?*u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetCloseFile(
    hfFile: JET_HANDLE,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetCloseFileInstance(
    instance: JET_INSTANCE,
    hfFile: JET_HANDLE,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetLogInfoA(
    // TODO: what to do with BytesParamIndex 1?
    szzLogs: ?*i8,
    cbMax: u32,
    pcbActual: ?*u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetLogInfoW(
    // TODO: what to do with BytesParamIndex 1?
    szzLogs: ?*u16,
    cbMax: u32,
    pcbActual: ?*u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetLogInfoInstanceA(
    instance: JET_INSTANCE,
    // TODO: what to do with BytesParamIndex 2?
    szzLogs: ?*i8,
    cbMax: u32,
    pcbActual: ?*u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetLogInfoInstanceW(
    instance: JET_INSTANCE,
    // TODO: what to do with BytesParamIndex 2?
    wszzLogs: ?*u16,
    cbMax: u32,
    pcbActual: ?*u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetLogInfoInstance2A(
    instance: JET_INSTANCE,
    // TODO: what to do with BytesParamIndex 2?
    szzLogs: ?*i8,
    cbMax: u32,
    pcbActual: ?*u32,
    pLogInfo: ?*JET_LOGINFO_A,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetLogInfoInstance2W(
    instance: JET_INSTANCE,
    // TODO: what to do with BytesParamIndex 2?
    wszzLogs: ?*u16,
    cbMax: u32,
    pcbActual: ?*u32,
    pLogInfo: ?*JET_LOGINFO_W,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetTruncateLogInfoInstanceA(
    instance: JET_INSTANCE,
    // TODO: what to do with BytesParamIndex 2?
    szzLogs: ?*i8,
    cbMax: u32,
    pcbActual: ?*u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetTruncateLogInfoInstanceW(
    instance: JET_INSTANCE,
    // TODO: what to do with BytesParamIndex 2?
    wszzLogs: ?*u16,
    cbMax: u32,
    pcbActual: ?*u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetTruncateLog() callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetTruncateLogInstance(
    instance: JET_INSTANCE,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetEndExternalBackup() callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetEndExternalBackupInstance(
    instance: JET_INSTANCE,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetEndExternalBackupInstance2(
    instance: JET_INSTANCE,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetExternalRestoreA(
    szCheckpointFilePath: ?*i8,
    szLogPath: ?*i8,
    rgrstmap: ?[*]JET_RSTMAP_A,
    crstfilemap: i32,
    szBackupLogPath: ?*i8,
    genLow: i32,
    genHigh: i32,
    pfn: ?JET_PFNSTATUS,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetExternalRestoreW(
    szCheckpointFilePath: ?*u16,
    szLogPath: ?*u16,
    rgrstmap: ?[*]JET_RSTMAP_W,
    crstfilemap: i32,
    szBackupLogPath: ?*u16,
    genLow: i32,
    genHigh: i32,
    pfn: ?JET_PFNSTATUS,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetExternalRestore2A(
    szCheckpointFilePath: ?*i8,
    szLogPath: ?*i8,
    rgrstmap: ?[*]JET_RSTMAP_A,
    crstfilemap: i32,
    szBackupLogPath: ?*i8,
    pLogInfo: ?*JET_LOGINFO_A,
    szTargetInstanceName: ?*i8,
    szTargetInstanceLogPath: ?*i8,
    szTargetInstanceCheckpointPath: ?*i8,
    pfn: ?JET_PFNSTATUS,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetExternalRestore2W(
    szCheckpointFilePath: ?*u16,
    szLogPath: ?*u16,
    rgrstmap: ?[*]JET_RSTMAP_W,
    crstfilemap: i32,
    szBackupLogPath: ?*u16,
    pLogInfo: ?*JET_LOGINFO_W,
    szTargetInstanceName: ?*u16,
    szTargetInstanceLogPath: ?*u16,
    szTargetInstanceCheckpointPath: ?*u16,
    pfn: ?JET_PFNSTATUS,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetRegisterCallback(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    cbtyp: u32,
    pCallback: ?JET_CALLBACK,
    pvContext: ?*anyopaque,
    phCallbackId: ?*JET_HANDLE,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetUnregisterCallback(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    cbtyp: u32,
    hCallbackId: JET_HANDLE,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetInstanceInfoA(
    pcInstanceInfo: ?*u32,
    paInstanceInfo: ?*?*JET_INSTANCE_INFO_A,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetInstanceInfoW(
    pcInstanceInfo: ?*u32,
    paInstanceInfo: ?*?*JET_INSTANCE_INFO_W,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetFreeBuffer(
    pbBuf: ?PSTR,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetSetLS(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    ls: JET_LS,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetLS(
    sesid: ?JET_SESID,
    tableid: JET_TABLEID,
    pls: ?*JET_LS,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetOSSnapshotPrepare(
    psnapId: ?*JET_OSSNAPID,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetOSSnapshotPrepareInstance(
    snapId: JET_OSSNAPID,
    instance: JET_INSTANCE,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetOSSnapshotFreezeA(
    snapId: JET_OSSNAPID,
    pcInstanceInfo: ?*u32,
    paInstanceInfo: ?*?*JET_INSTANCE_INFO_A,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetOSSnapshotFreezeW(
    snapId: JET_OSSNAPID,
    pcInstanceInfo: ?*u32,
    paInstanceInfo: ?*?*JET_INSTANCE_INFO_W,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetOSSnapshotThaw(
    snapId: JET_OSSNAPID,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetOSSnapshotAbort(
    snapId: JET_OSSNAPID,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetOSSnapshotTruncateLog(
    snapId: JET_OSSNAPID,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetOSSnapshotTruncateLogInstance(
    snapId: JET_OSSNAPID,
    instance: JET_INSTANCE,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetOSSnapshotGetFreezeInfoA(
    snapId: JET_OSSNAPID,
    pcInstanceInfo: ?*u32,
    paInstanceInfo: ?*?*JET_INSTANCE_INFO_A,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetOSSnapshotGetFreezeInfoW(
    snapId: JET_OSSNAPID,
    pcInstanceInfo: ?*u32,
    paInstanceInfo: ?*?*JET_INSTANCE_INFO_W,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetOSSnapshotEnd(
    snapId: JET_OSSNAPID,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetConfigureProcessForCrashDump(
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetErrorInfoW(
    pvContext: ?*anyopaque,
    // TODO: what to do with BytesParamIndex 2?
    pvResult: ?*anyopaque,
    cbMax: u32,
    InfoLevel: u32,
    grbit: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetSetSessionParameter(
    sesid: ?JET_SESID,
    sesparamid: u32,
    // TODO: what to do with BytesParamIndex 3?
    pvParam: ?*anyopaque,
    cbParam: u32,
) callconv(@import("std").os.windows.WINAPI) i32;

pub extern "esent" fn JetGetSessionParameter(
    sesid: ?JET_SESID,
    sesparamid: u32,
    pvParam: [*]u8,
    cbParamMax: u32,
    pcbParamActual: ?*u32,
) callconv(@import("std").os.windows.WINAPI) i32;

//--------------------------------------------------------------------------------
// Section: Unicode Aliases (85)
//--------------------------------------------------------------------------------
const thismodule = @This();
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
    .ansi => struct {
        pub const JET_RSTMAP_ = thismodule.JET_RSTMAP_A;
        pub const CONVERT_ = thismodule.CONVERT_A;
        pub const JET_COLUMNBASE_ = thismodule.JET_COLUMNBASE_A;
        pub const JET_COLUMNCREATE_ = thismodule.JET_COLUMNCREATE_A;
        pub const JET_USERDEFINEDDEFAULT_ = thismodule.JET_USERDEFINEDDEFAULT_A;
        pub const JET_CONDITIONALCOLUMN_ = thismodule.JET_CONDITIONALCOLUMN_A;
        pub const JET_INDEXCREATE_ = thismodule.JET_INDEXCREATE_A;
        pub const JET_INDEXCREATE2_ = thismodule.JET_INDEXCREATE2_A;
        pub const JET_INDEXCREATE3_ = thismodule.JET_INDEXCREATE3_A;
        pub const JET_TABLECREATE_ = thismodule.JET_TABLECREATE_A;
        pub const JET_TABLECREATE2_ = thismodule.JET_TABLECREATE2_A;
        pub const JET_TABLECREATE3_ = thismodule.JET_TABLECREATE3_A;
        pub const JET_TABLECREATE4_ = thismodule.JET_TABLECREATE4_A;
        pub const JET_RSTINFO_ = thismodule.JET_RSTINFO_A;
        pub const JET_SETSYSPARAM_ = thismodule.JET_SETSYSPARAM_A;
        pub const JET_LOGINFO_ = thismodule.JET_LOGINFO_A;
        pub const JET_INSTANCE_INFO_ = thismodule.JET_INSTANCE_INFO_A;
        pub const JetInit3 = thismodule.JetInit3A;
        pub const JetCreateInstance = thismodule.JetCreateInstanceA;
        pub const JetCreateInstance2 = thismodule.JetCreateInstance2A;
        pub const JetSetSystemParameter = thismodule.JetSetSystemParameterA;
        pub const JetGetSystemParameter = thismodule.JetGetSystemParameterA;
        pub const JetEnableMultiInstance = thismodule.JetEnableMultiInstanceA;
        pub const JetBeginSession = thismodule.JetBeginSessionA;
        pub const JetCreateDatabase = thismodule.JetCreateDatabaseA;
        pub const JetCreateDatabase2 = thismodule.JetCreateDatabase2A;
        pub const JetAttachDatabase = thismodule.JetAttachDatabaseA;
        pub const JetAttachDatabase2 = thismodule.JetAttachDatabase2A;
        pub const JetDetachDatabase = thismodule.JetDetachDatabaseA;
        pub const JetDetachDatabase2 = thismodule.JetDetachDatabase2A;
        pub const JetGetObjectInfo = thismodule.JetGetObjectInfoA;
        pub const JetGetTableInfo = thismodule.JetGetTableInfoA;
        pub const JetCreateTable = thismodule.JetCreateTableA;
        pub const JetCreateTableColumnIndex = thismodule.JetCreateTableColumnIndexA;
        pub const JetCreateTableColumnIndex2 = thismodule.JetCreateTableColumnIndex2A;
        pub const JetCreateTableColumnIndex3 = thismodule.JetCreateTableColumnIndex3A;
        pub const JetCreateTableColumnIndex4 = thismodule.JetCreateTableColumnIndex4A;
        pub const JetDeleteTable = thismodule.JetDeleteTableA;
        pub const JetRenameTable = thismodule.JetRenameTableA;
        pub const JetGetTableColumnInfo = thismodule.JetGetTableColumnInfoA;
        pub const JetGetColumnInfo = thismodule.JetGetColumnInfoA;
        pub const JetAddColumn = thismodule.JetAddColumnA;
        pub const JetDeleteColumn = thismodule.JetDeleteColumnA;
        pub const JetDeleteColumn2 = thismodule.JetDeleteColumn2A;
        pub const JetRenameColumn = thismodule.JetRenameColumnA;
        pub const JetSetColumnDefaultValue = thismodule.JetSetColumnDefaultValueA;
        pub const JetGetTableIndexInfo = thismodule.JetGetTableIndexInfoA;
        pub const JetGetIndexInfo = thismodule.JetGetIndexInfoA;
        pub const JetCreateIndex = thismodule.JetCreateIndexA;
        pub const JetCreateIndex2 = thismodule.JetCreateIndex2A;
        pub const JetCreateIndex3 = thismodule.JetCreateIndex3A;
        pub const JetCreateIndex4 = thismodule.JetCreateIndex4A;
        pub const JetDeleteIndex = thismodule.JetDeleteIndexA;
        pub const JetGetDatabaseInfo = thismodule.JetGetDatabaseInfoA;
        pub const JetGetDatabaseFileInfo = thismodule.JetGetDatabaseFileInfoA;
        pub const JetOpenDatabase = thismodule.JetOpenDatabaseA;
        pub const JetOpenTable = thismodule.JetOpenTableA;
        pub const JetGetCurrentIndex = thismodule.JetGetCurrentIndexA;
        pub const JetSetCurrentIndex = thismodule.JetSetCurrentIndexA;
        pub const JetSetCurrentIndex2 = thismodule.JetSetCurrentIndex2A;
        pub const JetSetCurrentIndex3 = thismodule.JetSetCurrentIndex3A;
        pub const JetSetCurrentIndex4 = thismodule.JetSetCurrentIndex4A;
        pub const JetCompact = thismodule.JetCompactA;
        pub const JetDefragment = thismodule.JetDefragmentA;
        pub const JetDefragment2 = thismodule.JetDefragment2A;
        pub const JetDefragment3 = thismodule.JetDefragment3A;
        pub const JetSetDatabaseSize = thismodule.JetSetDatabaseSizeA;
        pub const JetBackup = thismodule.JetBackupA;
        pub const JetBackupInstance = thismodule.JetBackupInstanceA;
        pub const JetRestore = thismodule.JetRestoreA;
        pub const JetRestore2 = thismodule.JetRestore2A;
        pub const JetRestoreInstance = thismodule.JetRestoreInstanceA;
        pub const JetGetAttachInfo = thismodule.JetGetAttachInfoA;
        pub const JetGetAttachInfoInstance = thismodule.JetGetAttachInfoInstanceA;
        pub const JetOpenFile = thismodule.JetOpenFileA;
        pub const JetOpenFileInstance = thismodule.JetOpenFileInstanceA;
        pub const JetGetLogInfo = thismodule.JetGetLogInfoA;
        pub const JetGetLogInfoInstance = thismodule.JetGetLogInfoInstanceA;
        pub const JetGetLogInfoInstance2 = thismodule.JetGetLogInfoInstance2A;
        pub const JetGetTruncateLogInfoInstance = thismodule.JetGetTruncateLogInfoInstanceA;
        pub const JetExternalRestore = thismodule.JetExternalRestoreA;
        pub const JetExternalRestore2 = thismodule.JetExternalRestore2A;
        pub const JetGetInstanceInfo = thismodule.JetGetInstanceInfoA;
        pub const JetOSSnapshotFreeze = thismodule.JetOSSnapshotFreezeA;
        pub const JetOSSnapshotGetFreezeInfo = thismodule.JetOSSnapshotGetFreezeInfoA;
    },
    .wide => struct {
        pub const JET_RSTMAP_ = thismodule.JET_RSTMAP_W;
        pub const CONVERT_ = thismodule.CONVERT_W;
        pub const JET_COLUMNBASE_ = thismodule.JET_COLUMNBASE_W;
        pub const JET_COLUMNCREATE_ = thismodule.JET_COLUMNCREATE_W;
        pub const JET_USERDEFINEDDEFAULT_ = thismodule.JET_USERDEFINEDDEFAULT_W;
        pub const JET_CONDITIONALCOLUMN_ = thismodule.JET_CONDITIONALCOLUMN_W;
        pub const JET_INDEXCREATE_ = thismodule.JET_INDEXCREATE_W;
        pub const JET_INDEXCREATE2_ = thismodule.JET_INDEXCREATE2_W;
        pub const JET_INDEXCREATE3_ = thismodule.JET_INDEXCREATE3_W;
        pub const JET_TABLECREATE_ = thismodule.JET_TABLECREATE_W;
        pub const JET_TABLECREATE2_ = thismodule.JET_TABLECREATE2_W;
        pub const JET_TABLECREATE3_ = thismodule.JET_TABLECREATE3_W;
        pub const JET_TABLECREATE4_ = thismodule.JET_TABLECREATE4_W;
        pub const JET_RSTINFO_ = thismodule.JET_RSTINFO_W;
        pub const JET_SETSYSPARAM_ = thismodule.JET_SETSYSPARAM_W;
        pub const JET_LOGINFO_ = thismodule.JET_LOGINFO_W;
        pub const JET_INSTANCE_INFO_ = thismodule.JET_INSTANCE_INFO_W;
        pub const JetInit3 = thismodule.JetInit3W;
        pub const JetCreateInstance = thismodule.JetCreateInstanceW;
        pub const JetCreateInstance2 = thismodule.JetCreateInstance2W;
        pub const JetSetSystemParameter = thismodule.JetSetSystemParameterW;
        pub const JetGetSystemParameter = thismodule.JetGetSystemParameterW;
        pub const JetEnableMultiInstance = thismodule.JetEnableMultiInstanceW;
        pub const JetBeginSession = thismodule.JetBeginSessionW;
        pub const JetCreateDatabase = thismodule.JetCreateDatabaseW;
        pub const JetCreateDatabase2 = thismodule.JetCreateDatabase2W;
        pub const JetAttachDatabase = thismodule.JetAttachDatabaseW;
        pub const JetAttachDatabase2 = thismodule.JetAttachDatabase2W;
        pub const JetDetachDatabase = thismodule.JetDetachDatabaseW;
        pub const JetDetachDatabase2 = thismodule.JetDetachDatabase2W;
        pub const JetGetObjectInfo = thismodule.JetGetObjectInfoW;
        pub const JetGetTableInfo = thismodule.JetGetTableInfoW;
        pub const JetCreateTable = thismodule.JetCreateTableW;
        pub const JetCreateTableColumnIndex = thismodule.JetCreateTableColumnIndexW;
        pub const JetCreateTableColumnIndex2 = thismodule.JetCreateTableColumnIndex2W;
        pub const JetCreateTableColumnIndex3 = thismodule.JetCreateTableColumnIndex3W;
        pub const JetCreateTableColumnIndex4 = thismodule.JetCreateTableColumnIndex4W;
        pub const JetDeleteTable = thismodule.JetDeleteTableW;
        pub const JetRenameTable = thismodule.JetRenameTableW;
        pub const JetGetTableColumnInfo = thismodule.JetGetTableColumnInfoW;
        pub const JetGetColumnInfo = thismodule.JetGetColumnInfoW;
        pub const JetAddColumn = thismodule.JetAddColumnW;
        pub const JetDeleteColumn = thismodule.JetDeleteColumnW;
        pub const JetDeleteColumn2 = thismodule.JetDeleteColumn2W;
        pub const JetRenameColumn = thismodule.JetRenameColumnW;
        pub const JetSetColumnDefaultValue = thismodule.JetSetColumnDefaultValueW;
        pub const JetGetTableIndexInfo = thismodule.JetGetTableIndexInfoW;
        pub const JetGetIndexInfo = thismodule.JetGetIndexInfoW;
        pub const JetCreateIndex = thismodule.JetCreateIndexW;
        pub const JetCreateIndex2 = thismodule.JetCreateIndex2W;
        pub const JetCreateIndex3 = thismodule.JetCreateIndex3W;
        pub const JetCreateIndex4 = thismodule.JetCreateIndex4W;
        pub const JetDeleteIndex = thismodule.JetDeleteIndexW;
        pub const JetGetDatabaseInfo = thismodule.JetGetDatabaseInfoW;
        pub const JetGetDatabaseFileInfo = thismodule.JetGetDatabaseFileInfoW;
        pub const JetOpenDatabase = thismodule.JetOpenDatabaseW;
        pub const JetOpenTable = thismodule.JetOpenTableW;
        pub const JetGetCurrentIndex = thismodule.JetGetCurrentIndexW;
        pub const JetSetCurrentIndex = thismodule.JetSetCurrentIndexW;
        pub const JetSetCurrentIndex2 = thismodule.JetSetCurrentIndex2W;
        pub const JetSetCurrentIndex3 = thismodule.JetSetCurrentIndex3W;
        pub const JetSetCurrentIndex4 = thismodule.JetSetCurrentIndex4W;
        pub const JetCompact = thismodule.JetCompactW;
        pub const JetDefragment = thismodule.JetDefragmentW;
        pub const JetDefragment2 = thismodule.JetDefragment2W;
        pub const JetDefragment3 = thismodule.JetDefragment3W;
        pub const JetSetDatabaseSize = thismodule.JetSetDatabaseSizeW;
        pub const JetBackup = thismodule.JetBackupW;
        pub const JetBackupInstance = thismodule.JetBackupInstanceW;
        pub const JetRestore = thismodule.JetRestoreW;
        pub const JetRestore2 = thismodule.JetRestore2W;
        pub const JetRestoreInstance = thismodule.JetRestoreInstanceW;
        pub const JetGetAttachInfo = thismodule.JetGetAttachInfoW;
        pub const JetGetAttachInfoInstance = thismodule.JetGetAttachInfoInstanceW;
        pub const JetOpenFile = thismodule.JetOpenFileW;
        pub const JetOpenFileInstance = thismodule.JetOpenFileInstanceW;
        pub const JetGetLogInfo = thismodule.JetGetLogInfoW;
        pub const JetGetLogInfoInstance = thismodule.JetGetLogInfoInstanceW;
        pub const JetGetLogInfoInstance2 = thismodule.JetGetLogInfoInstance2W;
        pub const JetGetTruncateLogInfoInstance = thismodule.JetGetTruncateLogInfoInstanceW;
        pub const JetExternalRestore = thismodule.JetExternalRestoreW;
        pub const JetExternalRestore2 = thismodule.JetExternalRestore2W;
        pub const JetGetInstanceInfo = thismodule.JetGetInstanceInfoW;
        pub const JetOSSnapshotFreeze = thismodule.JetOSSnapshotFreezeW;
        pub const JetOSSnapshotGetFreezeInfo = thismodule.JetOSSnapshotGetFreezeInfoW;
    },
    .unspecified => if (@import("builtin").is_test) struct {
        pub const JET_RSTMAP_ = *opaque {};
        pub const CONVERT_ = *opaque {};
        pub const JET_COLUMNBASE_ = *opaque {};
        pub const JET_COLUMNCREATE_ = *opaque {};
        pub const JET_USERDEFINEDDEFAULT_ = *opaque {};
        pub const JET_CONDITIONALCOLUMN_ = *opaque {};
        pub const JET_INDEXCREATE_ = *opaque {};
        pub const JET_INDEXCREATE2_ = *opaque {};
        pub const JET_INDEXCREATE3_ = *opaque {};
        pub const JET_TABLECREATE_ = *opaque {};
        pub const JET_TABLECREATE2_ = *opaque {};
        pub const JET_TABLECREATE3_ = *opaque {};
        pub const JET_TABLECREATE4_ = *opaque {};
        pub const JET_RSTINFO_ = *opaque {};
        pub const JET_SETSYSPARAM_ = *opaque {};
        pub const JET_LOGINFO_ = *opaque {};
        pub const JET_INSTANCE_INFO_ = *opaque {};
        pub const JetInit3 = *opaque {};
        pub const JetCreateInstance = *opaque {};
        pub const JetCreateInstance2 = *opaque {};
        pub const JetSetSystemParameter = *opaque {};
        pub const JetGetSystemParameter = *opaque {};
        pub const JetEnableMultiInstance = *opaque {};
        pub const JetBeginSession = *opaque {};
        pub const JetCreateDatabase = *opaque {};
        pub const JetCreateDatabase2 = *opaque {};
        pub const JetAttachDatabase = *opaque {};
        pub const JetAttachDatabase2 = *opaque {};
        pub const JetDetachDatabase = *opaque {};
        pub const JetDetachDatabase2 = *opaque {};
        pub const JetGetObjectInfo = *opaque {};
        pub const JetGetTableInfo = *opaque {};
        pub const JetCreateTable = *opaque {};
        pub const JetCreateTableColumnIndex = *opaque {};
        pub const JetCreateTableColumnIndex2 = *opaque {};
        pub const JetCreateTableColumnIndex3 = *opaque {};
        pub const JetCreateTableColumnIndex4 = *opaque {};
        pub const JetDeleteTable = *opaque {};
        pub const JetRenameTable = *opaque {};
        pub const JetGetTableColumnInfo = *opaque {};
        pub const JetGetColumnInfo = *opaque {};
        pub const JetAddColumn = *opaque {};
        pub const JetDeleteColumn = *opaque {};
        pub const JetDeleteColumn2 = *opaque {};
        pub const JetRenameColumn = *opaque {};
        pub const JetSetColumnDefaultValue = *opaque {};
        pub const JetGetTableIndexInfo = *opaque {};
        pub const JetGetIndexInfo = *opaque {};
        pub const JetCreateIndex = *opaque {};
        pub const JetCreateIndex2 = *opaque {};
        pub const JetCreateIndex3 = *opaque {};
        pub const JetCreateIndex4 = *opaque {};
        pub const JetDeleteIndex = *opaque {};
        pub const JetGetDatabaseInfo = *opaque {};
        pub const JetGetDatabaseFileInfo = *opaque {};
        pub const JetOpenDatabase = *opaque {};
        pub const JetOpenTable = *opaque {};
        pub const JetGetCurrentIndex = *opaque {};
        pub const JetSetCurrentIndex = *opaque {};
        pub const JetSetCurrentIndex2 = *opaque {};
        pub const JetSetCurrentIndex3 = *opaque {};
        pub const JetSetCurrentIndex4 = *opaque {};
        pub const JetCompact = *opaque {};
        pub const JetDefragment = *opaque {};
        pub const JetDefragment2 = *opaque {};
        pub const JetDefragment3 = *opaque {};
        pub const JetSetDatabaseSize = *opaque {};
        pub const JetBackup = *opaque {};
        pub const JetBackupInstance = *opaque {};
        pub const JetRestore = *opaque {};
        pub const JetRestore2 = *opaque {};
        pub const JetRestoreInstance = *opaque {};
        pub const JetGetAttachInfo = *opaque {};
        pub const JetGetAttachInfoInstance = *opaque {};
        pub const JetOpenFile = *opaque {};
        pub const JetOpenFileInstance = *opaque {};
        pub const JetGetLogInfo = *opaque {};
        pub const JetGetLogInfoInstance = *opaque {};
        pub const JetGetLogInfoInstance2 = *opaque {};
        pub const JetGetTruncateLogInfoInstance = *opaque {};
        pub const JetExternalRestore = *opaque {};
        pub const JetExternalRestore2 = *opaque {};
        pub const JetGetInstanceInfo = *opaque {};
        pub const JetOSSnapshotFreeze = *opaque {};
        pub const JetOSSnapshotGetFreezeInfo = *opaque {};
    } else struct {
        pub const JET_RSTMAP_ = @compileError("'JET_RSTMAP_' requires that UNICODE be set to true or false in the root module");
        pub const CONVERT_ = @compileError("'CONVERT_' requires that UNICODE be set to true or false in the root module");
        pub const JET_COLUMNBASE_ = @compileError("'JET_COLUMNBASE_' requires that UNICODE be set to true or false in the root module");
        pub const JET_COLUMNCREATE_ = @compileError("'JET_COLUMNCREATE_' requires that UNICODE be set to true or false in the root module");
        pub const JET_USERDEFINEDDEFAULT_ = @compileError("'JET_USERDEFINEDDEFAULT_' requires that UNICODE be set to true or false in the root module");
        pub const JET_CONDITIONALCOLUMN_ = @compileError("'JET_CONDITIONALCOLUMN_' requires that UNICODE be set to true or false in the root module");
        pub const JET_INDEXCREATE_ = @compileError("'JET_INDEXCREATE_' requires that UNICODE be set to true or false in the root module");
        pub const JET_INDEXCREATE2_ = @compileError("'JET_INDEXCREATE2_' requires that UNICODE be set to true or false in the root module");
        pub const JET_INDEXCREATE3_ = @compileError("'JET_INDEXCREATE3_' requires that UNICODE be set to true or false in the root module");
        pub const JET_TABLECREATE_ = @compileError("'JET_TABLECREATE_' requires that UNICODE be set to true or false in the root module");
        pub const JET_TABLECREATE2_ = @compileError("'JET_TABLECREATE2_' requires that UNICODE be set to true or false in the root module");
        pub const JET_TABLECREATE3_ = @compileError("'JET_TABLECREATE3_' requires that UNICODE be set to true or false in the root module");
        pub const JET_TABLECREATE4_ = @compileError("'JET_TABLECREATE4_' requires that UNICODE be set to true or false in the root module");
        pub const JET_RSTINFO_ = @compileError("'JET_RSTINFO_' requires that UNICODE be set to true or false in the root module");
        pub const JET_SETSYSPARAM_ = @compileError("'JET_SETSYSPARAM_' requires that UNICODE be set to true or false in the root module");
        pub const JET_LOGINFO_ = @compileError("'JET_LOGINFO_' requires that UNICODE be set to true or false in the root module");
        pub const JET_INSTANCE_INFO_ = @compileError("'JET_INSTANCE_INFO_' requires that UNICODE be set to true or false in the root module");
        pub const JetInit3 = @compileError("'JetInit3' requires that UNICODE be set to true or false in the root module");
        pub const JetCreateInstance = @compileError("'JetCreateInstance' requires that UNICODE be set to true or false in the root module");
        pub const JetCreateInstance2 = @compileError("'JetCreateInstance2' requires that UNICODE be set to true or false in the root module");
        pub const JetSetSystemParameter = @compileError("'JetSetSystemParameter' requires that UNICODE be set to true or false in the root module");
        pub const JetGetSystemParameter = @compileError("'JetGetSystemParameter' requires that UNICODE be set to true or false in the root module");
        pub const JetEnableMultiInstance = @compileError("'JetEnableMultiInstance' requires that UNICODE be set to true or false in the root module");
        pub const JetBeginSession = @compileError("'JetBeginSession' requires that UNICODE be set to true or false in the root module");
        pub const JetCreateDatabase = @compileError("'JetCreateDatabase' requires that UNICODE be set to true or false in the root module");
        pub const JetCreateDatabase2 = @compileError("'JetCreateDatabase2' requires that UNICODE be set to true or false in the root module");
        pub const JetAttachDatabase = @compileError("'JetAttachDatabase' requires that UNICODE be set to true or false in the root module");
        pub const JetAttachDatabase2 = @compileError("'JetAttachDatabase2' requires that UNICODE be set to true or false in the root module");
        pub const JetDetachDatabase = @compileError("'JetDetachDatabase' requires that UNICODE be set to true or false in the root module");
        pub const JetDetachDatabase2 = @compileError("'JetDetachDatabase2' requires that UNICODE be set to true or false in the root module");
        pub const JetGetObjectInfo = @compileError("'JetGetObjectInfo' requires that UNICODE be set to true or false in the root module");
        pub const JetGetTableInfo = @compileError("'JetGetTableInfo' requires that UNICODE be set to true or false in the root module");
        pub const JetCreateTable = @compileError("'JetCreateTable' requires that UNICODE be set to true or false in the root module");
        pub const JetCreateTableColumnIndex = @compileError("'JetCreateTableColumnIndex' requires that UNICODE be set to true or false in the root module");
        pub const JetCreateTableColumnIndex2 = @compileError("'JetCreateTableColumnIndex2' requires that UNICODE be set to true or false in the root module");
        pub const JetCreateTableColumnIndex3 = @compileError("'JetCreateTableColumnIndex3' requires that UNICODE be set to true or false in the root module");
        pub const JetCreateTableColumnIndex4 = @compileError("'JetCreateTableColumnIndex4' requires that UNICODE be set to true or false in the root module");
        pub const JetDeleteTable = @compileError("'JetDeleteTable' requires that UNICODE be set to true or false in the root module");
        pub const JetRenameTable = @compileError("'JetRenameTable' requires that UNICODE be set to true or false in the root module");
        pub const JetGetTableColumnInfo = @compileError("'JetGetTableColumnInfo' requires that UNICODE be set to true or false in the root module");
        pub const JetGetColumnInfo = @compileError("'JetGetColumnInfo' requires that UNICODE be set to true or false in the root module");
        pub const JetAddColumn = @compileError("'JetAddColumn' requires that UNICODE be set to true or false in the root module");
        pub const JetDeleteColumn = @compileError("'JetDeleteColumn' requires that UNICODE be set to true or false in the root module");
        pub const JetDeleteColumn2 = @compileError("'JetDeleteColumn2' requires that UNICODE be set to true or false in the root module");
        pub const JetRenameColumn = @compileError("'JetRenameColumn' requires that UNICODE be set to true or false in the root module");
        pub const JetSetColumnDefaultValue = @compileError("'JetSetColumnDefaultValue' requires that UNICODE be set to true or false in the root module");
        pub const JetGetTableIndexInfo = @compileError("'JetGetTableIndexInfo' requires that UNICODE be set to true or false in the root module");
        pub const JetGetIndexInfo = @compileError("'JetGetIndexInfo' requires that UNICODE be set to true or false in the root module");
        pub const JetCreateIndex = @compileError("'JetCreateIndex' requires that UNICODE be set to true or false in the root module");
        pub const JetCreateIndex2 = @compileError("'JetCreateIndex2' requires that UNICODE be set to true or false in the root module");
        pub const JetCreateIndex3 = @compileError("'JetCreateIndex3' requires that UNICODE be set to true or false in the root module");
        pub const JetCreateIndex4 = @compileError("'JetCreateIndex4' requires that UNICODE be set to true or false in the root module");
        pub const JetDeleteIndex = @compileError("'JetDeleteIndex' requires that UNICODE be set to true or false in the root module");
        pub const JetGetDatabaseInfo = @compileError("'JetGetDatabaseInfo' requires that UNICODE be set to true or false in the root module");
        pub const JetGetDatabaseFileInfo = @compileError("'JetGetDatabaseFileInfo' requires that UNICODE be set to true or false in the root module");
        pub const JetOpenDatabase = @compileError("'JetOpenDatabase' requires that UNICODE be set to true or false in the root module");
        pub const JetOpenTable = @compileError("'JetOpenTable' requires that UNICODE be set to true or false in the root module");
        pub const JetGetCurrentIndex = @compileError("'JetGetCurrentIndex' requires that UNICODE be set to true or false in the root module");
        pub const JetSetCurrentIndex = @compileError("'JetSetCurrentIndex' requires that UNICODE be set to true or false in the root module");
        pub const JetSetCurrentIndex2 = @compileError("'JetSetCurrentIndex2' requires that UNICODE be set to true or false in the root module");
        pub const JetSetCurrentIndex3 = @compileError("'JetSetCurrentIndex3' requires that UNICODE be set to true or false in the root module");
        pub const JetSetCurrentIndex4 = @compileError("'JetSetCurrentIndex4' requires that UNICODE be set to true or false in the root module");
        pub const JetCompact = @compileError("'JetCompact' requires that UNICODE be set to true or false in the root module");
        pub const JetDefragment = @compileError("'JetDefragment' requires that UNICODE be set to true or false in the root module");
        pub const JetDefragment2 = @compileError("'JetDefragment2' requires that UNICODE be set to true or false in the root module");
        pub const JetDefragment3 = @compileError("'JetDefragment3' requires that UNICODE be set to true or false in the root module");
        pub const JetSetDatabaseSize = @compileError("'JetSetDatabaseSize' requires that UNICODE be set to true or false in the root module");
        pub const JetBackup = @compileError("'JetBackup' requires that UNICODE be set to true or false in the root module");
        pub const JetBackupInstance = @compileError("'JetBackupInstance' requires that UNICODE be set to true or false in the root module");
        pub const JetRestore = @compileError("'JetRestore' requires that UNICODE be set to true or false in the root module");
        pub const JetRestore2 = @compileError("'JetRestore2' requires that UNICODE be set to true or false in the root module");
        pub const JetRestoreInstance = @compileError("'JetRestoreInstance' requires that UNICODE be set to true or false in the root module");
        pub const JetGetAttachInfo = @compileError("'JetGetAttachInfo' requires that UNICODE be set to true or false in the root module");
        pub const JetGetAttachInfoInstance = @compileError("'JetGetAttachInfoInstance' requires that UNICODE be set to true or false in the root module");
        pub const JetOpenFile = @compileError("'JetOpenFile' requires that UNICODE be set to true or false in the root module");
        pub const JetOpenFileInstance = @compileError("'JetOpenFileInstance' requires that UNICODE be set to true or false in the root module");
        pub const JetGetLogInfo = @compileError("'JetGetLogInfo' requires that UNICODE be set to true or false in the root module");
        pub const JetGetLogInfoInstance = @compileError("'JetGetLogInfoInstance' requires that UNICODE be set to true or false in the root module");
        pub const JetGetLogInfoInstance2 = @compileError("'JetGetLogInfoInstance2' requires that UNICODE be set to true or false in the root module");
        pub const JetGetTruncateLogInfoInstance = @compileError("'JetGetTruncateLogInfoInstance' requires that UNICODE be set to true or false in the root module");
        pub const JetExternalRestore = @compileError("'JetExternalRestore' requires that UNICODE be set to true or false in the root module");
        pub const JetExternalRestore2 = @compileError("'JetExternalRestore2' requires that UNICODE be set to true or false in the root module");
        pub const JetGetInstanceInfo = @compileError("'JetGetInstanceInfo' requires that UNICODE be set to true or false in the root module");
        pub const JetOSSnapshotFreeze = @compileError("'JetOSSnapshotFreeze' requires that UNICODE be set to true or false in the root module");
        pub const JetOSSnapshotGetFreezeInfo = @compileError("'JetOSSnapshotGetFreezeInfo' requires that UNICODE be set to true or false in the root module");
    },
};
//--------------------------------------------------------------------------------
// Section: Imports (8)
//--------------------------------------------------------------------------------
const CHAR = @import("../foundation.zig").CHAR;
const JET_API_PTR = @import("../storage/structured_storage.zig").JET_API_PTR;
const JET_HANDLE = @import("../storage/structured_storage.zig").JET_HANDLE;
const JET_INSTANCE = @import("../storage/structured_storage.zig").JET_INSTANCE;
const JET_SESID = @import("../storage/structured_storage.zig").JET_SESID;
const JET_TABLEID = @import("../storage/structured_storage.zig").JET_TABLEID;
const PSTR = @import("../foundation.zig").PSTR;
const PWSTR = @import("../foundation.zig").PWSTR;

test {
    // The following '_ = <FuncPtrType>' lines are a workaround for https://github.com/ziglang/zig/issues/4476
    if (@hasDecl(@This(), "JET_PFNSTATUS")) {
        _ = JET_PFNSTATUS;
    }
    if (@hasDecl(@This(), "JET_CALLBACK")) {
        _ = JET_CALLBACK;
    }
    if (@hasDecl(@This(), "JET_PFNDURABLECOMMITCALLBACK")) {
        _ = JET_PFNDURABLECOMMITCALLBACK;
    }
    if (@hasDecl(@This(), "JET_PFNREALLOC")) {
        _ = JET_PFNREALLOC;
    }

    @setEvalBranchQuota(comptime @import("std").meta.declarations(@This()).len * 3);

    // reference all the pub declarations
    if (!@import("builtin").is_test) return;
    inline for (comptime @import("std").meta.declarations(@This())) |decl| {
        if (decl.is_pub) {
            _ = @field(@This(), decl.name);
        }
    }
}
