Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1992-1999.
//
// 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__
#if _MSC_VER > 1000
#pragma once
#endif
// 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__
|