51 lines
1.0 KiB
C
51 lines
1.0 KiB
C
/**
|
|
* @file concord-notifier.h
|
|
* @author Cogmasters
|
|
* @brief Notifier fds listening to pipe, this can be used to propagate events
|
|
*/
|
|
|
|
#ifndef CONCORD_NOTIFIER_H
|
|
#define CONCORD_NOTIFIER_H
|
|
|
|
#include "concord-error.h"
|
|
|
|
/**
|
|
* @brief Open notifier pipe
|
|
*
|
|
* @param pipe The pipe to open for emitting notifications
|
|
* @return CCORDcode on success, CCORD_ERRNO on error
|
|
*/
|
|
CCORDcode ccord_notifier_open(int pipe[2]);
|
|
|
|
/**
|
|
* @brief Close notifier pipe
|
|
*
|
|
* @param pipe The pipe to close
|
|
*/
|
|
void ccord_notifier_close(int pipe[2]);
|
|
|
|
/**
|
|
* @brief Notify fds listening to pipe
|
|
*
|
|
* @param pipe The pipe to notify
|
|
*/
|
|
void ccord_notifier_notify(int pipe[2]);
|
|
|
|
/**
|
|
* @brief Whether or not pipe is currently notifying fds
|
|
*
|
|
* @param pipe The pipe to check
|
|
* @return 1 if notifying, 0 if not
|
|
*/
|
|
_Bool ccord_notifier_is_notifying(int pipe[2]);
|
|
|
|
/**
|
|
* @brief Receive a listener for pipe notifications
|
|
*
|
|
* @param pipe The pipe to listen to
|
|
* @return fd on success, -1 on error
|
|
*/
|
|
int ccord_notifier_listen(const int pipe[2]);
|
|
|
|
#endif /* CONCORD_NOTIFIER_H */
|