with Ada.Text_IO; with WolfSSL; procedure SHA256_Main is procedure Put (Text : String) renames Ada.Text_IO.Put; procedure New_Line is begin Ada.Text_IO.New_Line; end New_Line; use type WolfSSL.Subprogram_Result; Hash : WolfSSL.SHA256_Hash; B : WolfSSL.Byte_Array := (1 => 'a', 2 => 's', 3 => 'd', 4 => 'f'); SHA256 : WolfSSL.SHA256_Type; R : Integer; begin WolfSSL.Create_SHA256 (SHA256 => SHA256, Result => R); if R /= 0 then Put ("SHA256 instance creation failed"); New_Line; return; end if; WolfSSL.Update_SHA256 (SHA256 => SHA256, Byte => B, Result => R); if R /= 0 then Put ("Update of SHA256 instance failed"); New_Line; return; end if; WolfSSL.Finalize_SHA256 (SHA256 => SHA256, Hash => Hash, Result => R); if R = 0 then Put ("SHA256 hash computed successfully"); New_Line; else Put ("Finalization of SHA256 instance failed"); New_Line; end if; WolfSSL.Free_SHA256 (SHA256 => SHA256); end SHA256_Main;