1. --  (c) Copyright, Real-Time Innovations, $Date;: 2012-10-31 #$ 
  2. --  All rights reserved. 
  3. -- 
  4. --  No duplications, whole or partial, manual or electronic, may be made 
  5. --  without express written permission.  Any such copies, or 
  6. --  revisions thereof, must display this notice unaltered. 
  7. --  This code contains trade secrets of Real-Time Innovations, Inc. 
  8.  
  9.  
  10.  
  11. ----------------------------------------------------------------------------------------------------- 
  12. --  IMPORTANT: Enable the below pragma on suitable compilers 
  13. -- 
  14. --  GNAT 19 an under has a bug that prevents pragma Compile_Time_Error 
  15. --  from computing 'Size correctly during compilation. 
  16. --  GNAT 23 also shows a bug in the compiler when using arithmetic operations 
  17. --  during Compile_Time_Error. 
  18. pragma Ignore_Pragma (Compile_Time_Error); 
  19.  
  20.  
  21. --  Avoid warnings when the above pragma is enabled, as these may only be used 
  22. --  inside these Compile_Time_Error pragmas 
  23. pragma Warnings (Off); 
  24. with RTIDDS.Low_Level.ndds_mig_mig_rtps_h; 
  25. with RTIDDS.Low_Level.ndds_dds_c_dds_c_builtintypes_h; 
  26. with RTIDDS.Low_Level.ndds_dds_c_dds_c_builtin_trust_h; 
  27. with RTIDDS.Low_Level.ndds_dds_c_dds_c_builtin_h; 
  28. pragma Warnings (On); 
  29. ----------------------------------------------------------------------------------------------------- 
  30.  
  31. with Ada.Containers; 
  32. with Ada.Unchecked_Conversion; 
  33. with Ada.Unchecked_Deallocation; 
  34. with Ada.Calendar; 
  35. with Ada.Real_Time; 
  36. with Interfaces; 
  37. private with Interfaces.C; 
  38. with Interfaces.C.Strings; 
  39.  
  40. with DDS_Support; 
  41. with DDS_Support.Sequences_Generic; 
  42. with RTIDDS.Low_Level.ndds_dds_c_dds_c_common_h; 
  43. with RTIDDS.Low_Level.ndds_dds_c_dds_c_subscription_h; 
  44. with RTIDDS.Low_Level.ndds_ndds_config_c_h; 
  45. with RTIDDS.Low_Level.ndds_ndds_config_common_h; 
  46. with System; 
  47. with RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h; 
  48. with RTIDDS.Low_Level.ndds_dds_c_dds_c_publication_h; 
  49. with RTIDDS.Low_Level.ndds_dds_c_dds_c_sqlfilter_h; 
  50. with RTIDDS.Low_Level.ndds_dds_c_dds_c_topic_h; 
  51. with RTIDDS.Low_Level.ndds_dds_c_dds_c_domain_h; 
  52. with RTIDDS.Low_Level.ndds_dds_c_dds_c_flowcontroller_h; 
  53. with RTIDDS.Low_Level.ndds_dds_c_dds_c_builtin_impl_h; 
  54. with RTIDDS.Low_Level.ndds_dds_c_dds_c_typecode_h; 
  55. with RTIDDS.Low_Level.ndds_dds_c_dds_c_typeobject_h; 
  56. with RTIDDS.Low_Level.ndds_pres_pres_common_impl_h; 
  57. with RTIDDS.Low_Level.ndds_osapi_osapi_hash_h; 
  58. with RTIDDS.Low_Level.ndds_reda_reda_fastBuffer_h; 
  59. with RTIDDS.Low_Level.ndds_pres_pres_participant_h; 
  60.  
  61.  
  62. with Ada.Finalization; 
  63.  
  64. pragma Elaborate_All (DDS_Support.Sequences_Generic); 
  65.  
  66. --  <module name="DDSInfrastructureModule" actualName="Infrastructure Module">InfrastructureGroupDocs</module> 
  67. package DDS is 
  68.  
  69.    type Ref is limited interface; 
  70.    type Ref_Access is access all Ref'Class; 
  71.    --  Note that this package dependes heavely on the underlaying C implementation 
  72.    --  and will change when a full Ada implementation is avalible. 
  73.    -- 
  74.    --  Worth to notice is that erros from the underlaying midlleware is 
  75.    --  translated to exceptions, since there is no posibillity to ignore 
  76.    --  function returns in Ada. 
  77.    -- 
  78.    --  From osapi_types.h 
  79.    -- 
  80.  
  81.    Binding_Version : constant Standard.String := "7.4.0"; 
  82.  
  83.    --  ------------------------------------------------- 
  84.    --                 CDR Primitive Types 
  85.    --  ------------------------------------------------- 
  86.  
  87.    type    Short              is new Interfaces.C.short; 
  88.    --  <defgroup>CdrGroupDocs</defgroup> 
  89.    --  <dref>Short</dref> 
  90.  
  91.    type    Long               is new Interfaces.C.int; 
  92.    --  <dref>Long</dref> 
  93.  
  94.    subtype Integer  is Long; 
  95.    subtype Natural  is Integer range 0 .. Integer'Last; 
  96.    subtype Positive is Integer range 1 .. Integer'Last; 
  97.  
  98.    type Long_Long          is new Interfaces.Integer_64; 
  99.    pragma Compile_Time_Error (Long_Long'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_common_h.DDS_LongLong'Size, "Long_Long'Size missmatch"); 
  100.    --  <dref>LongLong</dref> 
  101.  
  102.    type Unsigned_Short     is new Interfaces.Unsigned_16; 
  103.    pragma Compile_Time_Error (Unsigned_Short'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_common_h.DDS_UnsignedShort'Size, "Unsigned_Short'Size missmatch"); 
  104.    --  <dref>UnsignedShort</dref> 
  105.  
  106.    type Unsigned_Long      is new Interfaces.Unsigned_32; 
  107.    pragma Compile_Time_Error (Unsigned_Long'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_common_h.DDS_UnsignedLong'Size, "Unsigned_Long'Size missmatch"); 
  108.    --  <dref>UnsignedLong</dref> 
  109.  
  110.    type Unsigned_Long_Long is new Interfaces.Unsigned_64; 
  111.    pragma Compile_Time_Error (Unsigned_Long_Long'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_common_h.DDS_UnsignedLongLong'Size, "Unsigned_Long_Long'Size missmatch"); 
  112.    --  <dref>UnsignedLongLong</dref> 
  113.  
  114.    type Enum               is new Interfaces.Unsigned_32; 
  115.    --  <dref>CdrEnum</dref> 
  116.  
  117.    type Float           is new Interfaces.IEEE_Float_32; 
  118.    --  <dref>Float</dref> 
  119.  
  120.    type Double          is new Interfaces.IEEE_Float_64; 
  121.    --  <dref>Double</dref> 
  122.  
  123.    type Long_Double     is new Interfaces.IEEE_Extended_Float; 
  124.    --  <dref>LongDouble</dref> 
  125.  
  126.    subtype Char            is Standard.Character; 
  127.    --  <dref>Char</dref> 
  128.  
  129.    subtype Wchar           is Standard.Wide_Character; 
  130.    --  <dref>Wchar</dref> 
  131.  
  132.    subtype Octet           is Interfaces.Unsigned_8; 
  133.    --  <dref>Octet</dref> 
  134.    function Image (Item : Octet) return Standard.String; 
  135.  
  136.    INFINITE : constant := -1; 
  137.    type Octets is record 
  138.       Length : Integer := 0; 
  139.       Value  : System.Address := System.Null_Address; 
  140.    end record with Convention => C; 
  141.    pragma Compile_Time_Error (Octets'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_builtintypes_h.DDS_Octets'Size, "Octets size missmatch."); 
  142.  
  143.    --  <dref>Octets</dref> 
  144.    --  <dref name="length">Octets_length</dref> 
  145.    --  <dref name="value">Octets_value</dref> 
  146.  
  147.    generic 
  148.       type Element is private; 
  149.       pragma Compile_Time_Error (Element'Has_Access_Values, "Element may not contain pointers"); 
  150.    function Element_As_Octets_Generic (Item : not null access constant Element) return DDS.Octets; 
  151.    --  Returns an Octets view of the Element 
  152.    ---------------------------------------- 
  153.  
  154.    generic 
  155.       type Element is private; 
  156.       pragma Compile_Time_Error (Element'Has_Access_Values, "Element may not contain pointers"); 
  157.    function Octets_As_Element_Generic (Item : aliased DDS.Octets) return not null access Element 
  158.      with Pre => (Item.Length > 0 and then System."/=" (Item.Value, System.Null_Address)); 
  159.    --  Returns an Element view of the Octets. 
  160.    ----------------------------------------- 
  161.  
  162.  
  163.  
  164.  
  165.    Null_Octets : constant Octets := (0, System.Null_Address); 
  166.    subtype Boolean         is Standard.Boolean; 
  167.    --  <dref>Boolean</dref> 
  168.  
  169.    --  subtype String          is Interfaces.C.Strings.chars_ptr; 
  170.  
  171.    type String  is limited record 
  172.       Data  : aliased Interfaces.C.Strings.chars_ptr := Interfaces.C.Strings.Null_Ptr; 
  173.       pragma Obsolescent (Data, "This is internal data and not to be referenced outside the DDS hierachy:" & 
  174.                             "use Operations on the whole record instead!"); 
  175.    end record with 
  176.      Convention => C; 
  177.    --  <dref>String</dref> 
  178.    function Length (Item : String) return Natural; 
  179.    function "=" (L : DDS.String; R : Standard.String) return Standard.Boolean; 
  180.    function "=" (L : Standard.String; R : DDS.String) return Standard.Boolean; 
  181.    function "&" (L : DDS.String; R : Standard.String) return Standard.String; 
  182.    function "&" (L : Standard.String; R : DDS.String) return Standard.String; 
  183.    procedure Append (To : in out DDS.String; Data : DDS.String); 
  184.    procedure Append (To : in out DDS.String; Data : Standard.String); 
  185.  
  186.    procedure Prepend (To : in out DDS.String; Data : DDS.String); 
  187.    procedure Prepend (To : in out DDS.String; Data : Standard.String); 
  188.  
  189.    type KeyedString is record 
  190.       Key   : DDS.String; 
  191.       Value : DDS.String; 
  192.    end record with Convention => C; 
  193.    pragma Compile_Time_Error (KeyedString'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_builtintypes_h.DDS_KeyedString'Size, "KeyedString size missmatch."); 
  194.  
  195.    --  <dref>KeyedString</dref> 
  196.    --  <dref name="key">KeyedString_key</dref> 
  197.    --  <dref name="value">KeyedString_value</dref> 
  198.  
  199.    type KeyedOctets is record 
  200.       Key    : DDS.String; 
  201.       Value  : Octets; 
  202.    end record with Convention => C; 
  203.    pragma Compile_Time_Error (KeyedOctets'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_builtintypes_h.DDS_KeyedOctets'Size, "KeyedOctets size missmatch."); 
  204.  
  205.    --  <dref>KeyedOctets</dref> 
  206.    --  <dref name="key">KeyedOctets_key</dref> 
  207.    --  <dref name="length">KeyedOctets_length</dref> 
  208.    --  <dref name="value">KeyedOctets_value</dref> 
  209.  
  210.  
  211.    NULL_STRING     : constant DDS.String := (Data => Interfaces.C.Strings.Null_Ptr); 
  212.  
  213.    type Wchars_Ptr is access all Standard.Wide_Character 
  214.      with Convention => C; 
  215.  
  216.    type Wide_String is limited record 
  217.       Data : Wchars_Ptr; 
  218.    end record with 
  219.      Convention => C; 
  220.  
  221.    --  <dref>Wstring</dref> 
  222.  
  223.    function WValue (Item : Wchars_Ptr) return Interfaces.C.char16_array; 
  224.    function "+" (Left : Wchars_Ptr; Right : Interfaces.C.size_t) return Wchars_Ptr; 
  225.    function Peek (From : Wchars_Ptr) return Standard.Wide_Character; 
  226.  
  227.    --  Pointers on the previous types 
  228.  
  229.    type    Short_Ptr              is access all Short; 
  230.    type    Long_Ptr               is access all Long; 
  231.    type    Long_Long_Ptr          is access all Long_Long; 
  232.    type    Unsigned_Short_Ptr     is access all Unsigned_Short; 
  233.    type    Unsigned_Long_Ptr      is access all Unsigned_Long; 
  234.    type    Unsigned_Long_Long_Ptr is access all Unsigned_Long_Long; 
  235.    type    Enum_Ptr               is access all Enum; 
  236.    type    Float_Ptr              is access all Float; 
  237.    type    Double_Ptr             is access all Double; 
  238.    type    Long_Double_Ptr        is access all Long_Double; 
  239.    type    Char_Ptr               is access all Char; 
  240.    type    Wchar_Ptr              is access all Wchar; 
  241.    type    Octet_Ptr              is access all Octet; 
  242.    type    Octets_Ptr             is access all Octets; 
  243.    type    Boolean_Ptr            is access all Boolean; 
  244.    type    String_Ptr             is access all String; 
  245.    type    KeyedString_Ptr        is access all KeyedString; 
  246.    type    KeyedOctets_Ptr        is access all KeyedOctets; 
  247.    type    Wide_String_Ptr        is access all Wide_String; 
  248.  
  249.    --  ... and deallocation method for each pointer type 
  250.  
  251.    procedure Deallocate is new Ada.Unchecked_Deallocation (Short, Short_Ptr); 
  252.    procedure Deallocate is new Ada.Unchecked_Deallocation (Long, Long_Ptr); 
  253.    procedure Deallocate is new Ada.Unchecked_Deallocation (Long_Long, Long_Long_Ptr); 
  254.    procedure Deallocate is new Ada.Unchecked_Deallocation (Unsigned_Short, Unsigned_Short_Ptr); 
  255.    procedure Deallocate is new Ada.Unchecked_Deallocation (Unsigned_Long, Unsigned_Long_Ptr); 
  256.    procedure Deallocate is new Ada.Unchecked_Deallocation (Unsigned_Long_Long, Unsigned_Long_Long_Ptr); 
  257.    procedure Deallocate is new Ada.Unchecked_Deallocation (Enum, Enum_Ptr); 
  258.    procedure Deallocate is new Ada.Unchecked_Deallocation (Float, Float_Ptr); 
  259.    procedure Deallocate is new Ada.Unchecked_Deallocation (Double, Double_Ptr); 
  260.    procedure Deallocate is new Ada.Unchecked_Deallocation (Long_Double, Long_Double_Ptr); 
  261.    procedure Deallocate is new Ada.Unchecked_Deallocation (Char, Char_Ptr); 
  262.    procedure Deallocate is new Ada.Unchecked_Deallocation (Wchar, Wchar_Ptr); 
  263.    procedure Deallocate is new Ada.Unchecked_Deallocation (Octet, Octet_Ptr); 
  264.    procedure Deallocate is new Ada.Unchecked_Deallocation (Boolean, Boolean_Ptr); 
  265.    procedure Deallocate is new Ada.Unchecked_Deallocation (String, String_Ptr); 
  266.    procedure Deallocate is new Ada.Unchecked_Deallocation (Wide_String, Wide_String_Ptr); 
  267.  
  268.    DOMAIN_ID_MAX : constant := 250; 
  269.  
  270.    type DomainId_T is new Long range 0 .. DOMAIN_ID_MAX; 
  271.    --  <dref>DomainId_t</dref> 
  272.  
  273.    Default_Domain  : constant DomainId_T := 0; 
  274.  
  275.    -- 
  276.    --  From dds_c/dds_c_infrastructure.h 
  277.    -- 
  278.  
  279.    --  ------------------------------------------------- 
  280.    --                 CDR Primitive Types Array and Sequences 
  281.    --  ------------------------------------------------- 
  282.  
  283.    type Short_Array is array (Natural range <>) of aliased Short; 
  284.    procedure Initialize (Self  : in out Short); 
  285.    procedure Finalize (Self  : in out Short); 
  286.    procedure Copy (Dst : in out Short; Src : in Short); 
  287.    package Short_Seq is new DDS_Support.Sequences_Generic 
  288.      (Short, 
  289.       Short_Ptr, 
  290.       DDS.Natural, 
  291.       1, 
  292.       Short_Array); 
  293.    --  <defgroup>SequenceGroupDocs</defgroup> 
  294.    --  <dref>ShortSeq</dref> 
  295.  
  296.    type Long_Array is array (Natural range <>) of aliased Long; 
  297.    procedure Initialize (Self  : in out Long); 
  298.    procedure Finalize (Self  : in out Long); 
  299.    procedure Copy (Dst : in out Long; Src : in Long); 
  300.    package Long_Seq is new DDS_Support.Sequences_Generic 
  301.      (Long, 
  302.       Long_Ptr, 
  303.       DDS.Natural, 
  304.       1, 
  305.       Long_Array); 
  306.    --  <dref>LongSeq</dref> 
  307.  
  308.    type Long_Long_Array is array (Natural range <>) of aliased Long_Long; 
  309.  
  310.    procedure Initialize (Self  : in out Long_Long); 
  311.    procedure Finalize (Self  : in out Long_Long); 
  312.    procedure Copy (Dst : in out Long_Long; Src : in Long_Long); 
  313.    package Long_Long_Seq is new DDS_Support.Sequences_Generic 
  314.      (Long_Long, 
  315.       Long_Long_Ptr, 
  316.       DDS.Natural, 
  317.       1, 
  318.       Long_Long_Array); 
  319.    --  <dref>LongLongSeq</dref> 
  320.  
  321.    type Unsigned_Short_Array is array (Natural range <>) of aliased Unsigned_Short; 
  322.    procedure Initialize (Self  : in out Unsigned_Short); 
  323.    procedure Finalize (Self  : in out Unsigned_Short); 
  324.    procedure Copy (Dst : in out Unsigned_Short; Src : in Unsigned_Short); 
  325.    package Unsigned_Short_Seq is new DDS_Support.Sequences_Generic 
  326.      (Unsigned_Short, 
  327.       Unsigned_Short_Ptr, 
  328.       DDS.Natural, 
  329.       1, 
  330.       Unsigned_Short_Array); 
  331.    --  <dref>UnsignedShortSeq</dref> 
  332.  
  333.    type Unsigned_Long_Array is array (Natural range <>) of aliased Unsigned_Long; 
  334.    procedure Initialize (Self  : in out Unsigned_Long); 
  335.    procedure Finalize (Self  : in out Unsigned_Long); 
  336.    procedure Copy (Dst : in out Unsigned_Long; Src : in Unsigned_Long); 
  337.    package Unsigned_Long_Seq is new DDS_Support.Sequences_Generic 
  338.      (Unsigned_Long, 
  339.       Unsigned_Long_Ptr, 
  340.       DDS.Natural, 
  341.       1, 
  342.       Unsigned_Long_Array); 
  343.    --  <dref>UnsignedLongSeq</dref> 
  344.  
  345.    type Unsigned_Long_Long_Array is array (Natural range <>) of aliased Unsigned_Long_Long; 
  346.    procedure Initialize (Self  : in out Unsigned_Long_Long); 
  347.    procedure Finalize (Self  : in out Unsigned_Long_Long); 
  348.    procedure Copy (Dst : in out Unsigned_Long_Long; Src : in Unsigned_Long_Long); 
  349.    package Unsigned_Long_Long_Seq is new DDS_Support.Sequences_Generic 
  350.      (Unsigned_Long_Long, 
  351.       Unsigned_Long_Long_Ptr, 
  352.       DDS.Natural, 
  353.       1, 
  354.       Unsigned_Long_Long_Array); 
  355.    --  <dref>UnsignedLongLongSeq</dref> 
  356.  
  357.    type Enum_Array is array (Natural range <>) of aliased Enum; 
  358.    procedure Initialize (Self  : in out Enum); 
  359.    procedure Finalize (Self  : in out Enum); 
  360.    procedure Copy (Dst : in out Enum; Src : in Enum); 
  361.    package Enum_Seq is new DDS_Support.Sequences_Generic 
  362.      (Enum, 
  363.       Enum_Ptr, 
  364.       DDS.Natural, 
  365.       1, 
  366.       Enum_Array); 
  367.  
  368.    type Float_Array is array (Natural range <>) of aliased Float; 
  369.    procedure Initialize (Self  : in out Float); 
  370.    procedure Finalize (Self  : in out Float); 
  371.    procedure Copy (Dst : in out Float; Src : in Float); 
  372.    package Float_Seq is new DDS_Support.Sequences_Generic 
  373.      (Float, 
  374.       Float_Ptr, 
  375.       DDS.Natural, 
  376.       1, 
  377.       Float_Array); 
  378.    --  <dref>FloatSeq</dref> 
  379.  
  380.    type Double_Array is array (Natural range <>) of aliased Double; 
  381.    procedure Initialize (Self  : in out Double); 
  382.    procedure Finalize (Self  : in out Double); 
  383.    procedure Copy (Dst : in out Double; Src : in Double); 
  384.    package Double_Seq is new DDS_Support.Sequences_Generic 
  385.      (Double, 
  386.       Double_Ptr, 
  387.       DDS.Natural, 
  388.       1, 
  389.       Double_Array); 
  390.    --  <dref>DoubleSeq</dref> 
  391.  
  392.    type Long_Double_Array is array (Natural range <>) of aliased Long_Double; 
  393.    procedure Initialize (Self  : in out Long_Double); 
  394.    procedure Finalize (Self  : in out Long_Double); 
  395.    procedure Copy (Dst : in out Long_Double; Src : in Long_Double); 
  396.    package Long_Double_Seq is new DDS_Support.Sequences_Generic 
  397.      (Long_Double, 
  398.       Long_Double_Ptr, 
  399.       DDS.Natural, 
  400.       1, 
  401.       Long_Double_Array); 
  402.    --  <dref>LongDoubleSeq</dref> 
  403.  
  404.    type Char_Array is array (Natural range <>) of aliased Char; 
  405.    procedure Initialize (Self  : in out Char); 
  406.    procedure Finalize (Self  : in out Char); 
  407.    procedure Copy (Dst : in out Char; Src : in Char); 
  408.    package Char_Seq is new DDS_Support.Sequences_Generic 
  409.      (Char, 
  410.       Char_Ptr, 
  411.       DDS.Natural, 
  412.       1, 
  413.       Char_Array); 
  414.    --  <dref>CharSeq</dref> 
  415.  
  416.    type Wchar_Array is array (Natural range <>) of aliased Wchar; 
  417.    procedure Initialize (Self  : in out Wchar); 
  418.    procedure Finalize (Self  : in out Wchar); 
  419.    procedure Copy (Dst : in out Wchar; Src : in Wchar); 
  420.    package Wchar_Seq is new DDS_Support.Sequences_Generic 
  421.      (Wchar, 
  422.       Wchar_Ptr, 
  423.       DDS.Natural, 
  424.       1, 
  425.       Wchar_Array); 
  426.    --  <dref>WcharSeq</dref> 
  427.  
  428.    type Octet_Array is array (Natural range <>) of aliased Octet; 
  429.    pragma Convention (C, Octet_Array); 
  430.    procedure Initialize (Self  : in out Octet); 
  431.    procedure Finalize (Self  : in out Octet); 
  432.    procedure Copy (Dst : in out Octet; Src : in Octet); 
  433.    package Octet_Seq is new DDS_Support.Sequences_Generic 
  434.      (Octet, 
  435.       Octet_Ptr, 
  436.       DDS.Natural, 
  437.       1, 
  438.       Octet_Array); 
  439.    --  <dref>OctetSeq</dref> 
  440.  
  441.    function Octets_Of (Item : Octet_Array) return Octets is 
  442.      (Octets'(Length =>  Item'Length, Value => Item (Item'First)'Address)); 
  443.    function Octets_Of (Item : Octet_Seq.Sequence) return Octets is 
  444.      (Octets'(Length =>  Item.Length, Value => Item.Contiguous_Buffer.all'Address)); 
  445.  
  446.  
  447.    type Octets_Array is array (Natural range <>) of aliased Octets; 
  448.    pragma Convention (C, Octets_Array); 
  449.    procedure Initialize (Self : in out Octets); 
  450.    procedure Finalize (Self : in out Octets); 
  451.    procedure Copy (Dst : in out Octets; Src : in Octets); 
  452.    package Octets_Seq is new DDS_Support.Sequences_Generic 
  453.      (Octets, 
  454.       Octets_Ptr, 
  455.       DDS.Natural, 
  456.       1, 
  457.       Octets_Array); 
  458.    --  <dref>OctetsSeq</dref> 
  459.  
  460.    type Boolean_Array is array (Natural range <>) of aliased Boolean; 
  461.    procedure Initialize (Self  : in out Boolean); 
  462.    procedure Finalize (Self  : in out Boolean); 
  463.    procedure Copy (Dst : in out Boolean; Src : in Boolean); 
  464.    package Boolean_Seq is new DDS_Support.Sequences_Generic 
  465.      (Boolean, 
  466.       Boolean_Ptr, 
  467.       DDS.Natural, 
  468.       1, 
  469.       Boolean_Array); 
  470.    --  <dref>BooleanSeq</dref> 
  471.  
  472.    function To_DDS_String (Source : Standard.String) return DDS.String is 
  473.      (Data => Interfaces.C.Strings.New_String (Source)); 
  474.    function To_Standard_String (Source : DDS.String) return Standard.String; 
  475.  
  476.  
  477.    procedure Copy (Dst : in out DDS.String; Src : in Standard.String); 
  478.    procedure Copy (Dst : in out Standard.String; Src : in DDS.String); 
  479.    function "=" (L, R  : DDS.String) return Boolean; 
  480.  
  481.    type String_Array is array (Natural range <>) of aliased DDS.String; 
  482.    procedure Initialize (Self  : in out DDS.String); 
  483.    procedure Finalize (Self  : in out DDS.String); 
  484.    procedure Copy (Dst : in out DDS.String; Src : in DDS.String); 
  485.    package String_Seq is new DDS_Support.Sequences_Generic 
  486.      (DDS.String, 
  487.       String_Ptr, 
  488.       DDS.Natural, 
  489.       1, 
  490.       String_Array); 
  491.    --  <dref>StringSeq</dref> 
  492.  
  493.    function To_DDS_KeyedString (Key : Standard.String; Source : Standard.String) return DDS.KeyedString; 
  494.    function To_Standard_String (Source : DDS.KeyedString) return Standard.String; 
  495.    function Get_Key_From_KeyedString (Source : DDS.KeyedString) return Standard.String; 
  496.    function "=" (L, R  : DDS.KeyedString) return Boolean; 
  497.  
  498.    type KeyedString_Array is array (Natural range <>) of aliased DDS.KeyedString; 
  499.    procedure Initialize (Self  : in out DDS.KeyedString); 
  500.    procedure Finalize (Self  : in out DDS.KeyedString); 
  501.    procedure Copy (Dst : in out DDS.KeyedString; Src : in DDS.KeyedString); 
  502.    package KeyedString_Seq is new DDS_Support.Sequences_Generic 
  503.      (DDS.KeyedString, 
  504.       KeyedString_Ptr, 
  505.       DDS.Natural, 
  506.       1, 
  507.       KeyedString_Array); 
  508.    --  <dref>KeyedStringSeq</dref> 
  509.  
  510.    function KeyedString_Of (Value : DDS.String; Key : DDS.String) return KeyedString; 
  511.    function KeyedString_Of (Key : DDS.String) return KeyedString; 
  512.    --  NOTE that the above functions does not do any copying of data 
  513.    --   They are just generation references. 
  514.  
  515.    type KeyedOctets_Array is array (Natural range <>) of aliased DDS.KeyedOctets; 
  516.    procedure Initialize (Self : in out DDS.KeyedOctets); 
  517.    procedure Finalize (Self : in out DDS.KeyedOctets); 
  518.    procedure Copy (Dst : in out DDS.KeyedOctets; Src : in DDS.KeyedOctets); 
  519.    package KeyedOctets_Seq is new DDS_Support.Sequences_Generic 
  520.      (DDS.KeyedOctets, 
  521.       KeyedOctets_Ptr, 
  522.       DDS.Natural, 
  523.       1, 
  524.       KeyedOctets_Array); 
  525.    --  <dref>KeyedOctetsSeq</dref> 
  526.  
  527.  
  528.  
  529.    function KeyedOctets_Of (Key : String; Value : Octets := Null_Octets) return KeyedOctets; 
  530.    function KeyedOctets_Of (Key : String; Value : Octet_Array) return KeyedOctets; 
  531.    function KeyedOctets_Of (Key : String; Value : Octet_Seq.Sequence) return KeyedOctets; 
  532.  
  533.    generic 
  534.       type Data_Type is private; 
  535.    function KeyedOctets_Of_Generic (Key : String; Value : Data_Type) return KeyedOctets; 
  536.  
  537.    function To_DDS_Wide_String (Source : Standard.Wide_String) return DDS.Wide_String; 
  538.    function To_Standard_Wide_String (Source : DDS.Wide_String) return Standard.Wide_String; 
  539.    procedure Copy (Dst : in out DDS.Wide_String; Src : in Standard.Wide_String); 
  540.    procedure Copy (Dst : in out Standard.Wide_String; Src : in DDS.Wide_String); 
  541.    function "=" (L, R  : DDS.Wide_String) return Boolean; 
  542.  
  543.    type Wide_String_Array is array (Natural range <>) of aliased DDS.Wide_String; 
  544.    procedure Initialize (Self  : in out DDS.Wide_String); 
  545.    procedure Finalize (Self  : in out DDS.Wide_String); 
  546.    procedure Copy (Dst : in out DDS.Wide_String; Src : in DDS.Wide_String); 
  547.    package Wide_String_Seq is new DDS_Support.Sequences_Generic 
  548.      (DDS.Wide_String, 
  549.       Wide_String_Ptr, 
  550.       DDS.Natural, 
  551.       1, 
  552.       Wide_String_Array); 
  553.    --  <dref>WstringSeq</dref> 
  554.  
  555.    --  ------------------------------------------------- 
  556.    --                 Time_t 
  557.    --  ------------------------------------------------- 
  558.  
  559.    type Time_T is record 
  560.       Sec     : Long_Long := 0; 
  561.       Nanosec : Unsigned_Long := 0; 
  562.    end record with Convention => C; 
  563.    --  <defgroup>TimeSupportGroupDocs</defgroup> 
  564.    --  <dref>Time_t</dref> 
  565.    --  <dref name="Sec">TimeStamp_sec</dref> 
  566.    --  <dref name="Nanosec">TimeStamp_nanosec</dref> 
  567.  
  568.    Time_Zero       : constant Time_T := (0, 0); 
  569.    --  <dref>Time_t_ZERO</dref> 
  570.  
  571.    TIME_INVALID_SEC : constant Long_Long      := -1; 
  572.    --  <dref>Time_t_INVALID_SEC</dref> 
  573.  
  574.    TIME_INVALID_NSEC : constant Unsigned_Long      := 4_294_967_295; 
  575.    --  <dref>Time_t_INVALID_NSEC</dref> 
  576.  
  577.    Time_Invalid    : constant Time_T := (TIME_INVALID_SEC, TIME_INVALID_NSEC); 
  578.    --  <dref>Time_t_INVALID</dref> 
  579.  
  580.  
  581.    function "<" (L : Time_T; R : Time_T) return Boolean; 
  582.  
  583.    function ">" (L : Time_T; R : Time_T) return Boolean; 
  584.  
  585.    function "<=" (L : Time_T; R : Time_T) return Boolean; 
  586.  
  587.    function ">=" (L : Time_T; R : Time_T) return Boolean; 
  588.  
  589.    pragma Warnings (Off); 
  590.    function "+" (L : Time_T; R : Time_T) return Time_T is (Time_Invalid) with 
  591.      Obsolescent => "Time + Time Does not make sense, but duration + duration does !"; 
  592.    pragma Warnings (On); 
  593.  
  594.    function Time_Is_Zero 
  595.      (T : Time_T) 
  596.       return Boolean; 
  597.    --  <dref>Time_t_is_zero</dref> 
  598.  
  599.    function Time_Is_Invalid 
  600.      (T : Time_T) 
  601.       return Boolean; 
  602.    --  <dref>Time_t_is_invalid</dref> 
  603.  
  604.    function To_Time (T : Time_T) return Ada.Calendar.Time; 
  605.    function To_Time (T : Time_T) return Ada.Real_Time.Time; 
  606.    function To_Time_T (T : Ada.Calendar.Time) return Time_T; 
  607.    function To_Time_T (T : Ada.Real_Time.Time) return Time_T; 
  608.  
  609.    --  ------------------------------------------------- 
  610.    --                 Duration_t 
  611.    --  ------------------------------------------------- 
  612.  
  613.    type Duration_T is record -- Default DURATION_ZERO 
  614.       Sec     : Long := 0; 
  615.       Nanosec : Unsigned_Long := 0; 
  616.    end record with 
  617.      Convention => C; 
  618.    --  <dref>Duration_t</dref> 
  619.    --  <dref name="Sec">TimeStamp_sec</dref> 
  620.    --  <dref name="Nanosec">TimeStamp_nanosec</dref> 
  621.  
  622.    DURATION_ZERO_SEC : constant Long := 0; 
  623.    --  <dref>Duration_t_ZERO_SEC</dref> 
  624.  
  625.    DURATION_ZERO_NSEC : constant Unsigned_Long := 0; 
  626.    --  <dref>Duration_t_ZERO_NSEC</dref> 
  627.  
  628.    DURATION_ZERO     : Duration_T := (DURATION_ZERO_SEC, DURATION_ZERO_NSEC); 
  629.    --  <dref>Duration_t_ZERO</dref> 
  630.  
  631.    DURATION_INFINITE_SEC : constant Long := 2_147_483_647; 
  632.    --  <dref>Duration_t_INFINITE_SEC</dref> 
  633.  
  634.    DURATION_INFINITE_NSEC : constant Unsigned_Long := 2_147_483_647; 
  635.    --  <dref>Duration_t_INFINITE_NSEC</dref> 
  636.  
  637.    DURATION_INFINITE : constant Duration_T := 
  638.      (DURATION_INFINITE_SEC, DURATION_INFINITE_NSEC); 
  639.    --  <dref>Duration_t_INFINITE</dref> 
  640.  
  641.    DURATION_AUTO_SEC : constant Long := 2_1474_83_647; 
  642.    --  <dref>Duration_t_AUTO_SEC</dref> 
  643.  
  644.    DURATION_AUTO_NSEC : constant Unsigned_Long := 0; 
  645.    --  <dref>Duration_t_AUTO_NSEC</dref> 
  646.  
  647.    DURATION_AUTO     : constant Duration_T := 
  648.      (DURATION_AUTO_SEC, DURATION_AUTO_NSEC); 
  649.    --  <dref>Duration_t_AUTO</dref> 
  650.  
  651.    --  <dref>Duration_t_is_zero</dref> 
  652.    function Duration_Is_Zero 
  653.      (D : Duration_T) 
  654.       return Boolean; 
  655.  
  656.    --  <dref>Duration_t_is_infinite</dref> 
  657.    function Duration_Is_Infinite 
  658.      (D : Duration_T) 
  659.       return Boolean; 
  660.  
  661.    --  <dref>Duration_t_is_auto</dref> 
  662.    function Duration_Is_Auto 
  663.      (D : Duration_T) 
  664.       return Boolean; 
  665.  
  666.    function To_Duration (D : Duration_T) return Standard.Duration; 
  667.    function To_Duration_T (D : Standard.Duration) return Duration_T; 
  668.    --  <internal> 
  669.    --  Converts a standard.Duration to Duration_T and will raise 
  670.    --  Constraint error if the conversion is impossible except for the 
  671.    --  Value Duration'Last that will return "DURATION_INFINITE". 
  672.    --  </internal> 
  673.  
  674.    function "+" (L : Time_T; R : Duration_T) return Time_T; 
  675.    function "+" (L : Duration_T; R : Time_T) return Time_T; 
  676.    function "-" (L : Time_T; R : Duration_T) return Time_T; 
  677.    function "+" (L : Duration_T; R : Duration_T) return Duration_T; 
  678.    function "-" (L : Duration_T; R : Duration_T) return Duration_T; 
  679.    function "<" (L : Duration_T; R : Duration_T) return Boolean; 
  680.    function ">" (L : Duration_T; R : Duration_T) return Boolean; 
  681.    function "-" (L : Time_T; R : Time_T) return Duration_T; 
  682.  
  683.  
  684.    --  ------------------------------------------------- 
  685.    --                 CompressionSettings_T 
  686.    --  ------------------------------------------------- 
  687.  
  688.    type CompressionSettings_T is record 
  689.       Compression_Ids              : aliased Unsigned_Long := 0; 
  690.       Writer_Compression_Level     : aliased Unsigned_Long := 10; 
  691.       Writer_Compression_Threshold : aliased Long := 0; 
  692.    end record with 
  693.      Convention => C; 
  694.    --  <defgroup>CompressionSettingsQosGroupDocs</defgroup> 
  695.    --  <dref>CompressionSettings_t</dref> 
  696.    --  <dref name="Compression_Ids">CompressionSettings_t_compression_ids</dref> 
  697.    --  <dref name="Writer_Compression_Level">CompressionSettings_t_writer_compression_level</dref> 
  698.    --  <dref name="Writer_Compression_Threshold">CompressionSettings_t_writer_compression_threshold</dref> 
  699.  
  700.    COMPRESSION_SETTINGS_T_DEFAULT : constant CompressionSettings_T := (others => <>); 
  701.    --  ------------------------------------------------- 
  702.    --                 InstanceHandle_t 
  703.    --  ------------------------------------------------- 
  704.  
  705.    type Builtin_Topic_Key_Type_Native is new Interfaces.Unsigned_32; 
  706.  
  707.    type KeyHash_T is record 
  708.       value  : aliased Octet_Array (1 .. 16) := (others => 0); 
  709.       length : aliased Natural := 16; 
  710.    end record 
  711.      with Convention => C; 
  712.    pragma Compile_Time_Error (KeyHash_T'Size /= 
  713.                                 RTIDDS.Low_Level.ndds_mig_mig_rtps_h.MIGRtpsKeyHash'Size, 
  714.                               "KeyHash_T size missmatch."); 
  715.    function "="(L, R : KeyHash_T) return Boolean; 
  716.  
  717.    type InstanceHandle_T is record 
  718.       keyHash : aliased KeyHash_T; 
  719.       isValid : aliased DDS.Boolean := False; 
  720.    end record with 
  721.      Convention => C; 
  722.  
  723.    pragma Compile_Time_Error (InstanceHandle_T'Size /= 
  724.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_InstanceHandle_t'Size, 
  725.                               "InstanceHandle_T size missmatch."); 
  726.  
  727.    Null_InstanceHandle_T : aliased constant InstanceHandle_T := (others => <>); 
  728.    HANDLE_NIL            : aliased constant InstanceHandle_T := Null_InstanceHandle_T; 
  729.    --  <dref>InstanceHandle_t_NIL</dref> 
  730.    type InstanceHandle_T_Access is access all InstanceHandle_T; 
  731.  
  732.    type InstanceHandle_T_Array is array (Natural range <>) of aliased InstanceHandle_T; 
  733.    procedure Initialize (Self  : in out InstanceHandle_T); 
  734.    procedure Finalize (Self  : in out InstanceHandle_T); 
  735.    procedure Copy (Dst : in out InstanceHandle_T; Src : in InstanceHandle_T); 
  736.    --    package InstanceHandle_Seq is new Ada.Containers.Vectors (Positive, InstanceHandle_T); 
  737.    function "="(L, R : InstanceHandle_T) return Boolean; 
  738.  
  739.    package InstanceHandle_Seq is new DDS_Support.Sequences_Generic 
  740.      (InstanceHandle_T, 
  741.       InstanceHandle_T_Access, 
  742.       DDS.Natural, 
  743.       1, 
  744.       InstanceHandle_T_Array); 
  745.    --  <dref>InstanceHandleSeq</dref> 
  746.  
  747.    --  <dref>InstanceHandle_t_equals</dref> 
  748.    function InstanceHandle_Equals 
  749.      (Self : not null access InstanceHandle_T; Other : not null access InstanceHandle_T) return Boolean; 
  750.  
  751.    function "=" (Self : not null access InstanceHandle_T; Other : not null access InstanceHandle_T) 
  752.                  return Boolean renames InstanceHandle_Equals; 
  753.  
  754.    --  <dref>InstanceHandle_t_is_nil</dref> 
  755.    function InstanceHandle_Is_Nil 
  756.      (Self : not null access InstanceHandle_T) return Boolean; 
  757.    --  ------------------------------------------------- 
  758.    --                 Guid_t 
  759.    --  ------------------------------------------------- 
  760.    subtype GUID_T_Value_Array is  Octet_Array (0 .. 15); 
  761.    type Guid_T is record 
  762.       Value : aliased GUID_T_Value_Array := (others => 0); 
  763.    end record with Convention => C; 
  764.    pragma Compile_Time_Error (DDS.Guid_T'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_GUID_t'Size, "DDS_GUID_t size mismatch"); 
  765.  
  766.    --  <defgroup>GUIDSupportGroupDocs</defgroup> 
  767.    --  <dref>GUID_t</dref> 
  768.    --  <dref name="Value">GUID_t_value</dref> 
  769.  
  770.    type Guid_T_Access is access all Guid_T; 
  771.  
  772.    GUID_AUTO : aliased constant Guid_T := (Value => (others => 0)); 
  773.    --  <dref>GUID_t_AUTO</dref> 
  774.  
  775.    GUID_UNKNOWN : Guid_T renames GUID_AUTO; 
  776.    --  <dref>GUID_t_UNKNOWN</dref> 
  777.  
  778.    function Hash (Handle : DDS.InstanceHandle_T) return Ada.Containers.Hash_Type; 
  779.    function Create (From : DDS.Guid_T) return DDS.InstanceHandle_T; 
  780.  
  781.    --  <dref>GUID_t_equals</dref> 
  782.    function Guid_Equals 
  783.      (Self  : not null Guid_T_Access; 
  784.       Other : not null Guid_T_Access) 
  785.       return Boolean; 
  786.  
  787.    --  <dref>GUID_t_compare</dref> 
  788.    function Guid_Compare 
  789.      (Self  : not null Guid_T_Access; 
  790.       Other : not null Guid_T_Access) 
  791.       return Boolean; 
  792.  
  793.    --  <dref>GUID_t_copy</dref> 
  794.    procedure Guid_Copy 
  795.      (Self  : Guid_T_Access; 
  796.       Other : Guid_T_Access); 
  797.  
  798.    pragma Import (C, Guid_Copy, "DDS_GUID_copy"); 
  799.  
  800.    procedure Guid_Print (Self   : Guid_T_Access; 
  801.                          Desc   : String; 
  802.                          Indent : Unsigned_Long); 
  803.  
  804.    pragma Import (C, Guid_Print, "DDS_GUID_print"); 
  805.  
  806.    procedure Guid_Zero (Self   : Guid_T_Access); 
  807.  
  808.    pragma Import (C, Guid_Zero, "DDS_GUID_zero"); 
  809.  
  810.    function Image (Item : Guid_T) return DDS.String; 
  811.    function Image (Item : Guid_T) return Standard.String; 
  812.  
  813.    function Value (Item : Standard.String) return Guid_T with 
  814.      Pre => (Item'Length = GUID_T_Value_Array'Length * 2); 
  815.  
  816.    --  ------------------------------------------------- 
  817.    --                 SequenceNumber_t 
  818.    --  ------------------------------------------------- 
  819.  
  820.    type SequenceNumber_T is record 
  821.       High : aliased DDS.Long := 0; 
  822.       Low  : aliased DDS.Unsigned_Long := 0; 
  823.    end record with 
  824.      Convention => C; 
  825.    --  <defgroup>SequenceNumberSupportGroupDocs</defgroup> 
  826.    --  <dref>SequenceNumber_t</dref> 
  827.    --  <dref name="High">SequenceNumber_t_high</dref> 
  828.    --  <dref name="Low">SequenceNumber_t_low</dref> 
  829.  
  830.    type SequenceNumber_T_Access is access all  SequenceNumber_T; 
  831.  
  832.    SEQUENCE_NUMBER_UNKNOWN : constant  SequenceNumber_T := (High => -1, Low =>  16#FFFF_FFFF#); 
  833.    --  <dref>SequenceNumber_t_UNKNOWN</dref> 
  834.  
  835.    SEQUENCE_NUMBER_ZERO    : constant  SequenceNumber_T := (High =>  0, Low =>  0); 
  836.    --  <dref>SequenceNumber_t_ZERO</dref> 
  837.  
  838.  
  839.    SEQUENCE_NUMBER_MAX     : constant  SequenceNumber_T := (High =>  2147483647, Low =>  16#FFFF_FFFF#); 
  840.    --  <dref>SequenceNumber_t_MAX</dref> 
  841.  
  842.    AUTO_SEQUENCE_NUMBER    : constant SequenceNumber_T := (High => -1, Low =>  16#FFFF_FFFF#); 
  843.    --  <dref>SequenceNumber_t_AUTO</dref> 
  844.  
  845.  
  846.    function "-" (L, R : SequenceNumber_T) return SequenceNumber_T; 
  847.    function "+" (L, R : SequenceNumber_T) return SequenceNumber_T; 
  848.    function ">" (L, R : SequenceNumber_T) return Boolean; 
  849.    function "<" (L, R : SequenceNumber_T) return Boolean; 
  850.  
  851.    procedure Increment (Item : in out SequenceNumber_T); 
  852.    procedure Decrement (Item : in out SequenceNumber_T); 
  853.    function Image (Item : SequenceNumber_T) return Standard.String; 
  854.  
  855.    --  ------------------------------------------------- 
  856.    --                 OriginalWriterInfo_t 
  857.    --  ------------------------------------------------- 
  858.  
  859.    type OriginalWriterInfo_T is record 
  860.       Writer_Guid     : Guid_T; 
  861.       Sequence_Number : SequenceNumber_T; 
  862.    end record with 
  863.      Convention => C; 
  864.    --  <dref internal="true"></dref> 
  865.  
  866.  
  867.    --  ------------------------------------------------- 
  868.    --                 ReturnCode_t 
  869.    --  ------------------------------------------------- 
  870.  
  871.    ERROR                   : exception; 
  872.    --  <defgroup>ReturnCodeGroupDocs</defgroup> 
  873.    --  <dref>ReturnCode_t</dref> 
  874.    --  <dref>ReturnCode_t_RETCODE_ERROR</dref> 
  875.  
  876.    UNSUPPORTED             : exception; 
  877.    --  <dref>ReturnCode_t_RETCODE_UNSUPPORTED</dref> 
  878.  
  879.    BAD_PARAMETER           : exception; 
  880.    --  <dref>ReturnCode_t_RETCODE_BAD_PARAMETER</dref> 
  881.  
  882.    PRECONDITION_NOT_MET    : exception; 
  883.    --  <dref>ReturnCode_t_RETCODE_PRECONDITION_NOT_MET</dref> 
  884.  
  885.    OUT_OF_RESOURCES        : exception; 
  886.    --  <dref>ReturnCode_t_RETCODE_OUT_OF_RESOURCES</dref> 
  887.  
  888.    NOT_ENABLED             : exception; 
  889.    --  <dref>ReturnCode_t_RETCODE_NOT_ENABLED</dref> 
  890.  
  891.    IMMUTABLE_POLICY        : exception; 
  892.    --  <dref>ReturnCode_t_RETCODE_IMMUTABLE_POLICY</dref> 
  893.  
  894.    INCONSISTENT_POLICY     : exception; 
  895.    --  <dref>ReturnCode_t_RETCODE_INCONSISTENT_POLICY</dref> 
  896.  
  897.    ALREADY_DELETED         : exception; 
  898.    --  <dref>ReturnCode_t_RETCODE_ALREADY_DELETED</dref> 
  899.  
  900.    TIMEOUT                 : exception; 
  901.    --  <dref>ReturnCode_t_RETCODE_TIMEOUT</dref> 
  902.  
  903.    NO_DATA                 : exception; 
  904.    --  <dref>ReturnCode_t_RETCODE_NO_DATA</dref> 
  905.  
  906.    ILLEGAL_OPERATION       : exception; 
  907.    --  <dref>ReturnCode_t_RETCODE_ILLEGAL_OPERATION</dref> 
  908.  
  909.    NOT_ALLOWED_BY_SECURITY : exception; 
  910.    --  <dref>ReturnCode_t_RETCODE_NOT_ALLOWED_BY_SECURITY</dref> 
  911.  
  912.    type ReturnCode_T is 
  913.      (RETCODE_OK, 
  914.       --  Successful return. 
  915.       RETCODE_ERROR, 
  916.       --  Generic, unspecified error. 
  917.  
  918.       RETCODE_UNSUPPORTED, 
  919.       --  Unsupported operation. Can only returned by operations that are unsupported. 
  920.       RETCODE_BAD_PARAMETER, 
  921.       RETCODE_PRECONDITION_NOT_MET, 
  922.       RETCODE_OUT_OF_RESOURCES, 
  923.       RETCODE_NOT_ENABLED, 
  924.       RETCODE_IMMUTABLE_POLICY, 
  925.       RETCODE_INCONSISTENT_POLICY, 
  926.       RETCODE_ALREADY_DELETED, 
  927.       RETCODE_TIMEOUT, 
  928.       RETCODE_NO_DATA, 
  929.       RETCODE_ILLEGAL_OPERATION, 
  930.       RETCODE_NOT_ALLOWED_BY_SECURITY 
  931.      ) with Default_Value => RETCODE_OK; 
  932.  
  933.    pragma Convention (C, ReturnCode_T); 
  934.  
  935.    procedure Ret_Code_To_Exception (Code : ReturnCode_T; Message : Standard.String := ""); 
  936.  
  937.    --  ------------------------------------------------- 
  938.    --                 Status Types 
  939.    --  ------------------------------------------------- 
  940.  
  941.    type StatusKind is mod 2 ** 32; 
  942.    --  <dref>StatusKind</dref> 
  943.  
  944.    INCONSISTENT_TOPIC_STATUS         : constant StatusKind := 2#0000_0000_0000_0001#; 
  945.    --  <dref>StatusKind_INCONSISTENT_TOPIC_STATUS</dref> 
  946.  
  947.    OFFERED_DEADLINE_MISSED_STATUS    : constant StatusKind := 2#0000_0000_0000_0010#; 
  948.    --  <dref>StatusKind_OFFERED_DEADLINE_MISSED_STATUS</dref> 
  949.  
  950.    REQUESTED_DEADLINE_MISSED_STATUS  : constant StatusKind := 2#0000_0000_0000_0100#; 
  951.    --  <dref>StatusKind_REQUESTED_DEADLINE_MISSED_STATUS</dref> 
  952.  
  953.    OFFERED_INCOMPATIBLE_QOS_STATUS   : constant StatusKind := 2#0000_0000_0010_0000#; 
  954.    --  <dref>StatusKind_OFFERED_INCOMPATIBLE_QOS_STATUS</dref> 
  955.  
  956.    REQUESTED_INCOMPATIBLE_QOS_STATUS : constant StatusKind := 2#0000_0000_0100_0000#; 
  957.    --  <dref>StatusKind_REQUESTED_INCOMPATIBLE_QOS_STATUS</dref> 
  958.  
  959.    SAMPLE_LOST_STATUS                : constant StatusKind := 2#0000_0000_1000_0000#; 
  960.    --  <dref>StatusKind_SAMPLE_LOST_STATUS</dref> 
  961.  
  962.    SAMPLE_REJECTED_STATUS            : constant StatusKind := 2#0000_0001_0000_0000#; 
  963.    --  <dref>StatusKind_SAMPLE_REJECTED_STATUS</dref> 
  964.  
  965.    DATA_ON_READERS_STATUS            : constant StatusKind := 2#0000_0010_0000_0000#; 
  966.    --  <dref>StatusKind_DATA_ON_READERS_STATUS</dref> 
  967.  
  968.    DATA_AVAILABLE_STATUS             : constant StatusKind := 2#0000_0100_0000_0000#; 
  969.    --  <dref>StatusKind_DATA_AVAILABLE_STATUS</dref> 
  970.  
  971.    LIVELINESS_LOST_STATUS            : constant StatusKind := 2#0000_1000_0000_0000#; 
  972.    --  <dref>StatusKind_LIVELINESS_LOST_STATUS</dref> 
  973.  
  974.    LIVELINESS_CHANGED_STATUS         : constant StatusKind := 2#0001_0000_0000_0000#; 
  975.    --  <dref>StatusKind_LIVELINESS_CHANGED_STATUS</dref> 
  976.  
  977.    PUBLICATION_MATCHED_STATUS        : constant StatusKind := 2#0010_0000_0000_0000#; 
  978.    PUBLICATION_MATCH_STATUS        : constant StatusKind := PUBLICATION_MATCHED_STATUS with Obsolescent => "Use PUBLICATION_MATCHED_STATUS instead"; 
  979.  
  980.    --  <dref>StatusKind_PUBLICATION_MATCHED_STATUS</dref> 
  981.  
  982.    SUBSCRIPTION_MATCHED_STATUS         : constant StatusKind := 2#0100_0000_0000_0000#; 
  983.    SUBSCRIPTION_MATCH_STATUS        : constant StatusKind := SUBSCRIPTION_MATCHED_STATUS with Obsolescent => "Use SUBSCRIPTION_MATCHED_STATUS instead"; 
  984.    --  <dref>StatusKind_SUBSCRIPTION_MATCHED_STATUS</dref> 
  985.    pragma Warnings (Off); 
  986.    function "+" (Left, Right : StatusKind) return StatusKind renames "or"; 
  987.    pragma Warnings (On); 
  988.  
  989.    --   /* --- Begin extended statuses --- */ 
  990.    --   /* Previously, the "right"-most 24 bits of the StatusMask were reserved 
  991.    --    * for standard statuses, with the remaining 8 bits for extended statuses. 
  992.    --    Now, as of 4.5b, with more than 8 extended statuses, and with no "official" 
  993.    --    documented requirement of having only 8 bits, additional bits are being 
  994.    --    designated for extended statuses. 
  995.    --    */ 
  996.  
  997.    DATA_WRITER_APPLICATION_ACKNOWLEDGMENT_STATUS : constant StatusKind := 
  998.      2#0000_0000_0100_0000_0000_0000_0000_0000#; 
  999.    --  <dref>StatusKind_DATA_WRITER_APPLICATION_ACKNOWLEDGMENT_STATUS</dref> 
  1000.  
  1001.    DATA_WRITER_INSTANCE_REPLACED_STATUS       : constant StatusKind := 
  1002.      2#0000_0000_1000_0000_0000_0000_0000_0000#; 
  1003.    --  <dref>StatusKind_DATA_WRITER_INSTANCE_REPLACED_STATUS</dref> 
  1004.  
  1005.    RELIABLE_WRITER_CACHE_CHANGED_STATUS       : constant StatusKind := 
  1006.      2#0000_0001_0000_0000_0000_0000_0000_0000#; 
  1007.    --  <dref>StatusKind_RELIABLE_WRITER_CACHE_CHANGED_STATUS</dref> 
  1008.  
  1009.    RELIABLE_READER_ACTIVITY_CHANGED_STATUS    : constant StatusKind := 
  1010.      2#0000_0010_0000_0000_0000_0000_0000_0000#; 
  1011.    --  <dref>StatusKind_RELIABLE_READER_ACTIVITY_CHANGED_STATUS</dref> 
  1012.  
  1013.    DATA_WRITER_CACHE_STATUS                   : constant StatusKind := 
  1014.      2#0000_0100_0000_0000_0000_0000_0000_0000#; 
  1015.    --  <dref>StatusKind_DATA_WRITER_CACHE_STATUS</dref> 
  1016.  
  1017.    DATA_WRITER_PROTOCOL_STATUS                : constant StatusKind := 
  1018.      2#0000_1000_0000_0000_0000_0000_0000_0000#; 
  1019.    --  <dref>StatusKind_DATA_WRITER_PROTOCOL_STATUS</dref> 
  1020.  
  1021.    DATA_READER_CACHE_STATUS                   : constant StatusKind := 
  1022.      2#0001_0000_0000_0000_0000_0000_0000_0000#; 
  1023.    --  <dref>StatusKind_DATA_READER_CACHE_STATUS</dref> 
  1024.  
  1025.    DATA_READER_PROTOCOL_STATUS                : constant StatusKind := 
  1026.      2#0010_0000_0000_0000_0000_0000_0000_0000#; 
  1027.    --  <dref>StatusKind_DATA_READER_PROTOCOL_STATUS</dref> 
  1028.  
  1029.    DATA_WRITER_DESTINATION_UNREACHABLE_STATUS : constant StatusKind := 
  1030.      2#0100_0000_0000_0000_0000_0000_0000_0000#; 
  1031.    --  <dref internal="true"></dref> 
  1032.  
  1033.    DATA_WRITER_SAMPLE_REMOVED_STATUS          : constant StatusKind := 
  1034.      2#1000_0000_0000_0000_0000_0000_0000_0000#; 
  1035.    --  <dref internal="true"></dref> 
  1036.  
  1037.    subtype StatusMask is StatusKind; 
  1038.    --  <defgroup>StatusKindGroupDocs</defgroup> 
  1039.    --  <dref>StatusMask</dref> 
  1040.    --  <dref>Shared_status_mask_description</dref> 
  1041.  
  1042.    STATUS_MASK_NONE : constant StatusMask := 2#0000_0000_0000_0000_0000_0000_0000_0000#; 
  1043.    --  <dref>STATUS_MASK_NONE</dref> 
  1044.  
  1045.    STATUS_MASK_ALL  : constant StatusMask := 2#1111_1111_1111_1111_1111_1111_1111_1111#; 
  1046.    --  <dref>STATUS_MASK_ALL</dref> 
  1047.  
  1048.    type StatusKind_Access is access constant StatusKind; 
  1049.  
  1050.    --  ------------------------------------------------- 
  1051.    --                 Thread Settings 
  1052.    --  ------------------------------------------------- 
  1053.  
  1054.    type ThreadSettings is new Unsigned_Long; 
  1055.    --  <defgroup>ThreadSettingsGroupDocs</defgroup> 
  1056.  
  1057.    subtype ThreadSettingsKindMask is ThreadSettings; 
  1058.    --  <dref>ThreadSettingsKindMask</dref> 
  1059.  
  1060.    THREAD_SETTINGS_OPTION_DEFAULT             : constant := 16#00#; 
  1061.  
  1062.    THREAD_SETTINGS_OPTION_FLOATING_POINT      : constant := 16#01#; 
  1063.    --  <dref>ThreadSettingsKind</dref> 
  1064.    --  <dref>ThreadSettingsKind_THREAD_SETTINGS_FLOATING_POINT</dref> 
  1065.  
  1066.    THREAD_SETTINGS_OPTION_STDIO               : constant := 16#02#; 
  1067.    --  <dref>ThreadSettingsKind_THREAD_SETTINGS_STDIO</dref> 
  1068.  
  1069.    THREAD_SETTINGS_OPTION_REALTIME_PRIORITY   : constant := 16#08#; 
  1070.  
  1071.    --  <dref>ThreadSettingsKind_THREAD_SETTINGS_REALTIME_PRIORITY</dref> 
  1072.  
  1073.    THREAD_SETTINGS_OPTION_PRIORITY_ENFORCE    : constant := 16#10#; 
  1074.    --  <dref>ThreadSettingsKind_THREAD_SETTINGS_PRIORITY_ENFORCE</dref> 
  1075.  
  1076.    THREAD_SETTINGS_OPTION_CANCEL_ASYNCHRONOUS : constant := 16#20#; 
  1077.    --  <dref>ThreadSettingsKind_THREAD_SETTINGS_CANCEL_ASYNCHRONOUS</dref> 
  1078.  
  1079.    THREAD_SETTINGS_KIND_MASK_DEFAULT          : constant ThreadSettingsKindMask := 
  1080.      THREAD_SETTINGS_OPTION_DEFAULT; 
  1081.    --  <dref>THREAD_SETTINGS_KIND_MASK_DEFAULT</dref> 
  1082.  
  1083.    type ThreadSettingsCpuRotationKind_T is new Unsigned_Long; 
  1084.    --  <dref>ThreadSettingsCpuRotationKind</dref> 
  1085.  
  1086.    THREAD_SETTINGS_CPU_NO_ROTATION            : constant ThreadSettingsCpuRotationKind_T := 0; 
  1087.    --  <dref>ThreadSettingsCpuRotationKind_THREAD_SETTINGS_CPU_NO_ROTATION</dref> 
  1088.  
  1089.    THREAD_SETTINGS_CPU_RR_ROTATION            : constant ThreadSettingsCpuRotationKind_T := 1; 
  1090.    --  <dref>ThreadSettingsCpuRotationKind_THREAD_SETTINGS_CPU_RR_ROTATION</dref> 
  1091.  
  1092.    THREAD_SETTINGS_CPU_ROTATION_DEFAULT       : constant ThreadSettingsCpuRotationKind_T := 
  1093.      THREAD_SETTINGS_CPU_NO_ROTATION; 
  1094.    --  <dref internal="true"></dref> 
  1095.  
  1096.    type ThreadSettings_T is record 
  1097.       Mask         : aliased ThreadSettingsKindMask := THREAD_SETTINGS_OPTION_DEFAULT; 
  1098.       Priority     : aliased Long := -9999999; 
  1099.       Stack_Size   : aliased Long := -1; 
  1100.       Cpu_List     : aliased Long_Seq.Sequence; 
  1101.       Cpu_Rotation : aliased ThreadSettingsCpuRotationKind_T := THREAD_SETTINGS_CPU_ROTATION_DEFAULT; 
  1102.    end record with Convention => C; 
  1103.    --  <dref>ThreadSettings_t</dref> 
  1104.    --  <dref name="Mask">ThreadSettings_t_mask</dref> 
  1105.    --  <dref name="Priority">ThreadSettings_t_priority</dref> 
  1106.    --  <dref name="Stack_Size">ThreadSettings_t_stack_size</dref> 
  1107.    --  <dref name="Cpu_List">ThreadSettings_t_cpu_list</dref> 
  1108.    --  <dref name="Cpu_Rotation">ThreadSettings_t_cpu_rotation</dref> 
  1109.  
  1110.    type ThreadSettings_T_Access is access all  ThreadSettings_T; 
  1111.  
  1112.    procedure ThreadSettings_T_Get_Default (Self  : not null ThreadSettings_T_Access); 
  1113.  
  1114.    pragma Import (C, ThreadSettings_T_Get_Default, "DDS_ThreadSettings_get_default"); 
  1115.  
  1116.    function ThreadSettings_T_Is_Equal 
  1117.      (Self  : not null ThreadSettings_T_Access; 
  1118.       Other : not null ThreadSettings_T_Access) 
  1119.       return Boolean; 
  1120.  
  1121.    --  ------------------------------------------------- 
  1122.    --                 QoS Types 
  1123.    --  ------------------------------------------------- 
  1124.  
  1125.    type QosPolicyId_T is new Unsigned_Long; 
  1126.    --  <defgroup>QosPoliciesGroupDocs</defgroup> 
  1127.    --  <dref>QosPolicyId_t</dref> 
  1128.  
  1129.    QOS_POLICY_COUNT : constant Long := 63; 
  1130.    --  <dref>QOS_POLICY_COUNT</dref> 
  1131.  
  1132.    INVALID_QOS_POLICY_ID : constant QosPolicyId_T := 0; 
  1133.    --  <dref>QosPolicyId_t_INVALID_QOS_POLICY_ID</dref> 
  1134.  
  1135.    USERDATA_QOS_POLICY_ID : constant QosPolicyId_T := 1; 
  1136.    --  <dref>QosPolicyId_t_USERDATA_QOS_POLICY_ID</dref> 
  1137.  
  1138.    DURABILITY_QOS_POLICY_ID : constant QosPolicyId_T := 2; 
  1139.    --  <dref>QosPolicyId_t_DURABILITY_QOS_POLICY_ID</dref> 
  1140.  
  1141.    PRESENTATION_QOS_POLICY_ID : constant QosPolicyId_T := 3; 
  1142.    --  <dref>QosPolicyId_t_PRESENTATION_QOS_POLICY_ID</dref> 
  1143.  
  1144.    DEADLINE_QOS_POLICY_ID : constant QosPolicyId_T := 4; 
  1145.    --  <dref>QosPolicyId_t_DEADLINE_QOS_POLICY_ID</dref> 
  1146.  
  1147.    LATENCYBUDGET_QOS_POLICY_ID : constant QosPolicyId_T := 5; 
  1148.    --  <dref>QosPolicyId_t_LATENCYBUDGET_QOS_POLICY_ID</dref> 
  1149.  
  1150.    OWNERSHIP_QOS_POLICY_ID : constant QosPolicyId_T := 6; 
  1151.    --  <dref>QosPolicyId_t_OWNERSHIP_QOS_POLICY_ID</dref> 
  1152.  
  1153.    OWNERSHIPSTRENGTH_QOS_POLICY_ID : constant QosPolicyId_T := 7; 
  1154.    --  <dref>QosPolicyId_t_OWNERSHIPSTRENGTH_QOS_POLICY_ID</dref> 
  1155.  
  1156.    LIVELINESS_QOS_POLICY_ID : constant QosPolicyId_T := 8; 
  1157.    --  <dref>QosPolicyId_t_LIVELINESS_QOS_POLICY_ID</dref> 
  1158.  
  1159.    TIMEBASEDFILTER_QOS_POLICY_ID : constant QosPolicyId_T := 9; 
  1160.    --  <dref>QosPolicyId_t_TIMEBASEDFILTER_QOS_POLICY_ID</dref> 
  1161.  
  1162.    PARTITION_QOS_POLICY_ID : constant QosPolicyId_T := 10; 
  1163.    --  <dref>QosPolicyId_t_PARTITION_QOS_POLICY_ID</dref> 
  1164.  
  1165.    RELIABILITY_QOS_POLICY_ID : constant QosPolicyId_T := 11; 
  1166.    --  <dref>QosPolicyId_t_RELIABILITY_QOS_POLICY_ID</dref> 
  1167.  
  1168.    DESTINATIONORDER_QOS_POLICY_ID : constant QosPolicyId_T := 12; 
  1169.    --  <dref>QosPolicyId_t_DESTINATIONORDER_QOS_POLICY_ID</dref> 
  1170.  
  1171.    HISTORY_QOS_POLICY_ID : constant QosPolicyId_T := 13; 
  1172.    --  <dref>QosPolicyId_t_HISTORY_QOS_POLICY_ID</dref> 
  1173.  
  1174.    RESOURCELIMITS_QOS_POLICY_ID : constant QosPolicyId_T := 14; 
  1175.    --  <dref>QosPolicyId_t_RESOURCELIMITS_QOS_POLICY_ID</dref> 
  1176.  
  1177.    ENTITYFACTORY_QOS_POLICY_ID : constant QosPolicyId_T := 15; 
  1178.    --  <dref>QosPolicyId_t_ENTITYFACTORY_QOS_POLICY_ID</dref> 
  1179.  
  1180.    WRITERDATALIFECYCLE_QOS_POLICY_ID : constant QosPolicyId_T := 16; 
  1181.    --  <dref>QosPolicyId_t_WRITERDATALIFECYCLE_QOS_POLICY_ID</dref> 
  1182.  
  1183.    READERDATALIFECYCLE_QOS_POLICY_ID : constant QosPolicyId_T := 17; 
  1184.    --  <dref>QosPolicyId_t_READERDATALIFECYCLE_QOS_POLICY_ID</dref> 
  1185.  
  1186.    TOPICDATA_QOS_POLICY_ID : constant QosPolicyId_T := 18; 
  1187.    --  <dref>QosPolicyId_t_TOPICDATA_QOS_POLICY_ID</dref> 
  1188.  
  1189.    GROUPDATA_QOS_POLICY_ID : constant QosPolicyId_T := 19; 
  1190.    --  <dref>QosPolicyId_t_GROUPDATA_QOS_POLICY_ID</dref> 
  1191.  
  1192.    TRANSPORTPRIORITY_QOS_POLICY_ID : constant QosPolicyId_T := 20; 
  1193.    --  <dref>QosPolicyId_t_TRANSPORTPRIORITY_QOS_POLICY_ID</dref> 
  1194.  
  1195.    LIFESPAN_QOS_POLICY_ID : constant QosPolicyId_T := 21; 
  1196.    --  <dref>QosPolicyId_t_LIFESPAN_QOS_POLICY_ID</dref> 
  1197.  
  1198.    DURABILITYSERVICE_QOS_POLICY_ID : constant QosPolicyId_T := 22; 
  1199.    --  <dref>QosPolicyId_t_DURABILITYSERVICE_QOS_POLICY_ID</dref> 
  1200.  
  1201.    DATA_REPRESENTATION_QOS_POLICY_ID : constant QosPolicyId_T := 23; 
  1202.    --  <dref>QosPolicyId_t_DATA_REPRESENTATION_QOS_POLICY_ID</dref> 
  1203.  
  1204.    TYPE_CONSISTENCY_ENFORCEMENT_QOS_POLICY_ID : constant QosPolicyId_T := 24; 
  1205.    --  <dref>QosPolicyId_t_TYPE_CONSISTENCY_ENFORCEMENT_QOS_POLICY_ID</dref> 
  1206.  
  1207.    DATATAG_QOS_POLICY_ID : constant QosPolicyId_T := 25; 
  1208.    --  <dref>QosPolicyId_t_DATATAG_QOS_POLICY_ID</dref> 
  1209.  
  1210.    WIREPROTOCOL_QOS_POLICY_ID : constant QosPolicyId_T := 1000; 
  1211.    --  <dref>QosPolicyId_t_WIREPROTOCOL_QOS_POLICY_ID</dref> 
  1212.  
  1213.    DISCOVERY_QOS_POLICY_ID : constant QosPolicyId_T := 1001; 
  1214.    --  <dref>QosPolicyId_t_DISCOVERY_QOS_POLICY_ID</dref> 
  1215.  
  1216.    DATAREADERRESOURCELIMITS_QOS_POLICY_ID : constant QosPolicyId_T := 1003; 
  1217.    --  <dref>QosPolicyId_t_DATAREADERRESOURCELIMITS_QOS_POLICY_ID</dref> 
  1218.  
  1219.    DATAWRITERRESOURCELIMITS_QOS_POLICY_ID : constant QosPolicyId_T := 1004; 
  1220.    --  <dref>QosPolicyId_t_DATAWRITERRESOURCELIMITS_QOS_POLICY_ID</dref> 
  1221.  
  1222.    DATAREADERPROTOCOL_QOS_POLICY_ID : constant QosPolicyId_T := 1005; 
  1223.    --  <dref>QosPolicyId_t_DATAREADERPROTOCOL_QOS_POLICY_ID</dref> 
  1224.  
  1225.    DATAWRITERPROTOCOL_QOS_POLICY_ID : constant QosPolicyId_T := 1006; 
  1226.    --  <dref>QosPolicyId_t_DATAWRITERPROTOCOL_QOS_POLICY_ID</dref> 
  1227.  
  1228.    DOMAINPARTICIPANTRESOURCELIMITS_QOS_POLICY_ID : constant QosPolicyId_T := 1007; 
  1229.    --  <dref>QosPolicyId_t_DOMAINPARTICIPANTRESOURCELIMITS_QOS_POLICY_ID</dref> 
  1230.  
  1231.    EVENT_QOS_POLICY_ID : constant QosPolicyId_T := 1008; 
  1232.    --  <dref>QosPolicyId_t_EVENT_QOS_POLICY_ID</dref> 
  1233.  
  1234.    DATABASE_QOS_POLICY_ID : constant QosPolicyId_T := 1009; 
  1235.    --  <dref>QosPolicyId_t_DATABASE_QOS_POLICY_ID</dref> 
  1236.  
  1237.    RECEIVERPOOL_QOS_POLICY_ID : constant QosPolicyId_T := 1010; 
  1238.    --  <dref>QosPolicyId_t_RECEIVERPOOL_QOS_POLICY_ID</dref> 
  1239.  
  1240.    DISCOVERYCONFIG_QOS_POLICY_ID : constant QosPolicyId_T := 1011; 
  1241.    --  <dref>QosPolicyId_t_DISCOVERYCONFIG_QOS_POLICY_ID</dref> 
  1242.  
  1243.    EXCLUSIVEAREA_QOS_POLICY_ID : constant QosPolicyId_T := 1012; 
  1244.    --  <dref internal="true">QosPolicyId_t_EXCLUSIVEAREA_QOS_POLICY_ID</dref> 
  1245.  
  1246.    USEROBJECT_QOS_POLICY_ID : constant QosPolicyId_T := 1013; 
  1247.    --  <dref internal="true">QosPolicyId_t_USEROBJECT_QOS_POLICY_ID</dref> 
  1248.  
  1249.    SYSTEMRESOURCELIMITS_QOS_POLICY_ID : constant QosPolicyId_T := 1014; 
  1250.    --  <dref>QosPolicyId_t_SYSTEMRESOURCELIMITS_QOS_POLICY_ID</dref> 
  1251.  
  1252.    TRANSPORTSELECTION_QOS_POLICY_ID : constant QosPolicyId_T := 1015; 
  1253.    --  <dref>QosPolicyId_t_TRANSPORTSELECTION_QOS_POLICY_ID</dref> 
  1254.  
  1255.    TRANSPORTUNICAST_QOS_POLICY_ID : constant QosPolicyId_T := 1016; 
  1256.    --  <dref>QosPolicyId_t_TRANSPORTUNICAST_QOS_POLICY_ID</dref> 
  1257.  
  1258.    TRANSPORTMULTICAST_QOS_POLICY_ID : constant QosPolicyId_T := 1017; 
  1259.    --  <dref>QosPolicyId_t_TRANSPORTMULTICAST_QOS_POLICY_ID</dref> 
  1260.  
  1261.    TRANSPORTBUILTIN_QOS_POLICY_ID : constant QosPolicyId_T := 1018; 
  1262.    --  <dref>QosPolicyId_t_TRANSPORTBUILTIN_QOS_POLICY_ID</dref> 
  1263.  
  1264.    TYPESUPPORT_QOS_POLICY_ID : constant QosPolicyId_T := 1019; 
  1265.    --  <dref>QosPolicyId_t_TYPESUPPORT_QOS_POLICY_ID</dref> 
  1266.  
  1267.    PROPERTY_QOS_POLICY_ID : constant QosPolicyId_T := 1020; 
  1268.    --  <dref>QosPolicyId_t_PROPERTY_QOS_POLICY_ID</dref> 
  1269.  
  1270.    PUBLISHMODE_QOS_POLICY_ID : constant QosPolicyId_T := 1021; 
  1271.    --  <dref>QosPolicyId_t_PUBLISHMODE_QOS_POLICY_ID</dref> 
  1272.  
  1273.    ASYNCHRONOUSPUBLISHER_QOS_POLICY_ID : constant QosPolicyId_T := 1022; 
  1274.    --  <dref>QosPolicyId_t_ASYNCHRONOUSPUBLISHER_QOS_POLICY_ID</dref> 
  1275.  
  1276.    ENTITYNAME_QOS_POLICY_ID : constant QosPolicyId_T := 1023; 
  1277.    --  <dref>QosPolicyId_t_ENTITYNAME_QOS_POLICY_ID</dref> 
  1278.  
  1279.    SERVICE_QOS_POLICY_ID : constant QosPolicyId_T := 1025; 
  1280.    --  <dref internal="true"></dref> 
  1281.  
  1282.    BATCH_QOS_POLICY_ID : constant QosPolicyId_T := 1026; 
  1283.    --  <dref>QosPolicyId_t_BATCH_QOS_POLICY_ID</dref> 
  1284.  
  1285.    PROFILE_QOS_POLICY_ID : constant QosPolicyId_T := 1027; 
  1286.    --  <dref>QosPolicyId_t_PROFILE_QOS_POLICY_ID</dref> 
  1287.  
  1288.    LOCATORFILTER_QOS_POLICY_ID : constant QosPolicyId_T := 1028; 
  1289.    --  <dref>QosPolicyId_t_LOCATORFILTER_QOS_POLICY_ID</dref> 
  1290.  
  1291.    MULTICHANNEL_QOS_POLICY_ID : constant QosPolicyId_T := 1029; 
  1292.    --  <dref>QosPolicyId_t_MULTICHANNEL_QOS_POLICY_ID</dref> 
  1293.  
  1294.    TRANSPORTENCAPSULATION_QOS_POLICY_ID : constant QosPolicyId_T := 1030; 
  1295.    --  <dref internal="true"></dref> 
  1296.  
  1297.    PUBLISHERPROTOCOL_QOS_POLICY_ID : constant QosPolicyId_T := 1031; 
  1298.    --  <dref internal="true"></dref> 
  1299.  
  1300.    SUBSCRIBERPROTOCOL_QOS_POLICY_ID : constant QosPolicyId_T := 1032; 
  1301.    --  <dref internal="true"></dref> 
  1302.  
  1303.    TOPICPROTOCOL_QOS_POLICY_ID : constant QosPolicyId_T := 1033; 
  1304.    --  <dref internal="true"></dref> 
  1305.  
  1306.    DOMAINPARTICIPANTPROTOCOL_QOS_POLICY_ID : constant QosPolicyId_T := 1034; 
  1307.    --  <dref internal="true"></dref> 
  1308.  
  1309.    AVAILABILITY_QOS_POLICY_ID : constant QosPolicyId_T := 1035; 
  1310.    --  <dref>QosPolicyId_t_AVAILABILITY_QOS_POLICY_ID</dref> 
  1311.  
  1312.    TRANSPORTMULTICASTMAPPING_QOS_POLICY_ID : constant QosPolicyId_T := 1036; 
  1313.    --  QosPolicyId_t_TRANSPORTMULTICASTMAPPING_QOS_POLICY_ID -- documentation removed in ifdoc 
  1314.  
  1315.    LOGGING_QOS_POLICY_ID : constant QosPolicyId_T := 1037; 
  1316.    --  <dref>QosPolicyId_t_LOGGING_QOS_POLICY_ID</dref> 
  1317.  
  1318.    TOPICQUERYDISPATCH_QOS_POLICY_ID : constant QosPolicyId_T := 1038; 
  1319.    --  <dref>QosPolicyId_t_TOPICQUERYDISPATCH_QOS_POLICY_ID</dref> 
  1320.  
  1321.    DATAWRITERTRANSFERMODE_QOS_POLICY_ID : constant QosPolicyId_T := 1039; 
  1322.    --  <dref>QosPolicyId_t_DATAWRITERTRANSFERMODE_QOS_POLICY_ID</dref> 
  1323.  
  1324.    type QosPolicyCount is record 
  1325.       Policy_Id : aliased QosPolicyId_T := INVALID_QOS_POLICY_ID; 
  1326.       Count     : aliased Long := 0; 
  1327.    end record with Convention => C; 
  1328.    pragma Compile_Time_Error (QosPolicyCount'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_QosPolicyCount'Size, "QosPolicyCount size missmatch."); 
  1329.  
  1330.    --  <dref>QosPolicyCount</dref> 
  1331.    --  <dref name="Policy_Id">QosPolicyCount_policy_id</dref> 
  1332.    --  <dref name="Count">QosPolicyCount_count</dref> 
  1333.  
  1334.    type QosPolicyCount_Access is access all QosPolicyCount; 
  1335.  
  1336.    type QosPolicyCount_Array is array (Natural range <>) of aliased QosPolicyCount; 
  1337.    procedure Initialize (Self  : in out QosPolicyCount); 
  1338.    procedure Finalize (Self  : in out QosPolicyCount); 
  1339.    procedure Copy (Dst : in out QosPolicyCount; Src : in QosPolicyCount); 
  1340.  
  1341.    package QosPolicyCount_Seq is new DDS_Support.Sequences_Generic 
  1342.      (QosPolicyCount, 
  1343.       QosPolicyCount_Access, 
  1344.       DDS.Natural, 
  1345.       1, 
  1346.       QosPolicyCount_Array); 
  1347.    --  <dref>QosPolicyCountSeq</dref> 
  1348.  
  1349.    --  ------------------------------------------------- 
  1350.    --                 Entity Types 
  1351.    --  ------------------------------------------------- 
  1352.  
  1353.    type EntityKind_T is (UNKNOWN_ENTITY_KIND, 
  1354.                          PARTICIPANT_ENTITY_KIND, 
  1355.                          PUBLISHER_ENTITY_KIND, 
  1356.                          SUBSCRIBER_ENTITY_KIND, 
  1357.                          TOPIC_ENTITY_KIND, 
  1358.                          DATAREADER_ENTITY_KIND, 
  1359.                          DATAWRITER_ENTITY_KIND); 
  1360.    pragma Annotate (EntityKind_T, Source, RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_EntityKind_t); 
  1361.  
  1362.    --  ------------------------------------------------- 
  1363.    --                 USER_DATA 
  1364.    --  ------------------------------------------------- 
  1365.  
  1366.    USERDATA_QOS_POLICY_NAME : constant DDS.String := To_DDS_String ("UserData"); 
  1367.    --  <defgroup>UserDataQosGroupDocs</defgroup> 
  1368.    --  <dref>USERDATA_QOS_POLICY_NAME</dref> 
  1369.  
  1370.    type UserDataQosPolicy is limited record 
  1371.       Value : aliased Octet_Seq.Sequence; 
  1372.    end record with 
  1373.      Convention => C; 
  1374.    --  <dref>UserDataQosPolicy</dref> 
  1375.    --  <dref name="Value">UserDataQosPolicy_value</dref> 
  1376.  
  1377.    --     USER_DATA_QOS_POLICY_DEFAULT : constant UserDataQosPolicy := 
  1378.    --                                      (Value => Octet_Seq.DEFAULT_SEQUENCE); 
  1379.  
  1380.    --  ------------------------------------------------- 
  1381.    --                 TOPIC_DATA 
  1382.    --  ------------------------------------------------- 
  1383.  
  1384.    TOPICDATA_QOS_POLICY_NAME : constant DDS.String := To_DDS_String ("TopicData"); 
  1385.    --  <defgroup>TopicDataQosGroupDocs</defgroup> 
  1386.    --  <dref>TOPICDATA_QOS_POLICY_NAME</dref> 
  1387.  
  1388.  
  1389.    type TopicDataQosPolicy is limited record 
  1390.       Value : aliased Octet_Seq.Sequence; 
  1391.    end record with Convention => C; 
  1392.    pragma Compile_Time_Error (TopicDataQosPolicy'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_TopicDataQosPolicy'Size, "TopicDataQosPolicy Size missmatch"); 
  1393.    --  <dref>TopicDataQosPolicy</dref> 
  1394.    --  <dref name="Value">TopicDataQosPolicy_value</dref> 
  1395.  
  1396.    --     TOPIC_DATA_QOS_POLICY_DEFAULT : constant TopicDataQosPolicy := 
  1397.    --                                       (Value => Octet_Seq.DEFAULT_SEQUENCE); 
  1398.  
  1399.    --  ------------------------------------------------- 
  1400.    --                 DATA_TAGS 
  1401.    --  ------------------------------------------------- 
  1402.  
  1403.    --  <defgroup>DataTagQosGroupDocs</defgroup> 
  1404.    type Tags_T is limited record 
  1405.       Name  : aliased DDS.String; 
  1406.       Value : aliased DDS.String; 
  1407.    end record with Convention => C; 
  1408.    --  <dref>Tags</dref> 
  1409.    --  <dref name="Name">Tags_T_name</dref> 
  1410.    --  <dref name="Value">Tags_T_value</dref> 
  1411.  
  1412.    type Tags_T_Access is access all Tags_T with Convention => C; 
  1413.    type Tags_T_Array is array 
  1414.      (Natural range <>) of aliased Tags_T; 
  1415.    procedure Initialize (Self  : in out Tags_T); 
  1416.    procedure Finalize (Self  : in out Tags_T); 
  1417.    procedure Copy (Dst : in out Tags_T; 
  1418.                    Src : in Tags_T); 
  1419.  
  1420.    package Tags_Seq is new DDS_Support.Sequences_Generic 
  1421.      (Tags_T, 
  1422.       Tags_T_Access, 
  1423.       DDS.Natural, 
  1424.       1, 
  1425.       Tags_T_Array); 
  1426.    --  <dref>TagSeq</dref> 
  1427.  
  1428.    type DataTagQosPolicy is limited record 
  1429.       Value : aliased Tags_Seq.Sequence; 
  1430.    end record with Convention => C; 
  1431.    --  <dref>DataTagQosPolicy</dref> 
  1432.    --  <dref name="Value">DataTags_tags</dref> 
  1433.  
  1434.    function Lookup_Tag 
  1435.      (Policy : in DataTagQosPolicy; 
  1436.       Name   : in DDS.String) return Tags_T_Access; 
  1437.    --  <dref name="lookup_tag">DataTagQosPolicyHelper_lookup_tag</dref> 
  1438.  
  1439.    procedure Assert_Tag 
  1440.      (Policy : in DataTagQosPolicy; 
  1441.       Name   : in DDS.String; 
  1442.       Value  : in DDS.String); 
  1443.    --  <dref name="assert_tag">DataTagQosPolicyHelper_assert_tag</dref> 
  1444.  
  1445.    procedure Add_Tag 
  1446.      (Policy : in DataTagQosPolicy; 
  1447.       Name   : in DDS.String; 
  1448.       Value  : in DDS.String); 
  1449.    --  <dref name="add_tag">DataTagQosPolicyHelper_add_tag</dref> 
  1450.  
  1451.    procedure Remove_Tag 
  1452.      (Policy : in DataTagQosPolicy; 
  1453.       Name   : in DDS.String); 
  1454.    --  <dref name="remove_tag">DataTagQosPolicyHelper_remove_tag</dref> 
  1455.  
  1456.    function Get_Number_Of_Tags 
  1457.      (Policy : in DataTagQosPolicy) return DDS.Long; 
  1458.    --  <dref name="get_number_of_tags">DataTagQosPolicyHelper_get_number_of_tags</dref> 
  1459.  
  1460.    --  ------------------------------------------------- 
  1461.    --                 GROUP_DATA 
  1462.    --  ------------------------------------------------- 
  1463.  
  1464.    GROUPDATA_QOS_POLICY_NAME : constant DDS.String := To_DDS_String ("GroupData"); 
  1465.    --  <defgroup>GroupDataQosGroupDocs</defgroup> 
  1466.    --  <dref>GROUPDATA_QOS_POLICY_NAME</dref> 
  1467.  
  1468.    type GroupDataQosPolicy is limited record 
  1469.       Value : aliased Octet_Seq.Sequence; 
  1470.    end record with 
  1471.      Convention => C; 
  1472.    --  <dref>GroupDataQosPolicy</dref> 
  1473.    --  <dref name="Value">GroupDataQosPolicy_value</dref> 
  1474.  
  1475.    --     GROUP_DATA_QOS_POLICY_DEFAULT : constant GroupDataQosPolicy := 
  1476.    --                                       (Value => Octet_Seq.DEFAULT_SEQUENCE); 
  1477.  
  1478.    --  ------------------------------------------------- 
  1479.    --                 TOPIC_PROTOCOL (eXtension QoS) 
  1480.    --  ------------------------------------------------- 
  1481.  
  1482.    TOPICPROTOCOL_QOS_POLICY_NAME : constant DDS.String := To_DDS_String ("TopicProtocol"); 
  1483.    --  <dref internal="true"></dref> 
  1484.  
  1485.  
  1486.    type TopicProtocolQosPolicy is limited record 
  1487.       Vendor_Specific_Entity : Boolean := False; 
  1488.    end record with Convention => C; 
  1489.    pragma Compile_Time_Error (TopicProtocolQosPolicy'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_TopicProtocolQosPolicy'Size, "TopicProtocolQosPolicy size missmatch."); 
  1490.  
  1491.    --  <dref internal="true"></dref> 
  1492.  
  1493.    TOPIC_PROTOCOL_QOS_POLICY_DEFAULT : constant TopicProtocolQosPolicy := 
  1494.      (Vendor_Specific_Entity => False); 
  1495.    --  <dref internal="true"></dref> 
  1496.  
  1497.    --  ---------------------------------------------------------- 
  1498.    --                 DOMAIN_PARTICIPANT_PROTOCOL (eXtension QoS) 
  1499.    --  ---------------------------------------------------------- 
  1500.  
  1501.    DOMAINPARTICIPANTPROTOCOL_QOS_POLICY_NAME : constant DDS.String := To_DDS_String ("DomainParticipantProtocol"); 
  1502.    --  <dref internal="true"></dref> 
  1503.  
  1504.    type DomainParticipantProtocolQosPolicy is limited record 
  1505.       Vendor_Specific_Entity : Boolean := False; 
  1506.    end record with 
  1507.      Convention => C; 
  1508.    --  <dref internal="true"></dref> 
  1509.  
  1510.    DOMAIN_PARTICIPANT_PROTOCOL_QOS_POLICY_DEFAULT : constant DomainParticipantProtocolQosPolicy := 
  1511.      (Vendor_Specific_Entity => False); 
  1512.    --  <dref internal="true"></dref> 
  1513.  
  1514.    --  ------------------------------------------------- 
  1515.    --                 DURABILITY 
  1516.    --  ------------------------------------------------- 
  1517.  
  1518.    BUFFER_POOL_UNLIMITED : constant := RTIDDS.Low_Level.ndds_reda_reda_fastBuffer_h.REDA_FAST_BUFFER_POOL_UNLIMITED; 
  1519.  
  1520.    BUFFER_POOL_AUTO : constant := RTIDDS.Low_Level.ndds_reda_reda_fastBuffer_h.REDA_FAST_BUFFER_POOL_AUTO; 
  1521.  
  1522.    BUFFER_POOL_BUFFER_SIZE_AUTO : constant := RTIDDS.Low_Level.ndds_reda_reda_fastBuffer_h.REDA_FAST_BUFFER_POOL_BUFFER_SIZE_AUTO; 
  1523.  
  1524.    type AllocationSettings_T is record 
  1525.       Initial_Count     : aliased Long := BUFFER_POOL_BUFFER_SIZE_AUTO; 
  1526.       Max_Count         : aliased Long := BUFFER_POOL_BUFFER_SIZE_AUTO; 
  1527.       Incremental_Count : aliased Long := BUFFER_POOL_BUFFER_SIZE_AUTO; 
  1528.    end record with Convention => C; 
  1529.    pragma Compile_Time_Error (AllocationSettings_T'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_AllocationSettings_t'Size, "AllocationSettings_T size missmatch"); 
  1530.    --  <defgroup>ExtendedQosSupportGroupDocs</defgroup> 
  1531.    --  <dref>AllocationSettings_t</dref> 
  1532.    --  <dref name="Initial_Count">AllocationSettings_t_initial_count</dref> 
  1533.    --  <dref name="Max_Count">AllocationSettings_t_max_count</dref> 
  1534.    --  <dref name="Incremental_Count">AllocationSettings_t_incremental_count</dref> 
  1535.  
  1536.    AllocationSettings_T_AUTO : constant AllocationSettings_T := (others => <>); 
  1537.  
  1538.    type  AllocationSettings_T_Access is access all  AllocationSettings_T; 
  1539.  
  1540.    function "+" (Left, Right : aliased AllocationSettings_T) return AllocationSettings_T; 
  1541.  
  1542.  
  1543.    DURABILITY_QOS_POLICY_NAME : constant DDS.String := To_DDS_String ("Durability"); 
  1544.    --  <defgroup>DurabilityQosGroupDocs</defgroup> 
  1545.    --  <dref>DURABILITY_QOS_POLICY_NAME</dref> 
  1546.  
  1547.    type DurabilityQosPolicyKind is new Unsigned_Long; 
  1548.    --  <dref>DurabilityQosPolicyKind</dref> 
  1549.  
  1550.    VOLATILE_DURABILITY_QOS    : constant DurabilityQosPolicyKind := 0; 
  1551.    --  <dref>DurabilityQosPolicyKind_VOLATILE_DURABILITY_QOS</dref> 
  1552.  
  1553.    TRANSIENT_LOCAL_DURABILITY_QOS : constant DurabilityQosPolicyKind := 1; 
  1554.    --  <dref>DurabilityQosPolicyKind_TRANSIENT_LOCAL_DURABILITY_QOS</dref> 
  1555.  
  1556.    TRANSIENT_DURABILITY_QOS   : constant DurabilityQosPolicyKind := 2; 
  1557.    --  <dref>DurabilityQosPolicyKind_TRANSIENT_DURABILITY_QOS</dref> 
  1558.  
  1559.    PERSISTENT_DURABILITY_QOS  : constant DurabilityQosPolicyKind := 3; 
  1560.    --  <dref>DurabilityQosPolicyKind_PERSISTENT_DURABILITY_QOS</dref> 
  1561.  
  1562.    type PersistentJournalKind is new Unsigned_Long; 
  1563.    --  <dref>PersistentJournalKind</dref> 
  1564.  
  1565.    DELETE_PERSISTENT_JOURNAL  : constant PersistentJournalKind := 0; 
  1566.    --  <dref>PersistentJournalKind_DELETE_PERSISTENT_JOURNAL</dref> 
  1567.  
  1568.    TRUNCATE_PERSISTENT_JOURNAL : constant PersistentJournalKind := 1; 
  1569.    --  <dref>PersistentJournalKind_TRUNCATE_PERSISTENT_JOURNAL</dref> 
  1570.  
  1571.    PERSIST_PERSISTENT_JOURNAL : constant PersistentJournalKind := 2; 
  1572.    --  <dref>PersistentJournalKind_PERSIST_PERSISTENT_JOURNAL</dref> 
  1573.  
  1574.    MEMORY_PERSISTENT_JOURNAL  : constant PersistentJournalKind := 3; 
  1575.    --  <dref>PersistentJournalKind_MEMORY_PERSISTENT_JOURNAL</dref> 
  1576.  
  1577.    WAL_PERSISTENT_JOURNAL     : constant PersistentJournalKind := 4; 
  1578.    --  <dref>PersistentJournalKind_WAL_PERSISTENT_JOURNAL</dref> 
  1579.  
  1580.    OFF_PERSISTENT_JOURNAL     : constant PersistentJournalKind := 5; 
  1581.    --  <dref>PersistentJournalKind_OFF_PERSISTENT_JOURNAL</dref> 
  1582.  
  1583.    type PersistentSynchronizationKind is new Unsigned_Long; 
  1584.    --  <dref>PersistentSynchronizationKind</dref> 
  1585.  
  1586.    NORMAL_PERSISTENT_SYNCHRONIZATION : constant PersistentSynchronizationKind := 0; 
  1587.    --  <dref internal="true">PersistentSynchronizationKind_</dref> 
  1588.  
  1589.    FULL_PERSISTENT_SYNCHRONIZATION : constant PersistentSynchronizationKind := 1; 
  1590.    --  <dref internal="true">PersistentSynchronizationKind_</dref> 
  1591.  
  1592.    OFF_PERSISTENT_SYNCHRONIZATION : constant PersistentSynchronizationKind := 2; 
  1593.    --  <dref internal="true">PersistentSynchronizationKind_</dref> 
  1594.  
  1595.    type PersistentStorageSettings is record 
  1596.       Enable                           : aliased DDS.Boolean := False; 
  1597.       File_Name                        : aliased DDS.String; 
  1598.       Trace_File_Name                  : aliased DDS.String; 
  1599.       Journal_Kind                     : aliased PersistentJournalKind := WAL_PERSISTENT_JOURNAL; 
  1600.       Synchronization_Kind             : aliased PersistentSynchronizationKind := NORMAL_PERSISTENT_SYNCHRONIZATION; 
  1601.       Vacuum                           : aliased DDS.Boolean := True; 
  1602.       Restore                          : aliased DDS.Boolean := True; 
  1603.       Writer_Instance_Cache_Allocation : aliased AllocationSettings_T := (-2, -2, -1); 
  1604.       Writer_Sample_Cache_Allocation   : aliased AllocationSettings_T := (32, 32, -2); 
  1605.       Writer_Memory_State              : aliased DDS.Boolean := True; 
  1606.       Reader_Checkpoint_Frequency      : aliased Unsigned_Long := 1; 
  1607.    end record with Convention => C; 
  1608.    pragma Compile_Time_Error (PersistentStorageSettings'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_PersistentStorageSettings'Size, "PersistentStorageSettings size missmatch."); 
  1609.  
  1610.    PERSISTENT_STORAGE_SETTINGS_DEFAULT : constant PersistentStorageSettings := (others => <>); 
  1611.  
  1612.    --  <dref>PersistentStorageSettings</dref> 
  1613.    --  <dref name="Enable">PersistentStorageSettings_enable</dref> 
  1614.    --  <dref name="File_Name">PersistentStorageSettings_file_name</dref> 
  1615.    --  <dref name="Trace_File_Name">PersistentStorageSettings_trace_file_name</dref> 
  1616.    --  <dref name="Journal_Kind">PersistentStorageSettings_journal_kind</dref> 
  1617.    --  <dref name="Synchronization_Kind">PersistentStorageSettings_synchronization_kind</dref> 
  1618.    --  <dref name="Vacuum">PersistentStorageSettings_vacuum</dref> 
  1619.    --  <dref name="Restore">PersistentStorageSettings_restore</dref> 
  1620.    --  <dref name="Writer_Instance_Cache_Allocation">PersistentStorageSettings_writer_instance_cache_allocation</dref> 
  1621.    --  <dref name="Writer_Sample_Cache_Allocation">PersistentStorageSettings_writer_sample_cache_allocation</dref> 
  1622.    --  <dref name="Writer_Memory_State">PersistentStorageSettings_writer_memory_state</dref> 
  1623.    --  <dref name="Reader_Checkpoint_Frequency">PersistentStorageSettings_reader_checkpoint_frequency</dref> 
  1624.  
  1625.    type DurabilityQosPolicy is record 
  1626.       Kind                 : aliased DurabilityQosPolicyKind := VOLATILE_DURABILITY_QOS; 
  1627.       Direct_Communication : aliased DDS.Boolean := True; 
  1628.       Writer_Depth         : aliased DDS.Long := 0; 
  1629.       Storage_Settings     : aliased PersistentStorageSettings; 
  1630.    end record with Convention => C; 
  1631.  
  1632.    function "=" (Left, Right : DurabilityQosPolicy) return Standard.Boolean; 
  1633.  
  1634.    pragma Compile_Time_Error (DurabilityQosPolicy'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_DurabilityQosPolicy'Size, "DurabilityQosPolicy size missmatch."); 
  1635.  
  1636.    --  <dref>DurabilityQosPolicy</dref> 
  1637.    --  <dref name="Kind">DurabilityQosPolicy_kind</dref> 
  1638.    --  <dref name="Direct_Communication">DurabilityQosPolicy_direct_communication</dref> 
  1639.    --  <dref name="Writer_Depth">DurabilityQosPolicy_writer_depth</dref> 
  1640.    --  <dref name="Storage_Settings">DurabilityQosPolicy_storage_settings</dref> 
  1641.  
  1642.    type DurabilityQosPolicy_Access is access all DurabilityQosPolicy; 
  1643.  
  1644.    DURABILITY_QOS_POLICY_DEFAULT : constant DurabilityQosPolicy := (others => <>); 
  1645.    --  <dref internal="true"></dref> 
  1646.  
  1647.    --  ------------------------------------------------- 
  1648.    --                 PRESENTATION 
  1649.    --  ------------------------------------------------- 
  1650.  
  1651.    PRESENTATION_QOS_POLICY_NAME  : constant DDS.String := To_DDS_String ("Presentation"); 
  1652.    --  <defgroup>PresentationQosGroupDocs</defgroup> 
  1653.    --  <dref>PRESENTATION_QOS_POLICY_NAME</dref> 
  1654.  
  1655.    type PresentationQosPolicyAccessScopeKind is new Unsigned_Long; 
  1656.    --  <dref>PresentationQosPolicyAccessScopeKind</dref> 
  1657.  
  1658.    INSTANCE_PRESENTATION_QOS     : constant PresentationQosPolicyAccessScopeKind := 0; 
  1659.    --  <dref>PresentationQosPolicyAccessScopeKind_INSTANCE_PRESENTATION_QOS</dref> 
  1660.  
  1661.    TOPIC_PRESENTATION_QOS        : constant PresentationQosPolicyAccessScopeKind := 1; 
  1662.    --  <dref>PresentationQosPolicyAccessScopeKind_TOPIC_PRESENTATION_QOS</dref> 
  1663.  
  1664.    GROUP_PRESENTATION_QOS        : constant PresentationQosPolicyAccessScopeKind := 2; 
  1665.    --  <dref>PresentationQosPolicyAccessScopeKind_GROUP_PRESENTATION_QOS</dref> 
  1666.  
  1667.    HIGHEST_OFFERED_PRESENTATION_QOS : constant PresentationQosPolicyAccessScopeKind := 3; 
  1668.    --  <dref>PresentationQosPolicyAccessScopeKind_HIGHEST_OFFERED_PRESENTATION_QOS</dref> 
  1669.  
  1670.    type PresentationQosPolicy  is record 
  1671.       Access_Scope    : aliased PresentationQosPolicyAccessScopeKind := INSTANCE_PRESENTATION_QOS; 
  1672.       Coherent_Access : aliased DDS.Boolean := False; 
  1673.       Ordered_Access  : aliased DDS.Boolean := False; 
  1674.    end record with Convention => C; 
  1675.    pragma Compile_Time_Error (PresentationQosPolicy'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_PresentationQosPolicy'Size, "PresentationQosPolicy size missmatch."); 
  1676.  
  1677.    --  <dref>PresentationQosPolicy</dref> 
  1678.    --  <dref name="Access_Scope">PresentationQosPolicy_access_scope</dref> 
  1679.    --  <dref name="Coherent_Access">PresentationQosPolicy_coherent_access</dref> 
  1680.    --  <dref name="Ordered_Access">PresentationQosPolicy_ordered_access</dref> 
  1681.  
  1682.  
  1683.    PRESENTATION_QOS_POLICY_DEFAULT : constant PresentationQosPolicy := (others => <>); 
  1684.    --  <dref internal="true"></dref> 
  1685.  
  1686.    --  ------------------------------------------------- 
  1687.    --                 DEADLINE 
  1688.    --  ------------------------------------------------- 
  1689.  
  1690.    DEADLINE_QOS_POLICY_NAME        : constant DDS.String := To_DDS_String ("Deadline"); 
  1691.    --  <defgroup>DeadlineQosGroupDocs</defgroup> 
  1692.    --  <dref>DEADLINE_QOS_POLICY_NAME</dref> 
  1693.  
  1694.    type DeadlineQosPolicy is record 
  1695.       Period : aliased Duration_T :=  DURATION_INFINITE; 
  1696.    end record with Convention => C; 
  1697.    pragma Compile_Time_Error (DeadlineQosPolicy'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_DeadlineQosPolicy'Size, "DeadlineQosPolicy size missmatch."); 
  1698.  
  1699.    --  <dref>DeadlineQosPolicy</dref> 
  1700.    --  <dref name="Period">DeadlineQosPolicy_period</dref> 
  1701.  
  1702.  
  1703.    DEADLINE_QOS_POLICY_DEFAULT : constant DeadlineQosPolicy := 
  1704.      (Period => DURATION_INFINITE); 
  1705.    --  <dref internal="true"></dref> 
  1706.  
  1707.    --  ------------------------------------------------- 
  1708.    --                 LATENCY_BUDGET 
  1709.    --  ------------------------------------------------- 
  1710.  
  1711.    LATENCYBUDGET_QOS_POLICY_NAME : constant DDS.String := To_DDS_String ("LatencyBudget"); 
  1712.    --  <defgroup>LatencyBudgetQosGroupDocs</defgroup> 
  1713.    --  <dref>LATENCYBUDGET_QOS_POLICY_NAME</dref> 
  1714.  
  1715.    type LatencyBudgetQosPolicy is record 
  1716.       Duration : aliased Duration_T := DURATION_ZERO; 
  1717.    end record with Convention => C; 
  1718.    pragma Compile_Time_Error (LatencyBudgetQosPolicy'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_LatencyBudgetQosPolicy'Size, "LatencyBudgetQosPolicy size missmatch."); 
  1719.  
  1720.    --  <dref>LatencyBudgetQosPolicy</dref> 
  1721.    --  <dref name="Duration">LatencyBudgetQosPolicy_duration</dref> 
  1722.  
  1723.  
  1724.    LATENCY_BUDGET_QOS_POLICY_DEFAULT : constant LatencyBudgetQosPolicy := (others => <>); 
  1725.    --  <dref internal="true"></dref> 
  1726.  
  1727.    --  ------------------------------------------------- 
  1728.    --                 OWNERSHIP 
  1729.    --  ------------------------------------------------- 
  1730.  
  1731.    OWNERSHIP_QOS_POLICY_NAME         : constant DDS.String := To_DDS_String ("Ownership"); 
  1732.    --  <defgroup>OwnershipQosGroupDocs</defgroup> 
  1733.    --  <dref>OWNERSHIP_QOS_POLICY_NAME</dref> 
  1734.  
  1735.    type OwnershipQosPolicyKind is new Unsigned_Long; 
  1736.    --  <dref>OwnershipQosPolicyKind</dref> 
  1737.  
  1738.    SHARED_OWNERSHIP_QOS : constant OwnershipQosPolicyKind := 0; 
  1739.    --  <dref>OwnershipQosPolicyKind_SHARED_OWNERSHIP_QOS</dref> 
  1740.  
  1741.    EXCLUSIVE_OWNERSHIP_QOS : constant OwnershipQosPolicyKind := 1; 
  1742.    --  <dref>OwnershipQosPolicyKind_EXCLUSIVE_OWNERSHIP_QOS</dref> 
  1743.  
  1744.    type OwnershipQosPolicy is record 
  1745.       Kind : aliased OwnershipQosPolicyKind := SHARED_OWNERSHIP_QOS; 
  1746.    end record with Convention => C; 
  1747.    pragma Compile_Time_Error (OwnershipQosPolicy'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_OwnershipQosPolicy'Size, "OwnershipQosPolicy size missmatch."); 
  1748.  
  1749.    --  <dref>OwnershipQosPolicy</dref> 
  1750.    --  <dref name="Kind">OwnershipQosPolicy_kind</dref> 
  1751.  
  1752.  
  1753.    OWNERSHIP_QOS_POLICY_DEFAULT : constant OwnershipQosPolicy := (others => <>); 
  1754.    --  <dref internal="true"></dref> 
  1755.  
  1756.    --  ------------------------------------------------- 
  1757.    --                 OWNERSHIP_STRENGTH 
  1758.    --  ------------------------------------------------- 
  1759.  
  1760.    OWNERSHIPSTRENGTH_QOS_POLICY_NAME : constant DDS.String := To_DDS_String ("OwnershipStrength"); 
  1761.    --  <defgroup>OwnershipStrengthQosGroupDocs</defgroup> 
  1762.    --  <dref>OWNERSHIPSTRENGTH_QOS_POLICY_NAME</dref> 
  1763.  
  1764.    type OwnershipStrengthQosPolicy is record 
  1765.       Value : aliased Long := 0; 
  1766.    end record with Convention => C; 
  1767.    pragma Compile_Time_Error (OwnershipStrengthQosPolicy'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_OwnershipStrengthQosPolicy'Size, "OwnershipStrengthQosPolicy size missmatch."); 
  1768.  
  1769.    --  <dref>OwnershipStrengthQosPolicy</dref> 
  1770.    --  <dref name="Value">OwnershipStrengthQosPolicy_value</dref> 
  1771.  
  1772.  
  1773.    OWNERSHIP_STRENGTH_QOS_POLICY_DEFAULT : constant OwnershipStrengthQosPolicy := 
  1774.      (Value => 0); 
  1775.    --  <dref internal="true"></dref> 
  1776.  
  1777.    --  ------------------------------------------------- 
  1778.    --                 LIVELINESS 
  1779.    --  ------------------------------------------------- 
  1780.  
  1781.    LIVELINESS_QOS_POLICY_NAME            : constant DDS.String := To_DDS_String ("Liveliness"); 
  1782.    --  <defgroup>LivelinessQosGroupDocs</defgroup> 
  1783.    --  <dref>LIVELINESS_QOS_POLICY_NAME</dref> 
  1784.  
  1785.    type LivelinessQosPolicyKind is new Unsigned_Long; 
  1786.    --  <dref>LivelinessQosPolicyKind</dref> 
  1787.  
  1788.    AUTOMATIC_LIVELINESS_QOS : constant LivelinessQosPolicyKind := 0; 
  1789.    --  <dref>LivelinessQosPolicyKind_AUTOMATIC_LIVELINESS_QOS</dref> 
  1790.  
  1791.    MANUAL_BY_PARTICIPANT_LIVELINESS_QOS : constant LivelinessQosPolicyKind := 1; 
  1792.    --  <dref>LivelinessQosPolicyKind_MANUAL_BY_PARTICIPANT_LIVELINESS_QOS</dref> 
  1793.  
  1794.    MANUAL_BY_TOPIC_LIVELINESS_QOS : constant LivelinessQosPolicyKind := 2; 
  1795.    --  <dref>LivelinessQosPolicyKind_MANUAL_BY_TOPIC_LIVELINESS_QOS</dref> 
  1796.  
  1797.    type LivelinessQosPolicy is record 
  1798.       Kind                          : aliased LivelinessQosPolicyKind := AUTOMATIC_LIVELINESS_QOS; 
  1799.       Lease_Duration                : aliased Duration_T := DURATION_INFINITE; 
  1800.       Assertions_Per_Lease_Duration : aliased Long := 3; 
  1801.    end record with Convention => C; 
  1802.    pragma Compile_Time_Error (LivelinessQosPolicy'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_LivelinessQosPolicy'Size, "LivelinessQosPolicy size missmatch."); 
  1803.  
  1804.    --  <dref>LivelinessQosPolicy</dref> 
  1805.    --  <dref name="Kind">LivelinessQosPolicy_kind</dref> 
  1806.    --  <dref name="Lease_Duration">LivelinessQosPolicy_lease_duration</dref> 
  1807.    --  <dref name="Assertions_Per_Lease_Duration">LivelinessQosPolicy_assertions_per_lease_duration</dref> 
  1808.  
  1809.  
  1810.    LIVELINESS_QOS_POLICY_DEFAULT : constant LivelinessQosPolicy := (others => <>); 
  1811.    --  <dref internal="true"></dref> 
  1812.  
  1813.    --  ------------------------------------------------- 
  1814.    --                 TIME_BASED_FILTER 
  1815.    --  ------------------------------------------------- 
  1816.  
  1817.    TIMEBASEDFILTER_QOS_POLICY_NAME : constant DDS.String  := To_DDS_String ("TimeBasedFilter"); 
  1818.    --  <defgroup>TimeBasedFilterQosGroupDocs</defgroup> 
  1819.    --  <dref>TIMEBASEDFILTER_QOS_POLICY_NAME</dref> 
  1820.  
  1821.    type TimeBasedFilterQosPolicy is record 
  1822.       Minimum_Separation : aliased Duration_T :=  DURATION_ZERO; 
  1823.    end record with Convention => C; 
  1824.    pragma Compile_Time_Error (TimeBasedFilterQosPolicy'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_TimeBasedFilterQosPolicy'Size, "TimeBasedFilterQosPolicy size missmatch."); 
  1825.  
  1826.    --  <dref>TimeBasedFilterQosPolicy</dref> 
  1827.    --  <dref name="Minimum_Separation">TimeBasedFilterQosPolicy_minimum_separation</dref> 
  1828.  
  1829.    TIME_BASED_FILTER_QOS_POLICY_DEFAULT : constant  TimeBasedFilterQosPolicy := (others => <>); 
  1830.    --  <dref internal="true"></dref> 
  1831.  
  1832.    --  ------------------------------------------------- 
  1833.    --                 PARTITION 
  1834.    --  ------------------------------------------------- 
  1835.  
  1836.    PARTITION_QOS_POLICY_NAME : constant DDS.String := To_DDS_String ("Partition"); 
  1837.    --  <defgroup>PartitionQosGroupDocs</defgroup> 
  1838.    --  <dref>PARTITION_QOS_POLICY_NAME</dref> 
  1839.  
  1840.    type PartitionQosPolicy is record 
  1841.       Name : aliased String_Seq.Sequence; 
  1842.    end record with Convention => C; 
  1843.    pragma Compile_Time_Error (PartitionQosPolicy'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_PartitionQosPolicy'Size, "PartitionQosPolicy size missmatch."); 
  1844.  
  1845.    --  <dref>PartitionQosPolicy</dref> 
  1846.    --  <dref name="Name">PartitionQosPolicy_name</dref> 
  1847.  
  1848.    --     PARTITION_QOS_POLICY_DEFAULT : constant PartitionQosPolicy := 
  1849.    --                                      (Name => String_Seq.DEFAULT_SEQUENCE); 
  1850.  
  1851.    --  ------------------------------------------------- 
  1852.    --                 RELIABILITY 
  1853.    --  ------------------------------------------------- 
  1854.  
  1855.    RELIABILITY_QOS_POLICY_NAME : constant DDS.String := To_DDS_String ("Reliability"); 
  1856.    --  <defgroup>ReliabilityQosGroupDocs</defgroup> 
  1857.    --  <dref>RELIABILITY_QOS_POLICY_NAME</dref> 
  1858.  
  1859.    type ReliabilityQosPolicyKind is new Unsigned_Long; 
  1860.    --  <dref>ReliabilityQosPolicyKind</dref> 
  1861.  
  1862.    BEST_EFFORT_RELIABILITY_QOS : constant ReliabilityQosPolicyKind := 0; 
  1863.    --  <dref>ReliabilityQosPolicyKind_BEST_EFFORT_RELIABILITY_QOS</dref> 
  1864.  
  1865.    RELIABLE_RELIABILITY_QOS : constant ReliabilityQosPolicyKind := 1; 
  1866.    --  <dref>ReliabilityQosPolicyKind_RELIABLE_RELIABILITY_QOS</dref> 
  1867.  
  1868.    type ReliabilityQosPolicyAcknowledgmentModeKind is new Unsigned_Long; 
  1869.    --  <dref>ReliabilityQosPolicyAcknowledgmentModeKind</dref> 
  1870.  
  1871.    PROTOCOL_ACKNOWLEDGMENT_MODE : constant ReliabilityQosPolicyAcknowledgmentModeKind := 0; 
  1872.    --  <dref>ReliabilityQosPolicyAcknowledgmentModeKind_PROTOCOL_ACKNOWLEDGMENT_MODE</dref> 
  1873.  
  1874.    APPICATION_AUTO_ACKNOWLEDGMENT_MODE : constant ReliabilityQosPolicyAcknowledgmentModeKind := 1; 
  1875.    --  <dref>ReliabilityQosPolicyAcknowledgmentModeKind_APPLICATION_AUTO_ACKNOWLEDGMENT_MODE</dref> 
  1876.  
  1877.    APPICATION_ORDERED_ACKNOWLEDGMENT_MODE : constant ReliabilityQosPolicyAcknowledgmentModeKind := 2; 
  1878.  
  1879.    APPICATION_EXPLICIT_ACKNOWLEDGMENT_MODE : constant ReliabilityQosPolicyAcknowledgmentModeKind := 3; 
  1880.    --  <dref>ReliabilityQosPolicyAcknowledgmentModeKind_APPLICATION_EXPLICIT_ACKNOWLEDGMENT_MODE</dref> 
  1881.    type InstanceStateRecoveryKind is (NO_INSTANCE_STATE_RECOVERY, RECOVER_INSTANCE_STATE_RECOVERY); 
  1882.    type ReliabilityQosPolicy is record 
  1883.       Kind                         : aliased ReliabilityQosPolicyKind := BEST_EFFORT_RELIABILITY_QOS; 
  1884.       Max_Blocking_Time            : aliased Duration_T := (0, 100_000_000); 
  1885.       Acknowledgment_Kind          : aliased ReliabilityQosPolicyAcknowledgmentModeKind := PROTOCOL_ACKNOWLEDGMENT_MODE; 
  1886.       Instance_State_Recovery_Kind : aliased InstanceStateRecoveryKind := NO_INSTANCE_STATE_RECOVERY; 
  1887.    end record with Convention => C; 
  1888.    pragma Compile_Time_Error (ReliabilityQosPolicy'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_ReliabilityQosPolicy'Size, "ReliabilityQosPolicy size missmatch."); 
  1889.  
  1890.    --  <dref>ReliabilityQosPolicy</dref> 
  1891.    --  <dref name="Kind">ReliabilityQosPolicy_kind</dref> 
  1892.    --  <dref name="Max_Blocking_Time">ReliabilityQosPolicy_max_blocking_time</dref> 
  1893.    --  <dref name="Acknowledgment_Kind">ReliabilityQosPolicy_acknowledgment_kind</dref> 
  1894.  
  1895.    RELIABILITY_QOS_POLICY_DEFAULT : constant ReliabilityQosPolicy := (others => <>); 
  1896.    --  <dref internal="true"></dref> 
  1897.  
  1898.    --  ------------------------------------------------- 
  1899.    --                 DESTINATION_ORDER 
  1900.    --  ------------------------------------------------- 
  1901.  
  1902.    DESTINATIONORDER_QOS_POLICY_NAME : constant DDS.String := To_DDS_String ("DestinationOrder"); 
  1903.    --  <defgroup>DestinationOrderQosGroupDocs</defgroup> 
  1904.    --  <dref>DESTINATIONORDER_QOS_POLICY_NAME</dref> 
  1905.  
  1906.    type DestinationOrderQosPolicyKind is new Unsigned_Long; 
  1907.    --  <dref>DestinationOrderQosPolicyKind</dref> 
  1908.  
  1909.    BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS : constant DestinationOrderQosPolicyKind := 0; 
  1910.    --  <dref>DestinationOrderQosPolicyKind_BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS</dref> 
  1911.  
  1912.    BY_SOURCE_TIMESTAMP_DESTINATIONORDER_QOS : constant DestinationOrderQosPolicyKind := 1; 
  1913.    --  <dref>DestinationOrderQosPolicyKind_BY_SOURCE_TIMESTAMP_DESTINATIONORDER_QOS</dref> 
  1914.  
  1915.    type DestinationOrderQosPolicyScopeKind is new Unsigned_Long; 
  1916.    --  <dref internal="true">DestinationOrderQosPolicyScopeKind</dref> 
  1917.  
  1918.    INSTANCE_SCOPE_DESTINATIONORDER_QOS : constant DestinationOrderQosPolicyScopeKind := 0; 
  1919.    --  <dref internal="true">DestinationOrderQosPolicyScopeKind_INSTANCE_SCOPE_DESTINATIONORDER_QOS</dref> 
  1920.  
  1921.    TOPIC_SCOPE_DESTINATIONORDER_QOS : constant DestinationOrderQosPolicyScopeKind := 1; 
  1922.    --  <dref internal="true">DestinationOrderQosPolicyScopeKind_TOPIC_SCOPE_DESTINATIONORDER_QOS</dref> 
  1923.  
  1924.    type DestinationOrderQosPolicy is record 
  1925.       Kind                       : aliased DestinationOrderQosPolicyKind := BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS; 
  1926.       Scope                      : aliased DestinationOrderQosPolicyScopeKind := INSTANCE_SCOPE_DESTINATIONORDER_QOS; 
  1927.       Source_Timestamp_Tolerance : aliased Duration_T := DURATION_ZERO; 
  1928.    end record with Convention => C; 
  1929.    pragma Compile_Time_Error (DestinationOrderQosPolicy'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_DestinationOrderQosPolicy'Size, "DestinationOrderQosPolicy size missmatch."); 
  1930.  
  1931.    --  <dref>DestinationOrderQosPolicy</dref> 
  1932.    --  <dref name="Kind">DestinationOrderQosPolicy_kind</dref> 
  1933.    --  <dref internal="true" name="Scope">DestinationOrderQosPolicy_scope</dref> 
  1934.    --  <dref name="source_timestamp_tolerance">DestinationOrderQosPolicy_source_timestamp_tolerance</dref> 
  1935.  
  1936.    DESTINATION_ORDER_QOS_POLICY_DEFAULT : constant DestinationOrderQosPolicy := (others => <>); 
  1937.    --  <dref internal="true"></dref> 
  1938.  
  1939.    --  ------------------------------------------------- 
  1940.    --                 HISTORY 
  1941.    --  ------------------------------------------------- 
  1942.  
  1943.    HISTORY_QOS_POLICY_NAME              : constant DDS.String := To_DDS_String ("History"); 
  1944.    --  <defgroup>HistoryQosGroupDocs</defgroup> 
  1945.    --  <dref>HISTORY_QOS_POLICY_NAME</dref> 
  1946.  
  1947.    type HistoryQosPolicyKind is new Unsigned_Long; 
  1948.    --  <dref>HistoryQosPolicyKind</dref> 
  1949.  
  1950.    KEEP_LAST_HISTORY_QOS                : constant HistoryQosPolicyKind := 0; 
  1951.    --  <dref>HistoryQosPolicyKind_KEEP_LAST_HISTORY_QOS</dref> 
  1952.  
  1953.    KEEP_ALL_HISTORY_QOS                 : constant HistoryQosPolicyKind := 1; 
  1954.    --  <dref>HistoryQosPolicyKind_KEEP_ALL_HISTORY_QOS</dref> 
  1955.  
  1956.    type HistoryQosPolicy is record 
  1957.       Kind     : aliased HistoryQosPolicyKind := KEEP_LAST_HISTORY_QOS; 
  1958.       Depth    : aliased Long := 1; 
  1959.    end record with Convention => C; 
  1960.    pragma Compile_Time_Error (HistoryQosPolicy'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_HistoryQosPolicy'Size, "HistoryQosPolicy size missmatch."); 
  1961.  
  1962.    --  <dref>HistoryQosPolicy</dref> 
  1963.    --  <dref name="Kind">HistoryQosPolicy_kind</dref> 
  1964.    --  <dref name="Depth">HistoryQosPolicy_depth</dref> 
  1965.  
  1966.    HISTORY_QOS_POLICY_DEFAULT           : constant HistoryQosPolicy := (others => <>); 
  1967.    --  <dref internal="true"></dref> 
  1968.  
  1969.    --  ------------------------------------------------- 
  1970.    --                 LENGTH_UNLIMITED 
  1971.    --  ------------------------------------------------- 
  1972.  
  1973.    LENGTH_UNLIMITED                     : constant Long  := -1; 
  1974.    --  <dref>LENGTH_UNLIMITED</dref> 
  1975.  
  1976.    --  ------------------------------------------------- 
  1977.    --                 DURABILITY_SERVICE 
  1978.    --  ------------------------------------------------- 
  1979.  
  1980.    DURABILITYSERVICE_QOS_POLICY_NAME    : constant DDS.String := To_DDS_String ("DurabilityService"); 
  1981.    --  <defgroup>DurabilityServiceQosGroupDocs</defgroup> 
  1982.    --  <dref>DURABILITY_QOS_POLICY_NAME</dref> 
  1983.  
  1984.    type DurabilityServiceQosPolicy is record 
  1985.       Service_Cleanup_Delay    : aliased Duration_T := DURATION_ZERO; 
  1986.       History_Kind             : aliased HistoryQosPolicyKind := KEEP_LAST_HISTORY_QOS; 
  1987.       History_Depth            : aliased Long := 1; 
  1988.       Max_Samples              : aliased Long := LENGTH_UNLIMITED; 
  1989.       Max_Instances            : aliased Long := LENGTH_UNLIMITED; 
  1990.       Max_Samples_Per_Instance : aliased Long := LENGTH_UNLIMITED; 
  1991.    end record with Convention => C; 
  1992.    pragma Compile_Time_Error (DurabilityServiceQosPolicy'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_DurabilityServiceQosPolicy'Size, "DurabilityServiceQosPolicy size missmatch."); 
  1993.  
  1994.    --  <dref>DurabilityServiceQosPolicy</dref> 
  1995.    --  <dref name="Service_Cleanup_Delay">DurabilityServiceQosPolicy_service_cleanup_delay</dref> 
  1996.    --  <dref name="History_Kind">DurabilityServiceQosPolicy_history_kind</dref> 
  1997.    --  <dref name="History_Depth">DurabilityServiceQosPolicy_history_depth</dref> 
  1998.    --  <dref name="Max_Samples">DurabilityServiceQosPolicy_max_samples</dref> 
  1999.    --  <dref name="Max_Instances">DurabilityServiceQosPolicy_max_instances</dref> 
  2000.    --  <dref name="Max_Samples_Per_Instance">DurabilityServiceQosPolicy_max_samples_per_instance</dref> 
  2001.  
  2002.    DURABILITY_SERVICE_QOS_POLICY_DEFAULT : constant DurabilityServiceQosPolicy := (others => <>); 
  2003.    --  <dref internal="true"></dref> 
  2004.  
  2005.    --  ------------------------------------------------- 
  2006.    --                 RESOURCE_LIMITS 
  2007.    --  ------------------------------------------------- 
  2008.  
  2009.    RESOURCELIMITS_QOS_POLICY_NAME        : constant DDS.String := To_DDS_String ("ResourceLimits"); 
  2010.    --  <defgroup>ResourceLimitsQosGroupDocs</defgroup> 
  2011.    --  <dref>RESOURCELIMITS_QOS_POLICY_NAME</dref> 
  2012.  
  2013.    type ResourceLimitsQosPolicy is record 
  2014.       Max_Samples              : aliased Long := LENGTH_UNLIMITED; 
  2015.       Max_Instances            : aliased Long := LENGTH_UNLIMITED; 
  2016.       Max_Samples_Per_Instance : aliased Long := LENGTH_UNLIMITED; 
  2017.       Initial_Samples          : aliased Long := 32; 
  2018.       Initial_Instances        : aliased Long := 32; 
  2019.       Instance_Hash_Buckets    : aliased Long := 32; 
  2020.    end record with Convention => C; 
  2021.    pragma Compile_Time_Error (ResourceLimitsQosPolicy'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_ResourceLimitsQosPolicy'Size, "ResourceLimitsQosPolicy size missmatch."); 
  2022.  
  2023.    --  <dref>ResourceLimitsQosPolicy</dref> 
  2024.    --  <dref name="Max_Samples">ResourceLimitsQosPolicy_max_samples</dref> 
  2025.    --  <dref name="Max_Instances">ResourceLimitsQosPolicy_max_instances</dref> 
  2026.    --  <dref name="Max_Samples_Per_Instance">ResourceLimitsQosPolicy_max_samples_per_instance</dref> 
  2027.    --  <dref name="Initial_Samples">ResourceLimitsQosPolicy_initial_samples</dref> 
  2028.    --  <dref name="Initial_Instances">ResourceLimitsQosPolicy_initial_instances</dref> 
  2029.    --  <dref name="Instance_Hash_Buckets">ResourceLimitsQosPolicy_instance_hash_buckets</dref> 
  2030.  
  2031.    RESOURCE_LIMITS_QOS_POLICY_DEFAULT : constant ResourceLimitsQosPolicy := (others => <>); 
  2032.    --  <dref internal="true"></dref> 
  2033.  
  2034.    --  ------------------------------------------------- 
  2035.    --                 TRANSPORT_PRIORITY 
  2036.    --  ------------------------------------------------- 
  2037.  
  2038.    TRANSPORTPRIORITY_QOS_POLICY_NAME  : constant DDS.String := To_DDS_String ("TransportPriority"); 
  2039.    --  <defgroup>TransportPriorityQosGroupDocs</defgroup> 
  2040.    --  <dref>TRANSPORTPRIORITY_QOS_POLICY_NAME</dref> 
  2041.  
  2042.    type TransportPriorityQosPolicy is record 
  2043.       Value : aliased Long := 0; 
  2044.    end record with Convention => C; 
  2045.    pragma Compile_Time_Error (TransportPriorityQosPolicy'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_TransportPriorityQosPolicy'Size, "TransportPriorityQosPolicy size missmatch."); 
  2046.  
  2047.    --  <dref>TransportPriorityQosPolicy</dref> 
  2048.    --  <dref name="Value">TransportPriorityQosPolicy_value</dref> 
  2049.  
  2050.    TRANSPORT_PRIORITY_QOS_POLICY_DEFAULT : constant TransportPriorityQosPolicy := (others => <>); 
  2051.    --  <dref internal="true"></dref> 
  2052.  
  2053.    --  ------------------------------------------------- 
  2054.    --                 LIFESPAN 
  2055.    --  ------------------------------------------------- 
  2056.  
  2057.    LIFESPAN_QOS_POLICY_NAME              : constant DDS.String := To_DDS_String ("Lifespan"); 
  2058.    --  <defgroup>LifespanQosGroupDocs</defgroup> 
  2059.    --  <dref>LIFESPAN_QOS_POLICY_NAME</dref> 
  2060.  
  2061.    type LifespanQosPolicy is record 
  2062.       Duration : aliased Duration_T := DURATION_INFINITE; 
  2063.    end record with Convention => C; 
  2064.    pragma Compile_Time_Error (LifespanQosPolicy'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_LifespanQosPolicy'Size, "LifespanQosPolicy size missmatch."); 
  2065.  
  2066.    --  <dref>LifespanQosPolicy</dref> 
  2067.    --  <dref name="Duration">LifespanQosPolicy_duration</dref> 
  2068.  
  2069.  
  2070.    LIFESPAN_QOS_POLICY_DEFAULT        : constant LifespanQosPolicy := (others => <>); 
  2071.    --  <dref internal="true"></dref> 
  2072.  
  2073.    --  ------------------------------------------------- 
  2074.    --                 WRITER_DATA_LIFECYCLE 
  2075.    --  ------------------------------------------------- 
  2076.  
  2077.    WRITERDATALIFECYCLE_QOS_POLICY_NAME : constant DDS.String := To_DDS_String ("WriterDataLifecycle"); 
  2078.    --  <defgroup>WriterDataLifecycleQosGroupDocs</defgroup> 
  2079.    --  <dref>WRITERDATALIFECYCLE_QOS_POLICY_NAME</dref> 
  2080.  
  2081.    type WriterDataLifecycleQosPolicy is record 
  2082.       Autodispose_Unregistered_Instances     : aliased DDS.Boolean := True; 
  2083.       Autopurge_Unregistered_Instances_Delay : aliased DDS.Duration_T := DURATION_INFINITE; 
  2084.       Autopurge_Disposed_Instances_Delay     : aliased DDS.Duration_T := DURATION_INFINITE; 
  2085.    end record with Convention => C; 
  2086.    pragma Compile_Time_Error (WriterDataLifecycleQosPolicy'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_WriterDataLifecycleQosPolicy'Size, "WriterDataLifecycleQosPolicy size missmatch."); 
  2087.  
  2088.    --  <dref>WriterDataLifecycleQosPolicy</dref> 
  2089.    --  <dref name="Autodispose_Unregistered_Instances">WriterDataLifecycleQosPolicy_autodispose_unregistered_instances</dref> 
  2090.    --  <dref name="Autopurge_Unregistered_Instances_Delay">WriterDataLifecycleQosPolicy_autopurge_unregistered_instances_delay</dref> 
  2091.    --  <dref name="Autopurge_Disposed_Instances_Delay">WriterDataLifecycleQosPolicy_autopurge_disposed_instances_delay</dref> 
  2092.  
  2093.    WRITER_DATA_LIFECYCLE_QOS_POLICY_DEFAULT : constant WriterDataLifecycleQosPolicy := (others => <>); 
  2094.    --  <dref internal="true"></dref> 
  2095.  
  2096.    --  ------------------------------------------------- 
  2097.    --                 READER_DATA_LIFECYCLE 
  2098.    --  ------------------------------------------------- 
  2099.  
  2100.    READERDATALIFECYCLE_QOS_POLICY_NAME      : constant DDS.String := To_DDS_String ("ReaderDataLifecycle"); 
  2101.    --  <defgroup>ReaderDataLifecycleQosGroupDocs</defgroup> 
  2102.    --  <dref>READERDATALIFECYCLE_QOS_POLICY_NAME</dref> 
  2103.  
  2104.    type ReaderDataLifecycleQosPolicy is record 
  2105.       Autopurge_Nowriter_Samples_Delay   : aliased Duration_T := DURATION_INFINITE; 
  2106.       Autopurge_Disposed_Samples_Delay   : aliased Duration_T := DURATION_INFINITE; 
  2107.       Autopurge_Disposed_Instances_Delay : aliased Duration_T := DURATION_INFINITE; 
  2108.       Autopurge_Nowriter_Instances_Delay : aliased Duration_T := DURATION_ZERO; 
  2109.    end record with Convention => C; 
  2110.    pragma Compile_Time_Error (ReaderDataLifecycleQosPolicy'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_ReaderDataLifecycleQosPolicy'Size, "ReaderDataLifecycleQosPolicy size missmatch."); 
  2111.  
  2112.    --  <dref>ReaderDataLifecycleQosPolicy</dref> 
  2113.    --  <dref name="Autopurge_Nowriter_Samples_Delay">ReaderDataLifecycleQosPolicy_autopurge_nowriter_samples_delay</dref> 
  2114.    --  <dref name="Autopurge_Disposed_Samples_Delay">ReaderDataLifecycleQosPolicy_autopurge_disposed_samples_delay</dref> 
  2115.    --  <dref name="Autopurge_Disposed_Instances_Delay">ReaderDataLifecycleQosPolicy_autopurge_disposed_instances_delay</dref> 
  2116.    --  <dref name="Autopurge_Disposed_Instances_Delay">ReaderDataLifecycleQosPolicy_autopurge_nowriter_instances_delay</dref> 
  2117.  
  2118.    READER_DATA_LIFECYCLE_QOS_POLICY_DEFAULT : constant ReaderDataLifecycleQosPolicy := (others => <>); 
  2119.    --  <dref internal="true"></dref> 
  2120.  
  2121.    --  ------------------------------------------------- 
  2122.    --                 ENTITY_FACTORY 
  2123.    --  ------------------------------------------------- 
  2124.  
  2125.    ENTITYFACTORY_QOS_POLICY_NAME            : constant DDS.String := To_DDS_String ("EntityFactory"); 
  2126.    --  <defgroup>EntityFactoryQosGroupDocs</defgroup> 
  2127.    --  <dref>ENTITYFACTORY_QOS_POLICY_NAME</dref> 
  2128.  
  2129.    type EntityFactoryQosPolicy is record 
  2130.       Autoenable_Created_Entities : aliased DDS.Boolean := True; 
  2131.    end record with Convention => C; 
  2132.    pragma Compile_Time_Error (EntityFactoryQosPolicy'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_EntityFactoryQosPolicy'Size, "EntityFactoryQosPolicy size missmatch."); 
  2133.  
  2134.    --  <dref>EntityFactoryQosPolicy</dref> 
  2135.    --  <dref name="Autoenable_Created_Entities">EntityFactoryQosPolicy_autoenable_created_entities</dref> 
  2136.  
  2137.    ENTITY_FACTORY_QOS_POLICY_DEFAULT  : constant EntityFactoryQosPolicy := (others => <>); 
  2138.    --  <dref internal="true"></dref> 
  2139.  
  2140.    --  ------------------------------------------------- 
  2141.    --                 EXTENDED QOS SUPPORT 
  2142.    --  ------------------------------------------------- 
  2143.  
  2144.    --!!! 
  2145.    --!!! RTI DDS Extensions 
  2146.    --!!! 
  2147.  
  2148.    --  ------------------------------------------------- 
  2149.    --                 RtpsReliableReaderProtocol_t 
  2150.    --  ------------------------------------------------- 
  2151.  
  2152.    type RtpsReliableReaderProtocol_T is record 
  2153.       Min_Heartbeat_Response_Delay       : aliased Duration_T := (0, 0); 
  2154.       Max_Heartbeat_Response_Delay       : aliased Duration_T := (0, 500_000_000); 
  2155.       Heartbeat_Suppression_Duration     : aliased Duration_T := (0, 62_500_000); 
  2156.       Nack_Period                        : aliased Duration_T := (5, 0); 
  2157.       Receive_Window_Size                : aliased Long := 256; 
  2158.       Round_Trip_Time                    : aliased Duration_T := (0, 0); 
  2159.       App_Ack_Period                     : aliased Duration_T := (5, 0); 
  2160.       Min_App_Ack_Response_Keep_Duration : aliased Duration_T := (0, 0); 
  2161.       Samples_Per_App_Ack                : aliased Long := 1; 
  2162.    end record with Convention => C; 
  2163.    pragma Compile_Time_Error (RtpsReliableReaderProtocol_T'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_RtpsReliableReaderProtocol_t'Size, "DDS_RtpsReliableReaderProtocol_t size missmatch"); 
  2164.  
  2165.  
  2166.    RTPS_RELIABLE_READER_PROTOCOL_DEFAULT : aliased constant RtpsReliableReaderProtocol_T := (others => <>); 
  2167.    --  <dref internal="true"></dref> 
  2168.  
  2169.    RTPS_RELIABLE_READER_PROTOCOL_DISCOVERY_CONFIG_DEFAULT : 
  2170.    aliased  constant RtpsReliableReaderProtocol_T := (Max_Heartbeat_Response_Delay => (0, 0), 
  2171.                                                       others                       => <>); 
  2172.    --  <dref internal="true"></dref> 
  2173.  
  2174.    RTPS_PARTICIPANT_MESSAGE_READER_DISCOVERY_CONFIG_DEFAULT : 
  2175.    aliased constant RtpsReliableReaderProtocol_T := (Max_Heartbeat_Response_Delay => (0, 0), 
  2176.                                                      others                       => <>); 
  2177.    --  <dref internal="true"></dref> 
  2178.  
  2179.    --  ------------------------------------------------- 
  2180.    --                 RtpsReliableWriterProtocol_t 
  2181.    --  ------------------------------------------------- 
  2182.  
  2183.    type RtpsReliableWriterProtocol_T is record 
  2184.       Low_Watermark                                                     : aliased Long := 0; 
  2185.       High_Watermark                                                    : aliased Long := 1; 
  2186.       Heartbeat_Period                                                  : aliased Duration_T := (3, 0); 
  2187.       Fast_Heartbeat_Period                                             : aliased Duration_T := (3, 0); 
  2188.       Late_Joiner_Heartbeat_Period                                      : aliased Duration_T := (3, 0); 
  2189.       Virtual_Heartbeat_Period                                          : aliased Duration_T := DURATION_INFINITE; 
  2190.       Samples_Per_Virtual_Heartbeat                                     : aliased Long := -1; 
  2191.       Max_Heartbeat_Retries                                             : aliased Long := 10; 
  2192.       Inactivate_Nonprogressing_Readers                                 : aliased Boolean := False; 
  2193.       Heartbeats_Per_Max_Samples                                        : aliased Long := 8; 
  2194.       Min_Nack_Response_Delay                                           : aliased Duration_T := (0, 0); 
  2195.       Max_Nack_Response_Delay                                           : aliased Duration_T := (0, 200_000_000); 
  2196.       Nack_Suppression_Duration                                         : aliased Duration_T := (0, 0); 
  2197.       Max_Bytes_Per_Nack_Response                                       : aliased Long := 131072; 
  2198.       Disable_Positive_Acks_Min_Sample_Keep_Duration                    : aliased Duration_T := (0, 1_000_000); 
  2199.       Disable_Positive_Acks_Max_Sample_Keep_Duration                    : aliased Duration_T := (1, 0); 
  2200.       Disable_Positive_Acks_Sample_Min_Separation                       : aliased Duration_T := (0, 1_000_000); 
  2201.       Disable_Positive_Acks_Enable_Adaptive_Sample_Keep_Duration        : aliased Boolean := True; 
  2202.       Disable_Positive_Acks_Enable_Spin_Wait                            : aliased Boolean := False; 
  2203.       Disable_Positive_Acks_Decrease_Sample_Keep_Duration_Factor        : aliased Long := 0; 
  2204.       Disable_Positive_Acks_Increase_Sample_Keep_Duration_Factor        : aliased Long := 3; 
  2205.       Min_Send_Window_Size                                              : aliased Long := 32; 
  2206.       Max_Send_Window_Size                                              : aliased Long := 256; 
  2207.       Send_Window_Update_Period                                         : aliased Duration_T := (3, 0); 
  2208.       Send_Window_Increase_Factor                                       : aliased Long := 105; 
  2209.       Send_Window_Decrease_Factor                                       : aliased Long := 70; 
  2210.       Enable_Multicast_Periodic_Heartbeat                               : aliased Boolean := False; 
  2211.       Multicast_Resend_Threshold                                        : aliased Long := 2; 
  2212.       Disable_Repair_Piggyback_Heartbeat                                : aliased Boolean := False; 
  2213.    end record with Convention => C; 
  2214.    pragma Compile_Time_Error (RtpsReliableWriterProtocol_T'Size /= 
  2215.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_RtpsReliableWriterProtocol_t'Size, 
  2216.                               "RtpsReliableWriterProtocol_T'Size Missmatch"); 
  2217.    RTPS_RELIABLE_WRITER_PROTOCOL_DEFAULT : constant RtpsReliableWriterProtocol_T := (others => <>); 
  2218.    --  <dref internal="true"></dref> 
  2219.  
  2220.    RTPS_RELIABLE_WRITER_PROTOCOL_DISCOVERY_CONFIG_DEFAULT  :  constant RtpsReliableWriterProtocol_T := (others => <>); 
  2221.    --  <dref internal="true"></dref> 
  2222.  
  2223.    RTPS_PARTICIPANT_MESSAGE_WRITER_DISCOVERY_CONFIG_DEFAULT  : 
  2224.    constant RtpsReliableWriterProtocol_T := (Low_Watermark                                                      => 0, 
  2225.                                              High_Watermark                                                     => 1, 
  2226.                                              Heartbeat_Period                                                   => (1, 0), 
  2227.                                              Fast_Heartbeat_Period                                              => (1, 0), 
  2228.                                              Late_Joiner_Heartbeat_Period                                       => (1, 0), 
  2229.                                              Virtual_Heartbeat_Period                                           => DURATION_INFINITE, 
  2230.                                              Samples_Per_Virtual_Heartbeat                                      => -1, 
  2231.                                              Max_Heartbeat_Retries                                              => 10, 
  2232.                                              Inactivate_Nonprogressing_Readers                                  => False, 
  2233.                                              Heartbeats_Per_Max_Samples                                         => 1, 
  2234.                                              Min_Nack_Response_Delay                                            => (0, 0), 
  2235.                                              Max_Nack_Response_Delay                                            => (0, 0), 
  2236.                                              Nack_Suppression_Duration                                          => (0, 0), 
  2237.                                              Max_Bytes_Per_Nack_Response                                        => 9216, 
  2238.                                              Disable_Positive_Acks_Min_Sample_Keep_Duration                     => (0, 1_000_000), 
  2239.                                              Disable_Positive_Acks_Max_Sample_Keep_Duration                     => (1, 0), 
  2240.                                              Disable_Positive_Acks_Sample_Min_Separation                        => (0, 100_000), 
  2241.                                              Disable_Positive_Acks_Enable_Adaptive_Sample_Keep_Duration         => True, 
  2242.                                              Disable_Positive_Acks_Enable_Spin_Wait                             => False, 
  2243.                                              Disable_Positive_Acks_Decrease_Sample_Keep_Duration_Factor         => 95, 
  2244.                                              Disable_Positive_Acks_Increase_Sample_Keep_Duration_Factor         => 150, 
  2245.                                              Min_Send_Window_Size                                               => -1, 
  2246.                                              Max_Send_Window_Size                                               => -1, 
  2247.                                              Send_Window_Update_Period                                          => (1, 0), 
  2248.                                              Send_Window_Increase_Factor                                        => 105, 
  2249.                                              Send_Window_Decrease_Factor                                        => 50, 
  2250.                                              Enable_Multicast_Periodic_Heartbeat                                => False, 
  2251.                                              Multicast_Resend_Threshold                                         => 2, 
  2252.                                              Disable_Repair_Piggyback_Heartbeat                                 => False 
  2253.                                             ); 
  2254.    --  <dref internal="true"></dref> 
  2255.  
  2256.    --  ------------------------------------------------- 
  2257.    --                 UserObjectSettings_t 
  2258.    --  ------------------------------------------------- 
  2259.  
  2260.    type UserObjectSettings_T is record 
  2261.       Size      : aliased Long := 0; 
  2262.       Alignment : aliased Long := 0; 
  2263.    end record with 
  2264.      Convention => C; 
  2265.    pragma Compile_Time_Error (UserObjectSettings_T'Size /= 
  2266.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_UserObjectSettings_t'Size, 
  2267.                               "UserObjectSettings_T'Size Missmatch"); 
  2268.  
  2269.    --  <dref internal="true">UserObjectSettings_t</dref> 
  2270.    --  <dref internal="true" name="Size">UserObjectSettings_t_size</dref> 
  2271.    --  <dref internal="true" name="Alignment">UserObjectSettings_t_alignment</dref> 
  2272.  
  2273.    --  ------------------------------------------------- 
  2274.    --                 TransportUnicastSettings_t 
  2275.    --  ------------------------------------------------- 
  2276.  
  2277.    type TransportUnicastSettings_T is record 
  2278.       Transports   : aliased String_Seq.Sequence; 
  2279.       Receive_Port : aliased Long := 0; 
  2280.    end record with 
  2281.      Convention => C; 
  2282.    pragma Compile_Time_Error (TransportUnicastSettings_T'Size /= 
  2283.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_TransportUnicastSettings_t'Size, 
  2284.                               "TransportUnicastSettings_T'Size Missmatch"); 
  2285.  
  2286.    --  <defgroup>TransportUnicastSettingsGroupDocs</defgroup> 
  2287.    --  <dref>TransportUnicastSettings_t</dref> 
  2288.    --  <dref name="Transport">TransportUnicastSettings_t_transports</dref> 
  2289.    --  <dref name="Receive_Port">TransportUnicastSettings_t_receive_port</dref> 
  2290.  
  2291.    type TransportUnicastSettings_T_Access is access all TransportUnicastSettings_T; 
  2292.    type TransportUnicastSettings_T_Array is array 
  2293.      (Natural range <>) of aliased TransportUnicastSettings_T; 
  2294.    procedure Initialize (Self  : in out TransportUnicastSettings_T); 
  2295.    procedure Finalize (Self  : in out TransportUnicastSettings_T); 
  2296.    procedure Copy (Dst : in out TransportUnicastSettings_T; 
  2297.                    Src : in TransportUnicastSettings_T); 
  2298.  
  2299.    package TransportUnicastSettings_Seq is new DDS_Support.Sequences_Generic 
  2300.      (TransportUnicastSettings_T, 
  2301.       TransportUnicastSettings_T_Access, 
  2302.       DDS.Natural, 
  2303.       1, 
  2304.       TransportUnicastSettings_T_Array); 
  2305.    --  <dref>TransportUnicastSettingsSeq</dref> 
  2306.  
  2307.    --  ------------------------------------------------- 
  2308.    --                 TransportMulticastSettings_t 
  2309.    --  ------------------------------------------------- 
  2310.  
  2311.    type TransportMulticastSettings_T is record 
  2312.       Transports      : DDS.String_Seq.Sequence; 
  2313.       Receive_Address : DDS.String; 
  2314.       Receive_Port    : Long := 0; 
  2315.    end record with 
  2316.      Convention => C; 
  2317.    pragma Compile_Time_Error (TransportMulticastSettings_T'Size /= 
  2318.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_TransportMulticastSettings_t'Size, 
  2319.                               "TransportMulticastSettings_T'Size Missmatch"); 
  2320.    --  <defgroup>TransportMulticastSettingsGroupDocs</defgroup> 
  2321.    --  <dref>TransportMulticastSettings_t</dref> 
  2322.    --  <dref name="Transports">TransportMulticastSettings_t_transports</dref> 
  2323.    --  <dref name="Receive_Address">TransportMulticastSettings_t_receive_address</dref> 
  2324.    --  <dref name="Receive_Port">TransportMulticastSettings_t_receive_port</dref> 
  2325.  
  2326.    TRANSPORT_MULTICAST_LOCATORS_DEFAULT : constant TransportMulticastSettings_T := (others => <>); 
  2327.  
  2328.    type TransportMulticastSettings_T_Access is access all TransportMulticastSettings_T; 
  2329.    type TransportMulticastSettings_T_Array is array 
  2330.      (Natural range <>) of aliased TransportMulticastSettings_T; 
  2331.    procedure Initialize (Self  : in out TransportMulticastSettings_T); 
  2332.    procedure Finalize (Self  : in out TransportMulticastSettings_T); 
  2333.    procedure Copy (Dst : in out TransportMulticastSettings_T; 
  2334.                    Src : in TransportMulticastSettings_T); 
  2335.  
  2336.    package TransportMulticastSettings_Seq is new DDS_Support.Sequences_Generic 
  2337.      (TransportMulticastSettings_T, 
  2338.       TransportMulticastSettings_T_Access, 
  2339.       DDS.Natural, 
  2340.       1, 
  2341.       TransportMulticastSettings_T_Array); 
  2342.    --  <dref>TransportMulticastSettingsSeq</dref> 
  2343.  
  2344.    --  ------------------------------------------------- 
  2345.    --             TransportMulticastMappingFunction_t 
  2346.    --  ------------------------------------------------- 
  2347.  
  2348.    type TransportMulticastMappingFunction_T is record 
  2349.       Dll             : DDS.String; 
  2350.       Function_Name   : DDS.String; 
  2351.    end record with 
  2352.      Convention => C; 
  2353.    pragma Compile_Time_Error (TransportMulticastMappingFunction_T'Size /= 
  2354.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_TransportMulticastMappingFunction_t'Size, 
  2355.                               "TransportMulticastMappingFunction_T'Size Missmatch"); 
  2356.    --  <defgroup>TransportMulticastMappingGroupDocs</defgroup> 
  2357.    --  <dref>TransportMulticastMappingFunction_t</dref> 
  2358.    --  <dref name="dll">TransportMulticastMappingFunction_t_dll</dref> 
  2359.    --  <dref name="function_name">TransportMulticastMappingFunction_t_function_name</dref> 
  2360.  
  2361.    TRANSPORT_MULTICAST_MAPPING_FUNCTION_DEFAULT : constant TransportMulticastMappingFunction_T := (others => <>); 
  2362.  
  2363.  
  2364.    --  ------------------------------------------------- 
  2365.    --              TransportMulticastMapping_t 
  2366.    ----------------------------------------------------- 
  2367.  
  2368.    type TransportMulticastMapping_T is record 
  2369.       Addresses          : DDS.String; 
  2370.       Topic_Expression   : DDS.String; 
  2371.       Mapping_Function   : TransportMulticastMappingFunction_T; 
  2372.    end record with 
  2373.      Convention => C; 
  2374.    pragma Compile_Time_Error (TransportMulticastMapping_T'Size /= 
  2375.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_TransportMulticastMapping_t'Size, 
  2376.                               "TransportMulticastMapping_T'Size Missmatch"); 
  2377.  
  2378.    --  <dref>TransportMulticastMapping_t</dref> 
  2379.    --  <dref name="addresses">TransportMulticastMapping_t_addresses</dref> 
  2380.    --  <dref name="topic_expression">TransportMulticastMapping_t_topic_expression</dref> 
  2381.    --  <dref name="mapping_function">TransportMulticastMapping_t_mapping_function</dref> 
  2382.  
  2383.    TRANSPORT_MULTICAST_MAPPING_DEFAULT : constant TransportMulticastMapping_T := (others => <>); 
  2384.  
  2385.    type TransportMulticastMapping_T_Access is access all TransportMulticastMapping_T; 
  2386.    type TransportMulticastMapping_T_Array is array 
  2387.      (Natural range <>) of aliased TransportMulticastMapping_T; 
  2388.    procedure Initialize (Self  : in out TransportMulticastMapping_T); 
  2389.    procedure Finalize (Self  : in out TransportMulticastMapping_T); 
  2390.    procedure Copy (Dst : in out TransportMulticastMapping_T; 
  2391.                    Src : in TransportMulticastMapping_T); 
  2392.  
  2393.    package TransportMulticastMapping_Seq is new DDS_Support.Sequences_Generic 
  2394.      (TransportMulticastMapping_T, 
  2395.       TransportMulticastMapping_T_Access, 
  2396.       DDS.Natural, 
  2397.       1, 
  2398.       TransportMulticastMapping_T_Array); 
  2399.    --  <dref>TransportMulticastMappingSeq</dref> 
  2400.  
  2401.  
  2402.    --  ------------------------------------------------- 
  2403.    --                 TransportEncapsulationSettings 
  2404.    --  ------------------------------------------------- 
  2405.  
  2406.    type EncapsulationId_T is new Unsigned_Short; 
  2407.    --  <defgroup internal="true">TransportEncapsulationSettingsGroupDocs</defgroup> 
  2408.    --  <dref internal="true">EncapsulationId_t</dref> 
  2409.  
  2410.    type EncapsulationId_T_Access is access all EncapsulationId_T; 
  2411.    type EncapsulationId_T_Array is array 
  2412.      (Natural range <>) of aliased EncapsulationId_T; 
  2413.    procedure Initialize (Self  : in out EncapsulationId_T); 
  2414.    procedure Finalize (Self  : in out EncapsulationId_T); 
  2415.    procedure Copy (Dst : in out EncapsulationId_T; 
  2416.                    Src : in EncapsulationId_T); 
  2417.  
  2418.    package EncapsulationId_Seq is new DDS_Support.Sequences_Generic 
  2419.      (EncapsulationId_T, 
  2420.       EncapsulationId_T_Access, 
  2421.       DDS.Natural, 
  2422.       1, 
  2423.       EncapsulationId_T_Array); 
  2424.    --  <dref internal="true">EncapsulationIdSeq</dref> 
  2425.  
  2426.    ENCAPSULATION_ID_CDR_BE : constant EncapsulationId_T := 0; 
  2427.    --  <dref internal="true">ENCAPSULATION_ID_CDR_BE</dref> 
  2428.  
  2429.    ENCAPSULATION_ID_CDR_LE : constant EncapsulationId_T := 1; 
  2430.    --  <dref internal="true">ENCAPSULATION_ID_CDR_LE</dref> 
  2431.  
  2432.    ENCAPSULATION_ID_CDR_NATIVE : constant EncapsulationId_T := System.Bit_Order'Pos (System.Default_Bit_Order); 
  2433.    --  <dref internal="true">ENCAPSULATION_ID_CDR_NATIVE</dref> 
  2434.  
  2435.    ENCAPSULATION_ID_CDR2_BE : constant EncapsulationId_T := 0; 
  2436.    --  <dref internal="true">ENCAPSULATION_ID_CDR2_BE</dref> 
  2437.  
  2438.    ENCAPSULATION_ID_CDR2_LE : constant EncapsulationId_T := 1; 
  2439.    --  <dref internal="true">ENCAPSULATION_ID_CDR2_LE</dref> 
  2440.  
  2441.    ENCAPSULATION_ID_CDR2_NATIVE : constant EncapsulationId_T := System.Bit_Order'Pos (System.Default_Bit_Order); 
  2442.    --  <dref internal="true">ENCAPSULATION_ID_CDR2_NATIVE</dref> 
  2443.  
  2444.    ENCAPSULATION_ID_SHMEM_REF_PLAIN : EncapsulationId_T := 16#C000#; 
  2445.    --  <dref internal="true">ENCAPSULATION_ID_SHMEM_REF_PLAIN</dref> 
  2446.  
  2447.    ENCAPSULATION_ID_SHMEM_REF_FLAT_DATA : EncapsulationId_T := 16#C001#; 
  2448.    --  <dref internal="true">ENCAPSULATION_ID_SHMEM_REF_FLAT_DATA</dref> 
  2449.  
  2450.    type TransportEncapsulationSettings_T is record 
  2451.       Transports     : aliased DDS.String_Seq.Sequence; 
  2452.       Encapsulations : aliased EncapsulationId_Seq.Sequence; 
  2453.    end record with 
  2454.      Convention => C; 
  2455.    pragma Compile_Time_Error (TransportEncapsulationSettings_T'Size /= 
  2456.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_TransportEncapsulationSettings_t'Size, 
  2457.                               "TransportEncapsulationSettings_T'Size Missmatch"); 
  2458.  
  2459.    --  <dref internal="true">TransportEncapsulationSettings_t</dref> 
  2460.    --  <dref internal="true" name="Transports">TransportEncapsulationSettings_t_transports</dref> 
  2461.    --  <dref internal="true" name="Encapsulations">TransportEncapsulationSettings_t_encapsulations</dref> 
  2462.  
  2463.    --     TRANSPORT_ENCAPSULATION_SETTINGS_DEFAULT : constant TransportEncapsulationSettings_T := 
  2464.    --                   (Transports => DDS.String_Seq.DEFAULT_SEQUENCE, 
  2465.    --                Encapsulations => EncapsulationId_Seq.DEFAULT_SEQUENCE); 
  2466.  
  2467.    type TransportEncapsulationSettings_T_Access is access all TransportEncapsulationSettings_T; 
  2468.    type TransportEncapsulationSettings_T_Array is array 
  2469.      (Natural range <>) of aliased TransportEncapsulationSettings_T; 
  2470.    procedure Initialize (Self  : in out TransportEncapsulationSettings_T); 
  2471.    procedure Finalize (Self  : in out TransportEncapsulationSettings_T); 
  2472.    procedure Copy (Dst : in out TransportEncapsulationSettings_T; 
  2473.                    Src : in TransportEncapsulationSettings_T); 
  2474.  
  2475.    package TransportEncapsulationSettings_Seq is new DDS_Support.Sequences_Generic 
  2476.      (TransportEncapsulationSettings_T, 
  2477.       TransportEncapsulationSettings_T_Access, 
  2478.       DDS.Natural, 
  2479.       1, 
  2480.       TransportEncapsulationSettings_T_Array); 
  2481.    --  <dref internal="true">TransportEncapslationSettingsSeq</dref> 
  2482.  
  2483.    --  ------------------------------------------------- 
  2484.    --                 DATA_REPRESENTATION 
  2485.    --  ------------------------------------------------- 
  2486.  
  2487.    type DataRepresentationId_T is new RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_DataRepresentationId_t 
  2488.      with Convention => C; 
  2489.    --  <defgroup>DataRepresentationQosGroupDocs</defgroup> 
  2490.    --  <dref>DataRepresentationId_t</dref> 
  2491.  
  2492.    XCDR_DATA_REPRESENTATION : aliased constant DataRepresentationId_T := 
  2493.      DataRepresentationId_T (RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_XCDR_DATA_REPRESENTATION); 
  2494.  
  2495.    XML_DATA_REPRESENTATION  : aliased constant DataRepresentationId_T := 
  2496.      DataRepresentationId_T (RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_XML_DATA_REPRESENTATION); 
  2497.  
  2498.    XCDR2_DATA_REPRESENTATION : aliased constant DataRepresentationId_T := 
  2499.      DataRepresentationId_T (RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_XCDR2_DATA_REPRESENTATION); 
  2500.  
  2501.    AUTO_DATA_REPRESENTATION : aliased constant DataRepresentationId_T := 
  2502.      DataRepresentationId_T (RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_XCDR2_DATA_REPRESENTATION); 
  2503.  
  2504.    type DataRepresentationId_T_Access is access all DataRepresentationId_T; 
  2505.    type DataRepresentationId_T_Array is array 
  2506.      (Natural range <>) of aliased DataRepresentationId_T; 
  2507.    procedure Initialize (Self : in out DataRepresentationId_T); 
  2508.    procedure Finalize   (Self : in out DataRepresentationId_T); 
  2509.    procedure Copy (Dst : in out DataRepresentationId_T; 
  2510.                    Src : in DataRepresentationId_T); 
  2511.  
  2512.    package DataRepresentationId_Seq is new DDS_Support.Sequences_Generic 
  2513.      (DataRepresentationId_T, 
  2514.       DataRepresentationId_T_Access, 
  2515.       DDS.Natural, 
  2516.       1, 
  2517.       DataRepresentationId_T_Array); 
  2518.    --  <dref>DataRepresentationIdSeq</dref> 
  2519.  
  2520.    type DataRepresentationQosPolicy is limited record 
  2521.       Value                : aliased DataRepresentationId_Seq.Sequence; 
  2522.       Compression_Settings : aliased CompressionSettings_T := COMPRESSION_SETTINGS_T_DEFAULT; 
  2523.    end record with Convention => C; 
  2524.    pragma Compile_Time_Error (DataRepresentationQosPolicy'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_DataRepresentationQosPolicy'Size, "DataRepresentationQosPolicy size missmatch."); 
  2525.  
  2526.    --  <dref>DataRepresentationQosPolicy</dref> 
  2527.    --  <dref name="Value">DataRepresentationQosPolicy_value</dref> 
  2528.    --  <dref name="Compression_Settings">DataRepresentationQosPolicy_compression_settings</dref> 
  2529.  
  2530.    function Contains 
  2531.      (Policy : in DataRepresentationQosPolicy; 
  2532.       Id     : in DataRepresentationId_T) return Standard.Boolean; 
  2533.    --  <dref internal="true">DataRepresentationQosPolicy_contains</dref> 
  2534.  
  2535.    function Equals 
  2536.      (Left, Right : in DataRepresentationQosPolicy) return Standard.Boolean; 
  2537.    --  <dref internal="true">DataRepresentationQosPolicy_equals</dref> 
  2538.  
  2539.    function "=" 
  2540.      (Left, Right : in DataRepresentationQosPolicy) return Standard.Boolean 
  2541.       renames Equals; 
  2542.    --  <dref internal="true">DataRepresentationQosPolicy_equals</dref> 
  2543.  
  2544.    function Get_Native_Encapsulation 
  2545.      (Id : in DataRepresentationId_T) return EncapsulationId_T; 
  2546.    pragma Import (C, Get_Native_Encapsulation, "DDS_DataRepresentationQosPolicy_getNativeEncapsulation"); 
  2547.    --  <dref>DataRepresentationQosPolicy_getNativeEncapsulation</dref> 
  2548.  
  2549.  
  2550.    --  -------------------------------------------------- 
  2551.    --                 TRANSPORT_SELECTION (eXtension QoS) 
  2552.    --  -------------------------------------------------- 
  2553.  
  2554.    TRANSPORTSELECTION_QOS_POLICY_NAME : constant DDS.String  := To_DDS_String ("TransportSelection"); 
  2555.    --  <defgroup>TransportSelectionQosGroupDocs</defgroup> 
  2556.    --  <dref>TRANSPORTSELECTION_QOS_POLICY_NAME</dref> 
  2557.  
  2558.    type TransportSelectionQosPolicy is record 
  2559.       Enabled_Transports : aliased DDS.String_Seq.Sequence := DDS.String_Seq.DEFAULT_SEQUENCE; 
  2560.    end record with Convention => C; 
  2561.    pragma Compile_Time_Error (TransportSelectionQosPolicy'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_TransportSelectionQosPolicy'Size, "TransportSelectionQosPolicy size missmatch."); 
  2562.  
  2563.    --  <dref>TransportSelectionQosPolicy</dref> 
  2564.    --  <dref name="Enabled_Transports">TransportSelectionQosPolicy_enabled_transports</dref> 
  2565.  
  2566.    TRANSPORT_SELECTION_QOS_POLICY_DEFAULT : constant TransportSelectionQosPolicy := (others => <>); 
  2567.  
  2568.  
  2569.    --  -------------------------------------------------- 
  2570.    --                 TRANSPORT_UNICAST (eXtension QoS) 
  2571.    --  -------------------------------------------------- 
  2572.  
  2573.    TRANSPORTUNICAST_QOS_POLICY_NAME : constant DDS.String := To_DDS_String ("TransportUnicast"); 
  2574.    --  <defgroup>TransportUnicastQosGroupDocs</defgroup> 
  2575.    --  <dref>TRANSPORTUNICAST_QOS_POLICY_NAME</dref> 
  2576.  
  2577.    type TransportUnicastQosPolicy is record 
  2578.       Value :  TransportUnicastSettings_Seq.Sequence; 
  2579.    end record with Convention => C; 
  2580.    pragma Compile_Time_Error (TransportUnicastQosPolicy'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_TransportUnicastQosPolicy'Size, "TransportUnicastQosPolicy size missmatch."); 
  2581.  
  2582.    --  <dref>TransportUnicastQosPolicy</dref> 
  2583.    --  <dref name="Value">TransportUnicastQosPolicy_value</dref> 
  2584.  
  2585.    TRANSPORT_UNICAST_QOS_POLICY_DEFAULT : constant TransportUnicastQosPolicy := (others => <>); 
  2586.  
  2587.    --  -------------------------------------------------- 
  2588.    --                 TRANSPORT_MULTICAST (eXtension QoS) 
  2589.    --  -------------------------------------------------- 
  2590.  
  2591.    TRANSPORTMULTICAST_QOS_POLICY_NAME : constant DDS.String := To_DDS_String ("TransportMulticast"); 
  2592.    --  <defgroup>TransportMulticastQosGroupDocs</defgroup> 
  2593.    --  <dref>TRANSPORTMULTICAST_QOS_POLICY_NAME</dref> 
  2594.  
  2595.    type TransportMulticastQosPolicyKind is new Unsigned_Long; 
  2596.    --  <dref>TransportMulticastQosPolicyKind</dref> 
  2597.  
  2598.    AUTOMATIC_TRANSPORT_MULTICAST_QOS : constant TransportMulticastQosPolicyKind := 0; 
  2599.    --  <dref>TransportMulticastQosPolicyKind_AUTOMATIC_TRANSPORT_MULTICAST_QOS</dref> 
  2600.  
  2601.    UNICAST_ONLY_TRANSPORT_MULTICAST_QOS : constant TransportMulticastQosPolicyKind := 1; 
  2602.    --  <dref>TransportMulticastQosPolicyKind_UNICAST_ONLY_TRANSPORT_MULTICAST_QOS</dref> 
  2603.  
  2604.  
  2605.    type TransportMulticastQosPolicy is record 
  2606.       Value : TransportMulticastSettings_Seq.Sequence := TransportMulticastSettings_Seq.DEFAULT_SEQUENCE; 
  2607.       Kind  : TransportMulticastQosPolicyKind := AUTOMATIC_TRANSPORT_MULTICAST_QOS; 
  2608.    end record with Convention => C; 
  2609.    pragma Compile_Time_Error (TransportMulticastQosPolicy'Size /= 
  2610.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_TransportMulticastQosPolicy'Size, 
  2611.                               "TransportMulticastQosPolicy size missmatch."); 
  2612.  
  2613.    --  <dref>TransportMulticastQosPolicy</dref> 
  2614.    --  <dref name="Value">TransportMulticastQosPolicy_value</dref> 
  2615.    --  <dref name="Kind">TransportMulticastQosPolicy_kind</dref> 
  2616.  
  2617.    --     TRANSPORT_MULTICAST_QOS_POLICY_DEFAULT : constant TransportMulticastQosPolicy := 
  2618.    --                                                (Value => TransportMulticastSettings_Seq.DEFAULT_SEQUENCE); 
  2619.    -- 
  2620.  
  2621.    --  ------------------------------------------------------ 
  2622.    --                 TRANSPORT_MULTICAST_MAPPING (eXtension QoS) 
  2623.    --  ------------------------------------------------------ 
  2624.  
  2625.    TRANSPORTMULTICASTMAPPING_QOS_POLICY_NAME : constant DDS.String := To_DDS_String ("TransportMulticastMapping"); 
  2626.    --  <defgroup>TransportMulticastMappingQosGroupDocs</defgroup> 
  2627.    --  <dref>TRANSPORTMULTICASTMAPPING_QOS_POLICY_NAME</dref> 
  2628.  
  2629.    type TransportMulticastMappingQosPolicy is record 
  2630.       Value : TransportMulticastMapping_Seq.Sequence; 
  2631.    end record with Convention => C; 
  2632.    pragma Compile_Time_Error (TransportMulticastMappingQosPolicy'Size /= 
  2633.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_TransportMulticastMappingQosPolicy'Size, 
  2634.                               "TransportMulticastMappingQosPolicy size missmatch."); 
  2635.  
  2636.    --  <dref>TransportMulticastMappingQosPolicy</dref> 
  2637.    --  <dref name="Value">TransportMulticastMappingQosPolicy_value</dref> 
  2638.  
  2639.    --  TRANSPORT_MULTICAST_MAPPING_QOS_POLICY_DEFAULT : constant TransportMulticastMappingQosPolicy := 
  2640.    --                                      (Value => TransportMulticastMapping_Seq.DEFAULT_SEQUENCE); 
  2641.  
  2642.  
  2643.    --  ------------------------------------------------------ 
  2644.    --                 TRANSPORT_ENCAPSULATION (eXtension QoS) 
  2645.    --  ------------------------------------------------------ 
  2646.  
  2647.    TRANSPORTENCAPSULATION_QOS_POLICY_NAME : constant DDS.String := To_DDS_String ("TransportEncapsulation"); 
  2648.    --  <defgroup internal="true">TransportEncapsulationQosGroupDocs</defgroup> 
  2649.    --  <dref internal="true">TRANSPORTENCAPSULATION_QOS_POLICY_NAME</dref> 
  2650.  
  2651.    type TransportEncapsulationQosPolicy is record 
  2652.       Value : aliased TransportEncapsulationSettings_Seq.Sequence; 
  2653.    end record with Convention => C; 
  2654.    pragma Compile_Time_Error (TransportEncapsulationQosPolicy'Size /= 
  2655.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_TransportEncapsulationQosPolicy'Size, 
  2656.                               "TransportEncapsulationQosPolicy size missmatch."); 
  2657.  
  2658.    --  <dref internal="true">TransportEncapsulationQosPolicy</dref> 
  2659.    --  <dref internal="true" name="Value">TransportEncapsulationQosPolicy_value</dref> 
  2660.  
  2661.    --     TRANSPORT_ENCAPSULATION_QOS_POLICY_DEFAULT : constant TransportEncapsulationQosPolicy := 
  2662.    --                   (Value => TransportEncapsulationSettings_Seq.DEFAULT_SEQUENCE); 
  2663.  
  2664.    --  ------------------------------------------------------ 
  2665.    --                 DISCOVERY (eXtension QoS) 
  2666.    --  ------------------------------------------------------ 
  2667.  
  2668.    DISCOVERY_QOS_POLICY_NAME : constant DDS.String := To_DDS_String ("Discovery"); 
  2669.    --  <defgroup>DiscoveryQosGroupDocs</defgroup> 
  2670.    --  <dref>DISCOVERY_QOS_POLICY_NAME</dref> 
  2671.    --  <defgroup>NDDS_DISCOVERY_PEERS</defgroup> 
  2672.  
  2673.    type DiscoveryQosPolicy is record 
  2674.       Enabled_Transports                          : aliased String_Seq.Sequence; 
  2675.       Initial_Peers                               : aliased String_Seq.Sequence; 
  2676.       Multicast_Receive_Addresses                 : aliased String_Seq.Sequence; 
  2677.       Metatraffic_Transport_Priority              : aliased Long := 0; 
  2678.       Accept_Unknown_Peers                        : aliased DDS.Boolean := True; 
  2679.       Enable_Endpoint_Discovery                   : aliased DDS.Boolean := True; 
  2680.    end record with 
  2681.      Convention => C; 
  2682.    pragma Compile_Time_Error (DiscoveryQosPolicy'Size /= 
  2683.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_DiscoveryQosPolicy'Size, 
  2684.                               "DiscoveryQosPolicy'Size Missmatch"); 
  2685.    --  <dref>DiscoveryQosPolicy</dref> 
  2686.    --  <dref name="Enabled_Transports">DiscoveryQosPolicy_enabled_transports</dref> 
  2687.    --  <dref name="Initial_Peers">DiscoveryQosPolicy_initial_peers</dref> 
  2688.    --  <dref name="Multicast_Receive_Addresses">DiscoveryQosPolicy_multicast_receive_addresses</dref> 
  2689.    --  <dref name="Metatraffic_Transport_Priority">DiscoveryQosPolicy_metatraffic_transport_priority</dref> 
  2690.    --  <dref name="Accept_Unknown_Peers">DiscoveryQosPolicy_accept_unknown_peers</dref> 
  2691.    --  <dref name="Enable_Endpoint_Discovery">DiscoveryQosPolicy_enable_endpoint_discovery</dref> 
  2692.  
  2693.    DISCOVERY_QOS_POLICY_DEFAULT : constant  DiscoveryQosPolicy := (others => <>); 
  2694.  
  2695.    --  ------------------------------------------------------ 
  2696.    --                 Discovery_ParticipantInformation 
  2697.    --  ------------------------------------------------------ 
  2698.  
  2699.    type Discovery_ParticipantInformation is record 
  2700.       Participant_Discovery_Id         : aliased Long := 0; 
  2701.       Participant_Discovery_Version    : aliased Long := 0; 
  2702.       Participant_Discovery_Vendor_Id  : aliased Long := 0; 
  2703.       Participant_Discovery_Parameters : aliased Octet_Seq.Sequence; 
  2704.    end record with 
  2705.      Convention => C; 
  2706.    pragma Compile_Time_Error (Discovery_ParticipantInformation'Size /= 
  2707.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_Discovery_ParticipantInformation'Size, 
  2708.                               "Discovery_ParticipantInformation'Size Missmatch"); 
  2709.    --  <dref internal="true">Discovery_ParticipantInformation</dref> 
  2710.    --  <dref internal="true" name="Participant_Discovery_Id">Discovery_ParticipantInformation_participant_discovery_id</dref> 
  2711.    --  <dref internal="true" name="Participant_Discovery_Version">Discovery_ParticipantInformation_participant_discovery_version</dref> 
  2712.    --  <dref internal="true" name="Participant_Discovery_Vendor_Id">Discovery_ParticipantInformation_participant_discovery_vendor_id</dref> 
  2713.    --  <dref internal="true" name="Participant_Discovery_Parameters">Discovery_ParticipantInformation_participant_parameters</dref> 
  2714.  
  2715.    type Discovery_ParticipantInformation_Access is access all Discovery_ParticipantInformation; 
  2716.    type Discovery_ParticipantInformation_Array is array 
  2717.      (Natural range <>) of aliased Discovery_ParticipantInformation; 
  2718.    procedure Initialize (Self  : in out Discovery_ParticipantInformation); 
  2719.    procedure Finalize (Self  : in out Discovery_ParticipantInformation); 
  2720.    procedure Copy (Dst : in out Discovery_ParticipantInformation; 
  2721.                    Src : in Discovery_ParticipantInformation); 
  2722.  
  2723.    package Discovery_ParticipantInformationSeq is new DDS_Support.Sequences_Generic 
  2724.      (Discovery_ParticipantInformation, 
  2725.       Discovery_ParticipantInformation_Access, 
  2726.       DDS.Natural, 
  2727.       1, 
  2728.       Discovery_ParticipantInformation_Array); 
  2729.    --  <dref internal="true">Discovery_ParticipantInformationSeq</dref> 
  2730.  
  2731.    --  ------------------------------------------------------ 
  2732.    --                 Discovery_EndpointInformation 
  2733.    --  ------------------------------------------------------ 
  2734.  
  2735.    type Discovery_EndpointInformation is record 
  2736.       Endpoint_Discovery_Id         : aliased Long := 0; 
  2737.       Endpoint_Discovery_Version    : aliased Long := 0; 
  2738.       Endpoint_Discovery_Vendor_Id  : aliased Long := 0; 
  2739.       Endpoint_Discovery_Parameters : aliased Octet_Seq.Sequence; 
  2740.    end record with Convention => C; 
  2741.    pragma Compile_Time_Error (Discovery_EndpointInformation'Size /= 
  2742.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_Discovery_EndpointInformation'Size, 
  2743.                               "Discovery_EndpointInformation size missmatch."); 
  2744.  
  2745.    --  <dref internal="true">Discovery_EndpointInformation</dref> 
  2746.    --  <dref internal="true" name="Endpoint_Discovery_Id">Discovery_EndpointInformation_participant_discovery_id</dref> 
  2747.    --  <dref internal="true" name="Endpoint_Discovery_Version">Discovery_EndpointInformation_participant_discovery_version</dref> 
  2748.    --  <dref internal="true" name="Endpoint_Discovery_Vendor_Id">Discovery_EndpointInformation_participant_discovery_vendor_id</dref> 
  2749.    --  <dref internal="true" name="Endpoint_Discovery_Parameters">Discovery_EndpointInformation_participant_parameters</dref> 
  2750.  
  2751.    type Discovery_EndpointInformation_Access is access all Discovery_EndpointInformation; 
  2752.    type Discovery_EndpointInformation_Array is array 
  2753.      (Natural range <>) of aliased Discovery_EndpointInformation; 
  2754.    procedure Initialize (Self  : in out Discovery_EndpointInformation); 
  2755.    procedure Finalize (Self  : in out Discovery_EndpointInformation); 
  2756.    procedure Copy (Dst : in out Discovery_EndpointInformation; 
  2757.                    Src : in Discovery_EndpointInformation); 
  2758.  
  2759.    package Discovery_EndpointInformationSeq is new DDS_Support.Sequences_Generic 
  2760.      (Discovery_EndpointInformation, 
  2761.       Discovery_EndpointInformation_Access, 
  2762.       DDS.Natural, 
  2763.       1, 
  2764.       Discovery_EndpointInformation_Array); 
  2765.    --  <dref internal="true">Discovery_EndpointInformationSeq</dref> 
  2766.  
  2767.    --  ------------------------------------------------------ 
  2768.    --                 TRANSPORTBUILTIN (eXtension QoS) 
  2769.    --  ------------------------------------------------------ 
  2770.  
  2771.    TRANSPORTBUILTIN_QOS_POLICY_NAME : constant DDS.String := To_DDS_String ("TransportBuiltin"); 
  2772.    --  <defgroup>TransportBuiltinQosGroupDocs</defgroup> 
  2773.    --  <dref>TRANSPORTBUILTIN_QOS_POLICY_NAME</dref> 
  2774.  
  2775.    type TransportBuiltinKind is new Unsigned_Long; 
  2776.    --  <dref>TransportBuiltinKind</dref> 
  2777.  
  2778.    TRANSPORTBUILTIN_UDPv4 : constant TransportBuiltinKind := 2 ** 0; 
  2779.    --  <dref>TransportBuiltinKind_TRANSPORTBUILTIN_UDPv4</dref> 
  2780.  
  2781.    TRANSPORTBUILTIN_SHMEM : constant TransportBuiltinKind := 2 ** 1; 
  2782.    --  <dref>TransportBuiltinKind_TRANSPORTBUILTIN_SHMEM</dref> 
  2783.  
  2784.    TRANSPORTBUILTIN_INTRA : constant TransportBuiltinKind := 2 ** 2; 
  2785.    --  <dref internal="true">TransportBuiltinKind_TRANSPORTBUILTIN_INTRA</dref> 
  2786.  
  2787.    TRANSPORTBUILTIN_UDPv6 : constant TransportBuiltinKind := 2 ** 3; 
  2788.    --  <dref>TransportBuiltinKind_TRANSPORTBUILTIN_UDPv6</dref> 
  2789.  
  2790.    TRANSPORTBUILTIN_INTRA_ALIAS : constant DDS.String := To_DDS_String ("builtin.intra"); 
  2791.    --  <dref internal="true">TransportBuiltinKind_INTRA_ALIAS</dref> 
  2792.  
  2793.    TRANSPORTBUILTIN_SHMEM_ALIAS : constant DDS.String := To_DDS_String ("builtin.shmem"); 
  2794.    --  <dref>TransportBuiltinKind_SHMEM_ALIAS</dref> 
  2795.  
  2796.  
  2797.    TRANSPORTBUILTIN_UDPv4_ALIAS : constant DDS.String := To_DDS_String ("builtin.udpv4"); 
  2798.    --  <dref>TransportBuiltinKind_UDPv4_ALIAS</dref> 
  2799.  
  2800.  
  2801.    TRANSPORTBUILTIN_UDPv6_ALIAS : constant DDS.String := To_DDS_String ("builtin.udpv"); 
  2802.    --  <dref>TransportBuiltinKind_UDPv6_ALIAS</dref> 
  2803.  
  2804.  
  2805.    subtype TransportBuiltinKindMask is TransportBuiltinKind; 
  2806.    --  <dref>TransportBuiltinKindMask</dref> 
  2807.  
  2808.    TRANSPORTBUILTIN_MASK_NONE : constant TransportBuiltinKindMask := 0; 
  2809.    --  <dref>TransportBuiltinKindMask_NONE</dref> 
  2810.  
  2811.    TRANSPORTBUILTIN_MASK_DEFAULT : constant TransportBuiltinKindMask := 
  2812.      (TRANSPORTBUILTIN_UDPv4 or TRANSPORTBUILTIN_SHMEM); 
  2813.    --  <dref>TransportBuiltinKindMask_DEFAULT</dref> 
  2814.  
  2815.    TRANSPORTBUILTIN_MASK_ALL  : constant TransportBuiltinKindMask := 16#FFFF_FFFF#; 
  2816.    --  <dref>TransportBuiltinKindMask_ALL</dref> 
  2817.  
  2818.    type TransportBuiltinQosPolicy is record 
  2819.       Mask : TransportBuiltinKindMask; 
  2820.    end record with Convention => C; 
  2821.    pragma Compile_Time_Error (TransportBuiltinQosPolicy'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_TransportBuiltinQosPolicy'Size, "TransportBuiltinQosPolicy size missmatch."); 
  2822.  
  2823.    --  <dref>TransportBuiltinQosPolicy</dref> 
  2824.    --  <dref name="Mask">TransportBuiltinQosPolicy_mask</dref> 
  2825.  
  2826.    TRANSPORT_BUILTIN_QOS_POLICY_DEFAULT : constant TransportBuiltinQosPolicy := 
  2827.      (Mask => TRANSPORTBUILTIN_MASK_DEFAULT); 
  2828.    --  <dref internal="true"></dref> 
  2829.  
  2830.    --  ------------------------------------------------------ 
  2831.    --                 WIRE_PROTOCOL (eXtension QoS) 
  2832.    --  ------------------------------------------------------ 
  2833.  
  2834.    type RtpsWellKnownPorts_T is record 
  2835.       Port_Base                     : aliased Long := 7400; 
  2836.       Domain_Id_Gain                : aliased Long := 10; 
  2837.       Participant_Id_Gain           : aliased Long := 1000; 
  2838.       Builtin_Multicast_Port_Offset : aliased Long := 2; 
  2839.       Builtin_Unicast_Port_Offset   : aliased Long := 0; 
  2840.       User_Multicast_Port_Offset    : aliased Long := 1; 
  2841.       User_Unicast_Port_Offset      : aliased Long := 3; 
  2842.    end record with 
  2843.      Convention => C; 
  2844.    pragma Compile_Time_Error (RtpsWellKnownPorts_T'Size /= 
  2845.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_RtpsWellKnownPorts_t'Size, 
  2846.                               "RtpsWellKnownPorts_T size missmatch."); 
  2847.  
  2848.    --  <defgroup>WireProtocolQosGroupDocs</defgroup> 
  2849.    --  <dref>RtpsWellKnownPorts_t</dref> 
  2850.    --  <dref name="Port_Base">RtpsWellKnownPorts_t_port_base</dref> 
  2851.    --  <dref name="Domain_Id_Gain">RtpsWellKnownPorts_t_domain_id_gain</dref> 
  2852.    --  <dref name="Participant_Id_Gain">RtpsWellKnownPorts_t_participant_id_gain</dref> 
  2853.    --  <dref name="Builtin_Multicast_Port_Offset">RtpsWellKnownPorts_t_builtin_multicast_port_offset</dref> 
  2854.    --  <dref name="Builtin_Unicast_Port_Offset">RtpsWellKnownPorts_t_builtin_unicast_port_offset</dref> 
  2855.    --  <dref name="User_Multicast_Port_Offset">RtpsWellKnownPorts_t_user_multicast_port_offset</dref> 
  2856.    --  <dref name="User_Unicast_Port_Offset">RtpsWellKnownPorts_t_user_unicast_port_offset</dref> 
  2857.  
  2858.    RTI_BACKWARDS_COMPATIBLE_RTPS_WELL_KNOWN_PORTS : constant RtpsWellKnownPorts_T :=  (others => <>); 
  2859.    INTEROPERABLE_RTPS_WELL_KNOWN_PORTS : constant RtpsWellKnownPorts_T 
  2860.      := (Domain_Id_Gain                =>  250, 
  2861.          Builtin_Unicast_Port_Offset   =>  10, 
  2862.          User_Unicast_Port_Offset      =>  11, 
  2863.          others                        => <>); 
  2864.    --  <dref>INTEROPERABLE_RTPS_WELL_KNOWN_PORTS</dref> 
  2865.  
  2866.  
  2867.    RTPS_WELL_KNOWN_PORTS_DEFAULT : constant RtpsWellKnownPorts_T := (others => <>); 
  2868.    --  <dref internal="true"></dref> 
  2869.  
  2870.    type RtpsReservedPortKind is new Unsigned_Long; 
  2871.    --  <dref>RtpsReservedPortKind</dref> 
  2872.  
  2873.    RTPS_RESERVED_PORT_BUILTIN_UNICAST   : constant RtpsReservedPortKind := 2#0001#; 
  2874.    --  <dref>RtpsReservedPortKind_BUILTIN_UNICAST</dref> 
  2875.  
  2876.    RTPS_RESERVED_PORT_BUILTIN_MULTICAST : constant RtpsReservedPortKind := 2#0010#; 
  2877.    --  <dref>RtpsReservedPortKind_BUILTIN_MULTICAST</dref> 
  2878.  
  2879.    RTPS_RESERVED_PORT_USER_UNICAST      : constant RtpsReservedPortKind := 2#0100#; 
  2880.    --  <dref>RtpsReservedPortKind_USER_UNICAST</dref> 
  2881.  
  2882.    RTPS_RESERVED_PORT_USER_MULTICAST    : constant RtpsReservedPortKind := 2#1000#; 
  2883.    --  <dref>RtpsReservedPortKind_USER_MULTICAST</dref> 
  2884.  
  2885.    subtype RtpsReservedPortKindMask is RtpsReservedPortKind; 
  2886.    --  <dref>RtpsReservedPortKindMask</dref> 
  2887.  
  2888.    RTPS_RESERVED_PORT_MASK_DEFAULT : constant RtpsReservedPortKindMask := 
  2889.      (RTPS_RESERVED_PORT_BUILTIN_UNICAST or RTPS_RESERVED_PORT_BUILTIN_MULTICAST or 
  2890.         RTPS_RESERVED_PORT_USER_UNICAST); 
  2891.    --  <dref>RTPS_RESERVED_PORT_MASK_DEFAULT</dref> 
  2892.  
  2893.    RTPS_RESERVED_PORT_MASK_NONE  : constant RtpsReservedPortKindMask := 0; 
  2894.    --  <dref>RTPS_RESERVED_PORT_MASK_NONE</dref> 
  2895.  
  2896.    RTPS_RESERVED_PORT_MASK_ALL   : constant RtpsReservedPortKindMask := 16#FFFF_FFFF#; 
  2897.    --  <dref>RTPS_RESERVED_PORT_MASK_ALL</dref> 
  2898.  
  2899.    WIREPROTOCOL_QOS_POLICY_NAME  : constant DDS.String := To_DDS_String ("WireProtocol"); 
  2900.    --  <dref>WIREPROTOCOL_QOS_POLICY_NAME</dref> 
  2901.  
  2902.  
  2903.    type WireProtocolQosPolicyAutoKind is new Unsigned_Long; 
  2904.    --  <dref>WireProtocolQosPolicyAutoKind</dref> 
  2905.  
  2906.    RTPS_AUTO_ID_FROM_IP : constant WireProtocolQosPolicyAutoKind := 0; 
  2907.    --  <dref>WireProtocolQosPolicyAutoKind_RTPS_AUTO_ID_FROM_IP</dref> 
  2908.  
  2909.    RTPS_AUTO_ID_FROM_MAC : constant WireProtocolQosPolicyAutoKind := 1; 
  2910.    --  <dref>WireProtocolQosPolicyAutoKind_RTPS_AUTO_ID_FROM_MAC</dref> 
  2911.  
  2912.    RTPS_AUTO_ID_FROM_UUID : constant WireProtocolQosPolicyAutoKind := 2; 
  2913.    --  <dref>WireProtocolQosPolicyAutoKind_RTPS_AUTO_ID_FROM_UUID</dref> 
  2914.  
  2915.    RTPS_AUTO_ID    : constant Unsigned_Long := 0; 
  2916.  
  2917.    type WireProtocolQosPolicy is record 
  2918.       Participant_Id          : aliased Long := -1; 
  2919.       Rtps_Host_Id            : aliased Unsigned_Long := RTPS_AUTO_ID; 
  2920.       Rtps_App_Id             : aliased Unsigned_Long := RTPS_AUTO_ID; 
  2921.       Rtps_Instance_Id        : aliased Unsigned_Long := RTPS_AUTO_ID; 
  2922.       Rtps_Well_Known_Ports   : aliased RtpsWellKnownPorts_T := RTPS_WELL_KNOWN_PORTS_DEFAULT; 
  2923.       Rtps_Reserved_Port_Mask : aliased Long := 0; 
  2924.       Rtps_Auto_Id_Kind       : aliased WireProtocolQosPolicyAutoKind := RTPS_AUTO_ID_FROM_UUID; 
  2925.       Compute_Crc             : aliased Boolean := False; 
  2926.       Check_Crc               : aliased Boolean := False; 
  2927.    end record with Convention => C; 
  2928.    pragma Compile_Time_Error (WireProtocolQosPolicy'Size /= 
  2929.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_WireProtocolQosPolicy'Size, 
  2930.                               "WireProtocolQosPolicy size missmatch."); 
  2931.  
  2932.    --  <dref>WireProtocolQosPolicy</dref> 
  2933.    --  <dref name="Participant_Id">WireProtocolQosPolicy_participant_id</dref> 
  2934.    --  <dref name="Rtps_Host_Id">WireProtocolQosPolicy_rtps_host_id</dref> 
  2935.    --  <dref name="Rtps_App_Id">WireProtocolQosPolicy_rtps_app_id</dref> 
  2936.    --  <dref name="Rtps_Instance_Id">WireProtocolQosPolicy_rtps_instance_id</dref> 
  2937.    --  <dref name="Rtps_Well_Known_Ports">WireProtocolQosPolicy_rtps_well_known_ports</dref> 
  2938.    --  <dref name="rtps_reserved_port_mask">WireProtocolQosPolicy_rtps_reserved_port_mask</dref> 
  2939.    --  <dref name="rtps_auto_id_kind">WireProtocolQosPolicy_rtps_auto_id_kind</dref> 
  2940.  
  2941.    --  <dref>WireProtocolQosPolicy_RTPS_AUTO_ID</dref> 
  2942.  
  2943.    WIRE_PROTOCOL_QOS_POLICY_DEFAULT : constant WireProtocolQosPolicy := (others => <>); 
  2944.    --  <dref internal="true"></dref> 
  2945.  
  2946.    --  ------------------------------------------------------ 
  2947.    --                 Locator_t 
  2948.    --  ------------------------------------------------------ 
  2949.  
  2950.    LOCATOR_ADDRESS_LENGTH_MAX  : constant Unsigned_Long := 16; 
  2951.    --  <dref>Locator_t_ADDRESS_LENGTH_MAX</dref> 
  2952.  
  2953.    type Locator_Address_Array_T is array (0 .. LOCATOR_ADDRESS_LENGTH_MAX - 1) of Octet; 
  2954.  
  2955.    type Locator_T is record 
  2956.       Kind           : aliased Long := 0; 
  2957.       Port           : aliased Unsigned_Long := 0; 
  2958.       Address        : aliased Locator_Address_Array_T := (others => 0); 
  2959.       Encapsulations : aliased EncapsulationId_Seq.Sequence; 
  2960.    end record with 
  2961.      Convention => C; 
  2962.    pragma Compile_Time_Error (Locator_T'Size /= 
  2963.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_Locator_t'Size, 
  2964.                               "Locator_T size missmatch."); 
  2965.    --  <dref>Locator_t</dref> 
  2966.    --  <dref name="Kind">Locator_t_kind</dref> 
  2967.    --  <dref name="Port">Locator_t_port</dref> 
  2968.    --  <dref name="Address">Locator_t_address</dref> 
  2969.    --  <dref internal="true" name="Encapsulations">Locator_t_encapsulations</dref> 
  2970.  
  2971.    type Locator_T_Access is access all Locator_T; 
  2972.    type Locator_T_Array is array (Natural range <>) of aliased Locator_T; 
  2973.    procedure Initialize (Self  : in out Locator_T); 
  2974.    procedure Finalize (Self  : in out Locator_T); 
  2975.    procedure Copy (Dst : in out Locator_T; Src : in Locator_T); 
  2976.  
  2977.    package Locator_Seq is new DDS_Support.Sequences_Generic 
  2978.      (Locator_T, 
  2979.       Locator_T_Access, 
  2980.       DDS.Natural, 
  2981.       1, 
  2982.       Locator_T_Array); 
  2983.    --  <dref>LocatorSeq</dref> 
  2984.  
  2985.    LOCATOR_INVALID : constant Locator_T := 
  2986.      (Kind           => -1, 
  2987.       Port           => 0, 
  2988.       Address        => (others => 00), 
  2989.       Encapsulations => EncapsulationId_Seq.DEFAULT_SEQUENCE); 
  2990.    --  <dref>Locator_t_INVALID</dref> 
  2991.  
  2992.    LOCATOR_KIND_INVALID : constant Long := -1; 
  2993.    --  <dref>Locator_t_KIND_INVALID</dref> 
  2994.  
  2995.    LOCATOR_PORT_INVALID : constant Unsigned_Long := 0; 
  2996.    --  <dref>Locator_t_PORT_INVALID</dref> 
  2997.  
  2998.    LOCATOR_ADDRESS_INVALID : constant Locator_Address_Array_T := (others => 0); 
  2999.    --  <dref>Locator_t_ADDRESS_INVALID</dref> 
  3000.  
  3001.    LOCATOR_KIND_ANY : constant Long := 0; 
  3002.    --  <dref internal="true">Locator_t_KIND_ANY</dref> 
  3003.  
  3004.    LOCATOR_KIND_UDPv4 : constant Long := 1; 
  3005.    --  <dref>Locator_t_KIND_UDPv4</dref> 
  3006.  
  3007.  
  3008.    LOCATOR_KIND_SHMEM  : constant Long := 2; 
  3009.    --  <dref>Locator_t_KIND_SHMEM</dref> 
  3010.  
  3011.    LOCATOR_KIND_INTRA  : constant Long := 3; 
  3012.    --  <dref internal="true">Locator_t_KIND_INTRA</dref> 
  3013.  
  3014.    LOCATOR_KIND_UDPv6 : constant Long := 5; 
  3015.    --  <dref>Locator_t_KIND_UDPv6</dref> 
  3016.  
  3017.    LOCATOR_KIND_DTLS : constant Long := 6; 
  3018.    --  <dref internal="true">Locator_t_KIND_DTLS</dref> 
  3019.  
  3020.    LOCATOR_KIND_WAN : constant Long := 7; 
  3021.    --  <dref internal="true">Locator_t_KIND_WAN</dref> 
  3022.  
  3023.    LOCATOR_KIND_TCPV4_LAN : constant Long := 8; 
  3024.    --  <dref internal="true">Locator_t_KIND_TCPV4_LAN</dref> 
  3025.  
  3026.    LOCATOR_KIND_TCPV4_WAN : constant Long := 9; 
  3027.    --  <dref internal="true">Locator_t_KIND_TCPV4_WAN</dref> 
  3028.  
  3029.    LOCATOR_KIND_TLSV4_LAN : constant Long := 10; 
  3030.    --  <dref internal="true">Locator_t_KIND_TLSV4_LAN</dref> 
  3031.  
  3032.    LOCATOR_KIND_TLSV4_WAN : constant Long := 11; 
  3033.    --  <dref internal="true">Locator_t_KIND_TLSV4_WAN</dref> 
  3034.  
  3035.    LOCATOR_KIND_RESERVED : constant Long := 1000; 
  3036.    --  <dref internal>Locator_t_KIND_RESERVED</dref> 
  3037.  
  3038.    --  ------------------------------------------------------ 
  3039.    --                 ProtocolVersion_t 
  3040.    --  ------------------------------------------------------ 
  3041.  
  3042.    type ProtocolVersion_T  is record 
  3043.       Major : aliased Octet := 0; 
  3044.       Minor : aliased Octet := 0; 
  3045.    end record with 
  3046.      Convention => C; 
  3047.    pragma Compile_Time_Error (ProtocolVersion_T'Size /= 
  3048.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_ProtocolVersion_t'Size, 
  3049.                               "ProtocolVersion_T'size missmatch."); 
  3050.    --  <dref>ProtocolVersion_t</dref> 
  3051.    --  <dref name="Major">ProtocolVersion_t_major</dref> 
  3052.    --  <dref name="Minor">ProtocolVersion_t_minor</dref> 
  3053.  
  3054.    PROTOCOL_VERSION_DEFAULT : constant ProtocolVersion_T :=  (others => <>); 
  3055.    --  <dref internal="true"></dref> 
  3056.  
  3057.    PROTOCOLVERSION_1_0      : constant ProtocolVersion_T := 
  3058.      (Major => 1, 
  3059.       Minor => 0); 
  3060.    --  <dref>ProtocolVersion_t_PROTOCOLVERSION_1_0</dref> 
  3061.  
  3062.    PROTOCOLVERSION_1_1      : constant ProtocolVersion_T := 
  3063.      (Major => 1, 
  3064.       Minor => 1); 
  3065.    --  <dref>ProtocolVersion_t_PROTOCOLVERSION_1_1</dref> 
  3066.  
  3067.    PROTOCOLVERSION_1_2      : constant ProtocolVersion_T := 
  3068.      (Major => 1, 
  3069.       Minor => 2); 
  3070.    --  <dref>ProtocolVersion_t_PROTOCOLVERSION_1_2</dref> 
  3071.  
  3072.    PROTOCOLVERSION_2_0      : constant ProtocolVersion_T := 
  3073.      (Major => 2, 
  3074.       Minor => 0); 
  3075.    --  <dref>ProtocolVersion_t_PROTOCOLVERSION_2_0</dref> 
  3076.  
  3077.    PROTOCOLVERSION_2_1      : constant ProtocolVersion_T := 
  3078.      (Major => 2, 
  3079.       Minor => 1); 
  3080.    --  <dref>ProtocolVersion_t_PROTOCOLVERSION_2_1</dref> 
  3081.  
  3082.    PROTOCOLVERSION          : constant ProtocolVersion_T := 
  3083.      (Major => 2, 
  3084.       Minor => 1); 
  3085.    --  <dref>ProtocolVersion_t_PROTOCOLVERSION</dref> 
  3086.  
  3087.    --  ------------------------------------------------------ 
  3088.    --                 Version_t 
  3089.    --  ------------------------------------------------------ 
  3090.  
  3091.    VENDOR_ID_LENGTH_MAX     : constant := 2; 
  3092.    --  <dref>VendorId_t_LENGTH_MAX</dref> 
  3093.  
  3094.    type VendorId_Array_T is array (0 .. VENDOR_ID_LENGTH_MAX - 1) of Octet; 
  3095.  
  3096.    type VendorId_T is record 
  3097.       VendorId : aliased VendorId_Array_T := (others => 0); 
  3098.    end record with 
  3099.      Convention => C; 
  3100.    pragma Compile_Time_Error (VendorId_T'Size /= 
  3101.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_VendorId_t'Size, 
  3102.                               "VendorId_T'size missmatch."); 
  3103.  
  3104.    --  <dref>VendorId_t</dref> 
  3105.    --  <dref name="VendorId">VendorId_t_vendorId</dref> 
  3106.  
  3107.    VENDOR_ID_DEFAULT : constant  VendorId_T := (VendorId => (0, 0)); 
  3108.    --  <dref internal="true"></dref> 
  3109.  
  3110.    VENDORID_UNKNOWN  : constant  VendorId_T := (VendorId => (0, 0)); 
  3111.    --  <dref internal="true"></dref> 
  3112.  
  3113.    --  ------------------------------------------------------ 
  3114.    --                 ProductVersion_t 
  3115.    --  ------------------------------------------------------ 
  3116.  
  3117.    type ProductVersion_T is record 
  3118.       Major    : aliased Char := Char (ASCII.NUL); 
  3119.       Minor    : aliased Char := Char (ASCII.NUL); 
  3120.       Release  : aliased Char := '0'; 
  3121.       Revision : aliased Char := Char (ASCII.NUL); 
  3122.    end record with 
  3123.      Convention => C; 
  3124.    pragma Compile_Time_Error (ProductVersion_T'Size /= 
  3125.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_ProductVersion_t'Size, 
  3126.                               "ProductVersion_T'size missmatch."); 
  3127.  
  3128.    --  <dref>ProductVersion_t</dref> 
  3129.    --  <dref name="Major">ProductVersion_t_major</dref> 
  3130.    --  <dref name="Minor">ProductVersion_t_minor</dref> 
  3131.    --  <dref name="Release">ProductVersion_t_release</dref> 
  3132.    --  <dref name="Revision">ProductVersion_t_revision</dref> 
  3133.  
  3134.    PRODUCTVERSION_UNKNOWN : constant ProductVersion_T := (others => <>); 
  3135.    --  <dref>ProductVersion_t_UNKNOWN</dref> 
  3136.  
  3137.    --  ---------------------------------------------------------- 
  3138.    --                 DataReaderResourceLimitsInstanceReplacementSettings 
  3139.    --  ---------------------------------------------------------- 
  3140.  
  3141.    type DataReaderResourceLimitsInstanceReplacementSettings is record 
  3142.       Alive_Instance_Removal      : aliased Unsigned_Long := 0; 
  3143.       Disposed_Instance_Removal   : aliased Unsigned_Long := 0; 
  3144.       No_Writers_Instance_Removal : aliased Unsigned_Long := 1; 
  3145.    end record with 
  3146.      Convention => C; 
  3147.    pragma Compile_Time_Error (DataReaderResourceLimitsInstanceReplacementSettings'Size /= 
  3148.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_DataReaderResourceLimitsInstanceReplacementSettings'Size, 
  3149.                               "DataReaderResourceLimitsInstanceReplacementSettings'size missmatch."); 
  3150.    --  <dref>DataReaderResourceLimitsInstanceReplacementSettings</dref> 
  3151.    --  <dref name="Alive_Instance_Removal">DataReaderResourceLimitsInstanceReplacementSettings_alive_instance_removal</dref> 
  3152.    --  <dref name="Disposed_Instance_Removal">DataReaderResourceLimitsInstanceReplacementSettings_disposed_instance_removal</dref> 
  3153.    --  <dref name="No_Writers_Instance_Removal">DataReaderResourceLimitsInstanceReplacementSettings_no_writers_instance_removal</dref> 
  3154.  
  3155.    DATAREADER_RESOURCELIMITS_INSTANCEREPLACEMENT_SETTINGS_DEFAULT : constant 
  3156.      DataReaderResourceLimitsInstanceReplacementSettings :=  (others => <>); 
  3157.  
  3158.    --  ---------------------------------------------------------- 
  3159.    --                 DATA_READER_RESOURCE_LIMITS (eXtension QoS) 
  3160.    --  ---------------------------------------------------------- 
  3161.  
  3162.    DATAREADERRESOURCELIMITS_QOS_POLICY_NAME : constant DDS.String := To_DDS_String ("DataReaderResourceLimits"); 
  3163.    --  <defgroup>DataReaderResourceLimitsQosGroupDocs</defgroup> 
  3164.    --  <dref>DATAREADERRESOURCELIMITS_QOS_POLICY_NAME</dref> 
  3165.  
  3166.    type DataReaderResourceLimitsQosPolicy is record 
  3167.       Max_Remote_Writers                                  : aliased Long := -1; 
  3168.       Max_Remote_Writers_Per_Instance                     : aliased Long := -1; 
  3169.       Max_Samples_Per_Remote_Writer                       : aliased Long := -1; 
  3170.       Max_Infos                                           : aliased Long := -1; 
  3171.       Initial_Remote_Writers                              : aliased Long := 2; 
  3172.       Initial_Remote_Writers_Per_Instance                 : aliased Long := 2; 
  3173.       Initial_Infos                                       : aliased Long := 32; 
  3174.       Initial_Outstanding_Reads                           : aliased Long := 2; 
  3175.       Max_Outstanding_Reads                               : aliased Long := -1; 
  3176.       Max_Samples_Per_Read                                : aliased Long := 1024; 
  3177.       Disable_Fragmentation_Support                       : aliased DDS.Boolean := False; 
  3178.       Max_Fragmented_Samples                              : aliased Long := 1024; 
  3179.       Initial_Fragmented_Samples                          : aliased Long := 4; 
  3180.       Max_Fragmented_Samples_Per_Remote_Writer            : aliased Long := 256; 
  3181.       Max_Fragments_Per_Sample                            : aliased Long := 512; 
  3182.       Dynamically_Allocate_Fragmented_Samples             : aliased DDS.Boolean := False; 
  3183.       Max_Total_Instances                                 : aliased Long := 32; 
  3184.       Max_Remote_Virtual_Writers                          : aliased Long := -1; 
  3185.       Initial_Remote_Virtual_Writers                      : aliased Long := 2; 
  3186.       Max_Remote_Virtual_Writers_Per_Instance             : aliased Long := -1; 
  3187.       Initial_Remote_Virtual_Writers_Per_Instance         : aliased Long := 2; 
  3188.       Max_Remote_Writers_Per_Sample                       : aliased Long := 3; 
  3189.       Max_Query_Condition_Filters                         : aliased Long := 4; 
  3190.       Max_App_Ack_Response_Length                         : aliased Long := 1; 
  3191.       Keep_Minimum_State_For_Instances                    : aliased DDS.Boolean := True; 
  3192.       Initial_Topic_Queries                               : aliased Long := 1; 
  3193.       Max_Topic_Queries                                   : aliased Long := -1; 
  3194.       Shmem_Ref_Transfer_Mode_Attached_Segment_Allocation : aliased AllocationSettings_T := AllocationSettings_T_AUTO; 
  3195.       Instance_Replacement                                : aliased DataReaderResourceLimitsInstanceReplacementSettings := DATAREADER_RESOURCELIMITS_INSTANCEREPLACEMENT_SETTINGS_DEFAULT; 
  3196.       Autopurge_Remote_Not_Alive_Writer_Delay             : aliased Duration_T := DURATION_AUTO; 
  3197.       Autopurge_Remote_Virtual_Writer_Delay               : aliased Duration_T := DURATION_INFINITE; 
  3198.    end record with Convention => C; 
  3199.    pragma Compile_Time_Error (DataReaderResourceLimitsQosPolicy'Size /= 
  3200.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_DataReaderResourceLimitsQosPolicy'Size, 
  3201.                               "DataReaderResourceLimitsQosPolicy size missmatch."); 
  3202.  
  3203.    --  <dref>DataReaderResourceLimitsQosPolicy</dref> 
  3204.    --  <dref name="Max_Remote_Writers">DataReaderResourceLimitsQosPolicy_max_remote_writers</dref> 
  3205.    --  <dref name="Max_Remote_Writers_Per_Instance">DataReaderResourceLimitsQosPolicy_max_remote_writers_per_instance</dref> 
  3206.    --  <dref name="Max_Samples_Per_Remote_Writer">DataReaderResourceLimitsQosPolicy_max_samples_per_remote_writer</dref> 
  3207.    --  <dref name="Max_Infos">DataReaderResourceLimitsQosPolicy_max_infos</dref> 
  3208.    --  <dref name="Initial_Remote_Writers">DataReaderResourceLimitsQosPolicy_initial_remote_writers</dref> 
  3209.    --  <dref name="Initial_Remote_Writers_Per_Instance">DataReaderResourceLimitsQosPolicy_initial_remote_writers_per_instance</dref> 
  3210.    --  <dref name="Initial_Infos">DataReaderResourceLimitsQosPolicy_initial_infos</dref> 
  3211.    --  <dref name="Initial_Outstanding_Reads">DataReaderResourceLimitsQosPolicy_initial_outstanding_reads</dref> 
  3212.    --  <dref name="Max_Outstanding_Reads">DataReaderResourceLimitsQosPolicy_max_outstanding_reads</dref> 
  3213.    --  <dref name="Max_Samples_Per_Read">DataReaderResourceLimitsQosPolicy_max_samples_per_read</dref> 
  3214.    --  <dref name="Disable_Fragmentation_Support">DataReaderResourceLimitsQosPolicy_disable_fragmentation_support</dref> 
  3215.    --  <dref name="Max_Fragmented_Samples">DataReaderResourceLimitsQosPolicy_max_fragmented_samples</dref> 
  3216.    --  <dref name="Initial_Fragmented_Samples">DataReaderResourceLimitsQosPolicy_initial_fragmented_samples</dref> 
  3217.    --  <dref name="Max_Fragmented_Samples_Per_Remote_Writer">DataReaderResourceLimitsQosPolicy_max_fragmented_samples_per_remote_writer</dref> 
  3218.    --  <dref name="Max_Fragments_Per_Samples">DataReaderResourceLimitsQosPolicy_max_fragments_per_sample</dref> 
  3219.    --  <dref name="Dynamically_Allocate_Fragmented_Samples">DataReaderResourceLimitsQosPolicy_dynamically_allocate_fragmented_samples</dref> 
  3220.    --  <dref name="Max_Total_Instances">DataReaderResourceLimitsQosPolicy_max_total_instances</dref> 
  3221.    --  <dref name="Max_Remote_Virtual_Writers">DataReaderResourceLimitsQosPolicy_max_remote_virtual_writers</dref> 
  3222.    --  <dref name="Initial_Remote_Virtual_Writers">DataReaderResourceLimitsQosPolicy_initial_remote_virtual_writers</dref> 
  3223.    --  <dref name="Max_Remote_Virtual_Writers_Per_Instance">DataReaderResourceLimitsQosPolicy_max_remote_virtual_writers_per_instance</dref> 
  3224.    --  <dref name="Initial_Remote_Virtual_Writers_Per_Instance">DataReaderResourceLimitsQosPolicy_initial_remote_virtual_writers_per_instance</dref> 
  3225.    --  <dref name="Max_Remote_Writers_Per_Sample">DataReaderResourceLimitsQosPolicy_max_remote_writers_per_sample</dref> 
  3226.    --  <dref name="Max_Query_Condition_Filters">DataReaderResourceLimitsQosPolicy_max_query_condition_filters</dref> 
  3227.    --  <dref name="Max_App_Ack_Response_Length">DataReaderResourceLimitsQosPolicy_max_app_ack_response_length</dref> 
  3228.    --  <dref name="Keep_Minimum_State_For_Instances">DataReaderResourceLimitsQosPolicy_keep_minimum_state_for_instances</dref> 
  3229.    --  <dref internal="true" name="Initial_Topic_Queries">DataReaderResourceLimitsQosPolicy_initial_topic_queries</dref> 
  3230.    --  <dref internal="true" name="Max_Topic_Queries">DataReaderResourceLimitsQosPolicy_max_topic_queries</dref> 
  3231.    --  <dref internal="true" name="Shmem_Ref_Transfer_Mode_Attached_Segment_Allocation">DataReaderResourceLimitsQosPolicy_shmem_ref_transfer_mode_attached_segment_allocation</dref> 
  3232.    --  <dref internal="true" name="Instance_Replacement">DataReaderResourceLimitsQosPolicy_instance_replacement</dref> 
  3233.    --  <dref internal="true" name="Autopurge_Remote_Not_Alive_Writer_Delay">DataReaderResourceLimitsQosPolicy_autopurge_remote_not_alive_writer_delay</dref> 
  3234.    --  <dref internal="true" name="Autopurge_Remote_Virtual_Writer_Delay">DataReaderResourceLimitsQosPolicy_autopurge_remote_virtual_writer_delay</dref> 
  3235.  
  3236.    AUTO_MAX_TOTAL_INSTANCES : constant Long := 0; 
  3237.    --  <dref>AUTO_MAX_TOTAL_INSTANCES</dref> 
  3238.  
  3239.    DATA_READER_RESOURCE_LIMITS_QOS_POLICY_DEFAULT :   constant DataReaderResourceLimitsQosPolicy := (others => <>); 
  3240.  
  3241.    --  ---------------------------------------------------------- 
  3242.    --                 DATA_WRITER_RESOURCE_LIMITS (eXtension QoS) 
  3243.    --  ---------------------------------------------------------- 
  3244.  
  3245.    DATAWRITERRESOURCELIMITS_QOS_POLICY_NAME       : constant DDS.String := To_DDS_String ("DataWriterResourceLimits"); 
  3246.    --  <defgroup>DataWriterResourceLimitsQosGroupDocs</defgroup> 
  3247.    --  <dref>DATAWRITERRESOURCELIMITS_QOS_POLICY_NAME</dref> 
  3248.  
  3249.    type DataWriterResourceLimitsInstanceReplacementKind is new Unsigned_Long; 
  3250.    --  <dref>DataWriterResourceLimitsInstanceReplacementKind</dref> 
  3251.  
  3252.    UNREGISTERED_INSTANCE_REPLACEMENT : constant DataWriterResourceLimitsInstanceReplacementKind := 0; 
  3253.    --  <dref>DataWriterResourceLimitsInstanceReplacementKind_UNREGISTERED_INSTANCE_REPLACEMENT</dref> 
  3254.  
  3255.    ALIVE_INSTANCE_REPLACEMENT : constant DataWriterResourceLimitsInstanceReplacementKind := 1; 
  3256.    --  <dref>DataWriterResourceLimitsInstanceReplacementKind_ALIVE_INSTANCE_REPLACEMENT</dref> 
  3257.  
  3258.    DISPOSED_INSTANCE_REPLACEMENT : constant DataWriterResourceLimitsInstanceReplacementKind := 2; 
  3259.    --  <dref>DataWriterResourceLimitsInstanceReplacementKind_DISPOSED_INSTANCE_REPLACEMENT</dref> 
  3260.  
  3261.    ALIVE_THEN_DISPOSED_INSTANCE_REPLACEMENT : constant DataWriterResourceLimitsInstanceReplacementKind := 3; 
  3262.    --  <dref>DataWriterResourceLimitsInstanceReplacementKind_ALIVE_THEN_DISPOSED_INSTANCE_REPLACEMENT</dref> 
  3263.  
  3264.    DISPOSED_THEN_ALIVE_INSTANCE_REPLACEMENT : constant DataWriterResourceLimitsInstanceReplacementKind := 4; 
  3265.    --  <dref>DataWriterResourceLimitsInstanceReplacementKind_DISPOSED_THEN_ALIVE_INSTANCE_REPLACEMENT</dref> 
  3266.  
  3267.    ALIVE_OR_DISPOSED_INSTANCE_REPLACEMENT : constant DataWriterResourceLimitsInstanceReplacementKind := 5; 
  3268.    --  <dref>DataWriterResourceLimitsInstanceReplacementKind_ALIVE_OR_DISPOSED_INSTANCE_REPLACEMENT</dref> 
  3269.  
  3270.    type DataWriterResourceLimitsQosPolicy is record 
  3271.       Initial_Concurrent_Blocking_Threads : aliased DDS.Long := 1; 
  3272.       Max_Concurrent_Blocking_Threads     : aliased DDS.Long := -1; 
  3273.       Max_Remote_Reader_Filters           : aliased DDS.Long := 32; 
  3274.       Initial_Batches                     : aliased DDS.Long := 8; 
  3275.       Max_Batches                         : aliased DDS.Long := -1; 
  3276.       Cookie_Max_Length                   : aliased DDS.Long := -1; 
  3277.       Instance_Replacement                : aliased DataWriterResourceLimitsInstanceReplacementKind := UNREGISTERED_INSTANCE_REPLACEMENT; 
  3278.       Replace_Empty_Instances             : aliased DDS.Boolean := False; 
  3279.       Autoregister_Instances              : aliased DDS.Boolean := False; 
  3280.       Initial_Virtual_Writers             : aliased DDS.Long :=  1; 
  3281.       Max_Virtual_Writers                 : aliased DDS.Long := -1; 
  3282.       Max_Remote_Readers                  : aliased DDS.Long := -1; 
  3283.       Max_App_Ack_Remote_Readers          : aliased DDS.Long := -1; 
  3284.       Initial_Active_Topic_Queries        : aliased DDS.Long :=  1; 
  3285.       Max_Topic_Queries                   : aliased DDS.Long := -1; 
  3286.       Writer_Loaned_Sample_Allocation     : aliased AllocationSettings_T := AllocationSettings_T_AUTO; 
  3287.       Initialize_Writer_Loaned_Sample     : aliased DDS.Boolean := False; 
  3288.    end record with Convention => C; 
  3289.    pragma Compile_Time_Error (DataWriterResourceLimitsQosPolicy'Size /= 
  3290.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_DataWriterResourceLimitsQosPolicy'Size, 
  3291.                               "DataWriterResourceLimitsQosPolicy size missmatch."); 
  3292.  
  3293.    --  <dref>DataWriterResourceLimitsQosPolicy</dref> 
  3294.    --  <dref name="Initial_Concurrent_Blocking_Threads">DataWriterResourceLimitsQosPolicy_initial_concurrent_blocking_threads</dref> 
  3295.    --  <dref name="Max_Concurrent_Blocking_Threads">DataWriterResourceLimitsQosPolicy_max_concurrent_blocking_threads</dref> 
  3296.    --  <dref name="Max_Remote_Reader_Filters">DataWriterResourceLimitsQosPolicy_max_remote_reader_filters</dref> 
  3297.    --  <dref name="Initial_Batches">DataWriterResourceLimitsQosPolicy_initial_batches</dref> 
  3298.    --  <dref name="Max_Batches">DataWriterResourceLimitsQosPolicy_max_batches</dref> 
  3299.    --  <dref name="Cookie_Max_Length">DataWriterResourceLimitsQosPolicy_cookie_max_length</dref> 
  3300.    --  <dref name="Instance_Replacement">DataWriterResourceLimitsQosPolicy_instance_replacement</dref> 
  3301.    --  <dref name="Replace_Empty_Instances">DataWriterResourceLimitsQosPolicy_replace_empty_instances</dref> 
  3302.    --  <dref name="Autoregister_Instances">DataWriterResourceLimitsQosPolicy_autoregister_instances</dref> 
  3303.    --  <dref name="Initial_Virtual_Writers">DataWriterResourceLimitsQosPolicy_initial_virtual_writers</dref> 
  3304.    --  <dref name="Max_Virtual_Writers">DataWriterResourceLimitsQosPolicy_max_virtual_writers</dref> 
  3305.    --  <dref name="Max_Remote_Readers">DataWriterResourceLimitsQosPolicy_max_remote_readers</dref> 
  3306.    --  <dref name="Max_App_Ack_Remote_Readers">DataWriterResourceLimitsQosPolicy_max_app_ack_remote_readers</dref> 
  3307.    --  <dref internal="true" name="Initial_Active_Topic_Queries">DataWriterResourceLimitsQosPolicy_initial_active_topic_queries</dref> 
  3308.    --  <dref internal="true" name="Max_Topic_Queries">DataWriterResourceLimitsQosPolicy_max_topic_queries</dref> 
  3309.    --  <dref internal="true" name="Writer_Loaned_Sample_Allocation">DataWriterResourceLimitsQosPolicy_writer_loaned_sample_allocation</dref> 
  3310.    --  <dref internal="true" name="Initialize_Writer_Loaned_Sample">DataWriterResourceLimitsQosPolicy_initialize_writer_loaned_sample</dref> 
  3311.  
  3312.    DATA_WRITER_RESOURCE_LIMITS_QOS_POLICY_DEFAULT : constant DataWriterResourceLimitsQosPolicy := (others => <>); 
  3313.    --  <dref internal="true"></dref> 
  3314.  
  3315.    --  ---------------------------------------------------------- 
  3316.    --                 SERVICE (eXtension QoS) 
  3317.    --  ---------------------------------------------------------- 
  3318.  
  3319.    SERVICE_QOS_POLICY_NAME                        : constant DDS.String := To_DDS_String ("Service"); 
  3320.    --  <defgroup>ServiceQosGroupDocs</defgroup> 
  3321.    --  <dref internal="true">SERVICE_QOS_POLICY_NAME</dref> 
  3322.  
  3323.    type ServiceQosPolicyKind is new Unsigned_Long; 
  3324.    --  <dref>ServiceQosPolicyKind</dref> 
  3325.  
  3326.    NO_SERVICE_QOS : constant ServiceQosPolicyKind := 0; 
  3327.    --  <dref>ServiceQosPolicyKind_NO_SERVICE_QOS</dref> 
  3328.  
  3329.    PERSISTENCE_SERVICE_QOS : constant ServiceQosPolicyKind := 1; 
  3330.    --  <dref>ServiceQosPolicyKind_PERSISTENCE_SERVICE_QOS</dref> 
  3331.  
  3332.    QUEUING_SERVICE_QOS : constant ServiceQosPolicyKind := 2; 
  3333.    --  <dref>ServiceQosPolicyKind_QUEUING_SERVICE_QOS</dref> 
  3334.  
  3335.    ROUTING_SERVICE_QOS : constant ServiceQosPolicyKind := 3; 
  3336.    --  <dref>ServiceQosPolicyKind_ROUTING_SERVICE_QOS</dref> 
  3337.  
  3338.    RECORDING_SERVICE_QOS : constant ServiceQosPolicyKind := 4; 
  3339.    --  <dref>ServiceQosPolicyKind_RECORDING_SERVICE_QOS</dref> 
  3340.  
  3341.    REPLAY_SERVICE_QOS : constant ServiceQosPolicyKind := 5; 
  3342.    --  <dref>ServiceQosPolicyKind_REPLAY_SERVICE_QOS</dref> 
  3343.  
  3344.    DATABASE_INTEGRATION_SERVICE_QOS : constant ServiceQosPolicyKind := 6; 
  3345.    --  <dref>ServiceQosPolicyKind_DATABASE_INTEGRATION_SERVICE_QOS</dref> 
  3346.  
  3347.    DDS_WEB_INTEGRATION_SERVICE_QOS : constant ServiceQosPolicyKind := 7; 
  3348.    --  <dref>ServiceQosPolicyKind_WEB_INTEGRATION_SERVICE_QOS</dref> 
  3349.  
  3350.    type ServiceQosPolicy is record 
  3351.       Kind : ServiceQosPolicyKind := NO_SERVICE_QOS; 
  3352.    end record  with Convention => C; 
  3353.    pragma Compile_Time_Error (ServiceQosPolicy'Size /= 
  3354.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_ServiceQosPolicy'Size, 
  3355.                               "ServiceQosPolicy size missmatch."); 
  3356.  
  3357.    --  <dref>ServiceQosPolicy</dref> 
  3358.    --  <dref name="Kind">ServiceQosPolicy_kind</dref> 
  3359.  
  3360.    SERVICE_QOS_POLICY_DEFAULT : constant ServiceQosPolicy := (others => <>); 
  3361.    --  <dref internal="true"></dref> 
  3362.  
  3363.    --  ---------------------------------------------------------- 
  3364.    --                 PUBLISHER_PROTOCOL (eXtension QoS) 
  3365.    --  ---------------------------------------------------------- 
  3366.  
  3367.    PUBLISHERPROTOCOL_QOS_POLICY_NAME : constant DDS.String := To_DDS_String ("PublisherProtocol"); 
  3368.    --  <defgroup internal="true">PublisherProtocolQosGroupDocs</defgroup> 
  3369.    --  <dref internal="true">PUBLISHERPROTOCOL_QOS_POLICY_NAME</dref> 
  3370.  
  3371.    EXCLUSIVE_AREA_AUTO_LEVEL : constant DDS.Long := -1; 
  3372.  
  3373.    type PublisherProtocolQosPolicy is record 
  3374.       Vendor_Specific_Entity  : DDS.Boolean := False; 
  3375.       Exclusive_Area_Level    : DDS.Long    := EXCLUSIVE_AREA_AUTO_LEVEL; 
  3376.    end record with Convention => C; 
  3377.    pragma Compile_Time_Error (PublisherProtocolQosPolicy'Size /= 
  3378.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_PublisherProtocolQosPolicy'Size, 
  3379.                               "PublisherProtocolQosPolicy size missmatch."); 
  3380.  
  3381.    --  <dref internal="true">PublisherProtocolQosPolicy</dref> 
  3382.    --  <dref internal="true" name="vendor_specific_entity"a>PublisherProtocolQosPolicy_vendor_specific_entity</dref> 
  3383.    --  <dref internal="true" name="exclusive_area_level"a>PublisherProtocolQosPolicy_exclusive_area_level</dref> 
  3384.  
  3385.    PUBLISHER_PROTOCOL_QOS_POLICY_DEFAULT : constant PublisherProtocolQosPolicy := 
  3386.                                              (Vendor_Specific_Entity => False, 
  3387.                                               Exclusive_Area_Level   => EXCLUSIVE_AREA_AUTO_LEVEL); 
  3388.    --  <dref internal="true"></dref> 
  3389.  
  3390.    --  ---------------------------------------------------------- 
  3391.    --                 SUBSCRIBER_PROTOCOL (eXtension QoS) 
  3392.    --  ---------------------------------------------------------- 
  3393.  
  3394.    SUBSCRIBERPROTOCOL_QOS_POLICY_NAME : constant DDS.String := To_DDS_String ("SubscriberProtocol"); 
  3395.    --  <defgroup internal="true">SubscriberProtocolQosGroupDocs</defgroup> 
  3396.    --  <dref internal="true">SUBSCRIBERPROTOCOL_QOS_POLICY_NAME</dref> 
  3397.  
  3398.    type SubscriberProtocolQosPolicy is record 
  3399.       Vendor_Specific_Entity : DDS.Boolean := False; 
  3400.    end record with Convention => C; 
  3401.    pragma Compile_Time_Error (SubscriberProtocolQosPolicy'Size /= 
  3402.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_SubscriberProtocolQosPolicy'Size, 
  3403.                               "SubscriberProtocolQosPolicy size missmatch."); 
  3404.  
  3405.    --  <dref internal="true">SubscriberProtocolQosPolicy</dref> 
  3406.    --  <dref internal="true" name="vendor_specific_entity"a>SubscriberProtocolQosPolicy_vendor_specific_entity</dref> 
  3407.  
  3408.  
  3409.    SUBSCRIBER_PROTOCOL_QOS_POLICY_DEFAULT : constant SubscriberProtocolQosPolicy := 
  3410.      (Vendor_Specific_Entity => False); 
  3411.    --  <dref internal="true"></dref> 
  3412.  
  3413.    --  ---------------------------------------------------------- 
  3414.    --                 DATAREADER_PROTOCOL (eXtension QoS) 
  3415.    --  ---------------------------------------------------------- 
  3416.  
  3417.    DATAREADERPROTOCOL_QOS_POLICY_NAME : constant DDS.String := To_DDS_String ("DataReaderProtocol"); 
  3418.    --  <defgroup>DataReaderProtocolQosGroupDocs</defgroup> 
  3419.    --  <dref>DATAREADERPROTOCOL_QOS_POLICY_NAME</dref> 
  3420.  
  3421.    type DataReaderProtocolQosPolicy is record 
  3422.       Virtual_Guid                                : aliased Guid_T; 
  3423.       Rtps_Object_Id                              : aliased Unsigned_Long := RTPS_AUTO_ID; 
  3424.       Expects_Inline_Qos                          : aliased DDS.Boolean := False; 
  3425.       Disable_Positive_Acks                       : aliased DDS.Boolean := False; 
  3426.       Propagate_Dispose_Of_Unregistered_Instances : aliased DDS.Boolean := False; 
  3427.       Propagate_Unregister_Of_Disposed_Instances  : aliased DDS.Boolean := False; 
  3428.       Rtps_Reliable_Reader                        : aliased RtpsReliableReaderProtocol_T := RTPS_RELIABLE_READER_PROTOCOL_DEFAULT; 
  3429.       Vendor_Specific_Entity                      : aliased DDS.Boolean := False; 
  3430.       Meta_Entity                                 : aliased DDS.Boolean := False; 
  3431.    end record with Convention => C; 
  3432.    pragma Compile_Time_Error (DataReaderProtocolQosPolicy'Size /= 
  3433.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_DataReaderProtocolQosPolicy'Size, 
  3434.                               "DataReaderProtocolQosPolicy size missmatch."); 
  3435.  
  3436.    --  <dref>DataReaderProtocolQosPolicy</dref> 
  3437.    --  <dref name="Virtual_Guid">DataReaderProtocolQosPolicy_virtual_guid</dref> 
  3438.    --  <dref name="Rtps_Object_Id">DataReaderProtocolQosPolicy_rtps_object_id</dref> 
  3439.    --  <dref name="Expects_Inline_Qos">DataReaderProtocolQosPolicy_expects_inline_qos</dref> 
  3440.    --  <dref name="disable_positive_acks">DataReaderProtocolQosPolicy_disable_positive_acks</dref> 
  3441.    --  <dref name="propagate_dispose_of_unregistered_instances">DataReaderProtocolQosPolicy_propagate_dispose_of_unregistered_instances</dref> 
  3442.    --  <dref name="propagate_unregister_of_disposed_instances">DataReaderProtocolQosPolicy_propagate_unregister_of_disposed_instances</dref> 
  3443.    --  <dref name="Rtps_Reliable_Reader">DataReaderProtocolQosPolicy_rtps_reliable_reader</dref> 
  3444.    --  <dref internal="true" name="vendor_specific_entity">DataReaderProtocolQosPolicy_vendor_specific_entity</dref> 
  3445.    --  <dref internal="true" name="Meta_Entity">DataReaderProtocolQosPolicy_Meta_Entity</dref> 
  3446.  
  3447.    DATA_READER_PROTOCOL_QOS_POLICY_DEFAULT : constant DataReaderProtocolQosPolicy := (others => <>); 
  3448.    --  <dref internal="true"></dref> 
  3449.  
  3450.    --  ---------------------------------------------------------- 
  3451.    --                 DATAWRITER_PROTOCOL (eXtension QoS) 
  3452.    --  ---------------------------------------------------------- 
  3453.  
  3454.    DATAWRITERPROTOCOL_QOS_POLICY_NAME      : constant DDS.String := To_DDS_String ("DataWriterProtocol"); 
  3455.    --  <defgroup>DataWriterProtocolQosGroupDocs</defgroup> 
  3456.    --  <dref>DATAWRITERPROTOCOL_QOS_POLICY_NAME</dref> 
  3457.  
  3458.    type DataWriterProtocolQosPolicy is record 
  3459.       Virtual_Guid                       : aliased Guid_T; 
  3460.       Rtps_Object_Id                     : aliased Unsigned_Long := RTPS_AUTO_ID; 
  3461.       Push_On_Write                      : aliased DDS.Boolean := False; 
  3462.       Disable_Positive_Acks              : aliased DDS.Boolean := False; 
  3463.       Disable_Inline_Keyhash             : aliased DDS.Boolean := False; 
  3464.       Serialize_Key_With_Dispose         : aliased DDS.Boolean := False; 
  3465.       Propagate_App_Ack_With_No_Response : aliased DDS.Boolean := True; 
  3466.       Rtps_Reliable_Writer               : aliased RtpsReliableWriterProtocol_T := RTPS_RELIABLE_WRITER_PROTOCOL_DEFAULT; 
  3467.       Initial_Virtual_Sequence_Number    : aliased DDS.SequenceNumber_T := (-2147483648, 16#FFFF_FFFF#); 
  3468.       Vendor_Specific_Entity             : aliased DDS.Boolean := False; 
  3469.    end record with Convention => C; 
  3470.    pragma Compile_Time_Error (DataWriterProtocolQosPolicy'Size /= 
  3471.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_DataWriterProtocolQosPolicy'Size, 
  3472.                               "DataWriterProtocolQosPolicy size missmatch."); 
  3473.  
  3474.    --  <dref>DataWriterProtocolQosPolicy</dref> 
  3475.    --  <dref name="Virtual_Guid">DataWriterProtocolQosPolicy_virtual_guid</dref> 
  3476.    --  <dref name="Rtps_Object_Id">DataWriterProtocolQosPolicy_rtps_object_id</dref> 
  3477.    --  <dref name="Push_On_Write">DataWriterProtocolQosPolicy_push_on_write</dref> 
  3478.    --  <dref name="Disable_Positive_Acks">DataWriterProtocolQosPolicy_disable_positive_acks</dref> 
  3479.    --  <dref name="Disable_Inline_Keyhash">DataWriterProtocolQosPolicy_disable_inline_keyhash</dref> 
  3480.    --  <dref name="Serialize_Key_With_Dispose">DataWriterProtocolQosPolicy_serialize_key_with_dispose</dref> 
  3481.    --  <dref name="Propagate_App_Ack_With_No_Response">DataWriterProtocolQosPolicy_propagate_app_ack_with_no_response</dref> 
  3482.    --  <dref name="Rtps_Reliable_Writer">DataWriterProtocolQosPolicy_rtps_reliable_writer</dref> 
  3483.    --  <dref name="Initial_Virtual_Sequence_Number">DataWriterProtocolQosPolicy_initial_virtual_sequence_number</dref> 
  3484.    --  <dref internal="true" name="Vendor_Specific_Entity">DataWriterProtocolQosPolicy_vendor_specific_entity</dref> 
  3485.  
  3486.    DATA_WRITER_PROTOCOL_QOS_POLICY_DEFAULT : constant DataWriterProtocolQosPolicy := (others => <>); 
  3487.    --  <dref internal="true"></dref> 
  3488.  
  3489.    --  ---------------------------------------------------------- 
  3490.    --                 SYSTEM_RESOURCE_LIMITS (eXtension QoS) 
  3491.    --  ---------------------------------------------------------- 
  3492.  
  3493.    SYSTEMRESOURCELIMITS_QOS_POLICY_NAME    : constant DDS.String := To_DDS_String ("SystemResourceLimits"); 
  3494.    --  <defgroup>SystemResourceLimitsQosGroupDocs</defgroup> 
  3495.    --  <dref>SYSTEMRESOURCELIMITS_QOS_POLICY_NAME</dref> 
  3496.  
  3497.    type SystemResourceLimitsQosPolicy is record 
  3498.       Max_Objects_Per_Thread     : Long := 261120; -- note set by the environment variable  NDDS_MAX_OBJECTS_PER_THREAD 
  3499.       Initial_Objects_Per_Thread : Long := 1024; 
  3500.    end record with Convention => C; 
  3501.    pragma Compile_Time_Error (SystemResourceLimitsQosPolicy'Size /= 
  3502.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_SystemResourceLimitsQosPolicy'Size, 
  3503.                               "SystemResourceLimitsQosPolicy size missmatch."); 
  3504.  
  3505.    --  <dref>SystemResourceLimitsQosPolicy</dref> 
  3506.    --  <dref name="Max_Objects_Per_Thread">SystemResourceLimitsQosPolicy_max_objects_per_thread</dref> 
  3507.  
  3508.    SYSTEM_RESOURCE_LIMITS_QOS_POLICY_DEFAULT : constant SystemResourceLimitsQosPolicy := (others => <>); 
  3509.    --  <dref internal="true"></dref> 
  3510.  
  3511.    --  ---------------------------------------------------------- 
  3512.    --                 DOMAIN_PARTICIPANT_RESOURCE_LIMITS (eXtension QoS) 
  3513.    --  ---------------------------------------------------------- 
  3514.  
  3515.    DOMAINPARTICIPANTRESOURCELIMITS_QOS_POLICY_NAME :  constant DDS.String := To_DDS_String ("DomainParticipantResourceLimits"); 
  3516.    --  <defgroup>DomainParticipantResourceLimitsQosGroupDocs</defgroup> 
  3517.    --  <dref>DOMAINPARTICIPANTRESOURCELIMITS_QOS_POLICY_NAME</dref> 
  3518.  
  3519.    DomainParticipantResourceLimitsQosPolicy_MATCH_INIT : constant DDS.Long := 32; 
  3520.  
  3521.    type DomainParticipantResourceLimitsIgnoredEntityReplacementKind is new Unsigned_Long; 
  3522.    --  <dref>DomainParticipantResourceLimitsIgnoredEntityReplacementKind</dref> 
  3523.  
  3524.    NO_REPLACEMENT_IGNORED_ENTITY_REPLACEMENT : 
  3525.    constant DomainParticipantResourceLimitsIgnoredEntityReplacementKind := 0; 
  3526.    --  <dref>DomainParticipantResourceLimitsIgnoredEntityReplacementKind_NO_REPLACEMENT_IGNORED_ENTITY_REPLACEMENT</dref> 
  3527.  
  3528.    DDS_NOT_ALIVE_FIRST_IGNORED_ENTITY_REPLACEMENT : 
  3529.    constant DomainParticipantResourceLimitsIgnoredEntityReplacementKind := 1; 
  3530.    --  <dref>DomainParticipantResourceLimitsIgnoredEntityReplacementKind_NOT_ALIVE_FIRST_IGNORED_ENTITY_REPLACEMENT</dref> 
  3531.  
  3532.    type DomainParticipantResourceLimitsQosPolicy is record 
  3533.       Local_Writer_Allocation                               : aliased AllocationSettings_T := (16, -1, -1); 
  3534.       Local_Reader_Allocation                               : aliased AllocationSettings_T := (16, -1, -1); 
  3535.       Local_Publisher_Allocation                            : aliased AllocationSettings_T := (4, -1, -1); 
  3536.       Local_Subscriber_Allocation                           : aliased AllocationSettings_T := (4, -1, -1); 
  3537.       Local_Topic_Allocation                                : aliased AllocationSettings_T := (16, -1, -1); 
  3538.       Remote_Writer_Allocation                              : aliased AllocationSettings_T := (64, -1, -1); 
  3539.       Remote_Reader_Allocation                              : aliased AllocationSettings_T := (64, -1, -1); 
  3540.       Remote_Participant_Allocation                         : aliased AllocationSettings_T := (16, -1, -1); 
  3541.       Matching_Writer_Reader_Pair_Allocation                : aliased AllocationSettings_T := (DomainParticipantResourceLimitsQosPolicy_MATCH_INIT, -1, -1); 
  3542.       Matching_Reader_Writer_Pair_Allocation                : aliased AllocationSettings_T := (DomainParticipantResourceLimitsQosPolicy_MATCH_INIT, -1, -1); 
  3543.       Ignored_Entity_Allocation                             : aliased AllocationSettings_T := (8, -1, -1); 
  3544.       Content_Filtered_Topic_Allocation                     : aliased AllocationSettings_T := (4, -1, -1); 
  3545.       Content_Filter_Allocation                             : aliased AllocationSettings_T := (4, -1, -1); 
  3546.       Read_Condition_Allocation                             : aliased AllocationSettings_T := (4, -1, -1); 
  3547.       Query_Condition_Allocation                            : aliased AllocationSettings_T := (4, -1, -1); 
  3548.       Outstanding_Asynchronous_Sample_Allocation            : aliased AllocationSettings_T := (64, -1, -1); 
  3549.       Flow_Controller_Allocation                            : aliased AllocationSettings_T := (4, -1, -1); 
  3550.       Local_Writer_Hash_Buckets                             : aliased Long := 4; 
  3551.       Local_Reader_Hash_Buckets                             : aliased Long := 4; 
  3552.       Local_Publisher_Hash_Buckets                          : aliased Long := 1; 
  3553.       Local_Subscriber_Hash_Buckets                         : aliased Long := 1; 
  3554.       Local_Topic_Hash_Buckets                              : aliased Long := 4; 
  3555.       Remote_Writer_Hash_Buckets                            : aliased Long := 16; 
  3556.       Remote_Reader_Hash_Buckets                            : aliased Long := 16; 
  3557.       Remote_Participant_Hash_Buckets                       : aliased Long := 4; 
  3558.       Matching_Writer_Reader_Pair_Hash_Buckets              : aliased Long := 32; 
  3559.       Matching_Reader_Writer_Pair_Hash_Buckets              : aliased Long := 32; 
  3560.       Ignored_Entity_Hash_Buckets                           : aliased Long := 1; 
  3561.       Content_Filtered_Topic_Hash_Buckets                   : aliased Long := 1; 
  3562.       Content_Filter_Hash_Buckets                           : aliased Long := 1; 
  3563.       Flow_Controller_Hash_Buckets                          : aliased Long := 1; 
  3564.       Max_Gather_Destinations                               : aliased Long := 8; 
  3565.       Participant_User_Data_Max_Length                      : aliased Long := 256; 
  3566.       Inter_Participant_Data_Max_Length                     : aliased Long := 256; 
  3567.       Topic_Data_Max_Length                                 : aliased Long := 256; 
  3568.       Publisher_Group_Data_Max_Length                       : aliased Long := 256; 
  3569.       Subscriber_Group_Data_Max_Length                      : aliased Long := 256; 
  3570.       Writer_User_Data_Max_Length                           : aliased Long := 256; 
  3571.       Reader_User_Data_Max_Length                           : aliased Long := 256; 
  3572.       Max_Partitions                                        : aliased Long := 64; 
  3573.       Max_Partition_Cumulative_Characters                   : aliased Long := 256; 
  3574.       Default_Partition_Matches_All                         : aliased Boolean := False; 
  3575.       Allow_No_Partitions                                   : aliased Boolean := False; 
  3576.       Type_Code_Max_Serialized_Length                       : aliased Long := 0; 
  3577.       Type_Object_Max_Serialized_Length                     : aliased Long := 8192; 
  3578.       Serialized_Type_Object_Dynamic_Allocation_Threshold   : aliased Long := 8192; 
  3579.       Type_Object_Max_Deserialized_Length                   : aliased Long := -1; 
  3580.       Deserialized_Type_Object_Dynamic_Allocation_Threshold : aliased Long := 4096; 
  3581.       Contentfilter_Property_Max_Length                     : aliased Long := 256; 
  3582.       Channel_Seq_Max_Length                                : aliased Long := 32; 
  3583.       Channel_Filter_Expression_Max_Length                  : aliased Long := 256; 
  3584.       Participant_Property_List_Max_Length                  : aliased Long := 32; 
  3585.       Participant_Property_String_Max_Length                : aliased Long := 4096; 
  3586.       Writer_Property_List_Max_Length                       : aliased Long := 32; 
  3587.       Writer_Property_String_Max_Length                     : aliased Long := 1024; 
  3588.       Reader_Property_List_Max_Length                       : aliased Long := 32; 
  3589.       Reader_Property_String_Max_Length                     : aliased Long := 1024; 
  3590.       Plugin_Info_Parameter_Max_Length                      : aliased Long := 265; 
  3591.       Max_Endpoint_Groups                                   : aliased Long := 32; 
  3592.       Max_Endpoint_Group_Cumulative_Characters              : aliased Long := 1024; 
  3593.       Transport_Info_List_Max_Length                        : aliased Long := 12; 
  3594.       Ignored_Entity_Replacement_Kind                       : aliased DomainParticipantResourceLimitsIgnoredEntityReplacementKind 
  3595.         := NO_REPLACEMENT_IGNORED_ENTITY_REPLACEMENT; 
  3596.       Remote_Topic_Query_Allocation                         : aliased AllocationSettings_T := (1, -1, -1); 
  3597.       Remote_Topic_Query_Hash_Buckets                       : aliased Long := 1; 
  3598.       Writer_Data_Tag_List_Max_Length                       : aliased Long := 0; 
  3599.       Writer_Data_Tag_String_Max_Length                     : aliased Long := 0; 
  3600.       Reader_Data_Tag_List_Max_Length                       : aliased Long := 0; 
  3601.       Reader_Data_Tag_String_Max_Length                     : aliased Long := 0; 
  3602.       Shmem_Ref_Transfer_Mode_Max_Segments                  : aliased Unsigned_Long := RTIDDS.Low_Level.ndds_pres_pres_participant_h.PRES_SHMEM_REF_TRANSFER_MODE_MAX_SEGMENTS; 
  3603.    end record with Convention => C; 
  3604.    pragma Compile_Time_Error (DomainParticipantResourceLimitsQosPolicy'Size /= 
  3605.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_DomainParticipantResourceLimitsQosPolicy'Size, 
  3606.                               "DomainParticipantResourceLimitsQosPolicy size missmatch."); 
  3607.  
  3608.    --  <dref>DomainParticipantResourceLimitsQosPolicy</dref> 
  3609.    --  <dref name="local_writer_allocation">DomainParticipantResourceLimitsQosPolicy_local_writer_allocation</dref> 
  3610.    --  <dref name="local_reader_allocation">DomainParticipantResourceLimitsQosPolicy_local_reader_allocation</dref> 
  3611.    --  <dref name="local_publisher_allocation">DomainParticipantResourceLimitsQosPolicy_local_publisher_allocation</dref> 
  3612.    --  <dref name="local_subscriber_allocation">DomainParticipantResourceLimitsQosPolicy_local_subscriber_allocation</dref> 
  3613.    --  <dref name="local_topic_allocation">DomainParticipantResourceLimitsQosPolicy_local_topic_allocation</dref> 
  3614.    --  <dref name="remote_writer_allocation">DomainParticipantResourceLimitsQosPolicy_remote_writer_allocation</dref> 
  3615.    --  <dref name="remote_reader_allocation">DomainParticipantResourceLimitsQosPolicy_remote_reader_allocation</dref> 
  3616.    --  <dref name="remote_partiicpant_allocation">DomainParticipantResourceLimitsQosPolicy_remote_participant_allocation</dref> 
  3617.    --  <dref name="matching_writer_reader_pair_allocation">DomainParticipantResourceLimitsQosPolicy_matching_writer_reader_pair_allocation</dref> 
  3618.    --  <dref name="matching_reader_writer_pair_allocation">DomainParticipantResourceLimitsQosPolicy_matching_reader_writer_pair_allocation</dref> 
  3619.    --  <dref name="ignored_entity_allocation">DomainParticipantResourceLimitsQosPolicy_ignored_entity_allocation</dref> 
  3620.    --  <dref name="content_filtered_topic_allocation">DomainParticipantResourceLimitsQosPolicy_content_filtered_topic_allocation</dref> 
  3621.    --  <dref name="content_filter_allocation">DomainParticipantResourceLimitsQosPolicy_content_filter_allocation</dref> 
  3622.    --  <dref name="read_condition_allocation">DomainParticipantResourceLimitsQosPolicy_read_condition_allocation</dref> 
  3623.    --  <dref name="query_condition_allocation">DomainParticipantResourceLimitsQosPolicy_query_condition_allocation</dref> 
  3624.    --  <dref name="outstanding_asynchronous_sample_allocation">DomainParticipantResourceLimitsQosPolicy_outstanding_asynchronous_sample_allocation</dref> 
  3625.    --  <dref name="flow_controller_allocation">DomainParticipantResourceLimitsQosPolicy_flow_controller_allocation</dref> 
  3626.    --  <dref name="local_writer_hash_buckets">DomainParticipantResourceLimitsQosPolicy_local_writer_hash_buckets</dref> 
  3627.    --  <dref name="local_reader_hash_buckets">DomainParticipantResourceLimitsQosPolicy_local_reader_hash_buckets</dref> 
  3628.    --  <dref name="local_publisher_hash_buckets">DomainParticipantResourceLimitsQosPolicy_local_publisher_hash_buckets</dref> 
  3629.    --  <dref name="local_subscriber_hash_buckets">DomainParticipantResourceLimitsQosPolicy_local_subscriber_hash_buckets</dref> 
  3630.    --  <dref name="local_topic_hash_buckets">DomainParticipantResourceLimitsQosPolicy_local_topic_hash_buckets</dref> 
  3631.    --  <dref name="remote_writer_hash_buckets">DomainParticipantResourceLimitsQosPolicy_remote_writer_hash_buckets</dref> 
  3632.    --  <dref name="remote_reader_hash_buckets">DomainParticipantResourceLimitsQosPolicy_remote_reader_hash_buckets</dref> 
  3633.    --  <dref name="remote_participant_hash_buckets">DomainParticipantResourceLimitsQosPolicy_remote_participant_hash_buckets</dref> 
  3634.    --  <dref name="matching_writer_reader_pair_hash_buckets">DomainParticipantResourceLimitsQosPolicy_matching_writer_reader_pair_hash_buckets</dref> 
  3635.    --  <dref name="matching_reader_writer_pair_hash_buckets">DomainParticipantResourceLimitsQosPolicy_matching_reader_writer_pair_hash_buckets</dref> 
  3636.    --  <dref name="ignored_entity_hash_buckets">DomainParticipantResourceLimitsQosPolicy_ignored_entity_hash_buckets</dref> 
  3637.    --  <dref name="content_filtered_topic_hash_buckets">DomainParticipantResourceLimitsQosPolicy_content_filtered_topic_hash_buckets</dref> 
  3638.    --  <dref name="content_filter_hash_buckets">DomainParticipantResourceLimitsQosPolicy_content_filter_hash_buckets</dref> 
  3639.    --  <dref name="flow_controller_hash_buckets">DomainParticipantResourceLimitsQosPolicy_flow_controller_hash_buckets</dref> 
  3640.    --  <dref name="max_gather_destinations">DomainParticipantResourceLimitsQosPolicy_max_gather_destinations</dref> 
  3641.    --  <dref name="participant_user_data_max_length">DomainParticipantResourceLimitsQosPolicy_participant_user_data_max_length</dref> 
  3642.    --  <dref internal="true" name="inter_participant_data_max_length">DomainParticipantResourceLimitsQosPolicy_inter_participant_data_max_length</dref> 
  3643.    --  <dref name="topic_data_max_length">DomainParticipantResourceLimitsQosPolicy_topic_data_max_length</dref> 
  3644.    --  <dref name="publisher_group_data_max_length">DomainParticipantResourceLimitsQosPolicy_publisher_group_data_max_length</dref> 
  3645.    --  <dref name="subscriber_group_data_max_length">DomainParticipantResourceLimitsQosPolicy_subscriber_group_data_max_length</dref> 
  3646.    --  <dref name="writer_user_data_max_length">DomainParticipantResourceLimitsQosPolicy_writer_user_data_max_length</dref> 
  3647.    --  <dref name="reader_user_data_max_length">DomainParticipantResourceLimitsQosPolicy_reader_user_data_max_length</dref> 
  3648.    --  <dref name="max_partitions">DomainParticipantResourceLimitsQosPolicy_max_partitions</dref> 
  3649.    --  <dref name="max_partition_cumulative_characters">DomainParticipantResourceLimitsQosPolicy_max_partition_cumulative_characters</dref> 
  3650.    --  <dref internal="true" name="default_partition_matches_all">DomainParticipantResourceLimitsQosPolicy_default_partition_matches_all</dref> 
  3651.    --  <dref internal="true" name="allow_no_partitions">DomainParticipantResourceLimitsQosPolicy_allow_no_partitions</dref> 
  3652.    --  <dref name="type_code_max_serialized_length">DomainParticipantResourceLimitsQosPolicy_type_code_max_serialized_length</dref> 
  3653.    --  <dref name="Type_Object_Max_Serialized_Length">DomainParticipantResourceLimitsQosPolicy_type_object_max_serialized_length</dref> 
  3654.    --  <dref internal="true" name="Serialized_Type_Object_Dynamic_Allocation_Threshold">DomainParticipantResourceLimitsQosPolicy_serialized_type_object_dynamic_allocation_threshold</dref> 
  3655.    --  <dref name="Type_Object_Max_Deserialized_Length">DomainParticipantResourceLimitsQosPolicy_type_object_max_deserialized_length</dref> 
  3656.    --  <dref name="Deserialized_Type_Object_Dynamic_Allocation_Threshold">DomainParticipantResourceLimitsQosPolicy_deserialized_type_object_dynamic_allocation_threshold</dref> 
  3657.    --  <dref name="contentfilter_property_max_length">DomainParticipantResourceLimitsQosPolicy_contentfilter_property_max_length</dref> 
  3658.    --  <dref name="channel_seq_max_length">DomainParticipantResourceLimitsQosPolicy_channel_seq_max_length</dref> 
  3659.    --  <dref name="channel_filter_expression_max_length">DomainParticipantResourceLimitsQosPolicy_channel_filter_expression_max_length</dref> 
  3660.    --  <dref name="participant_property_list_max_length">DomainParticipantResourceLimitsQosPolicy_participant_property_list_max_length</dref> 
  3661.    --  <dref name="participant_property_string_max_length">DomainParticipantResourceLimitsQosPolicy_participant_property_string_max_length</dref> 
  3662.    --  <dref name="writer_property_list_max_length">DomainParticipantResourceLimitsQosPolicy_writer_property_list_max_length</dref> 
  3663.    --  <dref name="writer_property_string_max_length">DomainParticipantResourceLimitsQosPolicy_writer_property_string_max_length</dref> 
  3664.    --  <dref name="reader_property_list_max_length">DomainParticipantResourceLimitsQosPolicy_reader_property_list_max_length</dref> 
  3665.    --  <dref name="reader_property_string_max_length">DomainParticipantResourceLimitsQosPolicy_reader_property_string_max_length</dref> 
  3666.    --  <dref internal="true" name="plugin_info_parameter_max_length">DomainParticipantResourceLimitsQosPolicy_plugin_info_parameter_max_length</dref> 
  3667.    --  <dref name="max_endpoint_groups">DomainParticipantResourceLimitsQosPolicy_max_endpoint_groups</dref> 
  3668.    --  <dref name="max_endpoint_group_cumulative_characters">DomainParticipantResourceLimitsQosPolicy_max_endpoint_group_cumulative_characters</dref> 
  3669.    --  <dref name="transport_info_list_max_length">DomainParticipantResourceLimitsQosPolicy_transport_info_list_max_length</dref> 
  3670.    --  <dref name="ignored_entity_replacement_kind">DomainParticipantResourceLimitsQosPolicy_ignored_entity_replacement_kind</dref> 
  3671.    --  <dref internal="true" name="Remote_Topic_Query_Allocation">DomainParticipantResourceLimitsQosPolicy_remote_topic_query_allocation</dref> 
  3672.    --  <dref internal="true" name="Remote_Topic_Query_Hash_Buckets">DomainParticipantResourceLimitsQosPolicy_remote_topic_query_hash_buckets</dref> 
  3673.    --  <dref internal="true" name="Writer_Data_Tag_List_Max_Length">DomainParticipantResourceLimitsQosPolicy_writer_data_tag_list_max_length</dref> 
  3674.    --  <dref internal="true" name="Writer_Data_Tag_String_Max_Length">DomainParticipantResourceLimitsQosPolicy_writer_data_tag_string_max_length</dref> 
  3675.    --  <dref internal="true" name="Reader_Data_Tag_List_Max_Length">DomainParticipantResourceLimitsQosPolicy_reader_data_tag_list_max_length</dref> 
  3676.    --  <dref internal="true" name="Reader_Data_Tag_String_Max_Length">DomainParticipantResourceLimitsQosPolicy_reader_data_tag_string_max_length</dref> 
  3677.    --  <dref internal="true" name="Shmem_Ref_Transfer_Mode_Max_Segments">DomainParticipantResourceLimitsQosPolicy_shmem_ref_transfer_mode_max_segments</dref> 
  3678.  
  3679.    DOMAIN_PARTICIPANT_RESOURCE_LIMITS_QOS_POLICY_DEFAULT : constant DomainParticipantResourceLimitsQosPolicy := (others => <>); 
  3680.  
  3681.  
  3682.  
  3683.    --  ---------------------------------------------------------- 
  3684.    --                 EVENT (eXtension QoS) 
  3685.    --  ---------------------------------------------------------- 
  3686.  
  3687.    EVENT_QOS_POLICY_NAME                                 : constant DDS.String := To_DDS_String ("Event"); 
  3688.    --  <defgroup>EventQosGroupDocs</defgroup> 
  3689.    --  <dref>EVENT_QOS_POLICY_NAME</dref> 
  3690.  
  3691.    type EventQosPolicy is record 
  3692.       Thread        : aliased ThreadSettings_T; 
  3693.       Initial_Count : aliased Long := 256; 
  3694.       Max_Count     : aliased Long := -1; 
  3695.    end record with Convention => C; 
  3696.    pragma Compile_Time_Error (EventQosPolicy'Size /= 
  3697.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_EventQosPolicy'Size, 
  3698.                               "EventQosPolicy size missmatch."); 
  3699.  
  3700.    --  <dref>EventQosPolicy</dref> 
  3701.    --  <dref name="Thread">EventQosPolicy_thread</dref> 
  3702.    --  <dref name="Initial_Count">EventQosPolicy_initial_count</dref> 
  3703.    --  <dref name="Max_Count">EventQosPolicy_max_count</dref> 
  3704.  
  3705.    EVENT_QOS_POLICY_DEFAULT : constant EventQosPolicy := (others => <>); 
  3706.  
  3707.    --  ---------------------------------------------------------- 
  3708.    --                 DATABASE (eXtension QoS) 
  3709.    --  ---------------------------------------------------------- 
  3710.  
  3711.    DATABASE_QOS_POLICY_NAME : constant DDS.String := To_DDS_String ("Database"); 
  3712.    --  <defgroup>DatabaseQosGroupDocs</defgroup> 
  3713.    --  <dref>DATABASE_QOS_POLICY_NAME</dref> 
  3714.  
  3715.    type DatabaseQosPolicy is record 
  3716.       Thread                      : aliased ThreadSettings_T; 
  3717.       Shutdown_Timeout            : aliased Duration_T := (15, 0); 
  3718.       Cleanup_Period              : aliased Duration_T := (61, 0); 
  3719.       Shutdown_Cleanup_Period     : aliased Duration_T := (1, 0); 
  3720.       Initial_Records             : aliased Long := 1024; 
  3721.       Max_Skiplist_Level          : aliased Long := 7; 
  3722.       Table_Allocation_Block_Size : aliased Long := 48; 
  3723.       Max_Weak_References         : aliased Long := -1; 
  3724.       Initial_Weak_References     : aliased Long := 2049; 
  3725.    end record with Convention => C; 
  3726.    pragma Compile_Time_Error (DatabaseQosPolicy'Size /= 
  3727.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_DatabaseQosPolicy'Size, 
  3728.                               "DatabaseQosPolicy size missmatch."); 
  3729.  
  3730.    --  <dref>DatabaseQosPolicy</dref> 
  3731.    --  <dref name="Thread">DatabaseQosPolicy_thread</dref> 
  3732.    --  <dref name="Shutdown_Timeout">DatabaseQosPolicy_shutdown_timeout</dref> 
  3733.    --  <dref name="Cleanup_Period">DatabaseQosPolicy_cleanup_period</dref> 
  3734.    --  <dref name="Shutdown_Cleanup_Period">DatabaseQosPolicy_shutdown_cleanup_period</dref> 
  3735.    --  <dref name="Initial_Records">DatabaseQosPolicy_initial_records</dref> 
  3736.    --  <dref name="Max_Skiplist_Level">DatabaseQosPolicy_max_skiplist_level</dref> 
  3737.    --  <dref internal="true" name="Table_Allocation_Block_Sizee">DatabaseQosPolicy_table_allocation_block_size</dref> 
  3738.    --  <dref name="Max_Weak_References">DatabaseQosPolicy_max_weak_references</dref> 
  3739.    --  <dref name="Initial_Weak_References">DatabaseQosPolicy_initial_weak_references</dref> 
  3740.  
  3741.    DATABASE_QOS_POLICY_DEFAULT :  constant DatabaseQosPolicy := (others => <>); 
  3742.  
  3743.    --  ---------------------------------------------------------- 
  3744.    --                 RECEIVER_POOL (eXtension QoS) 
  3745.    --  ---------------------------------------------------------- 
  3746.  
  3747.    RECEIVERPOOL_QOS_POLICY_NAME : DDS.String := To_DDS_String ("ReceiverPool"); 
  3748.    --  <defgroup>ReceiverPoolQosGroupDocs</defgroup> 
  3749.    --  <dref>RECEIVERPOOL_QOS_POLICY_NAME</dref> 
  3750.  
  3751.    ReceiverPoolQosPolicy_MAX_RECEIVE_THREADS_DEFAULT : constant Long := -1; 
  3752.  
  3753.    type ReceiverPoolQosPolicy is record 
  3754.       Thread                  : aliased ThreadSettings_T; 
  3755.       Initial_Receive_Threads : aliased Long := 4; 
  3756.       Max_Receive_Threads     : aliased Long := ReceiverPoolQosPolicy_MAX_RECEIVE_THREADS_DEFAULT; 
  3757.       Buffer_Size             : aliased Long := 9216; 
  3758.       Buffer_Alignment        : aliased Long := 16; 
  3759.       Is_Timestamp_Enabled    : aliased DDS.Boolean := True; 
  3760.    end record with Convention => C; 
  3761.    pragma Compile_Time_Error (ReceiverPoolQosPolicy'Size /= 
  3762.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_ReceiverPoolQosPolicy'Size, 
  3763.                               "ReceiverPoolQosPolicy size missmatch."); 
  3764.  
  3765.    --  <dref>ReceiverPoolQosPolicy</dref> 
  3766.    --  <dref name="Thread">ReceiverPoolQosPolicy_thread</dref> 
  3767.    --  <dref internal="true" name="Initial_Receive_Threads">ReceiverPoolQosPolicy_initial_receive_threads</dref> 
  3768.    --  <dref internal="true" name="Max_Receive_Threads">ReceiverPoolQosPolicy_max_receive_threads</dref> 
  3769.    --  <dref name="Buffer_Size">ReceiverPoolQosPolicy_buffer_size</dref> 
  3770.    --  <dref name="Buffer_Alignment">ReceiverPoolQosPolicy_buffer_alignment</dref> 
  3771.    --  <dref internal="true" name="Is_Timestamp_Enabled">ReceiverPoolQosPolicy_is_timestamp_enabled</dref> 
  3772.  
  3773.  
  3774.    RECEIVER_POOL_QOS_POLICY_DEFAULT : constant ReceiverPoolQosPolicy := (others => <>); 
  3775.  
  3776.    --  ---------------------------------------------------------- 
  3777.    --                  BuiltinTopicReaderResourceLimits_t 
  3778.    --  ---------------------------------------------------------- 
  3779.  
  3780.    type BuiltinTopicReaderResourceLimits_T is record 
  3781.       Initial_Samples                          : aliased Long := 64; 
  3782.       Max_Samples                              : aliased Long := -1; 
  3783.       Initial_Infos                            : aliased Long := 64; 
  3784.       Max_Infos                                : aliased Long := -1; 
  3785.       Initial_Outstanding_Reads                : aliased Long := 2; 
  3786.       Max_Outstanding_Reads                    : aliased Long := -1; 
  3787.       Max_Samples_Per_Read                     : aliased Long := 1024; 
  3788.       Disable_Fragmentation_Support            : aliased DDS.Boolean := False; 
  3789.       Max_Fragmented_Samples                   : aliased Long := 1024; 
  3790.       Initial_Fragmented_Samples               : aliased Long := 4; 
  3791.       Max_Fragmented_Samples_Per_Remote_Writer : aliased Long := 256; 
  3792.       Max_Fragments_Per_Sample                 : aliased Long := 512; 
  3793.       Dynamically_Allocate_Fragmented_Samples  : aliased DDS.Boolean := False; 
  3794.    end record with Convention => C; 
  3795.    pragma Compile_Time_Error (BuiltinTopicReaderResourceLimits_T'Size /= 
  3796.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_BuiltinTopicReaderResourceLimits_t'Size, 
  3797.                               "BuiltinTopicReaderResourceLimits_T size missmatch."); 
  3798.  
  3799.    --  <dref>BuiltinTopicReaderResourceLimits_t</dref> 
  3800.    --  <dref name="Initial_Samples">BuiltinTopicReaderResourceLimits_t_initial_samples</dref> 
  3801.    --  <dref name="Max_Samples">BuiltinTopicReaderResourceLimits_t_max_samples</dref> 
  3802.    --  <dref name="Initial_Infos">BuiltinTopicReaderResourceLimits_t_initial_infos</dref> 
  3803.    --  <dref name="Max_Infos">BuiltinTopicReaderResourceLimits_t_max_infos</dref> 
  3804.    --  <dref name="Initial_Outstanding_Reads">BuiltinTopicReaderResourceLimits_t_initial_outstanding_reads</dref> 
  3805.    --  <dref name="Max_Outstanding_Reads">BuiltinTopicReaderResourceLimits_t_max_outstanding_reads</dref> 
  3806.    --  <dref name="Max_Samples_Per_Read">BuiltinTopicReaderResourceLimits_t_max_samples_per_read</dref> 
  3807.    --  <dref name="Disable_Fragmentation_Support">BuiltinTopicReaderResourceLimits_t_disable_fragmentation_support</dref> 
  3808.    --  <dref name="Max_Fragmented_Samples">BuiltinTopicReaderResourceLimits_t_max_fragmented_samples</dref> 
  3809.    --  <dref name="Initial_Fragmented_Samples">BuiltinTopicReaderResourceLimits_t_initial_fragmented_samples</dref> 
  3810.    --  <dref name="Max_Fragmented_Samples_Per_Remote_Writer">BuiltinTopicReaderResourceLimits_t_max_fragmented_samples_per_remote_writer</dref> 
  3811.    --  <dref name="Max_Fragments_Per_Sample">BuiltinTopicReaderResourceLimits_t_max_fragments_per_sample</dref> 
  3812.    --  <dref name="Dynamically_allocate_Fragmented_Samples">BuiltinTopicReaderResourceLimits_t_dynamically_allocate_fragmented_samples</dref> 
  3813.  
  3814.    BUILTIN_TOPIC_READER_RESOURCE_LIMITS_DEFAULT : constant BuiltinTopicReaderResourceLimits_T := (others => <>); 
  3815.    --  <dref internal="true"></dref> 
  3816.  
  3817.    BUILTIN_TOPIC_KEY_TYPE_NATIVE_LENGTH         : constant := 4; 
  3818.    --  <dref internal="true"></dref> 
  3819.  
  3820.    type  BuiltinTopicKey_Array_T is array 
  3821.      (0 .. BUILTIN_TOPIC_KEY_TYPE_NATIVE_LENGTH - 1) of Builtin_Topic_Key_Type_Native; 
  3822.  
  3823.    type BuiltinTopicKey_T is record 
  3824.       Value : BuiltinTopicKey_Array_T := (others => 0); 
  3825.    end record with Convention => C; 
  3826.    pragma Compile_Time_Error (BuiltinTopicKey_T'Size /= 
  3827.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_BuiltinTopicKey_t'Size, 
  3828.                               "BuiltinTopicKey_T size missmatch."); 
  3829.  
  3830.    function Hash (Item : DDS.BuiltinTopicKey_T) return Ada.Containers.Hash_Type; 
  3831.  
  3832.    --  <defgroup>BuiltInTopicCommonGroupDocs</defgroup> 
  3833.    --  <dref>BuiltinTopicKey_t</dref> 
  3834.    --  <dref name="Value">BuiltinTopicKey_t_value</dref> 
  3835.  
  3836.    type BuiltinTopicKey_T_Access is access all BuiltinTopicKey_T; 
  3837.  
  3838.    BuiltinTopicKey_T_INITIALIZER : constant BuiltinTopicKey_T := 
  3839.      (Value => (0, 0, 0, 0)); 
  3840.    --  <dref internal="true"></dref> 
  3841.  
  3842.    function BuiltinTopicKey_Equals (A : in BuiltinTopicKey_T_Access; 
  3843.                                     B : in BuiltinTopicKey_T_Access) 
  3844.                                     return DDS.Boolean; 
  3845.    --  <dref internal="true"></dref> 
  3846.  
  3847.    --  ---------------------------------------------------------- 
  3848.    --                  PUBLISHMODE (eXtension QoS) 
  3849.    --  ---------------------------------------------------------- 
  3850.  
  3851.    PUBLISHMODE_QOS_POLICY_NAME   : constant DDS.String := To_DDS_String ("PublishMode"); 
  3852.    --  <defgroup>PublishModeQosGroupDocs</defgroup> 
  3853.    --  <dref>PUBLISHMODE_QOS_POLICY_NAME</dref> 
  3854.  
  3855.    type PublishModeQosPolicyKind is new Unsigned_Long; 
  3856.    --  <dref>PublishModeQosPolicyKind</dref> 
  3857.  
  3858.    SYNCHRONOUS_PUBLISH_MODE_QOS  : constant PublishModeQosPolicyKind := 0; 
  3859.    --  <dref>PublishModeQosPolicyKind_SYNCHRONOUS_PUBLISH_MODE_QOS</dref> 
  3860.  
  3861.    ASYNCHRONOUS_PUBLISH_MODE_QOS : constant PublishModeQosPolicyKind := 1; 
  3862.    --  <dref>PublishModeQosPolicyKind_ASYNCHRONOUS_PUBLISH_MODE_QOS</dref> 
  3863.  
  3864.    PUBLICATION_PRIORITY_UNDEFINED : constant Long := 0; 
  3865.    --  <dref>PUBLICATION_PRIORITY_UNDEFINED</dref> 
  3866.  
  3867.    PUBLICATION_PRIORITY_AUTOMATIC : constant Long := -1; 
  3868.    --  <dref>PUBLICATION_PRIORITY_AUTOMATIC</dref> 
  3869.  
  3870.    type PublishModeQosPolicy is record 
  3871.       Kind                 : aliased PublishModeQosPolicyKind := SYNCHRONOUS_PUBLISH_MODE_QOS; 
  3872.       Flow_Controller_Name : aliased DDS.String; 
  3873.       Priority             : aliased Long := PUBLICATION_PRIORITY_UNDEFINED; 
  3874.    end record with Convention => C; 
  3875.    pragma Compile_Time_Error (PublishModeQosPolicy'Size /= 
  3876.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_PublishModeQosPolicy'Size, 
  3877.                               "PublishModeQosPolicy size missmatch."); 
  3878.  
  3879.    --  <dref>PublishModeQosPolicy</dref> 
  3880.    --  <dref name="Kind">PublishModeQosPolicy_kind</dref> 
  3881.    --  <dref name="Flow_Controller_Name">PublishModeQosPolicy_flow_controller_name</dref> 
  3882.    --  <dref name="Priority">PublishModeQosPolicy_priority</dref> 
  3883.  
  3884.    PUBLISH_MODE_QOS_POLICY_DEFAULT : constant PublishModeQosPolicy := 
  3885.      (Kind                      => SYNCHRONOUS_PUBLISH_MODE_QOS, 
  3886.       Flow_Controller_Name      => (Data => DDS.NULL_STRING.Data), 
  3887.       Priority                  => PUBLICATION_PRIORITY_UNDEFINED 
  3888.      ); 
  3889.    --  <dref internal="true"></dref> 
  3890.  
  3891.    --  ---------------------------------------------------------- 
  3892.    --                  DISCOVERY_CONFIG (eXtension QoS) 
  3893.    --  ---------------------------------------------------------- 
  3894.  
  3895.    DISCOVERYCONFIG_QOS_POLICY_NAME : constant DDS.String := To_DDS_String ("DiscoveryConfig"); 
  3896.    --  <defgroup>DiscoveryConfigQosGroupDocs</defgroup> 
  3897.    --  <dref>DISCOVERYCONFIG_QOS_POLICY_NAME</dref> 
  3898.  
  3899.    type DiscoveryConfigBuiltinPluginKind is new DDS.Unsigned_Long; 
  3900.    --  <dref>DiscoveryConfigBuiltinPluginKind</dref> 
  3901.  
  3902.    subtype DiscoveryConfigBuiltinPluginKindMask is  DiscoveryConfigBuiltinPluginKind; 
  3903.    --  <dref>DiscoveryConfigBuiltinPluginKindMask</dref> 
  3904.  
  3905.    DISCOVERYCONFIG_BUILTIN_SPDP  : constant  DiscoveryConfigBuiltinPluginKindMask := 2#0001#; 
  3906.    --  <dref internal="true">DiscoveryConfigBuiltinPluginKind_DISCOVERYCONFIG_BUILTIN_SPDP</dref> 
  3907.  
  3908.    DISCOVERYCONFIG_BUILTIN_SEDP  : constant  DiscoveryConfigBuiltinPluginKindMask := 2#0010#; 
  3909.    --  <dref internal="true">DiscoveryConfigBuiltinPluginKind_DISCOVERYCONFIG_BUILTIN_SEDP</dref> 
  3910.  
  3911.    DISCOVERYCONFIG_BUILTIN_SDP   : constant  DiscoveryConfigBuiltinPluginKindMask := 
  3912.      (DISCOVERYCONFIG_BUILTIN_SPDP or DISCOVERYCONFIG_BUILTIN_SEDP); 
  3913.    --  <dref>DiscoveryConfigBuiltinPluginKind_DISCOVERYCONFIG_BUILTIN_SDP</dref> 
  3914.  
  3915.    DISCOVERYCONFIG_BUILTIN_EDS   : constant  DiscoveryConfigBuiltinPluginKindMask := 2#0100#; 
  3916.    --  <dref internal="true">DiscoveryConfigBuiltinPluginKind_DISCOVERYCONFIG_BUILTIN_EDS</dref> 
  3917.  
  3918.    DISCOVERYCONFIG_BUILTIN_PLUGIN_MASK_ALL     : 
  3919.    constant  DiscoveryConfigBuiltinPluginKindMask := 16#EFFF#; 
  3920.    --  <dref>DISCOVERYCONFIG_BUILTIN_PLUGIN_MASK_ALL</dref> 
  3921.  
  3922.    DISCOVERYCONFIG_BUILTIN_PLUGIN_MASK_NONE    : 
  3923.    constant  DiscoveryConfigBuiltinPluginKindMask := 0; 
  3924.    --  <dref>DISCOVERYCONFIG_BUILTIN_PLUGIN_MASK_NONE</dref> 
  3925.  
  3926.    DISCOVERYCONFIG_BUILTIN_PLUGIN_MASK_DEFAULT : 
  3927.    constant  DiscoveryConfigBuiltinPluginKindMask := DISCOVERYCONFIG_BUILTIN_SDP; 
  3928.    --  <dref>DISCOVERYCONFIG_BUILTIN_PLUGIN_MASK_DEFAULT</dref> 
  3929.  
  3930.    type DiscoveryConfigBuiltinChannelKindMask is mod 2 ** 32; 
  3931.    type DiscoveryPluginPromiscuityKind is new Unsigned_Long; 
  3932.    --  <dref internal="true">DiscoveryPluginPromiscouityKind</dref> 
  3933.  
  3934.    DISCOVERYPLUGIN_DISCOVER_MATCHING_REMOTE_ENTITIES_PROMISCUITY : constant DiscoveryPluginPromiscuityKind := 1; 
  3935.    --  <dref internal="true">DiscoveryPluginPromiscouityKind_DISCOVERYPLUGIN_DISCOVER_MATCHING_REMOTE_ENTITIES_PROMISCUITY</dref> 
  3936.  
  3937.    DISCOVERYPLUGIN_DISCOVER_ALL_REMOTE_ENTITIES_PROMISCUITY : constant DiscoveryPluginPromiscuityKind := 16#FFFF#; 
  3938.    --  <dref internal="true">DiscoveryPluginPromiscouityKind_DISCOVERYPLUGIN_DISCOVER_ALL_REMOTE_ENTITIES_PROMISCUITY</dref> 
  3939.  
  3940.    type RemoteParticipantPurgeKind is new Unsigned_Long; 
  3941.    --  <dref>RemoteParticipantPurgeKind</dref> 
  3942.  
  3943.    LIVELINESS_BASED_REMOTE_PARTICIPANT_PURGE : constant RemoteParticipantPurgeKind := 0; 
  3944.    --  <dref>RemoteParticipantPurgeKind_LIVELINESS_BASED_REMOTE_PARTICIPANT_PURGE</dref> 
  3945.  
  3946.    NO_REMOTE_PARTICIPANT_PURGE   : constant RemoteParticipantPurgeKind := 1; 
  3947.    --  <dref>RemoteParticipantPurgeKind_NO_REMOTE_PARTICIPANT_PURGE</dref> 
  3948.  
  3949.    type DiscoveryBuiltinReaderFragmentationResourceLimits_T is record 
  3950.       Disable_Fragmentation_Support            : aliased DDS.Boolean := False; 
  3951.       Max_Fragmented_Samples                   : aliased Long := 1024; 
  3952.       Initial_Fragmented_Samples               : aliased Long := 4; 
  3953.       Max_Fragmented_Samples_Per_Remote_Writer : aliased Long := 256; 
  3954.       Max_Fragments_Per_Sample                 : aliased Long := 512; 
  3955.       Dynamically_Allocate_Fragmented_Samples  : aliased DDS.Boolean := False; 
  3956.    end record with Convention => C; 
  3957.    pragma Compile_Time_Error (DiscoveryBuiltinReaderFragmentationResourceLimits_T'Size /= 
  3958.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_DiscoveryBuiltinReaderFragmentationResourceLimits_t'Size, 
  3959.                               "DiscoveryBuiltinReaderFragmentationResourceLimits_t size Missmatch"); 
  3960.    --  <dref internal="true">DiscoveryBuiltinReaderFragmentationResourceLimits_t</dref> 
  3961.    --  <dref internal="true" name="Disable_Fragmentation_Support">DiscoveryBuiltinReaderFragmentationResourceLimits_t_disable_fragmentation_support</dref> 
  3962.    --  <dref internal="true" name="Max_Fragmented_Samples">DiscoveryBuiltinReaderFragmentationResourceLimits_t_max_fragmented_samples</dref> 
  3963.    --  <dref internal="true" name="Initial_Fragmented_Samples">DiscoveryBuiltinReaderFragmentationResourceLimits_t_initial_fragmented_samples</dref> 
  3964.    --  <dref internal="true" name="Max_Fragmented_Per_Samples_Per_Remote_Writer">DiscoveryBuiltinReaderFragmentationResourceLimits_t_max_fragmented_per_samples_per_remote_writer</dref> 
  3965.    --  <dref internal="true" name="Max_Fragments_Per_Sample">DiscoveryBuiltinReaderFragmentationResourceLimits_t_max_fragments_per_sample</dref> 
  3966.    --  <dref internal="true" name="Dynamically_Allocate_Fragmented_Samples">DiscoveryBuiltinReaderFragmentationResourceLimits_t_dynamically_allocate_fragmented_samples</dref> 
  3967.  
  3968.  
  3969.    DISCOVERY_BUILTIN_READER_FRAGMENTATION_RESOURCE_LIMITS_DEFAULT : constant DiscoveryBuiltinReaderFragmentationResourceLimits_T := (others => <>); 
  3970.    --  <dref internal="true"></dref> 
  3971.  
  3972.    --  ---------------------------------------------------------- 
  3973.    --                  TYPESUPPORT (eXtension QoS) 
  3974.    --  ---------------------------------------------------------- 
  3975.  
  3976.    TYPESUPPORT_QOS_POLICY_NAME                                    : constant DDS.String := To_DDS_String ("TypeSupport"); 
  3977.    --  <defgroup>TypeSupportQosGroupDocs</defgroup> 
  3978.    --  <dref>TYPESUPPORT_QOS_POLICY_NAME</dref> 
  3979.  
  3980.    type CdrPaddingKind is 
  3981.      (ZERO_CDR_PADDING, 
  3982.       NOT_SET_CDR_PADDING, 
  3983.       AUTO_CDR_PADDING); 
  3984.    pragma Convention (C, CdrPaddingKind); 
  3985.    --  <dref>CdrPaddingKind</dref> 
  3986.    --  <dref name="ZERO_CDR_PADDING">CdrPaddingKind_ZERO_CDR_PADDING</dref> 
  3987.    --  <dref name="NOT_SET_CDR_PADDING">CdrPaddingKind_NOT_SET_CDR_PADDING</dref> 
  3988.    --  <dref name="AUTO_CDR_PADDING">CdrPaddingKind_AUTO_CDR_PADDING</dref> 
  3989.  
  3990.  
  3991.    type TypeSupportQosPolicy is record 
  3992.       Plugin_Data      : aliased DDS_Support.Void_Ptr; 
  3993.       Cdr_Padding_Kind : aliased CdrPaddingKind; 
  3994.    end record with Convention => C; 
  3995.    pragma Compile_Time_Error (TypeSupportQosPolicy'Size /= 
  3996.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_TypeSupportQosPolicy'Size, 
  3997.                               "TypeSupportQosPolicy size missmatch."); 
  3998.  
  3999.    --  <dref>TypeSupportQosPolicy</dref> 
  4000.    --  <dref name="Plugin_Data">TypeSupportQosPolicy_plugin_data</dref> 
  4001.    --  <dref name="cdr_padding_kind">TypeSupportQosPolicy_cdr_padding_kind</dref> 
  4002.  
  4003.    TYPESUPPORT_QOS_POLICY_DEFAULT : constant TypeSupportQosPolicy := 
  4004.      (Plugin_Data      => System.Null_Address, 
  4005.       Cdr_Padding_Kind => AUTO_CDR_PADDING); 
  4006.    --  <dref internal="true"></dref> 
  4007.  
  4008.    --  ---------------------------------------------------------- 
  4009.    --                  ASYNCHRONOUS_PUBLISHER (eXtension QoS) 
  4010.    --  ---------------------------------------------------------- 
  4011.  
  4012.    type ThreadBlockingKind is new Unsigned_Long; 
  4013.    --  <defgroup>AsynchronousPublisherQosGroupDocs</defgroup> 
  4014.    --  <dref internal="true">ThreadBlockingKind</dref> 
  4015.  
  4016.    SEMAPHORE_BLOCKING_KIND       : constant ThreadBlockingKind := 0; 
  4017.    --  <dref internal="true">ThreadBlockingKind_SEMAPHORE_BLOCKING_KIND</dref> 
  4018.  
  4019.    SPIN_BLOCKING_KIND            : constant ThreadBlockingKind := 1; 
  4020.    --  <dref internal="true">ThreadBlockingKind_SPIN_BLOCKING_KIND</dref> 
  4021.  
  4022.    ASYNCHRONOUSPUBLISHER_QOS_POLICY_NAME : constant DDS.String := To_DDS_String ("AsynchronousPublisher"); 
  4023.    --  <dref>ASYNCHRONOUSPUBLISHER_QOS_POLICY_NAME</dref> 
  4024.  
  4025.    type AsynchronousPublisherQosPolicy is record 
  4026.       Disable_Asynchronous_Write       : aliased DDS.Boolean := False; 
  4027.       Thread                           : aliased ThreadSettings_T; 
  4028.       Disable_Asynchronous_Batch       : aliased Boolean  := False; 
  4029.       Asynchronous_Batch_Thread        : aliased ThreadSettings_T; 
  4030.       Asynchronous_Batch_Blocking_Kind : aliased ThreadBlockingKind := 0; 
  4031.       Disable_Topic_Query_Publication  : aliased DDS.Boolean := False; 
  4032.       Topic_Query_Publication_Thread   : aliased ThreadSettings_T; 
  4033.    end record with Convention => C; 
  4034.    pragma Compile_Time_Error (AsynchronousPublisherQosPolicy'Size /= 
  4035.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_AsynchronousPublisherQosPolicy'Size, 
  4036.                               "AsynchronousPublisherQosPolicy size missmatch."); 
  4037.  
  4038.    --  <dref>AsynchronousPublisherQosPolicy</dref> 
  4039.    --  <dref name="Disable_Asynchronous_Write">AsynchronousPublisherQosPolicy_disable_asynchronous_write</dref> 
  4040.    --  <dref name="Thread">AsynchronousPublisherQosPolicy_thread</dref> 
  4041.    --  <dref name="disable_asynchronous_batch">AsynchronousPublisherQosPolicy_disable_asynchronous_batch</dref> 
  4042.    --  <dref internal="true" name="asynchronous_batch_blocking_kind">AsynchronousPublisherQosPolicy_asynchronous_batch_blocking_kind</dref> 
  4043.    --  <dref internal="true" name="Disable_Topic_Query_Publication">AsynchronousPublisherQosPolicy_disable_topic_query_publication</dref> 
  4044.    --  <dref internal="true" name="Topic_Query_Publication_Thread">AsynchronousPublisherQosPolicy_topic_query_publication_thread</dref> 
  4045.  
  4046.  
  4047.    ASYNCHRONOUS_PUBLISHER_QOS_POLICY_DEFAULT : constant AsynchronousPublisherQosPolicy := (others => <>); 
  4048.  
  4049.    type RtpsReliableWriterProtocol is record 
  4050.       Low_Watermark                                              : aliased Long := 0;  -- ndds/dds_c/dds_c_infrastructure.h:2186 
  4051.       High_Watermark                                             : aliased Long := 0;  -- ndds/dds_c/dds_c_infrastructure.h:2190 
  4052.       Heartbeat_Period                                           : aliased Duration_T := DURATION_ZERO;  -- ndds/dds_c/dds_c_infrastructure.h:2194 
  4053.       Fast_Heartbeat_Period                                      : aliased Duration_T := DURATION_ZERO;  -- ndds/dds_c/dds_c_infrastructure.h:2198 
  4054.       Late_Joiner_Heartbeat_Period                               : aliased Duration_T := DURATION_ZERO;  -- ndds/dds_c/dds_c_infrastructure.h:2202 
  4055.       Virtual_Heartbeat_Period                                   : aliased Duration_T := DURATION_ZERO;  -- ndds/dds_c/dds_c_infrastructure.h:2206 
  4056.       Samples_Per_Virtual_Heartbeat                              : aliased Long := 0;  -- ndds/dds_c/dds_c_infrastructure.h:2210 
  4057.       Max_Heartbeat_Retries                                      : aliased Long := 0;  -- ndds/dds_c/dds_c_infrastructure.h:2214 
  4058.       Inactivate_Nonprogressing_Readers                          : aliased Boolean := False;  -- ndds/dds_c/dds_c_infrastructure.h:2218 
  4059.       Heartbeats_Per_Max_Samples                                 : aliased Long := 0;  -- ndds/dds_c/dds_c_infrastructure.h:2222 
  4060.       Min_Nack_Response_Delay                                    : aliased Duration_T := DURATION_ZERO;  -- ndds/dds_c/dds_c_infrastructure.h:2226 
  4061.       Max_Nack_Response_Delay                                    : aliased Duration_T := DURATION_ZERO;  -- ndds/dds_c/dds_c_infrastructure.h:2230 
  4062.       Nack_Suppression_Duration                                  : aliased Duration_T := DURATION_ZERO;  -- ndds/dds_c/dds_c_infrastructure.h:2234 
  4063.       Max_Bytes_Per_Nack_Response                                : aliased Long := 0;  -- ndds/dds_c/dds_c_infrastructure.h:2238 
  4064.       Disable_Positive_Acks_Min_Sample_Keep_Duration             : aliased Duration_T := DURATION_ZERO;  -- ndds/dds_c/dds_c_infrastructure.h:2242 
  4065.       Disable_Positive_Acks_Max_Sample_Keep_Duration             : aliased Duration_T := DURATION_ZERO;  -- ndds/dds_c/dds_c_infrastructure.h:2246 
  4066.       Disable_Positive_Acks_Sample_Min_Separation                : aliased Duration_T := DURATION_ZERO;  -- ndds/dds_c/dds_c_infrastructure.h:2250 
  4067.       Disable_Positive_Acks_Enable_Adaptive_Sample_Keep_Duration : aliased Boolean := False;  -- ndds/dds_c/dds_c_infrastructure.h:2254 
  4068.       Disable_Positive_Acks_Enable_Spin_Wait                     : aliased Boolean := False;  -- ndds/dds_c/dds_c_infrastructure.h:2258 
  4069.       Disable_Positive_Acks_Decrease_Sample_Keep_Duration_Factor : aliased Long := 0;  -- ndds/dds_c/dds_c_infrastructure.h:2262 
  4070.       Disable_Positive_Acks_Increase_Sample_Keep_Duration_Factor : aliased Long := 0;  -- ndds/dds_c/dds_c_infrastructure.h:2266 
  4071.       Min_Send_Window_Size                                       : aliased Long := 0;  -- ndds/dds_c/dds_c_infrastructure.h:2270 
  4072.       Max_Send_Window_Size                                       : aliased Long := 0;  -- ndds/dds_c/dds_c_infrastructure.h:2274 
  4073.       Send_Window_Update_Period                                  : aliased Duration_T := DURATION_ZERO; 
  4074.       Send_Window_Increase_Factor                                : aliased Long := 0;  -- ndds/dds_c/dds_c_infrastructure.h:2282 
  4075.       Send_Window_Decrease_Factor                                : aliased Long := 0;  -- ndds/dds_c/dds_c_infrastructure.h:2286 
  4076.       Enable_Multicast_Periodic_Heartbeat                        : aliased Boolean := False;  -- ndds/dds_c/dds_c_infrastructure.h:2290 
  4077.       Multicast_Resend_Threshold                                 : aliased Long := 0;  -- ndds/dds_c/dds_c_infrastructure.h:2294 
  4078.       Disable_Repair_Piggyback_Heartbeat                         : aliased Boolean := False;  -- ndds/dds_c/dds_c_infrastructure.h:2298 
  4079.    end record 
  4080.      with Convention => C; 
  4081.    pragma Compile_Time_Error (RtpsReliableWriterProtocol'Size /= 
  4082.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_RtpsReliableWriterProtocol_t'Size, 
  4083.                               "RtpsReliableWriterProtocol'size missmatch"); 
  4084.  
  4085.  
  4086.    type RtpsReliableReaderProtocol is record 
  4087.       Min_Heartbeat_Response_Delay       : aliased Duration_T := DURATION_ZERO; 
  4088.       Max_Heartbeat_Response_Delay       : aliased Duration_T := DURATION_ZERO; 
  4089.       Heartbeat_Suppression_Duration     : aliased Duration_T := DURATION_ZERO; 
  4090.       Nack_Period                        : aliased Duration_T := DURATION_ZERO; 
  4091.       Receive_Window_Size                : aliased Long := 0; 
  4092.       Round_Trip_Time                    : aliased Duration_T := DURATION_ZERO; 
  4093.       App_Ack_Period                     : aliased Duration_T := DURATION_ZERO; 
  4094.       Min_App_Ack_Response_Keep_Duration : aliased Duration_T := DURATION_ZERO; 
  4095.       Samples_Per_App_Ack                : aliased Long := 0; 
  4096.    end record 
  4097.      with Convention => C; 
  4098.    pragma Compile_Time_Error (RtpsReliableReaderProtocol'Size /= 
  4099.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_RtpsReliableReaderProtocol_t'Size, 
  4100.                               "RtpsReliableReaderProtocol'size missmatch"); 
  4101.  
  4102.  
  4103.    type BuiltinTopicReaderResourceLimits is record 
  4104.       Initial_Samples                          : aliased Long := 0; 
  4105.       Max_Samples                              : aliased Long := 0; 
  4106.       Initial_Infos                            : aliased Long := 0; 
  4107.       Max_Infos                                : aliased Long := 0; 
  4108.       Initial_Outstanding_Reads                : aliased Long := 0; 
  4109.       Max_Outstanding_Reads                    : aliased Long := 0; 
  4110.       Max_Samples_Per_Read                     : aliased Long := 0; 
  4111.       Disable_Fragmentation_Support            : aliased Boolean := False; 
  4112.       Max_Fragmented_Samples                   : aliased Long := 0; 
  4113.       Initial_Fragmented_Samples               : aliased Long := 0; 
  4114.       Max_Fragmented_Samples_Per_Remote_Writer : aliased Long := 0; 
  4115.       Max_Fragments_Per_Sample                 : aliased Long := 0; 
  4116.       Dynamically_Allocate_Fragmented_Samples  : aliased Boolean := False; 
  4117.    end record 
  4118.      with Convention => C; 
  4119.    pragma Compile_Time_Error (BuiltinTopicReaderResourceLimits'Size /= 
  4120.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_BuiltinTopicReaderResourceLimits_t'Size, 
  4121.                               "BuiltinTopicReaderResourceLimits size missmatch"); 
  4122.  
  4123.    type DiscoveryConfigQosPolicy is record 
  4124.       Participant_Liveliness_Lease_Duration                  : aliased Duration_T := (100, 0); 
  4125.       Participant_Liveliness_Assert_Period                   : aliased Duration_T := (30, 0); 
  4126.       Participant_Announcement_Period                        : aliased Duration_T; 
  4127.       Remote_Participant_Purge_Kind                          : aliased RemoteParticipantPurgeKind := LIVELINESS_BASED_REMOTE_PARTICIPANT_PURGE; 
  4128.       Max_Liveliness_Loss_Detection_Period                   : aliased Duration_T := (60, 0); 
  4129.       Initial_Participant_Announcements                      : aliased Long := 5; 
  4130.       New_Remote_Participant_Announcements                   : aliased Long := 5; 
  4131.       Min_Initial_Participant_Announcement_Period            : aliased Duration_T := (1, 0); 
  4132.       Max_Initial_Participant_Announcement_Period            : aliased Duration_T := (1, 0); 
  4133.       Participant_Reader_Resource_Limits                     : aliased BuiltinTopicReaderResourceLimits_T := BUILTIN_TOPIC_READER_RESOURCE_LIMITS_DEFAULT; 
  4134.       Publication_Reader                                     : aliased RtpsReliableReaderProtocol_T := RTPS_RELIABLE_READER_PROTOCOL_DISCOVERY_CONFIG_DEFAULT; 
  4135.       Publication_Reader_Resource_Limits                     : aliased BuiltinTopicReaderResourceLimits_T; 
  4136.       Subscription_Reader                                    : aliased RtpsReliableReaderProtocol_T; 
  4137.       Subscription_Reader_Resource_Limits                    : aliased BuiltinTopicReaderResourceLimits_T; 
  4138.       Publication_Writer                                     : aliased RtpsReliableWriterProtocol_T; 
  4139.       Publication_Writer_Data_Lifecycle                      : aliased WriterDataLifecycleQosPolicy; 
  4140.       Subscription_Writer                                    : aliased RtpsReliableWriterProtocol_T; 
  4141.       Subscription_Writer_Data_Lifecycle                     : aliased WriterDataLifecycleQosPolicy; 
  4142.       Endpoint_Plugin_Redundancy_Level                       : aliased Long := 0; 
  4143.       Builtin_Discovery_Plugins                              : aliased DiscoveryConfigBuiltinPluginKindMask := DISCOVERYCONFIG_BUILTIN_PLUGIN_MASK_DEFAULT; 
  4144.       Enabled_Builtin_Channels                               : aliased DiscoveryConfigBuiltinChannelKindMask := 2#0000_0000_0000_0000#; 
  4145.       Participant_Message_Reader_Reliability_Kind            : aliased ReliabilityQosPolicyKind  := BEST_EFFORT_RELIABILITY_QOS; 
  4146.       Participant_Message_Reader                             : aliased RtpsReliableReaderProtocol_T; 
  4147.       Participant_Message_Writer                             : aliased RtpsReliableWriterProtocol_T; 
  4148.       Publication_Writer_Publish_Mode                        : aliased PublishModeQosPolicy; 
  4149.       Subscription_Writer_Publish_Mode                       : aliased PublishModeQosPolicy; 
  4150.       Asynchronous_Publisher                                 : aliased AsynchronousPublisherQosPolicy; 
  4151.       Default_Domain_Announcement_Period                     : aliased Duration_T; 
  4152.       Ignore_Default_Domain_Announcements                    : aliased Boolean := False; 
  4153.       Service_Request_Writer                                 : aliased RtpsReliableWriterProtocol_T; 
  4154.       Service_Request_Writer_Data_Lifecycle                  : aliased WriterDataLifecycleQosPolicy; 
  4155.       Service_Request_Writer_Publish_Mode                    : aliased PublishModeQosPolicy; 
  4156.       Service_Request_Reader                                 : aliased RtpsReliableReaderProtocol_T; 
  4157.       Locator_Reachability_Assert_Period                     : aliased Duration_T; 
  4158.       Locator_Reachability_Lease_Duration                    : aliased Duration_T; 
  4159.       Locator_Reachability_Change_Detection_Period           : aliased Duration_T; 
  4160.       Secure_Volatile_Writer                                 : aliased RtpsReliableWriterProtocol_T; 
  4161.       Secure_Volatile_Writer_Publish_Mode                    : aliased PublishModeQosPolicy; 
  4162.       Secure_Volatile_Reader                                 : aliased RtpsReliableReaderProtocol_T; 
  4163.       Endpoint_Type_Object_LB_Serialization_Threshold        : aliased Long := 0; 
  4164.       Dns_Tracker_Polling_Period                             : aliased Duration_T; 
  4165.       Participant_Configuration_Writer_Publish_Mode          : aliased PublishModeQosPolicy; 
  4166.       Participant_Configuration_Writer                       : aliased RtpsReliableWriterProtocol; 
  4167.       Participant_Configuration_Writer_Data_Lifecycle        : aliased WriterDataLifecycleQosPolicy; 
  4168.       Participant_Configuration_Reader                       : aliased RtpsReliableReaderProtocol; 
  4169.       Participant_Configuration_Reader_Resource_Limits       : aliased BuiltinTopicReaderResourceLimits; 
  4170.       Sedp_Rely_On_Spdp_Only                                 : aliased Boolean := False; 
  4171.       Publication_Writer_Latency_Budget                      : aliased LatencyBudgetQosPolicy; 
  4172.       Publication_Writer_Push_On_Write                       : aliased Boolean := True; 
  4173.       Subscription_Writer_Latency_Budget                     : aliased LatencyBudgetQosPolicy; 
  4174.       Subscription_Writer_Push_On_Write                      : aliased Boolean := False; 
  4175.       Participant_State_Writer                               : aliased RtpsReliableWriterProtocol_T; 
  4176.       Participant_State_Writer_Latency_Budget                : aliased LatencyBudgetQosPolicy; 
  4177.       Participant_State_Writer_Push_On_Write                 : aliased Boolean := False; 
  4178.       Participant_State_Writer_Publish_Mode                  : aliased PublishModeQosPolicy; 
  4179.       Participant_Proxy_Reader                               : aliased RtpsReliableReaderProtocol_T; 
  4180.       Participant_Proxy_Reader_Fragmentation_Resource_Limits : aliased DiscoveryBuiltinReaderFragmentationResourceLimits_T; 
  4181.    end record with Convention => C; 
  4182.    pragma Compile_Time_Error (DiscoveryConfigQosPolicy'Size /= 
  4183.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_DiscoveryConfigQosPolicy'Size, 
  4184.                               "DiscoveryConfigQosPolicy size missmatch."); 
  4185.  
  4186.    --  <dref>DiscoveryConfigQosPolicy</dref> 
  4187.    --  <dref name="participant_liveliness_lease_duration">DiscoveryConfigQosPolicy_participant_liveliness_lease_duration</dref> 
  4188.    --  <dref name="participant_liveliness_assert_period">DiscoveryConfigQosPolicy_participant_liveliness_assert_period</dref> 
  4189.    --  <dref name="remote_participant_purge_kind">DiscoveryConfigQosPolicy_remote_participant_purge_kind</dref> 
  4190.    --  <dref name="max_liveliness_loss_detection_period">DiscoveryConfigQosPolicy_max_liveliness_loss_detection_period</dref> 
  4191.    --  <dref name="initial_participant_announcements">DiscoveryConfigQosPolicy_initial_participant_announcements</dref> 
  4192.    --  <dref name="min_initial_participant_announcement_period">DiscoveryConfigQosPolicy_min_initial_participant_announcement_period</dref> 
  4193.    --  <dref name="max_initial_participant_announcement_period">DiscoveryConfigQosPolicy_max_initial_participant_announcement_period</dref> 
  4194.    --  <dref name="participant_reader_resource_limits">DiscoveryConfigQosPolicy_participant_reader_resource_limits</dref> 
  4195.    --  <dref name="publication_reader">DiscoveryConfigQosPolicy_publication_reader</dref> 
  4196.    --  <dref name="publication_reader_resource_limits">DiscoveryConfigQosPolicy_publication_reader_resource_limits</dref> 
  4197.    --  <dref name="subscription_reader">DiscoveryConfigQosPolicy_subscription_reader</dref> 
  4198.    --  <dref name="subscription_reader_resource_limits">DiscoveryConfigQosPolicy_subscription_reader_resource_limits</dref> 
  4199.    --  <dref name="publication_writer">DiscoveryConfigQosPolicy_publication_writer</dref> 
  4200.    --  <dref name="publication_writer_data_lifecycle">DiscoveryConfigQosPolicy_publication_writer_data_lifecycle</dref> 
  4201.    --  <dref name="subscription_writer">DiscoveryConfigQosPolicy_subscription_writer</dref> 
  4202.    --  <dref name="subscription_writer_data_lifecycle">DiscoveryConfigQosPolicy_subscription_writer_data_lifecycle</dref> 
  4203.    --  <dref internal="true" name="endpoint_plugin_redundancy_level">DiscoveryConfigQosPolicy_endpoint_plugin_redundancy_level</dref> 
  4204.    --  <dref name="Builtin_Discovery_Plugins">DiscoveryConfigQosPolicy_builtin_discovery_plugins</dref> 
  4205.    --  <dref name="Participant_Message_Reader_Reliability_Kind">DiscoveryConfigQosPolicy_participant_message_reader_reliability_kind</dref> 
  4206.    --  <dref name="participant_message_reader">DiscoveryConfigQosPolicy_participant_message_reader</dref> 
  4207.    --  <dref name="participant_message_writer">DiscoveryConfigQosPolicy_participant_message_writer</dref> 
  4208.    --  <dref name="Publication_Writer_Publish_Mode">DiscoveryConfigQosPolicy_publication_writer_publish_mode</dref> 
  4209.    --  <dref name="Subscription_Writer_Publish_Mode">DiscoveryConfigQosPolicy_subscription_writer_publish_mode</dref> 
  4210.    --  <dref name="Asynchronous_Publisher">DiscoveryConfigQosPolicy_asynchronous_publisher</dref> 
  4211.    --  <dref name="default_domain_announcement_period">DiscoveryConfigQosPolicy_default_domain_announcement_period</dref> 
  4212.    --  <dref name="ignore_default_domain_announcements">DiscoveryConfigQosPolicy_ignore_default_domain_announcements</dref> 
  4213.    --  <dref internal="true" name="Service_Request_Writer_Data_Lifecycle">DiscoveryConfigQosPolicy_Service_Request_Writer_Data_Lifecycle</dref> 
  4214.    --  <dref internal="true" name="Service_Request_Writer_Publish_Mode">DiscoveryConfigQosPolicy_Service_Request_Writer_Publish_Mode</dref> 
  4215.    --  <dref internal="true" name="Service_Request_Reader">DiscoveryConfigQosPolicy_Service_Request_Reader</dref> 
  4216.    --  <dref internal="true" name="Locator_Reachability_Assert_Period">DiscoveryConfigQosPolicy_Locator_Reachability_Assert_Period </dref> 
  4217.    --  <dref internal="true" name="Locator_Reachability_Lease_Duration">DiscoveryConfigQosPolicy_Locator_Reachability_Lease_Duration</dref> 
  4218.    --  <dref internal="true" name="Locator_Reachability_Change_Detection_Period">DiscoveryConfigQosPolicy_Locator_Reachability_Change_Detection_Period</dref> 
  4219.    --  <dref internal="true" name="Secure_Volatile_Writer">DiscoveryConfigQosPolicy_secure_volatile_writer</dref> 
  4220.    --  <dref internal="true" name="Secure_Volatile_Writer_Publish_Mode">DiscoveryConfigQosPolicy_secure_volatile_writer_publish_mode</dref> 
  4221.    --  <dref internal="true" name="Secure_Volatile_Reader">DiscoveryConfigQosPolicy_secure_volatile_reader</dref> 
  4222.    --  <dref internal="true" name="Endpoint_Type_Object_LB_Serialization_Threshold">DiscoveryConfigQosPolicy_Endpoint_Type_Object_LB_Serialization_Threshold</dref> 
  4223.    --  <dref internal="true" name="Dns_Tracker_Polling_Period">DiscoveryConfigQosPolicy_Dns_Tracker_Polling_Period</dref> 
  4224.    --  <dref internal="true" name="sedp_rely_on_spdp_only">DiscoveryConfigQosPolicy_publication_sedp_rely_on_spdp_only</dref> 
  4225.    --  <dref internal="true" name="publication_writer_latency_budget">DiscoveryConfigQosPolicy_publication_writer_latency_budget</dref> 
  4226.    --  <dref internal="true" name="publication_writer_push_on_write">DiscoveryConfigQosPolicy_publication_writer_push_on_write</dref> 
  4227.    --  <dref internal="true" name="subscription_writer_latency_budget">DiscoveryConfigQosPolicy_subscription_writer_latency_budget</dref> 
  4228.    --  <dref internal="true" name="subscription_writer_push_on_write">DiscoveryConfigQosPolicy_subscription_writer_push_on_write</dref> 
  4229.    --  <dref internal="true" name="participant_state_writer">DiscoveryConfigQosPolicy_participant_state_writer</dref> 
  4230.    --  <dref internal="true" name="participant_state_writer_latency_budget">DiscoveryConfigQosPolicy_participant_state_writer_latency_budget</dref> 
  4231.    --  <dref internal="true" name="participant_state_writer_push_on_write">DiscoveryConfigQosPolicy_participant_state_writer_push_on_write</dref> 
  4232.    --  <dref internal="true" name="participant_state_writer_publish_mode">DiscoveryConfigQosPolicy_participant_state_writer_publish_mode</dref> 
  4233.    --  <dref internal="true" name="participant_proxy_reader">DiscoveryConfigQosPolicy_participant_proxy_reader</dref> 
  4234.    --  <dref internal="true" name="participant_proxy_reader_fragmentation_resource_limits">DiscoveryConfigQosPolicy_participant_proxy_reader_fragmentation_resource_limits</dref> 
  4235.    --  <dref internal="true" name="plugin_promiscuity_kind">DiscoveryConfigQosPolicy_plugin_promiscuity_kind</dref> 
  4236.  
  4237.  
  4238.    DISCOVERY_CONFIG_QOS_POLICY_DEFAULT : constant DiscoveryConfigQosPolicy := (others => <>); 
  4239.    --  <dref internal="true"></dref> 
  4240.  
  4241.    --  ---------------------------------------------------------- 
  4242.    --                  USEROBJECT (eXtension QoS) 
  4243.    --  ---------------------------------------------------------- 
  4244.  
  4245.    USEROBJECT_QOS_POLICY_NAME    : constant DDS.String := To_DDS_String ("UserObject"); 
  4246.    --  <defgroup internal="true">UserObjectQosGroupDocs</defgroup> 
  4247.    --  <dref internal="true">USEROBJECT_QOS_POLICY_NAME</dref> 
  4248.  
  4249.    type UserObjectQosPolicy is record 
  4250.       Participant_User_Object            : aliased UserObjectSettings_T; 
  4251.       Topic_User_Object                  : aliased UserObjectSettings_T; 
  4252.       Content_Filtered_Topic_User_Object : aliased UserObjectSettings_T; 
  4253.       Publisher_User_Object              : aliased UserObjectSettings_T; 
  4254.       Data_Writer_User_Object            : aliased UserObjectSettings_T; 
  4255.       Subscriber_User_Object             : aliased UserObjectSettings_T; 
  4256.       Data_Reader_User_Object            : aliased UserObjectSettings_T; 
  4257.       Read_Condition_User_Object         : aliased UserObjectSettings_T; 
  4258.       Query_Condition_User_Object        : aliased UserObjectSettings_T; 
  4259.       Index_Condition_User_Object        : aliased UserObjectSettings_T; 
  4260.       Flow_Controller_User_Object        : aliased UserObjectSettings_T; 
  4261.    end record with Convention => C; 
  4262.    pragma Compile_Time_Error (UserObjectQosPolicy'Size /= 
  4263.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_UserObjectQosPolicy'Size, 
  4264.                               "UserObjectQosPolicy size missmatch."); 
  4265.  
  4266.    --  <dref internal="true">UserObjectQosPolicy</dref> 
  4267.    --  <dref internal="true" name="Participant_User_Object">UserObjectQosPolicy_participant_user_object</dref> 
  4268.    --  <dref internal="true" name="Topic_User_Object">UserObjectQosPolicy_topic_user_object</dref> 
  4269.    --  <dref internal="true" name="Content_Filtered_Topic_User_Object">UserObjectQosPolic_content_filtered_topic_user_object</dref> 
  4270.    --  <dref internal="true" name="Publisher_User_Object">UserObjectQosPolicy_publisher_user_object</dref> 
  4271.    --  <dref internal="true" name="Data_Writer_User_Object">UserObjectQosPolicy_data_writer_user_object</dref> 
  4272.    --  <dref internal="true" name="Subscriber_User_Object">UserObjectQosPolicy_subscriber_user_object</dref> 
  4273.    --  <dref internal="true" name="Data_Reader_User_Object">UserObjectQosPolicy_data_reader_user_object</dref> 
  4274.    --  <dref internal="true" name="Read_Condition_User_Object">UserObjectQosPolicy_read_condition_user_object</dref> 
  4275.    --  <dref internal="true" name="Query_Condition_User_Object">UserObjectQosPolicy_query_condition_user_object</dref> 
  4276.    --  <dref internal="true" name="Index_Condition_User_Object">UserObjectQosPolicy_index_condition_user_object</dref> 
  4277.    --  <dref internal="true" name="Flow_Controller_User_Object">UserObjectQosPolicy_flow_controller_user_object</dref> 
  4278.  
  4279.    USER_OBJECT_QOS_POLICY_DEFAULT : constant UserObjectQosPolicy := (others => <>); 
  4280.    --  <dref internal="true"></dref> 
  4281.  
  4282.    --  ---------------------------------------------------------- 
  4283.    --                  DATAWRITERTRANSFERMODE 
  4284.    --  ---------------------------------------------------------- 
  4285.  
  4286.    DATAWRITERTRANSFERMODE_QOS_POLICY_NAME : constant DDS.String := To_DDS_String ("DataWriterTransferMode"); 
  4287.    --  <defgroup>DataWriterTransferModeQosGroupDocs</defgroup> 
  4288.    --  <dref>DATAWRITERTRANSFERMODE_QOS_POLICY_NAME</dref> 
  4289.  
  4290.    type DataWriterShmemRefTransferModeSettings is record 
  4291.       Enable_Data_Consistency_Check : aliased DDS.Boolean; 
  4292.    end record with Convention => C; 
  4293.    pragma Compile_Time_Error (DataWriterShmemRefTransferModeSettings'Size /= 
  4294.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_DataWriterShmemRefTransferModeSettings'Size, 
  4295.                               "DataWriterShmemRefTransferModeSettings size missmatch."); 
  4296.  
  4297.    --  <dref>DataWriterShmemRefTransferModeSettings</dref> 
  4298.    --  <dref name="Enable_Data_Consistency_Check">DataWriterShmemRefTransferModeSettings_enable_data_consistency_check</dref> 
  4299.  
  4300.    DataWriterShmemRefTransferModeSettings_INITIALIZER : constant DataWriterShmemRefTransferModeSettings := 
  4301.      (Enable_Data_Consistency_Check => True); 
  4302.  
  4303.    type DataWriterShmemRefTransferModeSettings_Access is access all DataWriterShmemRefTransferModeSettings; 
  4304.  
  4305.    function DataWriterShmemRefTransferModeSettings_Equals 
  4306.      (Self  : in DataWriterShmemRefTransferModeSettings_Access; 
  4307.       Other : in DataWriterShmemRefTransferModeSettings_Access) 
  4308.       return DDS.Boolean; 
  4309.    --  <dref internal="true">DataWriterShmemRefTransferModeSettings_Equals</dref> 
  4310.  
  4311.    pragma Warnings (Off, DataWriterShmemRefTransferModeSettings_Equals); 
  4312.    pragma Import (C, DataWriterShmemRefTransferModeSettings_Equals, "DDS_DataWriterShmemRefTransferModeSettings_equals"); 
  4313.  
  4314.    type DataWriterTransferModeQosPolicy is record 
  4315.       Shmem_Ref_Settings : aliased DataWriterShmemRefTransferModeSettings; 
  4316.    end record with Convention => C; 
  4317.    pragma Compile_Time_Error (DataWriterTransferModeQosPolicy'Size /= 
  4318.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_DataWriterTransferModeQosPolicy'Size, 
  4319.                               "DataWriterTransferModeQosPolicy size missmatch."); 
  4320.  
  4321.    --  <dref>DataWriterTransferModeQosPolicy</dref> 
  4322.    --  <dref name="Shmem_Ref_Settings">DataWriterTransferModeQosPolicy_shmem_ref_settings</dref> 
  4323.  
  4324.    DataWriterTransferModeQosPolicy_INITIALIZER : constant DataWriterTransferModeQosPolicy := 
  4325.      (Shmem_Ref_Settings => DataWriterShmemRefTransferModeSettings_INITIALIZER); 
  4326.  
  4327.    type DataWriterTransferModeQosPolicy_Access is access all DataWriterTransferModeQosPolicy; 
  4328.  
  4329.    function DataWriterTransferModeQosPolicy_Equals 
  4330.      (Self  : in DataWriterTransferModeQosPolicy_Access; 
  4331.       Other : in DataWriterTransferModeQosPolicy_Access) 
  4332.       return DDS.Boolean; 
  4333.    --  <dref internal="true">DataWriterTransferModeQosPolicy_equals</dref> 
  4334.  
  4335.    pragma Warnings (Off, DataWriterTransferModeQosPolicy_Equals); 
  4336.    pragma Import (C, DataWriterTransferModeQosPolicy_Equals, "DDS_DataWriterTransferModeQosPolicy_equals"); 
  4337.  
  4338.    --  ---------------------------------------------------------- 
  4339.    --                  TOPICQUERYDISPATCH (eXtension QoS) 
  4340.    --  ---------------------------------------------------------- 
  4341.  
  4342.    TOPIC_QUERY_DISPATCH_QOS_POLICY_NAME : constant DDS.String := To_DDS_String ("TopicQueryDispatch"); 
  4343.    --  <defgroup>TopicQueryDispatchQosGroupDocs</defgroup> 
  4344.    --  <dref>TOPICQUERYDISPATCH_QOS_POLICY_NAME</dref> 
  4345.  
  4346.    type TopicQueryDispatchQosPolicy is record 
  4347.       Enable                      : aliased DDS.Boolean := False; 
  4348.       Publication_Period          : aliased Duration_T := (16#0000_0001#, 16#0000_0000#); 
  4349.       Samples_Per_Period          : aliased DDS.Long := -1; 
  4350.    end record with Convention => C; 
  4351.    pragma Compile_Time_Error (TopicQueryDispatchQosPolicy'Size /= 
  4352.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_TopicQueryDispatchQosPolicy'Size, 
  4353.                               "TopicQueryDispatchQosPolicy size missmatch."); 
  4354.  
  4355.    --  <dref>TopicQueryDispatchQosPolicy</dref> 
  4356.    --  <dref name="Publication_Period">TopicQueryDispatchQosPolicy_publication_period</dref> 
  4357.    --  <dref name="Samples_Per_Period">TopicQueryDispatchQosPolicy_samples_per_period</dref> 
  4358.  
  4359.    TOPIC_QUERY_DISPATCH_QOS_POLICY_DEFAULT : constant TopicQueryDispatchQosPolicy := (others => <>); 
  4360.    --  <dref internal="true"></dref> 
  4361.  
  4362.    --  ---------------------------------------------------------- 
  4363.    --                  BATCH (eXtension QoS) 
  4364.    --  ---------------------------------------------------------- 
  4365.  
  4366.    BATCH_QOS_POLICY_NAME         : constant DDS.String := To_DDS_String ("Batch"); 
  4367.    --  <defgroup>BatchQosGroupDocs</defgroup> 
  4368.    --  <dref>BATCH_QOS_POLICY_NAME</dref> 
  4369.  
  4370.    type BatchQosPolicy is record 
  4371.       Enable                      : aliased DDS.Boolean := False; 
  4372.       Max_Data_Bytes              : aliased DDS.Long := 1024; 
  4373.       Max_Meta_Data_Bytes         : aliased DDS.Long := LENGTH_UNLIMITED; 
  4374.       Max_Samples                 : aliased DDS.Long := LENGTH_UNLIMITED; 
  4375.       Max_Flush_Delay             : aliased Duration_T := DURATION_INFINITE; 
  4376.       Source_Timestamp_Resolution : aliased Duration_T := DURATION_INFINITE; 
  4377.       Thread_Safe_Write           : aliased DDS.Boolean := True; 
  4378.    end record with Convention => C; 
  4379.    pragma Compile_Time_Error (BatchQosPolicy'Size /= 
  4380.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_BatchQosPolicy'Size, 
  4381.                               "BatchQosPolicy size missmatch."); 
  4382.  
  4383.    --  <dref>BatchQosPolicy</dref> 
  4384.    --  <dref name="enable">BatchQosPolicy_enable</dref> 
  4385.    --  <dref name="max_data_bytes">BatchQosPolicy_max_data_bytes</dref> 
  4386.    --  <dref internal="true" name="max_meta_data_bytes">BatchQosPolicy_max_meta_data_bytes</dref> 
  4387.    --  <dref name="max_samples">BatchQosPolicy_max_samples</dref> 
  4388.    --  <dref name="max_flush_delay">BatchQosPolicy_max_flush_delay</dref> 
  4389.    --  <dref name="source_timestamp_resolution">BatchQosPolicy_source_timestamp_resolution</dref> 
  4390.    --  <dref name="thread_safe_write">BatchQosPolicy_thread_safe_write</dref> 
  4391.  
  4392.    BATCH_QOS_POLICY_DEFAULT      : constant BatchQosPolicy := (others => <>); 
  4393.    --  <dref internal="true"></dref> 
  4394.  
  4395.    --  ---------------------------------------------------------- 
  4396.    --       TYPE_CONSISTENCY_ENFORCEMENT (XTYPES) 
  4397.    --  ---------------------------------------------------------- 
  4398.  
  4399.    TYPE_CONSISTENCY_ENFORCEMENT_QOS_POLICY_NAME : constant DDS.String := To_DDS_String ("TypeConsistencyEnforcement"); 
  4400.    --  <defgroup>TypeConsistencyEnforcementQosGroupDocs</defgroup> 
  4401.    --  <dref>TYPE_CONSISTENCY_ENFORCEMENT_QOS_POLICY_NAME</dref> 
  4402.  
  4403.    type TypeConsistencyKind is new Unsigned_Long; 
  4404.    --  <dref>TypeConsistencyKind</dref> 
  4405.  
  4406.    DISALLOW_TYPE_COERCION        : constant TypeConsistencyKind := 0; 
  4407.    --  <dref>TypeConsistencyKind_DISALLOW_TYPE_COERCION</dref> 
  4408.  
  4409.    ALLOW_TYPE_COERCION           : constant TypeConsistencyKind := 1; 
  4410.    --  <dref>TypeConsistencyKind_ALLOW_TYPE_COERCION</dref> 
  4411.  
  4412.    AUTO_TYPE_COERCION            : constant TypeConsistencyKind := 2; 
  4413.    --  <dref>TypeConsistencyKind_AUTO_TYPE_COERCION</dref> 
  4414.  
  4415.    type TypeConsistencyEnforcementQosPolicy is record 
  4416.       Kind                      : aliased TypeConsistencyKind := ALLOW_TYPE_COERCION; 
  4417.       Ignore_Sequence_Bounds    : aliased Boolean := False; 
  4418.       Ignore_String_Bounds      : aliased Boolean := False; 
  4419.       Ignore_Member_Names       : aliased Boolean := False; 
  4420.       Prevent_Type_Widening     : aliased Boolean := False; 
  4421.       Force_Type_Validation     : aliased Boolean := False; 
  4422.       Ignore_Enum_Literal_Names : aliased Boolean := False; 
  4423.    end record with Convention => C; 
  4424.    pragma Compile_Time_Error (TypeConsistencyEnforcementQosPolicy'Size /= 
  4425.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_TypeConsistencyEnforcementQosPolicy'Size, 
  4426.                               "TypeConsistencyEnforcementQosPolicy size missmatch."); 
  4427.  
  4428.    --  <dref>TypeConsistencyEnforcementQosPolicy</dref> 
  4429.    --  <dref name="kind">TypeConsistencyEnforcementQosPolicy_kind</dref> 
  4430.    --  <dref name="Ignore_Sequence_Bounds">TypeConsistencyEnforcementQosPolicy_ignore_sequence_bounds</dref> 
  4431.    --  <dref name="Ignore_String_Bounds">TypeConsistencyEnforcementQosPolicy_ignore_string_bounds</dref> 
  4432.    --  <dref name="Ignore_Member_Names">TypeConsistencyEnforcementQosPolicy_ignore_member_names</dref> 
  4433.    --  <dref name="Prevent_Type_Widening">TypeConsistencyEnforcementQosPolicy_prevent_type_widening</dref> 
  4434.    --  <dref name="Force_Type_Validation">TypeConsistencyEnforcementQosPolicy_force_type_validation</dref> 
  4435.    --  <dref name="Ignore_Enum_Literal_Names">TypeConsistencyEnforcementQosPolicy_ignore_enum_literal_names</dref> 
  4436.  
  4437.    TYPE_CONSISTENCY_ENFORCEMENT_QOS_POLICY_DEFAULT : constant TypeConsistencyEnforcementQosPolicy := (others => <>); 
  4438.    --  <dref internal="true"></dref> 
  4439.  
  4440.    --  ---------------------------------------------------------- 
  4441.    --                  LOCATORFILTER (eXtension QoS) 
  4442.    --  ---------------------------------------------------------- 
  4443.  
  4444.    type LocatorFilter_T is record 
  4445.       Locators          : aliased Locator_Seq.Sequence; 
  4446.       Filter_Expression : DDS.String; 
  4447.    end record with Convention => C; 
  4448.    pragma Compile_Time_Error (LocatorFilter_T'Size /= 
  4449.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_LocatorFilter_t'Size, 
  4450.                               "LocatorFilter_T size missmatch."); 
  4451.    --  <defgroup>LocatorFilterQosGroupDocs</defgroup> 
  4452.    --  <dref>LocatorFilter_t</dref> 
  4453.    --  <dref name="locators">LocatorFilter_t_locators</dref> 
  4454.    --  <dref name="filter_expression">LocatorFilter_t_filter_expression</dref> 
  4455.  
  4456.  
  4457.    type LocatorFilter_T_Access is access all LocatorFilter_T; 
  4458.    type LocatorFilter_T_Array is array 
  4459.      (Natural range <>) of aliased LocatorFilter_T; 
  4460.    procedure Initialize (Self : in out LocatorFilter_T); 
  4461.    procedure Finalize (Self : in out LocatorFilter_T); 
  4462.    procedure Copy (Dst : in out LocatorFilter_T; 
  4463.                    Src : in LocatorFilter_T); 
  4464.    package LocatorFilter_Seq is new DDS_Support.Sequences_Generic 
  4465.      (LocatorFilter_T, 
  4466.       LocatorFilter_T_Access, 
  4467.       DDS.Natural, 
  4468.       1, 
  4469.       LocatorFilter_T_Array); 
  4470.    --  <dref>LocatorFilterSeq</dref> 
  4471.  
  4472.    LOCATORFILTER_QOS_POLICY_NAME : constant DDS.String := To_DDS_String ("LocatorFilter"); 
  4473.    --  <dref>LOCATORFILTER_QOS_POLICY_NAME</dref> 
  4474.  
  4475.    type LocatorFilterQosPolicy is record 
  4476.       Locator_Filters : aliased DDS.LocatorFilter_Seq.Sequence; 
  4477.       Filter_Name     : aliased DDS.String; 
  4478.    end record with Convention => C; 
  4479.    pragma Compile_Time_Error (LocatorFilterQosPolicy'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_LocatorFilterQosPolicy'Size, "LocatorFilterQosPolicy size missmatch."); 
  4480.  
  4481.    --  <dref>LocatorFilterQosPolicy</dref> 
  4482.    --  <dref name="locator_filters">LocatorFilterQosPolicy_locator_filters</dref> 
  4483.    --  <dref name="filer_name">LocatorFilterQosPolicy_filter_name</dref> 
  4484.  
  4485.    LOCATOR_FILTER_QOS_POLICY_DEFAULT : constant LocatorFilterQosPolicy := (others => <>); 
  4486.  
  4487.    --  ---------------------------------------------------------- 
  4488.    --                  MULTICHANNEL (eXtension QoS) 
  4489.    --  ---------------------------------------------------------- 
  4490.  
  4491.    type ChannelSettings_T is record 
  4492.       Multicast_Settings : aliased TransportMulticastSettings_Seq.Sequence; 
  4493.       Filter_Expression  : DDS.String; 
  4494.       Priority           : DDS.Long; 
  4495.    end record with Convention => C; 
  4496.    pragma Compile_Time_Error (ChannelSettings_T'Size /= 
  4497.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_ChannelSettings_t'Size, 
  4498.                               "ChannelSettings_T size missmatch."); 
  4499.  
  4500.    --  <defgroup>MultiChannelQosGroupDocs</defgroup> 
  4501.    --  <dref>ChannelSettings_t</dref> 
  4502.    --  <dref name="multicast_settings">ChannelSettings_t_multicast_settings</dref> 
  4503.    --  <dref name="filter_expression">ChannelSettings_t_filter_expression</dref> 
  4504.    --  <dref name="priority">ChannelSettings_t_priority</dref> 
  4505.  
  4506.    type ChannelSettings_T_Access is access all ChannelSettings_T; 
  4507.    type ChannelSettings_T_Array is array 
  4508.      (Natural range <>) of aliased ChannelSettings_T; 
  4509.    procedure Initialize (Self : in out ChannelSettings_T); 
  4510.    procedure Finalize (Self : in out ChannelSettings_T); 
  4511.    procedure Copy (Dst : in out ChannelSettings_T; 
  4512.                    Src : in ChannelSettings_T); 
  4513.  
  4514.    package ChannelSettings_Seq is new DDS_Support.Sequences_Generic 
  4515.      (ChannelSettings_T, 
  4516.       ChannelSettings_T_Access, 
  4517.       DDS.Natural, 
  4518.       1, 
  4519.       ChannelSettings_T_Array); 
  4520.    --  <dref>ChannelSettingsSeq</dref> 
  4521.  
  4522.    MULTICHANNEL_QOS_POLICY_NAME : constant DDS.String := To_DDS_String ("MultiChannel"); 
  4523.    --  <dref>MULTICHANNEL_QOS_POLICY_NAME</dref> 
  4524.  
  4525.    type MultiChannelQosPolicy is record 
  4526.       Channels    : aliased DDS.ChannelSettings_Seq.Sequence; 
  4527.       Filter_Name : aliased DDS.String; 
  4528.    end record with Convention => C; 
  4529.    pragma Compile_Time_Error (MultiChannelQosPolicy'Size /= 
  4530.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_MultiChannelQosPolicy'Size, 
  4531.                               "MultiChannelQosPolicy size missmatch."); 
  4532.  
  4533.    --  <dref>MultiChannelQosPolicy</dref> 
  4534.    --  <dref name="channels">MultiChannelQosPolicy_channels</dref> 
  4535.    --  <dref name="filter_name">MultiChannelQosPolicy_filter_name</dref> 
  4536.  
  4537.  
  4538.    --     MULTICHANNEL_QOS_POLICY_DEFAULT : constant MultiChannelQosPolicy := 
  4539.    --       ( 
  4540.    --        channels    => DDS.ChannelSettings_Seq.DEFAULT_SEQUENCE, 
  4541.    --        filter_name => DDS.NULL_STRING 
  4542.    --       ); 
  4543.  
  4544.    --  ---------------------------------------------------------- 
  4545.    --                  PROPERTY (eXtension QoS) 
  4546.    --  ---------------------------------------------------------- 
  4547.  
  4548.    type Property_T is record 
  4549.       Name      : aliased DDS.String; 
  4550.       Value     : aliased DDS.String; 
  4551.       Propagate : aliased DDS.Boolean := False; 
  4552.    end record with Convention => C; 
  4553.    pragma Compile_Time_Error (Property_T'Size /= 
  4554.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_Property_t'Size, 
  4555.                               "Property_T size missmatch."); 
  4556.  
  4557.    --  <defgroup>PropertyQosGroupDocs</defgroup> 
  4558.    --  <dref>Property_t</dref> 
  4559.    --  <dref name="Name">Property_t_name</dref> 
  4560.    --  <dref name="Value">Property_t_value</dref> 
  4561.    --  <dref name="Propagate">Property_t_propagate</dref> 
  4562.  
  4563.    type Property_T_Access is access all Property_T; 
  4564.  
  4565.    type Property_T_Array is array (Natural range <>) of aliased Property_T; 
  4566.    procedure Initialize (Self  : in out Property_T); 
  4567.    procedure Finalize (Self  : in out Property_T); 
  4568.    procedure Copy (Dst : in out Property_T; Src : in Property_T); 
  4569.  
  4570.    package Property_T_Seq is new DDS_Support.Sequences_Generic 
  4571.      (Property_T, 
  4572.       Property_T_Access, 
  4573.       DDS.Natural, 
  4574.       1, 
  4575.       Property_T_Array); 
  4576.    --  <dref>PropertySeq</dref> 
  4577.  
  4578.    type Property_T_Seq_Access is access all Property_T_Seq.Sequence; 
  4579.  
  4580.    PROPERTY_QOS_POLICY_NAME : constant DDS.String := To_DDS_String ("Property"); 
  4581.    --  <dref>PROPERTY_QOS_POLICY_NAME</dref> 
  4582.  
  4583.    type PropertyQosPolicy is record 
  4584.       Value :  aliased Property_T_Seq.Sequence; 
  4585.    end record with Convention => C; 
  4586.    pragma Compile_Time_Error (PropertyQosPolicy'Size /= 
  4587.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_PropertyQosPolicy'Size, 
  4588.                               "PropertyQosPolicy size missmatch."); 
  4589.  
  4590.    --  <dref>PropertyQosPolicy</dref> 
  4591.    --  <dref name="Value">PropertyQosPolicy_value</dref> 
  4592.  
  4593.    type PropertyQosPolicy_Access is access all PropertyQosPolicy; 
  4594.  
  4595.    PROPERTY_QOS_POLICY_DEFAULT : constant PropertyQosPolicy := 
  4596.      (Value => Property_T_Seq.DEFAULT_SEQUENCE); 
  4597.  
  4598.  
  4599.  
  4600.    function Contains (P    : PropertyQosPolicy; 
  4601.                       Name : Standard.String) return Boolean; 
  4602.    function Contains (P    : PropertyQosPolicy; 
  4603.                       Name : DDS.String) return Boolean; 
  4604.  
  4605.    function Length (P : PropertyQosPolicy) return Natural; 
  4606.  
  4607.    procedure Append (P         : in out PropertyQosPolicy; 
  4608.                      Name      : Standard.String; 
  4609.                      Value     : Standard.String; 
  4610.                      Propagate : Boolean := False); 
  4611.    procedure Append (P         : in out PropertyQosPolicy; 
  4612.                      Name      : DDS.String; 
  4613.                      Value     : DDS.String; 
  4614.                      Propagate : Boolean := False); 
  4615.  
  4616.    procedure Delete (P : in out PropertyQosPolicy; Name : Standard.String); 
  4617.    procedure Delete (P : in out PropertyQosPolicy; Name : DDS.String); 
  4618.  
  4619.    function Get (P    : PropertyQosPolicy; 
  4620.                  Name : Standard.String) return Standard.String; 
  4621.    function Get (P    : PropertyQosPolicy; 
  4622.                  Name : DDS.String) return DDS.String; 
  4623.  
  4624.    procedure Add_Property (Policy    : in PropertyQosPolicy_Access; 
  4625.                            Name      : in Standard.String; 
  4626.                            Value     : in Standard.String; 
  4627.                            Propagate : in DDS.Boolean); 
  4628.    --  <dref>PropertyQosPolicyHelper_add_property</dref> 
  4629.  
  4630.    procedure Remove_Property (Policy    : in PropertyQosPolicy_Access; 
  4631.                               Name      : in Standard.String); 
  4632.    --  <dref>PropertyQosPolicyHelper_remove_property</dref> 
  4633.  
  4634.    --  ---------------------------------------------------------- 
  4635.    --                  WaitSetProperty_t 
  4636.    --  ---------------------------------------------------------- 
  4637.  
  4638.    type WaitSetProperty_T is record 
  4639.       Max_Event_Count : aliased Long := 0; 
  4640.       Max_Event_Delay : aliased Duration_T; 
  4641.    end record with Convention => C; 
  4642.    pragma Compile_Time_Error (WaitSetProperty_T'Size /= 
  4643.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_WaitSetProperty_t'Size, 
  4644.                               "WaitSetProperty_T size missmatch."); 
  4645.    --  <dref>WaitSetProperty_t</dref> 
  4646.    --  <dref name="max_event_count">WaitSetProperty_t_max_event_count</dref> 
  4647.    --  <dref name="max_event_delay">WaitSetProperty_t_max_event_delay</dref> 
  4648.  
  4649.  
  4650.    --  ---------------------------------------------------------- 
  4651.    --                  EndpointGroup_t 
  4652.    --  ---------------------------------------------------------- 
  4653.  
  4654.    type EndpointGroup_T is record 
  4655.       Role_Name    : aliased DDS.String; 
  4656.       Quorum_Count : aliased Integer := 0; 
  4657.    end record with Convention => C; 
  4658.    --  <dref>EndpointGroup_t</dref> 
  4659.    --  <dref name="role_name">EndpointGroup_t_role_name</dref> 
  4660.    --  <dref name="quorum_count">EndpointGroup_t_quorum_count</dref> 
  4661.  
  4662.    type EndpointGroup_T_Access is access all EndpointGroup_T; 
  4663.  
  4664.    type EndpointGroup_T_Array is array (Natural range <>) of aliased EndpointGroup_T; 
  4665.  
  4666.    pragma Convention (C, EndpointGroup_T_Array); 
  4667.  
  4668.    procedure Initialize (Self  : in out EndpointGroup_T); 
  4669.    procedure Finalize (Self  : in out EndpointGroup_T); 
  4670.    procedure Copy (Dst : in out EndpointGroup_T; Src : in EndpointGroup_T); 
  4671.  
  4672.    package EndpointGroup_T_Seq is new DDS_Support.Sequences_Generic 
  4673.      (Element        => EndpointGroup_T, 
  4674.       Element_Access => EndpointGroup_T_Access, 
  4675.       Index_Type     => Natural, 
  4676.       First_Element  => 1, 
  4677.       Element_Array  => EndpointGroup_T_Array); 
  4678.    --  <dref>EndpointGroupSeq</dref> 
  4679.  
  4680.    type EndpointGroup_T_Seq_Access is access all EndpointGroup_T_Seq.Sequence; 
  4681.  
  4682.    --  ---------------------------------------------------------- 
  4683.    --                  AvailabilityQosPolicy 
  4684.    --  ---------------------------------------------------------- 
  4685.  
  4686.    type AvailabilityQosPolicy is record 
  4687.       Enable_Required_Subscriptions          : aliased Boolean := False; 
  4688.       Max_Data_Availability_Waiting_Time     : aliased Duration_T := (1, 0); 
  4689.       Max_Endpoint_Availability_Waiting_Time : aliased Duration_T := (1, 0); 
  4690.       Required_Matched_Endpoint_Groups       : aliased EndpointGroup_T_Seq.Sequence; 
  4691.    end record with Convention => C; 
  4692.    pragma Compile_Time_Error (AvailabilityQosPolicy'Size /= 
  4693.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_AvailabilityQosPolicy'Size, 
  4694.                               "AvailabilityQosPolicy size missmatch."); 
  4695.  
  4696.    --  <defgroup>AvailabilityQosGroupDocs</defgroup> 
  4697.    --  <dref >AvailabilityQosPolicy</dref> 
  4698.    --  <dref name="enable_required_subscriptions">AvailabilityQosPolicy_enable_required_subscriptions</dref> 
  4699.    --  <dref name="max_data_availability_waiting_time">AvailabilityQosPolicy_max_data_availability_waiting_time</dref> 
  4700.    --  <dref name="max_endpoint_availability_waiting_time">AvailabilityQosPolicy_max_endpoint_availability_waiting_time</dref> 
  4701.    --  <dref name="required_matched_endpoint_groups">AvailabilityQosPolicy_required_matched_endpoint_groups</dref> 
  4702.  
  4703.    AVAILABILITY_QOS_POLICY_NAME : constant DDS.String := To_DDS_String ("Availability"); 
  4704.    --  <dref>AVAILABILITY_QOS_POLICY_NAME</dref> 
  4705.  
  4706.    --  #define DDS_AVAILABILITY_QOS_POLICY_DEFAULT { 
  4707.    --  { 0xffffffffL, 0UL }, /* max_data_availability_waiting_time */\ 
  4708.    --  { 0xffffffffL, 0UL }, /* max_endpoint_availability_waiting_time */ \ 
  4709.    --  EndpointGroup_T_Seq.Sequence.DEFAULT_SEQUENCE /* required_matched_endpoint_groups */ \ 
  4710.  
  4711.    --  package QosPolicyCount_Seq is new DDS_Support.Sequences_Generic 
  4712.    --  (QosPolicyCount, 
  4713.    --   QosPolicyCount_Access, 
  4714.    --   DDS.Natural, 
  4715.    --   1, 
  4716.    --   QosPolicyCount_Array); 
  4717.    --  <dref>QosPolicyCountSeq</dref> 
  4718.  
  4719.    --  ---------------------------------------------------------- 
  4720.    --                  ContentFilterProperty_t 
  4721.    --  ---------------------------------------------------------- 
  4722.  
  4723.    type ContentFilterProperty_T is record 
  4724.       Content_Filter_Topic_Name : aliased DDS.String; 
  4725.       Related_Topic_Name        : aliased DDS.String; 
  4726.       Filter_Class_Name         : aliased DDS.String; 
  4727.       Filter_Expression         : aliased DDS.String; 
  4728.       Expression_Parameters     : aliased DDS.String_Seq.Sequence; 
  4729.    end record with Convention => C; 
  4730.    pragma Compile_Time_Error (ContentFilterProperty_T'Size /= 
  4731.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_ContentFilterProperty_t'Size, 
  4732.                               "ContentFilterProperty_T size missmatch."); 
  4733.    --  <dref>ContentFilterProperty_t</dref> 
  4734.    --  <dref name="Content_Filter_Topic_Name">ContentFilterProperty_t_content_filter_topic_name</dref> 
  4735.    --  <dref name="Related_Topic_Name">ContentFilterProperty_t_related_topic_name</dref> 
  4736.    --  <dref name="Filter_Class_Name">ContentFilterProperty_t_filter_class_name</dref> 
  4737.    --  <dref name="Filter_Expression">ContentFilterProperty_t_filter_expression</dref> 
  4738.    --  <dref name="Expression_Parameters">ContentFilterProperty_t_expression_parameters</dref> 
  4739.  
  4740.    CONTENT_FILTER_PROPERTY_DEFAULT : constant ContentFilterProperty_T := (others => <>); 
  4741.  
  4742.    --  ---------------------------------------------------------- 
  4743.    --                  ENTITY_NAME (eXtension QoS) 
  4744.    --  ---------------------------------------------------------- 
  4745.  
  4746.    ENTITYNAME_QOS_POLICY_NAME : constant DDS.String := To_DDS_String ("EntityName"); 
  4747.    --  <defgroup>EntityNameQosGroupDocs</defgroup> 
  4748.    --  <dref>ENTITYNAME_QOS_POLICY_NAME</dref> 
  4749.  
  4750.    type EntityNameQosPolicy is record 
  4751.       Name      : aliased DDS.String; 
  4752.       Role_Name : aliased DDS.String; 
  4753.    end record with Convention => C; 
  4754.    pragma Compile_Time_Error (EntityNameQosPolicy'Size /= 
  4755.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_EntityNameQosPolicy'Size, 
  4756.                               "EntityNameQosPolicy size missmatch."); 
  4757.  
  4758.    --  <dref>EntityNameQosPolicy</dref> 
  4759.    --  <dref name="Name">EntityNameQosPolicy_name</dref> 
  4760.    --  <dref name="Role_Name">EntityNameQosPolicy_role_name</dref> 
  4761.  
  4762.    ENTITY_NAME_QOS_POLICY_DEFAULT : constant EntityNameQosPolicy := (others => <>); 
  4763.    --  <dref internal="true"></dref> 
  4764.  
  4765.    --  ---------------------------------------------------------- 
  4766.    --                  LoggingQosPolicy 
  4767.    --  ---------------------------------------------------------- 
  4768.  
  4769.    LOGGING_QOS_POLICY_NAME        : constant DDS.String := To_DDS_String ("Logging"); 
  4770.    --  <defgroup>LoggingQosGroupDocs</defgroup> 
  4771.    --  <dref>LOGGING_QOS_POLICY_NAME</dref> 
  4772.  
  4773.    --  ---------------------------------------------------------- 
  4774.    --                  PROFILE (eXtension QoS) 
  4775.    --  ---------------------------------------------------------- 
  4776.  
  4777.    PROFILE_QOS_POLICY_NAME  : constant DDS.String := To_DDS_String ("Profile"); 
  4778.    --  <defgroup>ProfileQosGroupDocs</defgroup> 
  4779.    --  <dref>PROFILE_QOS_POLICY_NAME</dref> 
  4780.  
  4781.    type ProfileQosPolicy is record 
  4782.       String_Profile                  : aliased String_Seq.Sequence; 
  4783.       Url_Profile                     : aliased String_Seq.Sequence; 
  4784.       Ignore_User_Profile             : aliased Boolean := False; 
  4785.       Ignore_Environment_Profile      : aliased Boolean := False; 
  4786.       Ignore_Resource_Profile         : aliased Boolean := False; 
  4787.       String_Profile_Dtd              : aliased String_Seq.Sequence; 
  4788.       Ignore_Is_Default_Qos_Attribute :  aliased Boolean := False; 
  4789.    end record with Convention => C; 
  4790.    pragma Compile_Time_Error (ProfileQosPolicy'Size /= 
  4791.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_ProfileQosPolicy'Size, 
  4792.                               "ProfileQosPolicy size missmatch."); 
  4793.  
  4794.    --  <dref>ProfileQosPolicy</dref> 
  4795.    --  <dref name="String_Profile">ProfileQosPolicy_string_profile</dref> 
  4796.    --  <dref name="Url_Profile">ProfileQosPolicy_url_profile</dref> 
  4797.    --  <dref name="Ignore_User_Profile">ProfileQosPolicy_ignore_user_profile</dref> 
  4798.    --  <dref name="Ignore_Envionrment_Profile">ProfileQosPolicy_ignore_environment_profile</dref> 
  4799.    --  <dref name="Ignore_Resource_Profile">ProfileQosPolicy_ignore_resource_profile</dref> 
  4800.    --  <dref internal="true" name="String_Profile_Dtd">ProfileQosPolicy_string_profile_dtd</dref> 
  4801.  
  4802.  
  4803.    --  ---------------------------------------------------------- 
  4804.    --                  SAMPLEIDENTITY 
  4805.    --  ---------------------------------------------------------- 
  4806.  
  4807.    type SampleIdentity_T is record 
  4808.       Writer_Guid     : aliased Guid_T; 
  4809.       Sequence_Number : aliased DDS.SequenceNumber_T; 
  4810.    end record with 
  4811.      Convention => C; 
  4812.    pragma Compile_Time_Error (SampleIdentity_T'Size /= 
  4813.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_SampleIdentity_t'Size, 
  4814.                               "SampleIdentity_T size missmatch."); 
  4815.  
  4816.    --  <defgroup>WriteParamsGroupDocs</defgroup> 
  4817.    --  <dref>SampleIdentity_t</dref> 
  4818.    --  <dref name="Writer_Guid">SampleIdentity_t_writer_guid</dref> 
  4819.    --  <dref name="Sequence_Number">SampleIdentity_t_sequence_number</dref> 
  4820.  
  4821.    AUTO_SAMPLE_IDENTITY           : constant SampleIdentity_T := 
  4822.      (Writer_Guid     => GUID_AUTO, 
  4823.       Sequence_Number => SEQUENCE_NUMBER_UNKNOWN); 
  4824.    --  <dref>SampleIdentity_t_AUTO_SAMPLE_IDENTITY</dref> 
  4825.  
  4826.  
  4827.    UNKNOWN_SAMPLE_IDENTITY        : constant SampleIdentity_T := 
  4828.      (Writer_Guid     => GUID_AUTO, 
  4829.       Sequence_Number => SEQUENCE_NUMBER_UNKNOWN); 
  4830.    --  <dref>SampleIdentity_t_UNKNOWN_SAMPLE_IDENTITY</dref> 
  4831.    NULL_SAMPLE_IDENTITY : constant SampleIdentity_T := 
  4832.      (Writer_Guid     => GUID_UNKNOWN, 
  4833.       Sequence_Number => SEQUENCE_NUMBER_ZERO); 
  4834.    --  ---------------------------------------------------------- 
  4835.    --                  Cookie_t 
  4836.    --  ---------------------------------------------------------- 
  4837.  
  4838.    type Cookie_T is record 
  4839.       Value : aliased Octet_Seq.Sequence; 
  4840.    end record with Convention => C; 
  4841.  
  4842.    --  <defgroup>CookieGroupDocs</defgroup> 
  4843.    --  <dref>Cookie_t</dref> 
  4844.    --  <dref name="Value">Cookie_t_value</dref> 
  4845.  
  4846.    function "=" (Left, Right : Cookie_T) return Standard.Boolean; 
  4847.  
  4848.    COOKIE_DEFAULT : constant Cookie_T := (Value => Octet_Seq.DEFAULT_SEQUENCE); 
  4849.  
  4850.    type Cookie_T_Access is access all Cookie_T; 
  4851.    type Cookie_T_Array is array (Natural range <>) of aliased Cookie_T; 
  4852.  
  4853.    procedure Initialize (Self  : in out Cookie_T); 
  4854.    procedure Finalize (Self  : in out Cookie_T); 
  4855.    procedure Copy (Dst : in out Cookie_T; Src : in Cookie_T); 
  4856.  
  4857.    pragma Compile_Time_Error (Cookie_T'Size /= 
  4858.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_Cookie_t'Size, 
  4859.                               "Cookie_T size missmatch."); 
  4860.  
  4861.    package Cookie_T_Seq is new DDS_Support.Sequences_Generic 
  4862.      (Cookie_T, 
  4863.       Cookie_T_Access, 
  4864.       DDS.Natural, 
  4865.       1, 
  4866.       Cookie_T_Array); 
  4867.    --  <dref>CookieSeq</dref> 
  4868.  
  4869.  
  4870.    --  ---------------------------------------------------------- 
  4871.    --                  AckResponseData 
  4872.    --  ---------------------------------------------------------- 
  4873.  
  4874.    type AckResponseData_T is record 
  4875.       Value     : aliased Octet_Seq.Sequence; 
  4876.    end record with 
  4877.      Convention => C; 
  4878.    pragma Compile_Time_Error (AckResponseData_T'Size /= 
  4879.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_AckResponseData_t'Size, 
  4880.                               "AckResponseData_T size missmatch."); 
  4881.  
  4882.    --  <dref>AckResponseData_t</dref> 
  4883.    --  <dref name="Value">AckResponseData_t_value</dref> 
  4884.  
  4885.    --  ---------------------------------------------------------- 
  4886.    --                  SampleFlag 
  4887.    --  ---------------------------------------------------------- 
  4888.  
  4889.    type SampleFlagBits is new Unsigned_Long; 
  4890.  
  4891.    REDELIVERED_SAMPLE                 : constant SampleFlagBits := 2#0000_0001#; 
  4892.    INTERMEDIATE_REPLY_SEQUENCE_SAMPLE : constant SampleFlagBits := 2#0000_0010#; 
  4893.    REPLICATE_SAMPLE                   : constant SampleFlagBits := 2#0000_0100#; 
  4894.    LAST_SHARED_READER_QUEUE_SAMPLE    : constant SampleFlagBits := 2#0000_1000#; 
  4895.    INTERMEDIATE_TOPIC_QUERY_SAMPLE    : constant SampleFlagBits := 2#0001_0000#; 
  4896.    WRITER_REMOVED_BATCH_SAMPLE        : constant SampleFlagBits := 2#0010_0000#; 
  4897.    DISCOVERY_SERVICE_SAMPLE           : constant SampleFlagBits := 2#0100_0000#; 
  4898.  
  4899.  
  4900.    subtype SampleFlag is SampleFlagBits; 
  4901.  
  4902.    --  <dref>SampleFlag</dref> 
  4903.  
  4904.    --  ---------------------------------------------------------- 
  4905.    --                  WriteParams_t 
  4906.    --  ---------------------------------------------------------- 
  4907.  
  4908.    type WriteParams_T is record 
  4909.       Replace_Auto            : aliased DDS.Boolean  := False; 
  4910.       Identity                : aliased SampleIdentity_T := AUTO_SAMPLE_IDENTITY; 
  4911.       Related_Sample_Identity : aliased SampleIdentity_T := UNKNOWN_SAMPLE_IDENTITY; 
  4912.       Source_Timestamp        : aliased DDS.Time_T := Time_Invalid; 
  4913.       Cookie                  : aliased DDS.Cookie_T := COOKIE_DEFAULT; 
  4914.       Handle                  : aliased DDS.InstanceHandle_T := Null_InstanceHandle_T; 
  4915.       Priority                : aliased Long := 0; 
  4916.       Flush_On_Write          : aliased DDS.Boolean := False; 
  4917.       Flag                    : aliased SampleFlag := 0; 
  4918.       Source_Guid             : aliased Guid_T := GUID_AUTO; 
  4919.       Related_Source_Guid     : aliased Guid_T := GUID_UNKNOWN; 
  4920.       Related_Reader_Guid     : aliased Guid_T := GUID_UNKNOWN; 
  4921.       Topic_Query_Guid        : aliased Guid_T := GUID_UNKNOWN; 
  4922.       Related_Epoch           : aliased DDS.SequenceNumber_T := SEQUENCE_NUMBER_ZERO; 
  4923.    end record with Convention => C; 
  4924.    pragma Compile_Time_Error (DDS.WriteParams_T'Size /= 
  4925.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_WriteParams_t'Size, 
  4926.                               "DDS.WriteParams_T size mismatch"); 
  4927.  
  4928.    --  <dref>WriteParams</dref> 
  4929.    --  <dref>Shared_replace_auto</dref> 
  4930.    --  <dref name="Replace_Auto">WriteParams_replace_auto</dref> 
  4931.    --  <dref name="Identity">WriteParams_identity</dref> 
  4932.    --  <dref name="Related_Sample_Identity">WriteParams_related_sample_identity</dref> 
  4933.    --  <dref name="Source_Timestamp">WriteParams_source_timestamp</dref> 
  4934.    --  <dref name="Cookie">WriteParams_cookie</dref> 
  4935.    --  <dref name="Handle">WriteParams_handle</dref> 
  4936.    --  <dref name="Priority">WriteParams_priority</dref> 
  4937.    --  <dref internal="true" name="Flush_On_Write">WriteParams_flush_on_write</dref> 
  4938.    --  <dref name="Source_Guid">WriteParams_source_guid</dref> 
  4939.    --  <dref name="Related_Source_Guid">WriteParams_related_source_guid</dref> 
  4940.    --  <dref name="Related_Reader_Guid">WriteParams_related_reader_guid</dref> 
  4941.    --  <dref internal="true" name="Topic_Query_Guid">WriteParams_topic_query_guid</dref> 
  4942.    --  <dref internal="true" name="Related_Epoch">WriteParams_related_epoch</dref> 
  4943.  
  4944.    WRITEPARAMS_DEFAULT : constant WriteParams_T := (others => <>); 
  4945.  
  4946.    type WriteParams_T_Access is access all WriteParams_T; 
  4947.  
  4948.    procedure Initialize (Self : in out WriteParams_T); 
  4949.    procedure Finalize   (Self : in out WriteParams_T); 
  4950.    procedure Copy       (Dst  : in out WriteParams_T; Src : in WriteParams_T); 
  4951.  
  4952.    function WriteParams_Equals (Self : in WriteParams_T_Access; Other : in WriteParams_T_Access) 
  4953.                                 return DDS.Boolean; 
  4954.    pragma Warnings (Off, WriteParams_Equals); 
  4955.    pragma Import (C, WriteParams_Equals, "DDS_WriteParams_equals"); 
  4956.    --  <dref internal="true">WriteParams_equals</dref> 
  4957.  
  4958.    -- 
  4959.    --  From dds_c_typecode.h 
  4960.    -- 
  4961.  
  4962.    --  !!! Change name back to TypeCode when typecode object removed 
  4963.  
  4964.    type TypeCode is private; 
  4965.  
  4966.    type TypeCode_Access is access all TypeCode; 
  4967.  
  4968.    --  From dds_c_typeobject.h 
  4969.    -- 
  4970.  
  4971.    type TypeObject is private; 
  4972.  
  4973.    type TypeObject_Access is access all TypeObject; 
  4974.  
  4975.    -- 
  4976.    --  From dds_c_builtin.h 
  4977.    -- 
  4978.  
  4979.    BUILTIN_TOPIC_MAX_STRING_LENGTH : constant := 256; 
  4980.    --  <dref internal="true"></dref> 
  4981.  
  4982.    type Transport_ClassId_T is new Long; 
  4983.    type TransportInfo_T is record 
  4984.       Class_Id         : aliased Transport_ClassId_T := 0; 
  4985.       Message_Size_Max : aliased Long := 1024; 
  4986.    end record with Convention => C; 
  4987.    --  <dref>TransportInfo_t</dref> 
  4988.    --  <dref name="class_id">TransportInfo_t_class_id</dref> 
  4989.    --  <dref name="message_size_max">TransportInfo_t_message_size_max</dref> 
  4990.  
  4991.    type TransportInfo_Access is access all TransportInfo_T; 
  4992.    type TransportInfo_Array is array (Natural range <>) of aliased TransportInfo_T with Convention => C; 
  4993.  
  4994.  
  4995.    procedure Initialize (This : in out TransportInfo_T); 
  4996.    procedure Finalize (This : in out TransportInfo_T); 
  4997.    procedure Copy (Dst : in out TransportInfo_T; 
  4998.                    Src : in TransportInfo_T); 
  4999.  
  5000.    package TransportInfo_Seq is new DDS_Support.Sequences_Generic 
  5001.      (Element        => DDS.TransportInfo_T, 
  5002.       Element_Access => DDS.TransportInfo_Access, 
  5003.       Index_Type     => Natural, 
  5004.       First_Element  => 1, 
  5005.       Element_Array  => DDS.TransportInfo_Array); 
  5006.  
  5007.  
  5008.    --  ########################################################################## 
  5009.    --  ########################################################################## 
  5010.  
  5011.    type ParticipantTrustAttributesMask is mod 2 ** 32; 
  5012.  
  5013.    type PluginParticipantTrustAttributesMask is mod 2 ** 32; 
  5014.  
  5015.  
  5016.    type ParticipantTrustProtectionInfo is record 
  5017.       Bitmask           : aliased ParticipantTrustAttributesMask := 0; 
  5018.       Plugin_Bitmask    : aliased PluginParticipantTrustAttributesMask := 0; 
  5019.    end record 
  5020.      with Convention => C; 
  5021.    pragma Compile_Time_Error (ParticipantTrustProtectionInfo'Size /= 
  5022.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_builtin_trust_h.DDS_ParticipantTrustProtectionInfo'Size, 
  5023.                               "ParticipantTrustProtectionInfo got wrong size"); 
  5024.  
  5025.    type EndpointTrustAttributesMask is mod 2 ** 32; 
  5026.    type PluginEndpointTrustAttributesMask is mod 2 ** 32; 
  5027.  
  5028.    type EndpointTrustProtectionInfo is record 
  5029.       Bitmask        : aliased EndpointTrustAttributesMask := 0; 
  5030.       Plugin_Bitmask : aliased PluginEndpointTrustAttributesMask := 0; 
  5031.    end record 
  5032.      with Convention => C; 
  5033.    pragma Compile_Time_Error (EndpointTrustProtectionInfo'Size /= 
  5034.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_builtin_trust_h.DDS_EndpointTrustProtectionInfo'Size, 
  5035.                               "EndpointTrustProtectionInfo got wrong size"); 
  5036.  
  5037.  
  5038.    type TrustAlgorithmBit is mod 2 ** 32; 
  5039.    type TrustAlgorithmSet is mod 2 ** 32; 
  5040.  
  5041.    type TrustAlgorithmRequirements is record 
  5042.       Supported_Mask : aliased TrustAlgorithmSet := 0; 
  5043.       Required_Mask  : aliased TrustAlgorithmSet := 0; 
  5044.    end record 
  5045.      with Convention => C; 
  5046.    pragma Compile_Time_Error (TrustAlgorithmRequirements'Size /= 
  5047.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_builtin_trust_h.DDS_TrustAlgorithmRequirements'Size, 
  5048.                               "TrustAlgorithmRequirements got wrong size"); 
  5049.  
  5050.  
  5051.    type ParticipantTrustSignatureAlgorithmInfo is record 
  5052.       Trust_Chain  : aliased TrustAlgorithmRequirements; 
  5053.       Message_Auth : aliased TrustAlgorithmRequirements; 
  5054.    end record 
  5055.      with Convention => C; 
  5056.    pragma Compile_Time_Error (TrustAlgorithmRequirements'Size /= 
  5057.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_builtin_trust_h.DDS_TrustAlgorithmRequirements'Size, 
  5058.                               "TrustAlgorithmRequirements got wrong size"); 
  5059.  
  5060.  
  5061.    type ParticipantTrustKeyEstablishmentAlgorithmInfo is record 
  5062.       Shared_Secret : aliased TrustAlgorithmRequirements; 
  5063.    end record 
  5064.      with Convention => C; 
  5065.  
  5066.    type ParticipantTrustInterceptorAlgorithmInfo is record 
  5067.       Supported_Mask                         : aliased TrustAlgorithmSet := 0; 
  5068.       Builtin_Endpoints_Required_Mask        : aliased TrustAlgorithmSet := 0; 
  5069.       Builtin_Kx_Endpoints_Required_Mask     : aliased TrustAlgorithmSet := 0; 
  5070.       User_Endpoints_Default_Required_Mask   : aliased TrustAlgorithmSet := 0; 
  5071.    end record 
  5072.      with Convention => C; 
  5073.    pragma Compile_Time_Error (ParticipantTrustInterceptorAlgorithmInfo'Size /= 
  5074.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_builtin_trust_h.DDS_ParticipantTrustInterceptorAlgorithmInfo'Size, 
  5075.                               "ParticipantTrustInterceptorAlgorithmInfo got wrong size"); 
  5076.  
  5077.  
  5078.    type ParticipantTrustAlgorithmInfo is record 
  5079.       Signature         : aliased ParticipantTrustSignatureAlgorithmInfo; 
  5080.       Key_Establishment : aliased ParticipantTrustKeyEstablishmentAlgorithmInfo; 
  5081.       Interceptor       : aliased ParticipantTrustInterceptorAlgorithmInfo; 
  5082.    end record 
  5083.      with Convention => C_Pass_By_Copy; 
  5084.    pragma Compile_Time_Error (ParticipantTrustAlgorithmInfo'Size /= 
  5085.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_builtin_trust_h.DDS_ParticipantTrustAlgorithmInfo'Size, 
  5086.                               "ParticipantTrustAlgorithmInfo got wrong size"); 
  5087.  
  5088.  
  5089.    type EndpointTrustInterceptorAlgorithmInfo is record 
  5090.       Required_Mask  : aliased TrustAlgorithmSet := 0; 
  5091.       Supported_Mask : aliased TrustAlgorithmSet := 0; 
  5092.    end record 
  5093.      with Convention => C_Pass_By_Copy; 
  5094.    pragma Compile_Time_Error (EndpointTrustInterceptorAlgorithmInfo'Size /= 
  5095.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_builtin_trust_h.DDS_EndpointTrustInterceptorAlgorithmInfo'Size, 
  5096.                               "EndpointTrustInterceptorAlgorithmInfo got wrong size"); 
  5097.  
  5098.    type EndpointTrustAlgorithmInfo is record 
  5099.       Interceptor : aliased EndpointTrustInterceptorAlgorithmInfo; 
  5100.    end record 
  5101.      with Convention => C_Pass_By_Copy; 
  5102.    pragma Compile_Time_Error (EndpointTrustAlgorithmInfo'Size /= 
  5103.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_builtin_trust_h.DDS_EndpointTrustAlgorithmInfo'Size, 
  5104.                               "EndpointTrustAlgorithmInfo got wrong size"); 
  5105.  
  5106.  
  5107.    --  ---------------------------------------------------------- 
  5108.    --                  ParticipantBuiltinTopicData 
  5109.    --  ---------------------------------------------------------- 
  5110.  
  5111.    PARTICIPANT_TOPIC_NAME : constant DDS.String := To_DDS_String ("DCPSParticipant"); 
  5112.    --  <dref>PARTICIPANT_TOPIC_NAME</dref> 
  5113.  
  5114.    PARTICIPANT_TRUSTED_TOPIC_NAME : constant DDS.String := To_DDS_String ("DCPSParticipantSecure"); 
  5115.    --  <dref internal="true">PARTICIPANT_TRUSTED_TOPIC_NAME</dref> 
  5116.  
  5117.    PARTICIPANT_MESSAGE_TOPIC_NAME : constant DDS.String := To_DDS_String ("DCPSParticipantMessage"); 
  5118.    --  <dref internal="true">PARTICIPANT_MESSAGE_TOPIC_NAME</dref> 
  5119.  
  5120.    PARTICIPANT_MESSAGE_TRUSTED_TOPIC_NAME : constant DDS.String := To_DDS_String ("DCPSParticipantMessageSecure"); 
  5121.    --  <dref internal="true">PARTICIPANT_MESSAGE_TRUSTED_TOPIC_NAME</dref> 
  5122.  
  5123.    PARTICIPANT_PROXY_TOPIC_NAME : constant DDS.String := To_DDS_String ("DDSParticipantProxy"); 
  5124.    --  <dref internal="true">PARTICIPANT_PROXY_TOPIC_NAME</dref> 
  5125.  
  5126.    PARTICIPANT_STATE_TOPIC_NAME : constant DDS.String := To_DDS_String ("DDSParticipantState"); 
  5127.    --  <dref internal="true">PARTICIPANT_STATE_TOPIC_NAME</dref> 
  5128.  
  5129.    ParticipantBuiltinTopicData_TypeName : DDS.String := (Data => RTIDDS.Low_Level.ndds_dds_c_dds_c_builtin_impl_h.DDS_PARTICIPANT_TYPE_NAME); 
  5130.  
  5131.    type ParticipantBuiltinTopicData is record 
  5132.       Key                             : aliased BuiltinTopicKey_T; 
  5133.       User_Data                       : aliased UserDataQosPolicy; 
  5134.       Property                        : aliased PropertyQosPolicy; 
  5135.       Rtps_Protocol_Version           : aliased ProtocolVersion_T; 
  5136.       Rtps_Vendor_Id                  : aliased VendorId_T; 
  5137.       Available_Builtin_Endpoints_Ext : aliased Unsigned_Long := 0; 
  5138.       Dds_Builtin_Endpoints           : aliased Unsigned_Long := 0; 
  5139.       Metatraffic_Unicast_Locators    : aliased Locator_Seq.Sequence; 
  5140.       Metatraffic_Multicast_Locators  : aliased Locator_Seq.Sequence; 
  5141.       Default_Unicast_Locators        : aliased Locator_Seq.Sequence; 
  5142.       Lease_Duration                  : aliased Duration_T; 
  5143.       Product_Version                 : aliased ProductVersion_T; 
  5144.       Participant_Name                : aliased EntityNameQosPolicy; 
  5145.       Domain_Id                       : aliased DomainId_T := 0; 
  5146.       Transport_Info                  : aliased TransportInfo_Seq.Sequence; 
  5147.       Reachability_Lease_Duration     : aliased Duration_T; 
  5148.       Partition                       : aliased PartitionQosPolicy; 
  5149.       Trust_Protection_Info           : aliased ParticipantTrustProtectionInfo; 
  5150.       Trust_Algorithm_Info            : aliased ParticipantTrustAlgorithmInfo; 
  5151.       Partial_Configuration           : aliased Boolean := False; 
  5152.       Vendor_Builtin_Endpoints        : aliased Unsigned_Long := 0; 
  5153.       Service                         : aliased ServiceQosPolicy; 
  5154.    end record with Convention => C; 
  5155.    pragma Compile_Time_Error (ParticipantBuiltinTopicData'Size /= 
  5156.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_builtin_h.DDS_ParticipantBuiltinTopicData'Size, 
  5157.                               "ParticipantBuiltinTopicData size missmatch."); 
  5158.  
  5159.    type ParticipantBuiltinTopicData_Access is access all ParticipantBuiltinTopicData; 
  5160.  
  5161.    ParticipantBuiltinTopicData_INITIALIZER : constant ParticipantBuiltinTopicData := (others => <>); 
  5162.    function Hash (Item : DDS.ParticipantBuiltinTopicData) return Ada.Containers.Hash_Type; 
  5163.  
  5164.    procedure Print (UserData : ParticipantBuiltinTopicData_Access; 
  5165.                     Desc     : DDS.String; 
  5166.                     Indent   : Long) with 
  5167.      Convention => C, 
  5168.      Import => True, 
  5169.      Link_Name => "DDS_ParticipantBuiltinTopicDataPlugin_print"; 
  5170.  
  5171.    type ParticipantBuiltinTopicData_Array is array (Natural range <>) of aliased ParticipantBuiltinTopicData; 
  5172.    pragma Convention (C, ParticipantBuiltinTopicData_Array); 
  5173.  
  5174.    function ParticipantBuiltinTopicData_Get_TypeCode return Standard.DDS.TypeCode_Access; 
  5175.    pragma Import (C, ParticipantBuiltinTopicData_Get_TypeCode, "DDS_ParticipantBuiltinTopicData_get_typecode"); 
  5176.  
  5177.    procedure Initialize (This : in out ParticipantBuiltinTopicData); 
  5178.    procedure Finalize (This : in out ParticipantBuiltinTopicData); 
  5179.    procedure Copy (Dst : in out ParticipantBuiltinTopicData; 
  5180.                    Src : in ParticipantBuiltinTopicData); 
  5181.  
  5182.    package ParticipantBuiltinTopicData_Seq is new DDS_Support.Sequences_Generic 
  5183.      (Element        => DDS.ParticipantBuiltinTopicData, 
  5184.       Element_Access => DDS.ParticipantBuiltinTopicData_Access, 
  5185.       Index_Type     => Natural, 
  5186.       First_Element  => 1, 
  5187.       Element_Array  => DDS.ParticipantBuiltinTopicData_Array); 
  5188.    --  <dref>ParticipantBuiltinTopicDataSeq</dref> 
  5189.  
  5190.    --  ---------------------------------------------------------- 
  5191.    --                  TopicBuiltinTopicData 
  5192.    --  ---------------------------------------------------------- 
  5193.  
  5194.    TOPIC_TOPIC_NAME : constant DDS.String := To_DDS_String ("DCPSTopic"); 
  5195.    --  <dref>TOPIC_TOPIC_NAME</dref> 
  5196.  
  5197.    TopicBuiltinTopicData_TypeName : DDS.String := (Data => RTIDDS.Low_Level.ndds_dds_c_dds_c_builtin_impl_h.DDS_TOPIC_TYPE_NAME); 
  5198.  
  5199.    type TopicBuiltinTopicData is record 
  5200.       Key                       : aliased BuiltinTopicKey_T; 
  5201.       Name                      : aliased DDS.String; 
  5202.       Type_Name                 : aliased DDS.String; 
  5203.       Durability                : aliased DurabilityQosPolicy; 
  5204.       Durability_Service        : aliased DurabilityServiceQosPolicy; 
  5205.       Deadline                  : aliased DeadlineQosPolicy; 
  5206.       Latency_Budget            : aliased LatencyBudgetQosPolicy; 
  5207.       Liveliness                : aliased LivelinessQosPolicy; 
  5208.       Reliability               : aliased ReliabilityQosPolicy; 
  5209.       Transport_Priority        : aliased TransportPriorityQosPolicy; 
  5210.       Lifespan                  : aliased LifespanQosPolicy; 
  5211.       Destination_Order         : aliased DestinationOrderQosPolicy; 
  5212.       History                   : aliased HistoryQosPolicy; 
  5213.       Resource_Limits           : aliased ResourceLimitsQosPolicy; 
  5214.       Ownership                 : aliased OwnershipQosPolicy; 
  5215.       Topic_Data                : aliased TopicDataQosPolicy; 
  5216.       Representation            : aliased DataRepresentationQosPolicy; 
  5217.    end record with Convention => C; 
  5218.    pragma Compile_Time_Error (TopicBuiltinTopicData'Size /= 
  5219.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_builtin_h.DDS_TopicBuiltinTopicData'Size, 
  5220.                               "TopicBuiltinTopicData size missmatch."); 
  5221.  
  5222.    --  <defgroup>TopicBuiltInTopicGroupDocs</defgroup> 
  5223.    --  <dref>TopicBuiltinTopicData</dref> 
  5224.    --  <dref>Shared_topic_builtin_topic_data_description</dref> 
  5225.    --  <dref name="Key">TopicBuiltinTopicData_key</dref> 
  5226.    --  <dref name="Name">TopicBuiltinTopicData_name</dref> 
  5227.    --  <dref name="Type_Name">TopicBuiltinTopicData_type_name</dref> 
  5228.    --  <dref name="Durability">TopicBuiltinTopicData_durability</dref> 
  5229.    --  <dref name="Durability_Service">TopicBuiltinTopicData_durability_service</dref> 
  5230.    --  <dref name="Deadline">TopicBuiltinTopicData_deadline</dref> 
  5231.    --  <dref name="Latency_Budget">TopicBuiltinTopicData_latency_budget</dref> 
  5232.    --  <dref name="Liveliness">TopicBuiltinTopicData_liveliness</dref> 
  5233.    --  <dref name="Reliability">TopicBuiltinTopicData_reliability</dref> 
  5234.    --  <dref name="Transport_Priority">TopicBuiltinTopicData_transport_priority</dref> 
  5235.    --  <dref name="Lifespan">TopicBuiltinTopicData_lifespan</dref> 
  5236.    --  <dref name="Destination_Order">TopicBuiltinTopicData_destination_order</dref> 
  5237.    --  <dref name="History">TopicBuiltinTopicData_history</dref> 
  5238.    --  <dref name="Resource_Limits">TopicBuiltinTopicData_resource_limits</dref> 
  5239.    --  <dref name="Ownership">TopicBuiltinTopicData_ownership</dref> 
  5240.    --  <dref name="Topic_Data">TopicBuiltinTopicData_topic_data</dref> 
  5241.    --  <dref name="Representation">TopicBuiltinTopicData_representation</dref> 
  5242.  
  5243.  
  5244.    type TopicBuiltinTopicData_Access is access all TopicBuiltinTopicData; 
  5245.  
  5246.    TopicBuiltinTopicData_INITIALIZER : constant TopicBuiltinTopicData := (others => <>); 
  5247.  
  5248.  
  5249.    type TopicBuiltinTopicData_Array is array (Natural range <>) of aliased TopicBuiltinTopicData; 
  5250.    pragma Convention (C, TopicBuiltinTopicData_Array); 
  5251.  
  5252.    function TopicBuiltinTopicData_Get_TypeCode return Standard.DDS.TypeCode_Access; 
  5253.    pragma Import (C, TopicBuiltinTopicData_Get_TypeCode, "DDS_TopicBuiltinTopicData_get_typecode"); 
  5254.  
  5255.    procedure Initialize (This : in out TopicBuiltinTopicData); 
  5256.    procedure Finalize (This : in out TopicBuiltinTopicData); 
  5257.    procedure Copy (Dst : in out TopicBuiltinTopicData; 
  5258.                    Src : in TopicBuiltinTopicData); 
  5259.  
  5260.    package TopicBuiltinTopicData_Seq is new DDS_Support.Sequences_Generic 
  5261.      (Element        => DDS.TopicBuiltinTopicData, 
  5262.       Element_Access => DDS.TopicBuiltinTopicData_Access, 
  5263.       Index_Type     => Natural, 
  5264.       First_Element  => 1, 
  5265.       Element_Array  => DDS.TopicBuiltinTopicData_Array); 
  5266.    --  <dref>TopicBuiltinTopicDataSeq</dref> 
  5267.  
  5268.  
  5269.  
  5270.    --  ---------------------------------------------------------- 
  5271.    --                  PublicationBuiltinTopicData 
  5272.    --  ---------------------------------------------------------- 
  5273.  
  5274.    PUBLICATION_TOPIC_NAME : constant DDS.String := To_DDS_String ("DCPSPublication"); 
  5275.    --  <dref>PUBLICATION_TOPIC_NAME</dref> 
  5276.  
  5277.    PUBLICATION_TRUSTED_TOPIC_NAME : constant DDS.String := To_DDS_String ("DCPSPublicationSecure"); 
  5278.    --  <dref internal="true">PUBLICATION_TRUSTED_TOPIC_NAME</dref> 
  5279.  
  5280.    PublicationBuiltinTopicData_TypeName : DDS.String := (Data => RTIDDS.Low_Level.ndds_dds_c_dds_c_builtin_impl_h.DDS_PUBLICATION_TYPE_NAME); 
  5281.  
  5282.    type PublicationBuiltinTopicData is record 
  5283.       Key                       : aliased BuiltinTopicKey_T; 
  5284.       Participant_Key           : aliased BuiltinTopicKey_T; 
  5285.       Topic_Name                : aliased DDS.String; 
  5286.       Type_Name                 : aliased DDS.String; 
  5287.       Max_Sample_Serialize_Size : aliased Long := 0; 
  5288.       Durability                : aliased DurabilityQosPolicy; 
  5289.       Durability_Service        : aliased DurabilityServiceQosPolicy; 
  5290.       Deadline                  : aliased DeadlineQosPolicy; 
  5291.       Latency_Budget            : aliased LatencyBudgetQosPolicy; 
  5292.       Liveliness                : aliased LivelinessQosPolicy; 
  5293.       Reliability               : aliased ReliabilityQosPolicy; 
  5294.       Lifespan                  : aliased LifespanQosPolicy; 
  5295.       User_Data                 : aliased UserDataQosPolicy; 
  5296.       Ownership                 : aliased OwnershipQosPolicy; 
  5297.       Ownership_Strength        : aliased OwnershipStrengthQosPolicy; 
  5298.       Destination_Order         : aliased DestinationOrderQosPolicy; 
  5299.       Presentation              : aliased PresentationQosPolicy; 
  5300.       Partition                 : aliased PartitionQosPolicy; 
  5301.       Topic_Data                : aliased TopicDataQosPolicy; 
  5302.       Group_Data                : aliased GroupDataQosPolicy; 
  5303.       Type_Object               : aliased TypeObject_Access; 
  5304.       Representation            : aliased DataRepresentationQosPolicy; 
  5305.       Data_Tags                 : aliased DataTagQosPolicy; 
  5306.       --  extensions 
  5307.       Type_Code                 : aliased TypeCode_Access; 
  5308.       Publisher_Key             : aliased BuiltinTopicKey_T; 
  5309.       Property                  : aliased PropertyQosPolicy; 
  5310.       Unicast_Locators          : aliased Locator_Seq.Sequence; 
  5311.       Virtual_Guid              : aliased Guid_T; 
  5312.       Service                   : aliased ServiceQosPolicy; 
  5313.       Rtps_Protocol_Version     : aliased ProtocolVersion_T; 
  5314.       Rtps_Vendor_Id            : aliased VendorId_T; 
  5315.       Product_Version           : aliased ProductVersion_T; 
  5316.       Locator_Filter            : aliased LocatorFilterQosPolicy; 
  5317.       Disable_Positive_Acks     : aliased Boolean := False; 
  5318.       Send_Queue_Size           : aliased Long := 0; 
  5319.       Is_Incompatible           : aliased Boolean := False; 
  5320.       Publication_Name          : aliased EntityNameQosPolicy; 
  5321.       Trust_Protection_Info     : aliased EndpointTrustProtectionInfo; 
  5322.       Trust_Algorithm_Info      : aliased EndpointTrustAlgorithmInfo; 
  5323.       Related_Datareader_Key    : aliased BuiltinTopicKey_T; 
  5324.    end record with Convention => C; 
  5325.    pragma Compile_Time_Error (PublicationBuiltinTopicData'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_builtin_h.DDS_PublicationBuiltinTopicData'Size, "PublicationBuiltinTopicData size missmatch."); 
  5326.  
  5327.    --  <defgroup>PublicationBuiltInTopicGroupDocs</defgroup> 
  5328.    --  <dref>PublicationBuiltinTopicData</dref> 
  5329.    --  <dref>Shared_publication_builtin_topic_data_description</dref> 
  5330.    --  <dref name="Key">PublicationBuiltinTopicData_key</dref> 
  5331.    --  <dref name="Participant_Key">PublicationBuiltinTopicData_participant_key</dref> 
  5332.    --  <dref name="Topic_Name">PublicationBuiltinTopicData_topic_name</dref> 
  5333.    --  <dref name="Type_Name">PublicationBuiltinTopicData_type_name</dref> 
  5334.    --  <dref internal="true" name="Max_Sample_Serialize_Size">PublicationBuiltinTopicData_max_sample_serialized_size</dref> 
  5335.    --  <dref name="Durability">PublicationBuiltinTopicData_durability</dref> 
  5336.    --  <dref name="Durability_Service">PublicationBuiltinTopicData_durability_service</dref> 
  5337.    --  <dref name="Deadline">PublicationBuiltinTopicData_deadline</dref> 
  5338.    --  <dref name="Latency_Budget">PublicationBuiltinTopicData_latency_budget</dref> 
  5339.    --  <dref name="Liveliness">PublicationBuiltinTopicData_liveliness</dref> 
  5340.    --  <dref name="Reliability">PublicationBuiltinTopicData_reliability</dref> 
  5341.    --  <dref name="Lifespan">PublicationBuiltinTopicData_lifespan</dref> 
  5342.    --  <dref name="User_Data">PublicationBuiltinTopicData_user_data</dref> 
  5343.    --  <dref name="Ownership">PublicationBuiltinTopicData_ownership</dref> 
  5344.    --  <dref name="Ownership_Strength">PublicationBuiltinTopicData_ownership_strength</dref> 
  5345.    --  <dref name="Destination_Order">PublicationBuiltinTopicData_destination_order</dref> 
  5346.    --  <dref name="Presentation">PublicationBuiltinTopicData_presentation</dref> 
  5347.    --  <dref name="Partition">PublicationBuiltinTopicData_partition</dref> 
  5348.    --  <dref name="Topic_Data">PublicationBuiltinTopicData_topic_data</dref> 
  5349.    --  <dref name="Group_Data">PublicationBuiltinTopicData_group_data</dref> 
  5350.    --  <dref internal="true" name="Type_Object">PublicationBuiltinTopicData_type_object</dref> 
  5351.    --  <dref name="Representation">PublicationBuiltinTopicData_representation</dref> 
  5352.    --  <dref name="Data_Tags">PublicationBuiltinTopicData_data_tags</dref> 
  5353.    --  <dref name="Type_Code">PublicationBuiltinTopicData_type_code</dref> 
  5354.    --  <dref name="Publisher_Key">PublicationBuiltinTopicData_publisher_key</dref> 
  5355.    --  <dref name="Property">PublicationBuiltinTopicData_property</dref> 
  5356.    --  <dref name="Unicast_Locators">PublicationBuiltinTopicData_unicast_locators</dref> 
  5357.    --  <dref name="Virtual_Guid">PublicationBuiltinTopicData_virtual_guid</dref> 
  5358.    --  <dref name="Service">PublicationBuiltinTopicData_service</dref> 
  5359.    --  <dref name="Rtps_Protocol_Version">PublicationBuiltinTopicData_rtps_protocol_version</dref> 
  5360.    --  <dref name="Rtps_Vendor_Id">PublicationBuiltinTopicData_rtps_vendor_id</dref> 
  5361.    --  <dref name="Product_Version">PublicationBuiltinTopicData_product_version</dref> 
  5362.    --  <dref name="locator_filter">PublicationBuiltinTopicData_locator_filter</dref> 
  5363.    --  <dref name="disable_positive_acks">PublicationBuiltinTopicData_disable_positive_acks</dref> 
  5364.    --  <dref internal="true" name="send_queue_zize">PublicationBuiltinTopicData_send_queue_size</dref> 
  5365.    --  <dref internal="true" name="is_compatible">PublicationBuiltinTopicData_is_compatible</dref> 
  5366.    --  <dref name="publication_name">PublicationBuiltinTopicData_publication_name</dref> 
  5367.  
  5368.    function Hash (Item : DDS.PublicationBuiltinTopicData) return Ada.Containers.Hash_Type; 
  5369.  
  5370.    type PublicationBuiltinTopicData_Access is access all PublicationBuiltinTopicData; 
  5371.  
  5372.    --     PublicationBuiltinTopicData_INITIALIZER : constant PublicationBuiltinTopicData := 
  5373.    --                                                 (Key                        => BuiltinTopicKey_T_INITIALIZER, 
  5374.    --                                                  Participant_Key            => BuiltinTopicKey_T_INITIALIZER, 
  5375.    --                                                  Topic_Name                 => NULL_STRING, 
  5376.    --                                                  Type_Name                  => NULL_STRING, 
  5377.    --                                                  Max_Sample_Serialize_Size  => 0, 
  5378.    --                                                  Durability                 => DURABILITY_QOS_POLICY_DEFAULT, 
  5379.    --                                                  Durability_Service         => DURABILITY_SERVICE_QOS_POLICY_DEFAULT, 
  5380.    --                                                  Deadline                   => DEADLINE_QOS_POLICY_DEFAULT, 
  5381.    --                                                  Latency_Budget             => LATENCY_BUDGET_QOS_POLICY_DEFAULT, 
  5382.    --                                                  Liveliness                 => LIVELINESS_QOS_POLICY_DEFAULT, 
  5383.    --                                                  Reliability                => RELIABILITY_QOS_POLICY_DEFAULT, 
  5384.    --                                                  Lifespan                   => LIFESPAN_QOS_POLICY_DEFAULT, 
  5385.    --                                                  User_Data                  => USER_DATA_QOS_POLICY_DEFAULT, 
  5386.    --                                                  Ownership                  => OWNERSHIP_QOS_POLICY_DEFAULT, 
  5387.    --                                                  Ownership_Strength         => OWNERSHIP_STRENGTH_QOS_POLICY_DEFAULT, 
  5388.    --                                                  Destination_Order          => DESTINATION_ORDER_QOS_POLICY_DEFAULT, 
  5389.    --                                                  Presentation               => PRESENTATION_QOS_POLICY_DEFAULT, 
  5390.    --                                                  Partition                  => PARTITION_QOS_POLICY_DEFAULT, 
  5391.    --                                                  Topic_Data                 => TOPIC_DATA_QOS_POLICY_DEFAULT, 
  5392.    --                                                  Group_Data                 => GROUP_DATA_QOS_POLICY_DEFAULT, 
  5393.    --                                                  Representation             => DataRepresentationQosPolicy_INITIALIZER, 
  5394.    --                                                  Data_Tags                  => DataTagQosPolicy_INITIALIZER, 
  5395.    --                                                  Type_Code                  => null, 
  5396.    --                                                  Publisher_Key              => BuiltinTopicKey_T_INITIALIZER, 
  5397.    --                                                  Property                   => PROPERTY_QOS_POLICY_DEFAULT, 
  5398.    --                                                  Unicast_Locators           => LocatorSeq.DEFAULT_SEQUENCE, 
  5399.    --                                                  Virtual_Guid               => (Value => (others => 0)), 
  5400.    --                                                  Service                    => SERVICE_QOS_POLICY_DEFAULT, 
  5401.    --                                                  Rtps_Protocol_Version      => PROTOCOL_VERSION_DEFAULT, 
  5402.    --                                                  Rtps_Vendor_Id             => VENDOR_ID_DEFAULT, 
  5403.    --                                                  Product_Version            => PRODUCTVERSION_UNKNOWN); 
  5404.  
  5405.    type PublicationBuiltinTopicData_Array is array (Natural range <>) of aliased PublicationBuiltinTopicData; 
  5406.    pragma Convention (C, PublicationBuiltinTopicData_Array); 
  5407.  
  5408.    function PublicationBuiltinTopicData_Get_TypeCode return Standard.DDS.TypeCode_Access; 
  5409.    pragma Import (C, PublicationBuiltinTopicData_Get_TypeCode, "DDS_PublicationBuiltinTopicData_get_typecode"); 
  5410.  
  5411.    procedure Initialize (This : in out PublicationBuiltinTopicData); 
  5412.    procedure Finalize (This : in out PublicationBuiltinTopicData); 
  5413.    procedure Copy (Dst : in out PublicationBuiltinTopicData; 
  5414.                    Src : in PublicationBuiltinTopicData); 
  5415.  
  5416.    package PublicationBuiltinTopicData_Seq is new DDS_Support.Sequences_Generic 
  5417.      (Element        => DDS.PublicationBuiltinTopicData, 
  5418.       Element_Access => DDS.PublicationBuiltinTopicData_Access, 
  5419.       Index_Type     => Natural, 
  5420.       First_Element  => 1, 
  5421.       Element_Array  => DDS.PublicationBuiltinTopicData_Array); 
  5422.    --  <dref>PublicationBuiltinTopicDataSeq</dref> 
  5423.  
  5424.    --  ---------------------------------------------------------- 
  5425.    --                  SubscriptionBuiltinTopicData 
  5426.    --  ---------------------------------------------------------- 
  5427.  
  5428.    SUBSCRIPTION_TOPIC_NAME : constant DDS.String := To_DDS_String ("DCPSSubscription"); 
  5429.    --  <dref>SUBSCRIPTION_TOPIC_NAME</dref> 
  5430.  
  5431.    SUBSCRIPTION_TRUSTED_TOPIC_NAME : constant DDS.String := To_DDS_String ("DCPSSubscriptionSecure"); 
  5432.    --  <dref internal="true">SUBSCRIPTION_TRUSTED_TOPIC_NAME</dref> 
  5433.  
  5434.    SubscriptionBuiltinTopicData_TypeName : DDS.String := (Data => RTIDDS.Low_Level.ndds_dds_c_dds_c_builtin_impl_h.DDS_SUBSCRIPTION_TYPE_NAME); 
  5435.  
  5436.    type SubscriptionBuiltinTopicData is record 
  5437.       Key                     : aliased BuiltinTopicKey_T; 
  5438.       Participant_Key         : aliased BuiltinTopicKey_T; 
  5439.       Topic_Name              : aliased DDS.String; 
  5440.       Type_Name               : aliased DDS.String; 
  5441.       Durability              : aliased DurabilityQosPolicy; 
  5442.       Deadline                : aliased DeadlineQosPolicy; 
  5443.       Latency_Budget          : aliased LatencyBudgetQosPolicy; 
  5444.       Liveliness              : aliased LivelinessQosPolicy; 
  5445.       Reliability             : aliased ReliabilityQosPolicy; 
  5446.       Ownership               : aliased OwnershipQosPolicy; 
  5447.       Destination_Order       : aliased DestinationOrderQosPolicy; 
  5448.       User_Data               : aliased UserDataQosPolicy; 
  5449.       Time_Based_Filter       : aliased TimeBasedFilterQosPolicy; 
  5450.       Presentation            : aliased PresentationQosPolicy; 
  5451.       Partition               : aliased PartitionQosPolicy; 
  5452.       Topic_Data              : aliased TopicDataQosPolicy; 
  5453.       Group_Data              : aliased GroupDataQosPolicy; 
  5454.       Type_Consistency        : aliased TypeConsistencyEnforcementQosPolicy; 
  5455.       Type_Object             : aliased TypeObject_Access; 
  5456.       Representation          : aliased DataRepresentationQosPolicy; 
  5457.       Data_Tags               : aliased DataTagQosPolicy; 
  5458.       --  extensions 
  5459.       Type_Code               : aliased TypeCode_Access; 
  5460.       Subscriber_Key          : aliased BuiltinTopicKey_T; 
  5461.       Property                : aliased PropertyQosPolicy; 
  5462.       Unicast_Locators        : aliased Locator_Seq.Sequence; 
  5463.       Multicast_Locators      : aliased Locator_Seq.Sequence; 
  5464.       Content_Filter_Property : aliased ContentFilterProperty_T; 
  5465.       Virtual_Guid            : aliased Guid_T; 
  5466.       Service                 : aliased ServiceQosPolicy; 
  5467.       Rtps_Protocol_Version   : aliased ProtocolVersion_T; 
  5468.       Rtps_Vendor_Id          : aliased VendorId_T; 
  5469.       Product_Version         : aliased ProductVersion_T; 
  5470.       Disable_Positive_Acks   : aliased Boolean := False; 
  5471.       Expects_Inline_Qos      : aliased Boolean := False; 
  5472.       Receive_Queue_Size      : aliased Long := 0; 
  5473.       Is_Incompatible         : aliased Boolean := False; 
  5474.       Subscription_Name       : aliased EntityNameQosPolicy; 
  5475.       Trust_Protection_Info   : aliased EndpointTrustProtectionInfo; 
  5476.       Trust_Algorithm_Info    : aliased EndpointTrustAlgorithmInfo; 
  5477.       Related_Datawriter_Key  : aliased BuiltinTopicKey_T; 
  5478.    end record with Convention => C; 
  5479.    pragma Compile_Time_Error (SubscriptionBuiltinTopicData'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_builtin_h.DDS_SubscriptionBuiltinTopicData'Size, "SubscriptionBuiltinTopicData size missmatch."); 
  5480.  
  5481.    --  <defgroup>SubscriptionBuiltInTopicGroupDocs</defgroup> 
  5482.    --  <dref>SubscriptionBuiltinTopicData</dref> 
  5483.    --  <dref>Shared_subscription_builtin_topic_data_description</dref> 
  5484.    --  <dref name="Key">SubscriptionBuiltinTopicData_key</dref> 
  5485.    --  <dref name="Participant_Key">SubscriptionBuiltinTopicData_participant_key</dref> 
  5486.    --  <dref name="Topic_Name">SubscriptionBuiltinTopicData_topic_name</dref> 
  5487.    --  <dref name="Type_Name">SubscriptionBuiltinTopicData_type_name</dref> 
  5488.    --  <dref name="Durability">SubscriptionBuiltinTopicData_durability</dref> 
  5489.    --  <dref name="Deadline">SubscriptionBuiltinTopicData_deadline</dref> 
  5490.    --  <dref name="Latency_Budget">SubscriptionBuiltinTopicData_latency_budget</dref> 
  5491.    --  <dref name="Liveliness">SubscriptionBuiltinTopicData_liveliness</dref> 
  5492.    --  <dref name="Reliability">SubscriptionBuiltinTopicData_reliability</dref> 
  5493.    --  <dref name="Ownership">SubscriptionBuiltinTopicData_ownership</dref> 
  5494.    --  <dref name="Destination_Order">SubscriptionBuiltinTopicData_destination_order</dref> 
  5495.    --  <dref name="User_Data">SubscriptionBuiltinTopicData_user_data</dref> 
  5496.    --  <dref name="Time_Based_Filter">SubscriptionBuiltinTopicData_time_based_filter</dref> 
  5497.    --  <dref name="Presentation">SubscriptionBuiltinTopicData_presentation</dref> 
  5498.    --  <dref name="Partition">SubscriptionBuiltinTopicData_partition</dref> 
  5499.    --  <dref name="Topic_Data">SubscriptionBuiltinTopicData_topic_data</dref> 
  5500.    --  <dref name="Group_Data">SubscriptionBuiltinTopicData_group_data</dref> 
  5501.    --  <dref name="Type_Consistency">SubscriptionBuiltinTopicData_type_consistency</dref> 
  5502.    --  <dref internal="true" name="Type_Object">SubscriptionBuiltinTopicData_type</dref> 
  5503.    --  <dref name="Representation">SubscriptionBuiltinTopicData_representation</dref> 
  5504.    --  <dref name="Data_Tags">SubscriptionBuiltinTopicData_data_tags</dref> 
  5505.    --  <dref name="Type_Code">SubscriptionBuiltinTopicData_type_code</dref> 
  5506.    --  <dref name="Subscriber_Key">SubscriptionBuiltinTopicData_subscriber_key</dref> 
  5507.    --  <dref name="Property">SubscriptionBuiltinTopicData_property</dref> 
  5508.    --  <dref name="Unicast_Locators">SubscriptionBuiltinTopicData_unicast_locators</dref> 
  5509.    --  <dref name="Multicast_Locators">SubscriptionBuiltinTopicData_multicast_locators</dref> 
  5510.    --  <dref name="Content_Filter_Property">SubscriptionBuiltinTopicData_content_filter_property</dref> 
  5511.    --  <dref name="Virtual_Guid">SubscriptionBuiltinTopicData_virtual_guid</dref> 
  5512.    --  <dref name="Service">SubscriptionBuiltinTopicData_service</dref> 
  5513.    --  <dref name="Rtps_Protocol_Version">SubscriptionBuiltinTopicData_rtps_protocol_version</dref> 
  5514.    --  <dref name="Rtps_Vendor_Id">SubscriptionBuiltinTopicData_rtps_vendor_id</dref> 
  5515.    --  <dref name="Product_Version">SubscriptionBuiltinTopicData_product_version</dref> 
  5516.    --  <dref name="disable_positive_acks">SubscriptionBuiltinTopicData_disable_positive_acks</dref> 
  5517.    --  <dref internal="true" name="expects_inline_qos">SubscriptionBuiltinTopicData_expects_inline_qos</dref> 
  5518.    --  <dref internal="true" name="receive_queue_size">SubscriptionBuiltinTopicData_receive_queue_size</dref> 
  5519.    --  <dref internal="true" name="is_compatible">SubscriptionBuiltinTopicData_is_compatible</dref> 
  5520.    --  <dref name="subscription_name">SubscriptionBuiltinTopicData_subscription_name</dref> 
  5521.    function Hash (Item : DDS.SubscriptionBuiltinTopicData) return Ada.Containers.Hash_Type; 
  5522.  
  5523.    type SubscriptionBuiltinTopicData_Access is access all SubscriptionBuiltinTopicData; 
  5524.  
  5525.    --     SubscriptionBuiltinTopicData_INITIALIZER : constant SubscriptionBuiltinTopicData := 
  5526.    --                                                  (Key                     => BuiltinTopicKey_T_INITIALIZER, 
  5527.    --                                                   Participant_Key         => BuiltinTopicKey_T_INITIALIZER, 
  5528.    --                                                   Topic_Name              => NULL_STRING, 
  5529.    --                                                   Type_Name               => NULL_STRING, 
  5530.    --                                                   Durability              => DURABILITY_QOS_POLICY_DEFAULT, 
  5531.    --                                                   Deadline                => DEADLINE_QOS_POLICY_DEFAULT, 
  5532.    --                                                   Latency_Budget          => LATENCY_BUDGET_QOS_POLICY_DEFAULT, 
  5533.    --                                                   Liveliness              => LIVELINESS_QOS_POLICY_DEFAULT, 
  5534.    --                                                   Reliability             => RELIABILITY_QOS_POLICY_DEFAULT, 
  5535.    --                                                   Ownership               => OWNERSHIP_QOS_POLICY_DEFAULT, 
  5536.    --                                                   Destination_Order       => DESTINATION_ORDER_QOS_POLICY_DEFAULT, 
  5537.    --                                                   User_Data               => USER_DATA_QOS_POLICY_DEFAULT, 
  5538.    --                                                   Time_Based_Filter       => TIME_BASED_FILTER_QOS_POLICY_DEFAULT, 
  5539.    --                                                   Presentation            => PRESENTATION_QOS_POLICY_DEFAULT, 
  5540.    --                                                   Partition               => PARTITION_QOS_POLICY_DEFAULT, 
  5541.    --                                                   Topic_Data              => TOPIC_DATA_QOS_POLICY_DEFAULT, 
  5542.    --                                                   Group_Data              => GROUP_DATA_QOS_POLICY_DEFAULT, 
  5543.    --                                                   Type_Consistency        => TYPE_CONSISTENCY_ENFORCEMENT_QOS_POLICY_DEFAULT, 
  5544.    --                                                   Representation          => DataRepresentationQosPolicy_INITIALIZER, 
  5545.    --                                                   Data_Tags               => DataTagQosPolicy_INITIALIZER, 
  5546.    --                                                   --  extensions 
  5547.    --                                                   Type_Code               => null, 
  5548.    --                                                   Subscriber_Key          => BuiltinTopicKey_T_INITIALIZER, 
  5549.    --                                                   Property                => PROPERTY_QOS_POLICY_DEFAULT, 
  5550.    --                                                   Unicast_Locators        => LocatorSeq.DEFAULT_SEQUENCE, 
  5551.    --                                                   Multicast_Locators      => LocatorSeq.DEFAULT_SEQUENCE, 
  5552.    --                                                   Content_Filter_Property => CONTENT_FILTER_PROPERTY_DEFAULT, 
  5553.    --                                                   Virtual_Guid            =>  (Value => (others => 0)), 
  5554.    --                                                   Service                 => SERVICE_QOS_POLICY_DEFAULT, 
  5555.    --                                                   Rtps_Protocol_Version   => PROTOCOL_VERSION_DEFAULT, 
  5556.    --                                                   Rtps_Vendor_Id          => VENDOR_ID_DEFAULT, 
  5557.    --                                                   Product_Version         => PRODUCTVERSION_UNKNOWN, 
  5558.    --                                                   disable_positive_acks   => False, 
  5559.    --                                                   expects_inline_qos      => False, 
  5560.    --                                                   receive_queue_size      => 0, 
  5561.    --                                                   is_incompatible         => False); 
  5562.  
  5563.    type SubscriptionBuiltinTopicData_Array is array (Natural range <>) of aliased SubscriptionBuiltinTopicData; 
  5564.    pragma Convention (C, SubscriptionBuiltinTopicData_Array); 
  5565.  
  5566.    function SubscriptionBuiltinTopicData_Get_TypeCode return Standard.DDS.TypeCode_Access; 
  5567.    pragma Import (C, SubscriptionBuiltinTopicData_Get_TypeCode, "DDS_SubscriptionBuiltinTopicData_get_typecode"); 
  5568.  
  5569.    procedure Initialize (This : in out SubscriptionBuiltinTopicData); 
  5570.    procedure Finalize (This : in out SubscriptionBuiltinTopicData); 
  5571.    procedure Copy (Dst : in out SubscriptionBuiltinTopicData; 
  5572.                    Src : in SubscriptionBuiltinTopicData); 
  5573.  
  5574.    package SubscriptionBuiltinTopicData_Seq is new DDS_Support.Sequences_Generic 
  5575.      (Element        => DDS.SubscriptionBuiltinTopicData, 
  5576.       Element_Access => DDS.SubscriptionBuiltinTopicData_Access, 
  5577.       Index_Type     => Natural, 
  5578.       First_Element  => 1, 
  5579.       Element_Array  => DDS.SubscriptionBuiltinTopicData_Array); 
  5580.    --  <dref>SubscriptionBuiltinTopicDataSeq</dref> 
  5581.  
  5582.    -- 
  5583.    --  dds/dds_c_topic.h 
  5584.    -- 
  5585.  
  5586.  
  5587.    --  ---------------------------------------------------------- 
  5588.    --                  InconsistentTopicStatus 
  5589.    --  ---------------------------------------------------------- 
  5590.  
  5591.    type InconsistentTopicStatus is record 
  5592.       Total_Count        : aliased Long := 0; 
  5593.       Total_Count_Change : aliased Long := 0; 
  5594.    end record with Convention => C; 
  5595.    pragma Compile_Time_Error (InconsistentTopicStatus'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_topic_h.DDS_InconsistentTopicStatus'Size, "InconsistentTopicStatus size missmatch."); 
  5596.  
  5597.    --  <dref>InconsistentTopicStatus</dref> 
  5598.    --  <dref name="Total_Count">InconsistentTopicStatus_total_count</dref> 
  5599.    --  <dref name="Total_Count_Change">InconsistentTopicStatus_total_count_change</dref> 
  5600.  
  5601.    InconsistentTopicStatus_INITIALIZER : constant InconsistentTopicStatus := (others => <>); 
  5602.  
  5603.    --  ---------------------------------------------------------- 
  5604.    --                  TopicQos 
  5605.    --  ---------------------------------------------------------- 
  5606.  
  5607.    type TopicQos is new Ada.Finalization.Limited_Controlled with record 
  5608.       Topic_Data         : aliased TopicDataQosPolicy; 
  5609.       Durability         : aliased DurabilityQosPolicy; 
  5610.       Durability_Service : aliased DurabilityServiceQosPolicy; 
  5611.       Deadline           : aliased DeadlineQosPolicy; 
  5612.       Latency_Budget     : aliased LatencyBudgetQosPolicy; 
  5613.       Liveliness         : aliased LivelinessQosPolicy; 
  5614.       Reliability        : aliased ReliabilityQosPolicy; 
  5615.       Destination_Order  : aliased DestinationOrderQosPolicy; 
  5616.       History            : aliased HistoryQosPolicy; 
  5617.       Resource_Limits    : aliased ResourceLimitsQosPolicy; 
  5618.       Transport_Priority : aliased TransportPriorityQosPolicy; 
  5619.       Lifespan           : aliased LifespanQosPolicy; 
  5620.       Ownership          : aliased OwnershipQosPolicy; 
  5621.       Representation     : aliased DataRepresentationQosPolicy; 
  5622.       -- --- Extensions: ---------------------------------------------------- 
  5623.       Protocol           : aliased TopicProtocolQosPolicy; 
  5624.    end record with Convention => C; 
  5625.    --  <dref>TopicQos</dref> 
  5626.    --  <dref name="Topic_Data">TopicQos_topic_data</dref> 
  5627.    --  <dref name="Durability">TopicQos_durability</dref> 
  5628.    --  <dref name="Durability_Service">TopicQos_durability_service</dref> 
  5629.    --  <dref name="Deadline">TopicQos_deadline</dref> 
  5630.    --  <dref name="Latency_Budget">TopicQos_latency_budget</dref> 
  5631.    --  <dref name="Liveliness">TopicQos_liveliness</dref> 
  5632.    --  <dref name="Reliability">TopicQos_reliability</dref> 
  5633.    --  <dref name="Destination_Order">TopicQos_destination_order</dref> 
  5634.    --  <dref name="History">TopicQos_history</dref> 
  5635.    --  <dref name="Resource_Limits">TopicQos_resource_limits</dref> 
  5636.    --  <dref name="Transport_Priority">TopicQos_transport_priority</dref> 
  5637.    --  <dref name="Lifespan">TopicQos_lifespan</dref> 
  5638.    --  <dref name="Ownership">TopicQos_ownership</dref> 
  5639.    --  <dref name="Representation">TopicQos_representation</dref> 
  5640.    --  <dref internal="true" name="Protocol">TopicQos_protocol</dref> 
  5641.  
  5642.    type TopicQos_Access is access TopicQos; 
  5643.  
  5644.    --  <dref>TopicQos_initialize</dref> 
  5645.    procedure Initialize 
  5646.      (Self : in out TopicQos); 
  5647.  
  5648.    --  <dref>TopicQos_finalize</dref> 
  5649.    procedure Finalize 
  5650.      (Self : in out TopicQos); 
  5651.  
  5652.    --  <dref>TopicQos_copy</dref> 
  5653.    procedure Copy 
  5654.      (Target : in out TopicQos; 
  5655.       Source : in TopicQos); 
  5656.  
  5657.    -- 
  5658.    --  dds/dds_c_publication.h 
  5659.    -- 
  5660.  
  5661.    --  ---------------------------------------------------------- 
  5662.    --                  OfferedDeadlineMissedStatus 
  5663.    --  ---------------------------------------------------------- 
  5664.  
  5665.    type OfferedDeadlineMissedStatus is record 
  5666.       Total_Count          : aliased Long := 0; 
  5667.       Total_Count_Change   : aliased Long := 0; 
  5668.       Last_Instance_Handle : aliased InstanceHandle_T := Null_InstanceHandle_T; 
  5669.    end record with Convention => C; 
  5670.    pragma Compile_Time_Error (OfferedDeadlineMissedStatus'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_publication_h.DDS_OfferedDeadlineMissedStatus'Size, "OfferedDeadlineMissedStatus size missmatch."); 
  5671.  
  5672.    --  <dref>OfferedDeadlineMissedStatus</dref> 
  5673.    --  <dref name="Total_Count">OfferedDeadlineMissedStatus_total_count</dref> 
  5674.    --  <dref name="Total_Count_Change">OfferedDeadlineMissedStatus_total_count_change</dref> 
  5675.    --  <dref name="Last_Instance_Handle">OfferedDeadlineMissedStatus_last_instance_handle</dref> 
  5676.  
  5677.  
  5678.    OfferedDeadlineMissedStatus_INITIALIZER : constant OfferedDeadlineMissedStatus := (others => <>); 
  5679.  
  5680.    --  ---------------------------------------------------------- 
  5681.    --                  LivelinessLostStatus 
  5682.    --  ---------------------------------------------------------- 
  5683.  
  5684.    type LivelinessLostStatus is record 
  5685.       Total_Count        : aliased Long := 0; 
  5686.       Total_Count_Change : aliased Long := 0; 
  5687.    end record with Convention => C; 
  5688.    pragma Compile_Time_Error (LivelinessLostStatus'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_publication_h.DDS_LivelinessLostStatus'Size, "LivelinessLostStatus size missmatch."); 
  5689.  
  5690.    --  <dref>LivelinessLostStatus</dref> 
  5691.    --  <dref name="Total_Count">LivelinessLostStatus_total_count</dref> 
  5692.    --  <dref name="Total_Count_Change">LivelinessLostStatus_total_count_change</dref> 
  5693.  
  5694.    LivelinessLostStatus_INITIALIZER : constant LivelinessLostStatus := (others => <>); 
  5695.  
  5696.    --  ---------------------------------------------------------- 
  5697.    --                  OfferedIncompatibleQosStatus 
  5698.    --  ---------------------------------------------------------- 
  5699.  
  5700.    type OfferedIncompatibleQosStatus is record 
  5701.       Total_Count        : aliased Long := 0; 
  5702.       Total_Count_Change : aliased Long := 0; 
  5703.       Last_Policy_Id     : aliased QosPolicyId_T := INVALID_QOS_POLICY_ID; 
  5704.       Policies           : aliased QosPolicyCount_Seq.Sequence; 
  5705.    end record with Convention => C; 
  5706.    pragma Compile_Time_Error (OfferedIncompatibleQosStatus'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_publication_h.DDS_OfferedIncompatibleQosStatus'Size, "OfferedIncompatibleQosStatus size missmatch."); 
  5707.  
  5708.    --  <dref>OfferedIncompatibleQosStatus</dref> 
  5709.    --  <dref name="Total_Count">OfferedIncompatibleQosStatus_total_count</dref> 
  5710.    --  <dref name="Total_Count_Change">OfferedIncompatibleQosStatus_total_count_change</dref> 
  5711.    --  <dref name="Last_Policy_Id">OfferedIncompatibleQosStatus_last_policy_id</dref> 
  5712.    --  <dref name="Policies">OfferedIncompatibleQosStatus_policies</dref> 
  5713.  
  5714.  
  5715.    type OfferedIncompatibleQosStatus_Access is access all OfferedIncompatibleQosStatus; 
  5716.  
  5717.    OfferedIncompatibleQosStatus_INITIALIZER : constant OfferedIncompatibleQosStatus := (others => <>); 
  5718.  
  5719.    --  ---------------------------------------------------------- 
  5720.    --                  PublicationMatchedStatus 
  5721.    --  ---------------------------------------------------------- 
  5722.  
  5723.    type PublicationMatchedStatus is record 
  5724.       Total_Count              : aliased Long := 0; 
  5725.       Total_Count_Change       : aliased Long := 0; 
  5726.       Current_Count            : aliased Long := 0; 
  5727.       Current_Count_Peak       : aliased Long := 0; 
  5728.       Current_Count_Change     : aliased Long := 0; 
  5729.       Last_Subscription_Handle : aliased InstanceHandle_T := Null_InstanceHandle_T; 
  5730.    end record with Convention => C; 
  5731.    pragma Compile_Time_Error (PublicationMatchedStatus'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_publication_h.DDS_PublicationMatchedStatus'Size, "PublicationMatchedStatus size missmatch."); 
  5732.  
  5733.    --  <dref>PublicationMatchedStatus</dref> 
  5734.    --  <dref name="Total_Count">PublicationMatchedStatus_total_count</dref> 
  5735.    --  <dref name="Total_Count_Change">PublicationMatchedStatus_total_count_change</dref> 
  5736.    --  <dref name="Current_Count">PublicationMatchedStatus_current_count</dref> 
  5737.    --  <dref name="Current_Count_Peak">PublicationMatchedStatus_current_count_peak</dref> 
  5738.    --  <dref name="Current_Count_Change">PublicationMatchedStatus_current_count_change</dref> 
  5739.    --  <dref name="Last_Subscription_Handle">PublicationMatchedStatus_last_subscription_handle</dref> 
  5740.  
  5741.  
  5742.    PublicationMatchedStatus_INITIALIZER : constant PublicationMatchedStatus := (others => <>); 
  5743.  
  5744.    --  ---------------------------------------------------------- 
  5745.    --                  ReliableWriterCacheEventCount 
  5746.    --  ---------------------------------------------------------- 
  5747.  
  5748.    type ReliableWriterCacheEventCount is record 
  5749.       Total_Count        : aliased Long := 0; 
  5750.       Total_Count_Change : aliased Long := 0; 
  5751.    end record with Convention => C; 
  5752.    pragma Compile_Time_Error (ReliableWriterCacheEventCount'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_publication_h.DDS_ReliableWriterCacheEventCount'Size, "ReliableWriterCacheEventCount size missmatch."); 
  5753.  
  5754.    --  <dref>ReliableWriterCacheEventCount</dref> 
  5755.    --  <dref name="Total_Count">ReliableWriterCacheEventCount_total_count</dref> 
  5756.    --  <dref name="Total_Count_Change">ReliableWriterCacheEventCount_total_count_change</dref> 
  5757.  
  5758.  
  5759.    ReliableWriterCacheEventCount_INITIALIZER : constant ReliableWriterCacheEventCount := (others => <>); 
  5760.  
  5761.    --  ---------------------------------------------------------- 
  5762.    --                  ReliableWriterCacheChangedStatus 
  5763.    --  ---------------------------------------------------------- 
  5764.  
  5765.    type ReliableWriterCacheChangedStatus is record 
  5766.       Empty_Reliable_Writer_Cache          : aliased ReliableWriterCacheEventCount; 
  5767.       Full_Reliable_Writer_Cache           : aliased ReliableWriterCacheEventCount; 
  5768.       Low_Watermark_Reliable_Writer_Cache  : aliased ReliableWriterCacheEventCount; 
  5769.       High_Watermark_Reliable_Writer_Cache : aliased ReliableWriterCacheEventCount; 
  5770.       Unacknowledged_Sample_Count          : aliased Long := 0; 
  5771.       Unacknowledged_Sample_Count_Peak     : aliased Long := 0; 
  5772.       Replaced_Unacknowledged_Sample_Count : aliased Long_Long := 0; 
  5773.    end record with Convention => C; 
  5774.    pragma Compile_Time_Error (ReliableWriterCacheChangedStatus'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_publication_h.DDS_ReliableWriterCacheChangedStatus'Size, "ReliableWriterCacheChangedStatus size missmatch."); 
  5775.  
  5776.    --  <dref>ReliableWriterCacheChangedStatus</dref> 
  5777.    --  <dref name="Empty_Reliable_Writer_Cache">ReliableWriterCacheChangedStatus_empty_reliable_writer_cache</dref> 
  5778.    --  <dref name="Full_Reliable_Writer_Cache">ReliableWriterCacheChangedStatus_full_reliable_writer_cache</dref> 
  5779.    --  <dref name="Low_Watermark_Reliable_Writer_Cache">ReliableWriterCacheChangedStatus_low_watermark_reliable_writer_cache</dref> 
  5780.    --  <dref name="High_Watermark_Reliable_Writer_Cache">ReliableWriterCacheChangedStatus_high_watermark_reliable_writer_cache</dref> 
  5781.    --  <dref name="Unacknowledged_Sample_Count">ReliableWriterCacheChangedStatus_unacknowledged_sample_count</dref> 
  5782.    --  <dref name="Unacknowledged_Sample_Count_peak">ReliableWriterCacheChangedStatus_unacknowledged_sample_count_peak</dref> 
  5783.    --  <dref name="Replaced_Unacknowledged_Sample_Count">ReliableWriterCacheChangedStatus_replaced_unacknowledged_sample_count</dref> 
  5784.  
  5785.  
  5786.    ReliableWriterCacheChangedStatus_INITIALIZER : constant ReliableWriterCacheChangedStatus := (others => <>); 
  5787.  
  5788.    --  ---------------------------------------------------------- 
  5789.    --                  ReliableReaderActivityChangedStatus 
  5790.    --  ---------------------------------------------------------- 
  5791.  
  5792.    type ReliableReaderActivityChangedStatus is record 
  5793.       Active_Count          : aliased Long := 0; 
  5794.       Inactive_Count        : aliased Long := 0; 
  5795.       Active_Count_Change   : aliased Long := 0; 
  5796.       Inactive_Count_Change : aliased Long := 0; 
  5797.       Last_Instance_Handle  : aliased InstanceHandle_T := Null_InstanceHandle_T; 
  5798.    end record with Convention => C; 
  5799.    pragma Compile_Time_Error (ReliableReaderActivityChangedStatus'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_publication_h.DDS_ReliableReaderActivityChangedStatus'Size, "ReliableReaderActivityChangedStatus size missmatch."); 
  5800.  
  5801.    --  <dref>ReliableReaderActivityChangedStatus</dref> 
  5802.    --  <dref name="Acitve_Count">ReliableReaderActivityChangedStatus_active_count</dref> 
  5803.    --  <dref name="Inacitve_Count">ReliableReaderActivityChangedStatus_inactive_count</dref> 
  5804.    --  <dref name="Active_Count_change">ReliableReaderActivityChangedStatus_active_count_change</dref> 
  5805.    --  <dref name="Inactive_Count_change">ReliableReaderActivityChangedStatus_inactive_count_change</dref> 
  5806.    --  <dref name="Last_Instance_Handle">ReliableReaderActivityChangedStatus_last_instance_handle</dref> 
  5807.  
  5808.  
  5809.    ReliableReaderActivityChangedStatus_INITIALIZER : constant  ReliableReaderActivityChangedStatus := (others => <>); 
  5810.  
  5811.    --  ---------------------------------------------------------- 
  5812.    --                  AcknowledgmentInfo 
  5813.    --  ---------------------------------------------------------- 
  5814.  
  5815.    type AcknowledgmentInfo is record 
  5816.       Subscription_Handle : aliased InstanceHandle_T := Null_InstanceHandle_T; 
  5817.       Sample_Identity     : aliased SampleIdentity_T; 
  5818.       Cookie              : aliased Cookie_T; 
  5819.       Valid_Response_Data : aliased Boolean := False; 
  5820.       Response_Data       : aliased AckResponseData_T; 
  5821.    end record with Convention => C; 
  5822.    pragma Compile_Time_Error (AcknowledgmentInfo'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_publication_h.DDS_AcknowledgmentInfo'Size, "AcknowledgmentInfo size missmatch."); 
  5823.  
  5824.    --  <dref>AcknowledgmentInfo</dref> 
  5825.    --  <dref name="Subscription_Handle">AcknowledgmentInfo_subscription_handle</dref> 
  5826.    --  <dref name="Sample_Identity">AcknowledgmentInfo_sample_identity</dref> 
  5827.    --  <dref name="Cookie">AcknowledgmentInfo_cookie</dref> 
  5828.    --  <dref name="Valid_Response_Data">AcknowledgmentInfo_valid_response_data</dref> 
  5829.    --  <dref name="Response_Data">AcknowledgmentInfo_response_data</dref> 
  5830.  
  5831.    type AcknowledgmentInfo_Access is access all AcknowledgmentInfo; 
  5832.  
  5833.    type ServiceRequestAcceptedStatus is new RTIDDS.Low_Level.ndds_dds_c_dds_c_publication_h.DDS_ServiceRequestAcceptedStatus; 
  5834.    type ServiceRequestAcceptedStatus_Access is access all  ServiceRequestAcceptedStatus with Storage_Size => 0; 
  5835.  
  5836.    type VirtualWriterInfo is new RTIDDS.Low_Level.ndds_dds_c_dds_c_publication_h.DDS_VirtualWriterInfo; 
  5837.    type VirtualWriterInfo_Access is access all  VirtualWriterInfo with Storage_Size => 0; 
  5838.  
  5839.    --  ---------------------------------------------------------- 
  5840.    --                  DataWriterQos 
  5841.    --  ---------------------------------------------------------- 
  5842.  
  5843.    type DataWriterQos is new Ada.Finalization.Limited_Controlled with record 
  5844.       --- 
  5845.       Durability             : aliased DurabilityQosPolicy; 
  5846.       Durability_Service     : aliased DurabilityServiceQosPolicy; 
  5847.       Deadline               : aliased DeadlineQosPolicy; 
  5848.       Latency_Budget         : aliased LatencyBudgetQosPolicy; 
  5849.       Liveliness             : aliased LivelinessQosPolicy; 
  5850.       Reliability            : aliased ReliabilityQosPolicy; 
  5851.       Destination_Order      : aliased DestinationOrderQosPolicy; 
  5852.       History                : aliased HistoryQosPolicy; 
  5853.       Resource_Limits        : aliased ResourceLimitsQosPolicy; 
  5854.       Transport_Priority     : aliased TransportPriorityQosPolicy; 
  5855.       Lifespan               : aliased LifespanQosPolicy; 
  5856.       User_Data              : aliased UserDataQosPolicy; 
  5857.       Ownership              : aliased OwnershipQosPolicy; 
  5858.       Ownership_Strength     : aliased OwnershipStrengthQosPolicy; 
  5859.       Writer_Data_Lifecycle  : aliased WriterDataLifecycleQosPolicy; 
  5860.       Representation         : aliased DataRepresentationQosPolicy; 
  5861.       Data_Tags              : aliased DataTagQosPolicy; 
  5862.       -- --- Extensions: ---------------------------------------------------- 
  5863.       Writer_Resource_Limits : aliased DataWriterResourceLimitsQosPolicy; 
  5864.       Protocol               : aliased DataWriterProtocolQosPolicy; 
  5865.       Transport_Selection    : aliased TransportSelectionQosPolicy; 
  5866.       Unicast                : aliased TransportUnicastQosPolicy; 
  5867.       Encapsulation          : aliased TransportEncapsulationQosPolicy; 
  5868.       Publish_Mode           : aliased PublishModeQosPolicy; 
  5869.       Property               : aliased PropertyQosPolicy; 
  5870.       Service                : aliased ServiceQosPolicy; 
  5871.       Batch                  : aliased BatchQosPolicy; 
  5872.       Multi_Channel          : aliased MultiChannelQosPolicy; 
  5873.       Availability           : aliased AvailabilityQosPolicy; 
  5874.       Publication_Name       : aliased EntityNameQosPolicy; 
  5875.       Topic_Query_Dispatch   : aliased TopicQueryDispatchQosPolicy; 
  5876.       Transfer_Mode          : aliased DataWriterTransferModeQosPolicy; 
  5877.       Type_Support           : aliased TypeSupportQosPolicy; 
  5878.    end record with 
  5879.      convention => C; 
  5880.    --  <dref>DataWriterQos_initialize</dref> 
  5881.    procedure Initialize 
  5882.      (Self : in out DataWriterQos); 
  5883.  
  5884.    --  <dref>DataWriterQos_finalize</dref> 
  5885.    procedure Finalize 
  5886.      (Self : in out DataWriterQos); 
  5887.  
  5888.    --  <dref>DataWriterQos_copy</dref> 
  5889.    procedure Copy 
  5890.      (Target : out DataWriterQos; 
  5891.       Source : in DataWriterQos); 
  5892.    function GetInterface (P_Qos : DataWriterQos) return access RTIDDS.Low_Level.ndds_dds_c_dds_c_publication_h.DDS_DataWriterQos; 
  5893.  
  5894.    --  <dref>DataWriterQos</dref> 
  5895.    --  <dref name="Durability">DataWriterQos_durability</dref> 
  5896.    --  <dref name="Durability_Service">DataWriterQos_durability_service</dref> 
  5897.    --  <dref name="Deadline">DataWriterQos_deadline</dref> 
  5898.    --  <dref name="Latency_Budget">DataWriterQos_latency_budget</dref> 
  5899.    --  <dref name="Liveliness">DataWriterQos_liveliness</dref> 
  5900.    --  <dref name="Reliability">DataWriterQos_reliability</dref> 
  5901.    --  <dref name="Destination_Order">DataWriterQos_destination_order</dref> 
  5902.    --  <dref name="History">DataWriterQos_history</dref> 
  5903.    --  <dref name="Resource_Limits">DataWriterQos_resource_limits</dref> 
  5904.    --  <dref name="Transport_Priority">DataWriterQos_transport_priority</dref> 
  5905.    --  <dref name="Lifespan">DataWriterQos_lifespan</dref> 
  5906.    --  <dref name="User_Data">DataWriterQos_user_data</dref> 
  5907.    --  <dref name="Ownership">DataWriterQos_ownership</dref> 
  5908.    --  <dref name="Ownership_Strength">DataWriterQos_ownership_strength</dref> 
  5909.    --  <dref name="Writer_Data_Lifecycle">DataWriterQos_writer_data_lifecycle</dref> 
  5910.    --  <dref name="Representation">DataWriterQos_representation</dref> 
  5911.    --  <dref name="Data_Tags">DataWriterQos_data_tags</dref> 
  5912.    --  <dref name="Writer_Resource_Limits">DataWriterQos_writer_resource_limits</dref> 
  5913.    --  <dref name="Protocol">DataWriterQos_protocol</dref> 
  5914.    --  <dref name="Transport_Selection">DataWriterQos_transport_selection</dref> 
  5915.    --  <dref name="Unicast">DataWriterQos_unicast</dref> 
  5916.    --  <dref name="Encapsulation">DataWriterQos_encapsulation</dref> 
  5917.    --  <dref name="Publish_Mode">DataWriterQos_publish_mode</dref> 
  5918.    --  <dref name="Property">DataWriterQos_property</dref> 
  5919.    --  <dref name="Service">DataWriterQos_service</dref> 
  5920.    --  <dref name="batch">DataWriterQos_batch</dref> 
  5921.    --  <dref name="multi_channel">DataWriterQos_multi_channel</dref> 
  5922.    --  <dref name="Availability">DataWriterQos_availability</dref> 
  5923.    --  <dref name="publication_name">DataWriterQos_publication_name</dref> 
  5924.    --  <dref name="Topic_Query_Dispatch">DataWriterQos_topic_query_dispatch</dref> 
  5925.    --  <dref name="Transfer_Mode">DataWriterQos_transfer_mode</dref> 
  5926.    --  <dref name="Type_Support">DataWriterQos_type_support</dref> 
  5927.  
  5928.  
  5929.  
  5930.  
  5931.    --  ---------------------------------------------------------- 
  5932.    --                  PublisherQos 
  5933.    --  ---------------------------------------------------------- 
  5934.  
  5935.    type PublisherQos is  new Ada.Finalization.Limited_Controlled with record 
  5936.       Presentation           : PresentationQosPolicy; 
  5937.       Partition              : PartitionQosPolicy; 
  5938.       Group_Data             : GroupDataQosPolicy; 
  5939.       Entity_Factory         : EntityFactoryQosPolicy; 
  5940.       -- --- Extensions: ---------------------------------------------------- 
  5941.       Asynchronous_Publisher : aliased AsynchronousPublisherQosPolicy; 
  5942.       Protocol               : aliased PublisherProtocolQosPolicy; 
  5943.       Publisher_Name         : aliased EntityNameQosPolicy; 
  5944.    end record with 
  5945.      Convention => C; 
  5946.    --  <dref>PublisherQos</dref> 
  5947.    --  <dref name="Presentation">PublisherQos_presentation</dref> 
  5948.    --  <dref name="Partition">PublisherQos_partition</dref> 
  5949.    --  <dref name="Group_Data">PublisherQos_group_data</dref> 
  5950.    --  <dref name="Entity_Factory">PublisherQos_entity_factory</dref> 
  5951.    --  <dref name="Asynchronous_Publisher">PublisherQos_asynchronous_publisher</dref> 
  5952.    --  <dref internal="True" name="Protocol">PublisherQos_protocol</dref> 
  5953.    --  <dref name="publisher_name">PublisherQos_publisher_name</dref> 
  5954.  
  5955.    type PublisherQos_Access is access PublisherQos; 
  5956.  
  5957.    --  <dref>PublisherQos_initialize</dref> 
  5958.    procedure Initialize 
  5959.      (Self : in out PublisherQos); 
  5960.  
  5961.    --  <dref>PublisherQos_finalize</dref> 
  5962.    procedure Finalize 
  5963.      (Self : in out PublisherQos); 
  5964.  
  5965.    --  <dref>PublisherQos_copy</dref> 
  5966.    procedure Copy 
  5967.      (Target : out PublisherQos; 
  5968.       Source : in  PublisherQos); 
  5969.  
  5970.    --  ---------------------------------------------------------- 
  5971.    --                  DataWriterCacheStatus 
  5972.    --  ---------------------------------------------------------- 
  5973.  
  5974.    type DataWriterCacheStatus is record 
  5975.       Sample_Count_Peak                : aliased Long_Long := 0; 
  5976.       Sample_Count                     : aliased Long_Long := 0; 
  5977.       Alive_Instance_Count             : aliased Long_Long := 0; 
  5978.       Alive_Instance_Count_Peak        : aliased Long_Long := 0; 
  5979.       Disposed_Instance_Count          : aliased Long_Long := 0; 
  5980.       Disposed_Instance_Count_Peak     : aliased Long_Long := 0; 
  5981.       Unregistered_Instance_Count      : aliased Long_Long := 0; 
  5982.       Unregistered_Instance_Count_Peak : aliased Long_Long := 0; 
  5983.    end record with Convention => C; 
  5984.    pragma Compile_Time_Error (DataWriterCacheStatus'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_publication_h.DDS_DataWriterCacheStatus'Size, "DataWriterCacheStatus size missmatch."); 
  5985.  
  5986.    --  <dref>DataWriterCacheStatus</dref> 
  5987.    --  <dref name="sample_count_peak">DataWriterCacheStatus_sample_count_peak</dref> 
  5988.    --  <dref name="sample_count">DataWriterCacheStatus_sample_count</dref> 
  5989.    --  <dref name="alive_instance_count">DataWriterCacheStatus_alive_instance_count</dref> 
  5990.    --  <dref name="alive_instance_count_peak">DataWriterCacheStatus_alive_instance_count_peak</dref> 
  5991.    --  <dref name="disposed_instance_count">DataWriterCacheStatus_disposed_instance_count</dref> 
  5992.    --  <dref name="disposed_instance_count_peak">DataWriterCacheStatus_disposed_instance_count_peak</dref> 
  5993.    --  <dref name="unregistered_instance_count">DataWriterCacheStatus_unregistered_instance_count</dref> 
  5994.    --  <dref name="unregistered_instance_count_peak">DataWriterCacheStatus_unregistered_instance_count_peak</dref> 
  5995.  
  5996.    --  NOTE: filtered_sample_* fields have been removed from the documentation (see CORE-5977) 
  5997.    --  and may eventually be removed from this structure (CORE-5953) 
  5998.    type DataWriterProtocolStatus is record 
  5999.       Pushed_Sample_Count                                  : aliased DDS.Long_Long := 0; 
  6000.       Pushed_Sample_Count_Change                           : aliased DDS.Long_Long := 0; 
  6001.       Pushed_Sample_Bytes                                  : aliased DDS.Long_Long := 0; 
  6002.       Pushed_Sample_Bytes_Change                           : aliased DDS.Long_Long := 0; 
  6003.       Filtered_Sample_Count                                : aliased DDS.Long_Long := 0; 
  6004.       Filtered_Sample_Count_Change                         : aliased DDS.Long_Long := 0; 
  6005.       Filtered_Sample_Bytes                                : aliased DDS.Long_Long := 0; 
  6006.       Filtered_Sample_Bytes_Change                         : aliased DDS.Long_Long := 0; 
  6007.       Sent_Heartbeat_Count                                 : aliased DDS.Long_Long := 0; 
  6008.       Sent_Heartbeat_Count_Change                          : aliased DDS.Long_Long := 0; 
  6009.       Sent_Heartbeat_Bytes                                 : aliased DDS.Long_Long := 0; 
  6010.       Sent_Heartbeat_Bytes_Change                          : aliased DDS.Long_Long := 0; 
  6011.       Pulled_Sample_Count                                  : aliased DDS.Long_Long := 0; 
  6012.       Pulled_Sample_Count_Change                           : aliased DDS.Long_Long := 0; 
  6013.       Pulled_Sample_Bytes                                  : aliased DDS.Long_Long := 0; 
  6014.       Pulled_Sample_Bytes_Change                           : aliased DDS.Long_Long := 0; 
  6015.       Received_Ack_Count                                   : aliased DDS.Long_Long := 0; 
  6016.       Received_Ack_Count_Change                            : aliased DDS.Long_Long := 0; 
  6017.       Received_Ack_Bytes                                   : aliased DDS.Long_Long := 0; 
  6018.       Received_Ack_Bytes_Change                            : aliased DDS.Long_Long := 0; 
  6019.       Received_Nack_Count                                  : aliased DDS.Long_Long := 0; 
  6020.       Received_Nack_Count_Change                           : aliased DDS.Long_Long := 0; 
  6021.       Received_Nack_Bytes                                  : aliased DDS.Long_Long := 0; 
  6022.       Received_Nack_Bytes_Change                           : aliased DDS.Long_Long := 0; 
  6023.       Sent_Gap_Count                                       : aliased DDS.Long_Long := 0; 
  6024.       Sent_Gap_Count_Change                                : aliased DDS.Long_Long := 0; 
  6025.       Sent_Gap_Bytes                                       : aliased DDS.Long_Long := 0; 
  6026.       Sent_Gap_Bytes_Change                                : aliased DDS.Long_Long := 0; 
  6027.       Rejected_Sample_Count                                : aliased DDS.Long_Long := 0; 
  6028.       Rejected_Sample_Count_Change                         : aliased DDS.Long_Long := 0; 
  6029.       Send_Window_Size                                     : aliased DDS.Long := 0; 
  6030.       First_Available_Sample_Sequence_Number               : aliased DDS.SequenceNumber_T; 
  6031.       Last_Available_Sample_Sequence_Number                : aliased DDS.SequenceNumber_T; 
  6032.       First_Unacknowledged_Sample_Sequence_Number          : aliased DDS.SequenceNumber_T; 
  6033.       First_Available_Sample_Virtual_Sequence_Number       : aliased DDS.SequenceNumber_T; 
  6034.       Last_Available_Sample_Virtual_Sequence_Number        : aliased DDS.SequenceNumber_T; 
  6035.       First_Unacknowledged_Sample_Virtual_Sequence_Number  : aliased DDS.SequenceNumber_T; 
  6036.       First_Unacknowledged_Sample_Subscription_Handle      : aliased DDS.InstanceHandle_T; 
  6037.       First_Unelapsed_Keep_Duration_Sample_Sequence_Number : aliased DDS.SequenceNumber_T; 
  6038.       Pushed_Fragment_Count                                : aliased DDS.Long_Long := 0; 
  6039.       Pushed_Fragment_Bytes                                : aliased DDS.Long_Long := 0; 
  6040.       Pulled_Fragment_Count                                : aliased DDS.Long_Long := 0; 
  6041.       Pulled_Fragment_Bytes                                : aliased DDS.Long_Long := 0; 
  6042.       Received_Nack_Fragment_Count                         : aliased DDS.Long_Long := 0; 
  6043.       Received_Nack_Fragment_Bytes                         : aliased DDS.Long_Long := 0; 
  6044.    end record; 
  6045.    --  <dref>DataWriterProtocolStatus</dref> 
  6046.    --  <dref name="pushed_sample_count">DataWriterProtocolStatus_pushed_sample_count</dref> 
  6047.    --  <dref name="pushed_sample_count_change">DataWriterProtocolStatus_pushed_sample_count_change</dref> 
  6048.    --  <dref name="pushed_sample_bytes">DataWriterProtocolStatus_pushed_sample_bytes</dref> 
  6049.    --  <dref name="pushed_sample_bytes_change">DataWriterProtocolStatus_pushed_sample_bytes_change</dref> 
  6050.    --  <dref name="sent_heartbeat_count">DataWriterProtocolStatus_sent_heartbeat_count</dref> 
  6051.    --  <dref name="sent_heartbeat_count_change">DataWriterProtocolStatus_sent_heartbeat_count_change</dref> 
  6052.    --  <dref name="sent_heartbeat_bytes">DataWriterProtocolStatus_sent_heartbeat_bytes</dref> 
  6053.    --  <dref name="sent_heartbeat_bytes_change">DataWriterProtocolStatus_sent_heartbeat_bytes_change</dref> 
  6054.    --  <dref name="pulled_sample_count">DataWriterProtocolStatus_pulled_sample_count</dref> 
  6055.    --  <dref name="pulled_sample_count_change">DataWriterProtocolStatus_pulled_sample_count_change</dref> 
  6056.    --  <dref name="pulled_sample_bytes">DataWriterProtocolStatus_pulled_sample_bytes</dref> 
  6057.    --  <dref name="pulled_sample_bytes_change">DataWriterProtocolStatus_pulled_sample_bytes_change</dref> 
  6058.    --  <dref name="received_ack_count">DataWriterProtocolStatus_received_ack_count</dref> 
  6059.    --  <dref name="received_ack_count_change">DataWriterProtocolStatus_received_ack_count_change</dref> 
  6060.    --  <dref name="received_ack_bytes">DataWriterProtocolStatus_received_ack_bytes</dref> 
  6061.    --  <dref name="received_ack_bytes_change">DataWriterProtocolStatus_received_ack_bytes_change</dref> 
  6062.    --  <dref name="received_nack_count">DataWriterProtocolStatus_received_nack_count</dref> 
  6063.    --  <dref name="received_nack_count_change">DataWriterProtocolStatus_received_nack_count_change</dref> 
  6064.    --  <dref name="received_nack_bytes">DataWriterProtocolStatus_received_nack_bytes</dref> 
  6065.    --  <dref name="received_nack_bytes_change">DataWriterProtocolStatus_received_nack_bytes_change</dref> 
  6066.    --  <dref name="sent_gap_count">DataWriterProtocolStatus_sent_gap_count</dref> 
  6067.    --  <dref name="sent_gap_count_change">DataWriterProtocolStatus_sent_gap_count_change</dref> 
  6068.    --  <dref name="sent_gap_bytes">DataWriterProtocolStatus_sent_gap_bytes</dref> 
  6069.    --  <dref name="sent_gap_bytes_change">DataWriterProtocolStatus_sent_gap_bytes_change</dref> 
  6070.    --  <dref name="rejected_sample_count">DataWriterProtocolStatus_rejected_sample_count</dref> 
  6071.    --  <dref name="rejected_sample_count_change">DataWriterProtocolStatus_rejected_sample_count_change</dref> 
  6072.    --  <dref name="send_window_size">DataWriterProtocolStatus_send_window_size</dref> 
  6073.    --  <dref name="first_available_sample_sequence_number">DataWriterProtocolStatus_first_available_sample_sequence_number</dref> 
  6074.    --  <dref name="last_available_sample_sequence_number">DataWriterProtocolStatus_last_available_sample_sequence_number</dref> 
  6075.    --  <dref name="first_unacknowledged_sample_sequence_number">DataWriterProtocolStatus_first_unacknowledged_sample_sequence_number</dref> 
  6076.    --  <dref name="first_available_sample_virtual_sequence_number">DataWriterProtocolStatus_first_available_sample_virtual_sequence_number</dref> 
  6077.    --  <dref name="last_available_sample_virtual_sequence_number">DataWriterProtocolStatus_last_available_sample_virtual_sequence_number</dref> 
  6078.    --  <dref name="first_unacknowledged_sample_virtual_sequence_number">DataWriterProtocolStatus_first_unacknowledged_sample_virtual_sequence_number</dref> 
  6079.    --  <dref name="first_unacknowledged_sample_subscription_handle">DataWriterProtocolStatus_first_unacknowledged_sample_subscription_handle</dref> 
  6080.    --  <dref name="first_unelapsed_keep_duration_sample_sequence_number">DataWriterProtocolStatus_first_unelapsed_keep_duration_sample_sequence_number</dref> 
  6081.    --  <dref name="pushed_fragment_count">DataWriterProtocolStatus_pushed_fragment_count</dref> 
  6082.    --  <dref name="pushed_fragment_bytes">DataWriterProtocolStatus_pushed_fragment_bytes</dref> 
  6083.    --  <dref name="pulled_fragment_count">DataWriterProtocolStatus_pulled_fragment_count</dref> 
  6084.    --  <dref name="pulled_fragment_bytes">DataWriterProtocolStatus_pulled_fragment_bytes</dref> 
  6085.    --  <dref name="received_nack_fragment_count">DataWriterProtocolStatus_received_nack_fragment_count</dref> 
  6086.    --  <dref name="received_nack_fragment_bytes">DataWriterProtocolStatus_received_nack_fragment_bytes</dref> 
  6087.  
  6088.    pragma Convention (C_Pass_By_Copy, DataWriterProtocolStatus); 
  6089.  
  6090.    -- 
  6091.    --  dds/dds_c_subscription.h 
  6092.    -- 
  6093.  
  6094.    --  ---------------------------------------------------------- 
  6095.    --                  RequestedDeadlineMissedStatus 
  6096.    --  ---------------------------------------------------------- 
  6097.  
  6098.    type RequestedDeadlineMissedStatus is record 
  6099.       Total_Count          : aliased Long := 0; 
  6100.       Total_Count_Change   : aliased Long := 0; 
  6101.       Last_Instance_Handle : aliased InstanceHandle_T := Null_InstanceHandle_T; 
  6102.    end record with Convention => C; 
  6103.    pragma Compile_Time_Error (RequestedDeadlineMissedStatus'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_subscription_h.DDS_RequestedDeadlineMissedStatus'Size, "RequestedDeadlineMissedStatus size missmatch."); 
  6104.  
  6105.    --  <dref>RequestedDeadlineMissedStatus</dref> 
  6106.    --  <dref name="Total_Count">RequestedDeadlineMissedStatus_total_count</dref> 
  6107.    --  <dref name="Total_Count_Change">RequestedDeadlineMissedStatus_total_count_change</dref> 
  6108.    --  <dref name="Last_Instance_Handle">RequestedDeadlineMissedStatus_last_instance_handle</dref> 
  6109.  
  6110.    RequestedDeadlineMissedStatus_INITIALIZER : constant RequestedDeadlineMissedStatus := (others => <>); 
  6111.  
  6112.  
  6113.    --  ---------------------------------------------------------- 
  6114.    --                  LivelinessChangedStatus 
  6115.    --  ---------------------------------------------------------- 
  6116.  
  6117.    type LivelinessChangedStatus is record 
  6118.       Alive_Count             : aliased Long := 0; 
  6119.       Not_Alive_Count         : aliased Long := 0; 
  6120.       Alive_Count_Change      : aliased Long := 0; 
  6121.       Not_Alive_Count_Change  : aliased Long := 0; 
  6122.       Last_Publication_Handle : aliased InstanceHandle_T := Null_InstanceHandle_T; 
  6123.    end record with Convention => C; 
  6124.    pragma Compile_Time_Error (LivelinessChangedStatus'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_subscription_h.DDS_LivelinessChangedStatus'Size, "LivelinessChangedStatus size missmatch."); 
  6125.  
  6126.    --  <dref>LivelinessChangedStatus</dref> 
  6127.    --  <dref name="Alive_Count">LivelinessChangedStatus_alive_count</dref> 
  6128.    --  <dref name="Not_Alive_Count">LivelinessChangedStatus_not_alive_count</dref> 
  6129.    --  <dref name="Alive_Count_Change">LivelinessChangedStatus_alive_count_change</dref> 
  6130.    --  <dref name="Not_Alive_Count_Change">LivelinessChangedStatus_not_alive_count_change</dref> 
  6131.    --  <dref name="Last_Publication_Handle">LivelinessChangedStatus_last_publication_handle</dref> 
  6132.  
  6133.    LivelinessChangedStatus_INITIALIZER : constant LivelinessChangedStatus := (others => <>); 
  6134.  
  6135.    --  ---------------------------------------------------------- 
  6136.    --                  RequestedIncompatibleQosStatus 
  6137.    --  ---------------------------------------------------------- 
  6138.  
  6139.    type RequestedIncompatibleQosStatus is record 
  6140.       Total_Count        : aliased Long := 0; 
  6141.       Total_Count_Change : aliased Long := 0; 
  6142.       Last_Policy_Id     : aliased QosPolicyId_T := INVALID_QOS_POLICY_ID; 
  6143.       Policies           : aliased QosPolicyCount_Seq.Sequence; 
  6144.    end record with Convention => C; 
  6145.    pragma Compile_Time_Error (RequestedIncompatibleQosStatus'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_subscription_h.DDS_RequestedIncompatibleQosStatus'Size, "RequestedIncompatibleQosStatus size missmatch."); 
  6146.  
  6147.    --  <dref>RequestedIncompatibleQosStatus</dref> 
  6148.    --  <dref name="Total_Count">RequestedIncompatibleQosStatus_total_count</dref> 
  6149.    --  <dref name="Total_Count_Change">RequestedIncompatibleQosStatus_total_count_change</dref> 
  6150.    --  <dref name="Last_Policy_Id">RequestedIncompatibleQosStatus_last_policy_id</dref> 
  6151.    --  <dref name="Policies">RequestedIncompatibleQosStatus_policies</dref> 
  6152.  
  6153.  
  6154.    type RequestedIncompatibleQosStatus_Access is access all RequestedIncompatibleQosStatus; 
  6155.  
  6156.    RequestedIncompatibleQosStatus_INITIALIZER : constant RequestedIncompatibleQosStatus := (others => <>); 
  6157.    --  ---------------------------------------------------------- 
  6158.    --                  SampleLostStatusKind 
  6159.    --  ---------------------------------------------------------- 
  6160.  
  6161.    type SampleLostStatusKind is new Unsigned_Long; 
  6162.    --  <dref>SampleLostStatusKind</dref> 
  6163.  
  6164.    NOT_LOST                                   : constant SampleLostStatusKind := 0; 
  6165.    --  <dref>SampleLostStatusKind_NOT_LOST</dref> 
  6166.  
  6167.    LOST_BY_WRITER                             : constant SampleLostStatusKind := 1; 
  6168.    --  <dref>SampleLostStatusKind_LOST_BY_WRITER</dref> 
  6169.  
  6170.    LOST_BY_INSTANCES_LIMIT                    : constant SampleLostStatusKind := 2; 
  6171.    --  <dref>SampleLostStatusKind_LOST_BY_INSTANCES_LIMIT</dref> 
  6172.  
  6173.    LOST_BY_REMOTE_WRITERS_PER_INSTANCE_LIMIT  : constant SampleLostStatusKind := 3; 
  6174.    --  <dref>SampleLostStatusKind_LOST_BY_REMOTE_WRITERS_PER_INSTANCE_LIMIT</dref> 
  6175.  
  6176.    LOST_BY_INCOMPLETE_COHERENT_SET            : constant SampleLostStatusKind := 4; 
  6177.    --  <dref>SampleLostStatusKind_LOST_BY_LARGE_COHERENT_SET</dref> 
  6178.  
  6179.    LOST_BY_LARGE_COHERENT_SET                 : constant SampleLostStatusKind := 5; 
  6180.    --  <dref>SampleLostStatusKind_LOST_BY_LARGE_COHERENT_SET</dref> 
  6181.  
  6182.    LOST_BY_SAMPLES_PER_REMOTE_WRITER_LIMIT    : constant SampleLostStatusKind := 6; 
  6183.    --  <dref>SampleLostStatusKind_LOST_BY_SAMPLES_PER_REMOTE_WRITER_LIMIT</dref> 
  6184.  
  6185.    LOST_BY_VIRTUAL_WRITERS_LIMIT              : constant SampleLostStatusKind := 7; 
  6186.    --  <dref name="LOST_BY_VIRTUAL_WRITERS_LIMIT">SampleLostStatusKind_LOST_BY_VIRTUAL_WRITERS_LIMIT</dref> 
  6187.  
  6188.    LOST_BY_REMOTE_WRITERS_PER_SAMPLE_LIMIT    : constant SampleLostStatusKind := 8; 
  6189.    --  <dref name="LOST_BY_REMOTE_WRITERS_PER_SAMPLE_LIMIT">SampleLostStatusKind_LOST_BY_REMOTE_WRITERS_PER_SAMPLE_LIMIT</dref> 
  6190.  
  6191.    LOST_BY_AVAILABILITY_WAITING_TIME          : constant SampleLostStatusKind := 9; 
  6192.    --  <dref name="LOST_BY_AVAILABILITY_WAITING_TIME">SampleLostStatusKind_LOST_BY_AVAILABILITY_WAITING_TIME</dref> 
  6193.  
  6194.    LOST_BY_REMOTE_WRITER_SAMPLES_PER_VIRTUAL_QUEUE_LIMIT : constant SampleLostStatusKind := 10; 
  6195.    --  <dref name="LOST_BY_REMOTE_WRITER_SAMPLES_PER_VIRTUAL_QUEUE_LIMIT">SampleLostStatusKind_LOST_BY_REMOTE_WRITER_SAMPLES_PER_VIRTUAL_QUEUE_LIMIT</dref> 
  6196.  
  6197.    LOST_BY_OUT_OF_MEMORY                      : constant SampleLostStatusKind := 11; 
  6198.    --  <dref name="LOST_BY_OUT_OF_MEMORY">SampleLostStatusKind_LOST_BY_OUT_OF_MEMORY</dref> 
  6199.  
  6200.    LOST_BY_UNKNOWN_INSTANCE                   : constant SampleLostStatusKind := 12; 
  6201.    --  <dref name="LOST_BY_UNKNOWN_INSTANCE">SampleLostStatusKind_LOST_BY_UNKNOWN_INSTANCE</dref> 
  6202.  
  6203.    --  type SampleLostStatusKind_Access is access constant SampleLostStatusKind; 
  6204.  
  6205.    --  ---------------------------------------------------------- 
  6206.    --                  SampleLostStatus 
  6207.    --  ---------------------------------------------------------- 
  6208.  
  6209.    type SampleLostStatus is record 
  6210.       Total_Count        : aliased Long := 0; 
  6211.       Total_Count_Change : aliased Long := 0; 
  6212.       Last_Reason        : aliased SampleLostStatusKind := NOT_LOST; 
  6213.    end record with Convention => C; 
  6214.    pragma Compile_Time_Error (SampleLostStatus'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_subscription_h.DDS_SampleLostStatus'Size, "SampleLostStatus size missmatch."); 
  6215.  
  6216.    --  <dref>SampleLostStatus</dref> 
  6217.    --  <dref name="Total_Count">SampleLostStatus_total_count</dref> 
  6218.    --  <dref name="Total_Count_Change">SampleLostStatus_total_count_change</dref> 
  6219.    --  <dref name="Last_Reason">SampleLostStatus_last_reason</dref> 
  6220.  
  6221.  
  6222.    SampleLostStatus_INITIALIZER : constant SampleLostStatus := (others => <>); 
  6223.    --  ---------------------------------------------------------- 
  6224.    --                  SampleRejectedStatus 
  6225.    --  ---------------------------------------------------------- 
  6226.  
  6227.    type SampleRejectedStatusKind is 
  6228.      (NOT_REJECTED, 
  6229.       REJECTED_BY_INSTANCES_LIMIT, 
  6230.       REJECTED_BY_SAMPLES_LIMIT, 
  6231.       REJECTED_BY_SAMPLES_PER_INSTANCE_LIMIT, 
  6232.       REJECTED_BY_SAMPLES_PER_REMOTE_WRITER_LIMIT, 
  6233.       REJECTED_BY_REMOTE_WRITER_SAMPLES_PER_VIRTUAL_QUEUE_LIMIT, 
  6234.       REJECTED_BY_DECODE_FAILURE); 
  6235.    --  <dref>SampleRejectedStatusKind</dref> 
  6236.    --  <dref name="NOT_REJECTED">SampleRejectedStatusKind_NOT_REJECTED</dref> 
  6237.    --  <dref name="REJECTED_BY_INSTANCES_LIMIT">SampleRejectedStatusKind_REJECTED_BY_INSTANCES_LIMIT</dref> 
  6238.    --  <dref name="REJECTED_BY_SAMPLES_LIMIT">SampleRejectedStatusKind_REJECTED_BY_SAMPLES_LIMIT</dref> 
  6239.    --  <dref name="REJECTED_BY_SAMPLES_PER_INSTANCE_LIMIT">SampleRejectedStatusKind_REJECTED_BY_SAMPLES_PER_INSTANCE_LIMIT</dref> 
  6240.    --  <dref name="REJECTED_BY_SAMPLES_PER_REMOTE_WRITER_LIMIT">SampleRejectedStatusKind_REJECTED_BY_SAMPLES_PER_REMOTE_WRITER_LIMIT</dref> 
  6241.    --  <dref name="REJECTED_BY_REMOTE_WRITER_SAMPLES_PER_VIRTUAL_QUEUE_LIMIT>SampleRejectedStatusKind_REJECTED_BY_REMOTE_WRITER_SAMPLES_PER_VIRTUAL_QUEUE_LIMIT</dref> 
  6242.    --  <dref name="REJECTED_BY_DECODE_FAILURE>SampleRejectedStatusKind_REJECTED_BY_DECODE_FAILURE</dref> 
  6243.  
  6244.  
  6245.    pragma Convention (C, SampleRejectedStatusKind); 
  6246.  
  6247.    for SampleRejectedStatusKind use 
  6248.      (NOT_REJECTED                                              => 0, 
  6249.       REJECTED_BY_INSTANCES_LIMIT                               => 1, 
  6250.       REJECTED_BY_SAMPLES_LIMIT                                 => 2, 
  6251.       REJECTED_BY_SAMPLES_PER_INSTANCE_LIMIT                    => 3, 
  6252.       REJECTED_BY_SAMPLES_PER_REMOTE_WRITER_LIMIT               => 6, 
  6253.       REJECTED_BY_REMOTE_WRITER_SAMPLES_PER_VIRTUAL_QUEUE_LIMIT => 9, 
  6254.       REJECTED_BY_DECODE_FAILURE                                => 10); 
  6255.  
  6256.    type SampleRejectedStatus is record 
  6257.       Total_Count          : aliased Long := 0; 
  6258.       Total_Count_Change   : aliased Long := 0; 
  6259.       Last_Reason          : aliased SampleRejectedStatusKind := NOT_REJECTED; 
  6260.       Last_Instance_Handle : aliased InstanceHandle_T := Null_InstanceHandle_T; 
  6261.    end record with Convention => C; 
  6262.    pragma Compile_Time_Error (SampleRejectedStatus'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_subscription_h.DDS_SampleRejectedStatus'Size, "SampleRejectedStatus size missmatch."); 
  6263.  
  6264.    --  <dref>SampleRejectedStatus</dref> 
  6265.    --  <dref name="Total_Count">SampleRejectedStatus_total_count</dref> 
  6266.    --  <dref name="Total_Count_Change">SampleRejectedStatus_total_count_change</dref> 
  6267.    --  <dref name="Last_Reason">SampleRejectedStatus_last_reason</dref> 
  6268.    --  <dref name="Last_Instance_Handle">SampleRejectedStatus_last_instance_handle</dref> 
  6269.  
  6270.    SampleRejectedStatus_INITIALIZER : constant SampleRejectedStatus := (others => <>); 
  6271.  
  6272.    --  ---------------------------------------------------------- 
  6273.    --                  SubscriptionMatchedStatus 
  6274.    --  ---------------------------------------------------------- 
  6275.  
  6276.    type SubscriptionMatchedStatus is record 
  6277.       Total_Count             : aliased Long := 0; 
  6278.       Total_Count_Change      : aliased Long := 0; 
  6279.       Current_Count           : aliased Long := 0; 
  6280.       Current_Count_Peak      : aliased Long := 0; 
  6281.       Current_Count_Change    : aliased Long := 0; 
  6282.       Last_Publication_Handle : aliased InstanceHandle_T := Null_InstanceHandle_T; 
  6283.    end record; 
  6284.    --  <dref>SubscriptionMatchedStatus</dref> 
  6285.    --  <dref name="Total_Count">SubscriptionMatchedStatus_total_count</dref> 
  6286.    --  <dref name="Total_Count_Change">SubscriptionMatchedStatus_total_count_change</dref> 
  6287.    --  <dref name="Current_Count">SubscriptionMatchedStatus_current_count</dref> 
  6288.    --  <dref name="Current_Count_Peak">SubscriptionMatchedStatus_current_count_peak</dref> 
  6289.    --  <dref name="Current_Count_Change">SubscriptionMatchedStatus_current_count_change</dref> 
  6290.    --  <dref name="Last_Publication_Handle">SubscriptionMatchedStatus_last_publication_handle</dref> 
  6291.  
  6292.    pragma Convention (C, SubscriptionMatchedStatus); 
  6293.  
  6294.    SubscriptionMatchedStatus_INITIALIZER : constant SubscriptionMatchedStatus := (others => <>); 
  6295.  
  6296.    --  ---------------------------------------------------------- 
  6297.    --                  DataReaderCacheStatus 
  6298.    --  ---------------------------------------------------------- 
  6299.  
  6300.    type DataReaderCacheStatus is record 
  6301.       Sample_Count_Peak                                         : aliased Long_Long := 0; 
  6302.       Sample_Count                                              : aliased Long_Long := 0; 
  6303.       Old_Source_Timestamp_Dropped_Sample_Count                 : aliased Long_Long := 0; 
  6304.       Tolerance_Source_Timestamp_Dropped_Sample_Count           : aliased Long_Long := 0; 
  6305.       Ownership_Dropped_Sample_Count                            : aliased Long_Long := 0; 
  6306.       Content_Filter_Dropped_Sample_Count                       : aliased Long_Long := 0; 
  6307.       Time_Based_Filter_Dropped_Sample_Count                    : aliased Long_Long := 0; 
  6308.       Expired_Dropped_Sample_Count                              : aliased Long_Long := 0; 
  6309.       Virtual_Duplicate_Dropped_Sample_Count                    : aliased Long_Long := 0; 
  6310.       Replaced_Dropped_Sample_Count                             : aliased Long_Long := 0; 
  6311.       Writer_Removed_Batch_Sample_Dropped_Sample_Count          : aliased Long_Long := 0; 
  6312.       Total_Samples_Dropped_By_Instance_Replacement             : aliased Long_Long := 0; 
  6313.       Alive_Instance_Count                                      : aliased Long_Long := 0; 
  6314.       Alive_Instance_Count_Peak                                 : aliased Long_Long := 0; 
  6315.       No_Writers_Instance_Count                                 : aliased Long_Long := 0; 
  6316.       No_Writers_Instance_Count_Peak                            : aliased Long_Long := 0; 
  6317.       Disposed_Instance_Count                                   : aliased Long_Long := 0; 
  6318.       Disposed_Instance_Count_Peak                              : aliased Long_Long := 0; 
  6319.       Detached_Instance_Count                                   : aliased Long_Long := 0; 
  6320.       Detached_Instance_Count_Peak                              : aliased Long_Long := 0; 
  6321.       Compressed_Sample_Count                                   : aliased Long_Long := 0; 
  6322.    end record with Convention => C; 
  6323.    pragma Compile_Time_Error (DataReaderCacheStatus'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_subscription_h.DDS_DataReaderCacheStatus'Size, "DataReaderCacheStatus size missmatch."); 
  6324.  
  6325.    --  <dref>DataReaderCacheStatus</dref> 
  6326.    --  <dref name="Sample_Count_Peak">DataReaderCacheStatus_sample_count_peak</dref> 
  6327.    --  <dref name="Sample_Count">DataReaderCacheStatus_sample_count</dref> 
  6328.    --  <dref name="Old_Source_Timestamp_Dropped_Sample_Count">DataReaderCacheStatus_old_source_timestamp_dropped_sample_count</dref> 
  6329.    --  <dref name="Tolerance_Source_Timestamp_Dropped_Sample_Count">DataReaderCacheStatus_tolerance_source_timestamp_dropped_sample_count</dref> 
  6330.    --  <dref name="Ownership_Dropped_Sample_Count">DataReaderCacheStatus_ownership_dropped_sample_count</dref> 
  6331.    --  <dref name="Content_Filter_Dropped_Sample_Count">DataReaderCacheStatus_content_filter_dropped_sample_count</dref> 
  6332.    --  <dref name="Time_Based_Filter_Dropped_Sample_Count">DataReaderCacheStatus_time_based_filter_dropped_sample_count</dref> 
  6333.    --  <dref name="Expired_Dropped_Sample_Count">DataReaderCacheStatus_expired_dropped_sample_count</dref> 
  6334.    --  <dref name="Virtual_Duplicate_Dropped_Sample_Count">DataReaderCacheStatus_virtual_duplicate_dropped_sample_count</dref> 
  6335.    --  <dref name="Replaced_Dropped_Sample_Count">DataReaderCacheStatus_replaced_dropped_sample_count</dref> 
  6336.    --  <dref name="Writer_Removed_Batch_Sample_Dropped_Sample_Count">DataReaderCacheStatus_writer_removed_batch_sample_dropped_sample_count</dref> 
  6337.    --  <dref name="Total_Samples_Dropped_By_Instance_Replacement">DataReaderCacheStatus_total_samples_dropped_by_instance_replacement</dref> 
  6338.    --  <dref name="Alive_Instance_Count">DataReaderCacheStatus_alive_instance_count</dref> 
  6339.    --  <dref name="Alive_Instance_Count_Peak">DataReaderCacheStatus_alive_instance_count_peak</dref> 
  6340.    --  <dref name="No_Writers_Instance_Count">DataReaderCacheStatus_no_writers_instance_count</dref> 
  6341.    --  <dref name="No_Writers_Instance_Count_Peak">DataReaderCacheStatus_no_writers_instance_count_peak</dref> 
  6342.    --  <dref name="Disposed_Instance_Count">DataReaderCacheStatus_disposed_instance_count</dref> 
  6343.    --  <dref name="Disposed_Instance_Count_Peak">DataReaderCacheStatus_disposed_instance_count_peak</dref> 
  6344.    --  <dref name="Detached_Instance_Count">DataReaderCacheStatus_detached_instance_count</dref> 
  6345.    --  <dref name="Detached_Instance_Count_Peak">DataReaderCacheStatus_detached_instance_count_peak</dref> 
  6346.    --  <dref name="Compressed_Sample_Count">DataReaderCacheStatus_compressed_sample_count</dref> 
  6347.  
  6348.    DataReaderCacheStatus_INITIALIZER : constant DataReaderCacheStatus := (others => <>); 
  6349.    --  ---------------------------------------------------------- 
  6350.    --                  DataReaderProtocolStatus 
  6351.    --  ---------------------------------------------------------- 
  6352.  
  6353.    type DataReaderProtocolStatus is record 
  6354.       Received_Sample_Count                  : aliased Long_Long := 0; 
  6355.       Received_Sample_Count_Change           : aliased Long_Long := 0; 
  6356.       Received_Sample_Bytes                  : aliased Long_Long := 0; 
  6357.       Received_Sample_Bytes_Change           : aliased Long_Long := 0; 
  6358.       Duplicate_Sample_Count                 : aliased Long_Long := 0; 
  6359.       Duplicate_Sample_Count_Change          : aliased Long_Long := 0; 
  6360.       Duplicate_Sample_Bytes                 : aliased Long_Long := 0; 
  6361.       Duplicate_Sample_Bytes_Change          : aliased Long_Long := 0; 
  6362.       Filtered_Sample_Count                  : aliased Long_Long := 0; 
  6363.       Filtered_Sample_Count_Change           : aliased Long_Long := 0; 
  6364.       Filtered_Sample_Bytes                  : aliased Long_Long := 0; 
  6365.       Filtered_Sample_Bytes_Change           : aliased Long_Long := 0; 
  6366.       Received_Heartbeat_Count               : aliased Long_Long := 0; 
  6367.       Received_Heartbeat_Count_Change        : aliased Long_Long := 0; 
  6368.       Received_Heartbeat_Bytes               : aliased Long_Long := 0; 
  6369.       Received_Heartbeat_Bytes_Change        : aliased Long_Long := 0; 
  6370.       Sent_Ack_Count                         : aliased Long_Long := 0; 
  6371.       Sent_Ack_Count_Change                  : aliased Long_Long := 0; 
  6372.       Sent_Ack_Bytes                         : aliased Long_Long := 0; 
  6373.       Sent_Ack_Bytes_Change                  : aliased Long_Long := 0; 
  6374.       Sent_Nack_Count                        : aliased Long_Long := 0; 
  6375.       Sent_Nack_Count_Change                 : aliased Long_Long := 0; 
  6376.       Sent_Nack_Bytes                        : aliased Long_Long := 0; 
  6377.       Sent_Nack_Bytes_Change                 : aliased Long_Long := 0; 
  6378.       Received_Gap_Count                     : aliased Long_Long := 0; 
  6379.       Received_Gap_Count_Change              : aliased Long_Long := 0; 
  6380.       Received_Gap_Bytes                     : aliased Long_Long := 0; 
  6381.       Received_Gap_Bytes_Change              : aliased Long_Long := 0; 
  6382.       Rejected_Sample_Count                  : aliased Long_Long := 0; 
  6383.       Rejected_Sample_Count_Change           : aliased Long_Long := 0; 
  6384.       First_Available_Sample_Sequence_Number : aliased SequenceNumber_T; 
  6385.       Last_Available_Sample_Sequence_Number  : aliased SequenceNumber_T; 
  6386.       Last_Committed_Sample_Sequence_Number  : aliased SequenceNumber_T; 
  6387.       Uncommitted_Sample_Count               : aliased Long := 0; 
  6388.       Out_Of_Range_Rejected_Sample_Count     : aliased Long_Long := 0; 
  6389.       Received_Fragment_Count                : aliased Long_Long := 0; 
  6390.       Dropped_Fragment_Count                 : aliased Long_Long := 0; 
  6391.       Reassembled_Sample_Count               : aliased Long_Long := 0; 
  6392.       Sent_Nack_Fragment_Count               : aliased Long_Long := 0; 
  6393.       Sent_Nack_Fragment_Bytes               : aliased Long_Long := 0; 
  6394.    end record; 
  6395.    --  <dref>DataReaderProtocolStatus</dref> 
  6396.    --  <dref name="received_sample_count">DataReaderProtocolStatus_received_sample_count</dref> 
  6397.    --  <dref name="received_sample_count_change">DataReaderProtocolStatus_received_sample_count_change</dref> 
  6398.    --  <dref name="received_sample_bytes">DataReaderProtocolStatus_received_sample_bytes</dref> 
  6399.    --  <dref name="received_sample_bytes_change">DataReaderProtocolStatus_received_sample_bytes_change</dref> 
  6400.    --  <dref name="duplicate_sample_count">DataReaderProtocolStatus_duplicate_sample_count</dref> 
  6401.    --  <dref name="duplicate_sample_count_change">DataReaderProtocolStatus_duplicate_sample_count_change</dref> 
  6402.    --  <dref name="duplicate_sample_bytes">DataReaderProtocolStatus_duplicate_sample_bytes</dref> 
  6403.    --  <dref name="duplicate_sample_bytes_change">DataReaderProtocolStatus_duplicate_sample_bytes_change</dref> 
  6404.    --  <dref name="filtered_sample_count">DataReaderProtocolStatus_filtered_sample_count</dref> 
  6405.    --  <dref name="filtered_sample_count_change">DataReaderProtocolStatus_filtered_sample_count_change</dref> 
  6406.    --  <dref name="filtered_sample_bytes">DataReaderProtocolStatus_filtered_sample_bytes</dref> 
  6407.    --  <dref name="filtered_sample_bytes_change">DataReaderProtocolStatus_filtered_sample_bytes_change</dref> 
  6408.    --  <dref name="received_heartbeat_count">DataReaderProtocolStatus_received_heartbeat_count</dref> 
  6409.    --  <dref name="received_heartbeat_count_change">DataReaderProtocolStatus_received_heartbeat_count_change</dref> 
  6410.    --  <dref name="received_heartbeat_bytes">DataReaderProtocolStatus_received_heartbeat_bytes</dref> 
  6411.    --  <dref name="received_heartbeat_bytes_change">DataReaderProtocolStatus_received_heartbeat_bytes_change</dref> 
  6412.    --  <dref name="sent_ack_count">DataReaderProtocolStatus_sent_ack_count</dref> 
  6413.    --  <dref name="sent_ack_count_change">DataReaderProtocolStatus_sent_ack_count_change</dref> 
  6414.    --  <dref name="sent_ack_bytes">DataReaderProtocolStatus_sent_ack_bytes</dref> 
  6415.    --  <dref name="sent_ack_bytes_change">DataReaderProtocolStatus_sent_ack_bytes_change</dref> 
  6416.    --  <dref name="sent_nack_count">DataReaderProtocolStatus_sent_nack_count</dref> 
  6417.    --  <dref name="sent_nack_count_change">DataReaderProtocolStatus_sent_nack_count_change</dref> 
  6418.    --  <dref name="sent_nack_bytes">DataReaderProtocolStatus_sent_nack_bytes</dref> 
  6419.    --  <dref name="sent_nack_bytes_change">DataReaderProtocolStatus_sent_nack_bytes_change</dref> 
  6420.    --  <dref name="received_gap_count">DataReaderProtocolStatus_received_gap_count</dref> 
  6421.    --  <dref name="received_gap_count_change">DataReaderProtocolStatus_received_gap_count_change</dref> 
  6422.    --  <dref name="received_gap_bytes">DataReaderProtocolStatus_received_gap_bytes</dref> 
  6423.    --  <dref name="received_gap_bytes_change">DataReaderProtocolStatus_received_gap_bytes_change</dref> 
  6424.    --  <dref name="rejected_sample_count">DataReaderProtocolStatus_rejected_sample_count</dref> 
  6425.    --  <dref name="rejected_sample_count_change">DataReaderProtocolStatus_rejected_sample_count_change</dref> 
  6426.    --  <dref name="first_available_sample_sequence_number">DataReaderProtocolStatus_first_available_sample_sequence_number</dref> 
  6427.    --  <dref name="last_available_sample_sequence_number">DataReaderProtocolStatus_last_available_sample_sequence_number</dref> 
  6428.    --  <dref name="last_committed_sample_sequence_number">DataReaderProtocolStatus_last_committed_sample_sequence_number</dref> 
  6429.    --  <dref name="uncommitted_sample_count">DataReaderProtocolStatus_uncommitted_sample_count</dref> 
  6430.    --  <dref name="Out_Of_Range_Rejected_Sample_Count">DataReaderProtocolStatus_out_of_range_rejected_sample_count</dref> 
  6431.    --  <dref name="received_fragment_count">DataReaderProtocolStatus_received_fragment_count</dref> 
  6432.    --  <dref name="Dropped_Fragment_Count">DataReaderProtocolStatus_dropped_fragment_count</dref> 
  6433.    --  <dref name="Reassembled_Sample_Count">DataReaderProtocolStatus_reassembled_sample_count</dref> 
  6434.    --  <dref name="Sent_Nack_Fragment_Count">DataReaderProtocolStatus_sent_nack_fragment_count</dref> 
  6435.    --  <dref name="Sent_Nack_Fragment_Bytes">DataReaderProtocolStatus_sent_nack_fragment_bytes</dref> 
  6436.  
  6437.    pragma Convention (C_Pass_By_Copy, DataReaderProtocolStatus); 
  6438.  
  6439.    DataReaderProtocolStatus_INITIALIZER : constant DataReaderProtocolStatus := 
  6440.      (Received_Sample_Count                  => 0, 
  6441.       Received_Sample_Count_Change           => 0, 
  6442.       Received_Sample_Bytes                  => 0, 
  6443.       Received_Sample_Bytes_Change           => 0, 
  6444.       Duplicate_Sample_Count                 => 0, 
  6445.       Duplicate_Sample_Count_Change          => 0, 
  6446.       Duplicate_Sample_Bytes                 => 0, 
  6447.       Duplicate_Sample_Bytes_Change          => 0, 
  6448.       Filtered_Sample_Count                  => 0, 
  6449.       Filtered_Sample_Count_Change           => 0, 
  6450.       Filtered_Sample_Bytes                  => 0, 
  6451.       Filtered_Sample_Bytes_Change           => 0, 
  6452.       Received_Heartbeat_Count               => 0, 
  6453.       Received_Heartbeat_Count_Change        => 0, 
  6454.       Received_Heartbeat_Bytes               => 0, 
  6455.       Received_Heartbeat_Bytes_Change        => 0, 
  6456.       Sent_Ack_Count                         => 0, 
  6457.       Sent_Ack_Count_Change                  => 0, 
  6458.       Sent_Ack_Bytes                         => 0, 
  6459.       Sent_Ack_Bytes_Change                  => 0, 
  6460.       Sent_Nack_Count                        => 0, 
  6461.       Sent_Nack_Count_Change                 => 0, 
  6462.       Sent_Nack_Bytes                        => 0, 
  6463.       Sent_Nack_Bytes_Change                 => 0, 
  6464.       Received_Gap_Count                     => 0, 
  6465.       Received_Gap_Count_Change              => 0, 
  6466.       Received_Gap_Bytes                     => 0, 
  6467.       Received_Gap_Bytes_Change              => 0, 
  6468.       Rejected_Sample_Count                  => 0, 
  6469.       Rejected_Sample_Count_Change           => 0, 
  6470.       First_Available_Sample_Sequence_Number => SEQUENCE_NUMBER_UNKNOWN, 
  6471.       Last_Available_Sample_Sequence_Number  => SEQUENCE_NUMBER_UNKNOWN, 
  6472.       Last_Committed_Sample_Sequence_Number  => SEQUENCE_NUMBER_UNKNOWN, 
  6473.       Uncommitted_Sample_Count               => 0, 
  6474.       Out_Of_Range_Rejected_Sample_Count     => 0, 
  6475.       Received_Fragment_Count                => 0, 
  6476.       Dropped_Fragment_Count                 => 0, 
  6477.       Reassembled_Sample_Count               => 0, 
  6478.       Sent_Nack_Fragment_Count               => 0, 
  6479.       Sent_Nack_Fragment_Bytes               => 0); 
  6480.  
  6481.    --  ---------------------------------------------------------- 
  6482.    --                  Sample States 
  6483.    --  ---------------------------------------------------------- 
  6484.  
  6485.    type SampleStateKind is new Unsigned_Long; 
  6486.    --  <dref>SampleStateKind</dref> 
  6487.  
  6488.    READ_SAMPLE_STATE : constant SampleStateKind     := 1; 
  6489.    --  <dref>SampleStateKind_READ_SAMPLE_STATE</dref> 
  6490.  
  6491.    NOT_READ_SAMPLE_STATE : constant SampleStateKind := 2; 
  6492.    --  <dref>SampleStateKind_NOT_READ_SAMPLE_STATE</dref> 
  6493.  
  6494.    subtype SampleStateMask is SampleStateKind; 
  6495.    --  <dref>SampleStateMask</dref> 
  6496.  
  6497.    --     ANY_SAMPLE_STATE : constant SampleStateMask := 65535; 
  6498.  
  6499.    ANY_SAMPLE_STATE  : constant SampleStateMask := 16#FFFF#; 
  6500.    --  <dref>ANY_SAMPLE_STATE</dref> 
  6501.  
  6502.    type SampleStateKind_Access is access constant SampleStateKind; 
  6503.  
  6504.    --  ---------------------------------------------------------- 
  6505.    --                  View States 
  6506.    --  ---------------------------------------------------------- 
  6507.  
  6508.    type ViewStateKind is new Unsigned_Long; 
  6509.    --  <dref>ViewStateKind</dref> 
  6510.  
  6511.    NEW_VIEW_STATE  : constant ViewStateKind     := 1; 
  6512.    --  <dref>ViewStateKind_NEW_VIEW_STATE</dref> 
  6513.  
  6514.    NOT_NEW_VIEW_STATE : constant ViewStateKind := 2; 
  6515.    --  <dref>ViewStateKind_NOT_NEW_VIEW_STATE</dref> 
  6516.  
  6517.    subtype ViewStateMask is ViewStateKind; 
  6518.    --  <dref>ViewStateMask</dref> 
  6519.  
  6520.    --     ANY_VIEW_STATE  : constant ViewStateMask      := 65535; 
  6521.  
  6522.    ANY_VIEW_STATE  : constant ViewStateMask := 16#FFFF#; 
  6523.    --  <dref>ANY_VIEW_STATE</dref> 
  6524.  
  6525.    type ViewStateKind_Access is access constant ViewStateKind; 
  6526.  
  6527.    --  ---------------------------------------------------------- 
  6528.    --                  Instance States 
  6529.    --  ---------------------------------------------------------- 
  6530.  
  6531.    type InstanceStateKind is   new Unsigned_Long; 
  6532.    --  <dref>InstanceStateKind</dref> 
  6533.  
  6534.    ALIVE_INSTANCE_STATE : constant InstanceStateKind                := 1; 
  6535.    --  <dref>InstanceStateKind_ALIVE_INSTANCE_STATE</dref> 
  6536.  
  6537.    NOT_ALIVE_DISPOSED_INSTANCE_STATE : constant InstanceStateKind   := 2; 
  6538.    --  <dref>InstanceStateKind_NOT_ALIVE_DISPOSED_INSTANCE_STATE</dref> 
  6539.  
  6540.    NOT_ALIVE_NO_WRITERS_INSTANCE_STATE : constant InstanceStateKind := 4; 
  6541.    --  <dref>InstanceStateKind_NOT_ALIVE_NO_WRITERS_INSTANCE_STATE</dref> 
  6542.  
  6543.    subtype InstanceStateMask is InstanceStateKind; 
  6544.    --  <dref>InstanceStateMask</dref> 
  6545.  
  6546.    NOT_ALIVE_INSTANCE_STATE : constant InstanceStateMask := 6; 
  6547.    --  <dref>NOT_ALIVE_INSTANCE_STATE</dref> 
  6548.  
  6549.    --     ANY_INSTANCE_STATE : constant InstanceStateMask := 65535; 
  6550.  
  6551.    ANY_INSTANCE_STATE  : constant InstanceStateMask := 16#FFFF#; 
  6552.    --  <dref>ANY_INSTANCE_STATE</dref> 
  6553.  
  6554.    type InstanceStateKind_Access is access constant InstanceStateKind; 
  6555.  
  6556.    --  ---------------------------------------------------------- 
  6557.    --                  Sample Info 
  6558.    --  ---------------------------------------------------------- 
  6559.  
  6560.    type SampleInfo is record 
  6561.       Sample_State                                                : aliased SampleStateKind; 
  6562.       View_State                                                  : aliased ViewStateKind; 
  6563.       Instance_State                                              : aliased InstanceStateKind; 
  6564.       Source_Timestamp                                            : aliased Time_T; 
  6565.       Instance_Handle                                             : aliased InstanceHandle_T; 
  6566.       Publication_Handle                                          : aliased InstanceHandle_T; 
  6567.       Disposed_Generation_Count                                   : aliased Long := 0; 
  6568.       No_Writers_Generation_Count                                 : aliased Long := 0; 
  6569.       Sample_Rank                                                 : aliased Long := 0; 
  6570.       Generation_Rank                                             : aliased Long := 0; 
  6571.       Absolute_Generation_Rank                                    : aliased Long := 0; 
  6572.       Valid_Data                                                  : aliased DDS.Boolean := False; 
  6573.       Reception_Timestamp                                         : aliased Time_T; 
  6574.       Publication_Sequence_Number                                 : aliased SequenceNumber_T; 
  6575.       Reception_Sequence_Number                                   : aliased SequenceNumber_T; 
  6576.       Publication_Virtual_Guid                                    : aliased Guid_T; 
  6577.       Publication_Virtual_Sequence_Number                         : aliased SequenceNumber_T; 
  6578.       Original_Publication_Virtual_Guid                           : aliased Guid_T; 
  6579.       Original_Publication_Virtual_Sequence_Number                : aliased SequenceNumber_T; 
  6580.       Related_Original_Publication_Virtual_Guid                   : aliased Guid_T; 
  6581.       Related_Original_Publication_Virtual_Sequence_Number        : aliased SequenceNumber_T; 
  6582.       Flag                                                        : aliased SampleFlag; 
  6583.       Source_Guid                                                 : aliased Guid_T; 
  6584.       Related_Source_Guid                                         : aliased Guid_T; 
  6585.       Related_Subscription_Guid                                   : aliased Guid_T; 
  6586.       Topic_Query_Guid                                            : aliased Guid_T; 
  6587.       Sample_Info_Hash                                            : aliased RTIDDS.Low_Level.ndds_osapi_osapi_hash_h.RTIOsapiHash; 
  6588.       Sample_Signature                                            : aliased access RTIDDS.Low_Level.ndds_pres_pres_common_impl_h.PRESSampleSignature; 
  6589.       Encapsulation_Id                                            : aliased EncapsulationId_T; 
  6590.       Related_Epoch                                               : aliased SequenceNumber_T; 
  6591.       Coherent_Set_Info                                           : aliased access RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_CoherentSetInfo_t; 
  6592.    end record with Convention => C; 
  6593.    pragma Compile_Time_Error (SampleInfo'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_subscription_h.DDS_SampleInfo'Size, "SampleInfo size missmatch."); 
  6594.  
  6595.    --  <dref>SampleInfo</dref> 
  6596.    --  <dref name="Sample_State">SampleInfo_sample_state</dref> 
  6597.    --  <dref name="View_State">SampleInfo_view_state</dref> 
  6598.    --  <dref name="Instance_State">SampleInfo_instance_state</dref> 
  6599.    --  <dref name="Source_Timestamp">SampleInfo_source_timestamp</dref> 
  6600.    --  <dref name="Instance_Handle">SampleInfo_instance_handle</dref> 
  6601.    --  <dref name="Publication_Handle">SampleInfo_publication_handle</dref> 
  6602.    --  <dref name="Disposed_Generation_Count">SampleInfo_disposed_generation_count</dref> 
  6603.    --  <dref name="No_Writers_Generation_Count">SampleInfo_no_writers_generation_count</dref> 
  6604.    --  <dref name="Sample_Rank">SampleInfo_sample_rank</dref> 
  6605.    --  <dref name="Generation_Rank">SampleInfo_generation_rank</dref> 
  6606.    --  <dref name="Absolute_Generation_Rank">SampleInfo_absolute_generation_rank</dref> 
  6607.    --  <dref name="Valid_Data">SampleInfo_valid_data</dref> 
  6608.    --  <dref name="Reception_Timestamp">SampleInfo_reception_timestamp</dref> 
  6609.    --  <dref name="Publication_Sequence_Number">SampleInfo_publication_sequence_number</dref> 
  6610.    --  <dref name="Reception_Sequence_Number">SampleInfo_reception_sequence_number</dref> 
  6611.    --  <dref internal="true" name="Publication_Virtual_Guid">SampleInfo_publication_virtual_guid</dref> 
  6612.    --  <dref internal="true" name="Publication_Virtual_Sequence_Number">SampleInfo_publication_virtual_sequence_number</dref> 
  6613.    --  <dref name="Original_Publication_Virtual_Guid">SampleInfo_original_publication_virtual_guid</dref> 
  6614.    --  <dref name="Original_Publication_Virtual_Sequence_Number">SampleInfo_original_publication_virtual_sequence_number</dref> 
  6615.    --  <dref name="Related_Original_Publication_Virtual_Guid">SampleInfo_related_original_publication_virtual_guid</dref> 
  6616.    --  <dref name="Related_Original_Publication_Virtual_Sequence_Number">SampleInfo_related_original_publication_virtual_sequence_number</dref> 
  6617.    --  <dref name="Flag">SampleInfo_flag</dref> 
  6618.    --  <dref name="Source_Guid">SampleInfo_source_guid</dref> 
  6619.    --  <dref name="Related_Source_Guid">SampleInfo_related_source_guid</dref> 
  6620.    --  <dref name="Related_Subscription_Guid">SampleInfo_related_subscription_guid</dref> 
  6621.    --  <dref internal="true" name="Topic_Query_Guid">SampleInfo_topic_query_guid</dref> 
  6622.    --  <dref internal="true" name="Sample_Info_Hash">SampleInfo_sample_info_hash</dref> 
  6623.    --  <dref internal="true" name="Sample_Signature">SampleInfo_sample_signature</dref> 
  6624.    --  <dref internal="true" name="Encapsulation_Id">SampleInfo_encapsulation_id</dref> 
  6625.    --  <dref internal="true" name="Related_Epoch">SampleInfo_related_epoch</dref> 
  6626.  
  6627.  
  6628.    type SampleInfo_Access is access all SampleInfo; 
  6629.    type SampleInfo_Array is array (Natural range <>) of aliased SampleInfo; 
  6630.    procedure Initialize (Self  : in out SampleInfo); 
  6631.    procedure Finalize (Self  : in out SampleInfo); 
  6632.    procedure Copy (Dst : in out SampleInfo; Src : in SampleInfo); 
  6633.  
  6634.    procedure Get_Sample_Identity (From : SampleInfo; Id : out SampleIdentity_T); 
  6635.    function Get_Sample_Identity (From : SampleInfo) return  SampleIdentity_T; 
  6636.  
  6637.    procedure Get_Related_Sample_Identity (From : SampleInfo; Id : out SampleIdentity_T); 
  6638.    function Get_Related_Sample_Identity (From : SampleInfo) return  SampleIdentity_T; 
  6639.  
  6640.    package SampleInfo_Seq is new DDS_Support.Sequences_Generic 
  6641.      (SampleInfo, 
  6642.       SampleInfo_Access, 
  6643.       DDS.Natural, 
  6644.       1, 
  6645.       SampleInfo_Array); 
  6646.    --  <dref>SampleInfoSeq</dref> 
  6647.  
  6648.    --  ---------------------------------------------------------- 
  6649.    --                  DataReaderOos 
  6650.    --  ---------------------------------------------------------- 
  6651.  
  6652.    type DataReaderQoS is new Ada.Finalization.Limited_Controlled with record 
  6653.       --- 
  6654.       Durability             : aliased DurabilityQosPolicy; 
  6655.       Deadline               : aliased DeadlineQosPolicy; 
  6656.       Latency_Budget         : aliased LatencyBudgetQosPolicy; 
  6657.       Liveliness             : aliased LivelinessQosPolicy; 
  6658.       Reliability            : aliased ReliabilityQosPolicy; 
  6659.       Destination_Order      : aliased DestinationOrderQosPolicy; 
  6660.       History                : aliased HistoryQosPolicy; 
  6661.       Resource_Limits        : aliased ResourceLimitsQosPolicy; 
  6662.       User_Data              : aliased UserDataQosPolicy; 
  6663.       Ownership              : aliased OwnershipQosPolicy; 
  6664.       Time_Based_Filter      : aliased TimeBasedFilterQosPolicy; 
  6665.       Reader_Data_Lifecycle  : aliased ReaderDataLifecycleQosPolicy; 
  6666.       Representation         : aliased DataRepresentationQosPolicy; 
  6667.       Type_Consistency       : aliased TypeConsistencyEnforcementQosPolicy; 
  6668.       Data_Tags              : aliased DataTagQosPolicy; 
  6669.       -- --- Extensions: ---------------------------------------------------- 
  6670.       Reader_Resource_Limits : aliased DataReaderResourceLimitsQosPolicy; 
  6671.       Protocol               : aliased DataReaderProtocolQosPolicy; 
  6672.       Transport_Selection    : aliased TransportSelectionQosPolicy; 
  6673.       Unicast                : aliased TransportUnicastQosPolicy; 
  6674.       Multicast              : aliased TransportMulticastQosPolicy; 
  6675.       Encapsulation          : aliased TransportEncapsulationQosPolicy; 
  6676.       Property               : aliased PropertyQosPolicy; 
  6677.       Service                : aliased ServiceQosPolicy; 
  6678.       Availability           : aliased AvailabilityQosPolicy; 
  6679.       Subscription_Name      : aliased EntityNameQosPolicy; 
  6680.       Transport_Priority     : aliased TransportPriorityQosPolicy; 
  6681.       Type_Support           : aliased TypeSupportQosPolicy; 
  6682.    end record with 
  6683.      Convention => C; 
  6684.    --  <dref>DataReaderQos</dref> 
  6685.    --  <dref name="Durability">DataReaderQos_durability</dref> 
  6686.    --  <dref name="Deadline">DataReaderQos_deadline</dref> 
  6687.    --  <dref name="Latency_Budget">DataReaderQos_latency_budget</dref> 
  6688.    --  <dref name="Liveliness">DataReaderQos_liveliness</dref> 
  6689.    --  <dref name="Reliability">DataReaderQos_reliability</dref> 
  6690.    --  <dref name="Destination_Order">DataReaderQos_destination_order</dref> 
  6691.    --  <dref name="History">DataReaderQos_history</dref> 
  6692.    --  <dref name="Resource_Limits">DataReaderQos_resource_limits</dref> 
  6693.    --  <dref name="User_Data">DataReaderQos_user_data</dref> 
  6694.    --  <dref name="Ownership">DataReaderQos_ownership</dref> 
  6695.    --  <dref name="Time_Based_Filter">DataReaderQos_time_based_filter</dref> 
  6696.    --  <dref name="Reader_Data_Lifecycle">DataReaderQos_reader_data_lifecycle</dref> 
  6697.    --  <dref name="Representation">DataReaderQos_representation</dref> 
  6698.    --  <dref name="Type_Consistency">DataReaderQos_type_consistency</dref> 
  6699.    --  <dref name="Data_Tags">DataReaderQos_data_tags</dref> 
  6700.    --  <dref name="Reader_Resource_Limits">DataReaderQos_reader_resource_limits</dref> 
  6701.    --  <dref name="Protocol">DataReaderQos_protocol</dref> 
  6702.    --  <dref name="Transport_Selection">DataReaderQos_transport_selection</dref> 
  6703.    --  <dref name="Unicast">DataReaderQos_unicast</dref> 
  6704.    --  <dref name="Multicast">DataReaderQos_multicast</dref> 
  6705.    --  <dref internal="true" name="Encapsulation">DataReaderQos_encapsulation</dref> 
  6706.    --  <dref name="Property">DataReaderQos_property</dref> 
  6707.    --  <dref name="Service">DataReaderQos_service</dref> 
  6708.    --  <dref name="Availability">DataReaderQos_availability</dref> 
  6709.    --  <dref name="Subscription_Name">DataReaderQos_subscription_name</dref> 
  6710.    --  <dref name="Transport_Priority">DataReaderQos_transport_priority</dref> 
  6711.    --  <dref name="Type_Support">DataReaderQos_type_support</dref> 
  6712.  
  6713.    --  <dref>DataReaderQos_initialize</dref> 
  6714.    procedure Initialize 
  6715.      (Self : in out DataReaderQoS); 
  6716.  
  6717.    --  <dref>DataReaderQos_finalize</dref> 
  6718.    procedure Finalize 
  6719.      (Self : in out DataReaderQoS); 
  6720.  
  6721.    --  <dref>DataReaderQos_copy</dref> 
  6722.    procedure Copy 
  6723.      (Target : out DataReaderQoS; 
  6724.       Source : in DataReaderQoS); 
  6725.  
  6726.  
  6727.    --  ---------------------------------------------------------- 
  6728.    --                  SubscriberOos 
  6729.    --  ---------------------------------------------------------- 
  6730.  
  6731.    type SubscriberQos is new Ada.Finalization.Limited_Controlled with record 
  6732.       Presentation    : PresentationQosPolicy; 
  6733.       Partition       : PartitionQosPolicy; 
  6734.       Group_Data      : GroupDataQosPolicy; 
  6735.       Entity_Factory  : EntityFactoryQosPolicy; 
  6736.       -- --- Extensions: ---------------------------------------------------- 
  6737.       Protocol        : aliased SubscriberProtocolQosPolicy; 
  6738.       Subscriber_Name : aliased EntityNameQosPolicy; 
  6739.    end record with 
  6740.      Convention => C; 
  6741.    --  <dref>SubscriberQos</dref> 
  6742.    --  <dref name="Presentation">SubscriberQos_presentation</dref> 
  6743.    --  <dref name="Partition">SubscriberQos_partition</dref> 
  6744.    --  <dref name="Group_Data">SubscriberQos_group_data</dref> 
  6745.    --  <dref name="Entity_Factory">SubscriberQos_entity_factory</dref> 
  6746.    --  <dref internal="true" name="Protocol">SubscriberQos_protocol</dref> 
  6747.    --  <dref name="subscriber_name">SubscriberQos_subscriber_name</dref> 
  6748.  
  6749.    type SubscriberQos_Access is access SubscriberQos; 
  6750.  
  6751.    --  <dref>SubscriberQos_initialize</dref> 
  6752.    procedure Initialize 
  6753.      (Self : in out SubscriberQos); 
  6754.  
  6755.    --  <dref>SubscriberQos_finalize</dref> 
  6756.    procedure Finalize 
  6757.      (Self : in out SubscriberQos); 
  6758.  
  6759.    --  <dref>SubscriberQos_copy</dref> 
  6760.    procedure Copy 
  6761.      (Target : out SubscriberQos; 
  6762.       Source : in SubscriberQos); 
  6763.  
  6764.    -- 
  6765.    --  From dds_sqlfilter.h 
  6766.    -- 
  6767.  
  6768.    SQLFILTER_NAME  : constant DDS.String := To_DDS_String ("DDSSQL"); 
  6769.    --  <dref>SQLFILTER_NAME</dref> 
  6770.  
  6771.  
  6772.    STRINGMATCHFILTER_NAME : constant DDS.String := To_DDS_String ("DDSSTRINGMATCH"); 
  6773.    --  <dref>STRINGMATCHFILTER_NAME</dref> 
  6774.    --  <dref>Shared_string_match_filter</dref> 
  6775.  
  6776.    -- 
  6777.    --  From dds_c_domain.h 
  6778.    -- 
  6779.  
  6780.    --  ---------------------------------------------------------- 
  6781.    --                  DomainParticipantQos 
  6782.    --  ---------------------------------------------------------- 
  6783.  
  6784.    type DomainParticipantQos is new Ada.Finalization.Limited_Controlled with  record 
  6785.       User_Data         : aliased UserDataQosPolicy; 
  6786.       Entity_Factory    : aliased EntityFactoryQosPolicy; 
  6787.       -- --------------- Extensions: ---------------------------------- 
  6788.       Wire_Protocol     : aliased WireProtocolQosPolicy; 
  6789.       Transport_Builtin : aliased TransportBuiltinQosPolicy; 
  6790.       Default_Unicast   : aliased TransportUnicastQosPolicy; 
  6791.       Discovery         : aliased DiscoveryQosPolicy; 
  6792.       Resource_Limits   : aliased DomainParticipantResourceLimitsQosPolicy; 
  6793.       Event             : aliased EventQosPolicy; 
  6794.       Receiver_Pool     : aliased ReceiverPoolQosPolicy; 
  6795.       Database          : aliased DatabaseQosPolicy; 
  6796.       Discovery_Config  : aliased DiscoveryConfigQosPolicy; 
  6797.       Property          : aliased PropertyQosPolicy; 
  6798.       Participant_Name  : aliased EntityNameQosPolicy; 
  6799.       Multicast_Mapping : aliased TransportMulticastMappingQosPolicy; 
  6800.       Service           : aliased ServiceQosPolicy; 
  6801.       Partition         : aliased PartitionQosPolicy; 
  6802.       User_Object       : aliased UserObjectQosPolicy; 
  6803.       Protocol          : aliased DomainParticipantProtocolQosPolicy; 
  6804.       Type_Support      : aliased TypeSupportQosPolicy; 
  6805.    end record with 
  6806.      Convention => C; 
  6807.    --  <dref>DomainParticipantQos</dref> 
  6808.    --  <dref name="User_Data">DomainParticipantQos_user_data</dref> 
  6809.    --  <dref name="Entity_Factory">DomainParticipantQos_entity_factory</dref> 
  6810.    --  <dref name="Wire_Protocol">DomainParticipantQos_wire_protocol</dref> 
  6811.    --  <dref name="Transport_Builtin">DomainParticipantQos_transport_builtin</dref> 
  6812.    --  <dref name="Default_Unicast">DomainParticipantQos_default_unicast</dref> 
  6813.    --  <dref name="Discovery">DomainParticipantQos_discovery</dref> 
  6814.    --  <dref name="Resource_Limits">DomainParticipantQos_resource_limits</dref> 
  6815.    --  <dref name="Event">DomainParticipantQos_event</dref> 
  6816.    --  <dref name="Receiver_Pool">DomainParticipantQos_receiver_pool</dref> 
  6817.    --  <dref name="Database">DomainParticipantQos_database</dref> 
  6818.    --  <dref name="Discovery_Config">DomainParticipantQos_discovery_config</dref> 
  6819.    --  <dref name="Property">DomainParticipantQos_property</dref> 
  6820.    --  <dref name="Participant_Name">DomainParticipantQos_participant_name</dref> 
  6821.    --  <dref name="Multicast_Mapping">DomainParticipantQos_multicast_mapping</dref> 
  6822.    --  <dref internal="true" name="Service">DomainParticipantQos_service</dref> 
  6823.    --  <dref name="User_Object">DomainParticipantQos_user_object</dref> 
  6824.    --  <dref internal="true" name="Protocol">DomainParticipantQos_protocol</dref> 
  6825.    --  <dref name="Type_Support">DomainParticipantQos_type_support</dref> 
  6826.  
  6827.    --   <internal> 
  6828.    --   for DomainParticipantQos'Alignment use 4; 
  6829.    --   </internal> 
  6830.  
  6831.    --  <dref>DomainParticipantQos_initialize</dref> 
  6832.    procedure Initialize 
  6833.      (Self : in out DomainParticipantQos); 
  6834.  
  6835.    --  <dref>DomainParticipantQos_finalize</dref> 
  6836.    procedure Finalize 
  6837.      (Self : in out DomainParticipantQos); 
  6838.  
  6839.    --  <dref>DomainParticipantQos_copy</dref> 
  6840.    procedure Copy 
  6841.      (Target : out  DomainParticipantQos; 
  6842.       Source : in DomainParticipantQos); 
  6843.  
  6844.    type LogCategory is private; 
  6845.    --  <defgroup>LoggingGroupDocs</defgroup> 
  6846.    --  <dref>LogCategory</dref> 
  6847.  
  6848.    Category_PLATFORM : constant LogCategory; 
  6849.    --  Log messages pertaining to the underlying platform (hardware and OS) 
  6850.    --  on which RTI Connext is running are in this category. 
  6851.  
  6852.    Category_COMMUNICATION : constant LogCategory; 
  6853.    --  Log messages pertaining to data serialization and deserialization and 
  6854.    --  network traffic are in this category. 
  6855.  
  6856.    Category_DATABASE : constant LogCategory; 
  6857.    --  Log messages pertaining to the internal database in which RTI 
  6858.    --  Connext objects are stored are in this category. 
  6859.  
  6860.    Category_ENTITIES : constant LogCategory; 
  6861.    --  Log messages pertaining to local and remote entities and to the discovery 
  6862.    --  process are in this Category. 
  6863.  
  6864.    Category_API : constant LogCategory; 
  6865.    --  Log messages pertaining to the API layer of RTI Connext 
  6866.    --  (such as function argument validation) are in this category. 
  6867.  
  6868.    Category_ALL : constant LogCategory; 
  6869.  
  6870.    type LogVerbosity is private; 
  6871.    --  <dref>LogVerbosity</dref> 
  6872.  
  6873.    function "+" (Left, Right : LogVerbosity) return LogVerbosity; 
  6874.    function Image (Item : LogVerbosity) return Standard.String; 
  6875.  
  6876.    VERBOSITY_SILENT : constant LogVerbosity; 
  6877.    --  No further output will be logged. 
  6878.  
  6879.    VERBOSITY_ERROR  : constant LogVerbosity; 
  6880.    --  Only error messages will be logged. 
  6881.    --  An error indicates something wrong in the functioning of RTI Connext. 
  6882.    --  The most common cause of errors is incorrect configuration. 
  6883.  
  6884.    VERBOSITY_WARNING : constant LogVerbosity; 
  6885.    --  Both error and warning messages will be logged. 
  6886.    --  A warning indicates that RTI Connext is taking an action that may or 
  6887.    --  may not be what you intended. Some configuration information is also 
  6888.    --  logged at this verbosity to aid in debugging. 
  6889.  
  6890.    VERBOSITY_STATUS_LOCAL : constant LogVerbosity; 
  6891.    --  Errors, warnings, and verbose information about the lifecycles of local 
  6892.    --  RTI Connext objects will be logged. 
  6893.  
  6894.    VERBOSITY_STATUS_REMOTE : constant LogVerbosity; 
  6895.    --  Errors, warnings, and verbose information about the lifecycles of 
  6896.    --  remote RTI Connext objects will be logged. 
  6897.  
  6898.    VERBOSITY_ALL    : constant LogVerbosity; 
  6899.    --  Errors, warnings, verbose information about the lifecycles of local and 
  6900.    --  remote RTI Connext objects, 
  6901.    --  and periodic information about RTI Connext threads will be logged. 
  6902.  
  6903.    function Contains (Self : LogVerbosity; Verbosity : LogVerbosity) return Boolean; 
  6904.  
  6905.    type LogPrintFormat is private; 
  6906.    --  <dref>LogPrintFormat</dref> 
  6907.  
  6908.    function "+" (Left, Right : LogPrintFormat) return LogPrintFormat; 
  6909.    PRINT_NONE : constant LogPrintFormat; 
  6910.    PRINT_BIT_NUMBER : constant LogPrintFormat; 
  6911.    --  <dref internal="true">LogPrintFormat.NDDS_Config_LogPrintFormat_NDDS_CONFIG_LOG_PRINT_BIT_NUMBER</dref> 
  6912.  
  6913.    PRINT_BIT_MESSAGE : constant LogPrintFormat; 
  6914.    --  <dref internal="true">LogPrintFormat.NDDS_Config_LogPrintFormat_NDDS_CONFIG_LOG_PRINT_BIT_MSG</dref> 
  6915.  
  6916.    PRINT_BIT_LOCATION_MODULE : constant LogPrintFormat; 
  6917.    --  <dref internal="true">LogPrintFormat.NDDS_Config_LogPrintFormat_NDDS_CONFIG_LOG_PRINT_BIT_LOCATION_MODULE</dref> 
  6918.  
  6919.    PRINT_BIT_LOCATION_FILELINE : constant LogPrintFormat; 
  6920.    --  <dref internal="true">LogPrintFormat.NDDS_Config_LogPrintFormat_NDDS_CONFIG_LOG_PRINT_BIT_LOCATION_FILELINE</dref> 
  6921.  
  6922.    PRINT_BIT_LOCATION_METHOD : constant LogPrintFormat; 
  6923.    --  <dref internal="true">LogPrintFormat.NDDS_Config_LogPrintFormat_NDDS_CONFIG_LOG_PRINT_BIT_LOCATION_METHOD</dref> 
  6924.  
  6925.    PRINT_BIT_TIMESTAMP : constant LogPrintFormat; 
  6926.    --  Print message, method name, activity context, and timestamp. 
  6927.  
  6928.    PRINT_BIT_THREAD_ID : constant LogPrintFormat; 
  6929.    --  <dref internal="true">LogPrintFormat.NDDS_Config_LogPrintFormat_NDDS_CONFIG_LOG_PRINT_BIT_THREAD_ID</dref> 
  6930.  
  6931.  
  6932.    PRINT_BIT_CONTEXT : constant LogPrintFormat; 
  6933.    --  <dref internal="true">LogPrintFormat.NDDS_Config_LogPrintFormat_NDDS_CONFIG_LOG_PRINT_BIT_ACTIVITY_CONTEXT</dref> 
  6934.  
  6935.    PRINT_BIT_TWO_LINES : constant LogPrintFormat; 
  6936.    --  <dref internal="true">LogPrintFormat.NDDS_Config_LogPrintFormat_NDDS_CONFIG_LOG_PRINT_BIT_TWO_LINES</dref> 
  6937.  
  6938.    PRINT_FORMAT_DEFAULT : constant LogPrintFormat; 
  6939.    --  Print message, method name, and activity context (default). 
  6940.  
  6941.    PRINT_FORMAT_TIMESTAMPED : constant LogPrintFormat; 
  6942.    --  <dref>LogPrintFormat_NDDS_CONFIG_LOG_PRINT_FORMAT_TIMESTAMPED</dref> 
  6943.  
  6944.    PRINT_FORMAT_VERBOSE : constant LogPrintFormat; 
  6945.    --  <dref>LogPrintFormat_NDDS_CONFIG_LOG_PRINT_FORMAT_VERBOSE</dref> 
  6946.  
  6947.    PRINT_FORMAT_VERBOSE_TIMESTAMPED : constant LogPrintFormat; 
  6948.    --  <dref>LogPrintFormat_NDDS_CONFIG_LOG_PRINT_FORMAT_VERBOSE_TIMESTAMPED</dref> 
  6949.  
  6950.    PRINT_FORMAT_DEBUG : constant LogPrintFormat; 
  6951.    --  <dref>LogPrintFormat_NDDS_CONFIG_LOG_PRINT_FORMAT_DEBUG</dref> 
  6952.  
  6953.    PRINT_FORMAT_MINIMAL : constant LogPrintFormat; 
  6954.    --  <dref>LogPrintFormat_NDDS_CONFIG_LOG_PRINT_FORMAT_MINIMAL</dref> 
  6955.  
  6956.    PRINT_FORMAT_MAXIMAL : constant LogPrintFormat; 
  6957.    --  <dref>LogPrintFormat_NDDS_CONFIG_LOG_PRINT_FORMAT_MAXIMAL</dref> 
  6958.  
  6959.    type LoggingQosPolicy is record 
  6960.       Verbosity           : LogVerbosity   := VERBOSITY_SILENT; 
  6961.       Category            : LogCategory    := Category_PLATFORM; 
  6962.       Print_Format        : LogPrintFormat := PRINT_NONE; 
  6963.       Output_File         : String; 
  6964.       Output_File_Suffix  : String; 
  6965.       Max_Bytes_Per_File  : Long := -1; 
  6966.       Max_Files           : Long := -1; 
  6967.    end record; 
  6968.    --  ---------------------------------------------------------- 
  6969.    --                  SqlFilterAlignmentQos 
  6970.    --  ---------------------------------------------------------- 
  6971.  
  6972.    type SqlFilterAlignmentQos is record 
  6973.       Char_Alignment       : aliased DDS.Unsigned_Short := 0; 
  6974.       Short_Alignment      : aliased DDS.Unsigned_Short := 0; 
  6975.       Long_Alignment       : aliased DDS.Unsigned_Short := 0; 
  6976.       Float_Alignment      : aliased DDS.Unsigned_Short := 0; 
  6977.       Double_Alignment     : aliased DDS.Unsigned_Short := 0; 
  6978.       Longlong_Alignment   : aliased DDS.Unsigned_Short := 0; 
  6979.       Longdouble_Alignment : aliased DDS.Unsigned_Short := 0; 
  6980.       Pointer_Alignment    : aliased DDS.Unsigned_Short := 0; 
  6981.    end record with Convention => C_Pass_By_Copy; 
  6982.    pragma Compile_Time_Error (SqlFilterAlignmentQos'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_sqlfilter_h.DDS_SqlFilterAlignmentQos'Size, "SqlFilterAlignmentQos size missmatch."); 
  6983.  
  6984.    type SqlFilterMemoryManagementQos is record 
  6985.       Buffer_Min_Size : aliased DDS.Long := 0; 
  6986.       Trim_Buffer     : aliased DDS.Boolean := False; 
  6987.    end record with Convention => C_Pass_By_Copy; 
  6988.    pragma Compile_Time_Error (SqlFilterMemoryManagementQos'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_sqlfilter_h.DDS_SqlFilterMemoryManagementQos'Size, "SqlFilterMemoryManagementQos size missmatch."); 
  6989.  
  6990.    type SqlFilterGeneratorQos is new RTIDDS.Low_Level.ndds_dds_c_dds_c_sqlfilter_h.DDS_SqlFilterGeneratorQos; 
  6991.  
  6992.    --  ------------------------------------------------------------------------- 
  6993.    --      Monitoring 
  6994.    --  ------------------------------------------------------------------------- 
  6995.    type MonitoringDedicatedParticipantSettings is record 
  6996.       Enable                       : aliased Boolean := False; 
  6997.       Domain_Id                    : aliased Integer := 0; 
  6998.       Participant_Qos_Profile_Name : aliased String; 
  6999.       Collector_Initial_Peers      : aliased String_Seq.Sequence; 
  7000.    end record 
  7001.      with Convention => C; 
  7002.    pragma Compile_Time_Error (MonitoringDedicatedParticipantSettings'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_MonitoringDedicatedParticipantSettings'Size, "MonitoringDedicatedParticipantSettings'size missmatch"); 
  7003.  
  7004.    type MonitoringEventDistributionSettings is record 
  7005.       Concurrency_Level           : aliased Unsigned_Long; 
  7006.       Datawriter_Qos_Profile_Name : aliased String; 
  7007.       Thread                      : aliased ThreadSettings_T; 
  7008.       Publication_Period          : aliased Duration_T; 
  7009.    end record 
  7010.      with Convention => C; 
  7011.    pragma Compile_Time_Error (MonitoringEventDistributionSettings'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_MonitoringEventDistributionSettings'Size, "MonitoringEventDistributionSettings'size missmatch"); 
  7012.  
  7013.    type MonitoringPeriodicDistributionSettings is record 
  7014.       Datawriter_Qos_Profile_Name : aliased String; 
  7015.       Thread                      : aliased ThreadSettings_T; 
  7016.       Polling_Period              : aliased Duration_T; 
  7017.    end record 
  7018.      with Convention => C; 
  7019.    pragma Compile_Time_Error (MonitoringPeriodicDistributionSettings'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_MonitoringPeriodicDistributionSettings'Size, "MonitoringPeriodicDistributionSettings'size missmatch"); 
  7020.  
  7021.    type MonitoringLoggingDistributionSettings is record 
  7022.       Concurrency_Level           : aliased Unsigned_Long; 
  7023.       Max_Historical_Logs         : aliased Unsigned_Long; 
  7024.       Datawriter_Qos_Profile_Name : aliased String; 
  7025.       Thread                      : aliased ThreadSettings_T; 
  7026.       Publication_Period          : aliased Duration_T; 
  7027.    end record 
  7028.      with Convention => C; 
  7029.    pragma Compile_Time_Error (MonitoringLoggingDistributionSettings'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_MonitoringLoggingDistributionSettings'Size, "MonitoringLoggingDistributionSettings'size missmatch"); 
  7030.  
  7031.    type MonitoringDistributionSettings is record 
  7032.       Dedicated_Participant      : aliased MonitoringDedicatedParticipantSettings; 
  7033.       Publisher_Qos_Profile_Name : aliased String; 
  7034.       Event_Settings             : aliased MonitoringEventDistributionSettings; 
  7035.       Periodic_Settings          : aliased MonitoringPeriodicDistributionSettings; 
  7036.       Logging_Settings           : aliased MonitoringLoggingDistributionSettings; 
  7037.    end record 
  7038.      with Convention => C; 
  7039.    pragma Compile_Time_Error (MonitoringDistributionSettings'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_MonitoringDistributionSettings'Size, "MonitoringDistributionSettings'size missmatch"); 
  7040.  
  7041.    type MonitoringMetricSelection is record 
  7042.       Resource_Selection            : aliased String; 
  7043.       Enabled_Metrics_Selection     : aliased String_Seq.Sequence; 
  7044.       Disabled_Metrics_Selection    : aliased String_Seq.Sequence; 
  7045.    end record 
  7046.      with Convention => C; 
  7047.    pragma Compile_Time_Error (MonitoringMetricSelection'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_MonitoringMetricSelection'Size, "MonitoringMetricSelection'size missmatch"); 
  7048.  
  7049.    type MonitoringMetricSelection_Access is access all MonitoringMetricSelection; 
  7050.    type MonitoringMetricSelection_Array is array 
  7051.      (Natural range <>) of aliased MonitoringMetricSelection; 
  7052.    procedure Initialize (Self : in out MonitoringMetricSelection); 
  7053.    procedure Finalize (Self : in out MonitoringMetricSelection); 
  7054.    procedure Copy (Dst : in out MonitoringMetricSelection; 
  7055.                    Src : in MonitoringMetricSelection); 
  7056.  
  7057.    package MonitoringMetricSelection_Seq is new DDS_Support.Sequences_Generic 
  7058.      (MonitoringMetricSelection, 
  7059.       MonitoringMetricSelection_Access, 
  7060.       DDS.Natural, 
  7061.       1, 
  7062.       MonitoringMetricSelection_Array); 
  7063.  
  7064.    type MonitoringLoggingForwardingSettings is record 
  7065.       Middleware_Forwarding_Level   : aliased RTIDDS.Low_Level.ndds_ndds_config_common_h.NDDS_Config_SyslogVerbosity := RTIDDS.Low_Level.ndds_ndds_config_common_h.NDDS_Config_SyslogVerbosity_NDDS_CONFIG_SYSLOG_VERBOSITY_WARNING; 
  7066.       Security_Forwarding_Level     : aliased RTIDDS.Low_Level.ndds_ndds_config_common_h.NDDS_Config_SyslogVerbosity := RTIDDS.Low_Level.ndds_ndds_config_common_h.NDDS_Config_SyslogVerbosity_NDDS_CONFIG_SYSLOG_VERBOSITY_WARNING; 
  7067.       Service_Forwarding_Level      : aliased RTIDDS.Low_Level.ndds_ndds_config_common_h.NDDS_Config_SyslogVerbosity := RTIDDS.Low_Level.ndds_ndds_config_common_h.NDDS_Config_SyslogVerbosity_NDDS_CONFIG_SYSLOG_VERBOSITY_WARNING; 
  7068.       User_Forwarding_Level         : aliased RTIDDS.Low_Level.ndds_ndds_config_common_h.NDDS_Config_SyslogVerbosity := RTIDDS.Low_Level.ndds_ndds_config_common_h.NDDS_Config_SyslogVerbosity_NDDS_CONFIG_SYSLOG_VERBOSITY_WARNING; 
  7069.    end record 
  7070.      with Convention => C; 
  7071.    pragma Compile_Time_Error (MonitoringLoggingForwardingSettings'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_MonitoringLoggingForwardingSettings'Size, "MonitoringLoggingForwardingSettings'size missmatch"); 
  7072.  
  7073.    type MonitoringTelemetryData is record 
  7074.       Logs     : aliased MonitoringMetricSelection_Seq.Sequence; 
  7075.       Metrics  : aliased MonitoringLoggingForwardingSettings; 
  7076.    end record 
  7077.      with Convention => C; 
  7078.    pragma Compile_Time_Error (MonitoringTelemetryData'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_MonitoringTelemetryData'Size, "MonitoringTelemetryData'size missmatch"); 
  7079.  
  7080.    type MonitoringQosPolicy is record 
  7081.       Enable                : aliased Boolean; 
  7082.       Application_Name      : aliased String; 
  7083.       Distribution_Settings : aliased MonitoringDistributionSettings; 
  7084.       Telemetry_Data        : aliased MonitoringTelemetryData; 
  7085.    end record 
  7086.      with Convention => C; 
  7087.    pragma Compile_Time_Error (MonitoringQosPolicy'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_MonitoringQosPolicy'Size, "MonitoringQosPolicy'size missmatch"); 
  7088.  
  7089.    --  ---------------------------------------------------------- 
  7090.    --                  DomainParticipantFactoryQos 
  7091.    --  ---------------------------------------------------------- 
  7092.  
  7093.  
  7094.    type DomainParticipantFactoryQos is new Ada.Finalization.Limited_Controlled with  record 
  7095.       Entity_Factory  : aliased EntityFactoryQosPolicy; 
  7096.       -- --- Extensions: ---------------------------------------------------- 
  7097.       Resource_Limits : aliased SystemResourceLimitsQosPolicy; 
  7098.       Profile         : aliased ProfileQosPolicy; 
  7099.       Logging         : aliased LoggingQosPolicy; 
  7100.       Monitoring      : aliased MonitoringQosPolicy; 
  7101.    end record; 
  7102.    --  <dref>DomainParticipantFactoryQos</dref> 
  7103.    --  <dref name="Entity_Factory">DomainParticipantFactoryQos_entity_factory</dref> 
  7104.    --  <dref name="Resource_Limits">DomainParticipantFactoryQos_resource_limits</dref> 
  7105.    --  <dref name="Profile">DomainParticipantFactoryQos_profile</dref> 
  7106.    --  <dref name="Logging">DomainParticipantFactoryQos_logging</dref> 
  7107.  
  7108.    pragma Convention (C, DomainParticipantFactoryQos); 
  7109.  
  7110.    type DomainParticipantFactoryQos_Access is access constant DomainParticipantFactoryQos; 
  7111.  
  7112.    --  <dref>DomainParticipantFactoryQos_copy</dref> 
  7113.    procedure Copy 
  7114.      (Target : out DomainParticipantFactoryQos; 
  7115.       Source : in DomainParticipantFactoryQos); 
  7116.  
  7117.    --  <dref>DomainParticipantFactoryQos_initialize</dref> 
  7118.    procedure Initialize 
  7119.      (Self : in out DomainParticipantFactoryQos); 
  7120.  
  7121.    --  <dref>DomainParticipantFactoryQos_finalize</dref> 
  7122.    procedure Finalize 
  7123.      (Self : in out DomainParticipantFactoryQos); 
  7124.  
  7125.  
  7126.    --  ---------------------------------------------------------- 
  7127.    --                  Flow Confroller 
  7128.    --  ---------------------------------------------------------- 
  7129.  
  7130.    DEFAULT_FLOW_CONTROLLER_NAME : constant DDS.String := To_DDS_String ("DDS_DEFAULT_FLOW_CONTROLLER_NAME"); 
  7131.    --  <dref>DEFAULT_FLOW_CONTROLLER_NAME</dref> 
  7132.    --  <dref>Shared_default_flow_controller_name</dref> 
  7133.  
  7134.    FIXED_RATE_FLOW_CONTROLLER_NAME : constant DDS.String := To_DDS_String ("DDS_FIXED_RATE_FLOW_CONTROLLER_NAME"); 
  7135.    --  <dref>FIXED_RATE_FLOW_CONTROLLER_NAME</dref> 
  7136.    --  <dref>Shared_fixed_rate_flow_controller_name</dref> 
  7137.  
  7138.  
  7139.    ON_DEMAND_FLOW_CONTROLLER_NAME : constant DDS.String := To_DDS_String ("DDS_ON_DEMAND_FLOW_CONTROLLER_NAME"); 
  7140.    --  <dref>ON_DEMAND_FLOW_CONTROLLER_NAME</dref> 
  7141.    --  <dref>Shared_on_demand_flow_controller_name</dref> 
  7142.  
  7143.  
  7144.    type FlowControllerSchedulingPolicy is new Unsigned_Long; 
  7145.    --  <dref>FlowControllerSchedulingPolicy</dref> 
  7146.    --  <dref>Shared_FlowControllerSchedulingPolicy</dref> 
  7147.  
  7148.    RR_FLOW_CONTROLLER_SCHED_POLICY : constant FlowControllerSchedulingPolicy := 0; 
  7149.    --  <dref>FlowControllerSchedulingPolicy_RR_FLOW_CONTROLLER_SCHED_POLICY</dref> 
  7150.    --  <dref>Shared_RR_FLOW_CONTROLLER_SCHED_POLICY</dref> 
  7151.  
  7152.    EDF_FLOW_CONTROLLER_SCHED_POLICY : constant FlowControllerSchedulingPolicy := 1; 
  7153.    --  <dref>FlowControllerSchedulingPolicy_EDF_FLOW_CONTROLLER_SCHED_POLICY</dref> 
  7154.    --  <dref>Shared_EDF_FLOW_CONTROLLER_SCHED_POLICY</dref> 
  7155.  
  7156.    type FlowControllerTokenBucketProperty_T is record 
  7157.       Max_Tokens               : aliased DDS.Long := 0; 
  7158.       Tokens_Added_Per_Period  : aliased DDS.Long := 0; 
  7159.       Tokens_Leaked_Per_Period : aliased DDS.Long := 0; 
  7160.       Period                   : aliased Duration_T; 
  7161.       Bytes_Per_Token          : aliased DDS.Long := 0; 
  7162.    end record; 
  7163.    --  <dref>FlowControllerTokenBucketProperty_t</dref> 
  7164.    --  <dref>Shared_max_tokens</dref> 
  7165.    --  <dref>Shared_tokens_added_per_period</dref> 
  7166.    --  <dref>Shared_tokens_leaked_per_period</dref> 
  7167.    --  <dref>Shared_flow_controller_property_period</dref> 
  7168.    --  <dref>Shared_bytes_per_token</dref> 
  7169.    --  <dref name="max_tokens">FlowControllerTokenBucketProperty_t_max_tokens</dref> 
  7170.    --  <dref name="tokens_added_per_period">FlowControllerTokenBucketProperty_t_tokens_added_per_period</dref> 
  7171.    --  <dref name="tokens_leaked_per_period">FlowControllerTokenBucketProperty_t_tokens_leaked_per_period</dref> 
  7172.    --  <dref name="period">FlowControllerTokenBucketProperty_t_period</dref> 
  7173.    --  <dref name="bytes_per_token">FlowControllerTokenBucketProperty_t_bytes_per_token</dref> 
  7174.  
  7175.    pragma Convention (C, FlowControllerTokenBucketProperty_T); 
  7176.  
  7177.    type FlowControllerProperty_T is record 
  7178.       Scheduling_Policy  : aliased DDS.FlowControllerSchedulingPolicy := EDF_FLOW_CONTROLLER_SCHED_POLICY; 
  7179.       Token_Bucket       : aliased DDS.FlowControllerTokenBucketProperty_T := (-1, -1, 0, (1, 0), -1); 
  7180.       Is_Vendor_Specific : aliased DDS.Boolean := False; 
  7181.    end record; 
  7182.    --  <dref>FlowControllerProperty_t</dref> 
  7183.    --  <dref>Shared_FlowControllerProperty_t</dref> 
  7184.    --  <dref name="scheduling_policy">FlowControllerProperty_t_scheduling_policy</dref> 
  7185.    --  <dref name="token_bucket">FlowControllerProperty_t_token_bucket</dref> 
  7186.    --  <dref internal="true" name="is_vendor_specific">FlowControllerProperty_t_is_vendor_specific</dref> 
  7187.  
  7188.    pragma Convention (C, FlowControllerProperty_T); 
  7189.  
  7190.    FlowControllerProperty_T_INITIALIZER : constant FlowControllerProperty_T := 
  7191.      (Scheduling_Policy  => DDS.EDF_FLOW_CONTROLLER_SCHED_POLICY, 
  7192.       Token_Bucket       => (-1, -1, 0, (1, 0), -1), 
  7193.       Is_Vendor_Specific => False); 
  7194.    --  <dref>FlowControllerProperty_t_INITIALIZER</dref> 
  7195.  
  7196.  
  7197.    procedure Copy (C_Out : not null access FlowControllerProperty_T; 
  7198.                    C_In  : not null access FlowControllerProperty_T); 
  7199.    --  <dref internal="true">FlowControllerProperty_copy</dref> 
  7200.  
  7201.    type InvalidLocalAdvanceNoticeStatus is record 
  7202.       Expiration_Time : aliased Time_T; 
  7203.       Expiration_Code : aliased Unsigned_Long; 
  7204.       Expiration_Message : DDS.String; 
  7205.    end record with Convention => C; 
  7206.    pragma Compile_Time_Error (InvalidLocalAdvanceNoticeStatus'Size /= RTIDDS.Low_Level.ndds_dds_c_dds_c_domain_h.DDS_InvalidLocalAdvanceNoticeStatus'Size, "InvalidLocalAdvanceNoticeStatus'Size missmatch"); 
  7207.  
  7208.    type InvalidLocalAdvanceNoticeStatus_Access is access all InvalidLocalAdvanceNoticeStatus; 
  7209.    -- 
  7210.    --  DLRL stuff 
  7211.    -- 
  7212.  
  7213.  
  7214.    type ReferenceScope is 
  7215.      (SIMPLE_CONTENT_SCOPE, 
  7216.       REFERENCED_CONTENTS_SCOPE); 
  7217.  
  7218.    type ObjectScope is 
  7219.      (SIMPLE_OBJECT_SCOPE, 
  7220.       CONTAINED_OBJECTS_SCOPE, 
  7221.       RELATED_OBJECTS_SCOPE); 
  7222.  
  7223.    type DCPSState is 
  7224.      (INITIAL, 
  7225.       REGISTERED, 
  7226.       ENABLED); 
  7227.  
  7228.    type CacheUsage is 
  7229.      (READ_ONLY, 
  7230.       WRITE_ONLY, 
  7231.       READ_WRITE); 
  7232.  
  7233.    type ObjectSubState is new Interfaces.Unsigned_16; 
  7234.  
  7235.    OBJECT_NEW       : constant ObjectSubState := 2#0000_0000_0000_0001#; 
  7236.    OBJECT_MODIFIED  : constant ObjectSubState := 2#0000_0000_0000_0010#; 
  7237.    OBJECT_READ      : constant ObjectSubState := 2#0000_0000_0000_0100#; 
  7238.    OBJECT_DELETED   : constant ObjectSubState := 2#0000_0000_0000_1000#; 
  7239.    OBJECT_CREATED   : constant ObjectSubState := 2#0000_0001_0000_0000#; 
  7240.    OBJECT_CHANGED   : constant ObjectSubState := 2#0000_0010_0000_0000#; 
  7241.    OBJECT_WRITTEN   : constant ObjectSubState := 2#0000_0100_0000_0000#; 
  7242.    OBJECT_DESTROYED : constant ObjectSubState := 2#0000_1000_0000_0000#; 
  7243.  
  7244.    type DLRLOid is record 
  7245.       Creator_Id : aliased Unsigned_Long; 
  7246.       Local_Id   : aliased Unsigned_Long; 
  7247.    end record; 
  7248.  
  7249.    type TimeOutDuration is    new Interfaces.Unsigned_32; 
  7250.  
  7251.    INFINITE_TIME_OUT : constant TimeOutDuration  := -1; 
  7252.  
  7253.    subtype ClassName is DDS.String; 
  7254.    subtype CacheName is  DDS.String; 
  7255.    subtype RelationName is DDS.String; 
  7256.  
  7257.    BadParameter    : exception; 
  7258.  
  7259.    NotFound        : exception; 
  7260.  
  7261.    --  type ReadOnlyMode_Members is 
  7262.  
  7263.    ReadOnlyMode    : exception; 
  7264.  
  7265.    WriteOnlyMode   : exception; 
  7266.  
  7267.    AlreadyClonedInWriteMode : exception; 
  7268.  
  7269.    ExpiredTimeOut  : exception; 
  7270.  
  7271.  
  7272.    type ObjectReference is record 
  7273.       Oid        : DLRLOid; 
  7274.       Home_Index : Unsigned_Long; 
  7275.    end record; 
  7276.  
  7277.    type RelationKind is 
  7278.      (REF_RELATION, 
  7279.       LIST_RELATION, 
  7280.       INT_MAP_RELATION, 
  7281.       STR_MAP_RELATION); 
  7282.  
  7283.  
  7284.    type RelatedObjectDepth is   new Short_Integer; 
  7285.    UNLIMITED_RELATED_OBJECTS : constant RelatedObjectDepth    := -1; 
  7286.  
  7287.    type MembershipState is 
  7288.      (UNDEFINED_MEMBERSHIP, 
  7289.       ALREADY_MEMBER, 
  7290.       NOT_MEMBER); 
  7291.  
  7292.    -- 
  7293.    --  end DLRL stuff 
  7294.    -- 
  7295.  
  7296.  
  7297.    Not_Implemented : exception; 
  7298.  
  7299.    --  type Wide_String is access all Standard.Wide_Character; 
  7300.  
  7301.    --  <internal> 
  7302.    --  DDS_Octets support methods 
  7303.    --  </internal> 
  7304.  
  7305.    function Octets_New 
  7306.      return Octets_Ptr; 
  7307.    --  <dref>Octets_new</dref> 
  7308.  
  7309.    function Octets_New_W_Size 
  7310.      (Size : Integer) 
  7311.       return Octets_Ptr; 
  7312.    --  <dref>Octets_new_with_length</dref> 
  7313.  
  7314.    procedure Octets_Delete 
  7315.      (Self : Octets_Ptr); 
  7316.    --  <dref>Octets_destroy</dref> 
  7317.  
  7318.    --  <internal> 
  7319.    --  DDS_KeyedString support methods 
  7320.    --  </internal> 
  7321.  
  7322.    function KeyedString_New 
  7323.      return KeyedString_Ptr; 
  7324.    --  <dref>KeyedString_new</dref> 
  7325.  
  7326.    function KeyedString_New_W_Size 
  7327.      (Key_Size : Integer; 
  7328.       Size     : Integer) 
  7329.       return KeyedString_Ptr; 
  7330.    --  <dref>KeyedString_new_with_length</dref> 
  7331.  
  7332.    procedure KeyedString_Delete 
  7333.      (Self : KeyedString_Ptr); 
  7334.    --  <dref>KeyedString_destroy</dref> 
  7335.  
  7336.    --  <internal> 
  7337.    --  DDS_KeyedOctets support methods 
  7338.    --  </internal> 
  7339.  
  7340.    function KeyedOctets_New 
  7341.      return KeyedOctets_Ptr; 
  7342.    --  <dref>KeyedOctets_new</dref> 
  7343.  
  7344.    function KeyedOctets_New_W_Size 
  7345.      (Key_Size : Integer; 
  7346.       Size     : Integer) 
  7347.       return KeyedOctets_Ptr; 
  7348.    --  <dref>KeyedOctets_new_with_length</dref> 
  7349.  
  7350.    procedure KeyedOctets_Delete 
  7351.      (Self : KeyedOctets_Ptr); 
  7352.    --  <dref>KeyedOctets_destroy</dref> 
  7353.  
  7354.    function Convert (Code : RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_ReturnCode_t) return DDS.ReturnCode_T; 
  7355.  
  7356.    procedure Ret_Code_To_Exception (Code    : RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_ReturnCode_t; 
  7357.                                     Message : Standard.String := ""); 
  7358.  
  7359.    procedure Ret_Code_To_Exception (Code    : RTIDDS.Low_Level.ndds_dds_c_dds_c_common_h.DDS_Boolean; 
  7360.                                     Message : Standard.String := ""); 
  7361.  
  7362. private 
  7363.    type TypeObject is new  RTIDDS.Low_Level.ndds_dds_c_dds_c_typeobject_h.DDS_Type; 
  7364.    type TypeCode is new RTIDDS.Low_Level.ndds_dds_c_dds_c_typecode_h.DDS_TypeCode; 
  7365.  
  7366.    type LogCategory is new RTIDDS.Low_Level.ndds_ndds_config_c_h.NDDS_Config_LogCategory; 
  7367.    Category_PLATFORM      : constant LogCategory := LogCategory (RTIDDS.Low_Level.ndds_ndds_config_c_h.NDDS_CONFIG_LOG_CATEGORY_PLATFORM); 
  7368.    Category_COMMUNICATION : constant LogCategory := LogCategory (RTIDDS.Low_Level.ndds_ndds_config_c_h.NDDS_CONFIG_LOG_CATEGORY_COMMUNICATION); 
  7369.    Category_DATABASE      : constant LogCategory := LogCategory (RTIDDS.Low_Level.ndds_ndds_config_c_h.NDDS_CONFIG_LOG_CATEGORY_DATABASE); 
  7370.    Category_ENTITIES      : constant LogCategory := LogCategory (RTIDDS.Low_Level.ndds_ndds_config_c_h.NDDS_CONFIG_LOG_CATEGORY_ENTITIES); 
  7371.    Category_API           : constant LogCategory := LogCategory (RTIDDS.Low_Level.ndds_ndds_config_c_h.NDDS_CONFIG_LOG_CATEGORY_API); 
  7372.    Category_ALL           : constant LogCategory := LogCategory (RTIDDS.Low_Level.ndds_ndds_config_c_h.NDDS_CONFIG_LOG_CATEGORY_ALL); 
  7373.  
  7374.    type LogVerbosity is new RTIDDS.Low_Level.ndds_ndds_config_c_h.NDDS_Config_LogVerbosity; 
  7375.  
  7376.    VERBOSITY_SILENT        : constant LogVerbosity := LogVerbosity (RTIDDS.Low_Level.ndds_ndds_config_c_h.NDDS_Config_LogVerbosity_NDDS_CONFIG_LOG_VERBOSITY_SILENT); 
  7377.    VERBOSITY_ERROR         : constant LogVerbosity := LogVerbosity (RTIDDS.Low_Level.ndds_ndds_config_c_h.NDDS_Config_LogVerbosity_NDDS_CONFIG_LOG_VERBOSITY_ERROR); 
  7378.    VERBOSITY_WARNING       : constant LogVerbosity := LogVerbosity (RTIDDS.Low_Level.ndds_ndds_config_c_h.NDDS_Config_LogVerbosity_NDDS_CONFIG_LOG_VERBOSITY_WARNING); 
  7379.    VERBOSITY_STATUS_LOCAL  : constant LogVerbosity := LogVerbosity (RTIDDS.Low_Level.ndds_ndds_config_c_h.NDDS_Config_LogVerbosity_NDDS_CONFIG_LOG_VERBOSITY_STATUS_LOCAL); 
  7380.    VERBOSITY_STATUS_REMOTE : constant LogVerbosity := LogVerbosity (RTIDDS.Low_Level.ndds_ndds_config_c_h.NDDS_Config_LogVerbosity_NDDS_CONFIG_LOG_VERBOSITY_STATUS_REMOTE); 
  7381.    VERBOSITY_ALL           : constant LogVerbosity := LogVerbosity (RTIDDS.Low_Level.ndds_ndds_config_c_h.NDDS_Config_LogVerbosity_NDDS_CONFIG_LOG_VERBOSITY_STATUS_ALL); 
  7382.  
  7383.    type LogPrintFormat is new RTIDDS.Low_Level.ndds_ndds_config_c_h.NDDS_Config_LogPrintFormat; 
  7384.    PRINT_NONE                       : constant LogPrintFormat := LogPrintFormat (0); 
  7385.    PRINT_BIT_NUMBER                 : constant LogPrintFormat := LogPrintFormat (RTIDDS.Low_Level.ndds_ndds_config_c_h.NDDS_Config_LogPrintFormat_NDDS_CONFIG_LOG_PRINT_BIT_NUMBER); 
  7386.    PRINT_BIT_MESSAGE                : constant LogPrintFormat := LogPrintFormat (RTIDDS.Low_Level.ndds_ndds_config_c_h.NDDS_Config_LogPrintFormat_NDDS_CONFIG_LOG_PRINT_BIT_MESSAGE); 
  7387.    PRINT_BIT_LOCATION_MODULE        : constant LogPrintFormat := LogPrintFormat (RTIDDS.Low_Level.ndds_ndds_config_c_h.NDDS_Config_LogPrintFormat_NDDS_CONFIG_LOG_PRINT_BIT_LOCATION_MODULE); 
  7388.    PRINT_BIT_LOCATION_FILELINE      : constant LogPrintFormat := LogPrintFormat (RTIDDS.Low_Level.ndds_ndds_config_c_h.NDDS_Config_LogPrintFormat_NDDS_CONFIG_LOG_PRINT_BIT_LOCATION_FILELINE); 
  7389.    PRINT_BIT_LOCATION_METHOD        : constant LogPrintFormat := LogPrintFormat (RTIDDS.Low_Level.ndds_ndds_config_c_h.NDDS_Config_LogPrintFormat_NDDS_CONFIG_LOG_PRINT_BIT_LOCATION_METHOD); 
  7390.    PRINT_BIT_TIMESTAMP              : constant LogPrintFormat := LogPrintFormat (RTIDDS.Low_Level.ndds_ndds_config_c_h.NDDS_Config_LogPrintFormat_NDDS_CONFIG_LOG_PRINT_BIT_TIMESTAMP); 
  7391.    PRINT_BIT_THREAD_ID              : constant LogPrintFormat := LogPrintFormat (RTIDDS.Low_Level.ndds_ndds_config_c_h.NDDS_Config_LogPrintFormat_NDDS_CONFIG_LOG_PRINT_BIT_THREAD_ID); 
  7392.    PRINT_BIT_CONTEXT                : constant LogPrintFormat := LogPrintFormat (RTIDDS.Low_Level.ndds_ndds_config_c_h.NDDS_Config_LogPrintFormat_NDDS_CONFIG_LOG_PRINT_BIT_ACTIVITY_CONTEXT); 
  7393.    PRINT_BIT_TWO_LINES              : constant LogPrintFormat := LogPrintFormat (RTIDDS.Low_Level.ndds_ndds_config_c_h.NDDS_Config_LogPrintFormat_NDDS_CONFIG_LOG_PRINT_BIT_TWO_LINES); 
  7394.    PRINT_FORMAT_DEFAULT             : constant LogPrintFormat := LogPrintFormat (RTIDDS.Low_Level.ndds_ndds_config_c_h.NDDS_Config_LogPrintFormat_NDDS_CONFIG_LOG_PRINT_FORMAT_DEFAULT); 
  7395.    PRINT_FORMAT_TIMESTAMPED         : constant LogPrintFormat := LogPrintFormat (RTIDDS.Low_Level.ndds_ndds_config_c_h.NDDS_Config_LogPrintFormat_NDDS_CONFIG_LOG_PRINT_FORMAT_TIMESTAMPED); 
  7396.    PRINT_FORMAT_VERBOSE             : constant LogPrintFormat := LogPrintFormat (RTIDDS.Low_Level.ndds_ndds_config_c_h.NDDS_Config_LogPrintFormat_NDDS_CONFIG_LOG_PRINT_FORMAT_VERBOSE); 
  7397.    PRINT_FORMAT_VERBOSE_TIMESTAMPED : constant LogPrintFormat := LogPrintFormat (RTIDDS.Low_Level.ndds_ndds_config_c_h.NDDS_Config_LogPrintFormat_NDDS_CONFIG_LOG_PRINT_FORMAT_VERBOSE_TIMESTAMPED); 
  7398.    PRINT_FORMAT_DEBUG               : constant LogPrintFormat := LogPrintFormat (RTIDDS.Low_Level.ndds_ndds_config_c_h.NDDS_Config_LogPrintFormat_NDDS_CONFIG_LOG_PRINT_FORMAT_DEBUG); 
  7399.    PRINT_FORMAT_MINIMAL             : constant LogPrintFormat := LogPrintFormat (RTIDDS.Low_Level.ndds_ndds_config_c_h.NDDS_Config_LogPrintFormat_NDDS_CONFIG_LOG_PRINT_FORMAT_DEBUG); 
  7400.    PRINT_FORMAT_MAXIMAL             : constant LogPrintFormat := LogPrintFormat (RTIDDS.Low_Level.ndds_ndds_config_c_h.NDDS_Config_LogPrintFormat_NDDS_CONFIG_LOG_PRINT_FORMAT_MAXIMAL); 
  7401.  
  7402.  
  7403.    use Interfaces.C.Strings; 
  7404.    --  private routines to get address of c-comaptible Qos 
  7405.  
  7406.    function GetInterface (P_Qos : TopicQos) return access RTIDDS.Low_Level.ndds_dds_c_dds_c_topic_h.DDS_TopicQos; 
  7407.    --  pragma Compile_Time_Error (DDS.TopicQos'Size /= (RTIDDS.Low_Level.ndds_dds_c_dds_c_topic_h.DDS_TopicQos'Size + 64), "TopicQos size missmatch"); 
  7408.  
  7409.    --  pragma Debug (Put_Line (DDS.TopicQos'Size'Img & "-->" & Integer'(RTIDDS.Low_Level.ndds_dds_c_dds_c_topic_h.DDS_TopicQos'Size + 64)'Img)); 
  7410.  
  7411.    function GetInterface (P_Qos : PublisherQos) return access RTIDDS.Low_Level.ndds_dds_c_dds_c_publication_h.DDS_PublisherQos; 
  7412.    function GetInterface (P_Qos : DataReaderQoS) return access RTIDDS.Low_Level.ndds_dds_c_dds_c_subscription_h.DDS_DataReaderQos; 
  7413.    function GetInterface (P_Qos : SubscriberQos) return access RTIDDS.Low_Level.ndds_dds_c_dds_c_subscription_h.DDS_SubscriberQos; 
  7414.    function GetInterface (P_Qos : DomainParticipantQos) return access RTIDDS.Low_Level.ndds_dds_c_dds_c_domain_h.DDS_DomainParticipantQos; 
  7415.    function GetInterface (P_Qos : DomainParticipantFactoryQos) return access RTIDDS.Low_Level.ndds_dds_c_dds_c_domain_h.DDS_DomainParticipantFactoryQos; 
  7416.    function GetInterface (FC_P : FlowControllerProperty_T) return access RTIDDS.Low_Level.ndds_dds_c_dds_c_flowcontroller_h.DDS_FlowControllerProperty_t; 
  7417.  
  7418.  
  7419.    procedure Free is new Ada.Unchecked_Deallocation (PublisherQos, PublisherQos_Access); 
  7420.    procedure Free is new Ada.Unchecked_Deallocation (SubscriberQos, SubscriberQos_Access); 
  7421.    procedure Free is new Ada.Unchecked_Deallocation (TopicQos, TopicQos_Access); 
  7422.  
  7423.    procedure Validate_Library; 
  7424.  
  7425.    procedure Copy_Down (Dst    : out RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_Time_t; 
  7426.                         Source : DDS.Time_T); 
  7427.  
  7428.    procedure Copy_Down (Dst    : out RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_WriteParams_t; 
  7429.                         Source : DDS.WriteParams_T); 
  7430.  
  7431.    procedure Copy_Up (Dst    : out DDS.Time_T; 
  7432.                       Source : RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_Time_t); 
  7433.  
  7434.    procedure Copy_Down (Dst    : out RTIDDS.Low_Level.ndds_pres_pres_participant_h.PRESInstanceHandle; 
  7435.                         Source : DDS.InstanceHandle_T); 
  7436.  
  7437.    procedure Copy_Up (Dst    : out DDS.InstanceHandle_T; 
  7438.                       Source : RTIDDS.Low_Level.ndds_pres_pres_participant_h.PRESInstanceHandle); 
  7439.  
  7440.    procedure Copy_Down (Dst    : out RTIDDS.Low_Level.ndds_dds_c_dds_c_common_h.DDS_Boolean; 
  7441.                         Source : DDS.Boolean); 
  7442.  
  7443.    procedure Copy_Down (Dst    : out RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_SampleIdentity_t; 
  7444.                         Source : DDS.SampleIdentity_T); 
  7445.  
  7446.    procedure Copy_Down (Dst    : out RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_GUID_t; 
  7447.                         Source : DDS.Guid_T); 
  7448.  
  7449.    procedure Copy_Down (Dst    : out RTIDDS.Low_Level.ndds_dds_c_dds_c_common_h.DDS_Long; 
  7450.                         Source : DDS.Long); 
  7451.  
  7452.    procedure Copy_Down (Dst    : out RTIDDS.Low_Level.ndds_dds_c_dds_c_common_h.DDS_Long; 
  7453.                         Source : DDS.SampleFlag); 
  7454.  
  7455.    procedure Copy_Down (Dst    : out RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_SequenceNumber_t; 
  7456.                         Source : DDS.SequenceNumber_T); 
  7457.    procedure Copy_Down (Dst    : out RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_OctetSeq; 
  7458.                         Source : DDS.Octet_Seq.Sequence); 
  7459.    procedure Copy_Down (Dst    : out RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_Cookie_t; 
  7460.                         Source : DDS.Cookie_T); 
  7461.  
  7462.  
  7463.    procedure Copy_Down (Dst    : out RTIDDS.Low_Level.ndds_dds_c_dds_c_common_h.DDS_UnsignedLong; 
  7464.                         Source : DDS.Unsigned_Long); 
  7465.  
  7466.    Epoch  : constant Ada.Calendar.Time := Ada.Calendar.Time_Of (1970, 01, 01); 
  7467.  
  7468.    function GetInterface (Item : String) return access Interfaces.C.Strings.chars_ptr; 
  7469.    function GetInterface (Item : String) return Interfaces.C.Strings.chars_ptr; 
  7470.    procedure Copy (To : in out String; From : Interfaces.C.Strings.chars_ptr); 
  7471.  
  7472.    procedure Debug_Trap; 
  7473.    --  pragma Compile_Time_Error (DomainParticipantFactoryQos'Size /= (RTIDDS.Low_Level.ndds_dds_c_dds_c_domain_h.DDS_DomainParticipantFactoryQos'Size + Short_Ptr'Size), "DomainParticipantFactoryQos'size missmatch"); 
  7474.  
  7475.    pragma Compile_Time_Error ((DataWriterQos'Size - System.Address'Size) /= 
  7476.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_publication_h.DDS_DataWriterQos'Size, 
  7477.                               "DataWriterQos'size missmatch"); 
  7478.  
  7479.    pragma Compile_Time_Error ((PublisherQos'Size - System.Address'Size) /= 
  7480.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_publication_h.DDS_PublisherQos'Size, 
  7481.                               "PublisherQos'size missmatch"); 
  7482.  
  7483.    pragma Compile_Time_Error ((DataReaderQoS'Size - System.Address'Size) /= 
  7484.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_subscription_h.DDS_DataReaderQos'Size, 
  7485.                               "DataReaderQoS'size missmatch"); 
  7486.  
  7487.    pragma Compile_Time_Error ((SubscriberQos'Size - System.Address'Size) /= 
  7488.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_subscription_h.DDS_SubscriberQos'Size, 
  7489.                               "SubscriberQos'size missmatch"); 
  7490.  
  7491.    pragma Compile_Time_Error ((DomainParticipantQos'Size - System.Address'Size) /= 
  7492.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_domain_h.DDS_DomainParticipantQos'Size, 
  7493.                               "DomainParticipantQos'size missmatch"); 
  7494.  
  7495.    pragma Compile_Time_Error ((DomainParticipantFactoryQos'Size - System.Address'Size) /= 
  7496.                                 RTIDDS.Low_Level.ndds_dds_c_dds_c_domain_h.DDS_DomainParticipantFactoryQos'Size, 
  7497.                               "DomainParticipantFactoryQos'size missmatch"); 
  7498.  
  7499.    function As_InstanceHandle_T is new Ada.Unchecked_Conversion (RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_InstanceHandle_t, InstanceHandle_T); 
  7500.    function As_DDS_InstanceHandle_T is new Ada.Unchecked_Conversion (InstanceHandle_T, RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_InstanceHandle_t); 
  7501. end DDS;