aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/grt/grt-vpi.adb8
-rw-r--r--src/grt/grt-vpi.ads16
2 files changed, 19 insertions, 5 deletions
diff --git a/src/grt/grt-vpi.adb b/src/grt/grt-vpi.adb
index df5d1e639..8580478c9 100644
--- a/src/grt/grt-vpi.adb
+++ b/src/grt/grt-vpi.adb
@@ -1832,12 +1832,12 @@ package body Grt.Vpi is
return 0;
end vpi_mcd_open;
- function vpi_register_systf (aSs: System.Address) return vpiHandle
- is
- pragma Unreferenced (aSs);
+ function vpi_register_systf (Data : p_vpi_systf_data) return vpiHandle is
begin
if Flag_Trace then
- Trace_Start ("vpi_register_systf");
+ Trace_Start ("vpi_register_systf(");
+ Trace (Data.tfname);
+ Trace (")");
Trace_Newline;
end if;
return null;
diff --git a/src/grt/grt-vpi.ads b/src/grt/grt-vpi.ads
index 187dcbfdd..8db022af9 100644
--- a/src/grt/grt-vpi.ads
+++ b/src/grt/grt-vpi.ads
@@ -299,8 +299,22 @@ package Grt.Vpi is
return vpiHandle;
pragma Export (C, vpi_put_value, "vpi_put_value");
+ type t_vpi_systf_data is record
+ mType: Integer;
+ sysfunctype : Integer;
+ tfname : Ghdl_C_String;
+ calltf : Address;
+ compiletf : Address;
+ sizetf : Address;
+ user_data : Address;
+ end record;
+ pragma Convention (C, t_vpi_systf_data);
+
+ type p_vpi_systf_data is access all t_vpi_systf_data;
+ pragma Convention (C, p_vpi_systf_data);
+
-- vpiHandle vpi_register_systf(const struct t_vpi_systf_data*ss)
- function vpi_register_systf (aSs : Address) return vpiHandle;
+ function vpi_register_systf (Data : p_vpi_systf_data) return vpiHandle;
pragma Export (C, vpi_register_systf, "vpi_register_systf");
-- int vpi_remove_cb(vpiHandle ref)