
    sKg                     j   d dl mZmZmZmZ d dlmZ d dlmZ d Z	d Z
d Zeegej                  j                  _        egej                  j                  _        eej                  j                  _        e ee      gej                  j"                  _        eej                  j"                  _        y)    )c_void_pc_char_pc_boolPOINTER)ffi)_encode_stringc                 R    t         j                  j                  t        |             S )z{
    Get the in-process address of symbol named *name*.
    An integer is returned, or None if the symbol isn't found.
    )r   libLLVMPY_SearchAddressOfSymbolr   )names    Z/home/alanp/www/video.onchill/myenv/lib/python3.12/site-packages/llvmlite/binding/dylib.pyaddress_of_symbolr      s    
 77//t0DEE    c                 h    t         j                  j                  t        |       t	        |             y)z
    Register the *address* of global symbol *name*.  This will make
    it usable (e.g. callable) from LLVM-compiled functions.
    N)r   r
   LLVMPY_AddSymbolr   r   )r   addresss     r   
add_symbolr      s"    
 GG^D18G3DEr   c                     t        j                         5 }t         j                  j                  t	        |       |      rt        t        |            	 ddd       y# 1 sw Y   yxY w)z"
    Load an external library
    N)r   OutputStringr
   LLVMPY_LoadLibraryPermanentlyr   RuntimeErrorstr)filenameouterrs     r   load_library_permanentlyr      sN     
			v7700x(&2s6{++2 
		s   >AA&N)ctypesr   r   r   r   llvmlite.bindingr   llvmlite.binding.commonr   r   r   r   r
   r   argtypesr   restyper    r   r   <module>r"      s    6 6   2FF, %   !
 2:
 $ $ -/7 $ $ ,2:GH<M1N % % .06 % % -r   