/* Generated by ./xlat/gen.sh from ./xlat/bsg_subprotocol.in; do not edit. */

static const struct xlat bsg_subprotocol[] = {
#if defined(BSG_SUB_PROTOCOL_SCSI_CMD) || (defined(HAVE_DECL_BSG_SUB_PROTOCOL_SCSI_CMD) && HAVE_DECL_BSG_SUB_PROTOCOL_SCSI_CMD)
 XLAT(BSG_SUB_PROTOCOL_SCSI_CMD),
#endif
#if defined(BSG_SUB_PROTOCOL_SCSI_TMF) || (defined(HAVE_DECL_BSG_SUB_PROTOCOL_SCSI_TMF) && HAVE_DECL_BSG_SUB_PROTOCOL_SCSI_TMF)
 XLAT(BSG_SUB_PROTOCOL_SCSI_TMF),
#endif
#if defined(BSG_SUB_PROTOCOL_SCSI_TRANSPORT) || (defined(HAVE_DECL_BSG_SUB_PROTOCOL_SCSI_TRANSPORT) && HAVE_DECL_BSG_SUB_PROTOCOL_SCSI_TRANSPORT)
 XLAT(BSG_SUB_PROTOCOL_SCSI_TRANSPORT),
#endif
 XLAT_END
};
