1ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch// Use of this source code is governed by a BSD-style license that can be
3ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch// found in the LICENSE file.
4ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* Given an interface like this:
62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) *
768043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) *   struct PPB_Frob_1_1 {
82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) *     void (*Flange)(int32_t param1, char* param2);
92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) *     int32_t (*Shlep)(PP_CompletionCallback);
102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) *   };
112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) *
122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * Write a set of macros like this:
132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) *
1468043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) *   BEGIN_INTERFACE(FrobInterface, PPB_Frob_1_1, PPB_FROB_INTERFACE_1_1)
152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) *     METHOD2(FrobInterface, void, Flange, int32_t, char*)
162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) *     METHOD1(FrobInterface, int32_t, Shlep, PP_CompletionCallback)
1768043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) *   END_INTERFACE(FrobInterface, PPB_Frob_1_1)
1868043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) *
1968043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) * NOTE:  Use versioned struct name and macro to ensure they match.
202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) */
212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
225d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/* Chrome M25 required */
2368043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)BEGIN_INTERFACE(ConsoleInterface, PPB_Console_1_0, PPB_CONSOLE_INTERFACE_1_0)
243551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  METHOD3(ConsoleInterface, void, Log, PP_Instance, PP_LogLevel, PP_Var)
2568043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)END_INTERFACE(ConsoleInterface, PPB_Console_1_0)
262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
275d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/* Chrome M14 required */
2868043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)BEGIN_INTERFACE(CoreInterface, PPB_Core_1_0, PPB_CORE_INTERFACE_1_0)
293551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  METHOD1(CoreInterface, void, AddRefResource, PP_Resource)
303551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  METHOD1(CoreInterface, void, ReleaseResource, PP_Resource)
313551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  METHOD0(CoreInterface, PP_Bool, IsMainThread)
3268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)END_INTERFACE(CoreInterface, PPB_Core_1_0)
333551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)
345d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/* Chrome M14 required */
3568043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)BEGIN_INTERFACE(FileIoInterface, PPB_FileIO_1_0, PPB_FILEIO_INTERFACE_1_0)
362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  METHOD1(FileIoInterface, void, Close, PP_Resource)
372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  METHOD1(FileIoInterface, PP_Resource, Create, PP_Resource)
382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  METHOD2(FileIoInterface, int32_t, Flush, PP_Resource,
392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)          PP_CompletionCallback)
402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  METHOD4(FileIoInterface, int32_t, Open, PP_Resource, PP_Resource, int32_t,
412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)          PP_CompletionCallback)
422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  METHOD3(FileIoInterface, int32_t, Query, PP_Resource, PP_FileInfo*,
432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)          PP_CompletionCallback)
442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  METHOD5(FileIoInterface, int32_t, Read, PP_Resource, int64_t, char*,
452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)          int32_t, PP_CompletionCallback)
462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  METHOD3(FileIoInterface, int32_t, SetLength, PP_Resource, int64_t,
472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)          PP_CompletionCallback)
482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  METHOD5(FileIoInterface, int32_t, Write, PP_Resource, int64_t,
492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)          const char*, int32_t, PP_CompletionCallback)
5068043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)END_INTERFACE(FileIoInterface, PPB_FileIO_1_0)
512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
525d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/* Chrome M28 required */
5368043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)BEGIN_INTERFACE(FileRefInterface, PPB_FileRef_1_1, PPB_FILEREF_INTERFACE_1_1)
542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  METHOD2(FileRefInterface, PP_Resource, Create, PP_Resource, const char*)
552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  METHOD2(FileRefInterface, int32_t, Delete, PP_Resource, PP_CompletionCallback)
562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  METHOD1(FileRefInterface, PP_Var, GetName, PP_Resource)
572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  METHOD3(FileRefInterface, int32_t, MakeDirectory, PP_Resource, PP_Bool,
582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)          PP_CompletionCallback)
59868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  METHOD3(FileRefInterface, int32_t, Query, PP_Resource, PP_FileInfo*,
60868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)          PP_CompletionCallback)
61c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  METHOD3(FileRefInterface, int32_t, ReadDirectoryEntries, PP_Resource,
62c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)          const PP_ArrayOutput&, PP_CompletionCallback)
635d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  METHOD3(FileRefInterface, int32_t, Rename, PP_Resource, PP_Resource,
645d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          PP_CompletionCallback)
6568043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)END_INTERFACE(FileRefInterface, PPB_FileRef_1_1)
662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
675d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/* Chrome M14 required */
6868043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)BEGIN_INTERFACE(FileSystemInterface, PPB_FileSystem_1_0,
69c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                PPB_FILESYSTEM_INTERFACE_1_0)
70cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  METHOD1(FileSystemInterface, PP_Bool, IsFileSystem, PP_Resource)
712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  METHOD2(FileSystemInterface, PP_Resource, Create, PP_Instance,
722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)          PP_FileSystemType)
732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  METHOD3(FileSystemInterface, int32_t, Open, PP_Resource, int64_t,
742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)          PP_CompletionCallback)
7568043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)END_INTERFACE(FileSystemInterface, PPB_FileSystem_1_0)
7668043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)
775d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/* Chrome M25 required */
7868043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)BEGIN_INTERFACE(MessageLoopInterface, PPB_MessageLoop_1_0,
7968043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)                PPB_MESSAGELOOP_INTERFACE_1_0)
8068043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)  METHOD1(MessageLoopInterface, PP_Resource, Create, PP_Instance)
8168043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)  METHOD1(MessageLoopInterface, int32_t, AttachToCurrentThread, PP_Resource)
8268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)  METHOD1(MessageLoopInterface, int32_t, Run, PP_Resource)
8368043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)  METHOD3(MessageLoopInterface, int32_t, PostWork, PP_Resource,
8468043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)          struct PP_CompletionCallback, int64_t)
8568043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)  METHOD2(MessageLoopInterface, int32_t, PostQuit, PP_Resource, PP_Bool)
8668043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)  METHOD0(MessageLoopInterface, PP_Resource, GetCurrent)
8768043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)  METHOD0(MessageLoopInterface, PP_Resource, GetForMainThread)
8868043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)END_INTERFACE(MessageLoopInterface, PPB_MessageLoop_1_0)
8968043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)
905d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/* Chrome M14 required */
9168043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)BEGIN_INTERFACE(MessagingInterface, PPB_Messaging_1_0,
9268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)                PPB_MESSAGING_INTERFACE_1_0)
933551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  METHOD2(MessagingInterface, void, PostMessage, PP_Instance, PP_Var)
9468043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)END_INTERFACE(MessagingInterface, PPB_Messaging_1_0)
952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
965d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/* Chrome M29 required */
975d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)BEGIN_INTERFACE(VarArrayInterface, PPB_VarArray_1_0,
985d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)                PPB_VAR_ARRAY_INTERFACE_1_0)
995d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  METHOD0(VarArrayInterface, PP_Var, Create)
1005d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  METHOD2(VarArrayInterface, PP_Var, Get, PP_Var, uint32_t)
1015d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  METHOD3(VarArrayInterface, PP_Bool, Set, PP_Var, uint32_t, PP_Var)
1025d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  METHOD1(VarArrayInterface, uint32_t, GetLength, PP_Var)
1035d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  METHOD2(VarArrayInterface, PP_Bool, SetLength, PP_Var, uint32_t)
1045d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)END_INTERFACE(VarArrayInterface, PPB_VarArray_1_0)
1055d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
1065d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/* Chrome M18 required */
1075d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)BEGIN_INTERFACE(VarArrayBufferInterface, PPB_VarArrayBuffer_1_0,
1085d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)                PPB_VAR_ARRAY_BUFFER_INTERFACE_1_0)
1095d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  METHOD1(VarArrayBufferInterface, PP_Var, Create, uint32_t)
1105d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  METHOD2(VarArrayBufferInterface, PP_Bool, ByteLength, PP_Var, uint32_t*)
1115d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  METHOD1(VarArrayBufferInterface, void*, Map, PP_Var)
1125d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  METHOD1(VarArrayBufferInterface, void, Unmap, PP_Var)
1135d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)END_INTERFACE(VarArrayBufferInterface, PPB_VarArrayBuffer_1_0)
1145d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
1150529e5d033099cbfc42635f6f6183833b09dff6eBen MurdochBEGIN_INTERFACE(VarDictionaryInterface, PPB_VarDictionary_1_0,
1160529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch                PPB_VAR_DICTIONARY_INTERFACE_1_0)
1170529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch  METHOD0(VarDictionaryInterface, PP_Var, Create)
1180529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch  METHOD3(VarDictionaryInterface, PP_Bool, Set, PP_Var, PP_Var, PP_Var)
1190529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch  METHOD2(VarDictionaryInterface, PP_Var, Get, PP_Var, PP_Var)
1200529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch  METHOD1(VarDictionaryInterface, PP_Var, GetKeys, PP_Var)
1210529e5d033099cbfc42635f6f6183833b09dff6eBen MurdochEND_INTERFACE(VarDictionaryInterface, PPB_VarDictionary_1_0)
1220529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
1235d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/* Chrome M18 required */
12468043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)BEGIN_INTERFACE(VarInterface, PPB_Var_1_1, PPB_VAR_INTERFACE_1_1)
1253551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  METHOD1(VarInterface, void, AddRef, PP_Var)
1263551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  METHOD1(VarInterface, void, Release, PP_Var)
1273551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  METHOD2(VarInterface, PP_Var, VarFromUtf8, const char *, uint32_t)
1282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  METHOD2(VarInterface, const char*, VarToUtf8, PP_Var, uint32_t*)
12968043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)END_INTERFACE(VarInterface, PPB_Var_1_1)
1302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1315d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/* Chrome M29 required */
13268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)BEGIN_INTERFACE(HostResolverInterface, PPB_HostResolver_1_0,
133bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch                PPB_HOSTRESOLVER_INTERFACE_1_0)
134bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch  METHOD1(HostResolverInterface, PP_Resource, Create, PP_Instance)
135bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch  METHOD5(HostResolverInterface, int32_t, Resolve, PP_Resource, const char*,
136bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch          uint16_t, const struct PP_HostResolver_Hint*,
137bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch          struct PP_CompletionCallback)
138bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch  METHOD1(HostResolverInterface, PP_Var, GetCanonicalName, PP_Resource)
139bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch  METHOD1(HostResolverInterface, uint32_t, GetNetAddressCount, PP_Resource)
140bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch  METHOD2(HostResolverInterface, PP_Resource, GetNetAddress,
141bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch          PP_Resource, uint32_t)
14268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)END_INTERFACE(HostResolverInterface, PPB_HostResolver_1_0)
143bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch
1445d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/* Chrome M29 required */
14568043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)BEGIN_INTERFACE(NetAddressInterface, PPB_NetAddress_1_0,
146bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch                PPB_NETADDRESS_INTERFACE_1_0)
1473551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  METHOD2(NetAddressInterface, PP_Resource, CreateFromIPv4Address,
1483551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)          PP_Instance, PP_NetAddress_IPv4*)
1493551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  METHOD2(NetAddressInterface, PP_Resource, CreateFromIPv6Address,
1503551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)          PP_Instance, PP_NetAddress_IPv6*)
151bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch  METHOD1(NetAddressInterface, PP_Bool, IsNetAddress, PP_Resource)
152bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch  METHOD1(NetAddressInterface, PP_NetAddress_Family, GetFamily, PP_Resource)
153bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch  METHOD2(NetAddressInterface, PP_Bool, DescribeAsIPv4Address, PP_Resource,
154bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch          struct PP_NetAddress_IPv4*)
155bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch  METHOD2(NetAddressInterface, PP_Bool, DescribeAsIPv6Address, PP_Resource,
156bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch          struct PP_NetAddress_IPv6*)
1574e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  METHOD2(NetAddressInterface, PP_Var, DescribeAsString, PP_Resource, PP_Bool)
15868043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)END_INTERFACE(NetAddressInterface, PPB_NetAddress_1_0)
159bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch
1605d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/* Chrome M14 required */
16168043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)BEGIN_INTERFACE(URLLoaderInterface, PPB_URLLoader_1_0,
16268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)                PPB_URLLOADER_INTERFACE_1_0)
1632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  METHOD1(URLLoaderInterface, PP_Resource, Create, PP_Instance)
1642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  METHOD3(URLLoaderInterface, int32_t, Open, PP_Resource, PP_Resource,
1652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)          PP_CompletionCallback)
1662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  METHOD1(URLLoaderInterface, PP_Resource, GetResponseInfo, PP_Resource)
1672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  METHOD4(URLLoaderInterface, int32_t, ReadResponseBody, PP_Resource, void*,
1682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)          int32_t, PP_CompletionCallback)
1692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  METHOD1(URLLoaderInterface, void, Close, PP_Resource)
17068043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)END_INTERFACE(URLLoaderInterface, PPB_URLLoader_1_0)
1712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1725d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/* Chrome M14 required */
17368043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)BEGIN_INTERFACE(URLRequestInfoInterface, PPB_URLRequestInfo_1_0,
174c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                PPB_URLREQUESTINFO_INTERFACE_1_0)
1752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  METHOD1(URLRequestInfoInterface, PP_Resource, Create, PP_Instance)
1762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  METHOD3(URLRequestInfoInterface, PP_Bool, SetProperty, PP_Resource,
1772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)          PP_URLRequestProperty, PP_Var)
17868043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)END_INTERFACE(URLRequestInfoInterface, PPB_URLRequestInfo_1_0)
1792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1805d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/* Chrome M14 required */
18168043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)BEGIN_INTERFACE(URLResponseInfoInterface, PPB_URLResponseInfo_1_0,
182c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                PPB_URLRESPONSEINFO_INTERFACE_1_0)
1832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  METHOD2(URLResponseInfoInterface, PP_Var, GetProperty, PP_Resource,
1842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)          PP_URLResponseProperty)
18568043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)END_INTERFACE(URLResponseInfoInterface, PPB_URLResponseInfo_1_0)
1863551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)
1875d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/* Chrome M31 required */
1884e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)BEGIN_INTERFACE(TCPSocketInterface, PPB_TCPSocket_1_1,
1894e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)                PPB_TCPSOCKET_INTERFACE_1_1)
1903551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  METHOD1(TCPSocketInterface, PP_Resource, Create, PP_Instance)
1914e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  METHOD3(TCPSocketInterface, int32_t, Bind, PP_Resource, PP_Resource,
1924e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)          PP_CompletionCallback)
1934e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  METHOD3(TCPSocketInterface, int32_t, Listen, PP_Resource, int32_t,
1944e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)          PP_CompletionCallback)
1954e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  METHOD3(TCPSocketInterface, int32_t, Accept, PP_Resource, PP_Resource*,
1964e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)          PP_CompletionCallback)
1973551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  METHOD1(TCPSocketInterface, PP_Bool, IsTCPSocket, PP_Resource)
1983551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  METHOD3(TCPSocketInterface, int32_t, Connect, PP_Resource, PP_Resource,
1993551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)          PP_CompletionCallback)
2003551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  METHOD1(TCPSocketInterface, PP_Resource, GetLocalAddress, PP_Resource)
2013551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  METHOD1(TCPSocketInterface, PP_Resource, GetRemoteAddress, PP_Resource)
2023551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  METHOD4(TCPSocketInterface, int32_t, Read, PP_Resource, char*, int32_t,
2033551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)          PP_CompletionCallback)
2043551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  METHOD4(TCPSocketInterface, int32_t, Write, PP_Resource, const char*,
2053551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)          int32_t, PP_CompletionCallback)
2063551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  METHOD1(TCPSocketInterface, void, Close, PP_Resource)
2073551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  METHOD4(TCPSocketInterface, int32_t, SetOption, PP_Resource,
2083551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)          PP_TCPSocket_Option, PP_Var, PP_CompletionCallback)
2094e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)END_INTERFACE(TCPSocketInterface, PPB_TCPSocket_1_1)
2103551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)
2115d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/* Chrome M29 required */
21268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)BEGIN_INTERFACE(UDPSocketInterface, PPB_UDPSocket_1_0,
2133551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)                PPB_UDPSOCKET_INTERFACE_1_0)
2143551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  METHOD1(UDPSocketInterface, PP_Resource, Create, PP_Instance)
2153551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  METHOD1(UDPSocketInterface, PP_Bool, IsUDPSocket, PP_Resource)
2163551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  METHOD3(UDPSocketInterface, int32_t, Bind, PP_Resource, PP_Resource,
2173551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)          PP_CompletionCallback)
2183551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  METHOD1(UDPSocketInterface, PP_Resource, GetBoundAddress, PP_Resource)
2193551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  METHOD5(UDPSocketInterface, int32_t, RecvFrom, PP_Resource, char*, int32_t,
2203551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)          PP_Resource*, PP_CompletionCallback)
2213551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  METHOD5(UDPSocketInterface, int32_t, SendTo, PP_Resource, const char*,
2223551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)          int32_t, PP_Resource, PP_CompletionCallback)
2233551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  METHOD1(UDPSocketInterface, void, Close, PP_Resource)
2243551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  METHOD4(UDPSocketInterface, int32_t, SetOption, PP_Resource,
2253551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)          PP_UDPSocket_Option, PP_Var, PP_CompletionCallback)
22668043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)END_INTERFACE(UDPSocketInterface, PPB_UDPSocket_1_0)
227