/* Copyright (c) 2012 The Chromium Authors. All rights reserved. * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ /** * This file defines three enumerations for use in the PPAPI C file IO APIs. */ /** * The <code>PP_FileType</code> enum contains file type constants. */ [assert_size(4)] enum PP_FileType { /** A regular file type */ PP_FILETYPE_REGULAR = 0, /** A directory */ PP_FILETYPE_DIRECTORY = 1, /** A catch-all for unidentified types */ PP_FILETYPE_OTHER = 2 }; /** * The <code>PP_FileSystemType</code> enum contains file system type constants. */ [assert_size(4)] enum PP_FileSystemType { /** For identified invalid return values */ PP_FILESYSTEMTYPE_INVALID = 0, /** For external file system types */ PP_FILESYSTEMTYPE_EXTERNAL = 1, /** For local persistent file system types */ PP_FILESYSTEMTYPE_LOCALPERSISTENT = 2, /** For local temporary file system types */ PP_FILESYSTEMTYPE_LOCALTEMPORARY = 3, /** For isolated file system types */ PP_FILESYSTEMTYPE_ISOLATED = 4 }; /** * The <code>PP_FileInfo</code> struct represents all information about a file, * such as size, type, and creation time. */ [assert_size(40)] struct PP_FileInfo { /** This value represents the size of the file measured in bytes */ int64_t size; /** * This value represents the type of file as defined by the * <code>PP_FileType</code> enum */ PP_FileType type; /** * This value represents the file system type of the file as defined by the * <code>PP_FileSystemType</code> enum. */ PP_FileSystemType system_type; /** * This value represents the creation time of the file. */ PP_Time creation_time; /** * This value represents the last time the file was accessed. */ PP_Time last_access_time; /** * This value represents the last time the file was modified. */ PP_Time last_modified_time; };