Mercurial > games > semicongine
comparison fuhtark_test/include/winapi/winsafer.h @ 1500:91c8c3b7cbf0
add: futhark tests for generating vulkan api
| author | sam <sam@basx.dev> |
|---|---|
| date | Wed, 26 Nov 2025 21:36:48 +0700 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 1499:1f58458b7ef7 | 1500:91c8c3b7cbf0 |
|---|---|
| 1 /** | |
| 2 * This file has no copyright assigned and is placed in the Public Domain. | |
| 3 * This file is part of the w64 mingw-runtime package. | |
| 4 * No warranty is given; refer to the file DISCLAIMER within this package. | |
| 5 */ | |
| 6 #ifndef _WINSAFER_H | |
| 7 #define _WINSAFER_H | |
| 8 | |
| 9 #include <guiddef.h> | |
| 10 #include <wincrypt.h> | |
| 11 | |
| 12 #ifdef __cplusplus | |
| 13 extern "C" { | |
| 14 #endif | |
| 15 | |
| 16 DECLARE_HANDLE(SAFER_LEVEL_HANDLE); | |
| 17 | |
| 18 #define SAFER_SCOPEID_MACHINE 1 | |
| 19 #define SAFER_SCOPEID_USER 2 | |
| 20 | |
| 21 #define SAFER_LEVELID_FULLYTRUSTED 0x40000 | |
| 22 #define SAFER_LEVELID_NORMALUSER 0x20000 | |
| 23 #define SAFER_LEVELID_CONSTRAINED 0x10000 | |
| 24 #define SAFER_LEVELID_UNTRUSTED 0x01000 | |
| 25 #define SAFER_LEVELID_DISALLOWED 0x00000 | |
| 26 | |
| 27 #define SAFER_LEVEL_OPEN 1 | |
| 28 | |
| 29 #define SAFER_MAX_FRIENDLYNAME_SIZE 256 | |
| 30 #define SAFER_MAX_DESCRIPTION_SIZE 256 | |
| 31 #define SAFER_MAX_HASH_SIZE 64 | |
| 32 | |
| 33 #define SAFER_TOKEN_NULL_IF_EQUAL 0x00000001 | |
| 34 #define SAFER_TOKEN_COMPARE_ONLY 0x00000002 | |
| 35 #define SAFER_TOKEN_MAKE_INERT 0x00000004 | |
| 36 #define SAFER_TOKEN_WANT_FLAGS 0x00000008 | |
| 37 | |
| 38 #define SAFER_CRITERIA_IMAGEPATH 0x00001 | |
| 39 #define SAFER_CRITERIA_NOSIGNEDHASH 0x00002 | |
| 40 #define SAFER_CRITERIA_IMAGEHASH 0x00004 | |
| 41 #define SAFER_CRITERIA_AUTHENTICODE 0x00008 | |
| 42 #define SAFER_CRITERIA_URLZONE 0x00010 | |
| 43 #define SAFER_CRITERIA_IMAGEPATH_NT 0x01000 | |
| 44 | |
| 45 #include <pshpack8.h> | |
| 46 | |
| 47 typedef struct _SAFER_CODE_PROPERTIES { | |
| 48 DWORD cbSize; | |
| 49 DWORD dwCheckFlags; | |
| 50 LPCWSTR ImagePath; | |
| 51 HANDLE hImageFileHandle; | |
| 52 DWORD UrlZoneId; | |
| 53 BYTE ImageHash[SAFER_MAX_HASH_SIZE]; | |
| 54 DWORD dwImageHashSize; | |
| 55 LARGE_INTEGER ImageSize; | |
| 56 ALG_ID HashAlgorithm; | |
| 57 LPBYTE pByteBlock; | |
| 58 HWND hWndParent; | |
| 59 DWORD dwWVTUIChoice; | |
| 60 } SAFER_CODE_PROPERTIES,*PSAFER_CODE_PROPERTIES; | |
| 61 | |
| 62 #include <poppack.h> | |
| 63 | |
| 64 #define SAFER_POLICY_JOBID_MASK 0xFF000000 | |
| 65 #define SAFER_POLICY_JOBID_CONSTRAINED 0x04000000 | |
| 66 #define SAFER_POLICY_JOBID_UNTRUSTED 0x03000000 | |
| 67 #define SAFER_POLICY_ONLY_EXES 0x00010000 | |
| 68 #define SAFER_POLICY_SANDBOX_INERT 0x00020000 | |
| 69 #define SAFER_POLICY_HASH_DUPLICATE 0x00040000 | |
| 70 #define SAFER_POLICY_UIFLAGS_MASK 0x000000FF | |
| 71 #define SAFER_POLICY_UIFLAGS_INFORMATION_PROMPT 0x00000001 | |
| 72 #define SAFER_POLICY_UIFLAGS_OPTION_PROMPT 0x00000002 | |
| 73 #define SAFER_POLICY_UIFLAGS_HIDDEN 0x00000004 | |
| 74 | |
| 75 typedef enum _SAFER_POLICY_INFO_CLASS { | |
| 76 SaferPolicyLevelList = 1,SaferPolicyEnableTransparentEnforcement,SaferPolicyDefaultLevel,SaferPolicyEvaluateUserScope,SaferPolicyScopeFlags | |
| 77 } SAFER_POLICY_INFO_CLASS; | |
| 78 | |
| 79 typedef enum _SAFER_OBJECT_INFO_CLASS { | |
| 80 SaferObjectLevelId = 1,SaferObjectScopeId,SaferObjectFriendlyName,SaferObjectDescription,SaferObjectBuiltin,SaferObjectDisallowed, | |
| 81 SaferObjectDisableMaxPrivilege,SaferObjectInvertDeletedPrivileges,SaferObjectDeletedPrivileges,SaferObjectDefaultOwner,SaferObjectSidsToDisable, | |
| 82 SaferObjectRestrictedSidsInverted,SaferObjectRestrictedSidsAdded,SaferObjectAllIdentificationGuids,SaferObjectSingleIdentification, | |
| 83 SaferObjectExtendedError | |
| 84 } SAFER_OBJECT_INFO_CLASS; | |
| 85 | |
| 86 #include <pshpack8.h> | |
| 87 | |
| 88 typedef enum _SAFER_IDENTIFICATION_TYPES { | |
| 89 SaferIdentityDefault,SaferIdentityTypeImageName = 1,SaferIdentityTypeImageHash,SaferIdentityTypeUrlZone,SaferIdentityTypeCertificate | |
| 90 } SAFER_IDENTIFICATION_TYPES; | |
| 91 | |
| 92 typedef struct _SAFER_IDENTIFICATION_HEADER { | |
| 93 SAFER_IDENTIFICATION_TYPES dwIdentificationType; | |
| 94 DWORD cbStructSize; | |
| 95 GUID IdentificationGuid; | |
| 96 FILETIME lastModified; | |
| 97 } SAFER_IDENTIFICATION_HEADER,*PSAFER_IDENTIFICATION_HEADER; | |
| 98 | |
| 99 typedef struct _SAFER_PATHNAME_IDENTIFICATION { | |
| 100 SAFER_IDENTIFICATION_HEADER header; | |
| 101 WCHAR Description[SAFER_MAX_DESCRIPTION_SIZE]; | |
| 102 PWCHAR ImageName; | |
| 103 DWORD dwSaferFlags; | |
| 104 } SAFER_PATHNAME_IDENTIFICATION,*PSAFER_PATHNAME_IDENTIFICATION; | |
| 105 | |
| 106 typedef struct _SAFER_HASH_IDENTIFICATION { | |
| 107 SAFER_IDENTIFICATION_HEADER header; | |
| 108 WCHAR Description[SAFER_MAX_DESCRIPTION_SIZE]; | |
| 109 WCHAR FriendlyName[SAFER_MAX_FRIENDLYNAME_SIZE]; | |
| 110 DWORD HashSize; | |
| 111 BYTE ImageHash[SAFER_MAX_HASH_SIZE]; | |
| 112 ALG_ID HashAlgorithm; | |
| 113 LARGE_INTEGER ImageSize; | |
| 114 DWORD dwSaferFlags; | |
| 115 } SAFER_HASH_IDENTIFICATION,*PSAFER_HASH_IDENTIFICATION; | |
| 116 | |
| 117 typedef struct _SAFER_URLZONE_IDENTIFICATION { | |
| 118 SAFER_IDENTIFICATION_HEADER header; | |
| 119 DWORD UrlZoneId; | |
| 120 DWORD dwSaferFlags; | |
| 121 } SAFER_URLZONE_IDENTIFICATION,*PSAFER_URLZONE_IDENTIFICATION; | |
| 122 | |
| 123 #include <poppack.h> | |
| 124 | |
| 125 WINADVAPI WINBOOL WINAPI SaferGetPolicyInformation(DWORD dwScopeId,SAFER_POLICY_INFO_CLASS SaferPolicyInfoClass,DWORD InfoBufferSize,PVOID InfoBuffer,PDWORD InfoBufferRetSize,LPVOID lpReserved); | |
| 126 WINADVAPI WINBOOL WINAPI SaferSetPolicyInformation(DWORD dwScopeId,SAFER_POLICY_INFO_CLASS SaferPolicyInfoClass,DWORD InfoBufferSize,PVOID InfoBuffer,LPVOID lpReserved); | |
| 127 WINADVAPI WINBOOL WINAPI SaferCreateLevel(DWORD dwScopeId,DWORD dwLevelId,DWORD OpenFlags,SAFER_LEVEL_HANDLE *pLevelHandle,LPVOID lpReserved); | |
| 128 WINADVAPI WINBOOL WINAPI SaferCloseLevel(SAFER_LEVEL_HANDLE hLevelHandle); | |
| 129 WINADVAPI WINBOOL WINAPI SaferIdentifyLevel(DWORD dwNumProperties,PSAFER_CODE_PROPERTIES pCodeProperties,SAFER_LEVEL_HANDLE *pLevelHandle,LPVOID lpReserved); | |
| 130 WINADVAPI WINBOOL WINAPI SaferComputeTokenFromLevel(SAFER_LEVEL_HANDLE LevelHandle,HANDLE InAccessToken,PHANDLE OutAccessToken,DWORD dwFlags,LPVOID lpReserved); | |
| 131 WINADVAPI WINBOOL WINAPI SaferGetLevelInformation(SAFER_LEVEL_HANDLE LevelHandle,SAFER_OBJECT_INFO_CLASS dwInfoType,LPVOID lpQueryBuffer,DWORD dwInBufferSize,LPDWORD lpdwOutBufferSize); | |
| 132 WINADVAPI WINBOOL WINAPI SaferSetLevelInformation(SAFER_LEVEL_HANDLE LevelHandle,SAFER_OBJECT_INFO_CLASS dwInfoType,LPVOID lpQueryBuffer,DWORD dwInBufferSize); | |
| 133 WINADVAPI WINBOOL WINAPI SaferRecordEventLogEntry(SAFER_LEVEL_HANDLE hLevel,LPCWSTR szTargetPath,LPVOID lpReserved); | |
| 134 WINADVAPI WINBOOL WINAPI SaferiIsExecutableFileType(LPCWSTR szFullPathname,BOOLEAN bFromShellExecute); | |
| 135 | |
| 136 #ifdef __cplusplus | |
| 137 } | |
| 138 #endif | |
| 139 #endif |
