ref: 6ac1c151c27bfe7b2e9f679ac2d7980b02ca1a77
dir: /sys/src/cmd/nusb/disk/mkscsierrs/
#!/bin/rc
cat <<EOF
#include <u.h>
#include <libc.h>
typedef struct Err Err;
struct Err
{
int n;
char *s;
};
static Err scsierrs[] = {
EOF
grep '^[0-9a-c][0-9a-c][0-9a-c][0-9a-c][ ]' /sys/lib/scsicodes |
sed -e 's/^(....) (.*)/ {0x\1, "\2"},\n/'
cat <<EOF
};
char*
scsierrmsg(int n)
{
int i;
for(i = 0; i < nelem(scsierrs); i++)
if(scsierrs[i].n == n)
return scsierrs[i].s;
return "scsi error";
}
EOF