text: // Targeted by JavaCPP version 1.5.4: DO NOT EDIT THIS FILE
  
  package org.bytedeco.systems.windows;
  
  import java.nio.*;
  import org.bytedeco.javacpp.*;
  import org.bytedeco.javacpp.annotation.*;
  
  import static org.bytedeco.javacpp.presets.javacpp.*;
  
  import static org.bytedeco.systems.global.windows.*;
  
  
  //
  //  Where:
  //
  //      SE_OWNER_DEFAULTED - This boolean flag, when set, indicates that the
  //          SID pointed to by the Owner field was provided by a
  //          defaulting mechanism rather than explicitly provided by the
  //          original provider of the security descriptor.  This may
  //          affect the treatment of the SID with respect to inheritence
  //          of an owner.
  //
  //      SE_GROUP_DEFAULTED - This boolean flag, when set, indicates that the
  //          SID in the Group field was provided by a defaulting mechanism
  //          rather than explicitly provided by the original provider of
  //          the security descriptor.  This may affect the treatment of
  //          the SID with respect to inheritence of a primary group.
  //
  //      SE_DACL_PRESENT - This boolean flag, when set, indicates that the
  //          security descriptor contains a discretionary ACL.  If this
  //          flag is set and the Dacl field of the SECURITY_DESCRIPTOR is
  //          null, then a null ACL is explicitly being specified.
  //
  //      SE_DACL_DEFAULTED - This boolean flag, when set, indicates that the
  //          ACL pointed to by the Dacl field was provided by a defaulting
  //          mechanism rather than explicitly provided by the original
  //          provider of the security descriptor.  This may affect the
  //          treatment of the ACL with respect to inheritence of an ACL.
  //          This flag is ignored if the DaclPresent flag is not set.
  //
  //      SE_SACL_PRESENT - This boolean flag, when set,  indicates that the
  //          security descriptor contains a system ACL pointed to by the
  //          Sacl field.  If this flag is set and the Sacl field of the
  //          SECURITY_DESCRIPTOR is null, then an empty (but present)
  //          ACL is being specified.
  //
  //      SE_SACL_DEFAULTED - This boolean flag, when set, indicates that the
  //          ACL pointed to by the Sacl field was provided by a defaulting
  //          mechanism rather than explicitly provided by the original
  //          provider of the security descriptor.  This may affect the
  //          treatment of the ACL with respect to inheritence of an ACL.
  //          This flag is ignored if the SaclPresent flag is not set.
  //
  //      SE_SELF_RELATIVE - This boolean flag, when set, indicates that the
  //          security descriptor is in self-relative form.  In this form,
  //          all fields of the security descriptor are contiguous in memory
  //          and all pointer fields are expressed as offsets from the
  //          beginning of the security descriptor.  This form is useful
  //          for treating security descriptors as opaque data structures
  //          for transmission in communication protocol or for storage on
  //          secondary media.
  //
  //
  //
  // Pictorially the structure of a security descriptor is as follows:
  //
  //       3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
  //       1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
  //      +---------------------------------------------------------------+
  //      |            Control            |Reserved1 (SBZ)|   Revision    |
  //      +---------------------------------------------------------------+
  //      |                            Owner                              |
  //      +---------------------------------------------------------------+
  //      |                            Group                              |
  //      +---------------------------------------------------------------+
  //      |                            Sacl                               |
  //      +---------------------------------------------------------------+
  //      |                            Dacl                               |
  //      +---------------------------------------------------------------+
  //
  // In general, this data structure should be treated opaquely to ensure future
  // compatibility.
  //
  //
  
  @Properties(inherit = org.bytedeco.systems.presets.windows.class)
  public class SECURITY_DESCRIPTOR_RELATIVE extends Pointer {
      static { Loader.load(); }
      /** Default native constructor. */
      public SECURITY_DESCRIPTOR_RELATIVE() { super((Pointer)null); allocate(); }
      /** Native array allocator. Access with {@link Pointer#position(long)}. */
      public SECURITY_DESCRIPTOR_RELATIVE(long size) { super((Pointer)null); allocateArray(size); }
      /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
      public SECURITY_DESCRIPTOR_RELATIVE(Pointer p) { super(p); }
      private native void allocate();
      private native void allocateArray(long size);
      @Override public SECURITY_DESCRIPTOR_RELATIVE position(long position) {
          return (SECURITY_DESCRIPTOR_RELATIVE)super.position(position);
      }
      @Override public SECURITY_DESCRIPTOR_RELATIVE getPointer(long i) {
          return new SECURITY_DESCRIPTOR_RELATIVE(this).position(position + i);
      }
  
      public native @Cast("BYTE") byte Revision(); public native SECURITY_DESCRIPTOR_RELATIVE Revision(byte setter);
      public native @Cast("BYTE") byte Sbz1(); public native SECURITY_DESCRIPTOR_RELATIVE Sbz1(byte setter);
      public native @Cast("SECURITY_DESCRIPTOR_CONTROL") short Control(); public native SECURITY_DESCRIPTOR_RELATIVE Control(short setter);
      public native @Cast("DWORD") int Owner(); public native SECURITY_DESCRIPTOR_RELATIVE Owner(int setter);
      public native @Cast("DWORD") int Group(); public native SECURITY_DESCRIPTOR_RELATIVE Group(int setter);
      public native @Cast("DWORD") int Sacl(); public native SECURITY_DESCRIPTOR_RELATIVE Sacl(int setter);
      public native @Cast("DWORD") int Dacl(); public native SECURITY_DESCRIPTOR_RELATIVE Dacl(int setter);
      }
  