a
    kÄ#d^  ã                   @   sê  d dl mZmZmZ d dlmZmZ d dl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„ deƒZG dd„ deƒZG dd„ deƒZeeedddd� eeed d� eeedd� G dd„ deƒZG dd„ deƒZeeeddd d� eeed d� eeedd� G d!d"„ d"eƒZG d#d$„ d$eƒZeeeddd%d� eeed d� eeedd� G d&d'„ d'eƒZG d(d)„ d)eƒZeeedddd� eeed d� eeedd� G d*d+„ d+eƒZG d,d-„ d-eƒZeeeddd.d� eeed d� eeedd� G d/d0„ d0eƒZG d1d2„ d2eƒZeeeddd3d� eeed d� eeedd� G d4d5„ d5eƒZG d6d7„ d7eƒZeeeddd8d� eeed d� eeedd� G d9d:„ d:eƒZG d;d<„ d<eƒZ eeedddd� eeed d� eee dd� d=S )>é    )ÚRPCÚRPC_CallÚObject_Name)ÚPacketÚbind_layers)ÚIntFieldÚStrLenFieldÚ	LongFieldÚPacketFieldÚIntEnumField)ÚFile_ObjectZNLM4_GRANTEDZNLM4_DENIEDZNLM4_DENIED_NOLOCKSZNLM4_BLOCKEDZNLM4_DENIED_GRACE_PERIODZNLM4_DEADLCKZ	NLM4_ROFSZNLM4_STALE_FHZ	NLM4_FBIGZNLM4_FAILED)
r   é   é   é   é   é   é   é   é   é	   c                   @   sN   e Zd ZdZeddƒedddd„ d�ed	d
dd„ d�gZddd„Zdd„ ZdS )ÚNLM4_CookieÚCookieÚlengthr   ÚcontentsÚ c                 C   s   | j S )N©r   ©Zpkt© r   úH/var/www/html/gsl.tools/lib/python3.9/site-packages/scapy/contrib/nlm.pyÚ<lambda>!   ó    zNLM4_Cookie.<lambda>)Zlength_fromÚfillr    c                 C   s   d| j  d S )Nr   r   r   r   r   r   r   "   r    Nc                 C   sB   |d u rt |ƒ}|d u r,ddt |ƒ d  }|| _|| _|| _d S )Nó    r   )Úlenr   r   r!   )ÚselfÚcr   r!   r   r   r   Úset%   s    zNLM4_Cookie.setc                 C   s   d|fS )Nr   r   )r$   Úsr   r   r   Úextract_padding.   s    zNLM4_Cookie.extract_padding)NN)	Ú__name__Ú
__module__Ú__qualname__Únamer   r   Úfields_descr&   r(   r   r   r   r   r      s   ý
	r   c                   @   sd   e Zd ZdZedeƒ eƒedeƒ eƒedeƒ eƒedeƒ eƒeddƒeddƒe	d	dd
ddœƒgZ
dS )Ú
SHARE_Callz
SHARE CallÚcookieÚcallerÚ
filehandleÚownerÚmoder   ÚaccessÚreclaimÚNOÚYES©r   r   N©r)   r*   r+   r,   r
   r   r   r   r   r   r-   r   r   r   r   r.   2   s   ùr.   c                   @   s2   e Zd ZdZedeƒ eƒeddeƒeddƒgZ	dS )ÚSHARE_ReplyzSHARE Replyr/   Ústatusr   ÚsequenceN©
r)   r*   r+   r,   r
   r   r   Ú
nlm4_statsr   r-   r   r   r   r   r:   ?   s
   
ýr:   iµ† r   é   )ÚprogramZpversionZ	procedure)Úmtyper   c                   @   sd   e Zd ZdZedeƒ eƒedeƒ eƒedeƒ eƒedeƒ eƒeddƒeddƒe	d	dd
ddœƒgZ
dS )ÚUNSHARE_CallúUNSHARE Replyr/   r0   r1   r2   r3   r   r4   r5   r6   r7   r8   Nr9   r   r   r   r   rB   M   s   ùrB   c                   @   s2   e Zd ZdZedeƒ eƒeddeƒeddƒgZ	dS )ÚUNSHARE_ReplyrC   r/   r;   r   r<   Nr=   r   r   r   r   rD   Z   s
   
ýrD   é   c                   @   sŒ   e Zd ZdZedeƒ eƒedddddœƒedddddœƒed	eƒ eƒed
eƒ eƒedeƒ eƒe	ddƒe
ddƒe
ddƒe	ddƒe	ddƒgZdS )Ú	LOCK_Callz	LOCK Callr/   Úblockr   r6   r7   r8   Ú	exclusiver0   r1   r2   ÚsvidÚl_offsetÚl_lenr5   ÚstateN©r)   r*   r+   r,   r
   r   r   r   r   r   r	   r-   r   r   r   r   rF   j   s   õrF   c                   @   s*   e Zd ZdZedeƒ eƒeddeƒgZdS )Ú
LOCK_Replyz
LOCK Replyr/   r;   r   N©	r)   r*   r+   r,   r
   r   r   r>   r-   r   r   r   r   rN   {   s   
þrN   r   c                	   @   s\   e Zd ZdZedeƒ eƒedeƒ eƒedeƒ eƒedeƒ eƒeddƒe	ddƒe	d	dƒgZ
d
S )ÚUNLOCK_CallzUNLOCK Callr/   r0   r1   r2   rI   r   rJ   rK   N)r)   r*   r+   r,   r
   r   r   r   r   r	   r-   r   r   r   r   rP   ˆ   s   ùrP   c                   @   s*   e Zd ZdZedeƒ eƒeddeƒgZdS )ÚUNLOCK_ReplyzUNLOCK Replyr/   r;   r   NrO   r   r   r   r   rQ   •   s   
þrQ   c                
   @   sl   e Zd ZdZedeƒ eƒedddddœƒedeƒ eƒed	eƒ eƒed
eƒ eƒe	ddƒe
ddƒe
ddƒgZdS )ÚGRANTED_MSG_CallzGRANTED_MSG Callr/   rH   r   r6   r7   r8   r0   r1   r2   rI   rJ   rK   NrM   r   r   r   r   rR   ¢   s   ørR   c                   @   s   e Zd ZdZg ZdS )ÚGRANTED_MSG_ReplyzGRANTED_MSG ReplyN©r)   r*   r+   r,   r-   r   r   r   r   rS   °   s   rS   é
   c                   @   s*   e Zd ZdZedeƒ eƒeddeƒgZdS )ÚGRANTED_RES_CallzGRANTED_RES Callr/   r;   r   NrO   r   r   r   r   rV   ¼   s   
þrV   c                   @   s   e Zd ZdZg ZdS )ÚGRANTED_RES_ReplyzGRANTED_RES ReplyNrT   r   r   r   r   rW   Ä   s   rW   é   c                   @   s|   e Zd ZdZedeƒ eƒedddddœƒedddddœƒed	eƒ eƒed
eƒ eƒedeƒ eƒe	ddƒe
ddƒe
ddƒg	ZdS )ÚCANCEL_CallzCANCEL Callr/   rG   r   r6   r7   r8   rH   r0   r1   r2   rI   rJ   rK   NrM   r   r   r   r   rY   Ð   s   ÷rY   c                   @   s*   e Zd ZdZedeƒ eƒeddeƒgZdS )ÚCANCEL_ReplyzCANCEL Replyr/   r;   r   NrO   r   r   r   r   rZ   ß   s   
þrZ   r   c                
   @   sl   e Zd ZdZedeƒ eƒedddddœƒedeƒ eƒed	eƒ eƒed
eƒ eƒe	ddƒe
ddƒe
ddƒgZdS )Ú	TEST_Callz	TEST Callr/   rH   r   r6   r7   r8   r0   r1   r2   rI   rJ   rK   NrM   r   r   r   r   r[   ì   s   ør[   c                   @   s*   e Zd ZdZedeƒ eƒeddeƒgZdS )Ú
TEST_Replyz
TEST Replyr/   r;   r   NrO   r   r   r   r   r\   ú   s   
þr\   N)!Zscapy.contrib.oncrpcr   r   r   Zscapy.packetr   r   Zscapy.fieldsr   r   r	   r
   r   Zscapy.contrib.nfsr   r>   r   r.   r:   rB   rD   rF   rN   rP   rQ   rR   rS   rV   rW   rY   rZ   r[   r\   r   r   r   r   Ú<module>	   sz   ö		
ÿ
ÿ
ÿ