security.hpp 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. // security.hpp --------------------------------------------------------------//
  2. // Copyright 2010 Vicente J. Botet Escriba
  3. // Distributed under the Boost Software License, Version 1.0.
  4. // See http://www.boost.org/LICENSE_1_0.txt
  5. #ifndef BOOST_DETAIL_WINAPI_SECURITY_HPP
  6. #define BOOST_DETAIL_WINAPI_SECURITY_HPP
  7. #include <boost/detail/winapi/basic_types.hpp>
  8. #ifdef BOOST_HAS_PRAGMA_ONCE
  9. #pragma once
  10. #endif
  11. namespace boost
  12. {
  13. namespace detail
  14. {
  15. namespace winapi
  16. {
  17. #if defined( BOOST_USE_WINDOWS_H )
  18. typedef ::SECURITY_ATTRIBUTES SECURITY_ATTRIBUTES_;
  19. typedef ::PSECURITY_ATTRIBUTES PSECURITY_ATTRIBUTES_;
  20. typedef ::LPSECURITY_ATTRIBUTES LPSECURITY_ATTRIBUTES_;
  21. #else
  22. extern "C" {
  23. struct SECURITY_DESCRIPTOR_;
  24. typedef SECURITY_DESCRIPTOR_* PSECURITY_DESCRIPTOR_;
  25. typedef struct _ACL {
  26. BYTE_ AclRevision;
  27. BYTE_ Sbz1;
  28. WORD_ AclSize;
  29. WORD_ AceCount;
  30. WORD_ Sbz2;
  31. } ACL_, *PACL_;
  32. typedef struct _SECURITY_ATTRIBUTES {
  33. DWORD_ nLength;
  34. LPVOID_ lpSecurityDescriptor;
  35. BOOL_ bInheritHandle;
  36. } SECURITY_ATTRIBUTES_, *PSECURITY_ATTRIBUTES_, *LPSECURITY_ATTRIBUTES_;
  37. __declspec(dllimport) BOOL_ __stdcall
  38. InitializeSecurityDescriptor(
  39. PSECURITY_DESCRIPTOR_ pSecurityDescriptor,
  40. DWORD_ dwRevision
  41. );
  42. __declspec(dllimport) BOOL_ __stdcall
  43. SetSecurityDescriptorDacl(
  44. PSECURITY_DESCRIPTOR_ pSecurityDescriptor,
  45. BOOL_ bDaclPresent,
  46. PACL_ pDacl,
  47. BOOL_ bDaclDefaulted
  48. );
  49. }
  50. #endif
  51. }
  52. }
  53. }
  54. #endif // BOOST_DETAIL_WINAPI_SECURITY_HPP