int main(void) { struct libiscsi_node *found_nodes; struct libiscsi_context *context; int i, found, rc = 0; context = libiscsi_init(); if (!context) { fprintf(stderr, "Error initializing libiscsi\n"); return 1; } rc = libiscsi_discover_firmware(context, &found, &found_nodes); if (rc) fprintf(stderr, "Error discovering: %s\n", libiscsi_get_error_string(context)); for (i = 0; i < found; i++) { fprintf(stdout, "Found node: %s, tpgt: %d, portal: %s:%d\n", found_nodes[i].name, found_nodes[i].tpgt, found_nodes[i].address, found_nodes[i].port); } libiscsi_cleanup(context); free (found_nodes); return rc; }
int main(void) { struct libiscsi_node node; struct libiscsi_context *context; int rc = 0; snprintf(node.name, LIBISCSI_VALUE_MAXLEN, "%s", "iqn.2009-01.com.example:testdisk"); node.tpgt = 1; snprintf(node.address, NI_MAXHOST, "%s", "127.0.0.1"); node.port = 3260; context = libiscsi_init(); if (!context) { fprintf(stderr, "Error initializing libiscsi\n"); return 1; } rc = libiscsi_node_logout(context, &node); if (rc) fprintf(stderr, "Error logging out: %s\n", libiscsi_get_error_string(context)); libiscsi_cleanup(context); return rc; }
/** * storaged_iscsi_state_new: * @daemon: A #StoragedDaemon instance. * * Initializes the #StoragedISCSIState structure that holds the global state * within ISCSI plugin. * * Returns: (transfer full): A #StoragedISCSIState that must be freed with * storaged_iscsi_state_free(). */ StoragedISCSIState * storaged_iscsi_state_new (StoragedDaemon *daemon) { StoragedISCSIState *state; state = g_malloc0 (sizeof(StoragedISCSIState)); if (state) { /* Initialize members. */ state->daemon = daemon; g_mutex_init (&state->libiscsi_mutex); state->iscsi_ctx = libiscsi_init (); } return state; }
int main(void) { struct libiscsi_node node; struct libiscsi_context *context; char orig_value[LIBISCSI_VALUE_MAXLEN], value[LIBISCSI_VALUE_MAXLEN]; int rc = 0; snprintf(node.name, LIBISCSI_VALUE_MAXLEN, "%s", "iqn.2009-01.com.example:testdisk"); node.tpgt = 1; snprintf(node.address, NI_MAXHOST, "%s", "127.0.0.1"); node.port = 3260; context = libiscsi_init(); if (!context) { fprintf(stderr, "Error initializing libiscsi\n"); return 1; } rc = libiscsi_node_get_parameter(context, &node, "node.startup", orig_value); if (rc) { fprintf(stderr, "Error getting original value: %s\n", libiscsi_get_error_string(context)); goto leave; } rc = libiscsi_node_set_parameter(context, &node, "node.startup", "automatic"); if (rc) { fprintf(stderr, "Error setting node startup param: %s\n", libiscsi_get_error_string(context)); goto leave; } rc = libiscsi_node_get_parameter(context, &node, "node.startup", value); if (rc) { fprintf(stderr, "Error getting node startup param: %s\n", libiscsi_get_error_string(context)); goto leave; } if (strcmp(value, "automatic")) { fprintf(stderr, "Error set and get values do not match!\n"); rc = EIO; goto leave; } rc = libiscsi_node_set_parameter(context, &node, "node.startup", orig_value); if (rc) { fprintf(stderr, "Error setting original value: %s\n", libiscsi_get_error_string(context)); goto leave; } rc = libiscsi_node_get_parameter(context, &node, "node.startup", value); if (rc) { fprintf(stderr, "Error re-getting original value: %s\n", libiscsi_get_error_string(context)); goto leave; } if (strcmp(value, orig_value)) { fprintf(stderr, "Error set and get original values do not match!\n"); rc = EIO; goto leave; } leave: libiscsi_cleanup(context); return rc; }