@@ -30,9 +30,17 @@ #endif #ifdef __cplusplus extern "C" { #endif -extern void OFOnce(OFOnceControl *control, void (*func)(void)); +/** + * @brief Executes the specified function exactly once in the application's + * lifetime, even in a multi-threaded environment. + * + * @param control An OFOnceControl. This should be a static variable + * preinitialized to `OFOnceControlInitValue`. + * @param function The function to execute once + */ +extern void OFOnce(OFOnceControl *control, void (*function)(void)); #ifdef __cplusplus } #endif