mkscsierrs 419 B

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