• Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1  /*
2   * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
3   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4   *
5   * This code is free software; you can redistribute it and/or modify it
6   * under the terms of the GNU General Public License version 2 only, as
7   * published by the Free Software Foundation.  Oracle designates this
8   * particular file as subject to the "Classpath" exception as provided
9   * by Oracle in the LICENSE file that accompanied this code.
10   *
11   * This code is distributed in the hope that it will be useful, but WITHOUT
12   * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13   * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14   * version 2 for more details (a copy is included in the LICENSE file that
15   * accompanied this code).
16   *
17   * You should have received a copy of the GNU General Public License version
18   * 2 along with this work; if not, write to the Free Software Foundation,
19   * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20   *
21   * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22   * or visit www.oracle.com if you need additional information or have any
23   * questions.
24   */
25  
26  package sun.nio.fs;
27  
28  class UnixFileStoreAttributes {
29      private long f_frsize;          // block size
30      private long f_blocks;          // total
31      private long f_bfree;           // free
32      private long f_bavail;          // usable
33  
UnixFileStoreAttributes()34      private UnixFileStoreAttributes() {
35      }
36  
get(UnixPath path)37      static UnixFileStoreAttributes get(UnixPath path) throws UnixException {
38          UnixFileStoreAttributes attrs = new UnixFileStoreAttributes();
39          UnixNativeDispatcher.statvfs(path, attrs);
40          return attrs;
41      }
42  
blockSize()43      long blockSize() {
44          return f_frsize;
45      }
46  
totalBlocks()47      long totalBlocks() {
48          return f_blocks;
49      }
50  
freeBlocks()51      long freeBlocks() {
52          return f_bfree;
53      }
54  
availableBlocks()55      long availableBlocks() {
56          return f_bavail;
57      }
58  
59  }
60