00001
00044 #ifndef BLOCK_FILL_H_INCLUDED
00045 #define BLOCK_FILL_H_INCLUDED
00046
00047 #include <types.h>
00048 #include <block/device.h>
00049
00050 struct block_fill_request;
00051
00052 typedef void (*block_fill_callback_t)(struct block_fill_request *req,
00053 int status, uint32_t blocks_filled, void *context);
00054
00055 extern struct block_fill_request *block_fill_alloc(struct block_device *bdev,
00056 block_addr_t first_lba, uint32_t nr_blocks, void *context);
00057 extern void block_fill_free(struct block_fill_request *req);
00058 extern void block_fill_set_byte_pattern(struct block_fill_request *req,
00059 uint8_t pattern);
00060 extern void block_fill_set_completion_callback(struct block_fill_request *req,
00061 block_fill_callback_t callback);
00062 extern void block_fill_submit(struct block_fill_request *req);
00063
00064 #endif