* @param isDefault is this presumably the default interface
* @param addr address of this interface (can be NULL for unknown or unassigned)
* @param broadcast_addr the broadcast address (can be NULL for unknown or unassigned)
- * @param netmask the network mask (can be NULL for unknown or unassigned))
+ * @param netmask the network mask (can be NULL for unknown or unassigned)
* @param addrlen length of the address
* @return #GNUNET_OK to continue iteration, #GNUNET_SYSERR to abort
*/
char *const argv[]);
+/**
+ * Start a process. This function is similar to the GNUNET_OS_start_process_*
+ * except that the filename and arguments can have whole strings which contain
+ * the arguments. These arguments are to be separated by spaces and are parsed
+ * in the order they appear. Arguments containing spaces can be used by
+ * quoting them with @em ".
+ *
+ * @param pipe_control should a pipe be used to send signals to the child?
+ * @param std_inheritance a set of GNUNET_OS_INHERIT_STD_* flags
+ * @param lsocks array of listen sockets to dup systemd-style (or NULL);
+ * must be NULL on platforms where dup is not supported
+ * @param filename name of the binary. It is valid to have the arguments
+ * in this string when they are separated by spaces.
+ * @param ... more arguments. Should be of type `char *`. It is valid
+ * to have the arguments in these strings when they are separated by
+ * spaces. The last argument MUST be NULL.
+ * @return pointer to process structure of the new process, NULL on error
+ */
+struct GNUNET_OS_Process *
+GNUNET_OS_start_process_s (int pipe_control,
+ unsigned int std_inheritance,
+ const SOCKTYPE * lsocks,
+ const char *filename, ...);
+
+
/**
* Handle to a command action.
*/