Fix crash on app list start page contents not existing.
[chromium-blink-merge.git] / native_client_sdk / src / libraries / nacl_io / pepper / all_interfaces.h
blob0fa645d1b027206dce9052ca6994b4e3fa9c93a0
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.
5 /* Given an interface like this:
7 * struct PPB_Frob_1_1 {
8 * void (*Flange)(int32_t param1, char* param2);
9 * int32_t (*Shlep)(PP_CompletionCallback);
10 * };
12 * Write a set of macros like this:
14 * BEGIN_INTERFACE(FrobInterface, PPB_Frob_1_1, PPB_FROB_INTERFACE_1_1)
15 * METHOD2(FrobInterface, void, Flange, int32_t, char*)
16 * METHOD1(FrobInterface, int32_t, Shlep, PP_CompletionCallback)
17 * END_INTERFACE(FrobInterface, PPB_Frob_1_1)
19 * NOTE: Use versioned struct name and macro to ensure they match.
22 /* Chrome M25 required */
23 BEGIN_INTERFACE(ConsoleInterface, PPB_Console_1_0, PPB_CONSOLE_INTERFACE_1_0)
24 METHOD3(ConsoleInterface, void, Log, PP_Instance, PP_LogLevel, PP_Var)
25 END_INTERFACE(ConsoleInterface, PPB_Console_1_0)
27 /* Chrome M14 required */
28 BEGIN_INTERFACE(CoreInterface, PPB_Core_1_0, PPB_CORE_INTERFACE_1_0)
29 METHOD1(CoreInterface, void, AddRefResource, PP_Resource)
30 METHOD1(CoreInterface, void, ReleaseResource, PP_Resource)
31 METHOD0(CoreInterface, PP_Bool, IsMainThread)
32 END_INTERFACE(CoreInterface, PPB_Core_1_0)
34 /* Chrome M14 required */
35 BEGIN_INTERFACE(FileIoInterface, PPB_FileIO_1_0, PPB_FILEIO_INTERFACE_1_0)
36 METHOD1(FileIoInterface, void, Close, PP_Resource)
37 METHOD1(FileIoInterface, PP_Resource, Create, PP_Resource)
38 METHOD2(FileIoInterface, int32_t, Flush, PP_Resource,
39 PP_CompletionCallback)
40 METHOD4(FileIoInterface, int32_t, Open, PP_Resource, PP_Resource, int32_t,
41 PP_CompletionCallback)
42 METHOD3(FileIoInterface, int32_t, Query, PP_Resource, PP_FileInfo*,
43 PP_CompletionCallback)
44 METHOD5(FileIoInterface, int32_t, Read, PP_Resource, int64_t, char*,
45 int32_t, PP_CompletionCallback)
46 METHOD3(FileIoInterface, int32_t, SetLength, PP_Resource, int64_t,
47 PP_CompletionCallback)
48 METHOD5(FileIoInterface, int32_t, Write, PP_Resource, int64_t,
49 const char*, int32_t, PP_CompletionCallback)
50 END_INTERFACE(FileIoInterface, PPB_FileIO_1_0)
52 /* Chrome M28 required */
53 BEGIN_INTERFACE(FileRefInterface, PPB_FileRef_1_1, PPB_FILEREF_INTERFACE_1_1)
54 METHOD2(FileRefInterface, PP_Resource, Create, PP_Resource, const char*)
55 METHOD2(FileRefInterface, int32_t, Delete, PP_Resource, PP_CompletionCallback)
56 METHOD1(FileRefInterface, PP_Var, GetName, PP_Resource)
57 METHOD3(FileRefInterface, int32_t, MakeDirectory, PP_Resource, PP_Bool,
58 PP_CompletionCallback)
59 METHOD3(FileRefInterface, int32_t, Query, PP_Resource, PP_FileInfo*,
60 PP_CompletionCallback)
61 METHOD3(FileRefInterface, int32_t, ReadDirectoryEntries, PP_Resource,
62 const PP_ArrayOutput&, PP_CompletionCallback)
63 METHOD3(FileRefInterface, int32_t, Rename, PP_Resource, PP_Resource,
64 PP_CompletionCallback)
65 END_INTERFACE(FileRefInterface, PPB_FileRef_1_1)
67 /* Chrome M14 required */
68 BEGIN_INTERFACE(FileSystemInterface, PPB_FileSystem_1_0,
69 PPB_FILESYSTEM_INTERFACE_1_0)
70 METHOD1(FileSystemInterface, PP_Bool, IsFileSystem, PP_Resource)
71 METHOD2(FileSystemInterface, PP_Resource, Create, PP_Instance,
72 PP_FileSystemType)
73 METHOD3(FileSystemInterface, int32_t, Open, PP_Resource, int64_t,
74 PP_CompletionCallback)
75 END_INTERFACE(FileSystemInterface, PPB_FileSystem_1_0)
77 /* Chrome M25 required */
78 BEGIN_INTERFACE(MessageLoopInterface, PPB_MessageLoop_1_0,
79 PPB_MESSAGELOOP_INTERFACE_1_0)
80 METHOD1(MessageLoopInterface, PP_Resource, Create, PP_Instance)
81 METHOD1(MessageLoopInterface, int32_t, AttachToCurrentThread, PP_Resource)
82 METHOD1(MessageLoopInterface, int32_t, Run, PP_Resource)
83 METHOD3(MessageLoopInterface, int32_t, PostWork, PP_Resource,
84 struct PP_CompletionCallback, int64_t)
85 METHOD2(MessageLoopInterface, int32_t, PostQuit, PP_Resource, PP_Bool)
86 METHOD0(MessageLoopInterface, PP_Resource, GetCurrent)
87 METHOD0(MessageLoopInterface, PP_Resource, GetForMainThread)
88 END_INTERFACE(MessageLoopInterface, PPB_MessageLoop_1_0)
90 /* Chrome M14 required */
91 BEGIN_INTERFACE(MessagingInterface, PPB_Messaging_1_0,
92 PPB_MESSAGING_INTERFACE_1_0)
93 METHOD2(MessagingInterface, void, PostMessage, PP_Instance, PP_Var)
94 END_INTERFACE(MessagingInterface, PPB_Messaging_1_0)
96 /* Chrome M29 required */
97 BEGIN_INTERFACE(VarArrayInterface, PPB_VarArray_1_0,
98 PPB_VAR_ARRAY_INTERFACE_1_0)
99 METHOD0(VarArrayInterface, PP_Var, Create)
100 METHOD2(VarArrayInterface, PP_Var, Get, PP_Var, uint32_t)
101 METHOD3(VarArrayInterface, PP_Bool, Set, PP_Var, uint32_t, PP_Var)
102 METHOD1(VarArrayInterface, uint32_t, GetLength, PP_Var)
103 METHOD2(VarArrayInterface, PP_Bool, SetLength, PP_Var, uint32_t)
104 END_INTERFACE(VarArrayInterface, PPB_VarArray_1_0)
106 /* Chrome M18 required */
107 BEGIN_INTERFACE(VarArrayBufferInterface, PPB_VarArrayBuffer_1_0,
108 PPB_VAR_ARRAY_BUFFER_INTERFACE_1_0)
109 METHOD1(VarArrayBufferInterface, PP_Var, Create, uint32_t)
110 METHOD2(VarArrayBufferInterface, PP_Bool, ByteLength, PP_Var, uint32_t*)
111 METHOD1(VarArrayBufferInterface, void*, Map, PP_Var)
112 METHOD1(VarArrayBufferInterface, void, Unmap, PP_Var)
113 END_INTERFACE(VarArrayBufferInterface, PPB_VarArrayBuffer_1_0)
115 BEGIN_INTERFACE(VarDictionaryInterface, PPB_VarDictionary_1_0,
116 PPB_VAR_DICTIONARY_INTERFACE_1_0)
117 METHOD0(VarDictionaryInterface, PP_Var, Create)
118 METHOD3(VarDictionaryInterface, PP_Bool, Set, PP_Var, PP_Var, PP_Var)
119 METHOD2(VarDictionaryInterface, PP_Var, Get, PP_Var, PP_Var)
120 METHOD1(VarDictionaryInterface, PP_Var, GetKeys, PP_Var)
121 END_INTERFACE(VarDictionaryInterface, PPB_VarDictionary_1_0)
123 /* Chrome M18 required */
124 BEGIN_INTERFACE(VarInterface, PPB_Var_1_1, PPB_VAR_INTERFACE_1_1)
125 METHOD1(VarInterface, void, AddRef, PP_Var)
126 METHOD1(VarInterface, void, Release, PP_Var)
127 METHOD2(VarInterface, PP_Var, VarFromUtf8, const char *, uint32_t)
128 METHOD2(VarInterface, const char*, VarToUtf8, PP_Var, uint32_t*)
129 END_INTERFACE(VarInterface, PPB_Var_1_1)
131 /* Chrome M29 required */
132 BEGIN_INTERFACE(HostResolverInterface, PPB_HostResolver_1_0,
133 PPB_HOSTRESOLVER_INTERFACE_1_0)
134 METHOD1(HostResolverInterface, PP_Resource, Create, PP_Instance)
135 METHOD5(HostResolverInterface, int32_t, Resolve, PP_Resource, const char*,
136 uint16_t, const struct PP_HostResolver_Hint*,
137 struct PP_CompletionCallback)
138 METHOD1(HostResolverInterface, PP_Var, GetCanonicalName, PP_Resource)
139 METHOD1(HostResolverInterface, uint32_t, GetNetAddressCount, PP_Resource)
140 METHOD2(HostResolverInterface, PP_Resource, GetNetAddress,
141 PP_Resource, uint32_t)
142 END_INTERFACE(HostResolverInterface, PPB_HostResolver_1_0)
144 /* Chrome M29 required */
145 BEGIN_INTERFACE(NetAddressInterface, PPB_NetAddress_1_0,
146 PPB_NETADDRESS_INTERFACE_1_0)
147 METHOD2(NetAddressInterface, PP_Resource, CreateFromIPv4Address,
148 PP_Instance, PP_NetAddress_IPv4*)
149 METHOD2(NetAddressInterface, PP_Resource, CreateFromIPv6Address,
150 PP_Instance, PP_NetAddress_IPv6*)
151 METHOD1(NetAddressInterface, PP_Bool, IsNetAddress, PP_Resource)
152 METHOD1(NetAddressInterface, PP_NetAddress_Family, GetFamily, PP_Resource)
153 METHOD2(NetAddressInterface, PP_Bool, DescribeAsIPv4Address, PP_Resource,
154 struct PP_NetAddress_IPv4*)
155 METHOD2(NetAddressInterface, PP_Bool, DescribeAsIPv6Address, PP_Resource,
156 struct PP_NetAddress_IPv6*)
157 METHOD2(NetAddressInterface, PP_Var, DescribeAsString, PP_Resource, PP_Bool)
158 END_INTERFACE(NetAddressInterface, PPB_NetAddress_1_0)
160 /* Chrome M14 required */
161 BEGIN_INTERFACE(URLLoaderInterface, PPB_URLLoader_1_0,
162 PPB_URLLOADER_INTERFACE_1_0)
163 METHOD1(URLLoaderInterface, PP_Resource, Create, PP_Instance)
164 METHOD3(URLLoaderInterface, int32_t, Open, PP_Resource, PP_Resource,
165 PP_CompletionCallback)
166 METHOD1(URLLoaderInterface, PP_Resource, GetResponseInfo, PP_Resource)
167 METHOD4(URLLoaderInterface, int32_t, ReadResponseBody, PP_Resource, void*,
168 int32_t, PP_CompletionCallback)
169 METHOD1(URLLoaderInterface, void, Close, PP_Resource)
170 END_INTERFACE(URLLoaderInterface, PPB_URLLoader_1_0)
172 /* Chrome M14 required */
173 BEGIN_INTERFACE(URLRequestInfoInterface, PPB_URLRequestInfo_1_0,
174 PPB_URLREQUESTINFO_INTERFACE_1_0)
175 METHOD1(URLRequestInfoInterface, PP_Resource, Create, PP_Instance)
176 METHOD3(URLRequestInfoInterface, PP_Bool, SetProperty, PP_Resource,
177 PP_URLRequestProperty, PP_Var)
178 END_INTERFACE(URLRequestInfoInterface, PPB_URLRequestInfo_1_0)
180 /* Chrome M14 required */
181 BEGIN_INTERFACE(URLResponseInfoInterface, PPB_URLResponseInfo_1_0,
182 PPB_URLRESPONSEINFO_INTERFACE_1_0)
183 METHOD2(URLResponseInfoInterface, PP_Var, GetProperty, PP_Resource,
184 PP_URLResponseProperty)
185 END_INTERFACE(URLResponseInfoInterface, PPB_URLResponseInfo_1_0)
187 /* Chrome M31 required */
188 BEGIN_INTERFACE(TCPSocketInterface, PPB_TCPSocket_1_1,
189 PPB_TCPSOCKET_INTERFACE_1_1)
190 METHOD1(TCPSocketInterface, PP_Resource, Create, PP_Instance)
191 METHOD3(TCPSocketInterface, int32_t, Bind, PP_Resource, PP_Resource,
192 PP_CompletionCallback)
193 METHOD3(TCPSocketInterface, int32_t, Listen, PP_Resource, int32_t,
194 PP_CompletionCallback)
195 METHOD3(TCPSocketInterface, int32_t, Accept, PP_Resource, PP_Resource*,
196 PP_CompletionCallback)
197 METHOD1(TCPSocketInterface, PP_Bool, IsTCPSocket, PP_Resource)
198 METHOD3(TCPSocketInterface, int32_t, Connect, PP_Resource, PP_Resource,
199 PP_CompletionCallback)
200 METHOD1(TCPSocketInterface, PP_Resource, GetLocalAddress, PP_Resource)
201 METHOD1(TCPSocketInterface, PP_Resource, GetRemoteAddress, PP_Resource)
202 METHOD4(TCPSocketInterface, int32_t, Read, PP_Resource, char*, int32_t,
203 PP_CompletionCallback)
204 METHOD4(TCPSocketInterface, int32_t, Write, PP_Resource, const char*,
205 int32_t, PP_CompletionCallback)
206 METHOD1(TCPSocketInterface, void, Close, PP_Resource)
207 METHOD4(TCPSocketInterface, int32_t, SetOption, PP_Resource,
208 PP_TCPSocket_Option, PP_Var, PP_CompletionCallback)
209 END_INTERFACE(TCPSocketInterface, PPB_TCPSocket_1_1)
211 /* Chrome M29 required */
212 BEGIN_INTERFACE(UDPSocketInterface, PPB_UDPSocket_1_0,
213 PPB_UDPSOCKET_INTERFACE_1_0)
214 METHOD1(UDPSocketInterface, PP_Resource, Create, PP_Instance)
215 METHOD1(UDPSocketInterface, PP_Bool, IsUDPSocket, PP_Resource)
216 METHOD3(UDPSocketInterface, int32_t, Bind, PP_Resource, PP_Resource,
217 PP_CompletionCallback)
218 METHOD1(UDPSocketInterface, PP_Resource, GetBoundAddress, PP_Resource)
219 METHOD5(UDPSocketInterface, int32_t, RecvFrom, PP_Resource, char*, int32_t,
220 PP_Resource*, PP_CompletionCallback)
221 METHOD5(UDPSocketInterface, int32_t, SendTo, PP_Resource, const char*,
222 int32_t, PP_Resource, PP_CompletionCallback)
223 METHOD1(UDPSocketInterface, void, Close, PP_Resource)
224 METHOD4(UDPSocketInterface, int32_t, SetOption, PP_Resource,
225 PP_UDPSocket_Option, PP_Var, PP_CompletionCallback)
226 END_INTERFACE(UDPSocketInterface, PPB_UDPSocket_1_0)