aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pyGHDL/libghdl/_decorator.py3
-rw-r--r--pyGHDL/libghdl/vhdl/formatters.py52
-rw-r--r--pyGHDL/libghdl/vhdl/prints.py95
3 files changed, 97 insertions, 53 deletions
diff --git a/pyGHDL/libghdl/_decorator.py b/pyGHDL/libghdl/_decorator.py
index 1648755c7..663c90eae 100644
--- a/pyGHDL/libghdl/_decorator.py
+++ b/pyGHDL/libghdl/_decorator.py
@@ -35,6 +35,7 @@ from ctypes import (
c_int32,
c_uint32,
c_char_p,
+ c_void_p,
c_bool,
c_double,
Structure,
@@ -99,7 +100,7 @@ def BindToLibGHDL(subprogramName):
return c_bool
elif typ is bytes:
return c_char_p
- elif typ in (c_char, c_char_p, c_uint32):
+ elif typ in (c_char, c_char_p, c_uint32, c_void_p):
return typ
elif isinstance(typ, TypeVar):
# Humm, recurse ?
diff --git a/pyGHDL/libghdl/vhdl/formatters.py b/pyGHDL/libghdl/vhdl/formatters.py
index 90022320e..70766a39c 100644
--- a/pyGHDL/libghdl/vhdl/formatters.py
+++ b/pyGHDL/libghdl/vhdl/formatters.py
@@ -51,55 +51,3 @@ def Indent_String(File: int, Handle: int, FirstLine: int, LastLine: int) -> None
:param FirstLine: undocumented.
:param LastLine: undocumented.
"""
-
-
-@export
-# @BindToLibGHDL("vhdl__formatters__allocate_handle")
-def Allocate_Handle():
- """
- .. todo:: Undocumented in Ada code.
-
- :return: undocumented. Type: ``Vstring_Acc``
- """
- return libghdl.vhdl__formatters__allocate_handle()
-
-
-@export
-# @BindToLibGHDL("vhdl__formatters__get_length")
-def Get_Length(Handle) -> int:
- """
- .. todo:: Undocumented in Ada code.
-
- :param Handle: undocumented. Type: ``Vstring_Acc``
- :return: undocumented.
- """
- func = libghdl.vhdl__formatters__get_length
- func.restype = c_int32
-
- return func(Handle)
-
-
-@export
-# @BindToLibGHDL("vhdl__formatters__get_c_string")
-def Get_C_String(Handle):
- """
- .. todo:: Undocumented in Ada code.
-
- :param Handle: undocumented. Type: ``Vstring_Acc``
- :return: Type: ``Grt.Types.Ghdl_C_String``
- """
- func = libghdl.vhdl__formatters__get_c_string
- func.restype = c_char_p
-
- return func(Handle)
-
-
-@export
-# @BindToLibGHDL("vhdl__formatters__free_handle")
-def Free_Handle(Handle) -> None:
- """
- .. todo:: Undocumented in Ada code.
-
- :param Handle: undocumented. Type: ``Vstring_Acc``
- """
- libghdl.vhdl__formatters__free_handle(Handle)
diff --git a/pyGHDL/libghdl/vhdl/prints.py b/pyGHDL/libghdl/vhdl/prints.py
new file mode 100644
index 000000000..5e7559fea
--- /dev/null
+++ b/pyGHDL/libghdl/vhdl/prints.py
@@ -0,0 +1,95 @@
+# =============================================================================
+# ____ _ _ ____ _ _ _ _ _ _ _
+# _ __ _ _ / ___| | | | _ \| | | (_) |__ __ _| |__ __| | |
+# | '_ \| | | | | _| |_| | | | | | | | | '_ \ / _` | '_ \ / _` | |
+# | |_) | |_| | |_| | _ | |_| | |___ _| | | |_) | (_| | | | | (_| | |
+# | .__/ \__, |\____|_| |_|____/|_____(_)_|_|_.__/ \__, |_| |_|\__,_|_|
+# |_| |___/ |___/
+# =============================================================================
+# Authors:
+# Tristan Gingold
+# Patrick Lehmann
+#
+# Package module: Python binding and low-level API for shared library 'libghdl'.
+#
+# License:
+# ============================================================================
+# Copyright (C) 2019-2021 Tristan Gingold
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <gnu.org/licenses>.
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+# ============================================================================
+
+from ctypes import c_int32, c_char_p, c_void_p
+
+from pyTooling.Decorators import export
+
+from pyGHDL.libghdl import libghdl
+from pyGHDL.libghdl._decorator import BindToLibGHDL
+
+
+@export
+@BindToLibGHDL("vhdl__prints__print_string")
+def Print_String(File: int, Handle: c_void_p) -> None:
+ """
+ Reindent all lines of F between [First_Line; Last_Line] to :obj:`Handle`.
+
+ :param File: File to indent lines within. Type: ``Iir_Design_File``
+ :param Handle: undocumented. Type: ``Vstring_Acc``
+ :param FirstLine: undocumented.
+ :param LastLine: undocumented.
+ """
+
+
+@export
+@BindToLibGHDL("vhdl__prints__allocate_handle")
+def Allocate_Handle() -> c_void_p:
+ """
+ .. todo:: Undocumented in Ada code.
+
+ :return: undocumented. Type: ``Vstring_Acc``
+ """
+
+
+@export
+@BindToLibGHDL("vhdl__prints__get_length")
+def Get_Length(Handle : c_void_p) -> int:
+ """
+ .. todo:: Undocumented in Ada code.
+
+ :param Handle: undocumented. Type: ``Vstring_Acc``
+ :return: undocumented.
+ """
+
+
+@export
+@BindToLibGHDL("vhdl__prints__get_c_string")
+def Get_C_String(Handle : c_void_p) -> c_char_p:
+ """
+ .. todo:: Undocumented in Ada code.
+
+ :param Handle: undocumented. Type: ``Vstring_Acc``
+ :return: Type: ``Grt.Types.Ghdl_C_String``
+ """
+
+
+@export
+@BindToLibGHDL("vhdl__prints__free_handle")
+def Free_Handle(Handle : c_void_p) -> None:
+ """
+ .. todo:: Undocumented in Ada code.
+
+ :param Handle: undocumented. Type: ``Vstring_Acc``
+ """