
    #HJj                     P   d dl Z d dlZ d dlZdZ G d de j                        Ze j                  j                  e j                  j                  d            Z
e
j                  Ze j                  e j                  e j                  fe_        e j                  e_         G d d      Zy)    N   c                       e Zd Zdej                  fdej
                  fdej                  fdej                  fdej                  fgZy)_LinkMapl_addrl_namel_ldl_next
l_previousN)__name__
__module____qualname__ctypesc_void_pc_char_p_fields_     W/Users/ahmed/devFolder/claude-voice/.venv/lib/python3.12/site-packages/dlinfo/_glibc.pyr   r   	   sG     
6??#	6??#	!	6??#	v'Hr   r   dlc                   F    e Zd ZdZdej
                  fdZedefd       Z	y)DLInfoz
    >>> lib = ctypes.cdll.LoadLibrary(ctypes.util.find_library('c'))
    >>> dlinfo = DLInfo(lib)
    >>> dlinfo.path
    '/lib/x86_64-linux-gnu/libc.so.6'
    cdllc                 $   t        j                         }t        |j                  t        t        j
                  |            dk7  rt        d|j                   d      t        j                  |t        j                  t                    | _        y )Nr   z
dlinfo on z failed)r   r   _DLINFO_handle_RTLD_DI_LINKMAPbyrefRuntimeError_namecastPOINTERr   _linkmap)selfr   r"   s      r   __init__zDLInfo.__init__#   s`    ??$4<<!16<<3IJaODJJ<w?@@HfnnX.FGr   returnc                     | j                   j                  j                  j                  t	        j
                               S )N)r"   contentsr   decodesysgetdefaultencoding)r#   s    r   pathzDLInfo.path*   s,    }}%%,,33C4J4J4LMMr   N)
r   r   r   __doc__r   CDLLr$   propertystrr+   r   r   r   r   r      s7    HV[[ H Nc N Nr   r   )r   ctypes.utilr)   r   	Structurer   r   LoadLibraryutilfind_library_LIBDLdlinfor   r   c_intargtypesrestyper   r   r   r   <module>r:      s      
  v  
	 	 !9!9$!?	@
--??FLL&//A ,,N Nr   