load_kernel.h 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #ifndef load_kernel_h
  2. #define load_kernel_h
  3. /*-------------------------------------------------------------------------
  4. * Filename: load_kernel.h
  5. * Version: $Id: load_kernel.h,v 1.3 2002/01/25 01:34:11 nyet Exp $
  6. * Copyright: Copyright (C) 2001, Russ Dill
  7. * Author: Russ Dill <Russ.Dill@asu.edu>
  8. * Description: header for load kernel modules
  9. *-----------------------------------------------------------------------*/
  10. /*
  11. *
  12. * This program is free software; you can redistribute it and/or modify
  13. * it under the terms of the GNU General Public License as published by
  14. * the Free Software Foundation; either version 2 of the License, or
  15. * (at your option) any later version.
  16. *
  17. * This program is distributed in the hope that it will be useful,
  18. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  19. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  20. * GNU General Public License for more details.
  21. *
  22. * You should have received a copy of the GNU General Public License
  23. * along with this program; if not, write to the Free Software
  24. * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  25. *
  26. */
  27. #include <linux/list.h>
  28. /* mtd device types */
  29. #define MTD_DEV_TYPE_NOR 0x0001
  30. #define MTD_DEV_TYPE_NAND 0x0002
  31. #define MTD_DEV_TYPE(type) ((type == MTD_DEV_TYPE_NAND) ? "nand" : "nor")
  32. struct mtd_device {
  33. struct list_head link;
  34. struct mtdids *id; /* parent mtd id entry */
  35. u16 num_parts; /* number of partitions on this device */
  36. struct list_head parts; /* partitions */
  37. };
  38. struct part_info {
  39. struct list_head link;
  40. char *name; /* partition name */
  41. u8 auto_name; /* set to 1 for generated name */
  42. u32 size; /* total size of the partition */
  43. u32 offset; /* offset within device */
  44. void *jffs2_priv; /* used internaly by jffs2 */
  45. u32 mask_flags; /* kernel MTD mask flags */
  46. struct mtd_device *dev; /* parent device */
  47. };
  48. struct mtdids {
  49. struct list_head link;
  50. u8 type; /* device type */
  51. u8 num; /* device number */
  52. u32 size; /* device size */
  53. char *mtd_id; /* linux kernel device id */
  54. };
  55. #define ldr_strlen strlen
  56. #define ldr_strncmp strncmp
  57. #define ldr_memcpy memcpy
  58. #define putstr(x) printf("%s", x)
  59. #define mmalloc malloc
  60. #define UDEBUG printf
  61. #define putnstr(str, size) printf("%*.*s", size, size, str)
  62. #define ldr_output_string(x) puts(x)
  63. #define putLabeledWord(x, y) printf("%s %08x\n", x, (unsigned int)y)
  64. #define led_blink(x, y, z, a)
  65. #endif /* load_kernel_h */