#include "platform.h"
#include "gnunet_util_lib.h"
#include "gnunet_testing_lib.h"
#include "gnunet_testing_ng_lib.h"
#include "gnunet_testing_plugin.h"
#include "gnunet_testing_netjail_lib.h"
#include "testing.h"
#include "testing_cmds.h"
#include "gnunet_testing_barrier.h"
#include <zlib.h>
Go to the source code of this file.
Data Structures | |
struct | NodeIdentifier |
Struct with information about a specific node and the whole network namespace setup. More... | |
struct | WriteContext |
Context for a single write on a chunk of memory. More... | |
Macros | |
#define | LOG(kind, ...) GNUNET_log (kind, __VA_ARGS__) |
Generic logging shortcut. More... | |
#define | LOG_DEBUG(...) LOG (GNUNET_ERROR_TYPE_DEBUG, __VA_ARGS__) |
Debug logging shorthand. More... | |
#define | NODE_BASE_IP "192.168.15." |
#define | KNOWN_BASE_IP "92.68.151." |
#define | ROUTER_BASE_IP "92.68.150." |
Functions | |
static void | do_shutdown (void *cls) |
Task to shut down cleanly. More... | |
static void | write_task (void *cls) |
Task to write to the standard out. More... | |
static void | write_message (struct GNUNET_MessageHeader *message, size_t msg_length) |
Callback to write a message to the master loop. More... | |
static void | delay_shutdown_cb () |
struct GNUNET_MessageHeader * | GNUNET_TESTING_send_local_test_finished_msg () |
static void | finished_cb (enum GNUNET_GenericReturnValue rv) |
static int | tokenizer_cb (void *cls, const struct GNUNET_MessageHeader *message) |
Functions with this signature are called whenever a complete message is received by the tokenizer. More... | |
static void | read_task (void *cls) |
Task to read from stdin. More... | |
static void | run (void *cls, char *const *args, const char *cfgfile, const struct GNUNET_CONFIGURATION_Handle *cfg) |
Main function that will be run. More... | |
static void | sighandler_child_death () |
Signal handler called for SIGCHLD. More... | |
int | main (int argc, char **argv) |
Main function. More... | |
Variables | |
struct GNUNET_SCHEDULER_Task * | finished_task |
struct GNUNET_TESTING_Interpreter * | is |
struct TestcasePlugin * | plugin |
The process handle to the testbed service. More... | |
struct GNUNET_MessageStreamTokenizer * | tokenizer |
Our message stream tokenizer. More... | |
static struct GNUNET_DISK_FileHandle * | stdin_fd |
Disk handle from stdin. More... | |
static struct GNUNET_DISK_FileHandle * | stdout_fd |
Disk handle for stdout. More... | |
static struct GNUNET_DISK_PipeHandle * | sigpipe |
Pipe used to communicate shutdown via signal. More... | |
static struct GNUNET_SCHEDULER_Task * | read_task_id |
Task identifier for the read task. More... | |
static struct GNUNET_SCHEDULER_Task * | write_task_id |
Task identifier for the write task. More... | |
static int | done_reading |
Are we done reading messages from stdin? More... | |
static int | status |
Result to return in case we fail. More... | |
#define LOG | ( | kind, | |
... | |||
) | GNUNET_log (kind, __VA_ARGS__) |
Generic logging shortcut.
Definition at line 55 of file gnunet-cmds-helper.c.
#define LOG_DEBUG | ( | ... | ) | LOG (GNUNET_ERROR_TYPE_DEBUG, __VA_ARGS__) |
Debug logging shorthand.
Definition at line 60 of file gnunet-cmds-helper.c.
#define NODE_BASE_IP "192.168.15." |
Definition at line 62 of file gnunet-cmds-helper.c.
#define KNOWN_BASE_IP "92.68.151." |
Definition at line 64 of file gnunet-cmds-helper.c.
#define ROUTER_BASE_IP "92.68.150." |
Definition at line 66 of file gnunet-cmds-helper.c.
|
static |
Task to shut down cleanly.
cls | NULL |
Definition at line 203 of file gnunet-cmds-helper.c.
References WriteContext::data, GNUNET_DISK_file_close(), GNUNET_free, GNUNET_MST_destroy(), GNUNET_PLUGIN_unload(), GNUNET_SCHEDULER_cancel(), TestcasePlugin::library_name, LOG_DEBUG, plugin, read_task_id, stdin_fd, stdout_fd, tokenizer, and write_task_id.
Referenced by run().
|
static |
Task to write to the standard out.
cls | the WriteContext |
Definition at line 240 of file gnunet-cmds-helper.c.
References WriteContext::data, GNUNET_assert, GNUNET_DISK_file_write(), GNUNET_ERROR_TYPE_ERROR, GNUNET_ERROR_TYPE_WARNING, GNUNET_free, GNUNET_log, GNUNET_SCHEDULER_add_write_file(), GNUNET_SYSERR, GNUNET_TIME_UNIT_FOREVER_REL, WriteContext::length, LOG, WriteContext::pos, stdout_fd, and write_task_id.
Referenced by write_message().
|
static |
Callback to write a message to the master loop.
Definition at line 279 of file gnunet-cmds-helper.c.
References WriteContext::data, GNUNET_ERROR_TYPE_ERROR, GNUNET_log, GNUNET_new, GNUNET_SCHEDULER_add_write_file(), GNUNET_TIME_UNIT_FOREVER_REL, WriteContext::length, stdout_fd, write_task(), and write_task_id.
Referenced by finished_cb(), and tokenizer_cb().
|
static |
Definition at line 296 of file gnunet-cmds-helper.c.
References GNUNET_ERROR_TYPE_DEBUG, GNUNET_log, and GNUNET_SCHEDULER_shutdown().
Referenced by finished_cb().
struct GNUNET_MessageHeader* GNUNET_TESTING_send_local_test_finished_msg | ( | ) |
Definition at line 305 of file gnunet-cmds-helper.c.
References GNUNET_MESSAGE_TYPE_CMDS_HELPER_LOCAL_FINISHED, GNUNET_new, GNUNET_TESTING_CommandLocalFinished::header, GNUNET_MessageHeader::size, and GNUNET_MessageHeader::type.
|
static |
Definition at line 320 of file gnunet-cmds-helper.c.
References delay_shutdown_cb(), GNUNET_ERROR_TYPE_DEBUG, GNUNET_log, GNUNET_MESSAGE_TYPE_CMDS_HELPER_LOCAL_FINISHED, GNUNET_new, GNUNET_SCHEDULER_add_delayed(), GNUNET_TIME_UNIT_SECONDS, GNUNET_TESTING_CommandLocalFinished::header, GNUNET_TESTING_CommandLocalFinished::rv, GNUNET_MessageHeader::size, GNUNET_MessageHeader::type, and write_message().
Referenced by GDS_u_send(), gnunet_send(), ip_send(), and tokenizer_cb().
|
static |
Functions with this signature are called whenever a complete message is received by the tokenizer.
Do not call #GNUNET_mst_destroy() in this callback
cls | identification of the client |
message | the actual message |
Definition at line 358 of file gnunet-cmds-helper.c.
References GNUNET_TESTING_PluginFunctions::all_local_tests_prepared, GNUNET_TESTING_PluginFunctions::all_peers_started, TestcasePlugin::api, finished_cb(), NodeIdentifier::global_n, TestcasePlugin::global_n, GNUNET_break, GNUNET_ERROR_TYPE_DEBUG, GNUNET_ERROR_TYPE_ERROR, GNUNET_ERROR_TYPE_WARNING, GNUNET_free, GNUNET_malloc, GNUNET_MESSAGE_TYPE_CMDS_HELPER_ALL_LOCAL_TESTS_PREPARED, GNUNET_MESSAGE_TYPE_CMDS_HELPER_ALL_PEERS_STARTED, GNUNET_MESSAGE_TYPE_CMDS_HELPER_BARRIER_CROSSABLE, GNUNET_MESSAGE_TYPE_CMDS_HELPER_INIT, GNUNET_MESSAGE_TYPE_CMDS_HELPER_REPLY, GNUNET_new, GNUNET_OK, GNUNET_OS_get_libexec_binary_path(), GNUNET_PLUGIN_load(), GNUNET_SCHEDULER_shutdown(), GNUNET_strdup, GNUNET_strlcpy(), GNUNET_SYSERR, GNUNET_TESTING_CommandHelperReply::header, is, KNOWN_BASE_IP, TestcasePlugin::library_name, NodeIdentifier::local_m, TestcasePlugin::local_m, LOG, NodeIdentifier::m, TestcasePlugin::m, msg, NodeIdentifier::n, TestcasePlugin::n, NODE_BASE_IP, plugin, plugin_name, GNUNET_TESTING_CommandHelperInit::plugin_name_size, NodeIdentifier::read_file, ROUTER_BASE_IP, GNUNET_MessageHeader::size, GNUNET_TESTING_PluginFunctions::start_testcase, status, NodeIdentifier::topology_data, TST_interpreter_finish_attached_cmds(), GNUNET_MessageHeader::type, type, and write_message().
Referenced by run().
|
static |
Task to read from stdin.
cls | NULL |
Definition at line 502 of file gnunet-cmds-helper.c.
References buf, done_reading, GNUNET_break, GNUNET_break_op, GNUNET_DISK_file_read(), GNUNET_ERROR_TYPE_ERROR, GNUNET_MAX_MESSAGE_SIZE, GNUNET_MST_from_buffer(), GNUNET_NO, GNUNET_OK, GNUNET_SCHEDULER_add_read_file(), GNUNET_SCHEDULER_shutdown(), GNUNET_SYSERR, GNUNET_TIME_UNIT_FOREVER_REL, GNUNET_YES, LOG, LOG_DEBUG, read_task_id, stdin_fd, and tokenizer.
Referenced by run().
|
static |
Main function that will be run.
cls | closure |
args | remaining command-line arguments |
cfgfile | name of the configuration file used (for saving, can be NULL!) |
cfg | configuration |
Definition at line 553 of file gnunet-cmds-helper.c.
References do_shutdown(), GNUNET_DISK_get_handle_from_native(), GNUNET_ERROR_TYPE_DEBUG, GNUNET_MST_create(), GNUNET_SCHEDULER_add_read_file(), GNUNET_SCHEDULER_add_shutdown(), GNUNET_TIME_UNIT_FOREVER_REL, LOG, read_task(), read_task_id, stdin_fd, stdout_fd, tokenizer, and tokenizer_cb().
Referenced by main().
|
static |
Signal handler called for SIGCHLD.
Definition at line 580 of file gnunet-cmds-helper.c.
References GNUNET_break, GNUNET_DISK_file_write(), GNUNET_DISK_PIPE_END_WRITE, GNUNET_DISK_pipe_handle(), and sigpipe.
Referenced by main().
int main | ( | int | argc, |
char ** | argv | ||
) |
Main function.
argc | the number of command line arguments |
argv | command line arg array |
Definition at line 604 of file gnunet-cmds-helper.c.
References NodeIdentifier::global_n, GNUNET_assert, GNUNET_break, GNUNET_DISK_PF_NONE, GNUNET_DISK_pipe(), GNUNET_DISK_pipe_close(), GNUNET_ERROR_TYPE_DEBUG, GNUNET_ERROR_TYPE_ERROR, GNUNET_free, GNUNET_GETOPT_OPTION_END, GNUNET_log, GNUNET_log_setup(), GNUNET_log_strerror, GNUNET_malloc, GNUNET_new, GNUNET_OK, GNUNET_PROGRAM_run(), GNUNET_SIGCHLD, GNUNET_SIGNAL_handler_install(), GNUNET_SIGNAL_handler_uninstall(), NodeIdentifier::local_m, LOG, NodeIdentifier::m, NodeIdentifier::n, options, read_file(), NodeIdentifier::read_file, ret, run(), shc_chld, sighandler_child_death(), sigpipe, status, and NodeIdentifier::topology_data.
struct GNUNET_SCHEDULER_Task* finished_task |
Definition at line 80 of file gnunet-cmds-helper.c.
struct GNUNET_TESTING_Interpreter* is |
Definition at line 82 of file gnunet-cmds-helper.c.
Referenced by backchannel_check_run(), barrier_reached_run(), barrier_run(), batch_run(), block_until_all_peers_started_run(), check_backchannel_encapsulation(), check_communicator_backchannel(), connect_peers_run(), delete_networks(), do_timeout(), finish_test(), free_barrier_node_cb(), free_barriers_cb(), get_addresses(), get_command(), GNUNET_NT_scanner_done(), GNUNET_NT_scanner_init(), GNUNET_TESTING_add_netjail_helper(), GNUNET_TESTING_command_new(), GNUNET_TESTING_interpreter_fail(), GNUNET_TESTING_interpreter_get_current_command(), GNUNET_TESTING_interpreter_get_current_label(), GNUNET_TESTING_interpreter_lookup_command(), GNUNET_TESTING_interpreter_lookup_command_all(), GNUNET_TESTING_interpreter_lookup_future_command(), handle_communicator_backchannel(), interface_proc(), interpreter_delete_barriers(), interpreter_next(), interpreter_run(), netjail_exec_run(), netjail_stop_run(), notify_connect(), run_finish(), send_message_to_netjail(), send_simple_run(), start_peer_run(), stop_peer_run(), stop_testing_system_run(), system_destroy_run(), tokenizer_cb(), TST_interpreter_add_barrier(), TST_interpreter_finish_attached_cmds(), TST_interpreter_get_barrier(), and TST_interpreter_send_barrier_crossable().
struct TestcasePlugin* plugin |
The process handle to the testbed service.
static struct GNUNET_OS_Process *cmd_binary_process; Plugin to dynamically load a test case.
Definition at line 154 of file gnunet-cmds-helper.c.
Referenced by __attribute__(), ack_message_sent(), ack_proc(), add_plugin(), address_notification(), analyze_send_error(), append_port(), broadcast_mst_cb(), check_port(), client_configure_plugin(), client_connect(), client_delete_session(), client_lookup_session(), client_receive_mst_cb(), client_run(), client_schedule(), client_send_cb(), client_start(), connect_notify(), core_connect_cb(), core_disconnect_cb(), core_init_cb(), create_macendpoint(), create_session(), create_source(), create_target(), database_connect(), database_setup(), database_shutdown(), delete_by_rowid(), delete_entries(), delete_old_block(), delete_value(), dequeue(), destroy_session_cb(), disconnect_and_free_it(), disconnect_notify(), do_delete_entry(), do_shutdown(), do_transmit(), enqueue(), enqueue_fragment(), execute_get(), execute_select(), expi_proc(), expire_blocks(), expire_entries(), find_closest(), find_plugin(), find_source(), find_target(), fragmented_message_done(), free_macendpoint(), free_value(), get_any(), get_cb(), get_session_delete_it(), get_typed(), get_wlan_header(), GNUNET_BLOCK_check_block(), GNUNET_BLOCK_context_destroy(), gnunet_drop(), GNUNET_GNSRECORD_is_critical(), GNUNET_GNSRECORD_string_to_value(), GNUNET_GNSRECORD_typename_to_number(), GNUNET_GNSRECORD_value_to_string(), gnunet_hold(), GNUNET_RECLAIM_attribute_number_to_typename(), GNUNET_RECLAIM_attribute_string_to_value(), GNUNET_RECLAIM_attribute_typename_to_number(), GNUNET_RECLAIM_attribute_value_to_string(), GNUNET_RECLAIM_credential_get_attributes(), GNUNET_RECLAIM_credential_get_expiration(), GNUNET_RECLAIM_credential_get_issuer(), GNUNET_RECLAIM_credential_get_presentation(), GNUNET_RECLAIM_credential_number_to_typename(), GNUNET_RECLAIM_credential_string_to_value(), GNUNET_RECLAIM_credential_typename_to_number(), GNUNET_RECLAIM_credential_value_to_string(), GNUNET_RECLAIM_presentation_get_attributes(), GNUNET_RECLAIM_presentation_get_expiration(), GNUNET_RECLAIM_presentation_get_issuer(), GNUNET_RECLAIM_presentation_number_to_typename(), GNUNET_RECLAIM_presentation_string_to_value(), GNUNET_RECLAIM_presentation_typename_to_number(), GNUNET_RECLAIM_presentation_value_to_string(), gnunet_try_connect(), handle_core_message(), handle_helper_message(), handle_tcp_data(), handle_tcp_nat_probe(), handle_tcp_welcome(), heap_get_keys(), heap_plugin_estimate_size(), heap_plugin_get_closest(), heap_plugin_get_expiration(), heap_plugin_get_key(), heap_plugin_get_replication(), heap_plugin_get_zero_anonymity(), heap_plugin_put(), heap_plugin_remove_key(), hello_offered_cb(), http_client_plugin_get_session(), http_client_plugin_peer_disconnect(), http_client_plugin_send(), http_client_plugin_session_disconnect(), http_client_plugin_setup_monitor(), http_common_plugin_address_to_string(), http_common_plugin_dnsresult_to_address(), http_common_plugin_string_to_address(), http_server_plugin_address_suggested(), http_server_plugin_disconnect_peer(), http_server_plugin_send(), http_server_plugin_setup_monitor(), iface_proc(), ip_send(), ip_try_connect(), iterate_entries(), kill_session(), libgnunet_plugin_datacache_heap_done(), libgnunet_plugin_datacache_heap_init(), libgnunet_plugin_datacache_postgres_done(), libgnunet_plugin_datacache_postgres_init(), libgnunet_plugin_datacache_sqlite_done(), libgnunet_plugin_datacache_sqlite_init(), libgnunet_plugin_datacache_template_done(), libgnunet_plugin_datacache_template_init(), libgnunet_plugin_datastore_heap_init(), libgnunet_plugin_datastore_mysql_done(), libgnunet_plugin_datastore_mysql_init(), libgnunet_plugin_datastore_postgres_done(), libgnunet_plugin_datastore_postgres_init(), libgnunet_plugin_datastore_sqlite_done(), libgnunet_plugin_datastore_sqlite_init(), libgnunet_plugin_datastore_template_done(), libgnunet_plugin_datastore_template_init(), libgnunet_plugin_dhtu_gnunet_done(), libgnunet_plugin_dhtu_gnunet_init(), libgnunet_plugin_dhtu_ip_done(), libgnunet_plugin_dhtu_ip_init(), libgnunet_plugin_namecache_flat_done(), libgnunet_plugin_namecache_flat_init(), libgnunet_plugin_namecache_postgres_done(), libgnunet_plugin_namecache_postgres_init(), libgnunet_plugin_namecache_sqlite_done(), libgnunet_plugin_namecache_sqlite_init(), libgnunet_plugin_namestore_flat_done(), libgnunet_plugin_namestore_flat_init(), libgnunet_plugin_namestore_postgres_done(), libgnunet_plugin_namestore_postgres_init(), libgnunet_plugin_namestore_sqlite_done(), libgnunet_plugin_namestore_sqlite_init(), libgnunet_plugin_peerstore_flat_done(), libgnunet_plugin_peerstore_flat_init(), libgnunet_plugin_peerstore_sqlite_done(), libgnunet_plugin_peerstore_sqlite_init(), libgnunet_plugin_rest_config_done(), libgnunet_plugin_rest_config_init(), libgnunet_plugin_rest_copying_done(), libgnunet_plugin_rest_copying_init(), libgnunet_plugin_rest_gns_done(), libgnunet_plugin_rest_gns_init(), libgnunet_plugin_rest_identity_done(), libgnunet_plugin_rest_identity_init(), libgnunet_plugin_rest_namestore_done(), libgnunet_plugin_rest_namestore_init(), libgnunet_plugin_rest_openid_connect_done(), libgnunet_plugin_rest_openid_connect_init(), libgnunet_plugin_rest_pabc_init(), libgnunet_plugin_rest_peerinfo_done(), libgnunet_plugin_rest_peerinfo_init(), libgnunet_plugin_rest_reclaim_done(), libgnunet_plugin_rest_reclaim_init(), LIBGNUNET_PLUGIN_TRANSPORT_DONE(), libgnunet_plugin_transport_http_client_done(), libgnunet_plugin_transport_http_client_init(), libgnunet_plugin_transport_tcp_done(), libgnunet_plugin_transport_tcp_init(), libgnunet_plugin_transport_template_init(), libgnunet_plugin_transport_unix_done(), libgnunet_plugin_transport_unix_init(), load_plugin(), lookup_session(), mysql_plugin_drop(), mysql_plugin_estimate_size(), mysql_plugin_get_expiration(), mysql_plugin_get_key(), mysql_plugin_get_keys(), mysql_plugin_get_replication(), mysql_plugin_get_zero_anonymity(), mysql_plugin_put(), mysql_plugin_remove_key(), namecache_cache_block(), namecache_expire_blocks(), namecache_lookup_block(), namecache_postgres_expire_blocks(), namecache_sqlite_cache_block(), namecache_sqlite_expire_blocks(), namecache_sqlite_lookup_block(), namestore_flat_iterate_records(), namestore_flat_lookup_records(), namestore_flat_store_records(), namestore_flat_zone_to_name(), notify_send_probe(), notify_session_monitor(), nse_cb(), peerinfo_cb(), peerstore_flat_delete_records(), peerstore_flat_expire_records(), peerstore_flat_iterate_records(), peerstore_flat_store_record(), peerstore_sqlite_delete_records(), peerstore_sqlite_expire_records(), peerstore_sqlite_iterate_records(), peerstore_sqlite_store_record(), postgres_plugin_del(), postgres_plugin_drop(), postgres_plugin_estimate_size(), postgres_plugin_get_closest(), postgres_plugin_get_expiration(), postgres_plugin_get_key(), postgres_plugin_get_keys(), postgres_plugin_get_replication(), postgres_plugin_get_zero_anonymity(), postgres_plugin_put(), postgres_plugin_remove_key(), prepare_beacon(), process_data(), process_inbound_tokenized_messages(), process_result(), process_udp_message(), qc_fragment_sent(), qc_message_sent(), read_cb(), read_process_ack(), read_process_fragment(), remove_timeout_messages_and_select(), repl_proc(), run(), run_mhd_start_daemon(), scan(), schedule_select_v4(), schedule_select_v6(), send_hello_beacon(), send_session_info_iter(), send_with_fragmentation(), server_accept_cb(), server_access_cb(), server_add_address(), server_configure_plugin(), server_connection_cb(), server_delete_session(), server_disconnect_cb(), server_get_addresses(), server_lookup_connection(), server_mhd_connection_timeout(), server_nat_port_map_callback(), server_notify_external_hostname(), server_parse_url(), server_receive_mst_cb(), server_remove_address(), server_reschedule(), server_schedule(), server_start(), server_start_report_addresses(), server_stop_report_addresses(), server_v4_run(), server_v6_run(), session_disconnect_it(), session_timeout(), setup_broadcast(), setup_sockets(), sqlite_plugin_drop(), sqlite_plugin_estimate_size(), sqlite_plugin_get_closest(), sqlite_plugin_get_expiration(), sqlite_plugin_get_key(), sqlite_plugin_get_keys(), sqlite_plugin_get_replication(), sqlite_plugin_get_zero_anonymity(), sqlite_plugin_put(), sqlite_plugin_remove_key(), start_helper(), tcp_nat_port_map_callback(), tcp_plugin_address_pretty_printer(), tcp_plugin_check_address(), tcp_plugin_disconnect(), tcp_plugin_disconnect_session(), tcp_plugin_get_network(), tcp_plugin_get_session(), tcp_plugin_send(), tcp_plugin_setup_monitor(), tcp_plugin_string_to_address(), template_plugin_setup_monitor(), tokenizer_cb(), udp_broadcast_receive(), udp_disconnect(), udp_disconnect_session(), udp_ipv4_broadcast_send(), udp_ipv6_broadcast_send(), udp_nat_port_map_callback(), udp_plugin_address_pretty_printer(), udp_plugin_check_address(), udp_plugin_create_session(), udp_plugin_get_session(), udp_plugin_lookup_session(), udp_plugin_select_v4(), udp_plugin_select_v6(), udp_plugin_send(), udp_plugin_setup_monitor(), udp_plugin_update_session_timeout(), udp_select_read(), udp_select_send(), udp_string_to_address(), unix_demultiplexer(), unix_plugin_check_address(), unix_plugin_do_read(), unix_plugin_do_write(), unix_plugin_get_network(), unix_plugin_get_session(), unix_plugin_peer_disconnect(), unix_plugin_select_read(), unix_plugin_select_write(), unix_plugin_send(), unix_plugin_session_disconnect(), unix_plugin_setup_monitor(), unix_plugin_string_to_address(), unix_plugin_update_session_timeout(), unix_transport_server_start(), wlan_data_message_handler(), wlan_plugin_address_suggested(), wlan_plugin_disconnect_peer(), wlan_plugin_disconnect_session(), wlan_plugin_get_session(), wlan_plugin_send(), wlan_plugin_setup_monitor(), and wlan_plugin_string_to_address().
struct GNUNET_MessageStreamTokenizer* tokenizer |
Our message stream tokenizer.
Definition at line 159 of file gnunet-cmds-helper.c.
Referenced by do_shutdown(), read_task(), and run().
|
static |
Disk handle from stdin.
Definition at line 164 of file gnunet-cmds-helper.c.
Referenced by do_shutdown(), read_task(), and run().
|
static |
Disk handle for stdout.
Definition at line 169 of file gnunet-cmds-helper.c.
Referenced by do_shutdown(), run(), write_message(), and write_task().
|
static |
Pipe used to communicate shutdown via signal.
Definition at line 174 of file gnunet-cmds-helper.c.
Referenced by main(), and sighandler_child_death().
|
static |
Task identifier for the read task.
Definition at line 179 of file gnunet-cmds-helper.c.
Referenced by do_shutdown(), read_task(), and run().
|
static |
Task identifier for the write task.
Definition at line 184 of file gnunet-cmds-helper.c.
Referenced by do_shutdown(), write_message(), and write_task().
|
static |
Are we done reading messages from stdin?
Definition at line 189 of file gnunet-cmds-helper.c.
Referenced by read_task().
|
static |
Result to return in case we fail.
Definition at line 194 of file gnunet-cmds-helper.c.
Referenced by main(), and tokenizer_cb().