File: //usr/lib/python3/dist-packages/mercurial/pure/__pycache__/osutil.cpython-310.pyc
o
�]LbC% � @ s� d dl mZmZ d dlZd dlZd dlZd dlZd dlZddl m
Z
ddlmZm Z dd� Z
d+d d
�Ze js�eZdZejZe j�d�rMejZejZejZneZeZejZG d
d� dej�ZG dd� dej�ZG dd� dej�Zej ej!�"d�dd�Z#e
e#dd�Z$e$r�e
edej%�e$_&eje�'e�ejfe$_(ndd� Z$dd� Z)dd� Z*dS d dl+Z+ej,j-Z.ej/Z0ej1 Z2Z3ej4Z5e5d�j6Z7dZ8dZ9dZ:dZ;d Z<dZ=d!Z>d"Z?d#Z@d ZAdZBd$ZCd%ZDd&ZEe2e0e0ej4e0e0e5ge.jF_(e5e.jF_&d'd(� ZGG d)d*� d*eH�ZdS ),� )�absolute_import�divisionN� )�getattr)�encoding�pycompatc C st t �| �rt jS t �| �rt jS t �| �rt jS t �| �r t jS t � | �r(t j
S t �| �r0t jS t �
| �r8t jS | S �N)�statmod�S_ISREG�S_IFREG�S_ISDIR�S_IFDIR�S_ISLNK�S_IFLNK�S_ISBLK�S_IFBLK�S_ISCHR�S_IFCHR�S_ISFIFO�S_IFIFO�S_ISSOCK�S_IFSOCK)�mode� r �7/usr/lib/python3/dist-packages/mercurial/pure/osutil.py�
_mode_to_kind s
r Fc C s� g }| }|� tj�s|tj7 }t�| �}|�� |D ]/}t�|| �}||kr1t�|j �r1g S |r?|�
|t|j �|f� q|�
|t|j �f� q|S )a listdir(path, stat=False) -> list_of_tuples
Return a sorted list containing information about the entries
in the directory.
If stat is True, each element is a 3-tuple:
(name, type, stat object)
Otherwise, each element is a 2-tuple:
(name, type)
)�endswithr �ossep�os�listdir�sort�lstatr r �st_mode�appendr )�path�stat�skip�result�prefix�names�fn�str r r r ) s
r � s linuxc @ s e Zd ZdejfdejfgZdS )�_iovec�iov_base�iov_lenN)�__name__�
__module__�__qualname__�ctypes�c_void_p�c_size_t�_fields_r r r r r- Y s �r- c @ sF e Zd Zdejfdefde�e�fdefdejfde fdej
fgZdS ) �_msghdr�msg_name�msg_namelen�msg_iov�
msg_iovlen�msg_control�msg_controllen� msg_flagsN)r0 r1 r2 r3 r4 �
_socklen_t�POINTERr- �
_msg_iovlen_t�_msg_controllen_t�c_intr6 r r r r r7 _ s �r7 c @ s2 e Zd Zdefdejfdejfdejd fgZdS )�_cmsghdr�cmsg_len�
cmsg_level� cmsg_type� cmsg_datar N)r0 r1 r2 �_cmsg_len_tr3 rC �c_ubyter6 r r r r rD j s �rD �cT)� use_errno�recvmsg� c_ssize_tc C s t d��)Ns unsupported platform)�NotImplementedError)�sockfd�msg�flagsr r r �_recvmsg} s rS c C s. | j t�t�k r
d S t�| jt�t��}|jS r )r= r3 �sizeofrD �castr<