#!/bin/sh
# gen.sh -- extract VERBATIM vpo_intr (vpo.c) + imm_do_scsi (immio.c)
set -e
cd "$(dirname "$0")"
[ -f opt_cam.h ] || : > opt_cam.h

VPO=/usr/src/sys/dev/disk/vpo/vpo.c
IMM=/usr/src/sys/dev/disk/vpo/immio.c
sha256 "$VPO" "$IMM"

{
  echo '/* auto-generated VERBATIM extracts -- do not edit */'
  echo '/* ---- vpo_intr() from vpo.c (the DF-2531 cited call site) ---- */'
  awk '/^vpo_intr\(struct vpo_data/,/^}/' "$VPO"
  echo
  echo '/* ---- imm_do_scsi() from immio.c (same engine DF-2529/2530 used) ---- */'
  awk '/^imm_do_scsi\(/,/^}/' "$IMM"
} > dfv2531_extract.h

wc -l dfv2531_extract.h
grep -c "csio->cdb_io.cdb_bytes, csio->cdb_len" dfv2531_extract.h
grep -c "cdb_bytes\[IOCDBLEN\]" /dev/null 2>/dev/null || true
grep -n "csio->cdb_len" dfv2531_extract.h | head -4
