|  | #ifndef FSMONITOR_IPC_H | 
|  | #define FSMONITOR_IPC_H | 
|  |  | 
|  | #include "simple-ipc.h" | 
|  |  | 
|  | /* | 
|  | * Returns true if built-in file system monitor daemon is defined | 
|  | * for this platform. | 
|  | */ | 
|  | int fsmonitor_ipc__is_supported(void); | 
|  |  | 
|  | /* | 
|  | * Returns the pathname to the IPC named pipe or Unix domain socket | 
|  | * where a `git-fsmonitor--daemon` process will listen.  This is a | 
|  | * per-worktree value. | 
|  | * | 
|  | * Returns NULL if the daemon is not supported on this platform. | 
|  | */ | 
|  | const char *fsmonitor_ipc__get_path(void); | 
|  |  | 
|  | /* | 
|  | * Try to determine whether there is a `git-fsmonitor--daemon` process | 
|  | * listening on the IPC pipe/socket. | 
|  | */ | 
|  | enum ipc_active_state fsmonitor_ipc__get_state(void); | 
|  |  | 
|  | /* | 
|  | * Connect to a `git-fsmonitor--daemon` process via simple-ipc | 
|  | * and ask for the set of changed files since the given token. | 
|  | * | 
|  | * Spawn a daemon process in the background if necessary. | 
|  | * | 
|  | * Returns -1 on error; 0 on success. | 
|  | */ | 
|  | int fsmonitor_ipc__send_query(const char *since_token, | 
|  | struct strbuf *answer); | 
|  |  | 
|  | /* | 
|  | * Connect to a `git-fsmonitor--daemon` process via simple-ipc and | 
|  | * send a command verb.  If no daemon is available, we DO NOT try to | 
|  | * start one. | 
|  | * | 
|  | * Returns -1 on error; 0 on success. | 
|  | */ | 
|  | int fsmonitor_ipc__send_command(const char *command, | 
|  | struct strbuf *answer); | 
|  |  | 
|  | #endif /* FSMONITOR_IPC_H */ |