title: Meaning of double underscore in the beginning
body: <p>In the standard library (glibc) I see functions defined with leading double underscores, such as <code>__mmap</code> in <code>sys/mman.h</code>. What is the purpose? And how can we still call a function <code>mmap</code> which doesn't seem to be declared anywhere. I mean we include <code>sys/mman.h</code> for that, but <code>sys/mman.h</code> doesn't declare <code>mmap</code>, it declares only <code>__mmap</code>.</p>