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 */
35 struct 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 
54 typedef 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