aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/nbd.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-10-13 16:28:32 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2012-10-13 16:28:32 -0400
commit0b381a286e5d748b1fd80095d3dd52326819742f (patch)
treed72fca56123520b9c78661137f8a02b6ad26f95b /include/linux/nbd.h
parent034b5eeb6bc783e7f60e11299154556e65699e7a (diff)
parent5921e6f8809b1616932ca4afd40fe449faa8fd88 (diff)
Merge tag 'disintegrate-main-20121013' of git://git.infradead.org/users/dhowells/linux-headers
Pull UAPI disintegration for include/linux/{,byteorder/}*.h from David Howells: "The patches contained herein do the following: (1) Remove kernel-only stuff in linux/ppp-comp.h from the UAPI. I checked this with Paul Mackerras before I created the patch and he suggested some extra bits to unexport. (2) Remove linux/blk_types.h entirely from the UAPI as none of it is userspace applicable, and remove from the UAPI that part of linux/fs.h that was the reason for linux/blk_types.h being exported in the first place. I discussed this with Jens Axboe before creating the patch. (3) The big patch of the series to disintegrate include/linux/*.h as a unit. This could be split up, though there would be collisions in moving stuff between the two Kbuild files when the parts are merged as that file is sorted alphabetically rather than being grouped by subsystem. Of this set of headers, 17 files have changed in the UAPI exported region since the 4th and only 8 since the 9th so there isn't much change in this area - as one might expect. It should be pretty obvious and straightforward if it does come to fixing up: stuff in __KERNEL__ guards stays where it is and stuff outside moves to the same file in the include/uapi/linux/ directory. If a new file appears then things get a bit more complicated as the "headers +=" line has to move to include/uapi/linux/Kbuild. Only one new file has appeared since the 9th and I judge this type of event relatively unlikely. (4) A patch to disintegrate include/linux/byteorder/*.h as a unit. Signed-off-by: David Howells <dhowells@redhat.com>" * tag 'disintegrate-main-20121013' of git://git.infradead.org/users/dhowells/linux-headers: UAPI: (Scripted) Disintegrate include/linux/byteorder UAPI: (Scripted) Disintegrate include/linux UAPI: Unexport linux/blk_types.h UAPI: Unexport part of linux/ppp-comp.h
Diffstat (limited to 'include/linux/nbd.h')
-rw-r--r--include/linux/nbd.h63
1 files changed, 1 insertions, 62 deletions
diff --git a/include/linux/nbd.h b/include/linux/nbd.h
index 5c86e2b33e2d..4871170a04a0 100644
--- a/include/linux/nbd.h
+++ b/include/linux/nbd.h
@@ -11,45 +11,13 @@
11 * 2004/02/19 Paul Clements 11 * 2004/02/19 Paul Clements
12 * Removed PARANOIA, plus various cleanup and comments 12 * Removed PARANOIA, plus various cleanup and comments
13 */ 13 */
14
15#ifndef LINUX_NBD_H 14#ifndef LINUX_NBD_H
16#define LINUX_NBD_H 15#define LINUX_NBD_H
17 16
18#include <linux/types.h>
19
20#define NBD_SET_SOCK _IO( 0xab, 0 )
21#define NBD_SET_BLKSIZE _IO( 0xab, 1 )
22#define NBD_SET_SIZE _IO( 0xab, 2 )
23#define NBD_DO_IT _IO( 0xab, 3 )
24#define NBD_CLEAR_SOCK _IO( 0xab, 4 )
25#define NBD_CLEAR_QUE _IO( 0xab, 5 )
26#define NBD_PRINT_DEBUG _IO( 0xab, 6 )
27#define NBD_SET_SIZE_BLOCKS _IO( 0xab, 7 )
28#define NBD_DISCONNECT _IO( 0xab, 8 )
29#define NBD_SET_TIMEOUT _IO( 0xab, 9 )
30#define NBD_SET_FLAGS _IO( 0xab, 10)
31
32enum {
33 NBD_CMD_READ = 0,
34 NBD_CMD_WRITE = 1,
35 NBD_CMD_DISC = 2,
36 /* there is a gap here to match userspace */
37 NBD_CMD_TRIM = 4
38};
39
40/* values for flags field */
41#define NBD_FLAG_HAS_FLAGS (1 << 0) /* nbd-server supports flags */
42#define NBD_FLAG_READ_ONLY (1 << 1) /* device is read-only */
43/* there is a gap here to match userspace */
44#define NBD_FLAG_SEND_TRIM (1 << 5) /* send trim/discard */
45
46#define nbd_cmd(req) ((req)->cmd[0])
47
48/* userspace doesn't need the nbd_device structure */
49#ifdef __KERNEL__
50 17
51#include <linux/wait.h> 18#include <linux/wait.h>
52#include <linux/mutex.h> 19#include <linux/mutex.h>
20#include <uapi/linux/nbd.h>
53 21
54struct request; 22struct request;
55 23
@@ -76,32 +44,3 @@ struct nbd_device {
76}; 44};
77 45
78#endif 46#endif
79
80/* These are sent over the network in the request/reply magic fields */
81
82#define NBD_REQUEST_MAGIC 0x25609513
83#define NBD_REPLY_MAGIC 0x67446698
84/* Do *not* use magics: 0x12560953 0x96744668. */
85
86/*
87 * This is the packet used for communication between client and
88 * server. All data are in network byte order.
89 */
90struct nbd_request {
91 __be32 magic;
92 __be32 type; /* == READ || == WRITE */
93 char handle[8];
94 __be64 from;
95 __be32 len;
96} __attribute__((packed));
97
98/*
99 * This is the reply packet that nbd-server sends back to the client after
100 * it has completed an I/O request (or an error occurs).
101 */
102struct nbd_reply {
103 __be32 magic;
104 __be32 error; /* 0 = ok, else error */
105 char handle[8]; /* handle you got from request */
106};
107#endif