Subject: diff for atapi patches and current sys/cdio.h
To: None <current-users@NetBSD.ORG>
From: Thorsten Frueauf <frueauf@ira.uka.de>
List: current-users
Date: 06/16/1997 22:09:59
Hello!

Here is a patch for /src/sys/atapi/acd.c which reflects the recent change
in /src/sys/sys/cdio.h. Thanx to Manual for giving me this hint.

Thought I share it for those who run the atapi patches with current.

--- snip ---
*** acd.c-orig	Fri Apr  4 16:01:54 1997
--- acd.c	Mon Jun 16 21:57:07 1997
***************
*** 835,842 ****
  									   sizeof(toc.tab[ntr acks].addr.addr));
  #endif
                 } else
!                    (u_int32_t)(*toc.tab[ntracks].addr) =
!                                   ntohl((u_int32_t)(*toc.tab[ntracks].addr));
              }
  		if (acd->ad_link->quirks & AQUIRK_LITTLETOC) {
  #if BYTE_ORDER == BIG_ENDIAN
--- 835,842 ----
  									   sizeof(toc.tab[ntr acks].addr.addr));
  #endif
                 } else
!                    (u_int32_t)(*toc.tab[ntracks].addr.addr) =
!                                   ntohl((u_int32_t)(*toc.tab[ntracks].addr.addr));
              }
  		if (acd->ad_link->quirks & AQUIRK_LITTLETOC) {
  #if BYTE_ORDER == BIG_ENDIAN
***************
*** 1191,1199 ****
      if ((error = acd_read_toc(acd, CD_MSF_FORMAT, 0, toc, len)) != 0)
          return error;
      for (i = 0; i <= ntracks; i++) {
! 	    lba = (u_int32_t*)toc->tab[i].addr;
! 		*lba = msf2lba(toc->tab[i].addr[1],toc->tab[i].addr[2],
! 					   toc->tab[i].addr[3]);
      }
    return 0;
  }
--- 1191,1199 ----
      if ((error = acd_read_toc(acd, CD_MSF_FORMAT, 0, toc, len)) != 0)
          return error;
      for (i = 0; i <= ntracks; i++) {
! 	    lba = (u_int32_t*)toc->tab[i].addr.addr;
! 		*lba = msf2lba(toc->tab[i].addr.addr[1],toc->tab[i].addr.addr[2],
! 					   toc->tab[i].addr.addr[3]);
      }
    return 0;
  }
***************
*** 1226,1233 ****
      if (strack < 0)
          return EINVAL;
  
!     start = (u_int32_t*)toc.tab[strack].addr;
!     end   = (u_int32_t*)toc.tab[etrack].addr;
      len   = *end - *start;
  
      return acd_play_big(cd, *start, len);
--- 1226,1233 ----
      if (strack < 0)
          return EINVAL;
  
!     start = (u_int32_t*)toc.tab[strack].addr.addr;
!     end   = (u_int32_t*)toc.tab[etrack].addr.addr;
      len   = *end - *start;
  
      return acd_play_big(cd, *start, len);
--- snip ---


Greets
      Thorsten