summaryrefslogtreecommitdiffstats
path: root/public/sdk/inc/gluon.h
diff options
context:
space:
mode:
Diffstat (limited to 'public/sdk/inc/gluon.h')
-rw-r--r--public/sdk/inc/gluon.h166
1 files changed, 166 insertions, 0 deletions
diff --git a/public/sdk/inc/gluon.h b/public/sdk/inc/gluon.h
new file mode 100644
index 000000000..0c0dc3ee2
--- /dev/null
+++ b/public/sdk/inc/gluon.h
@@ -0,0 +1,166 @@
+//+---------------------------------------------------------------------------
+//
+// Microsoft Windows
+// Copyright (C) Microsoft Corporation, 1992 - 1994.
+//
+// File: gluon.h
+//
+// Contents: Gluon data structure definitions
+//
+// History: 16-Mar-94 MikeSe Created
+//
+// Description:
+//
+// This file contains all the structure definitions related to
+// gluons. It is constructed in such a way that it can be #included
+// in an IDL file and that the resultant MIDL-generated H file will
+// not interfere when both are included, regardless of order.
+//
+//----------------------------------------------------------------------------
+
+#ifndef __GLUON_H__
+#define __GLUON_H__
+
+// Handy macro for decoration with MIDL attributes
+#if defined(MIDL_PASS)
+# define MIDL_DECL(x) x
+# define MIDL_QUOTE(x) cpp_quote(x)
+#else
+# define MIDL_DECL(x)
+# define MIDL_QUOTE(x)
+#endif
+
+MIDL_QUOTE("#ifndef __GLUON_H__")
+MIDL_QUOTE("#define __GLUON_H__")
+
+// TDI transport address structure. We do not define this if tdi.h has
+// already been included.
+
+MIDL_QUOTE("#if !defined(_TDI_USER_)")
+#if !defined(_TDI_USER_)
+
+typedef struct _TA_ADDRESS {
+ USHORT AddressLength; // length in bytes of Address[] in this
+ USHORT AddressType; // type of this address
+# if defined(MIDL_PASS)
+ [size_is(AddressLength)] UCHAR Address[];
+# else
+ UCHAR Address[1]; // actually AddressLength bytes long
+# endif
+} TA_ADDRESS;
+
+#endif
+MIDL_QUOTE("#endif")
+
+// Note that you must include tdi.h (first) if you need the AddressType
+// constant definitions.
+
+// DS_TRANSPORT, with RPC and File protocol modifiers
+
+typedef struct _DS_TRANSPORT
+{
+ USHORT usFileProtocol;
+ USHORT iPrincipal;
+ USHORT grfModifiers;
+ TA_ADDRESS taddr;
+} DS_TRANSPORT, *PDS_TRANSPORT;
+
+// The real size of a DS_TRANSPORT where AddressLength == 0. Need to
+// subtract off 2 UCHARs to take into account padding.
+#define DS_TRANSPORT_SIZE (sizeof(DS_TRANSPORT) - 2*sizeof(UCHAR))
+MIDL_QUOTE("#define DS_TRANSPORT_SIZE (sizeof(DS_TRANSPORT) - 2*sizeof(UCHAR))")
+
+// File protocol identifiers
+
+#if defined(MIDL_PASS)
+
+const USHORT FSP_NONE = 0; // file access not supported
+const USHORT FSP_SMB = 1; // SMB (ie: LanMan redirector)
+const USHORT FSP_NCP = 2; // Netware Core Protocol (Netware requestor)
+const USHORT FSP_NFS = 3; // Sun NFS protocol
+const USHORT FSP_VINES = 4; // Banyan Vines
+const USHORT FSP_AFS = 5; // Andrews File System
+const USHORT FSP_DCE = 6; // DCE Andrews File System
+
+#else
+
+#define FSP_NONE 0
+#define FSP_SMB 1
+#define FSP_NCP 2
+#define FSP_NFS 3
+#define FSP_VINES 4
+#define FSP_AFS 5
+#define FSP_DCE 6
+
+#endif
+
+// RPC modifiers
+
+#if defined(MIDL_PASS)
+
+const USHORT DST_RPC_CN = 0x0001; // supports a connection-oriented (ncacn_...)
+ // RPC protocol for this transport.
+const USHORT DST_RPC_DG = 0x0002; // supports a connectionless (ncadg_...)
+ // RPC protocol for this transport.
+const USHORT DST_RPC_NB_XNS = 0x0004; // ncacn_nb_xns protocol is supported
+const USHORT DST_RPC_NB_NB = 0x0008; // ncacn_nb_nb protocol is supported
+const USHORT DST_RPC_NB_IPX = 0x0010; // ncacn_nb_ipx protocol is supported
+const USHORT DST_RPC_NB_TCP = 0x0020; // ncacn_nb_tcp protocol is supported
+
+#else
+
+#define DST_RPC_CN 0x0001
+#define DST_RPC_DG 0x0002
+#define DST_RPC_NB_XNS 0x0004
+#define DST_RPC_NB_NB 0x0008
+#define DST_RPC_NB_IPX 0x0010
+#define DST_RPC_NB_TCP 0x0020
+
+#endif
+
+// DS_MACHINE
+
+typedef MIDL_DECL([string]) WCHAR * PNAME;
+
+typedef struct _DS_MACHINE
+{
+ GUID guidSite;
+ GUID guidMachine;
+ ULONG grfFlags;
+ MIDL_DECL([string]) LPWSTR pwszShareName;
+ ULONG cPrincipals;
+ MIDL_DECL([size_is(cPrincipals)]) PNAME *prgpwszPrincipals;
+ ULONG cTransports;
+# if defined(MIDL_PASS)
+ [size_is(cTransports)] PDS_TRANSPORT rpTrans[];
+# else
+ PDS_TRANSPORT rpTrans[1];
+# endif
+} DS_MACHINE, *PDS_MACHINE;
+
+// The real size of a DS_MACHINE in which cTransports == 0
+#define DS_MACHINE_SIZE (sizeof(DS_MACHINE) - sizeof(PDS_TRANSPORT))
+MIDL_QUOTE("#define DS_MACHINE_SIZE (sizeof(DS_MACHINE) - sizeof(PDS_TRANSPORT))")
+
+// DS_GLUON
+
+typedef struct _DS_GLUON
+{
+ GUID guidThis;
+ MIDL_DECL([string]) LPWSTR pwszName;
+ ULONG grfFlags;
+ ULONG cMachines;
+# if defined(MIDL_PASS)
+ [size_is(cMachines)] PDS_MACHINE rpMachines[];
+# else
+ PDS_MACHINE rpMachines[1];
+# endif
+} DS_GLUON, *PDS_GLUON;
+
+// The real size of a DS_GLUON in which cMachines == 0
+#define DS_GLUON_SIZE (sizeof(DS_GLUON) - sizeof(PDS_MACHINE))
+MIDL_QUOTE("#define DS_GLUON_SIZE (sizeof(DS_GLUON) - sizeof(PDS_MACHINE))")
+
+MIDL_QUOTE("#endif")
+
+#endif // of ifndef __GLUON_H__