separate (RPC) procedure RPC_String_Binding_Compose( UUID_String : in UUID_String_Type; Protocol_Seq : in Protocol_Sequence_Type; Network_Addr : in string; Endpoint : in string; Options : in string; String_Binding : out RPC_String_Binding_Type; Status : out DCE_Status.Status_Type) is -- **************************************************************************** use C_String_Pkg; -- /// Direct visibility to the "/=" operator procedure rpc_string_binding_compose( UUID_String : UUID_String_Type; ProtoSeq : Protocol_Sequence_Type; Network_Addr : string; Endpoint : string; Options : string; String_Binding : System.Address; Status : System.Address); pragma INTERFACE (C, rpc_string_binding_compose); Local_Status : DCE_Status.Status_Type; Local_CStr : C_String_Pkg.C_String; Local_Bind : RPC_String_Binding_Type := (others => ' '); Length : natural := 0; begin rpc_string_binding_compose(UUID_String, Protocol_Seq, Network_Addr & Ascii.NUL, Endpoint & Ascii.NUL, Options & Ascii.NUL, Local_CStr'ADDRESS, Local_Status'ADDRESS); Status := Local_Status; C_String_Pkg.C_to_Ada_String(Local_CStr, string(Local_Bind), TRUE); String_Binding := Local_Bind; RPC_String_Free(Local_CStr'ADDRESS, Local_Status); end RPC_String_Binding_Compose;