
    j                    *   U d Z ddlmZ ddlZddlZddlZddlmZmZm	Z	 ddl
mZ dZded<    eej                  ej                   ej"                  ej$                  f      Zded	<    G d
 de      Z ej*                  dd      ZddZ e       ZddZy)zFStrict Linux descriptor-link primitive for unnamed marker publication.    )annotationsN)FinalProtocolcast)$WeeklyOperationsPlatformNotSupportedi   r   AT_EMPTY_PATH_UNSUPPORTEDc                  *    e Zd ZU ded<   ded<   ddZy)_LinkAtzotuple[type[ctypes.c_int], type[ctypes.c_char_p], type[ctypes.c_int], type[ctypes.c_char_p], type[ctypes.c_int]]argtypesztype[ctypes.c_int]restypec                     y N )selfsourceold_path	directorynew_pathflagss         /home/cube/projects/richard/traning coach/task-12-independent-verification-r9/build/hermes-full/dualcoach/profile/checkin_cli/weekly_operations_link.py__call__z_LinkAt.__call__   s    jm    N)r   intr   bytesr   r   r   r   r   r   returnr   )__name__
__module____qualname____annotations__r   r   r   r   r   r      s    }}mr   r   T)	use_errnoc                 L   	 t        t        t        t        t        j                              } t        j                  t        j                  t        j                  t        j                  t        j                  f| _	        t        j                  | _
        | S # t
        $ r Y y w xY wr   )r   r   object_LIBClinkatAttributeErrorctypesc_intc_char_pr   r   )links    r   _load_linkatr+      sm    GT&%,,78 \\6??FLL&//SYS_S_`DM<<DLK	  s   ,B 	B#"B#c                p   t         t        d      t        | d|t        j                  |      t              }|dk(  ryt        j                         }|t        j                  k(  r t        |t        j                  |      |      |t        v rt        d      t        |t        j                  |      |      )z=Link one O_TMPFILE descriptor into an absent directory entry.Nz*descriptor link publication is unsupportedr   r   )_LINKATr   osfsencoder   r'   	get_errnoerrnoEEXISTFileExistsErrorstrerrorr	   OSError)r   r   nameresultnumbers        r   link_unnamed_filer9   %   s    23_``VS)R[[->NF{Ffbkk&&94@@23_``
&"++f-t
44r   )r   z_LinkAt | None)r   r   r   r   r6   strr   None)__doc__
__future__r   r'   r1   r.   typingr   r   r   checkin_cli.weekly_operationsr   r   r    	frozensetENOSYS
EOPNOTSUPPEINVALEPERMr	   r   CDLLr$   r+   r-   r9   r   r   r   <module>rF      s    L "   	 ( ( Nu u/?/?u{{ [\e \nh n 	DD) .5r   