Since v1: - rebase to applied patches - split out support for Int in callbacks - sort of test that callbacks work in OCaml (see comment in patch 5) - rename API to nbd_pread_structured - expose error as explicit parameter to callback Eric Blake (5): generator: Allow Int in callbacks states: Wire in a read callback states: Add nbd_pread_structured API states: Add tests for nbd_pread_structured states: Add DF flag support for pread .gitignore | 1 + generator/generator | 140 +++++++++++++++++++-- generator/states-reply-simple.c | 15 ++- generator/states-reply-structured.c | 44 ++++++- interop/Makefile.am | 11 +- interop/structured-read.c | 183 ++++++++++++++++++++++++++++ interop/structured-read.sh | 57 +++++++++ lib/flags.c | 11 ++ lib/internal.h | 4 +- lib/nbd-protocol.h | 1 + lib/protocol.c | 1 + lib/rw.c | 42 +++++++ python/t/405-pread-structured.py | 43 +++++++ tests/oldstyle.c | 78 +++++++++++- 14 files changed, 611 insertions(+), 20 deletions(-) create mode 100644 interop/structured-read.c create mode 100755 interop/structured-read.sh create mode 100644 python/t/405-pread-structured.py -- 2.20.1