-struct GNUNET_TESTING_Daemon
-{
- /**
- * Our scheduler.
- */
- struct GNUNET_SCHEDULER_Handle *sched;
-
- /**
- * Our configuration.
- */
- struct GNUNET_CONFIGURATION_Handle *cfg;
-
- /**
- * At what time to give up starting the peer
- */
- struct GNUNET_TIME_Absolute max_timeout;
-
- /**
- * Host to run GNUnet on.
- */
- char *hostname;
-
- /**
- * Result of GNUNET_i2s of this peer,
- * for printing
- */
- char *shortname;
-
- /**
- * Username we are using.
- */
- char *username;
-
- /**
- * Name of the configuration file
- */
- char *cfgfile;
-
- /**
- * Callback to inform initiator that the peer's
- * hostkey has been created.
- */
- GNUNET_TESTING_NotifyHostkeyCreated hostkey_callback;
-
- /**
- * Closure for hostkey creation callback.
- */
- void *hostkey_cls;
-
- /**
- * Function to call when the peer is running.
- */
- GNUNET_TESTING_NotifyDaemonRunning cb;
-
- /**
- * Closure for cb.
- */
- void *cb_cls;
-
- /**
- * Arguments from "daemon_stop" call.
- */
- GNUNET_TESTING_NotifyCompletion dead_cb;
-
- /**
- * Closure for 'dead_cb'.
- */
- void *dead_cb_cls;
-
- /**
- * Arguments from "daemon_stop" call.
- */
- GNUNET_TESTING_NotifyCompletion update_cb;
-
- /**
- * Closure for 'update_cb'.
- */
- void *update_cb_cls;
-
- /**
- * Identity of this peer (once started).
- */
- struct GNUNET_PeerIdentity id;
-
- /**
- * Flag to indicate that we've already been asked
- * to terminate (but could not because some action
- * was still pending).
- */
- int dead;
-
- /**
- * PID of the process that we started last.
- */
- pid_t pid;
-
- /**
- * In which phase are we during the start of
- * this process?
- */
- enum GNUNET_TESTING_StartPhase phase;
-
- /**
- * ID of the current task.
- */
- GNUNET_SCHEDULER_TaskIdentifier task;
-
- /**
- * Handle to the server.
- */
- struct GNUNET_CORE_Handle *server;
-
- /**
- * Handle to the transport service of this peer
- */
- struct GNUNET_TRANSPORT_Handle *th;
-
- /**
- * HELLO message for this peer
- */
- struct GNUNET_HELLO_Message *hello;
-
- /**
- * Handle to a pipe for reading the hostkey.
- */
- struct GNUNET_DISK_PipeHandle *pipe_stdout;
-
- /**
- * Output from gnunet-peerinfo is read into this buffer.
- */
- char hostkeybuf[105];
-
- /**
- * Current position in 'hostkeybuf' (for reading from gnunet-peerinfo)
- */
- unsigned int hostkeybufpos;
-
- /**
- * Set to GNUNET_YES once the peer is up.
- */
- int running;
-
- /**
- * Used to tell shutdown not to remove configuration for the peer
- * (if it's going to be restarted later)
- */
- int churn;
-};