#ifndef _BLK_BSG_
#define _BLK_BSG_
#include <linux/blkdev.h>
struct bsg_job;
struct request;
struct device;
struct scatterlist;
struct request_queue;
bsg_job_fn;
bsg_timeout_fn;
struct bsg_buffer { … };
struct bsg_job { … };
void bsg_job_done(struct bsg_job *job, int result,
unsigned int reply_payload_rcv_len);
struct request_queue *bsg_setup_queue(struct device *dev, const char *name,
struct queue_limits *lim, bsg_job_fn *job_fn,
bsg_timeout_fn *timeout, int dd_job_size);
void bsg_remove_queue(struct request_queue *q);
void bsg_job_put(struct bsg_job *job);
int __must_check bsg_job_get(struct bsg_job *job);
#endif