1/* Copyright (c) 2013 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 */
5
6/* From private/ppb_ext_crx_file_system_private.idl,
7 *   modified Fri Nov  1 12:23:59 2013.
8 */
9
10#ifndef PPAPI_C_PRIVATE_PPB_EXT_CRX_FILE_SYSTEM_PRIVATE_H_
11#define PPAPI_C_PRIVATE_PPB_EXT_CRX_FILE_SYSTEM_PRIVATE_H_
12
13#include "ppapi/c/pp_completion_callback.h"
14#include "ppapi/c/pp_instance.h"
15#include "ppapi/c/pp_macros.h"
16#include "ppapi/c/pp_resource.h"
17#include "ppapi/c/pp_stdint.h"
18
19#define PPB_EXT_CRXFILESYSTEM_PRIVATE_INTERFACE_0_1 \
20    "PPB_Ext_CrxFileSystem_Private;0.1"
21#define PPB_EXT_CRXFILESYSTEM_PRIVATE_INTERFACE \
22    PPB_EXT_CRXFILESYSTEM_PRIVATE_INTERFACE_0_1
23
24/**
25 * @file
26 * This file contains the <code>PPB_Ext_CrxFileSystem_Private</code> interface.
27 */
28
29
30/**
31 * @addtogroup Interfaces
32 * @{
33 */
34/* <code>PPB_Ext_CrxFileSystem_Private</code> interface */
35struct PPB_Ext_CrxFileSystem_Private_0_1 {
36  /**
37   * Open() opens the CRX file system for the current extension.  It will fail
38   * when called from non-extension context.
39   *
40   * @param[in] crxfs A <code>PP_Resource</code> corresponding to a
41   * CrxFileSystem.
42   * @param[out] file_system An output <code>PP_Resource</code> corresponding
43   * to a PPB_FileSystem.
44   * @param[in] callback A <code>PP_CompletionCallback</code> to be called upon
45   * completion of Open.
46   *
47   * @return An int32_t containing an error code from <code>pp_errors.h</code>.
48   */
49  int32_t (*Open)(PP_Instance instance,
50                  PP_Resource* file_system,
51                  struct PP_CompletionCallback callback);
52};
53
54typedef struct PPB_Ext_CrxFileSystem_Private_0_1 PPB_Ext_CrxFileSystem_Private;
55/**
56 * @}
57 */
58
59#endif  /* PPAPI_C_PRIVATE_PPB_EXT_CRX_FILE_SYSTEM_PRIVATE_H_ */
60
61