
    >f
                        d dl Z ddlmZ ddlT  G d de j                  Z G d de j                  Z G d	 d
e j                  Z G d de j                  Z	 G d de j                  Z
 G d de j                  Zd ZdS )    N   )copy_ctypes_list)*c                   b    e Zd Zdej        fdej        fdej        fdej        fdej        ffZdS )X86OpMemsegmentbaseindexscaledispN)__name__
__module____qualname__ctypesc_uintc_intc_int64_fields_     [/home/panchajanya/Development/work/volatility3/lib/python3.11/site-packages/capstone/x86.pyr   r      sG        	FM"		&- 	&,	 HHHr   r   c                   8    e Zd Zdej        fdej        fdeffZdS )
X86OpValueregimmmemN)r   r   r   r   r   r   r   r   r   r   r   r   r      s1        			HHHr   r   c                       e Zd Zdej        fdefdej        fdej        fdej        fdej        ffZe	d             Z
e	d             Ze	d	             Zd
S )X86Optypevaluesizeaccess	avx_bcastavx_zero_opmaskc                     | j         j        S N)r    r   selfs    r   r   z	X86Op.imm"       z~r   c                     | j         j        S r&   )r    r   r'   s    r   r   z	X86Op.reg&   r)   r   c                     | j         j        S r&   )r    r   r'   s    r   r   z	X86Op.mem*   r)   r   N)r   r   r   r   r   r   c_uint8c_boolr   propertyr   r   r   r   r   r   r   r      s        		*	 	6>"	fm$	FM*H   X   X   X  r   r   c                   2    e Zd Zdej        fdej        ffZdS )X86Flagseflags	fpu_flagsN)r   r   r   r   c_uint64r   r   r   r   r0   r0   .   s)        	6?#	fo&HHHr   r0   c                   b    e Zd Zdej        fdej        fdej        fdej        fdej        ffZdS )CsX86Encodingmodrm_offsetdisp_offset	disp_size
imm_offsetimm_sizeN)r   r   r   r   r,   r   r   r   r   r5   r5   4   sG        	(	'	fn%	v~&	V^$HHHr   r5   c                   b   e Zd Zdej        dz  fdej        dz  fdej        fdej        fdej        fdej        fdej        fd	ej        fd
ej        fdej        fdej        fdej        fdej        fdej        fdej        fde	fdej        fde
dz  fdeffZed             Zed             ZdS )CsX86prefix   opcoderex	addr_sizemodrmsibr   	sib_index	sib_scalesib_basexop_ccsse_ccavx_ccavx_saeavx_rmflagsop_countoperands   encodingc                     | j         j        S r&   )rL   r1   r'   s    r   r1   zCsX86.eflagsT   s    z  r   c                     | j         j        S r&   )rL   r2   r'   s    r   r2   zCsX86.fpu_flagsX   s    z##r   N)r   r   r   r   r,   r   r   c_int8r-   r0   r   r5   r   r.   r1   r2   r   r   r   r<   r<   =   s       	6>A%&	6>A%&		fn%	&.!		 	fm$	fm$	V]#	6=!	6=!	6=!	FM"	6=!	(	V^$	UQY	]#'H, ! ! X! $ $ X$ $ $r   r<   c                    | j         d d          | j        d d          | j        | j        | j        | j        | j        | j        | j        | j	        | j
        | j        | j        | j        | j        | j        | j        | j        | j        j        | j        j        | j        j        | j        j        | j        j        t/          | j        d | j                           fS r&   )r=   r?   r@   rA   rB   rC   r   rD   rE   rF   rG   rH   rI   rJ   rK   r1   r2   rP   r6   r7   r8   r9   r:   r   rN   rM   )as    r   get_arch_inforV   \   s    HQQQK!!!aeQ[GQUAFAKJ!(AHai18UVU`J
/1GI]_`_i_tvw  wA  wJQZ455	7 7r   )r    r   	x86_const	Structurer   Unionr   r   r0   r5   r<   rV   r   r   r   <module>r[      sS                 v              F   ,    v|       F$   $ $ $ $ $F $ $ $>7 7 7 7 7r   