Print this page
*** NO COMMENTS ***

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/sys/blkdev.h
          +++ new/usr/src/uts/common/sys/blkdev.h
↓ open down ↓ 122 lines elided ↑ open up ↑
 123  123  #define BD_INFO_FLAG_READ_ONLY          (1U << 2)
 124  124  
 125  125  struct bd_ops {
 126  126          int     o_version;
 127  127          void    (*o_drive_info)(void *, bd_drive_t *);
 128  128          int     (*o_media_info)(void *, bd_media_t *);
 129  129          int     (*o_devid_init)(void *, dev_info_t *, ddi_devid_t *);
 130  130          int     (*o_sync_cache)(void *, bd_xfer_t *);
 131  131          int     (*o_read)(void *, bd_xfer_t *);
 132  132          int     (*o_write)(void *, bd_xfer_t *);
      133 +        int     (*o_ioctl)(dev_t, int, intptr_t, int, cred_t *, int *);
 133  134  };
 134  135  
 135  136  #define BD_OPS_VERSION_0                0
      137 +#define BD_OPS_VERSION_1                1
      138 +#define BD_OPS_VERSION                  1       /* Should be latest! */
 136  139  
 137  140  /*
 138  141   * Note, one handler *per* address.  Drivers with multiple targets at
 139  142   * different addresses must use separate handles.
 140  143   */
 141  144  bd_handle_t     bd_alloc_handle(void *, bd_ops_t *, ddi_dma_attr_t *, int);
 142  145  void            bd_free_handle(bd_handle_t);
 143  146  int             bd_attach_handle(dev_info_t *, bd_handle_t);
 144  147  int             bd_detach_handle(bd_handle_t);
 145  148  void            bd_state_change(bd_handle_t);
 146  149  void            bd_xfer_done(bd_xfer_t *, int);
 147  150  void            bd_mod_init(struct dev_ops *);
 148  151  void            bd_mod_fini(struct dev_ops *);
 149  152  
 150  153  #ifdef __cplusplus
 151  154  }
 152  155  #endif
 153  156  
 154  157  #endif  /* _SYS_BLKDEV_H */
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX