File: //usr/lib/python3/dist-packages/twisted/internet/__pycache__/unix.cpython-38.pyc
U
��W[�U � @ s d Z ddlmZmZ ddlZddlZddlZddlZddlm Z m
Z
mZmZm
Z
mZ ddlmZmZmZ eed�szed��ddlmZmZmZmZmZmZ dd lmZmZ dd
lmZm Z m!Z!m"Z" ddl#m$Z$ ddl%m&Z& dd
l'm(Z( zddlm)Z) W n ek
�r dZ)Y nX dd� Z*eej+�G dd� de,��Z-G dd� de,�Z.e)�rPe-Z-ne.Z-G dd� de-ej/�Z/dd� Z0G dd� de,�Z1G dd� de1ej2�Z2G dd� de-ej3�Z4G dd � d ej5�Z6eej7�G d!d"� d"e1ej2��Z8eej9feej:��� G d#d$� d$e8��Z;dS )%z�
UNIX socket support for Twisted.
End users shouldn't use this module directly - use the reactor APIs instead.
Maintainer: Itamar Shtull-Trauring
� )�division�absolute_importN)�EINTR�EMSGSIZE�EAGAIN�EWOULDBLOCK�ECONNREFUSED�ENOBUFS)�implementer�implementer_only�
implementedBy�AF_UNIXz+UNIX sockets not supported on this platform)�main�base�tcp�udp�error�
interfaces)�protocol�address)�lockfile�log�reflect�failure)�_coerceToFilesystemEncoding)�untilConcludes)�
lazyByteSlice)�sendmsgc C s t �d| �}tjtj|fgS )zh
Pack an integer into an ancillary data structure suitable for use with
L{sendmsg.sendmsg}.
�i)�structZpack�socket�
SOL_SOCKETr �
SCM_RIGHTS)�fdZpacked� r$ �7/usr/lib/python3/dist-packages/twisted/internet/unix.py�_ancillaryDescriptor) s r&