Commit graph

915 commits

Author SHA1 Message Date
Jérôme Gardou
5466fc13a3 [NDK] Make kefuncs.h C++ aware 2021-05-04 12:02:41 +02:00
Jérôme Gardou
523912536e [KERNEL32] Sync NLS RC files with wine 6.7
Mostly for having them UTF-8 encoded
2021-05-03 22:00:57 +02:00
Jérôme Gardou
8aea84dab7 [CRT] Do not define builtin functions if not needed 2021-05-03 22:00:57 +02:00
Jérôme Gardou
061c7ecb1a [FRAMEDYN] Fix the whole situation with regards to wchar_t
Alias CHSTRING_WCHAR to unsigned short and use inline wrappers
to be able to use the thing with modern compilers

Put the GCC aliases into the public header.

Enable build with clang-cl
2021-05-03 22:00:57 +02:00
Jérôme Gardou
976c4c10aa [CRT] Fix SEH macros for clang x64 2021-05-03 22:00:57 +02:00
George Bișoc
11a60cebea
[NTOS:PS] Add some data structures
These are needed for API tests. The following structures are taken from Process Hacker.
2021-05-02 21:03:09 +02:00
Serge Gautherie
f1689cdcea [PSDK] UnlockResource(): Improve definition
Sync' with
a9e50da352
2021-05-01 09:48:02 +02:00
Jérôme Gardou
2413530acf [SDK] Use GAS SEH capabilities instead of CFI
Also remove a hack for x86 GAS which no longer holds
2021-04-28 13:10:23 +02:00
Jérôme Gardou
ba74a05a17 [PSEH] Add implementation for GCC amd64
Also, put include directory next to the library and use
target_include_directories(.. INTERFACE ..) to get this right.
This is because :
 - Having includes & implementation in two different places buggers me
 - This makes sure that there is no "if it compiles everything is fine" behaviour from anyone
   because now even static libraries need it for GCC amd64 build
Also add __USE_PSEH2__ define for the non SEH-aware compilers out there and use it in a few headers
where we define macros involving __try
2021-04-28 13:10:23 +02:00
Jérôme Gardou
96a2b18903 [PSEH] Make the dummy PSEH at least usable.
Not screwing the code flow when no exception happens would be the least
2021-04-28 13:10:23 +02:00
Jérôme Gardou
955b5c27b1 [CRT] Fix __ll_lshift, __ll_rshift and __ull_rshift intrinsics on gcc-amd64 2021-04-28 13:10:23 +02:00
Jérôme Gardou
382426f02e [NDK] Add some missing defines for EFLAGS on amd64 2021-04-28 13:10:23 +02:00
Jérôme Gardou
7513cc9fca [PSDK] Do not compare to max value if we can make sure that the value fits in target type
This fixes clang warning -Wtautological-constant-out-of-range-compare
2021-04-28 13:10:23 +02:00
Jérôme Gardou
a4138329a1 [CRT] Add macros to disable diagnostics from GCC and clang
Instead of disabling them globally, this will help making finer grained decisions
2021-04-28 13:10:23 +02:00
Jérôme Gardou
b513c61cd1 [SDK] Fix definition of IMAGE_NT_HEADERS64 in host tools 2021-04-28 13:10:23 +02:00
George Bișoc
44fb528fcc
[NTOS:SE] Implement the NtImpersonateAnonymousToken system call
Implement SepImpersonateAnonymousToken private helpers, which is necessary for the complete implementation of NtImpersonateAnonymousToken function and thus finally we're able to impersonate the anonymous logon token.
2021-04-27 12:25:03 +02:00
Jérôme Gardou
ba9a7decba [PSDK] Import winuser.rh from wine 6.7 2021-04-27 11:54:12 +02:00
Serge Gautherie
b6493654a3 [CRT] intrin_x86.h: Fix '_InterlockedIncrement64' copypasta
Addendum to bc3a471.
2021-04-27 10:36:54 +03:00
Katayama Hirofumi MZ
66f6abfc4a
[SDK][INCLUDE] Fix offsetof and CCSIZEOF_STRUCT for Clang-CL build (#3624)
Clang-CL was failing with "error: function declaration cannot have variably modified type". This PR will fix the Clang-CL build. CORE-17547
2021-04-25 13:38:22 +09:00
Serge Gautherie
0dedb9b474
[WINLOGON][MPR][SDK] WNetClearConnections: Fix function parameter type (#3480)
Addendum to 62f79fae93.

Signed-off-by: Serge Gautherie <reactos-git_serge_171003@gautherie.fr>
2021-04-18 21:58:44 +03:00
Jérôme Gardou
3731fd1661 [CRT] Properly declare rot functions in public headers 2021-04-09 15:12:13 +02:00
Jérôme Gardou
bc3a471413 [CRT] Do not try to implement x86_64 builtins of clang 2021-04-09 10:33:05 +02:00
Victor Perevertkin
6645227270
[PC98VID] Fix a typo, addendum to 959729f6ee 2021-04-09 03:59:55 +03:00
Victor Perevertkin
959729f6ee [PC98VID] Fix clang 12 warning 2021-04-09 03:54:25 +03:00
Victor Perevertkin
c7d1ff4a9d [SDK][NDK] Fix clang 12 compilation 2021-04-09 03:51:32 +03:00
Jérôme Gardou
6d957d6958 [NDK] Define NX bit in X86PAE PTE struct 2021-04-08 15:40:37 +02:00
Eric Kohl
c449929fef [NTOS:EX] Use RtlCutoverTimeToSystemTime to determine the current time zone id
CORE-14658
2021-04-03 09:38:07 +02:00
Jérôme Gardou
8f963c38c6 [SDK:INCLUDE] Cast to type instead of PVOID
For C++ header compatibility
2021-03-24 11:08:40 +01:00
Jérôme Gardou
fa74ae571b [XDK] Undefine some defines once they are not needed 2021-03-24 11:07:54 +01:00
Jérôme Gardou
e55123a6a2 [CMAKE] Add the kernel module type
Take this as an occasion to use target_link_options more
2021-03-23 11:18:43 +01:00
Jérôme Gardou
525d19d469 [NDK][XDK] Use decimal literals for MINxxxx defines
Because myLongLong < MINLONG is supposed to behave like you'd expect
2021-03-19 11:04:19 +01:00
Katayama Hirofumi MZ
f9b89c9961 [SDK][INCLUDE] msgdump.h: Support RegisterWindowMessage
msgdump.h: Version 18.
2021-03-18 18:41:03 +09:00
Victor Perevertkin
029accdcf7
[NDK] Change the data structure for PlugPlayControlResetDevice control class
PlugPlayControlResetDevice shares the input structure with several other
control classes.
Source: ProcessHacker sources e9c8121f41/ntpnpapi.h
2021-03-16 03:17:42 +03:00
Katayama Hirofumi MZ
2d066c93fe
[SHELL32] Fix SHBrowseForFolder new UI layout (#3533)
CORE-17507

- Change layout of resource dialogs IDD_BROWSE_FOR_FOLDER_NEW.
- Delete IDC_BROWSE_FOR_FOLDER_FOLDER control.
- Fix focus.
- Add ES_NOHIDESEL style to IDC_BROWSE_FOR_FOLDER_FOLDER_TEXT control.
- Add TVS_SHOWSELALWAYS style to IDC_BROWSE_FOR_FOLDER_TREEVIEW control.
- Fix assertion failure in LayoutUpdate function in <layout.h>.
2021-03-15 07:13:03 +09:00
Katayama Hirofumi MZ
e1a5ba188e
[SHELL32] SHBrowseForFolder with BIF_EDITBOX should use new UI (#3532)
CORE-17506

- Convert some judgements against BIF_NEWDIALOGSTYLE to judgements against BIF_USENEWUI. Here BIF_USENEWUI == (BIF_NEWDIALOGSTYLE | BIF_EDITBOX).
- Remove WS_SIZEBOX window style from new UI dialog resource (IDD_BROWSE_FOR_FOLDER_NEW).
- Fix header layout.h for resizing without WS_SIZEBOX.
2021-03-14 18:35:40 +09:00
Katayama Hirofumi MZ
ac507691fb [SDK][INCLUDE] layout.h: Use SWP_NOCOPYBITS to refresh controls 2021-03-14 12:28:48 +09:00
Mark Jansen
1952e5b795
Fix some assertions now that they are enabled (#3524)
Fix some assertions, hack out some others (they need more ATL work).
CORE-17505
2021-03-11 07:43:06 +09:00
Victor Perevertkin
0a26c7c5d2
[SDK:DDK] Implement the Auxiliary Kernel-Mode Library
And uncomment the code in KMDF which uses it
2021-03-10 16:43:59 +03:00
Jérôme Gardou
97d4cb6ee0 [CRT] Declare strlen & wcslen as _CRTIMP 2021-03-03 08:34:32 +01:00
George Bișoc
6170b574f0
[NTOS:PS] Implement PS_QUOTA_TYPE and let the quota code use it (#3389)
This will replace the PoolIndex variable and as such we'll only be using the PS_QUOTA_TYPE enumeration, as Windows does. Both QuotaEntry, QuotaUsage and QuotaPeak depend explicitly or implicitly on this enumeration. Further details about this enum can be found in the following articles.
https://www.geoffchappell.com/studies/windows/km/ntoskrnl/api/ps/psquota/type.htm?tx=68,143
https://www.geoffchappell.com/studies/windows/km/ntoskrnl/api/ps/psquota/block.htm?tx=68,142,143
https://www.geoffchappell.com/studies/windows/km/ntoskrnl/inc/ps/eprocess/index.htm (see QuotaPeak and QuotaUsage)
2021-03-02 20:09:58 +01:00
Jérôme Gardou
6c100a13c2 [SDK:INCLUDE] Define KTRAP_FRAME_CS 2021-03-02 14:36:46 +01:00
Jérôme Gardou
7fb6030e05 [SDK] Properly put assembly debug info into .debug_frame section
For some reason, the default is to put it into .eh_frame where objcopy & al happily ignore them
2021-03-02 14:36:38 +01:00
Eric Kohl
1fbb295d4a [LSASRV][SECUR32] Fix the naming mess
Rename Untrusted to TrustredCaller in LSA_CONNECTION_INFO and LSAP_LOGON_CONTEXT in order to clarify the meaning of the variable.
2021-02-28 11:03:33 +01:00
Katayama Hirofumi MZ
6b2e79d067 [SDK][INCLUDE] layout.h: Delete an assertion for window style
WS_SIZEBOX or WS_THICKFRAME. CORE-9281
2021-02-27 22:59:00 +09:00
Katayama Hirofumi MZ
c14c9ca0d8 [SDK][INCLUDE] Erase files of incorrect commit
Delete files at mistaken commit:
0efd7b9764

rm sdk/include/host/cmake_install.cmake
rm sdk/include/reactos/buildno.h
rm sdk/include/reactos/version.h
2021-02-25 09:21:13 +09:00
Katayama Hirofumi MZ
0efd7b9764 [SDK][INCLUDE] Strengthen and improve layout.h
- Refreshing STATIC controls.
- In LayoutInit function, if cLayouts parameter was negative, then don't use size grip.
2021-02-25 09:12:47 +09:00
Hervé Poussineau
77d69c68b8 [OBJ2BIN] Add support for IMAGE_REL_I386_REL16
Also return error in case of unknown relocation type.
2021-02-22 14:21:43 +01:00
Serge Gautherie
7ca16bf696
[PSDK] winbase.h: Update LoadLibraryEx() dwFlags value defines (#3456)
Add another Vista check.
Addendum to 986cc5e.
2021-02-17 00:37:48 +09:00
Eric Kohl
87a4624e20 [WKSSVC][NETAPI32] Implement NetrWkstaGetInfo and get rid of the old NetWkstaGetInfo implementation 2021-02-13 23:19:29 +01:00
Serge Gautherie
986cc5e8e2
[PSDK] winbase.h: Update LoadLibraryEx() dwFlags value defines (#3153)
* Deci-to-Hexa.
* Add more values.
* Add a Vista check.
2021-02-13 23:16:49 +09:00
Eric Kohl
560b66a2d5 [NET] Remove the NAME, PRINT and SEND options because we will most likely never have a messenger service 2021-02-07 13:45:25 +01:00
George Bișoc
dd4c113594
[NTOS:SE] Do not use a global lock for tokens (#3445)
In Windows Server 2003 the lock is initialised on a per-token basis, that is, the lock resource is created in SepDuplicateToken() and SepCreateToken() functions. This ensures that the lock initialisation is done locally for the specific token thus avoiding the need of a global lock.
2021-02-05 12:10:19 +03:00
winesync
1dfb089b4b [WINESYNC] d3dx9_*: Add D3DXSHProjectCubeMap stub
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46284

wine-staging patch by Andrey Gusev <andrey.goosev@gmail.com>
2021-02-04 16:37:07 +01:00
winesync
256cd6a4cb [WINESYNC] include: Fix D3DXF_FILELOADMEMORY definition.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c9c74b8b10116c3f0b3bd4d08724963245499a92 by Matteo Bruni <mbruni@codeweavers.com>
2021-02-04 16:37:03 +01:00
Jérôme Gardou
ad65e645dc [SDK/WINE] Add debugstr_a in wine/test.h 2021-02-04 16:37:01 +01:00
Jérôme Gardou
86a0852ffb [SDK/CRT] Provide inline implementation of log2 2021-02-04 16:37:01 +01:00
Jérôme Gardou
7b1049c8fd [WINESYNC]: revert wine-staging patchset for d3dx9 2021-02-04 16:37:01 +01:00
Jérôme Gardou
073ec9b0d4 [NTOSKRNL][NDK] Get rid of SECTION_OBJECT typedef
We will use the more recent SECTION (already used in ARM3) and this will avoid confusions
2021-02-03 09:41:21 +01:00
George Bișoc
1903b568b6
[NTOS:SE] Implement SECURITY_TOKEN_PROXY_DATA, SECURITY_TOKEN_AUDIT_D… (#3432)
ProxyData and AuditData are pointers to an arbitrary data, which instead, they should point to their respective data structures. This serves as preparation for SepFreeProxyData and SepCopyProxyData functions implementations in the future (regarding the proxy data stuff specifically).

For further details:
https://www.vergiliusproject.com/kernels/x86/Windows%202003/SP2/_TOKEN
https://www.nirsoft.net/kernel_struct/vista/SECURITY_TOKEN_AUDIT_DATA.html
https://www.nirsoft.net/kernel_struct/vista/SECURITY_TOKEN_PROXY_DATA.html
https://www.nirsoft.net/kernel_struct/vista/PROXY_CLASS.html
2021-02-02 01:55:42 +03:00
Colin Finck
50a01ed170 [SYSDM] Introduce KERNEL_VERSION_REVISION_RC and align system uptime string 2021-02-01 07:32:14 +01:00
Jérôme Gardou
6a4c6ea5d0 [RTL] Implement RtlTryAcquireSRWLockExclusive & RtlTryAcquireSRWLockShared 2021-01-29 18:42:54 +01:00
Hervé Poussineau
d74df8af74 [SDK x64] Fix MSVC x64 compilation after 5d7dd4a3b5 2021-01-29 08:36:04 +01:00
Hervé Poussineau
5d7dd4a3b5 [ASM x64] Prevent having same label multiple times in ntoskrnl/ke/amd64/trap.S 2021-01-28 20:31:17 +01:00
Hervé Poussineau
c345f7f137 [ASM x64] Make UNIMPLEMENTED macro self-suffisant
This fixes link errors with MsgUnimplemented not defined on binaries not linking to CRT.
2021-01-28 20:31:16 +01:00
Hervé Poussineau
ae4ce99e00 [ASM x64] Fix usage of macro .allocstack
.allocstack only accepts one 'size' parameter."
2021-01-28 20:31:16 +01:00
Victor Perevertkin
798fc13b48
[NTOS:PNP] Implement NT5.2-like DEVICE_NODE state management
- Use DeviceNode->State field and its values, instead of
  DeviceNode->Flags for tracking current node state
- Change DNF_* flags to the ones compatible with Windows XP+
- Simplify state changes for device nodes and encapsulate all the logic
  inside the PiDevNodeStateMachine routine. This makes the ground for
  future improvements in the device removal sequence and
  resource management
- Now values inside DeviceNode->State and ->Flags are compatible with
  the windbg !devnode macro and can be tracked using it
- BUGFIX: fixed cases where IRP_MN_START_DEVICE or
  IRP_MN_QUERY_DEVICE_RELATIONS may be sent to a device after a
  IRP_MN_REMOVE_DEVICE

CORE-7826
2021-01-27 05:15:15 +03:00
Hermès Bélusca-Maïto
9aa73da948
[XDK] Even the DBG_UNREFERENCED_PARAMETER() should use (void)P. Addendum to 46ca069e. 2021-01-18 22:23:24 +01:00
Victor Perevertkin
46ca069e42
[XDK] Remove UNREFERENCE_LOCAL_VARIABLE macro
Change UNREFERENCED_PARAMETER to (VOID)P to support const parameters
2021-01-19 00:15:02 +03:00
Alex Henrie
35f3034879
[NDK] "Reserved" member in SYSTEM_PROCESSOR_INFORMATION is "MaximumProcessors" for Windows 8+ (#3421)
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2021-01-09 23:15:36 +01:00
Hermès Bélusca-Maïto
1303a7dc1c
[PSDK] Whoopsie... Fix "PPPARTITION_INFORMATION_GPT" typo (extra 'P'), caught by BieHDC :)
Addendum to 8a6ed591.
2021-01-08 17:12:21 +01:00
Hermès Bélusca-Maïto
8a6ed59156
[PSDK] Add missing PPARTITION_INFORMATION_GPT, PPARTITION_INFORMATION_MBR, PPARTITION_INFORMATION_EX definitions.
Addendum to commit 7ae3d530.
2021-01-08 01:36:58 +01:00
Hervé Poussineau
ff7035d940 [ASM x64] Change ; by /* */ for comments
Syntax with semi-colon is not supported by gas.
2021-01-07 21:12:11 +01:00
Hervé Poussineau
5112776b2b [SDK] Fix _SEH2_GetExceptionInformation() macro in dummy SEH, to return the right structure 2021-01-05 19:24:23 +01:00
Hervé Poussineau
e3cbdcf2e9 [CRT] Use correct prototypes for GCC x64 2021-01-05 14:19:45 +01:00
Hervé Poussineau
de647b4155 [CRT] Remove bad define of _int128 in GCC x64 2021-01-05 14:19:45 +01:00
Hervé Poussineau
d0b46c6c43 [INCLUDE/WINE] Always define interlocked_* aliases
This was already true for MSVC and GCC x86, make it true for GCC x64.
2021-01-05 14:19:45 +01:00
Hervé Poussineau
3468e27cfe [SDK] Fix hack for GCC, so that it works on GCC x86 and GCC x64 2021-01-05 14:19:45 +01:00
Hervé Poussineau
3187e2a00b [ASM:X64] Remove XSAVE_ALIGN variable (as already done on x86) 2021-01-05 14:19:45 +01:00
Jérôme Gardou
5f3d3d7d48 [PSDK] Add more safe integer routines for LONGLONGs 2021-01-05 13:40:35 +01:00
winesync
f64bdd0732 [WINESYNC] wininet/tests: Fix some test failures with Windows 10.
Windows 10 1607+ no longer validates a NULL window handle, so remove that test.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6b839a0f85236aac2cc794d5d586f1ba371866b1 by Zebediah Figura <z.figura12@gmail.com>
2021-01-05 11:03:13 +01:00
winesync
33fde115eb [WINESYNC] wininet: Add support for detecting the proxy config URL.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a4357043ff9aa14f086207c239f0fc29c0a24b83 by Hans Leidekker <hans@codeweavers.com>
2021-01-05 11:03:13 +01:00
Hermès Bélusca-Maïto
b570fac18b
Happy New Year 2021 to the ReactOS Community!!
⚛️ 🍾 🥳 🎆 ☢️
2021-01-01 00:00:00 +01:00
Hermès Bélusca-Maïto
fb9d8e5239
[PSDK][XDK] Add newer FILE_DEVICE_xxx DEVICE_TYPE defines. 2020-12-27 00:51:57 +01:00
Jérôme Gardou
fab4e82647 [INCLUDE/IDL] Give implicit handles a more unique name
This avoids duplicated symbols when linking DLLs using more than one client or server stub
2020-12-22 13:14:13 +01:00
Jérôme Gardou
988c682e8c [LIBXSLT] Fix public variable declarations when using clang-cl 2020-12-22 12:25:55 +01:00
Oleg Dubinskiy
d5132f5ce3
[BROWSEUI][PSDK] Stubplement ShellTaskScheduler (#3326)
Required by MS Picture and Fax Viewer (shimgvw.dll).
Now it starts properly without replacing any other system files.

CORE-17337
2020-12-20 22:06:16 +03:00
Oleg Dubinskiy
1f5e0f3fa7
[BROWSEUI][PSDK] Stubplement UserAssist
Initial implementation of `CUserAssist` class, which contains `IUserAssist` interface.
See https://www.geoffchappell.com/studies/windows/ie/browseui/classes/userassist.htm.
Required by MS shell32.dll.

CORE-17345 CORE-17393
2020-12-20 17:32:11 +03:00
Jérôme Gardou
003ad0ec07 [PSDK] define __analysis_noreturn for clang static analyzer 2020-12-14 18:22:07 +01:00
Jérôme Gardou
5d4ece342c [CMAKE] Add a NO_REACTOS_BUILDNO option
This allows to not generate buildno.h and version.h after each commit and trigger the relinking of the complete module list
2020-12-07 11:32:37 +01:00
Hermès Bélusca-Maïto
7ae3d530db
[PSDK] Re-arrange DISK/DRIVE/PARTITION layout-related structures in ntdddisk.h and winioctl.h. Add few missing structures in winioctl.h. 2020-12-06 23:44:10 +01:00
Victor Perevertkin
15a7b9dd2f
[CLASSPNP][CDROM_NEW][DISK_NEW] Fix clang build
CORE-17129
2020-12-05 22:15:29 +03:00
Hervé Poussineau
06a6eda0a1 [DDK] Use FORCEINLINE instead of __inline, as in other DDK headers 2020-12-01 18:56:02 +01:00
Hermès Bélusca-Maïto
de16ef3da0
[NDK] Add missing nop NEC definitions if not X86 (for consistency with what's done in the kernel-mode headers). Addendum to 9feab8e9. 2020-11-26 02:05:59 +01:00
Hermès Bélusca-Maïto
9feab8e95a
[NDK][XDK] Add some missing macros for run-time checks of X86 system architecture (NEC support). 2020-11-26 00:29:34 +01:00
Hermès Bélusca-Maïto
c295fb95e9
[XDK] Minor formatting; remove some extra newlines at end of files. 2020-11-26 00:29:20 +01:00
Hermès Bélusca-Maïto
8d3e80e437
[FSLIB][FMIFS][AUTOCHK][SETUPLIB] Use more Windows-compatible (but not fully compatible yet) Format() and Chkdsk() ULIB functions.
[AUTOCHK] Add also support for scanning FATX volumes.

The Format(), FormatEx(), Chkdsk(), ChkdskEx() functions exposed by the
U*.DLL user-mode FS library dlls are different (and have different
prototypes) than the similarly-named functions exported by FMIFS.DLL .

In particular, what we used to call "xxxChkdskEx()" and "xxxFormatEx()"
in our U*.DLL libraries actually correspond more, from their arguments,
to the "Chkdsk()" and "Format()" functions in Windows' U*.DLL . Their
*Ex() counterparts instead take most of the parameters through a
structure passed by pointer.

On FMIFS.DLL side, while FMIFS!Chkdsk() calls U*.DLL!Chkdsk() and
FMIFS!ChkdskEx() calls U*.DLL!ChkdskEx() (and we do not implement these
*Ex() functions at the moment), both FMIFS!Format() and FMIFS!FormatEx()
call U*.DLL!Format() instead, while FMIFS!FormatEx2() calls
U*.DLL!FormatEx() (that we do not implement yet either) !!

To improve that, refactor the calls to these U*.DLL functions so as to
respect the more compatible prototypes: They contain the correct number
of parameters in a compatible order. However, some of the parameters do
not have the same types yet: the strings are kept here in PUNICODE_STRINGS,
while on Windows they are passed via an undocumented DSTRING struct, and
the FMIFS callback is instead a MESSAGE struct/class on Windows.
Finally, the MEDIA_TYPE parameter in U*.DLL!Format() is equivalent, yet
not fully 100% in 1-to-1 correspondence, with the FMIFS_MEDIA_FLAG used
in the corresponding FMIFS.DLL functions.

One thing to notice is that the U*.DLL!Format() (and the Ex) functions
support a BOOLEAN (a flag resp.) for telling that a backwards-compatible
FS version should be used instead of the (default) latest FS version.
This is used e.g. by the FAT FS, where by default FAT32 is selected
(depending also on other constraints like, the disk and the partition
sizes), unless that bit is set in which case, FAT16 (or 12) is used.
2020-11-22 21:57:07 +01:00
Hermès Bélusca-Maïto
65758cc3b4
[FMIFS] Whitespaces formatting only. 2020-11-22 21:34:04 +01:00
Jérôme Gardou
02f4c755b8 [SDK] Use FORCEINLINE instead of inline 2020-11-16 16:58:10 +01:00
Jérôme Gardou
3936c3f19e [CRT] Fix __forceinline definition for clang 2020-11-16 16:58:10 +01:00
Jérôme Gardou
f96e47db43 [CRT] Fix intrinsics definition with clang 2020-11-16 16:58:10 +01:00