holo-client-c/src/future.h (16 lines of code) (raw):

#ifndef _FUTURE_H_ #define _FUTURE_H_ #include <pthread.h> #include <stdbool.h> typedef struct _Future { bool completed; void* retVal; char* errMsg; pthread_mutex_t* mutex; pthread_cond_t* cond; } Future; Future* create_future(); void destroy_future(Future*); void complete_future(Future*, void*); void* get_future_result(Future*); #endif