# This file was automatically generated by SWIG (http://www.swig.org).
# Version 3.0.10
#
# Do not make changes to this file unless you know what you are doing--modify
# the SWIG interface file instead.





from sys import version_info as _swig_python_version_info
if _swig_python_version_info >= (2, 7, 0):
    def swig_import_helper():
        import importlib
        pkg = __name__.rpartition('.')[0]
        mname = '.'.join((pkg, '_hrc')).lstrip('.')
        try:
            return importlib.import_module(mname)
        except ImportError:
            return importlib.import_module('_hrc')
    _hrc = swig_import_helper()
    del swig_import_helper
elif _swig_python_version_info >= (2, 6, 0):
    def swig_import_helper():
        from os.path import dirname
        import imp
        fp = None
        try:
            fp, pathname, description = imp.find_module('_hrc', [dirname(__file__)])
        except ImportError:
            import _hrc
            return _hrc
        if fp is not None:
            try:
                _mod = imp.load_module('_hrc', fp, pathname, description)
            finally:
                fp.close()
            return _mod
    _hrc = swig_import_helper()
    del swig_import_helper
else:
    import _hrc
del _swig_python_version_info
try:
    _swig_property = property
except NameError:
    pass  # Python < 2.2 doesn't have 'property'.

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

def _swig_setattr_nondynamic(self, class_type, name, value, static=1):
    if (name == "thisown"):
        return self.this.own(value)
    if (name == "this"):
        if type(value).__name__ == 'SwigPyObject':
            self.__dict__[name] = value
            return
    method = class_type.__swig_setmethods__.get(name, None)
    if method:
        return method(self, value)
    if (not static):
        if _newclass:
            object.__setattr__(self, name, value)
        else:
            self.__dict__[name] = value
    else:
        raise AttributeError("You cannot add attributes to %s" % self)


def _swig_setattr(self, class_type, name, value):
    return _swig_setattr_nondynamic(self, class_type, name, value, 0)


def _swig_getattr(self, class_type, name):
    if (name == "thisown"):
        return self.this.own()
    method = class_type.__swig_getmethods__.get(name, None)
    if method:
        return method(self)
    raise AttributeError("'%s' object has no attribute '%s'" % (class_type.__name__, name))


def _swig_repr(self):
    try:
        strthis = "proxy of " + self.this.__repr__()
    except __builtin__.Exception:
        strthis = ""
    return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)

try:
    _object = object
    _newclass = 1
except __builtin__.Exception:
    class _object:
        pass
    _newclass = 0

PRIuPTR = _hrc.PRIuPTR
PRIdPTR = _hrc.PRIdPTR
LLU = _hrc.LLU
LLO = _hrc.LLO
LLX = _hrc.LLX
false = _hrc.false
true = _hrc.true
OUTCOME_GENERIC_ERROR = _hrc.OUTCOME_GENERIC_ERROR
OUTCOME_PARSER_ERROR = _hrc.OUTCOME_PARSER_ERROR
OUTCOME_SYNTAX_ERROR = _hrc.OUTCOME_SYNTAX_ERROR
OUTCOME_FILE_ERROR = _hrc.OUTCOME_FILE_ERROR
OUTCOME_SUCCESS_REQUIRED_HELP = _hrc.OUTCOME_SUCCESS_REQUIRED_HELP
OUTCOME_SUCCESS = _hrc.OUTCOME_SUCCESS

def Hrc_init() -> "void":
    """Hrc_init()"""
    return _hrc.Hrc_init()

def Hrc_quit() -> "void":
    """Hrc_quit()"""
    return _hrc.Hrc_quit()

def Hrc_WriteModel(arg1: 'HrcNode_ptr', ofile: 'FILE *', append_suffix: 'boolean') -> "void":
    """Hrc_WriteModel(HrcNode_ptr arg1, FILE * ofile, boolean append_suffix)"""
    return _hrc.Hrc_WriteModel(arg1, ofile, append_suffix)

def Hrc_DumpModel(hrcNode: 'HrcNode_ptr', dumper: 'HrcDumper_ptr') -> "void":
    """Hrc_DumpModel(HrcNode_ptr hrcNode, HrcDumper_ptr dumper)"""
    return _hrc.Hrc_DumpModel(hrcNode, dumper)

def CommandHrcWriteModel(argc: 'int', argv: 'char **') -> "int":
    """CommandHrcWriteModel(int argc, char ** argv) -> int"""
    return _hrc.CommandHrcWriteModel(argc, argv)

def CommandHrcDumpModel(argc: 'int', argv: 'char **') -> "int":
    """CommandHrcDumpModel(int argc, char ** argv) -> int"""
    return _hrc.CommandHrcDumpModel(argc, argv)

def Hrc_init_cmd() -> "void":
    """Hrc_init_cmd()"""
    return _hrc.Hrc_init_cmd()

def Hrc_quit_cmd() -> "void":
    """Hrc_quit_cmd()"""
    return _hrc.Hrc_quit_cmd()

def HrcToFlatHierarchy(node: 'HrcNode_ptr', symb_table: 'SymbTable_ptr', layer: 'SymbLayer_ptr') -> "FlatHierarchy_ptr":
    """HrcToFlatHierarchy(HrcNode_ptr node, SymbTable_ptr symb_table, SymbLayer_ptr layer) -> FlatHierarchy_ptr"""
    return _hrc.HrcToFlatHierarchy(node, symb_table, layer)

def HrcToSexpFsm(node: 'HrcNode_ptr', symb_table: 'SymbTable_ptr', layer: 'SymbLayer_ptr') -> "SexpFsm_ptr":
    """HrcToSexpFsm(HrcNode_ptr node, SymbTable_ptr symb_table, SymbLayer_ptr layer) -> SexpFsm_ptr"""
    return _hrc.HrcToSexpFsm(node, symb_table, layer)

def HrcFlattener_create(node: 'HrcNode_ptr', symb_table: 'SymbTable_ptr', layer: 'SymbLayer_ptr') -> "HrcFlattener_ptr":
    """HrcFlattener_create(HrcNode_ptr node, SymbTable_ptr symb_table, SymbLayer_ptr layer) -> HrcFlattener_ptr"""
    return _hrc.HrcFlattener_create(node, symb_table, layer)

def HrcFlattener_flatten_hierarchy(arg1: 'HrcFlattener_ptr') -> "void":
    """HrcFlattener_flatten_hierarchy(HrcFlattener_ptr arg1)"""
    return _hrc.HrcFlattener_flatten_hierarchy(arg1)

def HrcFlattener_populate_symbol_table(arg1: 'HrcFlattener_ptr') -> "void":
    """HrcFlattener_populate_symbol_table(HrcFlattener_ptr arg1)"""
    return _hrc.HrcFlattener_populate_symbol_table(arg1)

def HrcFlattener_get_flat_hierarchy(arg1: 'HrcFlattener_ptr') -> "FlatHierarchy_ptr":
    """HrcFlattener_get_flat_hierarchy(HrcFlattener_ptr arg1) -> FlatHierarchy_ptr"""
    return _hrc.HrcFlattener_get_flat_hierarchy(arg1)

def HrcFlattener_get_symbol_table(arg1: 'HrcFlattener_ptr') -> "SymbTable_ptr":
    """HrcFlattener_get_symbol_table(HrcFlattener_ptr arg1) -> SymbTable_ptr"""
    return _hrc.HrcFlattener_get_symbol_table(arg1)

def HrcFlattener_get_symbol_layer(arg1: 'HrcFlattener_ptr') -> "SymbLayer_ptr":
    """HrcFlattener_get_symbol_layer(HrcFlattener_ptr arg1) -> SymbLayer_ptr"""
    return _hrc.HrcFlattener_get_symbol_layer(arg1)

def HrcFlattener_write_flatten_model(arg1: 'HrcFlattener_ptr', out: 'FILE *') -> "void":
    """HrcFlattener_write_flatten_model(HrcFlattener_ptr arg1, FILE * out)"""
    return _hrc.HrcFlattener_write_flatten_model(arg1, out)

def HrcFlattener_destroy(arg1: 'HrcFlattener_ptr') -> "void":
    """HrcFlattener_destroy(HrcFlattener_ptr arg1)"""
    return _hrc.HrcFlattener_destroy(arg1)

def HrcNode_create() -> "HrcNode_ptr":
    """HrcNode_create() -> HrcNode_ptr"""
    return _hrc.HrcNode_create()

def HrcNode_destroy(arg1: 'HrcNode_ptr') -> "void":
    """HrcNode_destroy(HrcNode_ptr arg1)"""
    return _hrc.HrcNode_destroy(arg1)

def HrcNode_destroy_recur(arg1: 'HrcNode_ptr') -> "void":
    """HrcNode_destroy_recur(HrcNode_ptr arg1)"""
    return _hrc.HrcNode_destroy_recur(arg1)

def HrcNode_cleanup(arg1: 'HrcNode_ptr') -> "void":
    """HrcNode_cleanup(HrcNode_ptr arg1)"""
    return _hrc.HrcNode_cleanup(arg1)

def HrcNode_set_symbol_table(arg1: 'HrcNode_ptr', st: 'SymbTable_ptr') -> "void":
    """HrcNode_set_symbol_table(HrcNode_ptr arg1, SymbTable_ptr st)"""
    return _hrc.HrcNode_set_symbol_table(arg1, st)

def HrcNode_get_symbol_table(arg1: 'HrcNode_ptr') -> "SymbTable_ptr":
    """HrcNode_get_symbol_table(HrcNode_ptr arg1) -> SymbTable_ptr"""
    return _hrc.HrcNode_get_symbol_table(arg1)

def HrcNode_set_lineno(arg1: 'HrcNode_ptr', lineno: 'int') -> "void":
    """HrcNode_set_lineno(HrcNode_ptr arg1, int lineno)"""
    return _hrc.HrcNode_set_lineno(arg1, lineno)

def HrcNode_get_lineno(arg1: 'HrcNode_ptr const') -> "int":
    """HrcNode_get_lineno(HrcNode_ptr const arg1) -> int"""
    return _hrc.HrcNode_get_lineno(arg1)

def HrcNode_set_name(arg1: 'HrcNode_ptr', name: 'node_ptr') -> "void":
    """HrcNode_set_name(HrcNode_ptr arg1, node_ptr name)"""
    return _hrc.HrcNode_set_name(arg1, name)

def HrcNode_get_name(arg1: 'HrcNode_ptr const') -> "node_ptr":
    """HrcNode_get_name(HrcNode_ptr const arg1) -> node_ptr"""
    return _hrc.HrcNode_get_name(arg1)

def HrcNode_get_crude_name(arg1: 'HrcNode_ptr const') -> "node_ptr":
    """HrcNode_get_crude_name(HrcNode_ptr const arg1) -> node_ptr"""
    return _hrc.HrcNode_get_crude_name(arg1)

def HrcNode_set_instance_name(arg1: 'HrcNode_ptr', name: 'node_ptr') -> "void":
    """HrcNode_set_instance_name(HrcNode_ptr arg1, node_ptr name)"""
    return _hrc.HrcNode_set_instance_name(arg1, name)

def HrcNode_get_instance_name(arg1: 'HrcNode_ptr const') -> "node_ptr":
    """HrcNode_get_instance_name(HrcNode_ptr const arg1) -> node_ptr"""
    return _hrc.HrcNode_get_instance_name(arg1)

def HrcNode_get_flattened_instance_name(arg1: 'HrcNode_ptr const') -> "node_ptr":
    """HrcNode_get_flattened_instance_name(HrcNode_ptr const arg1) -> node_ptr"""
    return _hrc.HrcNode_get_flattened_instance_name(arg1)

def HrcNode_set_parent(arg1: 'HrcNode_ptr const', father: 'HrcNode_ptr') -> "void":
    """HrcNode_set_parent(HrcNode_ptr const arg1, HrcNode_ptr father)"""
    return _hrc.HrcNode_set_parent(arg1, father)

def HrcNode_get_parent(arg1: 'HrcNode_ptr const') -> "HrcNode_ptr":
    """HrcNode_get_parent(HrcNode_ptr const arg1) -> HrcNode_ptr"""
    return _hrc.HrcNode_get_parent(arg1)

def HrcNode_set_formal_parameters(arg1: 'HrcNode_ptr', par: 'node_ptr') -> "void":
    """HrcNode_set_formal_parameters(HrcNode_ptr arg1, node_ptr par)"""
    return _hrc.HrcNode_set_formal_parameters(arg1, par)

def HrcNode_replace_formal_parameters(arg1: 'HrcNode_ptr', par: 'node_ptr') -> "void":
    """HrcNode_replace_formal_parameters(HrcNode_ptr arg1, node_ptr par)"""
    return _hrc.HrcNode_replace_formal_parameters(arg1, par)

def HrcNode_get_formal_parameters(arg1: 'HrcNode_ptr const') -> "node_ptr":
    """HrcNode_get_formal_parameters(HrcNode_ptr const arg1) -> node_ptr"""
    return _hrc.HrcNode_get_formal_parameters(arg1)

def HrcNode_add_formal_parameter(arg1: 'HrcNode_ptr', par: 'node_ptr') -> "void":
    """HrcNode_add_formal_parameter(HrcNode_ptr arg1, node_ptr par)"""
    return _hrc.HrcNode_add_formal_parameter(arg1, par)

def HrcNode_set_actual_parameters(arg1: 'HrcNode_ptr', par: 'node_ptr') -> "void":
    """HrcNode_set_actual_parameters(HrcNode_ptr arg1, node_ptr par)"""
    return _hrc.HrcNode_set_actual_parameters(arg1, par)

def HrcNode_replace_actual_parameters(arg1: 'HrcNode_ptr', par: 'node_ptr') -> "void":
    """HrcNode_replace_actual_parameters(HrcNode_ptr arg1, node_ptr par)"""
    return _hrc.HrcNode_replace_actual_parameters(arg1, par)

def HrcNode_get_actual_parameters(arg1: 'HrcNode_ptr const') -> "node_ptr":
    """HrcNode_get_actual_parameters(HrcNode_ptr const arg1) -> node_ptr"""
    return _hrc.HrcNode_get_actual_parameters(arg1)

def HrcNode_add_actual_parameter(arg1: 'HrcNode_ptr', par: 'node_ptr') -> "void":
    """HrcNode_add_actual_parameter(HrcNode_ptr arg1, node_ptr par)"""
    return _hrc.HrcNode_add_actual_parameter(arg1, par)

def HrcNode_set_state_variables(arg1: 'HrcNode_ptr', vars: 'node_ptr') -> "void":
    """HrcNode_set_state_variables(HrcNode_ptr arg1, node_ptr vars)"""
    return _hrc.HrcNode_set_state_variables(arg1, vars)

def HrcNode_replace_state_variables(arg1: 'HrcNode_ptr', vars: 'node_ptr') -> "void":
    """HrcNode_replace_state_variables(HrcNode_ptr arg1, node_ptr vars)"""
    return _hrc.HrcNode_replace_state_variables(arg1, vars)

def HrcNode_get_state_variables(arg1: 'HrcNode_ptr const') -> "node_ptr":
    """HrcNode_get_state_variables(HrcNode_ptr const arg1) -> node_ptr"""
    return _hrc.HrcNode_get_state_variables(arg1)

def HrcNode_add_state_variable(arg1: 'HrcNode_ptr', var: 'node_ptr') -> "void":
    """HrcNode_add_state_variable(HrcNode_ptr arg1, node_ptr var)"""
    return _hrc.HrcNode_add_state_variable(arg1, var)

def HrcNode_set_input_variables(arg1: 'HrcNode_ptr', vars: 'node_ptr') -> "void":
    """HrcNode_set_input_variables(HrcNode_ptr arg1, node_ptr vars)"""
    return _hrc.HrcNode_set_input_variables(arg1, vars)

def HrcNode_replace_input_variables(arg1: 'HrcNode_ptr', vars: 'node_ptr') -> "void":
    """HrcNode_replace_input_variables(HrcNode_ptr arg1, node_ptr vars)"""
    return _hrc.HrcNode_replace_input_variables(arg1, vars)

def HrcNode_get_input_variables(arg1: 'HrcNode_ptr const') -> "node_ptr":
    """HrcNode_get_input_variables(HrcNode_ptr const arg1) -> node_ptr"""
    return _hrc.HrcNode_get_input_variables(arg1)

def HrcNode_add_input_variable(arg1: 'HrcNode_ptr', var: 'node_ptr') -> "void":
    """HrcNode_add_input_variable(HrcNode_ptr arg1, node_ptr var)"""
    return _hrc.HrcNode_add_input_variable(arg1, var)

def HrcNode_set_frozen_variables(arg1: 'HrcNode_ptr', vars: 'node_ptr') -> "void":
    """HrcNode_set_frozen_variables(HrcNode_ptr arg1, node_ptr vars)"""
    return _hrc.HrcNode_set_frozen_variables(arg1, vars)

def HrcNode_replace_frozen_variables(arg1: 'HrcNode_ptr', vars: 'node_ptr') -> "void":
    """HrcNode_replace_frozen_variables(HrcNode_ptr arg1, node_ptr vars)"""
    return _hrc.HrcNode_replace_frozen_variables(arg1, vars)

def HrcNode_get_frozen_variables(arg1: 'HrcNode_ptr const') -> "node_ptr":
    """HrcNode_get_frozen_variables(HrcNode_ptr const arg1) -> node_ptr"""
    return _hrc.HrcNode_get_frozen_variables(arg1)

def HrcNode_add_frozen_variable(arg1: 'HrcNode_ptr', var: 'node_ptr') -> "void":
    """HrcNode_add_frozen_variable(HrcNode_ptr arg1, node_ptr var)"""
    return _hrc.HrcNode_add_frozen_variable(arg1, var)

def HrcNode_set_defines(arg1: 'HrcNode_ptr', defs: 'node_ptr') -> "void":
    """HrcNode_set_defines(HrcNode_ptr arg1, node_ptr defs)"""
    return _hrc.HrcNode_set_defines(arg1, defs)

def HrcNode_replace_defines(arg1: 'HrcNode_ptr', defs: 'node_ptr') -> "void":
    """HrcNode_replace_defines(HrcNode_ptr arg1, node_ptr defs)"""
    return _hrc.HrcNode_replace_defines(arg1, defs)

def HrcNode_get_defines(arg1: 'HrcNode_ptr const') -> "node_ptr":
    """HrcNode_get_defines(HrcNode_ptr const arg1) -> node_ptr"""
    return _hrc.HrcNode_get_defines(arg1)

def HrcNode_add_define(arg1: 'HrcNode_ptr', arg2: 'node_ptr') -> "void":
    """HrcNode_add_define(HrcNode_ptr arg1, node_ptr arg2)"""
    return _hrc.HrcNode_add_define(arg1, arg2)

def HrcNode_set_array_defines(arg1: 'HrcNode_ptr', mdefs: 'node_ptr') -> "void":
    """HrcNode_set_array_defines(HrcNode_ptr arg1, node_ptr mdefs)"""
    return _hrc.HrcNode_set_array_defines(arg1, mdefs)

def HrcNode_replace_array_defines(arg1: 'HrcNode_ptr', mdefs: 'node_ptr') -> "void":
    """HrcNode_replace_array_defines(HrcNode_ptr arg1, node_ptr mdefs)"""
    return _hrc.HrcNode_replace_array_defines(arg1, mdefs)

def HrcNode_get_array_defines(arg1: 'HrcNode_ptr const') -> "node_ptr":
    """HrcNode_get_array_defines(HrcNode_ptr const arg1) -> node_ptr"""
    return _hrc.HrcNode_get_array_defines(arg1)

def HrcNode_add_array_define(arg1: 'HrcNode_ptr', mdef: 'node_ptr') -> "void":
    """HrcNode_add_array_define(HrcNode_ptr arg1, node_ptr mdef)"""
    return _hrc.HrcNode_add_array_define(arg1, mdef)

def HrcNode_set_init_exprs(arg1: 'HrcNode_ptr', exprs: 'node_ptr') -> "void":
    """HrcNode_set_init_exprs(HrcNode_ptr arg1, node_ptr exprs)"""
    return _hrc.HrcNode_set_init_exprs(arg1, exprs)

def HrcNode_replace_init_exprs(arg1: 'HrcNode_ptr', exprs: 'node_ptr') -> "void":
    """HrcNode_replace_init_exprs(HrcNode_ptr arg1, node_ptr exprs)"""
    return _hrc.HrcNode_replace_init_exprs(arg1, exprs)

def HrcNode_get_init_exprs(arg1: 'HrcNode_ptr const') -> "node_ptr":
    """HrcNode_get_init_exprs(HrcNode_ptr const arg1) -> node_ptr"""
    return _hrc.HrcNode_get_init_exprs(arg1)

def HrcNode_add_init_expr(arg1: 'HrcNode_ptr', expr: 'node_ptr') -> "void":
    """HrcNode_add_init_expr(HrcNode_ptr arg1, node_ptr expr)"""
    return _hrc.HrcNode_add_init_expr(arg1, expr)

def HrcNode_set_init_assign_exprs(arg1: 'HrcNode_ptr', assigns: 'node_ptr') -> "void":
    """HrcNode_set_init_assign_exprs(HrcNode_ptr arg1, node_ptr assigns)"""
    return _hrc.HrcNode_set_init_assign_exprs(arg1, assigns)

def HrcNode_replace_init_assign_exprs(arg1: 'HrcNode_ptr', assigns: 'node_ptr') -> "void":
    """HrcNode_replace_init_assign_exprs(HrcNode_ptr arg1, node_ptr assigns)"""
    return _hrc.HrcNode_replace_init_assign_exprs(arg1, assigns)

def HrcNode_get_init_assign_exprs(arg1: 'HrcNode_ptr const') -> "node_ptr":
    """HrcNode_get_init_assign_exprs(HrcNode_ptr const arg1) -> node_ptr"""
    return _hrc.HrcNode_get_init_assign_exprs(arg1)

def HrcNode_add_init_assign_expr(arg1: 'HrcNode_ptr', assign: 'node_ptr') -> "void":
    """HrcNode_add_init_assign_expr(HrcNode_ptr arg1, node_ptr assign)"""
    return _hrc.HrcNode_add_init_assign_expr(arg1, assign)

def HrcNode_set_invar_exprs(arg1: 'HrcNode_ptr', exprs: 'node_ptr') -> "void":
    """HrcNode_set_invar_exprs(HrcNode_ptr arg1, node_ptr exprs)"""
    return _hrc.HrcNode_set_invar_exprs(arg1, exprs)

def HrcNode_replace_invar_exprs(arg1: 'HrcNode_ptr', exprs: 'node_ptr') -> "void":
    """HrcNode_replace_invar_exprs(HrcNode_ptr arg1, node_ptr exprs)"""
    return _hrc.HrcNode_replace_invar_exprs(arg1, exprs)

def HrcNode_get_invar_exprs(arg1: 'HrcNode_ptr const') -> "node_ptr":
    """HrcNode_get_invar_exprs(HrcNode_ptr const arg1) -> node_ptr"""
    return _hrc.HrcNode_get_invar_exprs(arg1)

def HrcNode_add_invar_expr(arg1: 'HrcNode_ptr', expr: 'node_ptr') -> "void":
    """HrcNode_add_invar_expr(HrcNode_ptr arg1, node_ptr expr)"""
    return _hrc.HrcNode_add_invar_expr(arg1, expr)

def HrcNode_set_invar_assign_exprs(arg1: 'HrcNode_ptr', assigns: 'node_ptr') -> "void":
    """HrcNode_set_invar_assign_exprs(HrcNode_ptr arg1, node_ptr assigns)"""
    return _hrc.HrcNode_set_invar_assign_exprs(arg1, assigns)

def HrcNode_replace_invar_assign_exprs(arg1: 'HrcNode_ptr', assigns: 'node_ptr') -> "void":
    """HrcNode_replace_invar_assign_exprs(HrcNode_ptr arg1, node_ptr assigns)"""
    return _hrc.HrcNode_replace_invar_assign_exprs(arg1, assigns)

def HrcNode_get_invar_assign_exprs(arg1: 'HrcNode_ptr const') -> "node_ptr":
    """HrcNode_get_invar_assign_exprs(HrcNode_ptr const arg1) -> node_ptr"""
    return _hrc.HrcNode_get_invar_assign_exprs(arg1)

def HrcNode_add_invar_assign_expr(arg1: 'HrcNode_ptr', assign: 'node_ptr') -> "void":
    """HrcNode_add_invar_assign_expr(HrcNode_ptr arg1, node_ptr assign)"""
    return _hrc.HrcNode_add_invar_assign_expr(arg1, assign)

def HrcNode_can_declare_assign(arg1: 'HrcNode_ptr', symbol: 'node_ptr', assign_type: 'int') -> "boolean":
    """HrcNode_can_declare_assign(HrcNode_ptr arg1, node_ptr symbol, int assign_type) -> boolean"""
    return _hrc.HrcNode_can_declare_assign(arg1, symbol, assign_type)

def HrcNode_set_trans_exprs(arg1: 'HrcNode_ptr', exprs: 'node_ptr') -> "void":
    """HrcNode_set_trans_exprs(HrcNode_ptr arg1, node_ptr exprs)"""
    return _hrc.HrcNode_set_trans_exprs(arg1, exprs)

def HrcNode_replace_trans_exprs(arg1: 'HrcNode_ptr', exprs: 'node_ptr') -> "void":
    """HrcNode_replace_trans_exprs(HrcNode_ptr arg1, node_ptr exprs)"""
    return _hrc.HrcNode_replace_trans_exprs(arg1, exprs)

def HrcNode_get_trans_exprs(arg1: 'HrcNode_ptr const') -> "node_ptr":
    """HrcNode_get_trans_exprs(HrcNode_ptr const arg1) -> node_ptr"""
    return _hrc.HrcNode_get_trans_exprs(arg1)

def HrcNode_add_trans_expr(arg1: 'HrcNode_ptr', expr: 'node_ptr') -> "void":
    """HrcNode_add_trans_expr(HrcNode_ptr arg1, node_ptr expr)"""
    return _hrc.HrcNode_add_trans_expr(arg1, expr)

def HrcNode_set_next_assign_exprs(arg1: 'HrcNode_ptr', assigns: 'node_ptr') -> "void":
    """HrcNode_set_next_assign_exprs(HrcNode_ptr arg1, node_ptr assigns)"""
    return _hrc.HrcNode_set_next_assign_exprs(arg1, assigns)

def HrcNode_replace_next_assign_exprs(arg1: 'HrcNode_ptr', assigns: 'node_ptr') -> "void":
    """HrcNode_replace_next_assign_exprs(HrcNode_ptr arg1, node_ptr assigns)"""
    return _hrc.HrcNode_replace_next_assign_exprs(arg1, assigns)

def HrcNode_get_next_assign_exprs(arg1: 'HrcNode_ptr const') -> "node_ptr":
    """HrcNode_get_next_assign_exprs(HrcNode_ptr const arg1) -> node_ptr"""
    return _hrc.HrcNode_get_next_assign_exprs(arg1)

def HrcNode_add_next_assign_expr(arg1: 'HrcNode_ptr', assign: 'node_ptr') -> "void":
    """HrcNode_add_next_assign_expr(HrcNode_ptr arg1, node_ptr assign)"""
    return _hrc.HrcNode_add_next_assign_expr(arg1, assign)

def HrcNode_set_justice_exprs(arg1: 'HrcNode_ptr', justices: 'node_ptr') -> "void":
    """HrcNode_set_justice_exprs(HrcNode_ptr arg1, node_ptr justices)"""
    return _hrc.HrcNode_set_justice_exprs(arg1, justices)

def HrcNode_replace_justice_exprs(arg1: 'HrcNode_ptr', justices: 'node_ptr') -> "void":
    """HrcNode_replace_justice_exprs(HrcNode_ptr arg1, node_ptr justices)"""
    return _hrc.HrcNode_replace_justice_exprs(arg1, justices)

def HrcNode_get_justice_exprs(arg1: 'HrcNode_ptr const') -> "node_ptr":
    """HrcNode_get_justice_exprs(HrcNode_ptr const arg1) -> node_ptr"""
    return _hrc.HrcNode_get_justice_exprs(arg1)

def HrcNode_add_justice_expr(arg1: 'HrcNode_ptr', justice: 'node_ptr') -> "void":
    """HrcNode_add_justice_expr(HrcNode_ptr arg1, node_ptr justice)"""
    return _hrc.HrcNode_add_justice_expr(arg1, justice)

def HrcNode_set_compassion_exprs(arg1: 'HrcNode_ptr', compassions: 'node_ptr') -> "void":
    """HrcNode_set_compassion_exprs(HrcNode_ptr arg1, node_ptr compassions)"""
    return _hrc.HrcNode_set_compassion_exprs(arg1, compassions)

def HrcNode_replace_compassion_exprs(arg1: 'HrcNode_ptr', compassions: 'node_ptr') -> "void":
    """HrcNode_replace_compassion_exprs(HrcNode_ptr arg1, node_ptr compassions)"""
    return _hrc.HrcNode_replace_compassion_exprs(arg1, compassions)

def HrcNode_get_compassion_exprs(arg1: 'HrcNode_ptr const') -> "node_ptr":
    """HrcNode_get_compassion_exprs(HrcNode_ptr const arg1) -> node_ptr"""
    return _hrc.HrcNode_get_compassion_exprs(arg1)

def HrcNode_add_compassion_expr(arg1: 'HrcNode_ptr', compassion: 'node_ptr') -> "void":
    """HrcNode_add_compassion_expr(HrcNode_ptr arg1, node_ptr compassion)"""
    return _hrc.HrcNode_add_compassion_expr(arg1, compassion)

def HrcNode_set_constants(arg1: 'HrcNode_ptr', constants: 'node_ptr') -> "void":
    """HrcNode_set_constants(HrcNode_ptr arg1, node_ptr constants)"""
    return _hrc.HrcNode_set_constants(arg1, constants)

def HrcNode_replace_constants(arg1: 'HrcNode_ptr', constants: 'node_ptr') -> "void":
    """HrcNode_replace_constants(HrcNode_ptr arg1, node_ptr constants)"""
    return _hrc.HrcNode_replace_constants(arg1, constants)

def HrcNode_get_constants(arg1: 'HrcNode_ptr const') -> "node_ptr":
    """HrcNode_get_constants(HrcNode_ptr const arg1) -> node_ptr"""
    return _hrc.HrcNode_get_constants(arg1)

def HrcNode_add_constants(arg1: 'HrcNode_ptr', constant: 'node_ptr') -> "void":
    """HrcNode_add_constants(HrcNode_ptr arg1, node_ptr constant)"""
    return _hrc.HrcNode_add_constants(arg1, constant)

def HrcNode_set_ctl_properties(arg1: 'HrcNode_ptr', ctls: 'node_ptr') -> "void":
    """HrcNode_set_ctl_properties(HrcNode_ptr arg1, node_ptr ctls)"""
    return _hrc.HrcNode_set_ctl_properties(arg1, ctls)

def HrcNode_replace_ctl_properties(arg1: 'HrcNode_ptr', ctls: 'node_ptr') -> "void":
    """HrcNode_replace_ctl_properties(HrcNode_ptr arg1, node_ptr ctls)"""
    return _hrc.HrcNode_replace_ctl_properties(arg1, ctls)

def HrcNode_get_ctl_properties(arg1: 'HrcNode_ptr const') -> "node_ptr":
    """HrcNode_get_ctl_properties(HrcNode_ptr const arg1) -> node_ptr"""
    return _hrc.HrcNode_get_ctl_properties(arg1)

def HrcNode_add_ctl_property_expr(arg1: 'HrcNode_ptr', ctl: 'node_ptr') -> "void":
    """HrcNode_add_ctl_property_expr(HrcNode_ptr arg1, node_ptr ctl)"""
    return _hrc.HrcNode_add_ctl_property_expr(arg1, ctl)

def HrcNode_set_ltl_properties(arg1: 'HrcNode_ptr', ltls: 'node_ptr') -> "void":
    """HrcNode_set_ltl_properties(HrcNode_ptr arg1, node_ptr ltls)"""
    return _hrc.HrcNode_set_ltl_properties(arg1, ltls)

def HrcNode_replace_ltl_properties(arg1: 'HrcNode_ptr', ltls: 'node_ptr') -> "void":
    """HrcNode_replace_ltl_properties(HrcNode_ptr arg1, node_ptr ltls)"""
    return _hrc.HrcNode_replace_ltl_properties(arg1, ltls)

def HrcNode_get_ltl_properties(arg1: 'HrcNode_ptr const') -> "node_ptr":
    """HrcNode_get_ltl_properties(HrcNode_ptr const arg1) -> node_ptr"""
    return _hrc.HrcNode_get_ltl_properties(arg1)

def HrcNode_add_ltl_property_expr(arg1: 'HrcNode_ptr', ltl: 'node_ptr') -> "void":
    """HrcNode_add_ltl_property_expr(HrcNode_ptr arg1, node_ptr ltl)"""
    return _hrc.HrcNode_add_ltl_property_expr(arg1, ltl)

def HrcNode_set_psl_properties(arg1: 'HrcNode_ptr', psls: 'node_ptr') -> "void":
    """HrcNode_set_psl_properties(HrcNode_ptr arg1, node_ptr psls)"""
    return _hrc.HrcNode_set_psl_properties(arg1, psls)

def HrcNode_replace_psl_properties(arg1: 'HrcNode_ptr', psls: 'node_ptr') -> "void":
    """HrcNode_replace_psl_properties(HrcNode_ptr arg1, node_ptr psls)"""
    return _hrc.HrcNode_replace_psl_properties(arg1, psls)

def HrcNode_get_psl_properties(arg1: 'HrcNode_ptr const') -> "node_ptr":
    """HrcNode_get_psl_properties(HrcNode_ptr const arg1) -> node_ptr"""
    return _hrc.HrcNode_get_psl_properties(arg1)

def HrcNode_add_psl_property_expr(arg1: 'HrcNode_ptr', psl: 'node_ptr') -> "void":
    """HrcNode_add_psl_property_expr(HrcNode_ptr arg1, node_ptr psl)"""
    return _hrc.HrcNode_add_psl_property_expr(arg1, psl)

def HrcNode_set_invar_properties(arg1: 'HrcNode_ptr', invars: 'node_ptr') -> "void":
    """HrcNode_set_invar_properties(HrcNode_ptr arg1, node_ptr invars)"""
    return _hrc.HrcNode_set_invar_properties(arg1, invars)

def HrcNode_replace_invar_properties(arg1: 'HrcNode_ptr', invars: 'node_ptr') -> "void":
    """HrcNode_replace_invar_properties(HrcNode_ptr arg1, node_ptr invars)"""
    return _hrc.HrcNode_replace_invar_properties(arg1, invars)

def HrcNode_get_invar_properties(arg1: 'HrcNode_ptr const') -> "node_ptr":
    """HrcNode_get_invar_properties(HrcNode_ptr const arg1) -> node_ptr"""
    return _hrc.HrcNode_get_invar_properties(arg1)

def HrcNode_add_invar_property_expr(arg1: 'HrcNode_ptr', invar: 'node_ptr') -> "void":
    """HrcNode_add_invar_property_expr(HrcNode_ptr arg1, node_ptr invar)"""
    return _hrc.HrcNode_add_invar_property_expr(arg1, invar)

def HrcNode_set_compute_properties(arg1: 'HrcNode_ptr', computes: 'node_ptr') -> "void":
    """HrcNode_set_compute_properties(HrcNode_ptr arg1, node_ptr computes)"""
    return _hrc.HrcNode_set_compute_properties(arg1, computes)

def HrcNode_replace_compute_properties(arg1: 'HrcNode_ptr', computes: 'node_ptr') -> "void":
    """HrcNode_replace_compute_properties(HrcNode_ptr arg1, node_ptr computes)"""
    return _hrc.HrcNode_replace_compute_properties(arg1, computes)

def HrcNode_get_compute_properties(arg1: 'HrcNode_ptr const') -> "node_ptr":
    """HrcNode_get_compute_properties(HrcNode_ptr const arg1) -> node_ptr"""
    return _hrc.HrcNode_get_compute_properties(arg1)

def HrcNode_add_compute_property_expr(arg1: 'HrcNode_ptr', compute: 'node_ptr') -> "void":
    """HrcNode_add_compute_property_expr(HrcNode_ptr arg1, node_ptr compute)"""
    return _hrc.HrcNode_add_compute_property_expr(arg1, compute)

def HrcNode_set_undef(arg1: 'HrcNode_ptr const', undef: 'void *') -> "void":
    """HrcNode_set_undef(HrcNode_ptr const arg1, void * undef)"""
    return _hrc.HrcNode_set_undef(arg1, undef)

def HrcNode_get_undef(arg1: 'HrcNode_ptr const') -> "void *":
    """HrcNode_get_undef(HrcNode_ptr const arg1) -> void *"""
    return _hrc.HrcNode_get_undef(arg1)

def HrcNode_set_child_hrc_nodes(arg1: 'HrcNode_ptr', list: 'Slist_ptr') -> "void":
    """HrcNode_set_child_hrc_nodes(HrcNode_ptr arg1, Slist_ptr list)"""
    return _hrc.HrcNode_set_child_hrc_nodes(arg1, list)

def HrcNode_get_child_hrc_nodes(arg1: 'HrcNode_ptr const') -> "Slist_ptr":
    """HrcNode_get_child_hrc_nodes(HrcNode_ptr const arg1) -> Slist_ptr"""
    return _hrc.HrcNode_get_child_hrc_nodes(arg1)

def HrcNode_add_child_hrc_node(arg1: 'HrcNode_ptr', node: 'HrcNode_ptr') -> "void":
    """HrcNode_add_child_hrc_node(HrcNode_ptr arg1, HrcNode_ptr node)"""
    return _hrc.HrcNode_add_child_hrc_node(arg1, node)

def HrcNode_find_hrc_node_by_mod_type(arg1: 'HrcNode_ptr const', mod_type: 'node_ptr') -> "HrcNode_ptr":
    """HrcNode_find_hrc_node_by_mod_type(HrcNode_ptr const arg1, node_ptr mod_type) -> HrcNode_ptr"""
    return _hrc.HrcNode_find_hrc_node_by_mod_type(arg1, mod_type)

def HrcNode_find_hrc_node_by_instance_name(arg1: 'HrcNode_ptr const', name: 'node_ptr') -> "HrcNode_ptr":
    """HrcNode_find_hrc_node_by_instance_name(HrcNode_ptr const arg1, node_ptr name) -> HrcNode_ptr"""
    return _hrc.HrcNode_find_hrc_node_by_instance_name(arg1, name)

def HrcNode_is_root(arg1: 'HrcNode_ptr const') -> "boolean":
    """HrcNode_is_root(HrcNode_ptr const arg1) -> boolean"""
    return _hrc.HrcNode_is_root(arg1)

def HrcNode_is_leaf(arg1: 'HrcNode_ptr const') -> "boolean":
    """HrcNode_is_leaf(HrcNode_ptr const arg1) -> boolean"""
    return _hrc.HrcNode_is_leaf(arg1)

def HrcNode_copy(arg1: 'HrcNode_ptr const') -> "HrcNode_ptr":
    """HrcNode_copy(HrcNode_ptr const arg1) -> HrcNode_ptr"""
    return _hrc.HrcNode_copy(arg1)

def HrcNode_copy_rename(arg1: 'HrcNode_ptr const', new_module_name: 'node_ptr') -> "HrcNode_ptr":
    """HrcNode_copy_rename(HrcNode_ptr const arg1, node_ptr new_module_name) -> HrcNode_ptr"""
    return _hrc.HrcNode_copy_rename(arg1, new_module_name)

def HrcNode_recursive_copy(arg1: 'HrcNode_ptr const') -> "HrcNode_ptr":
    """HrcNode_recursive_copy(HrcNode_ptr const arg1) -> HrcNode_ptr"""
    return _hrc.HrcNode_recursive_copy(arg1)

def HrcNode_find_var(arg1: 'HrcNode_ptr', var_name: 'node_ptr', type: 'int') -> "node_ptr":
    """HrcNode_find_var(HrcNode_ptr arg1, node_ptr var_name, int type) -> node_ptr"""
    return _hrc.HrcNode_find_var(arg1, var_name, type)

def hrc_prefix_utils_get_prefix_symbols(symbol_set: 'Set_t', prefix: 'node_ptr') -> "Set_t":
    """hrc_prefix_utils_get_prefix_symbols(Set_t symbol_set, node_ptr prefix) -> Set_t"""
    return _hrc.hrc_prefix_utils_get_prefix_symbols(symbol_set, prefix)

def hrc_prefix_utils_is_subprefix(subprefix: 'node_ptr', prefix: 'node_ptr') -> "boolean":
    """hrc_prefix_utils_is_subprefix(node_ptr subprefix, node_ptr prefix) -> boolean"""
    return _hrc.hrc_prefix_utils_is_subprefix(subprefix, prefix)

def hrc_prefix_utils_add_context(context: 'node_ptr', expression: 'node_ptr') -> "node_ptr":
    """hrc_prefix_utils_add_context(node_ptr context, node_ptr expression) -> node_ptr"""
    return _hrc.hrc_prefix_utils_add_context(context, expression)

def hrc_prefix_utils_get_first_subcontext(symbol: 'node_ptr') -> "node_ptr":
    """hrc_prefix_utils_get_first_subcontext(node_ptr symbol) -> node_ptr"""
    return _hrc.hrc_prefix_utils_get_first_subcontext(symbol)

def hrc_prefix_utils_remove_context(identifier: 'node_ptr', context: 'node_ptr') -> "node_ptr":
    """hrc_prefix_utils_remove_context(node_ptr identifier, node_ptr context) -> node_ptr"""
    return _hrc.hrc_prefix_utils_remove_context(identifier, context)

def hrc_prefix_utils_assign_module_name(instance: 'HrcNode_ptr', instance_name: 'node_ptr') -> "node_ptr":
    """hrc_prefix_utils_assign_module_name(HrcNode_ptr instance, node_ptr instance_name) -> node_ptr"""
    return _hrc.hrc_prefix_utils_assign_module_name(instance, instance_name)

def hrc_prefix_utils_flatten_instance_name(instance: 'HrcNode_ptr') -> "node_ptr":
    """hrc_prefix_utils_flatten_instance_name(HrcNode_ptr instance) -> node_ptr"""
    return _hrc.hrc_prefix_utils_flatten_instance_name(instance)

def HrcVarDependencies_create() -> "HrcVarDependencies_ptr":
    """HrcVarDependencies_create() -> HrcVarDependencies_ptr"""
    return _hrc.HrcVarDependencies_create()

def HrcVarDependencies_destroy(arg1: 'HrcVarDependencies_ptr') -> "void":
    """HrcVarDependencies_destroy(HrcVarDependencies_ptr arg1)"""
    return _hrc.HrcVarDependencies_destroy(arg1)

def HrcVarDependencies_add_variable(arg1: 'HrcVarDependencies_ptr', variable: 'node_ptr') -> "void":
    """HrcVarDependencies_add_variable(HrcVarDependencies_ptr arg1, node_ptr variable)"""
    return _hrc.HrcVarDependencies_add_variable(arg1, variable)

def HrcVarDependencies_add_define(arg1: 'HrcVarDependencies_ptr', define: 'node_ptr') -> "void":
    """HrcVarDependencies_add_define(HrcVarDependencies_ptr arg1, node_ptr define)"""
    return _hrc.HrcVarDependencies_add_define(arg1, define)

def HrcVarDependencies_add_parameter(arg1: 'HrcVarDependencies_ptr', formal: 'node_ptr', actual: 'node_ptr') -> "void":
    """HrcVarDependencies_add_parameter(HrcVarDependencies_ptr arg1, node_ptr formal, node_ptr actual)"""
    return _hrc.HrcVarDependencies_add_parameter(arg1, formal, actual)

def HrcVarDependencies_get_variables_set(arg1: 'HrcVarDependencies_ptr') -> "Set_t":
    """HrcVarDependencies_get_variables_set(HrcVarDependencies_ptr arg1) -> Set_t"""
    return _hrc.HrcVarDependencies_get_variables_set(arg1)

def HrcVarDependencies_get_defines_set(arg1: 'HrcVarDependencies_ptr') -> "Set_t":
    """HrcVarDependencies_get_defines_set(HrcVarDependencies_ptr arg1) -> Set_t"""
    return _hrc.HrcVarDependencies_get_defines_set(arg1)

def HrcVarDependencies_get_formal_par_set(arg1: 'HrcVarDependencies_ptr') -> "Set_t":
    """HrcVarDependencies_get_formal_par_set(HrcVarDependencies_ptr arg1) -> Set_t"""
    return _hrc.HrcVarDependencies_get_formal_par_set(arg1)

def HrcVarDependencies_get_actual_par_set(arg1: 'HrcVarDependencies_ptr') -> "Set_t":
    """HrcVarDependencies_get_actual_par_set(HrcVarDependencies_ptr arg1) -> Set_t"""
    return _hrc.HrcVarDependencies_get_actual_par_set(arg1)

def HrcVarDependencies_has_formal_parameter(arg1: 'HrcVarDependencies_ptr', formal: 'node_ptr') -> "boolean":
    """HrcVarDependencies_has_formal_parameter(HrcVarDependencies_ptr arg1, node_ptr formal) -> boolean"""
    return _hrc.HrcVarDependencies_has_formal_parameter(arg1, formal)
# This file is compatible with both classic and new-style classes.

cvar = _hrc.cvar

