Network Block Device @PACKAGE_VERSION@
Data Structures | Defines | Enumerations | Functions | Variables

nbd.h File Reference

Go to the source code of this file.

Data Structures

struct  nbd_request
struct  nbd_reply

Defines

#define NBD_SET_SOCK   _IO( 0xab, 0 )
#define NBD_SET_BLKSIZE   _IO( 0xab, 1 )
#define NBD_SET_SIZE   _IO( 0xab, 2 )
#define NBD_DO_IT   _IO( 0xab, 3 )
#define NBD_CLEAR_SOCK   _IO( 0xab, 4 )
#define NBD_CLEAR_QUE   _IO( 0xab, 5 )
#define NBD_PRINT_DEBUG   _IO( 0xab, 6 )
#define NBD_SET_SIZE_BLOCKS   _IO( 0xab, 7 )
#define NBD_DISCONNECT   _IO( 0xab, 8 )
#define NBD_SET_TIMEOUT   _IO( 0xab, 9 )
#define NBD_SET_FLAGS   _IO( 0xab, 10 )
#define NBD_CMD_MASK_COMMAND   0x0000ffff
#define NBD_CMD_SHIFT   (16)
#define NBD_CMD_FLAG_FUA   ((1 << 0) << NBD_CMD_SHIFT)
#define NBD_FLAG_HAS_FLAGS   (1 << 0)
#define NBD_FLAG_READ_ONLY   (1 << 1)
#define NBD_FLAG_SEND_FLUSH   (1 << 2)
#define NBD_FLAG_SEND_FUA   (1 << 3)
#define NBD_FLAG_ROTATIONAL   (1 << 4)
#define NBD_FLAG_SEND_TRIM   (1 << 5)
#define nbd_cmd(req)   ((req)->cmd[0])
#define NBD_REQUEST_MAGIC   0x25609513
#define NBD_REPLY_MAGIC   0x67446698

Enumerations

enum  {
  NBD_CMD_READ = 0, NBD_CMD_WRITE = 1, NBD_CMD_DISC = 2, NBD_CMD_FLUSH = 3,
  NBD_CMD_TRIM = 4
}

Functions

struct nbd_request __attribute__ ((packed))

Variables

uint32_t magic
uint32_t type
char handle [8]
uint64_t from
uint32_t len
struct nbd_reply __attribute__

Define Documentation

#define NBD_CLEAR_QUE   _IO( 0xab, 5 )

Definition at line 25 of file nbd.h.

#define NBD_CLEAR_SOCK   _IO( 0xab, 4 )

Definition at line 24 of file nbd.h.

Referenced by disconnect(), main(), and setsizes().

#define nbd_cmd (   req)    ((req)->cmd[0])

Definition at line 52 of file nbd.h.

#define NBD_CMD_FLAG_FUA   ((1 << 0) << NBD_CMD_SHIFT)

Definition at line 42 of file nbd.h.

Referenced by handle_request(), main(), and mainloop().

#define NBD_CMD_MASK_COMMAND   0x0000ffff

Definition at line 40 of file nbd.h.

Referenced by handle_request(), handle_write(), main(), mainloop(), mainloop_threaded(), and package_create().

#define NBD_CMD_SHIFT   (16)

Definition at line 41 of file nbd.h.

#define NBD_DISCONNECT   _IO( 0xab, 8 )

Definition at line 28 of file nbd.h.

Referenced by disconnect().

#define NBD_DO_IT   _IO( 0xab, 3 )

Definition at line 23 of file nbd.h.

Referenced by main().

#define NBD_FLAG_HAS_FLAGS   (1 << 0)

Definition at line 45 of file nbd.h.

Referenced by send_export_info().

#define NBD_FLAG_READ_ONLY   (1 << 1)

Definition at line 46 of file nbd.h.

Referenced by send_export_info(), and setsizes().

#define NBD_FLAG_ROTATIONAL   (1 << 4)

Definition at line 49 of file nbd.h.

Referenced by send_export_info().

#define NBD_FLAG_SEND_FLUSH   (1 << 2)

Definition at line 47 of file nbd.h.

Referenced by send_export_info().

#define NBD_FLAG_SEND_FUA   (1 << 3)

Definition at line 48 of file nbd.h.

Referenced by send_export_info().

#define NBD_FLAG_SEND_TRIM   (1 << 5)

Definition at line 50 of file nbd.h.

Referenced by send_export_info().

#define NBD_PRINT_DEBUG   _IO( 0xab, 6 )

Definition at line 26 of file nbd.h.

#define NBD_REPLY_MAGIC   0x67446698

Definition at line 59 of file nbd.h.

Referenced by main(), mainloop(), and setup_reply().

#define NBD_REQUEST_MAGIC   0x25609513

Definition at line 58 of file nbd.h.

Referenced by main(), mainloop(), and mainloop_threaded().

#define NBD_SET_BLKSIZE   _IO( 0xab, 1 )

Definition at line 21 of file nbd.h.

Referenced by setsizes().

#define NBD_SET_FLAGS   _IO( 0xab, 10 )

Definition at line 30 of file nbd.h.

Referenced by setsizes().

#define NBD_SET_SIZE   _IO( 0xab, 2 )

Definition at line 22 of file nbd.h.

#define NBD_SET_SIZE_BLOCKS   _IO( 0xab, 7 )

Definition at line 27 of file nbd.h.

Referenced by setsizes().

#define NBD_SET_SOCK   _IO( 0xab, 0 )

Definition at line 20 of file nbd.h.

Referenced by finish_sock().

#define NBD_SET_TIMEOUT   _IO( 0xab, 9 )

Definition at line 29 of file nbd.h.

Referenced by set_timeout().


Enumeration Type Documentation

anonymous enum
Enumerator:
NBD_CMD_READ 
NBD_CMD_WRITE 
NBD_CMD_DISC 
NBD_CMD_FLUSH 
NBD_CMD_TRIM 

Definition at line 32 of file nbd.h.


Function Documentation

struct nbd_request __attribute__ ( (packed)  )

Variable Documentation

struct nbd_reply __attribute__

Referenced by size_autodetect().

uint64_t from

Definition at line 76 of file nbd.h.

char handle[8]

Definition at line 75 of file nbd.h.

Referenced by main(), and open_treefile().

uint32_t len

Definition at line 77 of file nbd.h.

Referenced by ask_list(), check_conn(), handle_list(), main(), mainloop(), oom_adjust(), punch_hole(), and serveloop().

uint32_t magic

Definition at line 73 of file nbd.h.

Referenced by ask_list(), main(), negotiate(), and send_reply().

uint32_t type

Definition at line 74 of file nbd.h.

Referenced by handle_request().