summaryrefslogtreecommitdiffstats
path: root/src/server/globals.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/globals.h')
-rw-r--r--src/server/globals.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/server/globals.h b/src/server/globals.h
index 95d8ec2..8807019 100644
--- a/src/server/globals.h
+++ b/src/server/globals.h
@@ -18,12 +18,15 @@ typedef struct _dnbd3_uplink dnbd3_uplink_t;
typedef struct _dnbd3_image dnbd3_image_t;
typedef struct _dnbd3_client dnbd3_client_t;
+typedef void (*uplink_callback)(void *data, uint64_t handle, uint64_t start, uint32_t length, const char *buffer);
+
typedef struct _dnbd3_queue_client
{
struct _dnbd3_queue_client *next;
- uint64_t handle; // Handle used by client
+ void* data; // Passed back to callback
+ uint64_t handle; // Passed back to callback
uint64_t from, to; // Client range
- dnbd3_client_t * client; // Client to send reply to
+ uplink_callback callback; // Callback function
} dnbd3_queue_client_t;
typedef struct _dnbd3_queue_entry