add empty postgresql VFS functions webdav

Thu, 27 Jan 2022 21:24:27 +0100

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Thu, 27 Jan 2022 21:24:27 +0100
branch
webdav
changeset 275
535004faa1a5
parent 274
607712fb3c66
child 276
0cb4eda146c4

add empty postgresql VFS functions

src/server/plugins/postgresql/Makefile file | annotate | diff | comparison | revisions
src/server/plugins/postgresql/vfs.c file | annotate | diff | comparison | revisions
src/server/plugins/postgresql/vfs.h file | annotate | diff | comparison | revisions
--- a/src/server/plugins/postgresql/Makefile	Thu Jan 27 18:46:38 2022 +0100
+++ b/src/server/plugins/postgresql/Makefile	Thu Jan 27 21:24:27 2022 +0100
@@ -34,6 +34,7 @@
 SRC  = init.c
 SRC += resource.c
 SRC += service.c
+SRC += vfs.c
 
 OBJ = $(SRC:%.c=$(BUILD_ROOT)/build/server/plugins/postgresql/%$(OBJ_EXT))
 	
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/server/plugins/postgresql/vfs.c	Thu Jan 27 21:24:27 2022 +0100
@@ -0,0 +1,128 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ *
+ * Copyright 2022 Olaf Wintermann. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ *   1. Redistributions of source code must retain the above copyright
+ *      notice, this list of conditions and the following disclaimer.
+ *
+ *   2. Redistributions in binary form must reproduce the above copyright
+ *      notice, this list of conditions and the following disclaimer in the
+ *      documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "vfs.h"
+
+static VFS pg_vfs_class = {
+    pg_vfs_open,
+    pg_vfs_stat,
+    pg_vfs_fstat,
+    pg_vfs_opendir,
+    pg_vfs_fdopendir,
+    pg_vfs_mkdir,
+    pg_vfs_unlink,
+    pg_vfs_rmdir
+};
+
+static VFS_IO pg_vfs_io_class = {
+    pg_vfs_io_read,
+    pg_vfs_io_write,
+    pg_vfs_io_pread,
+    pg_vfs_io_pwrite,
+    pg_vfs_io_seek,
+    pg_vfs_io_close,
+    NULL, // no pg aio implementation yet
+    NULL
+};
+
+static VFS_DIRIO pg_vfs_dirio_class = {
+    pg_vfs_dirio_readdir,
+    pg_vfs_dirio_close
+};
+
+/* -------------------------- VFS functions -------------------------- */
+
+SYS_FILE pg_vfs_open(VFSContext *ctx, const char *path, int oflags) {
+    
+}
+
+int pg_vfs_stat(VFSContext *ctx, const char *path, struct stat *buf) {
+    
+}
+
+int pg_vfs_fstat(VFSContext *ctx, SYS_FILE fd, struct stat *buf) {
+    
+}
+
+VFS_DIR pg_vfs_opendir(VFSContext *ctx, const char *path) {
+    
+}
+
+VFS_DIR pg_vfs_fdopendir(VFSContext *ctx, SYS_FILE fd) {
+    
+}
+
+int pg_vfs_mkdir(VFSContext *ctx, const char *path) {
+    
+}
+
+int pg_vfs_unlink(VFSContext *ctx, const char *path) {
+    
+}
+
+int pg_vfs_rmdir(VFSContext *Ctx, const char *path) {
+    
+}
+
+
+/* -------------------------- VFS_IO functions -------------------------- */
+
+ssize_t pg_vfs_io_read(SYS_FILE fd, void *buf, size_t nbyte) {
+    
+}
+
+ssize_t pg_vfs_io_write(SYS_FILE fd, const void *buf, size_t nbyte) {
+    
+}
+
+ssize_t pg_vfs_io_pread(SYS_FILE fd, void *buf, size_t nbyte, off_t offset) {
+    
+}
+
+ssize_t pg_vfs_io_pwrite(SYS_FILE fd, const void *buf, size_t nbyte, off_t offset) {
+    
+}
+
+off_t pg_vfs_io_seek(SYS_FILE fd, off_t offset, int whence) {
+    
+}
+
+void pg_vfs_io_close(SYS_FILE fd) {
+    
+}
+
+
+/* -------------------------- VFS_DIRIO functions -------------------------- */
+
+int pg_vfs_dirio_readdir(VFS_DIR dir, VFS_ENTRY *entry, int getstat) {
+    
+}
+
+void pg_vfs_dirio_close(VFS_DIR dir) {
+    
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/server/plugins/postgresql/vfs.h	Thu Jan 27 21:24:27 2022 +0100
@@ -0,0 +1,66 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ *
+ * Copyright 2022 Olaf Wintermann. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ *   1. Redistributions of source code must retain the above copyright
+ *      notice, this list of conditions and the following disclaimer.
+ *
+ *   2. Redistributions in binary form must reproduce the above copyright
+ *      notice, this list of conditions and the following disclaimer in the
+ *      documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef WS_PG_VFS_H
+#define WS_PG_VFS_H
+
+#include "../../public/nsapi.h"
+#include "../../public/vfs.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+    
+SYS_FILE pg_vfs_open(VFSContext *ctx, const char *path, int oflags);
+int pg_vfs_stat(VFSContext *ctx, const char *path, struct stat *buf);
+int pg_vfs_fstat(VFSContext *ctx, SYS_FILE fd, struct stat *buf);
+VFS_DIR pg_vfs_opendir(VFSContext *ctx, const char *path);
+VFS_DIR pg_vfs_fdopendir(VFSContext *ctx, SYS_FILE fd);
+int pg_vfs_mkdir(VFSContext *ctx, const char *path);
+int pg_vfs_unlink(VFSContext *ctx, const char *path);
+int pg_vfs_rmdir(VFSContext *Ctx, const char *path);
+
+    
+ssize_t pg_vfs_io_read(SYS_FILE fd, void *buf, size_t nbyte);
+ssize_t pg_vfs_io_write(SYS_FILE fd, const void *buf, size_t nbyte);
+ssize_t pg_vfs_io_pread(SYS_FILE fd, void *buf, size_t nbyte, off_t offset);
+ssize_t pg_vfs_io_pwrite(SYS_FILE fd, const void *buf, size_t nbyte, off_t offset);
+off_t pg_vfs_io_seek(SYS_FILE fd, off_t offset, int whence);
+void pg_vfs_io_close(SYS_FILE fd);
+
+
+int pg_vfs_dirio_readdir(VFS_DIR dir, VFS_ENTRY *entry, int getstat);
+void pg_vfs_dirio_close(VFS_DIR dir);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* WS_PG_VFS_H */
+

mercurial