#ifndef _LUNA_H
#define _LUNA_H

#include <bits/macros.h>
#include <sys/types.h>

#ifdef __cplusplus
extern "C"
{
#endif

    /* Returns the current program's thread identifier. */
    pid_t gettid(void);

    /* Sleeps for ms milliseconds. */
    unsigned int msleep(unsigned int ms);

    /* Prints a message to standard error and aborts the program. */
    __lc_noreturn void __luna_abort(const char* message);

#ifdef __cplusplus
}
#endif

#define NOT_IMPLEMENTED(message) __luna_abort("not implemented: " message "\n")

#endif