diff options
-rw-r--r-- | pyGHDL/libghdl/_decorator.py | 3 | ||||
-rw-r--r-- | pyGHDL/libghdl/vhdl/formatters.py | 52 | ||||
-rw-r--r-- | pyGHDL/libghdl/vhdl/prints.py | 95 |
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`` + """ |