(* SPDX-License-Identifier: LGPL-3.0-only *) type t type sub_auths = Stdint.Uint32.t array val create_unsafe : Stdint.Uint32.t array -> Stdint.Uint64.t -> t val create : ?sa:Stdint.Uint32.t array -> Stdint.Uint64.t -> t val equal_sub_auths : Stdint.Uint32.t array -> Stdint.Uint32.t array -> bool val equal : t -> t -> bool val get_ident_auth : t -> Stdint.Uint64.t val get_sub_auths : t -> sub_auths module StringFmt : sig val decode : string -> (t, string) result val encode : t -> string end module PacketRep : sig type endian = Big | Little val encode : ?endian:endian -> t -> bytes val decode : ?endian:endian -> bytes -> (t, string) result end module WellKnown : sig val null : t val everyone : t val world : t val local : t val creator_owner_id : t val creator_group_id : t val elite : t module Prefix : sig type toplevel_auth = ?sa:sub_auths -> unit -> t val security_null_sid_authority : toplevel_auth val security_world_sid_authority : ?sa:sub_auths -> unit -> t val security_local_sid_authority : ?sa:sub_auths -> unit -> t val security_creator_sid_authority : ?sa:sub_auths -> unit -> t val security_nt_authority : ?sa:sub_auths -> unit -> t val security_app_package_authority : ?sa:sub_auths -> unit -> t val security_mandatory_label_authority : ?sa:sub_auths -> unit -> t val security_scoped_policy_id_authority : ?sa:sub_auths -> unit -> t val security_authentication_authority : ?sa:sub_auths -> unit -> t end end val of_string : string -> (t, string) result val to_string : t -> string