1#![doc = include_str!(concat!("../", std::env!("CARGO_PKG_README")))]
2
3mod access_mask;
4pub mod ace;
5pub mod acl;
6mod control_flags;
7mod error;
8mod guid;
9mod offset;
10mod raw_size;
11mod sddl_h;
12mod security_descriptor;
13mod sid;
14mod flag_wrapper;
15
16pub mod constants {
17 pub use crate::access_mask::constants::*;
18 pub use crate::ace::header::flags::TRUST_PROTECTED_FILTER;
19 pub use crate::ace::header::ACE_HEADER_SIZE;
20 pub use crate::sid::identifier_authority::constants::*;
21}
22
23pub use crate::control_flags::*;
24pub use crate::security_descriptor::*;
25pub use crate::sid::{IdentifierAuthority, NewDomainSid, Sid, SidAlias};
26
27pub use crate::ace::Ace;
28pub use crate::acl::Acl;
29pub use crate::error::Error;
30pub use crate::guid::Guid;
31pub use crate::access_mask::{AccessMask, AccessMaskFlag};
32pub use crate::flag_wrapper::Contains;
33pub(crate) use crate::raw_size::RawSize;
34
35pub(crate) use crate::flag_wrapper::flag_wrapper;
36pub(crate) use crate::offset::*;
39pub(crate) use crate::sddl_h::*;
40
41pub trait SddlString: Sized {
42 fn from_sddl(sddl: &str) -> Result<Self, crate::Error>;
43}