diff --git a/doc/iscsi-inq.1 b/doc/iscsi-inq.1
new file mode 100644
index 0000000..95d73e5
--- /dev/null
+++ b/doc/iscsi-inq.1
@@ -0,0 +1,145 @@
+'\" t
+.\" Title: iscsi-inq
+.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
+.\" Generator: DocBook XSL Stylesheets v1.76.1
+.\" Date: 03/22/2014
+.\" Manual: iscsi-inq: Perform INQUIRY on an iSCSI LUN
+.\" Source: iscsi-inq
+.\" Language: English
+.\"
+.TH "ISCSI\-INQ" "1" "03/22/2014" "iscsi\-inq" "iscsi\-inq: Perform INQUIRY on"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+iscsi-inq \- Utility to request INQUIRY data from an iSCSI LUN
+.SH "SYNOPSIS"
+.HP \w'\fBiscsi\-inq\ [\ OPTIONS\ ]\ \fR\ 'u
+\fBiscsi\-inq [ OPTIONS ] \fR
+.HP \w'\fBiscsi\-inq\fR\ 'u
+\fBiscsi\-inq\fR [\-i\ \-\-initiator\-name=] [\-e\ \-\-evpd=] [\-c\ \-\-pagecode=] [\-d\ \-\-debug=] [\-?\ \-\-help] [\-\-usage] []
+.SH "DESCRIPTION"
+.PP
+iscsi\-inq is a utility to request INQUIRY data from an iSCSI LUN\&.
+.SH "ISCSI URL FORMAT"
+.PP
+iSCSI URL format is \*(Aqiscsi://[[%]@][:]//\*(Aq
+.PP
+Username and password are only required if the target requires CHAP authentication\&. Optionally you can specify the username and password via the environment variables LIBISCSI_CHAP_USERNAME and LIBISCSI_CHAP_PASSWORD\&.
+.PP
+Host can be specified either as a hostname, an IPv4 address or an IPv6 address\&. Examples:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+ iscsi://192\&.0\&.2\&.1/iqn\&.ronnie\&.test/1
+ iscsi://[2001:DB8::1]:3261/iqn\&.ronnie\&.test/1
+ iscsi://ronnie%password@iscsi\&.example\&.com/iqn\&.ronnie\&.test/1
+
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+Port is the TCP port on the target to connect to\&. Default is 3260\&.
+.PP
+Target\-iqn\-name is the iqn name of the target\&. An iSCSI portal can have multiple targets defined\&. Use iscsi\-ls to list all targets available on one specific portal\&.
+.PP
+LUN is the LUN number to report the INQUIRY data for\&.
+.SH "OPTIONS"
+.PP
+\-i \-\-initiator\-name=
+.RS 4
+This specifies the initiator\-name that iscsi\-inq will use when logging in to the target\&.
+.sp
+The default name is \*(Aqiqn\&.2007\-10\&.com\&.github:sahlberg:libiscsi:iscsi\-inq\*(Aq but you can use this argument to override this\&. This is mainly needed for cases where the target is configured with access\-control to only allow discovery logins from known initiator\-names\&.
+.RE
+.PP
+\-e \-\-evpd=
+.RS 4
+By default iscsi\-inq will display the standard inquiry data\&. Specify evpd as 1 to display extended VPD pages\&.
+.RE
+.PP
+\-c \-\-pagecode=
+.RS 4
+This argument specifies which VPD page to display when evpd is requested\&. Default is 0x00 which represents SUPPORTED VPD PAGES\&.
+.sp
+This argument can only be used when evpd is set to 1\&.
+.RE
+.PP
+\-d \-\-debug=
+.RS 4
+Debug level\&.
+.RE
+.PP
+\-? \-\-help
+.RS 4
+Display basic help text\&.
+.RE
+.PP
+\-\-usage
+.RS 4
+Display basic usage text\&.
+.RE
+.SH "EXAMPLES"
+.PP
+To print the standard INQUIRY page:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+ iscsi\-inq iscsi://192\&.0\&.2\&.1/iqn\&.ronnie\&.test/1
+
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+To list available pages:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+ iscsi\-inq \-e 1 iscsi://192\&.0\&.2\&.1/iqn\&.ronnie\&.test/1
+
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+To show a specific page:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+ iscsi\-inq \-e 1 \-c 0x80 iscsi://192\&.0\&.2\&.1/iqn\&.ronnie\&.test/1
+
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+.SH "SEE ALSO"
+.PP
+iscsi\-ls(1)
+\m[blue]\fB\%http://github.com/sahlberg/libiscsi\fR\m[]
diff --git a/doc/iscsi-ls.1 b/doc/iscsi-ls.1
new file mode 100644
index 0000000..44c898a
--- /dev/null
+++ b/doc/iscsi-ls.1
@@ -0,0 +1,95 @@
+'\" t
+.\" Title: iscsi-ls
+.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
+.\" Generator: DocBook XSL Stylesheets v1.76.1
+.\" Date: 03/22/2014
+.\" Manual: iscsi-ls: list iSCSI targets and LUNs
+.\" Source: iscsi-ls
+.\" Language: English
+.\"
+.TH "ISCSI\-LS" "1" "03/22/2014" "iscsi\-ls" "iscsi\-ls: list iSCSI targets"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+iscsi-ls \- Utility to list iSCSI targets and LUNs
+.SH "SYNOPSIS"
+.HP \w'\fBiscsi\-ls\ [\ OPTIONS\ ]\ \fR\ 'u
+\fBiscsi\-ls [ OPTIONS ] \fR
+.HP \w'\fBiscsi\-ls\fR\ 'u
+\fBiscsi\-ls\fR [\-i\ \-\-initiator\-name=] [\-s\ \-\-show\-luns] [\-d\ \-\-debug=] [\-?\ \-\-help] [\-\-usage]
+.SH "DESCRIPTION"
+.PP
+iscsi\-ls is a utility to list all targets and LUNs for an iSCSI portal\&.
+.SH "ISCSI PORTAL URL FORMAT"
+.PP
+iSCSI portal format is \*(Aqiscsi://[[%]@][:]\*(Aq
+.PP
+Username and password are only required if the target requires CHAP authentication\&. Optionally you can specify the username and password via the environment variables LIBISCSI_CHAP_USERNAME and LIBISCSI_CHAP_PASSWORD\&.
+.PP
+Host can be specified either as a hostname, an IPv4 address or an IPv6 address\&. Examples:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+ iscsi://192\&.0\&.2\&.1
+ iscsi://[2001:DB8::1]:3261
+ iscsi://ronnie%password@iscsi\&.example\&.com
+
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+Port is the TCP port on the target to connect to\&. Default is 3260\&.
+.SH "OPTIONS"
+.PP
+\-i \-\-initiator\-name=
+.RS 4
+This specifies the initiator\-name that iscsi\-ls will use when logging in to the target\&.
+.sp
+The default name is \*(Aqiqn\&.2007\-10\&.com\&.github:sahlberg:libiscsi:iscsi\-ls\*(Aq but you can use this argument to override this\&. This is mainly needed for cases where the target is configured with access\-control to only allow discovery logins from known initiator\-names\&.
+.RE
+.PP
+\-s \-\-show\-luns
+.RS 4
+In addition to listing all the targets at the specified portal also list all the LUNs and their types on each discovered target\&.
+.sp
+In order to display the type of LUN iscsi\-ls need to be able to perform a normal login on the targets\&. If the target is using access\-control you will need to specify an initiator\-name that allows normal logins to the target\&.
+.RE
+.PP
+\-d \-\-debug=
+.RS 4
+Debug level\&.
+.RE
+.PP
+\-? \-\-help
+.RS 4
+Display basic help text\&.
+.RE
+.PP
+\-\-usage
+.RS 4
+Display basic usage text\&.
+.RE
+.SH "SEE ALSO"
+.PP
+iscsi\-inq(1)
+\m[blue]\fB\%http://github.com/sahlberg/libiscsi\fR\m[]
diff --git a/doc/iscsi-swp.1 b/doc/iscsi-swp.1
new file mode 100644
index 0000000..625f42e
--- /dev/null
+++ b/doc/iscsi-swp.1
@@ -0,0 +1,113 @@
+'\" t
+.\" Title: iscsi-swp
+.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
+.\" Generator: DocBook XSL Stylesheets v1.76.1
+.\" Date: 03/22/2014
+.\" Manual: iscsi-swp: get/set software write protect
+.\" Source: iscsi-swp
+.\" Language: English
+.\"
+.TH "ISCSI\-SWP" "1" "03/22/2014" "iscsi\-swp" "iscsi\-swp: get/set software w"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+iscsi-swp \- Utility to get/set software write protect on an iSCSI LUN
+.SH "SYNOPSIS"
+.HP \w'\fBiscsi\-swp\ [\ OPTIONS\ ]\ \fR\ 'u
+\fBiscsi\-swp [ OPTIONS ] \fR
+.HP \w'\fBiscsi\-ls\fR\ 'u
+\fBiscsi\-ls\fR [\-i\ \-\-initiator\-name=] [\-s\ \-\-swp\ {on|off}] [\-d\ \-\-debug=] [\-?\ \-\-help] [\-\-usage]
+.SH "DESCRIPTION"
+.PP
+iscsi\-swp is a utility to get or set the software write protect on an iSCSI LUN\&.
+.SH "ISCSI PORTAL URL FORMAT"
+.PP
+iSCSI portal format is \*(Aqiscsi://[[%]@][:]\*(Aq
+.PP
+Username and password are only required if the target requires CHAP authentication\&. Optionally you can specify the username and password via the environment variables LIBISCSI_CHAP_USERNAME and LIBISCSI_CHAP_PASSWORD\&.
+.PP
+Host can be specified either as a hostname, an IPv4 address or an IPv6 address\&. Examples:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+ iscsi://192\&.0\&.2\&.1
+ iscsi://[2001:DB8::1]:3261
+ iscsi://ronnie%password@iscsi\&.example\&.com
+
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+Port is the TCP port on the target to connect to\&. Default is 3260\&.
+.SH "OPTIONS"
+.PP
+\-i \-\-initiator\-name=
+.RS 4
+This specifies the initiator\-name that iscsi\-ls will use when logging in to the target\&.
+.sp
+The default name is \*(Aqiqn\&.2007\-10\&.com\&.github:sahlberg:libiscsi:iscsi\-ls\*(Aq but you can use this argument to override this\&. This is mainly needed for cases where the target is configured with access\-control to only allow discovery logins from known initiator\-names\&.
+.RE
+.PP
+\-s \-\-swp {on|off}
+.RS 4
+By default iscsi\-swp will only print the current setting of the software write protect bit\&. By using this argument iscsi\-swp will also try to set/clear the flag on the target LUN\&.
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+iscsi\-swp iscsi://127\&.0\&.0\&.1/iqn\&.ronnie\&.test/1
+SWP:0
+
+iscsi\-swp iscsi://127\&.0\&.0\&.1/iqn\&.ronnie\&.test/1 \-\-swp on
+SWP:0
+Turning SWP ON
+
+iscsi\-swp iscsi://127\&.0\&.0\&.1/iqn\&.ronnie\&.test/1 \-\-swp off
+SWP:0
+Turning SWP OFF
+
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-d \-\-debug=
+.RS 4
+Debug level\&.
+.RE
+.PP
+\-? \-\-help
+.RS 4
+Display basic help text\&.
+.RE
+.PP
+\-\-usage
+.RS 4
+Display basic usage text\&.
+.RE
+.SH "SEE ALSO"
+.PP
+iscsi\-inq(1), iscsi\-ls(1)
+\m[blue]\fB\%http://github.com/sahlberg/libiscsi\fR\m[]