* processes using signals. Because signals are not supported on W32
* and Java (at least not nicely), we can alternatively use a pipe
* to send signals to the child processes (if the child process is
- * a full-blown GNUnet process that supports reading signals from
+ * a full-blown GNUnet process that supports reading signals from
* a pipe, of course). Naturally, this also only works for 'normal'
* termination via signals, and not as a replacement for SIGKILL.
* Thus using pipes to communicate signals should only be enabled if
* inherit stdin of the parent.
*/
GNUNET_OS_INHERIT_STD_IN = 1,
-
+
/**
* When this flag is set, the child process will
* inherit stdout of the parent.
/**
* Get the path to a specific GNUnet installation directory or, with
- * GNUNET_OS_IPK_SELF_PREFIX, the current running apps installation
+ * #GNUNET_OS_IPK_SELF_PREFIX, the current running apps installation
* directory.
*
* @param dirkind what kind of directory is desired?
* @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 addrlen length of the address
- * @return GNUNET_OK to continue iteration, GNUNET_SYSERR to abort
+ * @return #GNUNET_OK to continue iteration, #GNUNET_SYSERR to abort
*/
-typedef int (*GNUNET_OS_NetworkInterfaceProcessor) (void *cls, const char *name,
+typedef int (*GNUNET_OS_NetworkInterfaceProcessor) (void *cls,
+ const char *name,
int isDefault,
- const struct sockaddr *
- addr,
- const struct sockaddr *
- broadcast_addr,
- const struct sockaddr *
- netmask, socklen_t addrlen);
+ const struct sockaddr *addr,
+ const struct sockaddr *broadcast_addr,
+ const struct sockaddr *netmask,
+ socklen_t addrlen);
/**
* @brief Enumerate all network interfaces
+ *
* @param proc the callback function
- * @param proc_cls closure for proc
+ * @param proc_cls closure for @a proc
*/
void
GNUNET_OS_network_interfaces_list (GNUNET_OS_NetworkInterfaceProcessor proc,
enum GNUNET_OS_InheritStdioFlags std_inheritance,
struct GNUNET_DISK_PipeHandle *pipe_stdin,
struct GNUNET_DISK_PipeHandle *pipe_stdout,
- const char *filename,
+ const char *filename,
char *const argv[]);
struct GNUNET_OS_Process *
GNUNET_OS_start_process_v (int pipe_control,
enum GNUNET_OS_InheritStdioFlags std_inheritance,
- const SOCKTYPE *lsocks,
+ const SOCKTYPE *lsocks,
const char *filename,
char *const argv[]);
* @param proc pointer to process structure
* @param type status type
* @param code return code/signal number
- * @return GNUNET_OK on success, GNUNET_NO if the process is still running, GNUNET_SYSERR otherwise
+ * @return #GNUNET_OK on success, #GNUNET_NO if the process is still running, #GNUNET_SYSERR otherwise
*/
int
GNUNET_OS_process_status (struct GNUNET_OS_Process *proc,
* or to terminate very soon.
*
* @param proc pointer to process structure of the process to wait for
- * @return GNUNET_OK on success, GNUNET_SYSERR otherwise
+ * @return #GNUNET_OK on success, #GNUNET_SYSERR otherwise
*/
int
GNUNET_OS_process_wait (struct GNUNET_OS_Process *proc);
* binary with the -d flag. -d omits a programs main loop and only
* executes all privileged operations in an binary.
* @param params parameters used for w32 privilege checking (can be NULL for != w32, or when not checking for suid/permissions )
- * @return GNUNET_YES if the file is SUID (*nix) or can be executed with current privileges (W32),
- * GNUNET_NO if not SUID (but binary exists),
- * GNUNET_SYSERR on error (no such binary or not executable)
+ * @return #GNUNET_YES if the file is SUID (*nix) or can be executed with current privileges (W32),
+ * #GNUNET_NO if not SUID (but binary exists),
+ * #GNUNET_SYSERR on error (no such binary or not executable)
*/
-int
+int
GNUNET_OS_check_helper_binary (const char *binary, int check_suid, const char * params);