Can I use POSIX system calls in Haiku?


I’m new to Haiku and I was wondering if I can use the POSIX functions read, write, pipe, fork, mmap, etc when making Haiku apps. If not, what are the alternatives to those functions in the Haiku API? I can’t find anything in the docs.

Your help would be much appreciated

1 Like

Those functions should work, as Haiku is POSIX compliant.


And if any POSIX function is missing or don’t behave on Haiku as specified by the OpenGroup, feel free to file bug ticket, as being POSIX compliant is really a major portability point for Haiku project.

Just keep in mind that being compliant with POSIX doesn’t means being compliant with Linux implementation of the POSIX specs. There are cases where Linux extends POSIX specs to offer specific cases supports which are not part of POSIX specifications. In such situation, Haiku’s implementation often don’t behaves like one will expect it does on Linux and just stays straight to what POSIX says.

When it make senses, though, we may add or accept patches to add extra support for Linux (or BSD…) specific behaviors.

1 Like