Signed-off-by: Huw Davies huw@codeweavers.com --- dlls/nsi/Makefile.in | 3 +++ dlls/nsi/nsi.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ dlls/nsi/nsi.spec | 4 ++-- include/netiodef.h | 6 ++++++ 4 files changed, 55 insertions(+), 2 deletions(-) create mode 100644 dlls/nsi/nsi.c
diff --git a/dlls/nsi/Makefile.in b/dlls/nsi/Makefile.in index 634c4011ed9..68126cab6c6 100644 --- a/dlls/nsi/Makefile.in +++ b/dlls/nsi/Makefile.in @@ -2,3 +2,6 @@ MODULE = nsi.dll IMPORTLIB = nsi
EXTRADLLFLAGS = -mno-cygwin + +C_SRCS = \ + nsi.c diff --git a/dlls/nsi/nsi.c b/dlls/nsi/nsi.c new file mode 100644 index 00000000000..3d6429a9113 --- /dev/null +++ b/dlls/nsi/nsi.c @@ -0,0 +1,44 @@ +/* + * Network Store Interface + * + * Copyright 2021 Huw Davies + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ +#include "winsock2.h" +#include "winternl.h" +#include "ws2ipdef.h" +#include "iphlpapi.h" +#include "netioapi.h" +#include "iptypes.h" +#include "netiodef.h" + +#include "wine/debug.h" + +WINE_DEFAULT_DEBUG_CHANNEL(nsi); + +DWORD WINAPI NsiAllocateAndGetTable( DWORD unk, const NPI_MODULEID *module, DWORD table, void **key_data, DWORD key_size, + void **rw_data, DWORD rw_size, void **dynamic_data, DWORD dynamic_size, + void **static_data, DWORD static_size, DWORD *count, DWORD unk2 ) +{ + FIXME( "%d %p %d %p %d %p %d %p %d %p %d %p %d: stub\n", unk, module, table, key_data, key_size, + rw_data, rw_size, dynamic_data, dynamic_size, static_data, static_size, count, unk2 ); + return ERROR_CALL_NOT_IMPLEMENTED; +} + +void WINAPI NsiFreeTable( void *key_data, void *rw_data, void *dynamic_data, void *static_data ) +{ + FIXME( "%p %p %p %p: stub\n", key_data, rw_data, dynamic_data, static_data ); +} diff --git a/dlls/nsi/nsi.spec b/dlls/nsi/nsi.spec index 2d500d30e94..fc2db9e35c1 100644 --- a/dlls/nsi/nsi.spec +++ b/dlls/nsi/nsi.spec @@ -1,5 +1,5 @@ @ stub NsiAllocateAndGetPersistentDataWithMaskTable -@ stub NsiAllocateAndGetTable +@ stdcall NsiAllocateAndGetTable(long ptr long ptr long ptr long ptr long ptr long ptr long) @ stub NsiCancelChangeNotification @ stub NsiDeregisterChangeNotification @ stub NsiDeregisterChangeNotificationEx @@ -7,7 +7,7 @@ @ stub NsiEnumerateObjectsAllParametersEx @ stub NsiEnumerateObjectsAllPersistentParametersWithMask @ stub NsiFreePersistentDataWithMaskTable -@ stub NsiFreeTable +@ stdcall NsiFreeTable(ptr ptr ptr ptr) @ stub NsiGetAllParameters @ stub NsiGetAllParametersEx @ stub NsiGetAllPersistentParametersWithMask diff --git a/include/netiodef.h b/include/netiodef.h index 3089685bef1..2bc05399b63 100644 --- a/include/netiodef.h +++ b/include/netiodef.h @@ -96,4 +96,10 @@ DEFINE_NPI_MS_MODULEID( NPI_MS_NDIS_MODULEID, 0x11 ); #undef _U #undef __U
+/* Undocumented Nsi api */ +DWORD WINAPI NsiAllocateAndGetTable( DWORD unk, const NPI_MODULEID *module, DWORD table, void **key_data, DWORD key_size, + void **rw_data, DWORD rw_size, void **dynamic_data, DWORD dynamic_size, + void **static_data, DWORD static_size, DWORD *count, DWORD unk2 ); +void WINAPI NsiFreeTable( void *key_data, void *rw_data, void *dynamic_data, void *static_data ); + #endif /* __WINE_NETIODEF_H */