sbull.h
上传用户:wudi5211
上传日期:2010-01-21
资源大小:607k
文件大小:1k
源码类别:

嵌入式Linux

开发平台:

C/C++

  1. /*
  2.  * sbull.h -- definitions for the char module
  3.  *
  4.  *********/
  5. #include <linux/ioctl.h>
  6. /* version dependencies have been confined to a separate file */
  7. #include "sysdep.h"
  8. /*
  9.  * Macros to help debugging
  10.  */
  11. #undef PDEBUG             /* undef it, just in case */
  12. #ifdef SBULL_DEBUG
  13. #  ifdef __KERNEL__
  14.      /* This one if debugging is on, and kernel space */
  15. #    define PDEBUG(fmt, args...) printk( KERN_DEBUG "sbull: " fmt, ## args)
  16. #  else
  17.      /* This one for user space */
  18. #    define PDEBUG(fmt, args...) fprintf(stderr, fmt, ## args)
  19. #  endif
  20. #else
  21. #  define PDEBUG(fmt, args...) /* not debugging: nothing */
  22. #endif
  23. #undef PDEBUGG
  24. #define PDEBUGG(fmt, args...) /* nothing: it's a placeholder */
  25. #define SBULL_MAJOR 0       /* dynamic major by default */
  26. #define SBULL_DEVS 2        /* two disks */
  27. #define SBULL_RAHEAD 2      /* two sectors */
  28. #define SBULL_SIZE 2048     /* two megs each */
  29. #define SBULL_BLKSIZE 1024  /* 1k blocks */
  30. #define SBULL_HARDSECT 512  /* FIXME -- are 1k hardware sectors doable??? */
  31. /*
  32.  * The sbull device is removable: if it is left closed for more than
  33.  * half a minute, it is removed. Thus use a usage count and a
  34.  * kernel timer
  35.  */
  36. typedef struct Sbull_Dev {
  37.    int size;
  38.    int usage;
  39.    struct timer_list timer;
  40.    u8 *data;
  41. }              Sbull_Dev;