1#!/bin/rc 2 3cat <<EOF 4#include <u.h> 5#include <libc.h> 6 7typedef struct Err Err; 8struct Err 9{ 10 int n; 11 char *s; 12}; 13 14static Err scsierrs[] = { 15EOF 16 17grep '^[0-9a-c][0-9a-c][0-9a-c][0-9a-c][ ]' /sys/lib/scsicodes | 18 sed -e 's/^(....) (.*)/ {0x\1, "\2"},\n/' 19cat <<EOF 20}; 21 22char* 23scsierrmsg(int n) 24{ 25 int i; 26 27 for(i = 0; i < nelem(scsierrs); i++) 28 if(scsierrs[i].n == n) 29 return scsierrs[i].s; 30 return "scsi error"; 31} 32EOF 33