driver_command_t *driver_command_create(select_group_t *group, char *name) { driver_command_t *driver = (driver_command_t*) safe_malloc(sizeof(driver_command_t)); message_options_t options[3]; /* TODO: Find a way to name this using uname or the hostname or something. */ driver->name = name ? name : "command session"; driver->stream = command_packet_stream_create(TRUE); driver->group = group; /* Subscribe to the messages we care about. */ message_subscribe(MESSAGE_DATA_IN, handle_message, driver); options[0].name = "name"; options[0].value.s = driver->name; options[1].name = "is_command"; options[1].value.i = TRUE; options[2].name = NULL; driver->session_id = message_post_create_session(options); return driver; }
driver_command_t *driver_command_create(select_group_t *group) { driver_command_t *driver = (driver_command_t*) safe_malloc(sizeof(driver_command_t)); driver->stream = command_packet_stream_create(TRUE); driver->group = group; driver->is_shutdown = FALSE; driver->outgoing_data = buffer_create(BO_LITTLE_ENDIAN); return driver; }