sd-varlink: add new sd_varlink_get_n_fds() helper
This new call returns how many fds have been associated with the current incoming message.
This commit is contained in:
@@ -1069,6 +1069,7 @@ global:
|
||||
sd_varlink_get_current_method;
|
||||
sd_varlink_get_description;
|
||||
sd_varlink_get_input_fd;
|
||||
sd_varlink_get_n_fds;
|
||||
sd_varlink_get_output_fd;
|
||||
sd_varlink_reset_fds;
|
||||
sd_varlink_server_listen_name;
|
||||
|
||||
@@ -3183,6 +3183,15 @@ _public_ int sd_varlink_take_fd(sd_varlink *v, size_t i) {
|
||||
return TAKE_FD(v->input_fds[i]);
|
||||
}
|
||||
|
||||
_public_ int sd_varlink_get_n_fds(sd_varlink *v) {
|
||||
assert_return(v, -EINVAL);
|
||||
|
||||
if (!v->allow_fd_passing_input)
|
||||
return -EPERM;
|
||||
|
||||
return (int) v->n_input_fds;
|
||||
}
|
||||
|
||||
static int verify_unix_socket(sd_varlink *v) {
|
||||
assert(v);
|
||||
|
||||
|
||||
@@ -195,6 +195,7 @@ int sd_varlink_reset_fds(sd_varlink *v);
|
||||
int sd_varlink_peek_fd(sd_varlink *v, size_t i);
|
||||
int sd_varlink_peek_dup_fd(sd_varlink *v, size_t i);
|
||||
int sd_varlink_take_fd(sd_varlink *v, size_t i);
|
||||
int sd_varlink_get_n_fds(sd_varlink *v);
|
||||
|
||||
int sd_varlink_set_allow_fd_passing_input(sd_varlink *v, int b);
|
||||
int sd_varlink_set_allow_fd_passing_output(sd_varlink *v, int b);
|
||||
|
||||
Reference in New Issue
Block a user