63 lines
1.5 KiB
C++
63 lines
1.5 KiB
C++
|
// 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
|