Diff for /src/sys/sys/conf.h between versions 1.6 and 1.7

version 1.6, 2004/05/13 23:49:25 version 1.7, 2004/05/19 22:53:02
Line 50 Line 50
 struct tty;  struct tty;
 struct disk;  struct disk;
 struct vnode;  struct vnode;
   struct lwkt_port;
   
 struct specinfo {  struct specinfo {
         u_int           si_flags;          u_int           si_flags;
Line 59  struct specinfo { Line 60  struct specinfo {
         char            si_name[SPECNAMELEN + 1];          char            si_name[SPECNAMELEN + 1];
         void            *si_drv1;          void            *si_drv1;
         void            *si_drv2;          void            *si_drv2;
        struct cdevsw   *si_devsw;      /* cached */        struct cdevsw   *si_devsw;      /* direct device switch */
         struct lwkt_port *si_port;      /* direct port dispatch */
         int             si_iosize_max;  /* maximum I/O size (for physio &al) */          int             si_iosize_max;  /* maximum I/O size (for physio &al) */
           int             si_refs;
         union {          union {
                 struct {                  struct {
                         struct tty *__sit_tty;                          struct tty *__sit_tty;
Line 75  struct specinfo { Line 78  struct specinfo {
 };  };
   
 #define SI_STASHED      0x0001  /* created in stashed storage */  #define SI_STASHED      0x0001  /* created in stashed storage */
   #define SI_HASHED       0x0002  /* in (maj,min) hash table */
   #define SI_ADHOC        0x0004  /* created via make_adhoc_dev() or udev2dev() */
   
 #define si_tty          __si_u.__si_tty.__sit_tty  #define si_tty          __si_u.__si_tty.__sit_tty
 #define si_disk         __si_u.__si_disk.__sid_disk  #define si_disk         __si_u.__si_disk.__sid_disk
Line 82  struct specinfo { Line 87  struct specinfo {
 #define si_bsize_phys   __si_u.__si_disk.__sid_bsize_phys  #define si_bsize_phys   __si_u.__si_disk.__sid_bsize_phys
 #define si_bsize_best   __si_u.__si_disk.__sid_bsize_best  #define si_bsize_best   __si_u.__si_disk.__sid_bsize_best
   
/*#define CDEVSW_ALL_MINORS       0       /* mask of 0 always matches 0 */
 * Exported shorthand 
 */ 
#define v_hashchain v_rdev->si_hlist 
#define v_specmountpoint v_rdev->si_mountpoint 
   
 /*  /*
  * Special device management   * Special device management
Line 129  typedef int d_close_t (dev_t dev, int ff Line 130  typedef int d_close_t (dev_t dev, int ff
 typedef void d_strategy_t (struct buf *bp);  typedef void d_strategy_t (struct buf *bp);
 typedef int d_ioctl_t (dev_t dev, u_long cmd, caddr_t data,  typedef int d_ioctl_t (dev_t dev, u_long cmd, caddr_t data,
                            int fflag, d_thread_t *td);                             int fflag, d_thread_t *td);
typedef int d_dump_t (dev_t dev);typedef int d_dump_t (dev_t dev, u_int count, u_int blkno, u_int secsize);
 typedef int d_psize_t (dev_t dev);  typedef int d_psize_t (dev_t dev);
   
 typedef int d_read_t (dev_t dev, struct uio *uio, int ioflag);  typedef int d_read_t (dev_t dev, struct uio *uio, int ioflag);
Line 204  struct cdevsw { Line 205  struct cdevsw {
         d_dump_t        *old_dump;          d_dump_t        *old_dump;
         d_psize_t       *old_psize;          d_psize_t       *old_psize;
         d_kqfilter_t    *old_kqfilter;          d_kqfilter_t    *old_kqfilter;
           void            (*old_dummy1)(void);    /* expansion space */
           void            (*old_dummy2)(void);
           void            (*old_dummy3)(void);
           void            (*old_dummy4)(void);
           int             d_refs;                 /* ref count */
           void            *d_data;                /* custom driver data */
   };
   
   struct cdevlink {
           struct cdevlink *next;
           u_int           mask;
           u_int           match;
           struct cdevsw   *devsw;
 };  };
   
 /*  /*
Line 250  d_close_t noclose; Line 264  d_close_t noclose;
 d_read_t        noread;  d_read_t        noread;
 d_write_t       nowrite;  d_write_t       nowrite;
 d_ioctl_t       noioctl;  d_ioctl_t       noioctl;
   d_clone_t       noclone;
 d_mmap_t        nommap;  d_mmap_t        nommap;
 d_kqfilter_t    nokqfilter;  d_kqfilter_t    nokqfilter;
#define nostrategy      ((d_strategy_t *)NULL)d_strategy_t    nostrategy;
#define        nopoll  seltrued_poll_t        nopoll;
d_psize_t       nopsize;
 d_dump_t        nodump;  d_dump_t        nodump;
   
 #define NUMCDEVSW 256  #define NUMCDEVSW 256
   
 /*  
  * nopsize is little used, so not worth having dummy functions for.  
  */  
 #define nopsize ((d_psize_t *)NULL)  
   
 d_open_t        nullopen;  d_open_t        nullopen;
 d_close_t       nullclose;  d_close_t       nullclose;
   
Line 287  static moduledata_t name##_mod = {     \ Line 297  static moduledata_t name##_mod = {     \
 };                                                                      \  };                                                                      \
 DECLARE_MODULE(name, name##_mod, SI_SUB_DRIVERS, SI_ORDER_MIDDLE)  DECLARE_MODULE(name, name##_mod, SI_SUB_DRIVERS, SI_ORDER_MIDDLE)
   
void    compile_devsw(struct cdevsw *devsw);extern struct cdevsw dead_cdevsw;
int     cdevsw_add (struct cdevsw *new);
struct lwkt_port *cdevsw_add_override (struct cdevsw *new, struct lwkt_port *port);void    compile_devsw(struct cdevsw *);
 int     cdevsw_add (struct cdevsw *, u_int mask, u_int match);
 struct cdevsw *cdevsw_add_override (dev_t, u_int mask, u_int match);
 struct lwkt_port *cdevsw_dev_override(dev_t dev, struct lwkt_port *port);  struct lwkt_port *cdevsw_dev_override(dev_t dev, struct lwkt_port *port);
   
int     cdevsw_remove (struct cdevsw *old);int     cdevsw_remove (struct cdevsw *, u_int mask, u_int match);
 struct cdevsw *cdevsw_get (int x, int y);
 void    cdevsw_release (struct cdevsw *);
 int     count_dev (dev_t dev);  int     count_dev (dev_t dev);
   int     count_udev (udev_t dev);
 void    destroy_dev (dev_t dev);  void    destroy_dev (dev_t dev);
   void    destroy_all_dev (struct cdevsw *, u_int mask, u_int match);
   void    release_dev (dev_t dev);
   dev_t   reference_dev (dev_t dev);
 struct cdevsw *devsw (dev_t dev);  struct cdevsw *devsw (dev_t dev);
 const char *devtoname (dev_t dev);  const char *devtoname (dev_t dev);
 void    freedev (dev_t dev);  void    freedev (dev_t dev);
 int     iszerodev (dev_t dev);  int     iszerodev (dev_t dev);
 dev_t   make_dev (struct cdevsw *devsw, int minor, uid_t uid, gid_t gid, int perms, const char *fmt, ...) __printflike(6, 7);  dev_t   make_dev (struct cdevsw *devsw, int minor, uid_t uid, gid_t gid, int perms, const char *fmt, ...) __printflike(6, 7);
   dev_t   make_adhoc_dev (struct cdevsw *devsw, int minor);
   dev_t   make_sub_dev (dev_t dev, int minor);
 int     lminor (dev_t dev);  int     lminor (dev_t dev);
 void    setconf (void);  void    setconf (void);
 dev_t   getdiskbyname(char *name);  dev_t   getdiskbyname(char *name);
   int     dev_is_good(dev_t dev);
   
 /*  /*
  * XXX: This included for when DEVFS resurfaces    * XXX: This included for when DEVFS resurfaces 

Removed from v.1.6  
changed lines
  Added in v.1.7