git: 7d09faf2fbc5 - main - sysutils/fluent-bit: update to 2.0.9

From: Palle Girgensohn <girgen_at_FreeBSD.org>
Date: Tue, 07 Feb 2023 17:35:18 UTC
The branch main has been updated by girgen:

URL: https://cgit.FreeBSD.org/ports/commit/?id=7d09faf2fbc558c3157f71159f31be312009ada3

commit 7d09faf2fbc558c3157f71159f31be312009ada3
Author:     Palle Girgensohn <girgen@FreeBSD.org>
AuthorDate: 2023-02-07 17:25:38 +0000
Commit:     Palle Girgensohn <girgen@FreeBSD.org>
CommitDate: 2023-02-07 17:34:58 +0000

    sysutils/fluent-bit: update to 2.0.9
    
    Use FreeBSD implementation from WAMR, commit 2953614cb, that is a
    dependency for fluent-bit. [1]
    
    [1] https://github.com/bytecodealliance/wasm-micro-runtime/issues/1661
    
    Leave luajit off until I find a way for the port not to install its own
    luajit rather than using the FreeBSD port for it.
    
    Release notes:  https://fluentbit.io/announcements/
---
 sysutils/fluent-bit/Makefile                       |   4 +-
 sysutils/fluent-bit/distinfo                       |   6 +-
 .../files/patch-lib__luajit__src__Makefile         |   4 +-
 .../files/patch-lib__wasm_micro_runtime_WAMR       | 366 +++++++++++++++++++++
 sysutils/fluent-bit/pkg-plist                      |  17 +-
 5 files changed, 388 insertions(+), 9 deletions(-)

diff --git a/sysutils/fluent-bit/Makefile b/sysutils/fluent-bit/Makefile
index 745c71b4631d..9ede90a03bdb 100644
--- a/sysutils/fluent-bit/Makefile
+++ b/sysutils/fluent-bit/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	fluent-bit
 DISTVERSIONPREFIX=	v
-DISTVERSION=	1.9.9
+DISTVERSION=	2.0.9
 CATEGORIES=	sysutils
 
 MAINTAINER=	girgen@FreeBSD.org
@@ -22,7 +22,7 @@ OPTIONS_DEFAULT=	SSL
 
 LIB_DEPENDS=		libyaml.so:textproc/libyaml
 LDFLAGS+=		-lexecinfo -L${LOCALBASE}/lib
-CMAKE_ARGS=		-DFLB_DEBUG=Off -DFLB_TRACE=Off
+CMAKE_ARGS=		-DFLB_DEBUG=Off -DFLB_TRACE=Off -DFLB_LUAJIT=Off
 CFLAGS+=		-I${LOCALBASE}/include
 
 SSL_USES=		ssl
diff --git a/sysutils/fluent-bit/distinfo b/sysutils/fluent-bit/distinfo
index d691b9a49cf9..9c33dab6b03a 100644
--- a/sysutils/fluent-bit/distinfo
+++ b/sysutils/fluent-bit/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1664792786
-SHA256 (fluent-fluent-bit-v1.9.9_GH0.tar.gz) = d58dc649f6b4e2433711666ae68c8f443c0542801eb6241b21d245fb421daced
-SIZE (fluent-fluent-bit-v1.9.9_GH0.tar.gz) = 20501970
+TIMESTAMP = 1675688824
+SHA256 (fluent-fluent-bit-v2.0.9_GH0.tar.gz) = 393ad4a6ced48c327607653d610ef273843085a17b6e5c8013877abdf31e6945
+SIZE (fluent-fluent-bit-v2.0.9_GH0.tar.gz) = 22404154
diff --git a/sysutils/fluent-bit/files/patch-lib__luajit__src__Makefile b/sysutils/fluent-bit/files/patch-lib__luajit__src__Makefile
index f22ee9bdf593..b03f251ccc8f 100644
--- a/sysutils/fluent-bit/files/patch-lib__luajit__src__Makefile
+++ b/sysutils/fluent-bit/files/patch-lib__luajit__src__Makefile
@@ -1,5 +1,5 @@
---- lib/luajit-2.1.0-1e66d0f/src/Makefile.orig	2021-08-10 08:16:04.406803000 +0200
-+++ lib/luajit-2.1.0-1e66d0f/src/Makefile	2021-08-10 08:16:22.458940000 +0200
+--- lib/luajit-3065c9/src/Makefile.orig	2022-10-27 09:22:06.694200000 +0200
++++ lib/luajit-3065c9/src/Makefile	2022-10-27 09:22:37.928286000 +0200
 @@ -24,10 +24,10 @@
  # removing the '#' in front of them. Make sure you force a full recompile
  # with "make clean", followed by "make" if you change any options.
diff --git a/sysutils/fluent-bit/files/patch-lib__wasm_micro_runtime_WAMR b/sysutils/fluent-bit/files/patch-lib__wasm_micro_runtime_WAMR
new file mode 100644
index 000000000000..7e4528d1e571
--- /dev/null
+++ b/sysutils/fluent-bit/files/patch-lib__wasm_micro_runtime_WAMR
@@ -0,0 +1,366 @@
+--- lib/wasm-micro-runtime-WAMR-1.1.1/core/shared/platform/freebsd/platform_internal.h.orig	2023-02-06 17:50:39.755820000 +0100
++++ lib/wasm-micro-runtime-WAMR-1.1.1/core/shared/platform/freebsd/platform_internal.h	2023-02-06 17:50:39.756565000 +0100
+@@ -0,0 +1,108 @@
++/*
++ * Copyright (C) 2019 Intel Corporation.  All rights reserved.
++ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
++ */
++
++#ifndef _PLATFORM_INTERNAL_H
++#define _PLATFORM_INTERNAL_H
++
++#include <inttypes.h>
++#include <stdbool.h>
++#include <assert.h>
++#include <time.h>
++#include <string.h>
++#include <stdio.h>
++#include <stdlib.h>
++#include <math.h>
++#include <stdarg.h>
++#include <ctype.h>
++#include <pthread.h>
++#include <signal.h>
++#include <semaphore.h>
++#include <limits.h>
++#include <dirent.h>
++#include <fcntl.h>
++#include <unistd.h>
++#include <poll.h>
++#include <sched.h>
++#include <errno.h>
++#include <netinet/in.h>
++#include <sys/types.h>
++#include <sys/socket.h>
++#include <sys/stat.h>
++#include <sys/mman.h>
++#include <sys/time.h>
++#include <sys/uio.h>
++#include <sys/ioctl.h>
++#include <sys/socket.h>
++#include <sys/resource.h>
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++#ifndef BH_PLATFORM_FREEBSD
++#define BH_PLATFORM_FREEBSD
++#endif
++
++#define BH_HAS_DLFCN 1
++
++/* Stack size of applet threads's native part.  */
++#define BH_APPLET_PRESERVED_STACK_SIZE (32 * 1024)
++
++/* Default thread priority */
++#define BH_THREAD_DEFAULT_PRIORITY 0
++
++typedef pthread_t korp_tid;
++typedef pthread_mutex_t korp_mutex;
++typedef pthread_cond_t korp_cond;
++typedef pthread_t korp_thread;
++typedef sem_t korp_sem;
++
++#define OS_THREAD_MUTEX_INITIALIZER PTHREAD_MUTEX_INITIALIZER
++
++#define os_thread_local_attribute __thread
++
++#define bh_socket_t int
++
++#if WASM_DISABLE_HW_BOUND_CHECK == 0
++#if defined(BUILD_TARGET_X86_64) || defined(BUILD_TARGET_AMD_64)            \
++    || defined(BUILD_TARGET_AARCH64) || defined(BUILD_TARGET_RISCV64_LP64D) \
++    || defined(BUILD_TARGET_RISCV64_LP64)
++
++#include <setjmp.h>
++
++#define OS_ENABLE_HW_BOUND_CHECK
++
++typedef jmp_buf korp_jmpbuf;
++
++#define os_setjmp setjmp
++#define os_longjmp longjmp
++#define os_alloca alloca
++
++#define os_getpagesize getpagesize
++
++typedef void (*os_signal_handler)(void *sig_addr);
++
++int
++os_thread_signal_init(os_signal_handler handler);
++
++void
++os_thread_signal_destroy();
++
++bool
++os_thread_signal_inited();
++
++void
++os_signal_unmask();
++
++void
++os_sigreturn();
++#endif /* end of BUILD_TARGET_X86_64/AMD_64/AARCH64/RISCV64 */
++#endif /* end of WASM_DISABLE_HW_BOUND_CHECK */
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* end of _PLATFORM_INTERNAL_H */
+--- lib/wasm-micro-runtime-WAMR-1.1.1/core/shared/platform/freebsd/shared_platform.cmake.orig	2023-02-06 17:50:39.756698000 +0100
++++ lib/wasm-micro-runtime-WAMR-1.1.1/core/shared/platform/freebsd/shared_platform.cmake	2023-02-06 17:50:39.756932000 +0100
+@@ -0,0 +1,18 @@
++# Copyright (C) 2019 Intel Corporation.  All rights reserved.
++# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
++
++set (PLATFORM_SHARED_DIR ${CMAKE_CURRENT_LIST_DIR})
++
++add_definitions(-DBH_PLATFORM_FREEBSD)
++
++include_directories(${PLATFORM_SHARED_DIR})
++include_directories(${PLATFORM_SHARED_DIR}/../include)
++
++include (${CMAKE_CURRENT_LIST_DIR}/../common/posix/platform_api_posix.cmake)
++
++file (GLOB_RECURSE source_all ${PLATFORM_SHARED_DIR}/*.c)
++
++set (PLATFORM_SHARED_SOURCE ${source_all} ${PLATFORM_COMMON_POSIX_SOURCE})
++
++file (GLOB header ${PLATFORM_SHARED_DIR}/../include/*.h)
++LIST (APPEND RUNTIME_LIB_HEADER_LIST ${header})
+--- lib/wasm-micro-runtime-WAMR-1.1.1/core/shared/platform/freebsd/platform_init.c.orig	2023-02-06 17:50:39.755166000 +0100
++++ lib/wasm-micro-runtime-WAMR-1.1.1/core/shared/platform/freebsd/platform_init.c	2023-02-06 17:50:39.755673000 +0100
+@@ -0,0 +1,43 @@
++/*
++ * Copyright (C) 2019 Intel Corporation.  All rights reserved.
++ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
++ */
++
++#include "platform_api_vmcore.h"
++
++int
++bh_platform_init()
++{
++    return 0;
++}
++
++void
++bh_platform_destroy()
++{}
++
++int
++os_printf(const char *format, ...)
++{
++    int ret = 0;
++    va_list ap;
++
++    va_start(ap, format);
++#ifndef BH_VPRINTF
++    ret += vprintf(format, ap);
++#else
++    ret += BH_VPRINTF(format, ap);
++#endif
++    va_end(ap);
++
++    return ret;
++}
++
++int
++os_vprintf(const char *format, va_list ap)
++{
++#ifndef BH_VPRINTF
++    return vprintf(format, ap);
++#else
++    return BH_VPRINTF(format, ap);
++#endif
++}
+--- lib/wasm-micro-runtime-WAMR-1.1.1/product-mini/platforms/freebsd/main.c.orig	2023-02-06 17:50:39.759486000 +0100
++++ lib/wasm-micro-runtime-WAMR-1.1.1/product-mini/platforms/freebsd/main.c	2023-02-06 17:50:39.759658000 +0100
+@@ -0,0 +1,6 @@
++/*
++ * Copyright (C) 2019 Intel Corporation.  All rights reserved.
++ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
++ */
++
++#include "../posix/main.c"
+--- lib/wasm-micro-runtime-WAMR-1.1.1/product-mini/platforms/freebsd/CMakeLists.txt.orig	2023-02-06 17:50:39.757869000 +0100
++++ lib/wasm-micro-runtime-WAMR-1.1.1/product-mini/platforms/freebsd/CMakeLists.txt	2023-02-06 17:50:39.758741000 +0100
+@@ -0,0 +1,132 @@
++# Copyright (C) 2019 Intel Corporation.  All rights reserved.
++# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
++
++cmake_minimum_required (VERSION 2.9)
++
++project (iwasm)
++
++set (WAMR_BUILD_PLATFORM "freebsd")
++
++# Reset default linker flags
++set (CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")
++set (CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "")
++
++# Set WAMR_BUILD_TARGET, currently values supported:
++# "X86_64", "AMD_64", "X86_32", "AARCH64[sub]", "ARM[sub]", "THUMB[sub]",
++# "MIPS", "XTENSA", "RISCV64[sub]", "RISCV32[sub]"
++if (NOT DEFINED WAMR_BUILD_TARGET)
++  if (CMAKE_SYSTEM_PROCESSOR MATCHES "^(arm64|aarch64)")
++    set (WAMR_BUILD_TARGET "AARCH64")
++  elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "riscv64")
++    set (WAMR_BUILD_TARGET "RISCV64")
++  elseif (CMAKE_SIZEOF_VOID_P EQUAL 8)
++    # Build as X86_64 by default in 64-bit platform
++    set (WAMR_BUILD_TARGET "X86_64")
++  elseif (CMAKE_SIZEOF_VOID_P EQUAL 4)
++    # Build as X86_32 by default in 32-bit platform
++    set (WAMR_BUILD_TARGET "X86_32")
++  else ()
++    message(SEND_ERROR "Unsupported build target platform!")
++  endif ()
++endif ()
++
++if (NOT CMAKE_BUILD_TYPE)
++  set(CMAKE_BUILD_TYPE Release)
++endif ()
++
++set(CMAKE_CXX_STANDARD 14)
++
++if (NOT DEFINED WAMR_BUILD_INTERP)
++  # Enable Interpreter by default
++  set (WAMR_BUILD_INTERP 1)
++endif ()
++
++if (NOT DEFINED WAMR_BUILD_AOT)
++  # Enable AOT by default.
++  set (WAMR_BUILD_AOT 1)
++endif ()
++
++if (NOT DEFINED WAMR_BUILD_JIT)
++  # Disable JIT by default.
++  set (WAMR_BUILD_JIT 0)
++endif ()
++
++if (NOT DEFINED WAMR_BUILD_FAST_JIT)
++  # Disable Fast JIT by default
++  set (WAMR_BUILD_FAST_JIT 0)
++endif ()
++
++if (NOT DEFINED WAMR_BUILD_LIBC_BUILTIN)
++  # Enable libc builtin support by default
++  set (WAMR_BUILD_LIBC_BUILTIN 1)
++endif ()
++
++if (NOT DEFINED WAMR_BUILD_LIBC_WASI)
++  # Enable libc wasi support by default
++  set (WAMR_BUILD_LIBC_WASI 1)
++endif ()
++
++if (NOT DEFINED WAMR_BUILD_FAST_INTERP)
++  # Enable fast interpreter
++  set (WAMR_BUILD_FAST_INTERP 1)
++endif ()
++
++if (NOT DEFINED WAMR_BUILD_MULTI_MODULE)
++  # Disable multiple module by default
++  set (WAMR_BUILD_MULTI_MODULE 0)
++endif ()
++
++if (NOT DEFINED WAMR_BUILD_LIB_PTHREAD)
++  # Disable pthread library by default
++  set (WAMR_BUILD_LIB_PTHREAD 0)
++endif ()
++
++if (NOT DEFINED WAMR_BUILD_MINI_LOADER)
++  # Disable wasm mini loader by default
++  set (WAMR_BUILD_MINI_LOADER 0)
++endif ()
++
++if (NOT DEFINED WAMR_BUILD_SIMD)
++  # Enable SIMD by default
++  set (WAMR_BUILD_SIMD 1)
++endif ()
++
++if (NOT DEFINED WAMR_BUILD_DEBUG_INTERP)
++  # Disable Debug feature by default
++  set (WAMR_BUILD_DEBUG_INTERP 0)
++endif ()
++
++if (WAMR_BUILD_DEBUG_INTERP EQUAL 1)
++  set (WAMR_BUILD_FAST_INTERP 0)
++  set (WAMR_BUILD_MINI_LOADER 0)
++  set (WAMR_BUILD_SIMD 0)
++endif ()
++
++set (WAMR_DISABLE_HW_BOUND_CHECK 1)
++
++set (CMAKE_SHARED_LINKER_FLAGS "-Wl")
++set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}")
++
++set (CMAKE_MACOSX_RPATH True)
++
++set (WAMR_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../..)
++
++include (${WAMR_ROOT_DIR}/build-scripts/runtime_lib.cmake)
++add_library(vmlib ${WAMR_RUNTIME_LIB_SOURCE})
++
++include (${SHARED_DIR}/utils/uncommon/shared_uncommon.cmake)
++
++add_executable (iwasm main.c ${UNCOMMON_SHARED_SOURCE})
++
++install (TARGETS iwasm DESTINATION bin)
++
++target_link_libraries (iwasm vmlib ${LLVM_AVAILABLE_LIBS} ${UV_A_LIBS} -lm -ldl -lpthread)
++
++add_library (libiwasm SHARED ${WAMR_RUNTIME_LIB_SOURCE})
++
++install (TARGETS libiwasm DESTINATION lib)
++
++set_target_properties (libiwasm PROPERTIES OUTPUT_NAME iwasm)
++
++target_link_libraries (libiwasm ${LLVM_AVAILABLE_LIBS} ${UV_A_LIBS} -lm -ldl -lpthread)
++
+--- lib/wasm-micro-runtime-WAMR-1.1.1/product-mini/platforms/freebsd/build_llvm.sh.orig	2023-02-06 17:50:39.759198000 +0100
++++ lib/wasm-micro-runtime-WAMR-1.1.1/product-mini/platforms/freebsd/build_llvm.sh	2023-02-06 17:50:39.759370000 +0100
+@@ -0,0 +1,6 @@
++#!/bin/sh
++
++# Copyright (C) 2020 Intel Corporation. All rights reserved.
++# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
++
++/usr/bin/env python3 ../../../build-scripts/build_llvm.py "$@"
+--- lib/wasm-micro-runtime-WAMR-1.1.1/product-mini/platforms/freebsd/build_jit.sh.orig	2023-02-06 17:50:39.758868000 +0100
++++ lib/wasm-micro-runtime-WAMR-1.1.1/product-mini/platforms/freebsd/build_jit.sh	2023-02-06 17:50:39.759076000 +0100
+@@ -0,0 +1,11 @@
++#!/bin/sh
++
++# Copyright (C) 2019 Intel Corporation.  All rights reserved.
++# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
++
++rm -fr build && mkdir build
++cd build
++cmake .. -DWAMR_BUILD_JIT=1
++nproc=$(sysctl -n hw.ncpu)
++make -j ${nproc}
++cd ..
+--- lib/wasm-micro-runtime-WAMR-1.1.1/doc/build_wamr.md.orig	2023-02-01 18:09:22.000000000 +0100
++++ lib/wasm-micro-runtime-WAMR-1.1.1/doc/build_wamr.md	2023-02-06 17:50:39.757713000 +0100
+@@ -610,3 +610,18 @@
+ libvmlib.a ) and an executable binary (*iwasm*) and copy *iwasm* to
+ *build_out*. All original generated files are still under
+ *product-mini/platforms/linux/build*.
++
++FreeBSD
++-------------------------
++First, install the dependent packages:
++```shell
++sudo pkg install gcc cmake wget
++```
++
++Then you can run the following commands to build iwasm with default configurations:
++```shell
++cd product-mini/platforms/freebsd
++mkdir build && cd build
++cmake ..
++make
++```
diff --git a/sysutils/fluent-bit/pkg-plist b/sysutils/fluent-bit/pkg-plist
index d99f310b84b4..d49a0da4d813 100644
--- a/sysutils/fluent-bit/pkg-plist
+++ b/sysutils/fluent-bit/pkg-plist
@@ -11,15 +11,21 @@ include/fluent-bit/flb_base64.h
 include/fluent-bit/flb_bits.h
 include/fluent-bit/flb_bucket_queue.h
 include/fluent-bit/flb_callback.h
+include/fluent-bit/flb_chunk_trace.h
 include/fluent-bit/flb_compat.h
 include/fluent-bit/flb_config.h
 include/fluent-bit/flb_config_format.h
 include/fluent-bit/flb_config_map.h
+include/fluent-bit/flb_connection.h
 include/fluent-bit/flb_coro.h
+include/fluent-bit/flb_crypto.h
+include/fluent-bit/flb_crypto_constants.h
 include/fluent-bit/flb_csv.h
 include/fluent-bit/flb_custom.h
 include/fluent-bit/flb_custom_plugin.h
 include/fluent-bit/flb_dlfcn_win32.h
+include/fluent-bit/flb_downstream.h
+include/fluent-bit/flb_downstream_conn.h
 include/fluent-bit/flb_dump.h
 include/fluent-bit/flb_endian.h
 include/fluent-bit/flb_engine.h
@@ -35,16 +41,20 @@ include/fluent-bit/flb_filter_plugin.h
 include/fluent-bit/flb_fstore.h
 include/fluent-bit/flb_gzip.h
 include/fluent-bit/flb_hash.h
+include/fluent-bit/flb_hash_table.h
 include/fluent-bit/flb_help.h
+include/fluent-bit/flb_hmac.h
 include/fluent-bit/flb_http_client.h
 include/fluent-bit/flb_http_client_debug.h
 include/fluent-bit/flb_http_server.h
 include/fluent-bit/flb_info.h
 include/fluent-bit/flb_input.h
 include/fluent-bit/flb_input_chunk.h
+include/fluent-bit/flb_input_log.h
 include/fluent-bit/flb_input_metric.h
 include/fluent-bit/flb_input_plugin.h
 include/fluent-bit/flb_input_thread.h
+include/fluent-bit/flb_input_trace.h
 include/fluent-bit/flb_intermediate_metric.h
 include/fluent-bit/flb_io.h
 include/fluent-bit/flb_jsmn.h
@@ -79,12 +89,13 @@ include/fluent-bit/flb_ra_key.h
 include/fluent-bit/flb_random.h
 include/fluent-bit/flb_record_accessor.h
 include/fluent-bit/flb_regex.h
+include/fluent-bit/flb_ring_buffer.h
 include/fluent-bit/flb_router.h
 include/fluent-bit/flb_routes_mask.h
 include/fluent-bit/flb_s3_local_buffer.h
 include/fluent-bit/flb_scheduler.h
 include/fluent-bit/flb_sds.h
-include/fluent-bit/flb_sha512.h
+include/fluent-bit/flb_sds_list.h
 include/fluent-bit/flb_signv4.h
 include/fluent-bit/flb_slist.h
 include/fluent-bit/flb_snappy.h
@@ -94,6 +105,7 @@ include/fluent-bit/flb_sqldb.h
 include/fluent-bit/flb_stacktrace.h
 include/fluent-bit/flb_storage.h
 include/fluent-bit/flb_str.h
+include/fluent-bit/flb_stream.h
 include/fluent-bit/flb_strptime.h
 include/fluent-bit/flb_task.h
 include/fluent-bit/flb_task_map.h
@@ -101,7 +113,6 @@ include/fluent-bit/flb_thread_pool.h
 include/fluent-bit/flb_thread_storage.h
 include/fluent-bit/flb_time.h
 include/fluent-bit/flb_time_utils.h
-include/fluent-bit/flb_tls.h
 include/fluent-bit/flb_typecast.h
 include/fluent-bit/flb_unescape.h
 include/fluent-bit/flb_upstream.h
@@ -115,6 +126,8 @@ include/fluent-bit/flb_utils.h
 include/fluent-bit/flb_version.h
 include/fluent-bit/flb_worker.h
 include/fluent-bit/tls/flb_tls.h
+include/fluent-bit/tls/flb_tls_info.h
+include/fluent-bit/wasm/flb_wasm.h
 include/libco.h
 include/monkey/mk_core.h
 include/monkey/mk_core/mk_dep_unistd.h