
    'wf	                     $   d dl Z ddlmZ ddl  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y)    N   )copy_ctypes_list)*c                   ^    e Zd Zdej                  fdej                  fdej
                  ffZy)
Arm64OpMembaseindexdispN)__name__
__module____qualname__ctypesc_uintc_int32_fields_     b/home/panchajanya/Development/work/volatility3/venv/lib/python3.12/site-packages/capstone/arm64.pyr   r      s-    		&-- 	 Hr   r   c                   ^    e Zd Zdej                  fdej                  fdej
                  ffZy)Arm64OpSmeIndexregr   r
   N)r   r   r   r   r   r   _fileds_r   r   r   r   r      s-    			 Hr   r   c                   D    e Zd Zdej                  fdej                  ffZy)Arm64OpShifttypevalueN)r   r   r   r   r   r   r   r   r   r   r      s!    		&-- Hr   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
y
)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      sm    			v	
	6<< 		V\\"	FLL!	o&
Hr   r   c            	       H   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y)Arm64Opvector_indexvasshiftextr   svcrr   accessc                 .    | j                   j                  S N)r   r   selfs    r   r   zArm64Op.imm5       zz~~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    zz}}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    zz   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    zz"""r   c                 .    | j                   j                  S r3   )r   r%   r4   s    r   r%   zArm64Op.barrierQ   s    zz!!!r   c                 .    | j                   j                  S r3   )r   r&   r4   s    r   r&   zArm64Op.sme_indexU   s    zz###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+   )   s   	&		,				,	6>>"	H         ! !   # # " " $ $r   r+   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dedz  ffZy)	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   [   sQ    	v}}	'	fmm$	v}}%	V^^$	Wq[!Hr   rB   c           	          | j                   | j                  | j                  | j                  t	        | j
                  d | j                         fS r3   )rC   rD   rE   rF   r   rH   rG   )as    r   get_arch_inforM   e   s<    DD!..!++q||=MajjYdZ[ZdZdNe=fggr   )r    r   arm64_const	Structurer   r   r   Unionr   r+   rB   rM   r   r   r   <module>rR      s      !! f&& 6## 6<< .$f .$df hr   