~jderose/ubuntu/raring/qemu/vde-again

« back to all changes in this revision

Viewing changes to nbd.h

  • Committer: Bazaar Package Importer
  • Author(s): Aurelien Jarno, Aurelien Jarno
  • Date: 2009-03-07 06:20:34 UTC
  • mfrom: (1.1.9 upstream)
  • mto: This revision was merged to the branch mainline in revision 7.
  • Revision ID: james.westby@ubuntu.com-20090307062034-i3pead4mw653v2el
Tags: 0.10.0-1
[ Aurelien Jarno ]
* New upstream release:
  - Fix fr-be keyboard mapping (closes: bug#514462).
  - Fix stat64 structure on ppc-linux-user (closes: bug#470231).
  - Add a chroot option (closes: bug#415996).
  - Add evdev support (closes: bug#513210).
  - Fix loop on symlinks in user mode (closes: bug#297572).
  - Bump depends on openbios-sparc.
  - Depends on openbios-ppc.
  - Update 12_signal_powerpc_support.patch.
  - Update 21_net_soopts.patch.
  - Drop 44_socklen_t_check.patch (merged upstream).
  - Drop 49_null_check.patch (merged upstream).
  - Update 64_ppc_asm_constraints.patch.
  - Drop security/CVE-2008-0928-fedora.patch (merged upstream).
  - Drop security/CVE-2007-5730.patch (merged upstream).
* patches/80_stable-branch.patch: add patches from stable branch:
  - Fix race condition between signal handler/execution loop (closes:
    bug#474386, bug#501731).
* debian/copyright: update.
* Compile and install .dtb files:
  - debian/control: build-depends on device-tree-compiler.
  - debian/patches/81_compile_dtb.patch: new patch from upstream.
  - debian/rules: compile and install bamboo.dtb and mpc8544.dtb.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 *  Copyright (C) 2005  Anthony Liguori <anthony@codemonkey.ws>
 
3
 *
 
4
 *  Network Block Device
 
5
 *
 
6
 *  This program is free software; you can redistribute it and/or modify
 
7
 *  it under the terms of the GNU General Public License as published by
 
8
 *  the Free Software Foundation; under version 2 of the License.
 
9
 *
 
10
 *  This program is distributed in the hope that it will be useful,
 
11
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 
12
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
13
 *  GNU General Public License for more details.
 
14
 *
 
15
 *  You should have received a copy of the GNU General Public License
 
16
 *  along with this program; if not, write to the Free Software
 
17
 *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA  02110-1301 USA
 
18
 */
 
19
 
 
20
#ifndef NBD_H
 
21
#define NBD_H
 
22
 
 
23
#include <sys/types.h>
 
24
#include <stdbool.h>
 
25
 
 
26
#include <qemu-common.h>
 
27
#include "block_int.h"
 
28
 
 
29
struct nbd_request {
 
30
    uint32_t type;
 
31
    uint64_t handle;
 
32
    uint64_t from;
 
33
    uint32_t len;
 
34
};
 
35
 
 
36
struct nbd_reply {
 
37
    uint32_t error;
 
38
    uint64_t handle;
 
39
};
 
40
 
 
41
enum {
 
42
    NBD_CMD_READ = 0,
 
43
    NBD_CMD_WRITE = 1,
 
44
    NBD_CMD_DISC = 2
 
45
};
 
46
 
 
47
size_t nbd_wr_sync(int fd, void *buffer, size_t size, bool do_read);
 
48
int tcp_socket_outgoing(const char *address, uint16_t port);
 
49
int tcp_socket_incoming(const char *address, uint16_t port);
 
50
int unix_socket_outgoing(const char *path);
 
51
int unix_socket_incoming(const char *path);
 
52
 
 
53
int nbd_negotiate(int csock, off_t size);
 
54
int nbd_receive_negotiate(int csock, off_t *size, size_t *blocksize);
 
55
int nbd_init(int fd, int csock, off_t size, size_t blocksize);
 
56
int nbd_send_request(int csock, struct nbd_request *request);
 
57
int nbd_receive_reply(int csock, struct nbd_reply *reply);
 
58
int nbd_trip(BlockDriverState *bs, int csock, off_t size, uint64_t dev_offset,
 
59
             off_t *offset, bool readonly, uint8_t *data, int data_size);
 
60
int nbd_client(int fd, int csock);
 
61
int nbd_disconnect(int fd);
 
62
 
 
63
#endif