1b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)/* Copyright (c) 2013 The Chromium Authors. All rights reserved.
2b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) * Use of this source code is governed by a BSD-style license that can be
3b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) * found in the LICENSE file.
4b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) */
5b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
6b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)/**
7b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) * This file contains the <code>PPB_Ext_CrxFileSystem_Private</code> interface.
8b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) */
9b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)label Chrome {
10b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  M28 = 0.1
11b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
12b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
13b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)/* <code>PPB_Ext_CrxFileSystem_Private</code> interface */
14b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface PPB_Ext_CrxFileSystem_Private {
15b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  /**
16b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)   * Open() opens the CRX file system for the current extension.  It will fail
17b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)   * when called from non-extension context.
18b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)   *
19b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)   * @param[in] crxfs A <code>PP_Resource</code> corresponding to a
20b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)   * CrxFileSystem.
21b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)   * @param[out] file_system An output <code>PP_Resource</code> corresponding
22b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)   * to a PPB_FileSystem.
23b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)   * @param[in] callback A <code>PP_CompletionCallback</code> to be called upon
24b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)   * completion of Open.
25b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)   *
26b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)   * @return An int32_t containing an error code from <code>pp_errors.h</code>.
27b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)   */
28b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  int32_t Open([in] PP_Instance instance,
29b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)               [out] PP_Resource file_system,
30b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)               [in] PP_CompletionCallback callback);
31b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
32