1 from ._daemon import (__version__,
11 from socket import AF_UNSPEC as _AF_UNSPEC
13 def _convert_fileobj(fileobj):
15 return fileobj.fileno()
16 except AttributeError:
19 def is_fifo(fileobj, path=None):
20 fd = _convert_fileobj(fileobj)
21 return _is_fifo(fd, path)
23 def is_socket(fileobj, family=_AF_UNSPEC, type=0, listening=-1):
24 fd = _convert_fileobj(fileobj)
25 return _is_socket(fd, family, type, listening)
27 def is_socket_inet(fileobj, family=_AF_UNSPEC, type=0, listening=-1, port=0):
28 fd = _convert_fileobj(fileobj)
29 return _is_socket_inet(fd, family, type, listening)
31 def is_socket_unix(fileobj, type=0, listening=-1, path=None):
32 fd = _convert_fileobj(fileobj)
33 return _is_socket_unix(fd, type, listening, path)
35 def is_mq(fileobj, path=None):
36 fd = _convert_fileobj(fileobj)
37 return _is_mq(fd, path)
39 def listen_fds(unset_environment=True):
40 """Return a list of socket activated descriptors
45 $ systemd-activate -l 2000 python3 -c \\
46 'from systemd.daemon import listen_fds; print(listen_fds())'
48 $ telnet localhost 2000
54 num = _listen_fds(unset_environment)
55 return list(range(LISTEN_FDS_START, LISTEN_FDS_START + num))