2018-12-31 20:04:05 +01:00
|
|
|
//
|
2018-12-31 23:02:34 +01:00
|
|
|
// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2019
|
2018-12-31 20:04:05 +01:00
|
|
|
//
|
|
|
|
// Distributed under the Boost Software License, Version 1.0. (See accompanying
|
|
|
|
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
|
|
//
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "td/utils/port/platform.h"
|
|
|
|
|
|
|
|
// clang-format off
|
|
|
|
|
|
|
|
#if TD_WINDOWS
|
|
|
|
#define TD_PORT_WINDOWS 1
|
|
|
|
#else
|
|
|
|
#define TD_PORT_POSIX 1
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if TD_LINUX || TD_ANDROID || TD_TIZEN
|
|
|
|
#define TD_POLL_EPOLL 1
|
|
|
|
#define TD_EVENTFD_LINUX 1
|
2018-11-02 20:47:20 +01:00
|
|
|
#elif TD_FREEBSD
|
|
|
|
#define TD_POLL_KQUEUE 1
|
|
|
|
#define TD_EVENTFD_BSD 1
|
2018-12-31 20:04:05 +01:00
|
|
|
#elif TD_CYGWIN
|
|
|
|
#define TD_POLL_SELECT 1
|
|
|
|
#define TD_EVENTFD_BSD 1
|
|
|
|
#elif TD_EMSCRIPTEN
|
|
|
|
#define TD_POLL_POLL 1
|
|
|
|
#define TD_EVENTFD_UNSUPPORTED 1
|
|
|
|
#elif TD_DARWIN
|
|
|
|
#define TD_POLL_KQUEUE 1
|
|
|
|
#define TD_EVENTFD_BSD 1
|
|
|
|
#elif TD_WINDOWS
|
|
|
|
#define TD_POLL_WINEVENT 1
|
|
|
|
#define TD_EVENTFD_WINDOWS 1
|
|
|
|
#else
|
|
|
|
#error "Poll's implementation is not defined"
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if TD_EMSCRIPTEN
|
|
|
|
#define TD_THREAD_UNSUPPORTED 1
|
2019-07-06 13:29:15 +02:00
|
|
|
#elif TD_TIZEN || TD_LINUX || TD_DARWIN
|
2018-12-31 20:04:05 +01:00
|
|
|
#define TD_THREAD_PTHREAD 1
|
|
|
|
#else
|
|
|
|
#define TD_THREAD_STL 1
|
|
|
|
#endif
|
|
|
|
|
2018-08-13 19:15:09 +02:00
|
|
|
#if TD_LINUX
|
|
|
|
#define TD_HAS_MMSG 1
|
|
|
|
#endif
|
|
|
|
|
2018-12-31 20:04:05 +01:00
|
|
|
// clang-format on
|