aboutsummaryrefslogtreecommitdiff
path: root/nbd.h
diff options
context:
space:
mode:
authorLaurent Vivier <laurent@vivier.eu>2010-08-25 22:48:33 +0200
committerKevin Wolf <kwolf@redhat.com>2010-08-30 18:29:22 +0200
commit1d45f8b542f6b80b24c44533ef0dd9e1a3b17ea5 (patch)
treea94959416cdcfc3d9317d31e1026533563a59c79 /nbd.h
parent2aa326be0d2039f51192707bdb2fc935d0e87c21 (diff)
downloadqemu-1d45f8b542f6b80b24c44533ef0dd9e1a3b17ea5.zip
qemu-1d45f8b542f6b80b24c44533ef0dd9e1a3b17ea5.tar.gz
qemu-1d45f8b542f6b80b24c44533ef0dd9e1a3b17ea5.tar.bz2
nbd: Introduce NBD named exports.
This patch allows to connect Qemu using NBD protocol to an nbd-server using named exports. For instance, if on the host "isoserver", in /etc/nbd-server/config, you have: [generic] [debian-500-ppc-netinst] exportname = /ISO/debian-500-powerpc-netinst.iso [Fedora-10-ppc-netinst] exportname = /ISO/Fedora-10-ppc-netinst.iso You can connect to it, using: qemu -cdrom nbd:isoserver:exportname=debian-500-ppc-netinst qemu -cdrom nbd:isoserver:exportname=Fedora-10-ppc-netinst NOTE: you need at least nbd-server 2.9.18 Signed-off-by: Laurent Vivier <laurent@vivier.eu> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'nbd.h')
-rw-r--r--nbd.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/nbd.h b/nbd.h
index 5a1fbdf..8ff65a1 100644
--- a/nbd.h
+++ b/nbd.h
@@ -42,6 +42,8 @@ enum {
NBD_CMD_DISC = 2
};
+#define NBD_DEFAULT_PORT 10809
+
size_t nbd_wr_sync(int fd, void *buffer, size_t size, bool do_read);
int tcp_socket_outgoing(const char *address, uint16_t port);
int tcp_socket_incoming(const char *address, uint16_t port);
@@ -49,7 +51,8 @@ int unix_socket_outgoing(const char *path);
int unix_socket_incoming(const char *path);
int nbd_negotiate(int csock, off_t size);
-int nbd_receive_negotiate(int csock, off_t *size, size_t *blocksize);
+int nbd_receive_negotiate(int csock, const char *name, uint32_t *flags,
+ off_t *size, size_t *blocksize);
int nbd_init(int fd, int csock, off_t size, size_t blocksize);
int nbd_send_request(int csock, struct nbd_request *request);
int nbd_receive_reply(int csock, struct nbd_reply *reply);