summaryrefslogtreecommitdiffstats
path: root/private/ole32/dcomss/objex/shrmem/or.h
diff options
context:
space:
mode:
authorAdam <you@example.com>2020-05-17 05:51:50 +0200
committerAdam <you@example.com>2020-05-17 05:51:50 +0200
commite611b132f9b8abe35b362e5870b74bce94a1e58e (patch)
treea5781d2ec0e085eeca33cf350cf878f2efea6fe5 /private/ole32/dcomss/objex/shrmem/or.h
downloadNT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.gz
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.bz2
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.lz
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.xz
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.zst
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.zip
Diffstat (limited to 'private/ole32/dcomss/objex/shrmem/or.h')
-rw-r--r--private/ole32/dcomss/objex/shrmem/or.h139
1 files changed, 139 insertions, 0 deletions
diff --git a/private/ole32/dcomss/objex/shrmem/or.h b/private/ole32/dcomss/objex/shrmem/or.h
new file mode 100644
index 000000000..b647a8992
--- /dev/null
+++ b/private/ole32/dcomss/objex/shrmem/or.h
@@ -0,0 +1,139 @@
+/*++
+
+Copyright (c) 1995 Microsoft Corporation
+
+Module Name:
+
+ or.h
+
+Abstract:
+
+ General include file for C things the OR. This file is pre-compiled.
+
+Author:
+
+ Mario Goertzel [mariogo] Feb-10-95
+ Satish Thatte [SatishT] Feb-22-96 modified for DCOM95
+
+Revision History:
+
+--*/
+
+#ifndef __OR_H
+#define __OR_H
+
+#include <ole2int.h> // ComDebOut, etc
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef _CHICAGO_
+#include <dcomss.h> // BUGBUG: reduce and copy here
+#endif
+
+#include <stddef.h>
+#include <debnot.h> // debugging stuff
+
+#include <objex.h> // Remote OR if from private\dcomidl
+#include <orcb.h> // Callback if from private\dcomidl
+#include <odeth.h> // ORPC OID rundown interface
+#include <rawodeth.h> // Raw RPC -> ORPC OID rundown interface
+#include <olerem.h> // MOXID, REFMOXID, etc
+#include <tls.h> // OLE thread local storage
+
+#define IN
+#define OUT
+#define CONST const
+
+#define WSTR(s) L##s
+
+#define OrStringCompare(str1, str2, len) wcscmp((str1), (str2), (len))
+#define OrStringLen(str) wcslen(str)
+#define OrStringCat(str1, str2) wcscat((str1), (str2))
+#define OrStringCopy(str1, str2) wcscpy((str1), (str2))
+#define OrMemorySet(p, value, len) memset((p), (value), (len))
+#define OrMemoryCompare(p1, p2, len) memcmp((p1), (p2), (len))
+#define OrMemoryCopy(dest, src, len) memcpy((dest), (src), (len))
+// OrStringSearch in or.hxx
+
+//
+// The OR uses Win32 (RPC) error codes.
+//
+
+typedef LONG ORSTATUS;
+
+// When the OR code asigns and error it uses
+// one of the following mappings:
+// There are no internal error codes.
+
+#define OR_OK RPC_S_OK
+#define OR_NOMEM RPC_S_OUT_OF_MEMORY
+#define OR_NORESOURCE RPC_S_OUT_OF_RESOURCES
+#define OR_NOACCESS ERROR_ACCESS_DENIED
+#define OR_BADOXID OR_INVALID_OXID
+#define OR_BADOID OR_INVALID_OID
+#define OR_BADSET OR_INVALID_SET
+#define OR_BAD_SEQNUM OR_INVALID_SET // BUGBUG: need to change
+#define OR_NOSERVER RPC_S_SERVER_UNAVAILABLE
+#define OR_BADPARAM ERROR_INVALID_PARAMETER
+
+// Should NEVER be seen outside the OR.
+#define OR_BUGBUG RPC_S_INTERNAL_ERROR
+#define OR_INTERNAL_ERROR RPC_S_INTERNAL_ERROR
+#define OR_BAD_LOAD_ADDR RPC_S_INTERNAL_ERROR
+#define OR_REPEAT_START RPC_S_INTERNAL_ERROR
+
+// Internal codes used to indicate a special event.
+#define OR_I_RETRY 0xC0210051UL
+#define OR_I_NOPROTSEQ 0xC0210052UL
+
+#define UNUSED(_x_) ((void *)(_x_))
+
+#if DBG
+
+extern int __cdecl ValidateError(
+ IN ORSTATUS Status,
+ IN ...);
+
+
+#define VALIDATE(X) if (!ValidateError X) ASSERT(0);
+
+#ifndef _CHICAGO_
+
+#define OrDbgPrint(X) DbgPrint X
+#define OrDbgDetailPrint(X) DbgPrint X
+
+#else
+
+#define OrDbgPrint(X)
+#define OrDbgDetailPrint(X)
+
+#endif
+
+#undef ASSERT
+#ifndef _CHICAGO_
+#define ASSERT( exp ) \
+ if (! (exp) ) \
+ { \
+ DbgPrint("OR: Assertion failed: %s(%d) %s\n", __FILE__, __LINE__, #exp); \
+ DebugBreak(); \
+ }
+#else // _CHICAGO_
+#define ASSERT( exp ) if (! (exp) ) DebugBreak();
+#endif // _CHICAGO_
+
+
+#else // DBG
+#define VALIDATE(X)
+#define OrDbgPrint(X)
+#define OrDbgDetailPrint(X)
+#endif // DBG
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // __OR_H
+