
    h                     8   d dl mZmZ d dlmZmZ d dlmZmZm	Z	m
Z
mZmZ d dlmZ ddddd	d
ddddd
Z G d de          Z G d de          Z G d de          Z eeed             eeed            eeedd d            G d de          Z G d de          Z eeed             eeed            eeeddd            G d d e          Z G d! d"e          Z eeed             eeed            eeeddd           d#S )$    )RPCRPC_Call)Packetbind_layers)IntFieldStrLenFieldIntEnumFieldPacketFieldConditionalFieldFieldListField)File_ObjectMNT3_OKMNT3ERR_PERMMNT3ERR_NOENT
MNT3ERR_IOMNT3ERR_ACCESMNT3ERR_NOTDIRMNT3ERR_INVALMNT3ERR_NAMETOOLONGMNT3ERR_NOTSUPPMNT3ERR_SERVERFAULT)
r                     ?   i'  i'  c                   r    e Zd Zd Z edd           eddd            eddd           gZd	 ZddZd
S )Pathlengthr   path c                     | j         S Nr!   pkts    W/mounts/lovelace/software/anaconda3/lib/python3.11/site-packages/scapy/contrib/mount.py<lambda>zPath.<lambda>!   s    
     )length_fromfillc                     d| j         z
  dz  S )N   r&   r'   s    r)   r*   zPath.<lambda>"   s    SZ18L r+   c                 
    d|fS )Nr#    )selfss     r)   extract_paddingzPath.extract_padding%   s    1ur+   Nc                     |t          |          }|ddt          |          z
  dz  z  }|| _        || _        || _        d S )N    r/   )lenr!   r"   r-   )r2   r"   r!   r-   s       r)   setzPath.set(   sI    >YYF<q3t99}12D				r+   )NN)	__name__
__module____qualname__namer   r   fields_descr4   r8   r1   r+   r)   r    r       s        D1FB,B,BCCCFB,L,LMMMK       r+   r    c                       e Zd ZdZg ZdS )	NULL_CallzMOUNT NULL CallNr9   r:   r;   r<   r=   r1   r+   r)   r?   r?   2   s        DKKKr+   r?   c                       e Zd ZdZg ZdS )
NULL_ReplyzMOUNT NULL ReplyNr@   r1   r+   r)   rB   rB   7   s        DKKKr+   rB   )mtyper   i    )program	procedurepversionc                   >    e Zd ZdZ ed e            e          gZdS )
MOUNT_Callz
MOUNT Callr"   Nr9   r:   r;   r<   r
   r    r=   r1   r+   r)   rI   rI   A   s1        DFDDFFD))KKKr+   rI   c                       e Zd ZdZ edde           e ed e            e          d            e e	dd          d            e e
dd	 e	d
d	          d           d           gZd Zd	S )MOUNT_ReplyzMOUNT Replystatusr   
filehandlec                     | j         dk    S Nr   rM   r'   s    r)   r*   zMOUNT_Reply.<lambda>N       
a r+   flavorsc                     | j         dk    S rP   rQ   r'   s    r)   r*   zMOUNT_Reply.<lambda>P   s    SZ1_ r+   flavorNr#   c                     | j         S r%   )rS   r'   s    r)   r*   zMOUNT_Reply.<lambda>T   s    s{ r+   )
count_fromc                     | j         dk    S rP   rQ   r'   s    r)   r*   zMOUNT_Reply.<lambda>V   rR   r+   c                 4    | j         dk    r| j        j        S d S rP   )rM   rN   fh)r2   s    r)   get_filehandlezMOUNT_Reply.get_filehandleZ   s    ;!?%%tr+   )r9   r:   r;   r<   r	   
mountstat3r   r
   r   r   r   r=   r[   r1   r+   r)   rL   rL   H   s        DXq*--Kkkmm[AA''	
 	
 	)Q//1L1LMMN$T 2 222   ('	
 	
K     r+   rL   c                   >    e Zd ZdZ ed e            e          gZdS )UNMOUNT_CallzUNMOUNT Callr"   NrJ   r1   r+   r)   r^   r^   e   s1        DFDDFFD))KKKr+   r^   c                       e Zd ZdZg ZdS )UNMOUNT_ReplyzUNMOUNT ReplyNr@   r1   r+   r)   r`   r`   l   s        DKKKr+   r`   N)scapy.contrib.oncrpcr   r   scapy.packetr   r   scapy.fieldsr   r   r	   r
   r   r   scapy.contrib.nfsr   r\   r    r?   rB   rI   rL   r^   r`   r1   r+   r)   <module>re      s   / . . . . . . . , , , , , , , ,% % % % % % % % % % % % % % % % ) ) ) ) ) )   
    6   *       
       
 C! $ $ $ $ C1 % % % % Hi1q I I I I           &   0 C1 % % % % CA & & & & Hj&A J J J J    6       F   
 CQ ' ' ' ' Ca ( ( ( ( lFa!     r+   