2022-03-25 21:02:46 +03:00
|
|
|
#ifndef FSMONITOR_SETTINGS_H
|
|
|
|
#define FSMONITOR_SETTINGS_H
|
|
|
|
|
|
|
|
struct repository;
|
|
|
|
|
|
|
|
enum fsmonitor_mode {
|
2022-05-27 00:46:58 +03:00
|
|
|
FSMONITOR_MODE_INCOMPATIBLE = -1, /* see _reason */
|
2022-03-25 21:02:46 +03:00
|
|
|
FSMONITOR_MODE_DISABLED = 0,
|
|
|
|
FSMONITOR_MODE_HOOK = 1, /* core.fsmonitor=<hook_path> */
|
|
|
|
FSMONITOR_MODE_IPC = 2, /* core.fsmonitor=<true> */
|
|
|
|
};
|
|
|
|
|
2022-05-27 00:46:58 +03:00
|
|
|
/*
|
|
|
|
* Incompatibility reasons.
|
|
|
|
*/
|
|
|
|
enum fsmonitor_reason {
|
|
|
|
FSMONITOR_REASON_UNTESTED = 0,
|
|
|
|
FSMONITOR_REASON_OK, /* no incompatibility or when disabled */
|
|
|
|
FSMONITOR_REASON_BARE,
|
|
|
|
};
|
|
|
|
|
2022-03-25 21:02:46 +03:00
|
|
|
void fsm_settings__set_ipc(struct repository *r);
|
|
|
|
void fsm_settings__set_hook(struct repository *r, const char *path);
|
|
|
|
void fsm_settings__set_disabled(struct repository *r);
|
2022-05-27 00:46:58 +03:00
|
|
|
void fsm_settings__set_incompatible(struct repository *r,
|
|
|
|
enum fsmonitor_reason reason);
|
2022-03-25 21:02:46 +03:00
|
|
|
|
|
|
|
enum fsmonitor_mode fsm_settings__get_mode(struct repository *r);
|
|
|
|
const char *fsm_settings__get_hook_path(struct repository *r);
|
|
|
|
|
2022-05-27 00:46:58 +03:00
|
|
|
enum fsmonitor_reason fsm_settings__get_reason(struct repository *r);
|
|
|
|
char *fsm_settings__get_incompatible_msg(const struct repository *r,
|
|
|
|
enum fsmonitor_reason reason);
|
|
|
|
|
2022-03-25 21:02:46 +03:00
|
|
|
struct fsmonitor_settings;
|
|
|
|
|
|
|
|
#endif /* FSMONITOR_SETTINGS_H */
|