|
Packit |
eace71 |
.TH "libopeniscsiusr.h" 3 "November 2017" "iSCSI userspace API - libopeniscsiusr Manual"
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
.SH NAME
|
|
Packit |
eace71 |
libopeniscsiusr.h \- iSCSI userspace API.
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
.SH SYNOPSIS
|
|
Packit |
eace71 |
#include <libopeniscsiusr/libopeniscsiusr.h>
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
.SH "DESCRIPTION"
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
All the libopeniscsiusr public functions ship their own man pages.
|
|
Packit |
eace71 |
You may use 'man -k iscsi' to find out and use 'man 3 <function_name>' to check
|
|
Packit |
eace71 |
the detail usage.
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
.SH "USAGE"
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
To use libopeniscsiusr in your project, we suggest to use the 'pkg-config' way:
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
* Add this line into your configure.ac:
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
PKG_CHECK_MODULES([LIBISCSIUSR], [libopeniscsiusr])
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
* Add these lines into your Makefile.am:
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
foo_LDFLAGS += $(LIBISCSIUSR_LIBS)
|
|
Packit |
eace71 |
foo_CFLAGS += $(LIBISCSIUSR_CFLAGS)
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
.SH LOG HANDLING
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
The log handler function could be set via 'iscsi_context_log_func_set()'.
|
|
Packit |
eace71 |
The log priority could be set via 'iscsi_context_log_priority_set()'.
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
By default, the log priorities is 'LIBISCSI_LOG_PRIORITY_WARNING'.
|
|
Packit |
eace71 |
By default, the log handler is print log to STDERR, and its code is listed
|
|
Packit |
eace71 |
below in case you want to take it as an example to create your own log handler.
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
#define _ISCSI_LOG_STRERR_ALIGN_WIDTH 80
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
void _iscsi_log_stderr(struct iscsi_context *ctx, int priority,
|
|
Packit |
eace71 |
const char *file, int line,
|
|
Packit |
eace71 |
const char *func_name,
|
|
Packit |
eace71 |
const char *format, va_list args)
|
|
Packit |
eace71 |
{
|
|
Packit |
eace71 |
int printed_bytes = 0;
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
printed_bytes += fprintf(stderr, "iSCSI %s: ",
|
|
Packit |
eace71 |
iscsi_log_priority_str(priority));
|
|
Packit |
eace71 |
printed_bytes += vfprintf(stderr, format, args);
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
if (printed_bytes < _ISCSI_LOG_STRERR_ALIGN_WIDTH) {
|
|
Packit |
eace71 |
fprintf(stderr, "%*s # %s:%s():%d\n",
|
|
Packit |
eace71 |
_ISCSI_LOG_STRERR_ALIGN_WIDTH - printed_bytes,
|
|
Packit |
eace71 |
"", file, func_name, line);
|
|
Packit |
eace71 |
} else {
|
|
Packit |
eace71 |
fprintf(stderr, " # %s:%s():%d\n", file, func_name,
|
|
Packit |
eace71 |
line);
|
|
Packit |
eace71 |
}
|
|
Packit |
eace71 |
}
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
.SH "SAMPLE CODE"
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
struct iscsi_context *ctx = NULL;
|
|
Packit |
eace71 |
struct iscsi_session **ses = NULL;
|
|
Packit |
eace71 |
uint32_t se_count = 0;
|
|
Packit |
eace71 |
uint32_t i = 0;
|
|
Packit |
eace71 |
int rc = EXIT_SUCCESS;
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
ctx = iscsi_context_new();
|
|
Packit |
eace71 |
iscsi_context_log_priority_set(ctx, LIBISCSI_LOG_PRIORITY_DEBUG);
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
if (iscsi_sessions_get(ctx, &ses, &se_count) != LIBISCSI_OK) {
|
|
Packit |
eace71 |
printf("FAILED\n");
|
|
Packit |
eace71 |
rc = EXIT_FAILURE;
|
|
Packit |
eace71 |
} else {
|
|
Packit |
eace71 |
printf("\nGot %" PRIu32 " iSCSI sessions\n", se_count);
|
|
Packit |
eace71 |
for (i = 0; i < se_count; ++i)
|
|
Packit |
eace71 |
printf("SID is %" PRIu32 "\n",
|
|
Packit |
eace71 |
iscsi_session_sid_get(ses[i]));
|
|
Packit |
eace71 |
iscsi_sessions_free(ses, se_count);
|
|
Packit |
eace71 |
}
|
|
Packit |
eace71 |
iscsi_context_free(ctx);
|
|
Packit |
eace71 |
exit(rc);
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
.SH "LICENSE"
|
|
Packit |
eace71 |
GPLv3+
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
.SH "BUG"
|
|
Packit |
eace71 |
Please report bug to https://github.com/open-iscsi/open-iscsi/issues
|