Update to the public header to better document the api

This commit is contained in:
Ronnie Sahlberg
2010-12-31 12:26:46 +11:00
parent 46199d2f59
commit a0acddb627

View File

@@ -18,6 +18,31 @@
struct iscsi_context;
struct sockaddr;
/*
* The following three functions are used to integrate libiscsi in an event
* system.
*/
/*
* Returns the file descriptor that libiscsi uses.
*/
int iscsi_get_fd(struct iscsi_context *iscsi);
/*
* Returns which events that we need to poll for for the iscsi file descriptor.
*/
int iscsi_which_events(struct iscsi_context *iscsi);
/*
* Called to process the events when events become available for the iscsi
* file descriptor.
*/
int iscsi_service(struct iscsi_context *iscsi, int revents);
struct iscsi_url {
const char *portal;
const char *target;
@@ -26,30 +51,26 @@ struct iscsi_url {
int lun;
};
/*
* This function is used to parse an iSCSI URL into a iscsi_url structure.
* iSCSI URL format :
* iscsi://[<username>%<password>@]<host>[:<port>]/<target-iqn>/<lun>
*
* Function will return a pointer to an iscsi url structure if successful,
* or it will return NULL and set iscsi_get_error() accrodingly if there was a problem
* with the URL.
*
* The returnes structure is freed by calling iscsi_destroy_url()
*/
struct iscsi_url *iscsi_parse_full_url(struct iscsi_context *iscsi, const char *url);
void iscsi_destroy_url(struct iscsi_url *iscsi_url);
/*
* This function returns a description of the last encountered error.
*/
const char *iscsi_get_error(struct iscsi_context *iscsi);
/*
* Returns the file descriptor that libiscsi uses.
*/
int iscsi_get_fd(struct iscsi_context *iscsi);
/*
* Returns which events that we need to poll for for the iscsi file descriptor.
*/
int iscsi_which_events(struct iscsi_context *iscsi);
/*
* Called to process the events when events become available for the iscsi
* file descriptor.
*/
int iscsi_service(struct iscsi_context *iscsi, int revents);
/*
* Create a context for an ISCSI session.
* Initiator_name is the iqn name we want to identify to the target as.
@@ -92,15 +113,14 @@ int iscsi_set_alias(struct iscsi_context *iscsi, const char *alias);
int iscsi_set_targetname(struct iscsi_context *iscsi, const char *targetname);
/* Types of icsi sessions. Discovery sessions are used to query for what
* targets exist behin the portal connected to. Normal sessions are used to
/* Type of iscsi sessions. Discovery sessions are used to query for what
* targets exist behind the portal connected to. Normal sessions are used to
* log in and do I/O to the SCSI LUNs
*/
enum iscsi_session_type {
ISCSI_SESSION_DISCOVERY = 1,
ISCSI_SESSION_NORMAL = 2
};
/*
* Set the session type for a scsi context.
* Session type can only be set/changed while the iscsi context is not
@@ -357,6 +377,10 @@ int iscsi_nop_out_async(struct iscsi_context *iscsi, iscsi_command_cb cb,
unsigned char *data, int len, void *private_data);
/* These are the possible status values for the callbacks for scsi commands.
* The content of command_data depends on the status type.
*
@@ -376,14 +400,11 @@ int iscsi_nop_out_async(struct iscsi_context *iscsi, iscsi_command_cb cb,
* ISCSI_STATUS_ERROR the command failed. Command_data is NULL.
*/
struct iscsi_data {
int size;
unsigned char *data;
};
/*
* Async commands for SCSI
*/