Files
git/fsmonitor-ipc.h
Johannes Schindelin a0cc2340e5 fixup! Merge pull request #3234 from dscho/fsmonitor-v2
In preparation for taking FSMonitor v4, let's revert the merge of v2.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2021-08-05 21:23:51 +02:00

49 lines
1.3 KiB
C

#ifndef FSMONITOR_IPC_H
#define FSMONITOR_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.
*
* This DOES NOT use the hook interface.
*
* 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 */