]> git.ipfire.org Git - thirdparty/git.git/blame - fsmonitor-ipc.h
Start the 2.46 cycle
[thirdparty/git.git] / fsmonitor-ipc.h
CommitLineData
d2bd862e
JH
1#ifndef FSMONITOR_IPC_H
2#define FSMONITOR_IPC_H
3
4#include "simple-ipc.h"
5
6beb2688
ED
6struct repository;
7
d2bd862e
JH
8/*
9 * Returns true if built-in file system monitor daemon is defined
10 * for this platform.
11 */
12int fsmonitor_ipc__is_supported(void);
13
14/*
15 * Returns the pathname to the IPC named pipe or Unix domain socket
16 * where a `git-fsmonitor--daemon` process will listen. This is a
17 * per-worktree value.
18 *
19 * Returns NULL if the daemon is not supported on this platform.
20 */
6beb2688 21const char *fsmonitor_ipc__get_path(struct repository *r);
d2bd862e
JH
22
23/*
24 * Try to determine whether there is a `git-fsmonitor--daemon` process
25 * listening on the IPC pipe/socket.
26 */
27enum ipc_active_state fsmonitor_ipc__get_state(void);
28
29/*
30 * Connect to a `git-fsmonitor--daemon` process via simple-ipc
31 * and ask for the set of changed files since the given token.
32 *
33 * Spawn a daemon process in the background if necessary.
34 *
35 * Returns -1 on error; 0 on success.
36 */
37int fsmonitor_ipc__send_query(const char *since_token,
38 struct strbuf *answer);
39
40/*
41 * Connect to a `git-fsmonitor--daemon` process via simple-ipc and
42 * send a command verb. If no daemon is available, we DO NOT try to
43 * start one.
44 *
45 * Returns -1 on error; 0 on success.
46 */
47int fsmonitor_ipc__send_command(const char *command,
48 struct strbuf *answer);
49
50#endif /* FSMONITOR_IPC_H */