A modern wrapper for libc with less boilerplate
Go to file
anna 7d1227f435
add limits.h
2021-07-31 01:01:05 +02:00
contrib doc: install doxygen-awesome-css theme 2021-07-26 23:26:14 +02:00
demo error: add errmsg_raw utility 2021-07-30 15:50:35 +02:00
doc doc: use doxygen-awesome theme 2021-07-26 22:58:51 +02:00
include add limits.h 2021-07-31 01:01:05 +02:00
src string: add nstr2i and nstr2u 2021-07-31 00:59:20 +02:00
test add limits.h 2021-07-31 01:01:05 +02:00
.gitmodules doc: use doxygen-awesome theme 2021-07-26 22:58:51 +02:00
CMakeLists.txt doc: use doxygen-awesome theme 2021-07-26 22:58:51 +02:00



libneo is an alternative standard library that wraps around libc. It comes with an entirely refactored API that is easier and safer to use than traditional POSIX. Key features include:

  • Sane(ish), standardized error handling
  • Minimal undefined behavior
  • Significantly less boilerplate
  • Memory safe(ish)
  • Runs on most POSIX compliant systems (tested on FreeBSD and Linux)
  • No Windows support


Please note that this project is still in its early development stage. APIs are subject to arbitrary change without prior notice.


  • A libc implementing at least POSIX.1-2008
  • clang (recommended) or GCC
  • CMake >= 3.14
  • git


libneo is distributed as a static library and can be directly included in a CMake project, e.g. using CMake's FetchContent module:

    GIT_REPOSITORY https://git.bsd.gay/fef/libneo.git

target_link_libraries(${PROJECT_NAME} PRIVATE neo)


Copyright © 2021 Fefie owo@fef.moe

libneo is non-violent software: you may only use, redistribute, and/or modify it under the terms of the CNPLv6+ as found in the LICENSE file or at https://git.pixie.town/thufie/CNPL.

libneo comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. See the CNPLv6+ for details.