Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / ppapi / api / pp_file_info.idl
blob9cccc8948e7012e64927f4acbab6fe35c5ee2a34
1 /* Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 * Use of this source code is governed by a BSD-style license that can be
3 * found in the LICENSE file.
4 */
6 /**
7 * This file defines three enumerations for use in the PPAPI C file IO APIs.
8 */
10 /**
11 * The <code>PP_FileType</code> enum contains file type constants.
13 [assert_size(4)]
14 enum PP_FileType {
15 /** A regular file type */
16 PP_FILETYPE_REGULAR = 0,
17 /** A directory */
18 PP_FILETYPE_DIRECTORY = 1,
19 /** A catch-all for unidentified types */
20 PP_FILETYPE_OTHER = 2
23 /**
24 * The <code>PP_FileSystemType</code> enum contains file system type constants.
26 [assert_size(4)]
27 enum PP_FileSystemType {
28 /** For identified invalid return values */
29 PP_FILESYSTEMTYPE_INVALID = 0,
30 /** For external file system types */
31 PP_FILESYSTEMTYPE_EXTERNAL = 1,
32 /** For local persistent file system types */
33 PP_FILESYSTEMTYPE_LOCALPERSISTENT = 2,
34 /** For local temporary file system types */
35 PP_FILESYSTEMTYPE_LOCALTEMPORARY = 3,
36 /** For isolated file system types */
37 PP_FILESYSTEMTYPE_ISOLATED = 4
40 /**
41 * The <code>PP_FileInfo</code> struct represents all information about a file,
42 * such as size, type, and creation time.
44 [assert_size(40)]
45 struct PP_FileInfo {
46 /** This value represents the size of the file measured in bytes */
47 int64_t size;
49 /**
50 * This value represents the type of file as defined by the
51 * <code>PP_FileType</code> enum
53 PP_FileType type;
55 /**
56 * This value represents the file system type of the file as defined by the
57 * <code>PP_FileSystemType</code> enum.
59 PP_FileSystemType system_type;
61 /**
62 * This value represents the creation time of the file.
64 PP_Time creation_time;
66 /**
67 * This value represents the last time the file was accessed.
69 PP_Time last_access_time;
71 /**
72 * This value represents the last time the file was modified.
74 PP_Time last_modified_time;