This new call returns how many fds have been associated with the current
incoming message.
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;
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);
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);