2013-02-10 13:52:01 +00:00
|
|
|
// security.hpp --------------------------------------------------------------//
|
|
|
|
|
|
|
|
// Copyright 2010 Vicente J. Botet Escriba
|
|
|
|
|
|
|
|
// Distributed under the Boost Software License, Version 1.0.
|
|
|
|
// See http://www.boost.org/LICENSE_1_0.txt
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef BOOST_DETAIL_WIN_SECURITY_HPP
|
|
|
|
#define BOOST_DETAIL_WIN_SECURITY_HPP
|
|
|
|
|
|
|
|
#include <boost/detail/win/basic_types.hpp>
|
|
|
|
|
|
|
|
|
|
|
|
namespace boost
|
|
|
|
{
|
|
|
|
namespace detail
|
|
|
|
{
|
|
|
|
namespace win32
|
|
|
|
{
|
|
|
|
#if defined( BOOST_USE_WINDOWS_H )
|
|
|
|
typedef ::SECURITY_ATTRIBUTES SECURITY_ATTRIBUTES_;
|
|
|
|
typedef ::PSECURITY_ATTRIBUTES PSECURITY_ATTRIBUTES_;
|
|
|
|
typedef ::LPSECURITY_ATTRIBUTES LPSECURITY_ATTRIBUTES_;
|
|
|
|
|
|
|
|
#else
|
|
|
|
extern "C" {
|
|
|
|
struct SECURITY_DESCRIPTOR_;
|
|
|
|
typedef SECURITY_DESCRIPTOR_* PSECURITY_DESCRIPTOR_;
|
|
|
|
typedef struct _ACL {
|
|
|
|
BYTE_ AclRevision;
|
|
|
|
BYTE_ Sbz1;
|
|
|
|
WORD_ AclSize;
|
|
|
|
WORD_ AceCount;
|
|
|
|
WORD_ Sbz2;
|
|
|
|
} ACL_, *PACL_;
|
|
|
|
|
|
|
|
typedef struct _SECURITY_ATTRIBUTES {
|
|
|
|
DWORD_ nLength;
|
|
|
|
LPVOID_ lpSecurityDescriptor;
|
|
|
|
BOOL_ bInheritHandle;
|
|
|
|
} SECURITY_ATTRIBUTES_, *PSECURITY_ATTRIBUTES_, *LPSECURITY_ATTRIBUTES_;
|
|
|
|
|
|
|
|
__declspec(dllimport) BOOL_ __stdcall
|
|
|
|
InitializeSecurityDescriptor(
|
|
|
|
PSECURITY_DESCRIPTOR_ pSecurityDescriptor,
|
|
|
|
DWORD_ dwRevision
|
|
|
|
);
|
|
|
|
__declspec(dllimport) BOOL_ __stdcall
|
|
|
|
SetSecurityDescriptorDacl(
|
|
|
|
PSECURITY_DESCRIPTOR_ pSecurityDescriptor,
|
|
|
|
BOOL_ bDaclPresent,
|
|
|
|
PACL_ pDacl,
|
|
|
|
BOOL_ bDaclDefaulted
|
|
|
|
);
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif // BOOST_DETAIL_WIN_SECURITY_HPP
|