1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 217cb960fSChristoph Hellwig #ifndef _LINUX_BSG_H 317cb960fSChristoph Hellwig #define _LINUX_BSG_H 43d6392cfSJens Axboe 5607ca46eSDavid Howells #include <uapi/linux/bsg.h> 64ab3b73fSDouglas Gilbert 7ead09dd3SChristoph Hellwig struct bsg_device; 8ead09dd3SChristoph Hellwig struct device; 978011042SChristoph Hellwig struct request_queue; 1045977d0eSFUJITA Tomonori 1175ca5640SChristoph Hellwig typedef int (bsg_sg_io_fn)(struct request_queue *, struct sg_io_v4 *hdr, 12*1991299eSChristoph Hellwig bool open_for_write, unsigned int timeout); 1317cb960fSChristoph Hellwig 14ead09dd3SChristoph Hellwig struct bsg_device *bsg_register_queue(struct request_queue *q, 15ead09dd3SChristoph Hellwig struct device *parent, const char *name, 1675ca5640SChristoph Hellwig bsg_sg_io_fn *sg_io_fn); 17ead09dd3SChristoph Hellwig void bsg_unregister_queue(struct bsg_device *bcd); 183d6392cfSJens Axboe 1917cb960fSChristoph Hellwig #endif /* _LINUX_BSG_H */ 20