[FREELDR][NTOS:INBV] SAL2-annotate headless-support functions

This commit is contained in:
Hermès Bélusca-Maïto
2026-03-16 16:39:18 +01:00
parent 3012af5e30
commit 50cb29ad4a
4 changed files with 58 additions and 51 deletions

View File

@@ -43,7 +43,8 @@ CPPORT Port[4] =
/* FUNCTIONS ******************************************************************/
VOID
WinLdrLoadGUID(OUT PGUID SystemGuid)
WinLdrLoadGUID(
_Out_ PGUID SystemGuid)
{
PSYSID_UUID_ENTRY CurrentAddress;
@@ -62,11 +63,12 @@ WinLdrLoadGUID(OUT PGUID SystemGuid)
}
BOOLEAN
WinLdrPortInitialize(IN ULONG BaudRate,
IN ULONG PortNumber,
IN PUCHAR PortAddress,
IN BOOLEAN TerminalConnected,
OUT PULONG PortId)
WinLdrPortInitialize(
_In_ ULONG BaudRate,
_In_ ULONG PortNumber,
_In_ PUCHAR PortAddress,
_In_ BOOLEAN TerminalConnected,
_Out_ PULONG PortId)
{
#if defined(SARCH_PC98)
/* Set default baud rate */
@@ -174,21 +176,24 @@ WinLdrPortInitialize(IN ULONG BaudRate,
}
VOID
WinLdrPortPutByte(IN ULONG PortId,
IN UCHAR Byte)
WinLdrPortPutByte(
_In_ ULONG PortId,
_In_ UCHAR Byte)
{
CpPutByte(&Port[PortId], Byte);
}
BOOLEAN
WinLdrPortGetByte(IN ULONG PortId,
OUT PUCHAR Byte)
WinLdrPortGetByte(
_In_ ULONG PortId,
_Out_ PUCHAR Byte)
{
return CpGetByte(&Port[PortId], Byte, TRUE, FALSE) == CP_GET_SUCCESS;
}
BOOLEAN
WinLdrPortPollOnly(IN ULONG PortId)
WinLdrPortPollOnly(
_In_ ULONG PortId)
{
UCHAR Dummy;
@@ -196,8 +201,9 @@ WinLdrPortPollOnly(IN ULONG PortId)
}
VOID
WinLdrEnableFifo(IN ULONG PortId,
IN BOOLEAN Enable)
WinLdrEnableFifo(
_In_ ULONG PortId,
_In_ BOOLEAN Enable)
{
CpEnableFifo(Port[PortId].Address, Enable);
}
@@ -299,7 +305,8 @@ WinLdrInitializeHeadlessPort(VOID)
}
VOID
WinLdrSetupEms(IN PCSTR BootOptions)
WinLdrSetupEms(
_In_ PCSTR BootOptions)
{
PCSTR Option;

View File

@@ -22,7 +22,7 @@ BOOLEAN IsAcpiPresent(VOID);
extern HEADLESS_LOADER_BLOCK LoaderRedirectionInformation;
extern BOOLEAN WinLdrTerminalConnected;
extern VOID WinLdrSetupEms(IN PCSTR BootOptions);
extern VOID WinLdrSetupEms(_In_ PCSTR BootOptions);
PLOADER_SYSTEM_BLOCK WinLdrSystemBlock;
/**/PCWSTR BootFileSystem = NULL;/**/

View File

@@ -25,7 +25,8 @@ CPPORT Port[4] =
BOOLEAN
NTAPI
InbvPortPollOnly(IN ULONG PortId)
InbvPortPollOnly(
_In_ ULONG PortId)
{
UCHAR Dummy;
@@ -35,8 +36,9 @@ InbvPortPollOnly(IN ULONG PortId)
BOOLEAN
NTAPI
InbvPortGetByte(IN ULONG PortId,
OUT PUCHAR Byte)
InbvPortGetByte(
_In_ ULONG PortId,
_Out_ PUCHAR Byte)
{
/* Read a byte from the port */
return CpGetByte(&Port[PortId], Byte, TRUE, FALSE) == CP_GET_SUCCESS;
@@ -44,8 +46,9 @@ InbvPortGetByte(IN ULONG PortId,
VOID
NTAPI
InbvPortPutByte(IN ULONG PortId,
IN UCHAR Byte)
InbvPortPutByte(
_In_ ULONG PortId,
_In_ UCHAR Byte)
{
/* Send the byte */
CpPutByte(&Port[PortId], Byte);
@@ -53,8 +56,9 @@ InbvPortPutByte(IN ULONG PortId,
VOID
NTAPI
InbvPortEnableFifo(IN ULONG PortId,
IN BOOLEAN Enable)
InbvPortEnableFifo(
_In_ ULONG PortId,
_In_ BOOLEAN Enable)
{
/* Set FIFO as requested */
CpEnableFifo(Port[PortId].Address, Enable);
@@ -62,7 +66,8 @@ InbvPortEnableFifo(IN ULONG PortId,
VOID
NTAPI
InbvPortTerminate(IN ULONG PortId)
InbvPortTerminate(
_In_ ULONG PortId)
{
/* The port is now available */
Port[PortId].Address = NULL;
@@ -70,11 +75,12 @@ InbvPortTerminate(IN ULONG PortId)
BOOLEAN
NTAPI
InbvPortInitialize(IN ULONG BaudRate,
IN ULONG PortNumber,
IN PUCHAR PortAddress,
OUT PULONG PortId,
IN BOOLEAN IsMMIODevice)
InbvPortInitialize(
_In_ ULONG BaudRate,
_In_ ULONG PortNumber,
_In_ PUCHAR PortAddress,
_Out_ PULONG PortId,
_In_ BOOLEAN IsMMIODevice)
{
/* Not yet supported */
ASSERT(IsMMIODevice == FALSE);

View File

@@ -109,42 +109,36 @@ InbvUpdateProgressBar(
VOID
NTAPI
InbvPortEnableFifo(
IN ULONG PortId,
IN BOOLEAN Enable
);
_In_ ULONG PortId,
_In_ BOOLEAN Enable);
BOOLEAN
NTAPI
InbvPortPollOnly(
IN ULONG PortId
);
_In_ ULONG PortId);
BOOLEAN
NTAPI
InbvPortGetByte(
IN ULONG PortId,
OUT PUCHAR Byte
);
_In_ ULONG PortId,
_Out_ PUCHAR Byte);
VOID
NTAPI
InbvPortPutByte(
IN ULONG PortId,
IN UCHAR Byte
);
VOID
NTAPI
InbvPortTerminate(
IN ULONG PortId
);
_In_ ULONG PortId,
_In_ UCHAR Byte);
BOOLEAN
NTAPI
InbvPortInitialize(
IN ULONG BaudRate,
IN ULONG PortNumber,
IN PUCHAR PortAddress,
OUT PULONG PortId,
IN BOOLEAN IsMMIODevice
);
_In_ ULONG BaudRate,
_In_ ULONG PortNumber,
_In_ PUCHAR PortAddress,
_Out_ PULONG PortId,
_In_ BOOLEAN IsMMIODevice);
VOID
NTAPI
InbvPortTerminate(
_In_ ULONG PortId);