-DEVICE *init_dev(DEVICE *dev, DEVRES *device);
-int open_dev(DEVICE *dev, char *VolName, int mode);
-void close_dev(DEVICE *dev);
-void force_close_dev(DEVICE *dev);
-int truncate_dev(DEVICE *dev);
-void term_dev(DEVICE *dev);
-char * strerror_dev(DEVICE *dev);
-void clrerror_dev(DEVICE *dev, int func);
-int update_pos_dev(DEVICE *dev);
-int rewind_dev(DEVICE *dev);
-int load_dev(DEVICE *dev);
-int offline_dev(DEVICE *dev);
-int flush_dev(DEVICE *dev);
-int weof_dev(DEVICE *dev, int num);
-int write_block(DEVICE *dev);
-int write_dev(DEVICE *dev, char *buf, size_t len);
-int read_dev(DEVICE *dev, char *buf, size_t len);
-int status_dev(DEVICE *dev, uint32_t *status);
-int eod_dev(DEVICE *dev);
-int fsf_dev(DEVICE *dev, int num);
-int fsr_dev(DEVICE *dev, int num);
-int bsf_dev(DEVICE *dev, int num);
-int bsr_dev(DEVICE *dev, int num);
-void attach_jcr_to_device(DEVICE *dev, JCR *jcr);
-void detach_jcr_from_device(DEVICE *dev, JCR *jcr);
-JCR *next_attached_jcr(DEVICE *dev, JCR *jcr);
-
+DEVICE *init_dev(JCR *jcr, DEVRES *device);
+off_t lseek_dev(DEVICE *dev, off_t offset, int whence);
+bool can_open_mounted_dev(DEVICE *dev);
+bool truncate_dev(DCR *dcr);
+void term_dev(DEVICE *dev);
+char * strerror_dev(DEVICE *dev);
+void clrerror_dev(DEVICE *dev, int func);
+bool update_pos_dev(DEVICE *dev);
+bool rewind_dev(DEVICE *dev);
+bool load_dev(DEVICE *dev);
+bool offline_dev(DEVICE *dev);
+int flush_dev(DEVICE *dev);
+int weof_dev(DEVICE *dev, int num);
+int write_block(DEVICE *dev);
+uint32_t status_dev(DEVICE *dev);
+bool eod_dev(DEVICE *dev);
+bool fsf_dev(DEVICE *dev, int num);
+bool bsf_dev(DEVICE *dev, int num);
+bool bsr_dev(DEVICE *dev, int num);
+void attach_jcr_to_device(DEVICE *dev, JCR *jcr);
+void detach_jcr_from_device(DEVICE *dev, JCR *jcr);
+JCR *next_attached_jcr(DEVICE *dev, JCR *jcr);
+bool offline_or_rewind_dev(DEVICE *dev);
+bool reposition_dev(DEVICE *dev, uint32_t file, uint32_t block);
+void init_device_wait_timers(DCR *dcr);
+void init_jcr_device_wait_timers(JCR *jcr);
+bool double_dev_wait_time(DEVICE *dev);