void (*free_data)(void **data);
} vfs_handle_struct;
-
-struct vfs_statvfs_struct {
- /* For undefined recommended transfer size return -1 in that field */
- uint32_t OptimalTransferSize; /* bsize on some os, iosize on other os */
- uint32_t BlockSize;
-
- /*
- The next three fields are in terms of the block size.
- (above). If block size is unknown, 4096 would be a
- reasonable block size for a server to report.
- Note that returning the blocks/blocksavail removes need
- to make a second call (to QFSInfo level 0x103 to get this info.
- UserBlockAvail is typically less than or equal to BlocksAvail,
- if no distinction is made return the same value in each.
- */
-
- uint64_t TotalBlocks;
- uint64_t BlocksAvail; /* bfree */
- uint64_t UserBlocksAvail; /* bavail */
-
- /* For undefined Node fields or FSID return -1 */
- uint64_t TotalFileNodes;
- uint64_t FreeFileNodes;
- uint64_t FsIdentifier; /* fsid */
- /* NB Namelen comes from FILE_SYSTEM_ATTRIBUTE_INFO call */
- /* NB flags can come from FILE_SYSTEM_DEVICE_INFO call */
-
- int FsCapabilities;
-};
-
/* Add a new FSP extension of the given type. Returns a pointer to the
* extension data.
*/
#include "includes.h"
#include "smbd/smbd.h"
+#include "smbd/statvfs.h"
#include "system/filesys.h"
#include <dirent.h>
#include <sys/statvfs.h>
#include "includes.h"
#include "smbd/smbd.h"
+#include "smbd/statvfs.h"
#include "system/filesys.h"
#include <dirent.h>
#include <sys/statvfs.h>
#include "offload_token.h"
#include "util_reparse.h"
#include "lib/util/string_wrappers.h"
+#include "source3/smbd/statvfs.h"
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_VFS
#include "includes.h"
#include "smbd/smbd.h"
+#include "smbd/statvfs.h"
#include <stdio.h>
#include <glusterfs/api/glfs.h>
#include "lib/util/dlinklist.h"
NTSTATUS srvstr_push_fn(const char *base_ptr, uint16_t smb_flags2, void *dest,
const char *src, int dest_len, int flags, size_t *ret_len);
-/* The following definitions come from smbd/statvfs.c */
-
-int sys_statvfs(const char *path, struct vfs_statvfs_struct *statbuf);
-int sys_fstatvfs(int fd, struct vfs_statvfs_struct *statbuf);
-
/* The following definitions come from smbd/trans2.c */
char *store_file_unix_basic(connection_struct *conn,
#include "version.h"
#include "smbd/smbd.h"
#include "smbd/globals.h"
+#include "smbd/statvfs.h"
#include "../libcli/auth/libcli_auth.h"
#include "../librpc/gen_ndr/xattr.h"
#include "../librpc/gen_ndr/ndr_security.h"
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "includes.h"
+#include "replace.h"
#include "system/filesys.h"
-#include "smbd/smbd.h"
+#include "libcli/smb/smb_constants.h"
+#include "statvfs.h"
#if defined(DARWINOS)
#include <sys/attr.h>
--- /dev/null
+/*
+ * Unix SMB/CIFS implementation.
+ * VFS API's statvfs abstraction
+ * Copyright (C) Alexander Bokovoy 2005
+ * Copyright (C) Steve French 2005
+ * Copyright (C) James Peach 2006
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __SMBD_STATVFS_H__
+#define __SMBD_STATVFS_H__
+
+struct vfs_statvfs_struct {
+ /* For undefined recommended transfer size return -1 in that field */
+ uint32_t OptimalTransferSize; /* bsize on some os, iosize on
+ * other os */
+ uint32_t BlockSize;
+
+ /*
+ The next three fields are in terms of the block size.
+ (above). If block size is unknown, 4096 would be a
+ reasonable block size for a server to report.
+ Note that returning the blocks/blocksavail removes need
+ to make a second call (to QFSInfo level 0x103 to get this info.
+ UserBlockAvail is typically less than or equal to BlocksAvail,
+ if no distinction is made return the same value in each.
+ */
+
+ uint64_t TotalBlocks;
+ uint64_t BlocksAvail; /* bfree */
+ uint64_t UserBlocksAvail; /* bavail */
+
+ /* For undefined Node fields or FSID return -1 */
+ uint64_t TotalFileNodes;
+ uint64_t FreeFileNodes;
+ uint64_t FsIdentifier; /* fsid */
+ /* NB Namelen comes from FILE_SYSTEM_ATTRIBUTE_INFO call */
+ /* NB flags can come from FILE_SYSTEM_DEVICE_INFO call */
+
+ int FsCapabilities;
+};
+
+int sys_statvfs(const char *path, struct vfs_statvfs_struct *statbuf);
+int sys_fstatvfs(int fd, struct vfs_statvfs_struct *statbuf);
+
+#endif
#include "system/filesys.h"
#include "smbd/smbd.h"
#include "smbd/globals.h"
+#include "smbd/statvfs.h"
#include "../lib/util/memcache.h"
#include "transfer_file.h"
#include "ntioctl.h"