ntdll: Move the LPC port syscall stubs to the Unix library.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Alexandre Julliard 2020-07-20 12:19:35 +02:00
parent ff9ce43c01
commit a47f4daf8f
3 changed files with 122 additions and 167 deletions

View File

@ -673,155 +673,6 @@ NTSTATUS WINAPI NtPrivilegeCheck(
return status;
}
/*
* ports
*/
/******************************************************************************
* NtCreatePort [NTDLL.@]
* ZwCreatePort [NTDLL.@]
*/
NTSTATUS WINAPI NtCreatePort(PHANDLE PortHandle,POBJECT_ATTRIBUTES ObjectAttributes,
ULONG MaxConnectInfoLength,ULONG MaxDataLength,PULONG reserved)
{
FIXME("(%p,%p,%u,%u,%p),stub!\n",PortHandle,ObjectAttributes,
MaxConnectInfoLength,MaxDataLength,reserved);
return STATUS_NOT_IMPLEMENTED;
}
/******************************************************************************
* NtConnectPort [NTDLL.@]
* ZwConnectPort [NTDLL.@]
*/
NTSTATUS WINAPI NtConnectPort(
PHANDLE PortHandle,
PUNICODE_STRING PortName,
PSECURITY_QUALITY_OF_SERVICE SecurityQos,
PLPC_SECTION_WRITE WriteSection,
PLPC_SECTION_READ ReadSection,
PULONG MaximumMessageLength,
PVOID ConnectInfo,
PULONG pConnectInfoLength)
{
FIXME("(%p,%s,%p,%p,%p,%p,%p,%p),stub!\n",
PortHandle,debugstr_w(PortName->Buffer),SecurityQos,
WriteSection,ReadSection,MaximumMessageLength,ConnectInfo,
pConnectInfoLength);
if (ConnectInfo && pConnectInfoLength)
TRACE("\tMessage = %s\n",debugstr_an(ConnectInfo,*pConnectInfoLength));
return STATUS_NOT_IMPLEMENTED;
}
/******************************************************************************
* NtSecureConnectPort (NTDLL.@)
* ZwSecureConnectPort (NTDLL.@)
*/
NTSTATUS WINAPI NtSecureConnectPort(
PHANDLE PortHandle,
PUNICODE_STRING PortName,
PSECURITY_QUALITY_OF_SERVICE SecurityQos,
PLPC_SECTION_WRITE WriteSection,
PSID pSid,
PLPC_SECTION_READ ReadSection,
PULONG MaximumMessageLength,
PVOID ConnectInfo,
PULONG pConnectInfoLength)
{
FIXME("(%p,%s,%p,%p,%p,%p,%p,%p,%p),stub!\n",
PortHandle,debugstr_w(PortName->Buffer),SecurityQos,
WriteSection,pSid,ReadSection,MaximumMessageLength,ConnectInfo,
pConnectInfoLength);
return STATUS_NOT_IMPLEMENTED;
}
/******************************************************************************
* NtListenPort [NTDLL.@]
* ZwListenPort [NTDLL.@]
*/
NTSTATUS WINAPI NtListenPort(HANDLE PortHandle,PLPC_MESSAGE pLpcMessage)
{
FIXME("(%p,%p),stub!\n",PortHandle,pLpcMessage);
return STATUS_NOT_IMPLEMENTED;
}
/******************************************************************************
* NtAcceptConnectPort [NTDLL.@]
* ZwAcceptConnectPort [NTDLL.@]
*/
NTSTATUS WINAPI NtAcceptConnectPort(
PHANDLE PortHandle,
ULONG PortIdentifier,
PLPC_MESSAGE pLpcMessage,
BOOLEAN Accept,
PLPC_SECTION_WRITE WriteSection,
PLPC_SECTION_READ ReadSection)
{
FIXME("(%p,%u,%p,%d,%p,%p),stub!\n",
PortHandle,PortIdentifier,pLpcMessage,Accept,WriteSection,ReadSection);
return STATUS_NOT_IMPLEMENTED;
}
/******************************************************************************
* NtCompleteConnectPort [NTDLL.@]
* ZwCompleteConnectPort [NTDLL.@]
*/
NTSTATUS WINAPI NtCompleteConnectPort(HANDLE PortHandle)
{
FIXME("(%p),stub!\n",PortHandle);
return STATUS_NOT_IMPLEMENTED;
}
/******************************************************************************
* NtRegisterThreadTerminatePort [NTDLL.@]
* ZwRegisterThreadTerminatePort [NTDLL.@]
*/
NTSTATUS WINAPI NtRegisterThreadTerminatePort(HANDLE PortHandle)
{
FIXME("(%p),stub!\n",PortHandle);
return STATUS_NOT_IMPLEMENTED;
}
/******************************************************************************
* NtRequestWaitReplyPort [NTDLL.@]
* ZwRequestWaitReplyPort [NTDLL.@]
*/
NTSTATUS WINAPI NtRequestWaitReplyPort(
HANDLE PortHandle,
PLPC_MESSAGE pLpcMessageIn,
PLPC_MESSAGE pLpcMessageOut)
{
FIXME("(%p,%p,%p),stub!\n",PortHandle,pLpcMessageIn,pLpcMessageOut);
if(pLpcMessageIn)
{
TRACE("Message to send:\n");
TRACE("\tDataSize = %u\n",pLpcMessageIn->DataSize);
TRACE("\tMessageSize = %u\n",pLpcMessageIn->MessageSize);
TRACE("\tMessageType = %u\n",pLpcMessageIn->MessageType);
TRACE("\tVirtualRangesOffset = %u\n",pLpcMessageIn->VirtualRangesOffset);
TRACE("\tClientId.UniqueProcess = %p\n",pLpcMessageIn->ClientId.UniqueProcess);
TRACE("\tClientId.UniqueThread = %p\n",pLpcMessageIn->ClientId.UniqueThread);
TRACE("\tMessageId = %lu\n",pLpcMessageIn->MessageId);
TRACE("\tSectionSize = %lu\n",pLpcMessageIn->SectionSize);
TRACE("\tData = %s\n",
debugstr_an((const char*)pLpcMessageIn->Data,pLpcMessageIn->DataSize));
}
return STATUS_NOT_IMPLEMENTED;
}
/******************************************************************************
* NtReplyWaitReceivePort [NTDLL.@]
* ZwReplyWaitReceivePort [NTDLL.@]
*/
NTSTATUS WINAPI NtReplyWaitReceivePort(
HANDLE PortHandle,
PULONG PortIdentifier,
PLPC_MESSAGE ReplyMessage,
PLPC_MESSAGE Message)
{
FIXME("(%p,%p,%p,%p),stub!\n",PortHandle,PortIdentifier,ReplyMessage,Message);
return STATUS_NOT_IMPLEMENTED;
}
/*
* Misc
*/

View File

@ -123,7 +123,7 @@
@ extern NlsAnsiCodePage
@ extern NlsMbCodePageTag
@ extern NlsMbOemCodePageTag
@ stdcall NtAcceptConnectPort(ptr long ptr long ptr ptr)
@ stdcall -syscall NtAcceptConnectPort(ptr long ptr long ptr ptr)
@ stdcall NtAccessCheck(ptr long long ptr ptr ptr ptr ptr)
@ stdcall NtAccessCheckAndAuditAlarm(ptr long ptr ptr ptr long ptr long ptr ptr ptr)
# @ stub NtAccessCheckByType
@ -154,9 +154,9 @@
@ stub NtCloseObjectAuditAlarm
# @ stub NtCompactKeys
# @ stub NtCompareTokens
@ stdcall NtCompleteConnectPort(ptr)
@ stdcall -syscall NtCompleteConnectPort(ptr)
# @ stub NtCompressKey
@ stdcall NtConnectPort(ptr ptr ptr ptr ptr ptr ptr ptr)
@ stdcall -syscall NtConnectPort(ptr ptr ptr ptr ptr ptr ptr ptr)
@ stdcall -syscall NtContinue(ptr long)
# @ stub NtCreateDebugObject
@ stdcall -syscall NtCreateDirectoryObject(ptr long ptr)
@ -174,7 +174,7 @@
@ stdcall -syscall NtCreateMutant(ptr long ptr long)
@ stdcall -syscall NtCreateNamedPipeFile(ptr long ptr ptr long long long long long long long long long ptr)
@ stdcall NtCreatePagingFile(ptr ptr ptr ptr)
@ stdcall NtCreatePort(ptr ptr long long ptr)
@ stdcall -syscall NtCreatePort(ptr ptr long long ptr)
@ stdcall -syscall NtCreatePowerRequest(ptr ptr)
@ stub NtCreateProcess
# @ stub NtCreateProcessEx
@ -233,7 +233,7 @@
@ stdcall -syscall NtInitiatePowerAction (long long long long)
@ stdcall -syscall NtIsProcessInJob(long long)
# @ stub NtIsSystemResumeAutomatic
@ stdcall NtListenPort(ptr ptr)
@ stdcall -syscall NtListenPort(ptr ptr)
@ stdcall NtLoadDriver(ptr)
@ stdcall -syscall NtLoadKey2(ptr ptr long)
@ stdcall -syscall NtLoadKey(ptr ptr)
@ -332,7 +332,7 @@
@ stub NtReadRequestData
@ stdcall -syscall NtReadVirtualMemory(long ptr ptr long ptr)
@ stub NtRegisterNewDevice
@ stdcall NtRegisterThreadTerminatePort(ptr)
@ stdcall -syscall NtRegisterThreadTerminatePort(ptr)
@ stdcall -syscall NtReleaseKeyedEvent(long ptr long ptr)
@ stdcall -syscall NtReleaseMutant(long ptr)
@ stub NtReleaseProcessMutant
@ -343,12 +343,12 @@
@ stdcall -syscall NtRenameKey(long ptr)
@ stdcall -syscall NtReplaceKey(ptr long ptr)
@ stub NtReplyPort
@ stdcall NtReplyWaitReceivePort(ptr ptr ptr ptr)
@ stdcall -syscall NtReplyWaitReceivePort(ptr ptr ptr ptr)
@ stub NtReplyWaitReceivePortEx
@ stub NtReplyWaitReplyPort
# @ stub NtRequestDeviceWakeup
@ stub NtRequestPort
@ stdcall NtRequestWaitReplyPort(ptr ptr ptr)
@ stdcall -syscall NtRequestWaitReplyPort(ptr ptr ptr)
# @ stub NtRequestWakeupLatency
@ stdcall -syscall NtResetEvent(long ptr)
@ stdcall -syscall NtResetWriteWatch(long ptr long)
@ -358,7 +358,7 @@
@ stdcall -syscall NtSaveKey(long long)
# @ stub NtSaveKeyEx
# @ stub NtSaveMergedKeys
@ stdcall NtSecureConnectPort(ptr ptr ptr ptr ptr ptr ptr ptr ptr)
@ stdcall -syscall NtSecureConnectPort(ptr ptr ptr ptr ptr ptr ptr ptr ptr)
# @ stub NtSetBootEntryOrder
# @ stub NtSetBootOptions
@ stdcall -syscall NtSetContextThread(long ptr)
@ -1112,7 +1112,7 @@
@ stdcall WinSqmIsOptedIn()
@ stdcall WinSqmSetDWORD(ptr long long)
@ stdcall WinSqmStartSession(ptr long long)
@ stdcall -private ZwAcceptConnectPort(ptr long ptr long ptr ptr) NtAcceptConnectPort
@ stdcall -private -syscall ZwAcceptConnectPort(ptr long ptr long ptr ptr) NtAcceptConnectPort
@ stdcall -private ZwAccessCheck(ptr long long ptr ptr ptr ptr ptr) NtAccessCheck
@ stdcall -private ZwAccessCheckAndAuditAlarm(ptr long ptr ptr ptr long ptr long ptr ptr ptr) NtAccessCheckAndAuditAlarm
# @ stub ZwAccessCheckByType
@ -1143,9 +1143,9 @@
@ stub ZwCloseObjectAuditAlarm
# @ stub ZwCompactKeys
# @ stub ZwCompareTokens
@ stdcall -private ZwCompleteConnectPort(ptr) NtCompleteConnectPort
@ stdcall -private -syscall ZwCompleteConnectPort(ptr) NtCompleteConnectPort
# @ stub ZwCompressKey
@ stdcall -private ZwConnectPort(ptr ptr ptr ptr ptr ptr ptr ptr) NtConnectPort
@ stdcall -private -syscall ZwConnectPort(ptr ptr ptr ptr ptr ptr ptr ptr) NtConnectPort
@ stdcall -private -syscall ZwContinue(ptr long) NtContinue
# @ stub ZwCreateDebugObject
@ stdcall -private -syscall ZwCreateDirectoryObject(ptr long ptr) NtCreateDirectoryObject
@ -1162,7 +1162,7 @@
@ stdcall -private -syscall ZwCreateMutant(ptr long ptr long) NtCreateMutant
@ stdcall -private -syscall ZwCreateNamedPipeFile(ptr long ptr ptr long long long long long long long long long ptr) NtCreateNamedPipeFile
@ stdcall -private ZwCreatePagingFile(ptr ptr ptr ptr) NtCreatePagingFile
@ stdcall -private ZwCreatePort(ptr ptr long long ptr) NtCreatePort
@ stdcall -private -syscall ZwCreatePort(ptr ptr long long ptr) NtCreatePort
@ stdcall -private -syscall ZwCreatePowerRequest(ptr ptr) NtCreatePowerRequest
@ stub ZwCreateProcess
# @ stub ZwCreateProcessEx
@ -1220,7 +1220,7 @@
@ stdcall -private -syscall ZwInitiatePowerAction(long long long long) NtInitiatePowerAction
@ stdcall -private -syscall ZwIsProcessInJob(long long) NtIsProcessInJob
# @ stub ZwIsSystemResumeAutomatic
@ stdcall -private ZwListenPort(ptr ptr) NtListenPort
@ stdcall -private -syscall ZwListenPort(ptr ptr) NtListenPort
@ stdcall -private ZwLoadDriver(ptr) NtLoadDriver
@ stdcall -private -syscall ZwLoadKey2(ptr ptr long) NtLoadKey2
@ stdcall -private -syscall ZwLoadKey(ptr ptr) NtLoadKey
@ -1319,7 +1319,7 @@
@ stub ZwReadRequestData
@ stdcall -private -syscall ZwReadVirtualMemory(long ptr ptr long ptr) NtReadVirtualMemory
@ stub ZwRegisterNewDevice
@ stdcall -private ZwRegisterThreadTerminatePort(ptr) NtRegisterThreadTerminatePort
@ stdcall -private -syscall ZwRegisterThreadTerminatePort(ptr) NtRegisterThreadTerminatePort
@ stdcall -private -syscall ZwReleaseKeyedEvent(long ptr long ptr) NtReleaseKeyedEvent
@ stdcall -private -syscall ZwReleaseMutant(long ptr) NtReleaseMutant
@ stub ZwReleaseProcessMutant
@ -1330,12 +1330,12 @@
@ stdcall -private -syscall ZwRenameKey(long ptr) NtRenameKey
@ stdcall -private -syscall ZwReplaceKey(ptr long ptr) NtReplaceKey
@ stub ZwReplyPort
@ stdcall -private ZwReplyWaitReceivePort(ptr ptr ptr ptr) NtReplyWaitReceivePort
@ stdcall -private -syscall ZwReplyWaitReceivePort(ptr ptr ptr ptr) NtReplyWaitReceivePort
@ stub ZwReplyWaitReceivePortEx
@ stub ZwReplyWaitReplyPort
# @ stub ZwRequestDeviceWakeup
@ stub ZwRequestPort
@ stdcall -private ZwRequestWaitReplyPort(ptr ptr ptr) NtRequestWaitReplyPort
@ stdcall -private -syscall ZwRequestWaitReplyPort(ptr ptr ptr) NtRequestWaitReplyPort
# @ stub ZwRequestWakeupLatency
@ stdcall -private -syscall ZwResetEvent(long ptr) NtResetEvent
@ stdcall -private -syscall ZwResetWriteWatch(long ptr long) NtResetWriteWatch
@ -1345,7 +1345,7 @@
@ stdcall -private -syscall ZwSaveKey(long long) NtSaveKey
# @ stub ZwSaveKeyEx
# @ stub ZwSaveMergedKeys
@ stdcall -private ZwSecureConnectPort(ptr ptr ptr ptr ptr ptr ptr ptr ptr) NtSecureConnectPort
@ stdcall -private -syscall ZwSecureConnectPort(ptr ptr ptr ptr ptr ptr ptr ptr ptr) NtSecureConnectPort
# @ stub ZwSetBootEntryOrder
# @ stub ZwSetBootOptions
@ stdcall -private -syscall ZwSetContextThread(long ptr) NtSetContextThread

View File

@ -1834,6 +1834,110 @@ NTSTATUS WINAPI NtOpenSection( HANDLE *handle, ACCESS_MASK access, const OBJECT_
}
/***********************************************************************
* NtCreatePort (NTDLL.@)
*/
NTSTATUS WINAPI NtCreatePort( HANDLE *handle, OBJECT_ATTRIBUTES *attr, ULONG info_len,
ULONG data_len, ULONG *reserved )
{
FIXME( "(%p,%p,%u,%u,%p),stub!\n", handle, attr, info_len, data_len, reserved );
return STATUS_NOT_IMPLEMENTED;
}
/***********************************************************************
* NtConnectPort (NTDLL.@)
*/
NTSTATUS WINAPI NtConnectPort( HANDLE *handle, UNICODE_STRING *name, SECURITY_QUALITY_OF_SERVICE *qos,
LPC_SECTION_WRITE *write, LPC_SECTION_READ *read, ULONG *max_len,
void *info, ULONG *info_len )
{
FIXME( "(%p,%s,%p,%p,%p,%p,%p,%p),stub!\n", handle, debugstr_us(name), qos,
write, read, max_len, info, info_len );
if (info && info_len) TRACE("msg = %s\n", debugstr_an( info, *info_len ));
return STATUS_NOT_IMPLEMENTED;
}
/***********************************************************************
* NtSecureConnectPort (NTDLL.@)
*/
NTSTATUS WINAPI NtSecureConnectPort( HANDLE *handle, UNICODE_STRING *name, SECURITY_QUALITY_OF_SERVICE *qos,
LPC_SECTION_WRITE *write, PSID sid, LPC_SECTION_READ *read,
ULONG *max_len, void *info, ULONG *info_len )
{
FIXME( "(%p,%s,%p,%p,%p,%p,%p,%p,%p),stub!\n", handle, debugstr_us(name), qos,
write, sid, read, max_len, info, info_len );
return STATUS_NOT_IMPLEMENTED;
}
/***********************************************************************
* NtListenPort (NTDLL.@)
*/
NTSTATUS WINAPI NtListenPort( HANDLE handle, LPC_MESSAGE *msg )
{
FIXME("(%p,%p),stub!\n", handle, msg );
return STATUS_NOT_IMPLEMENTED;
}
/***********************************************************************
* NtAcceptConnectPort (NTDLL.@)
*/
NTSTATUS WINAPI NtAcceptConnectPort( HANDLE *handle, ULONG id, LPC_MESSAGE *msg, BOOLEAN accept,
LPC_SECTION_WRITE *write, LPC_SECTION_READ *read )
{
FIXME("(%p,%u,%p,%d,%p,%p),stub!\n", handle, id, msg, accept, write, read );
return STATUS_NOT_IMPLEMENTED;
}
/***********************************************************************
* NtCompleteConnectPort (NTDLL.@)
*/
NTSTATUS WINAPI NtCompleteConnectPort( HANDLE handle )
{
FIXME( "(%p),stub!\n", handle );
return STATUS_NOT_IMPLEMENTED;
}
/***********************************************************************
* NtRegisterThreadTerminatePort (NTDLL.@)
*/
NTSTATUS WINAPI NtRegisterThreadTerminatePort( HANDLE handle )
{
FIXME( "(%p),stub!\n", handle );
return STATUS_NOT_IMPLEMENTED;
}
/***********************************************************************
* NtRequestWaitReplyPort (NTDLL.@)
*/
NTSTATUS WINAPI NtRequestWaitReplyPort( HANDLE handle, LPC_MESSAGE *msg_in, LPC_MESSAGE *msg_out )
{
FIXME( "(%p,%p,%p),stub!\n", handle, msg_in, msg_out );
if (msg_in)
TRACE("datasize %u msgsize %u type %u ranges %u client %p/%p msgid %lu size %lu data %s\n",
msg_in->DataSize, msg_in->MessageSize, msg_in->MessageType, msg_in->VirtualRangesOffset,
msg_in->ClientId.UniqueProcess, msg_in->ClientId.UniqueThread, msg_in->MessageId,
msg_in->SectionSize, debugstr_an( (const char *)msg_in->Data, msg_in->DataSize ));
return STATUS_NOT_IMPLEMENTED;
}
/***********************************************************************
* NtReplyWaitReceivePort (NTDLL.@)
*/
NTSTATUS WINAPI NtReplyWaitReceivePort( HANDLE handle, ULONG *id, LPC_MESSAGE *reply, LPC_MESSAGE *msg )
{
FIXME("(%p,%p,%p,%p),stub!\n", handle, id, reply, msg );
return STATUS_NOT_IMPLEMENTED;
}
#define MAX_ATOM_LEN 255
#define IS_INTATOM(x) (((ULONG_PTR)(x) >> 16) == 0)