
    >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fZdS )
Arm64OpMembaseindexdispN)__name__
__module____qualname__ctypesc_uintc_int32_fields_     ]/home/panchajanya/Development/work/volatility3/lib/python3.11/site-packages/capstone/arm64.pyr   r      s3        		&- 	 HHHr   r   c                   B    e Zd Zdej        fdej        fdej        ffZdS )Arm64OpSmeIndexregr   r
   N)r   r   r   r   r   r   _fileds_r   r   r   r   r      s3        			 HHHr   r   c                   2    e Zd Zdej        fdej        ffZdS )Arm64OpShifttypevalueN)r   r   r   r   r   r   r   r   r   r   r      s)        		&- HHHr   r   c            
           e Zd Zdej        fdej        fdej        fdefdej        fdej        fdej        fdej        fd	e	ff	Z
d
S )Arm64OpValuer   immfpmempstatesysprefetchbarrier	sme_indexN)r   r   r   r   r   c_int64c_doubler   c_intr   r   r   r   r   r   r      sk        			v	
	6< 		V\"	FL!	o&
HHHr   r   c            	       D   e Zd Zdej        fdej        fdefdej        fdej        fdej        fdefdej        ffZ	e
d	             Ze
d
             Ze
d             Ze
d             Ze
d             Ze
d             Ze
d             Ze
d             Ze
d             ZdS )Arm64Opvector_indexvasshiftextr   svcrr   accessc                     | j         j        S N)r   r   selfs    r   r   zArm64Op.imm5       z~r   c                     | j         j        S r3   )r   r   r4   s    r   r   zArm64Op.reg9   r6   r   c                     | j         j        S r3   )r   r    r4   s    r   r    z
Arm64Op.fp=   s    z}r   c                     | j         j        S r3   )r   r!   r4   s    r   r!   zArm64Op.memA   r6   r   c                     | j         j        S r3   )r   r"   r4   s    r   r"   zArm64Op.pstateE   s    z  r   c                     | j         j        S r3   )r   r#   r4   s    r   r#   zArm64Op.sysI   r6   r   c                     | j         j        S r3   )r   r$   r4   s    r   r$   zArm64Op.prefetchM   s    z""r   c                     | j         j        S r3   )r   r%   r4   s    r   r%   zArm64Op.barrierQ   s    z!!r   c                     | j         j        S r3   )r   r&   r4   s    r   r&   zArm64Op.sme_indexU   s    z##r   N)r   r   r   r   r)   r   r   r   c_uint8r   propertyr   r   r    r!   r"   r#   r$   r%   r&   r   r   r   r+   r+   )   sZ       	&		,				,	6>"	H   X   X   X   X ! ! X!   X # # X# " " X" $ $ X$ $ $r   r+   c                   n    e Zd Zdej        fdej        fdej        fdej        fdej        fdedz  ffZdS )	CsArm64ccupdate_flags	writeback
post_indexop_countoperands   N)	r   r   r   r   r   c_boolr?   r+   r   r   r   r   rB   rB   [   sS        	v}	'	fm$	v}%	V^$	Wq[!HHHr   rB   c           	      v    | j         | j        | j        | j        t	          | j        d | j                           fS r3   )rC   rD   rE   rF   r   rH   rG   )as    r   get_arch_inforM   e   s5    D!.!+q|=MajYdZ[ZdYdNe=f=fggr   )r    r   arm64_const	Structurer   r   r   Unionr   r+   rB   rM   r   r   r   <module>rR      sZ                 !       f&       6#       6<   .$ .$ .$ .$ .$f .$ .$ .$d    f   h h h h hr   