sddr09.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /* Driver for SanDisk SDDR-09 SmartMedia reader
  2. * Header File
  3. *
  4. * $Id: sddr09.h,v 1.5 2000/08/25 00:13:51 mdharm Exp $
  5. *
  6. * Current development and maintenance by:
  7. * (c) 2000 Robert Baruch (autophile@dol.net)
  8. * (c) 2002 Andries Brouwer (aeb@cwi.nl)
  9. *
  10. * See sddr09.c for more explanation
  11. *
  12. * This program is free software; you can redistribute it and/or modify it
  13. * under the terms of the GNU General Public License as published by the
  14. * Free Software Foundation; either version 2, or (at your option) any
  15. * later version.
  16. *
  17. * This program is distributed in the hope that it will be useful, but
  18. * WITHOUT ANY WARRANTY; without even the implied warranty of
  19. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  20. * General Public License for more details.
  21. *
  22. * You should have received a copy of the GNU General Public License along
  23. * with this program; if not, write to the Free Software Foundation, Inc.,
  24. * 675 Mass Ave, Cambridge, MA 02139, USA.
  25. */
  26. #ifndef _USB_SHUTTLE_EUSB_SDDR09_H
  27. #define _USB_SHUTTLE_EUSB_SDDR09_H
  28. /* Sandisk SDDR-09 stuff */
  29. extern int sddr09_transport(struct scsi_cmnd *srb, struct us_data *us);
  30. struct sddr09_card_info {
  31. unsigned long capacity; /* Size of card in bytes */
  32. int pagesize; /* Size of page in bytes */
  33. int pageshift; /* log2 of pagesize */
  34. int blocksize; /* Size of block in pages */
  35. int blockshift; /* log2 of blocksize */
  36. int blockmask; /* 2^blockshift - 1 */
  37. int *lba_to_pba; /* logical to physical map */
  38. int *pba_to_lba; /* physical to logical map */
  39. int lbact; /* number of available pages */
  40. int flags;
  41. #define SDDR09_WP 1 /* write protected */
  42. };
  43. #endif