summaryrefslogtreecommitdiffstats
path: root/private/nw/inc/nwsvc.h
diff options
context:
space:
mode:
Diffstat (limited to 'private/nw/inc/nwsvc.h')
-rw-r--r--private/nw/inc/nwsvc.h88
1 files changed, 88 insertions, 0 deletions
diff --git a/private/nw/inc/nwsvc.h b/private/nw/inc/nwsvc.h
new file mode 100644
index 000000000..0205e0ea1
--- /dev/null
+++ b/private/nw/inc/nwsvc.h
@@ -0,0 +1,88 @@
+/*++
+
+Copyright (c) 1993 Microsoft Corporation
+
+Module Name:
+
+ nwsvc.h
+
+Abstract:
+
+ Header file included by services which share the same nwsvc.exe.
+
+Author:
+
+ Rita Wong (ritaw) 26-Feb-1993
+
+Revision History:
+
+
+--*/
+
+#ifndef _NW_SVC_INCLUDED_
+#define _NW_SVC_INCLUDED_
+
+#ifndef RPC_NO_WINDOWS_H // Don't let rpc.h include windows.h
+#define RPC_NO_WINDOWS_H
+#endif // RPC_NO_WINDOWS_H
+
+#include <rpc.h> // RPC_IF_HANDLE
+
+#include <nwsnames.h>
+
+//
+// Service DLLs loaded into nwsvcs.exe all export the same main
+// entry point. NWSVC_ENTRY_POINT defines that name.
+//
+// Note that NWSVC_ENTRY_POINT_STRING is always ANSI, because that's
+// what GetProcAddress takes.
+//
+
+#define NWSVC_ENTRY_POINT ServiceEntry
+#define NWSVC_ENTRY_POINT_STRING "ServiceEntry"
+
+//
+// Start and stop RPC server entry point prototype.
+//
+
+typedef
+RPC_STATUS
+(*PNWSVC_START_RPC_SERVER) (
+ IN LPWSTR InterfaceName,
+ IN RPC_IF_HANDLE InterfaceSpecification
+ );
+
+typedef
+RPC_STATUS
+(*PNWSVC_STOP_RPC_SERVER) (
+ IN RPC_IF_HANDLE InterfaceSpecification
+ );
+
+//
+// Structure containing global data for the various DLLs.
+//
+
+typedef struct _NWSVC_GLOBAL_DATA {
+
+ //
+ // RPC utilities called by service DLLs which alters global data
+ // in nwsvc.exe.
+ //
+ PNWSVC_START_RPC_SERVER StartRpcServer;
+ PNWSVC_STOP_RPC_SERVER StopRpcServer;
+
+} NWSVC_GLOBAL_DATA, *PNWSVC_GLOBAL_DATA;
+
+//
+// Service DLL entry point prototype.
+//
+
+typedef
+VOID
+(*PNWSVC_SERVICE_DLL_ENTRY) (
+ IN DWORD argc,
+ IN LPWSTR argv[],
+ IN PNWSVC_GLOBAL_DATA pGlobalData
+ );
+
+#endif // ndef _NW_SVC_INCLUDED_