02c31f486f
GitOrigin-RevId: 73c666dbdd72811b151a48504716ed4aee6af1a0
54 lines
1.1 KiB
C
54 lines
1.1 KiB
C
//
|
|
// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2019
|
|
//
|
|
// 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
|
|
#elif TD_FREEBSD
|
|
#define TD_POLL_KQUEUE 1
|
|
#define TD_EVENTFD_BSD 1
|
|
#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
|
|
#elif TD_TIZEN || TD_LINUX || TD_DARWIN
|
|
#define TD_THREAD_PTHREAD 1
|
|
#else
|
|
#define TD_THREAD_STL 1
|
|
#endif
|
|
|
|
#if TD_LINUX
|
|
#define TD_HAS_MMSG 1
|
|
#endif
|
|
|
|
// clang-format on
|