summaryrefslogtreecommitdiff
path: root/src/shared/varlink.h
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2019-11-27 14:43:41 +0100
committerLennart Poettering <lennart@poettering.net>2020-01-31 15:03:27 +0100
commit6d4d6002606ed5356f236ba28149493c5fb14c52 (patch)
treed77622f3fcc51edd9e09f33493cca049aa018123 /src/shared/varlink.h
parentc4f601f20535883c870c1381a0b10815a2e7128f (diff)
downloadsystemd-6d4d6002606ed5356f236ba28149493c5fb14c52.tar.gz
varlink: add ability to register callback for disconnections
Diffstat (limited to 'src/shared/varlink.h')
-rw-r--r--src/shared/varlink.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/shared/varlink.h b/src/shared/varlink.h
index 6272b33228..7440f2ca44 100644
--- a/src/shared/varlink.h
+++ b/src/shared/varlink.h
@@ -51,6 +51,7 @@ typedef enum VarlinkServerFlags {
typedef int (*VarlinkMethod)(Varlink *link, JsonVariant *parameters, VarlinkMethodFlags flags, void *userdata);
typedef int (*VarlinkReply)(Varlink *link, JsonVariant *parameters, const char *error_id, VarlinkReplyFlags flags, void *userdata);
typedef int (*VarlinkConnect)(VarlinkServer *server, Varlink *link, void *userdata);
+typedef void (*VarlinkDisconnect)(VarlinkServer *server, Varlink *link, void *userdata);
int varlink_connect_address(Varlink **ret, const char *address);
int varlink_connect_fd(Varlink **ret, int fd);
@@ -134,6 +135,7 @@ int varlink_server_bind_method(VarlinkServer *s, const char *method, VarlinkMeth
int varlink_server_bind_method_many_internal(VarlinkServer *s, ...);
#define varlink_server_bind_method_many(s, ...) varlink_server_bind_method_many_internal(s, __VA_ARGS__, NULL)
int varlink_server_bind_connect(VarlinkServer *s, VarlinkConnect connect);
+int varlink_server_bind_disconnect(VarlinkServer *s, VarlinkDisconnect disconnect);
void* varlink_server_set_userdata(VarlinkServer *s, void *userdata);
void* varlink_server_get_userdata(VarlinkServer *s);