Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/bareos/bareos.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/stored/backends/win32_file_device.h')
-rw-r--r--core/src/stored/backends/win32_file_device.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/core/src/stored/backends/win32_file_device.h b/core/src/stored/backends/win32_file_device.h
new file mode 100644
index 000000000..31a87fa98
--- /dev/null
+++ b/core/src/stored/backends/win32_file_device.h
@@ -0,0 +1,54 @@
+/*
+ BAREOSĀ® - Backup Archiving REcovery Open Sourced
+
+ Copyright (C) 2013-2014 Planets Communications B.V.
+ Copyright (C) 2013-2022 Bareos GmbH & Co. KG
+
+ This program is Free Software; you can redistribute it and/or
+ modify it under the terms of version three of the GNU Affero General Public
+ License as published by the Free Software Foundation, which is
+ listed in the file LICENSE.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ 02110-1301, USA.
+*/
+/*
+ * Windows File API device abstraction.
+ *
+ * Marco van Wieringen, December 2013
+ */
+
+#ifndef BAREOS_STORED_BACKENDS_WIN32_FILE_DEVICE_H_
+#define BAREOS_STORED_BACKENDS_WIN32_FILE_DEVICE_H_
+#include "lib/util.h"
+
+namespace storagedaemon {
+
+class win32_file_device : public Device {
+ public:
+ win32_file_device();
+ ~win32_file_device() { close(nullptr); }
+
+ // Interface from Device
+ bool MountBackend(DeviceControlRecord* dcr, int timeout) override;
+ bool UnmountBackend(DeviceControlRecord* dcr, int timeout) override;
+ int d_close(int) override;
+ int d_open(const char* pathname, int flags, int mode) override;
+ int d_ioctl(int fd, ioctl_req_t request, char* mt = NULL) override;
+ ssize_t d_read(int fd, void* buffer, size_t count) override;
+ ssize_t d_write(int fd, const void* buffer, size_t count) override;
+ boffset_t d_lseek(DeviceControlRecord* dcr,
+ boffset_t offset,
+ int whence) override;
+ bool d_truncate(DeviceControlRecord* dcr) override;
+};
+
+} /* namespace storagedaemon */
+#endif // BAREOS_STORED_BACKENDS_WIN32_FILE_DEVICE_H_