Commit graph

78783 commits

Author SHA1 Message Date
Jérôme Gardou
3ec3e1a7f6 [BTRFS] Fix wrong condition check 2020-12-04 15:49:39 +01:00
Hervé Poussineau
19779b3f96 [CMAKE] Our C code base is C99, so mark it as such.
This fixes 64211aa696, which mistakenly declared C11 as default.
2020-12-01 20:42:41 +01:00
Hervé Poussineau
06a6eda0a1 [DDK] Use FORCEINLINE instead of __inline, as in other DDK headers 2020-12-01 18:56:02 +01:00
Hervé Poussineau
b483be4af2 [UMPNPMGR] Remove invalid prototype of inline function
This fixes eede1b9b7a.
2020-12-01 18:51:42 +01:00
Hervé Poussineau
64211aa696 [CMAKE] Declare that we want to use C11/C++11
That way, we won't use whatever standard is the default on whatever compiler we are using.
This should also prevent using more recent features without warning.
2020-12-01 18:51:42 +01:00
Hervé Poussineau
4469ab3620 [CMAKE] Disable compression of debug sections in GCC <= 7.0
We use MSVC, Clang or GCC > 7.0 these days.
2020-12-01 18:44:53 +01:00
Riley Bell
3014417919 [SHELL32] Hide "This version of ReactOS is registered to:" text on condition (#3325)
When the system is not installed yet (e.g. LiveCD or 2nd installation stage)
there is no registered user and organization, so no need to show this text
label in the shell about dialog.

Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>
2020-11-30 03:12:32 +03:00
Oleg Dubinskiy
6bf7f83b2a
[MSGINA] Improve exports for all stubbed functions (#3256)
Since they are completely undocumented and unlikely will be implemented in ROS,
stubbing them only in spec file seems to be a better solution than adding wrong
prototypes.

Use `stdcall -stub` instead of `stub` and enable parameters of the functions.
This allows to properly load our msgina.dll in Windows XP/2003.

Although it still doesn't boot to desktop with dll replaced, but nevertheless
the system crash that was caused by stubbed functions does no longer happen.
2020-11-28 17:32:53 +03:00
Oleg Dubinskiy
c0d2cd508f
[MSGINA] Implement ShellTurnOffDialog (#3254)
Based on the following prototype: http://diendan.congdongcviet.com/threads/t13622::tim-handle-cua-cua-so-tat-may-tren-windows-nhu-the-nao.cpp?p=69284#post69284 (line 32) and return ShellShutdownDialog from it with all required parameters.
It allows to open the shutdown dialog properly from the Start menu with shell32.dll from Windows Server 2003 SP2 (when installing ReactOS as Workstation).

CORE-17313
2020-11-28 17:22:46 +03:00
Thomas Faber
828d5fa93e
[NTOS:IO] Reduce stack usage in IopLoadServiceModule. CORE-17215 2020-11-27 12:44:35 +01:00
Thomas Faber
2858ff53ce
[NTOS:KD] Avoid large stack buffer in KdpPrint. CORE-17215 2020-11-27 10:31:45 +01:00
Thomas Faber
ae1d272add
[NTOS:PNP] Avoid recursion in IopTraverseDeviceTree(Node). CORE-17215 2020-11-27 10:31:41 +01:00
Stanislav Motylkov
5cb9f8765b
[SMSS] Revert commit 131bc73
This is now fixed properly by de16ef3.
2020-11-26 13:06:20 +03:00
Stanislav Motylkov
34a634bbf6
[PARTINFO] Fix GitHub MSVC (amd64) build
Addendum to 878186b.
2020-11-26 12:22:31 +03:00
Hermès Bélusca-Maïto
878186b0c5
[ROSAPPS:PARTINFO] Implement display of IOCTL_DISK_GET_DRIVE_LAYOUT_EX info, for both MBR and GPT disks. 2020-11-26 03:33:40 +01:00
Hermès Bélusca-Maïto
118fa50269
[ROSAPPS:PARTINFO] Code formatting. 2020-11-26 03:33:37 +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
Stanislav Motylkov
131bc73555
[SMSS] Fix x64 build. Addendum to a0721eb
This part is specific for x86 architecture.
2020-11-26 03:50:16 +03:00
Hermès Bélusca-Maïto
a0721ebdd3
[SMSS] Use the new IsNEC_98 macro defined for user-mode. 2020-11-26 00:29:34 +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
a59cecd89d
[SETUPLIB] Add two hacks in partlist.c for temporarily setting consistently the disk partition style.
Add two hacks in UpdateDiskLayout() and WritePartitions() so that the
disk partition style is consistently set to a known value MBR, especially
when that disk was previously new and uninitialized (RAW).
A proper fix will be developed later when support for GPT is added.
2020-11-24 04:37:52 +01:00
Hermès Bélusca-Maïto
05cd77028c
[SETUPLIB][USETUP] Cleanup some code in USETUP. Redefine FormatPartition() and ChkdskPartition() helpers
so that they wrap the needed init steps for formatting/chkdsk'ing.

These helpers now accept a PPARTENTRY, together with the usual
formatting/chkdsk parameters. The helpers now determine the actual
NT path to use, and can perform the init steps on the partition
before performing the actual operation.

In particular, FormatPartition() is now made GPT-compliant. The
partition type retrieved by FileSystemToMBRPartitionType() is now
used as a hint for choosing FAT32 over FAT12/16, and only in the
case of a MBR partition that is *NOT* a recognized OEM partition,
it is used for updating the corresponding partition type. (OEM
partitions must retain their original type.)

The OEM partition types we (and NT) can recognize are specified
e.g. in the Microsoft Open-Specification [MS-DMRP] Appendix B
https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-dmrp/5f5043a3-9e6d-40cc-a05b-1a4a3617df32

Introduce an IsOEMPartition() macro to help checking for these types
(its name is based on the Is***Partition() macros from ntdddisk.h,
and from a dmdskmgr.dll export of similar name).
2020-11-24 03:24:41 +01:00
Hermès Bélusca-Maïto
9735a8379f
[SETUPLIB] Make InferFileSystem() compatible for both MBR and GPT disks. Simplify the FSREC interface a bit.
Instead of providing an MBR partition type to InferFileSystem(), make
it call IOCTL_DISK_GET_PARTITION_INFO(_EX) to determine whether the
partition pointed by the path/handle is MBR or GPT. Then, only if it's
MBR, we retrieve its partition type in order to "guess" an adequate file
system name, in case the latter was not recognized already via regular
ways (via GetFileSystemName() / NtQueryVolumeInformationFile()).

- Remove the GetFileSystemNameByHandle() and InferFileSystemByHandle()
  functions. Instead, make the other GetFileSystemName*() and
  InferFileSystem*() functions accept a HANDLE as an alternative to the
  already-existing partition path string. These parameters are exclusive
  to each other.

- Rename SetPartitionType() -> SetMBRPartitionType(),
  and FileSystemToPartitionType() -> FileSystemToMBRPartitionType()
  in order to really clarify what they do (since this code is meant
  for MBR partitions only, not GPT ones).
2020-11-24 03:24:36 +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
cdaa5d5fc7
[BTRFSLIB] Reduce the diff with upstream, and fix a memory leak.
- Reduce the diff with upstream by aliasing malloc() and free()
  with RtlAllocateHeap() and RtlFreeHeap() respectively.

- Fix a memory leak in the failure code path of the do-while
  memory reallocation loop for IOCTL_BTRFS_QUERY_FILESYSTEMS
  in is_mounted_multi_device().
2020-11-22 21:34:13 +01:00
Hermès Bélusca-Maïto
65758cc3b4
[FMIFS] Whitespaces formatting only. 2020-11-22 21:34:04 +01:00
Hervé Poussineau
1a3c607f53 [NTOS:KD] Change the way we detect if exception if from KernelMode/UserMode
CORE-17381
2020-11-22 18:17:59 +01:00
Thomas Faber
044be0e314
[USER32_DYNAMIC_APITEST] Remove a tautological check. Spotted by clang. 2020-11-22 13:22:03 +01:00
Thomas Faber
99c02855a8
[GITHUB] Add clang-cl location to the beginning of PATH instead of the end.
Fixes build with the latest VS2019 (16.8.2).
The new version now adds Llvm\x64\bin to the PATH of the
"x64_x86 Cross Tools Commannd Prompt", so we must override this to
get x86 clang.
2020-11-22 13:21:58 +01:00
Thomas Faber
9cc1a26b70
[ACPICA] Update to version 20201113. CORE-17382 2020-11-22 11:23:25 +01:00
Tibor Lajos Füzi
07cc0b5a2b
[TRANSLATION] Hungarian translation update for credui, devmgr, netid, sysdm (#3285) 2020-11-21 18:07:48 +01:00
He Yang
02c566b524
[TRANSLATION][CMD] Update zh-CN translation (partially) (#3330) 2020-11-21 18:05:22 +01:00
Aobi Chan CL
fc3ccb3948
[TRANSLATION] Improve zh-TW translation (#3218)
- Added zh-TW translation for the following modules: credui, crypt32, getuname, mapi32, themeui, shlwapi.
- Modify zh-TW translation for other files.
- Moving Traditional Chinese translation back to Zh.rc for files came from Wine (comdlg32).

Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2020-11-21 18:03:37 +01:00
Hermès Bélusca-Maïto
e4f1b12606
Addendum to commit 3e79cb8e: Add also the official URL to the PCI IDs database. 2020-11-21 17:34:55 +01:00
Serge Gautherie
3e79cb8e6c
[HALX86] Update the PCI hardware IDs database.
Extracted from the pci.ids database at https://pci-ids.ucw.cz/ from 2020-11-14 03:15:02 .
Maintained by Albert Pool, Martin Mares, and other volunteers from the PCI ID Project.

Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2020-11-21 17:31:40 +01:00
Jérôme Gardou
f54c7b646c [VMAKE/WIDL] Properly fix build (try 3) 2020-11-20 19:57:48 +01:00
Jérôme Gardou
72d9471424 [CMAKE] Fix host tools dependency tracking 2020-11-20 19:57:48 +01:00
Stanislav Motylkov
059ba9b0c0
[RAPPS] Properly use FormatMessageW with WinInet message table
Addendum to fb1582d. CORE-17375 CORE-17377
2020-11-20 21:30:29 +03:00
Jérôme Gardou
8297109b95 [CMAKE/WIDL] Fix build (try 2) 2020-11-20 10:17:43 +01:00
Jérôme Gardou
acfff0919e [CMAKE/WIDL] Fix build 2020-11-20 10:12:31 +01:00
Jérôme Gardou
b587e7b32e [CMAKE/WIDL] Run widl from the source directory
This dramatically improves ccache direct hit rate as now the generated files are identical across build trees
2020-11-20 09:47:33 +01:00
Hervé Poussineau
44c6df4b27 [NTOS:KD] Correctly define previous mode when entering KDBG (addendum to 0c76bbfe98) 2020-11-17 14:23:36 +01:00
Jérôme Gardou
6488440a6a [PARTMGR] Use FORCEINLINE 2020-11-16 16:58:10 +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
13dad0231a [NCFTP] declare DisposeWinsock as static 2020-11-16 16:58:10 +01:00
Jérôme Gardou
597660a4b7 [GITHUB] Add CLang build action 2020-11-16 16:58:10 +01:00
Jérôme Gardou
9e7071e8fb [NTOSKRNL] DO not disable optimisations when compiling with CLang 2020-11-16 16:58:10 +01:00
Jérôme Gardou
7a52db76c5 [RAPPS] Do not implicitly cast pointer to BOOL 2020-11-16 16:58:10 +01:00
Jérôme Gardou
b0abd14b03 [ATL] Declare pointer as return type for functions returning pointers 2020-11-16 16:58:10 +01:00