
    b                         S SK Jr  SSKJrJrJrJrJrJ	r	J
r
JrJrJrJrJr  S rSS jr\S S4S jr\S SS 4S	 jrSS
 jrSS jrSS jrSS jrSS jrg)    )	AF_UNSPEC   )__version__bootednotify_listen_fds_listen_fds_with_names_is_fifo
_is_socket_is_socket_inet_is_socket_sockaddr_is_socket_unix_is_mqLISTEN_FDS_STARTc                 H     U R                  5       $ ! [         a    U s $ f = fN)filenoAttributeError)fileobjs    0/usr/lib/python3/dist-packages/systemd/daemon.py_convert_fileobjr      s(    ~~ s    !!Nc                 .    [        U 5      n[        X!5      $ r   )r   r
   r   pathfds      r   is_fifor      s    	'	"BB    c                 0    [        U 5      n[        XAX#5      $ r   )r   r   )r   familytype	listeningr   s        r   	is_socketr#      s    	'	"Bb$22r   c                 2    [        U 5      n[        XQX#U5      $ r   )r   r   )r   r    r!   r"   portr   s         r   is_socket_inetr&      s    	'	"B2t==r   c                 2    [        U 5      n[        XQX#U5      $ )aI  Check socket type, address and/or port, flowinfo, listening state.

Wraps sd_is_socket_inet_sockaddr(3).

`address` is a systemd-style numerical IPv4 or IPv6 address as used in
ListenStream=. A port may be included after a colon (":").
See systemd.socket(5) for details.

Constants for `family` are defined in the socket module.
)r   r   )r   addressr!   flowinfor"   r   s         r   is_socket_sockaddrr*   "   s     
'	"BrDIFFr   c                 0    [        U 5      n[        XAX#5      $ r   )r   r   )r   r!   r"   r   r   s        r   is_socket_unixr,   0   s    	'	"B2Y55r   c                 .    [        U 5      n[        X!5      $ r   )r   r   r   s      r   is_mqr.   4   s    	'	"B"r   c                 X    [        U 5      n[        [        [        [        U-   5      5      $ )a.  Return a list of socket activated descriptors

Example::

  (in primary window)
  $ systemd-socket-activate -l 2000 python3 -c \
      'from systemd.daemon import listen_fds; print(listen_fds())'
  (in another window)
  $ telnet localhost 2000
  (in primary window)
  ...
  Execing python3 (...)
  [3]
)r   listranger   )unset_environmentnums     r   
listen_fdsr4   8   s(     '
(C&(83(>?@@r   c                 n    [        U 5      n0 n[        SUS   5       H  nUSU-      X#[        -   '   M     U$ )ao  Return a dictionary of socket activated descriptors as {fd: name}

Example::

  (in primary window)
  $ systemd-socket-activate -l 2000 -l 4000 --fdname=2K:4K python3 -c \
      'from systemd.daemon import listen_fds_with_names; print(listen_fds_with_names())'
  (in another window)
  $ telnet localhost 2000
  (in primary window)
  ...
  Execing python3 (...)
  [3]
r   r   )r	   r1   r   )r2   	compositeretvalis       r   listen_fds_with_namesr9   J   sD     ''89IF1il#%.qs^!!" $Mr   r   )r   r   r   )r   r   N)T)socketr   
_AF_UNSPEC_daemonr   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r#   r&   r*   r,   r.   r4   r9    r   r   <module>r>      s_    *( ( ( ( )qB 3 $.A! >G6A$r   