Chris@16: // security.hpp --------------------------------------------------------------// Chris@16: Chris@16: // Copyright 2010 Vicente J. Botet Escriba Chris@16: Chris@16: // Distributed under the Boost Software License, Version 1.0. Chris@16: // See http://www.boost.org/LICENSE_1_0.txt Chris@16: Chris@16: Chris@16: #ifndef BOOST_DETAIL_WINAPI_SECURITY_HPP Chris@16: #define BOOST_DETAIL_WINAPI_SECURITY_HPP Chris@16: Chris@16: #include Chris@16: Chris@16: #ifdef BOOST_HAS_PRAGMA_ONCE Chris@16: #pragma once Chris@16: #endif Chris@16: Chris@16: namespace boost Chris@16: { Chris@16: namespace detail Chris@16: { Chris@16: namespace winapi Chris@16: { Chris@16: #if defined( BOOST_USE_WINDOWS_H ) Chris@16: typedef ::SECURITY_ATTRIBUTES SECURITY_ATTRIBUTES_; Chris@16: typedef ::PSECURITY_ATTRIBUTES PSECURITY_ATTRIBUTES_; Chris@16: typedef ::LPSECURITY_ATTRIBUTES LPSECURITY_ATTRIBUTES_; Chris@16: Chris@16: #else Chris@16: extern "C" { Chris@16: struct SECURITY_DESCRIPTOR_; Chris@16: typedef SECURITY_DESCRIPTOR_* PSECURITY_DESCRIPTOR_; Chris@16: typedef struct _ACL { Chris@16: BYTE_ AclRevision; Chris@16: BYTE_ Sbz1; Chris@16: WORD_ AclSize; Chris@16: WORD_ AceCount; Chris@16: WORD_ Sbz2; Chris@16: } ACL_, *PACL_; Chris@16: Chris@16: typedef struct _SECURITY_ATTRIBUTES { Chris@16: DWORD_ nLength; Chris@16: LPVOID_ lpSecurityDescriptor; Chris@16: BOOL_ bInheritHandle; Chris@16: } SECURITY_ATTRIBUTES_, *PSECURITY_ATTRIBUTES_, *LPSECURITY_ATTRIBUTES_; Chris@16: Chris@16: __declspec(dllimport) BOOL_ __stdcall Chris@16: InitializeSecurityDescriptor( Chris@16: PSECURITY_DESCRIPTOR_ pSecurityDescriptor, Chris@16: DWORD_ dwRevision Chris@16: ); Chris@16: __declspec(dllimport) BOOL_ __stdcall Chris@16: SetSecurityDescriptorDacl( Chris@16: PSECURITY_DESCRIPTOR_ pSecurityDescriptor, Chris@16: BOOL_ bDaclPresent, Chris@16: PACL_ pDacl, Chris@16: BOOL_ bDaclDefaulted Chris@16: ); Chris@16: } Chris@16: #endif Chris@16: } Chris@16: } Chris@16: } Chris@16: Chris@16: #endif // BOOST_DETAIL_WINAPI_SECURITY_HPP