// Because of the massive pain that is libnl, this can't go into the socket
// portability header as you can't include <linux/if.h> and <net/if.h> in
// the same translation unit without getting errors -_-...
-#include <iphlpapi.h>
-#include <ntddndis.h>
+#include <iphlpapi.h> // @manual
+#include <ntddndis.h> // @manual
// Alias the max size of an interface name to what posix expects.
#define IFNAMSIZ IF_NAMESIZE
#endif
#if FOLLY_HAVE_FEATURES_H
-#include <features.h>
+#include <features.h> // @manual
#endif
#ifdef __ANDROID__
-#include <android/api-level.h>
+#include <android/api-level.h> // @manual
#endif
#ifdef __APPLE__
-#include <Availability.h>
+#include <Availability.h> // @manual
#endif
#include <event.h>
#ifdef _MSC_VER
-#include <event2/event_compat.h>
+#include <event2/event_compat.h> // @manual
#include <folly/portability/Fcntl.h>
#endif
#if !defined(USE_JEMALLOC) && !defined(FOLLY_USE_JEMALLOC)
#if defined(__APPLE__) && !defined(FOLLY_HAVE_MALLOC_USABLE_SIZE)
-#include <malloc/malloc.h>
+#include <malloc/malloc.h> // @manual
extern "C" size_t malloc_usable_size(void* ptr) {
return malloc_size(ptr);
#include <errno.h>
#include <fcntl.h>
-#include <event2/util.h>
+#include <event2/util.h> // @manual
-#include <MSWSock.h>
+#include <MSWSock.h> // @manual
#include <folly/ScopeGuard.h>
#include <folly/portability/SysTypes.h>
#include <folly/portability/Windows.h>
-#include <WS2tcpip.h>
+#include <WS2tcpip.h> // @manual
using nfds_t = int;
using sa_family_t = ADDRESS_FAMILY;
#if defined(__APPLE__)
#if __has_include(<crt_externs.h>)
-#include <crt_externs.h>
+#include <crt_externs.h> // @manual
#endif
#endif
#define MEMBARRIER_CMD_QUERY 0
#define MEMBARRIER_CMD_SHARED 1
#elif FOLLY_HAVE_LINUX_MEMBARRIER_H
-#include <linux/membarrier.h>
+#include <linux/membarrier.h> // @manual
#endif
#endif
#include <sys/types.h>
#ifdef _WIN32
-#include <basetsd.h>
+#include <basetsd.h> // @manual
#define HAVE_MODE_T 1
#if !FOLLY_HAVE_CLOCK_GETTIME || FOLLY_FORCE_CLOCK_GETTIME_DEFINITION
#if __MACH__
#include <errno.h>
-#include <mach/mach_init.h>
-#include <mach/mach_port.h>
-#include <mach/mach_time.h>
-#include <mach/mach_types.h>
-#include <mach/task.h>
-#include <mach/thread_act.h>
-#include <mach/vm_map.h>
+#include <mach/mach_init.h> // @manual
+#include <mach/mach_port.h> // @manual
+#include <mach/mach_time.h> // @manual
+#include <mach/mach_types.h> // @manual
+#include <mach/task.h> // @manual
+#include <mach/thread_act.h> // @manual
+#include <mach/vm_map.h> // @manual
static std::chrono::nanoseconds time_value_to_ns(time_value_t t) {
return std::chrono::seconds(t.seconds) +
// Including ntdef.h requires building as a driver, but all we want
// is a status code, but we need NTSTATUS defined for that. Luckily
// bcrypt.h also defines NTSTATUS, so we'll use that one instead.
-#include <bcrypt.h>
-#include <ntstatus.h>
+#include <bcrypt.h> // @manual
+#include <ntstatus.h> // @manual
// Generic wrapper for the p* family of functions.
template <class F, class... Args>
#include <cstdint>
-#include <sys/locking.h>
+#include <sys/locking.h> // @manual
#include <folly/portability/SysTypes.h>
#ifndef __STDC__
/* nolint */
#define __STDC__ 1
-#include <direct.h> // nolint
-#include <io.h> // nolint
+#include <direct.h> // @manual nolint
+#include <io.h> // @manual nolint
#undef __STDC__
#else
-#include <direct.h> // nolint
-#include <io.h> // nolint
+#include <direct.h> // @manual nolint
+#include <io.h> // @manual nolint
#endif
#if defined(min) || defined(max)
#define NOMINMAX 1
#endif
-#include <WinSock2.h>
-#include <Windows.h>
+#include <WinSock2.h> // @manual
+#include <Windows.h> // @manual
#ifdef CAL_GREGORIAN
#undef CAL_GREGORIAN