diff options
author | noelallen@chromium.org <noelallen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-09-23 22:40:20 +0000 |
---|---|---|
committer | noelallen@chromium.org <noelallen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-09-23 22:40:20 +0000 |
commit | 83dab25317b621471b257a6e1e397a6a5f5be328 (patch) | |
tree | c4d897b447e941a02b8ef3dca6d92e8fb19a6186 | |
parent | d319e3cdc058ad8161c21f31243eab02f6359d4a (diff) | |
download | chromium_src-83dab25317b621471b257a6e1e397a6a5f5be328.zip chromium_src-83dab25317b621471b257a6e1e397a6a5f5be328.tar.gz chromium_src-83dab25317b621471b257a6e1e397a6a5f5be328.tar.bz2 |
Fix interface versions.
all_interfaces.h incorrectly uses a Fixed PPAPI version for the interface
but and a head rev version of the structure. This was causing function
pointers between the C++ RealPepperInterface structure and the actual
PPAPI structures to misalign.
BUG=296668
R=binji@chromium.org
Review URL: https://codereview.chromium.org/23581018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@224813 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | native_client_sdk/src/libraries/nacl_io/pepper/all_interfaces.h | 70 |
1 files changed, 37 insertions, 33 deletions
diff --git a/native_client_sdk/src/libraries/nacl_io/pepper/all_interfaces.h b/native_client_sdk/src/libraries/nacl_io/pepper/all_interfaces.h index 8cdacb44..95f802a 100644 --- a/native_client_sdk/src/libraries/nacl_io/pepper/all_interfaces.h +++ b/native_client_sdk/src/libraries/nacl_io/pepper/all_interfaces.h @@ -5,30 +5,32 @@ /* Given an interface like this: * - * struct PPB_Frob { + * struct PPB_Frob_1_1 { * void (*Flange)(int32_t param1, char* param2); * int32_t (*Shlep)(PP_CompletionCallback); * }; * * Write a set of macros like this: * - * BEGIN_INTERFACE(FrobInterface, PPB_Frob, PPB_FROB_INTERFACE) + * BEGIN_INTERFACE(FrobInterface, PPB_Frob_1_1, PPB_FROB_INTERFACE_1_1) * METHOD2(FrobInterface, void, Flange, int32_t, char*) * METHOD1(FrobInterface, int32_t, Shlep, PP_CompletionCallback) - * END_INTERFACE(FrobInterface, PPB_Frob) + * END_INTERFACE(FrobInterface, PPB_Frob_1_1) + * + * NOTE: Use versioned struct name and macro to ensure they match. */ -BEGIN_INTERFACE(ConsoleInterface, PPB_Console, PPB_CONSOLE_INTERFACE_1_0) +BEGIN_INTERFACE(ConsoleInterface, PPB_Console_1_0, PPB_CONSOLE_INTERFACE_1_0) METHOD3(ConsoleInterface, void, Log, PP_Instance, PP_LogLevel, PP_Var) -END_INTERFACE(ConsoleInterface, PPB_Console) +END_INTERFACE(ConsoleInterface, PPB_Console_1_0) -BEGIN_INTERFACE(CoreInterface, PPB_Core, PPB_CORE_INTERFACE_1_0) +BEGIN_INTERFACE(CoreInterface, PPB_Core_1_0, PPB_CORE_INTERFACE_1_0) METHOD1(CoreInterface, void, AddRefResource, PP_Resource) METHOD1(CoreInterface, void, ReleaseResource, PP_Resource) METHOD0(CoreInterface, PP_Bool, IsMainThread) -END_INTERFACE(CoreInterface, PPB_Core) +END_INTERFACE(CoreInterface, PPB_Core_1_0) -BEGIN_INTERFACE(FileIoInterface, PPB_FileIO, PPB_FILEIO_INTERFACE_1_0) +BEGIN_INTERFACE(FileIoInterface, PPB_FileIO_1_0, PPB_FILEIO_INTERFACE_1_0) METHOD1(FileIoInterface, void, Close, PP_Resource) METHOD1(FileIoInterface, PP_Resource, Create, PP_Resource) METHOD2(FileIoInterface, int32_t, Flush, PP_Resource, @@ -43,9 +45,9 @@ BEGIN_INTERFACE(FileIoInterface, PPB_FileIO, PPB_FILEIO_INTERFACE_1_0) PP_CompletionCallback) METHOD5(FileIoInterface, int32_t, Write, PP_Resource, int64_t, const char*, int32_t, PP_CompletionCallback) -END_INTERFACE(FileIoInterface, PPB_FileIO) +END_INTERFACE(FileIoInterface, PPB_FileIO_1_0) -BEGIN_INTERFACE(FileRefInterface, PPB_FileRef, PPB_FILEREF_INTERFACE_1_1) +BEGIN_INTERFACE(FileRefInterface, PPB_FileRef_1_1, PPB_FILEREF_INTERFACE_1_1) METHOD2(FileRefInterface, PP_Resource, Create, PP_Resource, const char*) METHOD2(FileRefInterface, int32_t, Delete, PP_Resource, PP_CompletionCallback) METHOD1(FileRefInterface, PP_Var, GetName, PP_Resource) @@ -55,17 +57,17 @@ BEGIN_INTERFACE(FileRefInterface, PPB_FileRef, PPB_FILEREF_INTERFACE_1_1) PP_CompletionCallback) METHOD3(FileRefInterface, int32_t, ReadDirectoryEntries, PP_Resource, const PP_ArrayOutput&, PP_CompletionCallback) -END_INTERFACE(FileRefInterface, PPB_FileRef) +END_INTERFACE(FileRefInterface, PPB_FileRef_1_1) -BEGIN_INTERFACE(FileSystemInterface, PPB_FileSystem, +BEGIN_INTERFACE(FileSystemInterface, PPB_FileSystem_1_0, PPB_FILESYSTEM_INTERFACE_1_0) METHOD2(FileSystemInterface, PP_Resource, Create, PP_Instance, PP_FileSystemType) METHOD3(FileSystemInterface, int32_t, Open, PP_Resource, int64_t, PP_CompletionCallback) -END_INTERFACE(FileSystemInterface, PPB_FileSystem) +END_INTERFACE(FileSystemInterface, PPB_FileSystem_1_0) -BEGIN_INTERFACE(MessageLoopInterface, PPB_MessageLoop, +BEGIN_INTERFACE(MessageLoopInterface, PPB_MessageLoop_1_0, PPB_MESSAGELOOP_INTERFACE_1_0) METHOD1(MessageLoopInterface, PP_Resource, Create, PP_Instance) METHOD1(MessageLoopInterface, int32_t, AttachToCurrentThread, PP_Resource) @@ -75,20 +77,21 @@ BEGIN_INTERFACE(MessageLoopInterface, PPB_MessageLoop, METHOD2(MessageLoopInterface, int32_t, PostQuit, PP_Resource, PP_Bool) METHOD0(MessageLoopInterface, PP_Resource, GetCurrent) METHOD0(MessageLoopInterface, PP_Resource, GetForMainThread) -END_INTERFACE(MessageLoopInterface, PPB_MessageLoop) +END_INTERFACE(MessageLoopInterface, PPB_MessageLoop_1_0) -BEGIN_INTERFACE(MessagingInterface, PPB_Messaging, PPB_MESSAGING_INTERFACE_1_0) +BEGIN_INTERFACE(MessagingInterface, PPB_Messaging_1_0, + PPB_MESSAGING_INTERFACE_1_0) METHOD2(MessagingInterface, void, PostMessage, PP_Instance, PP_Var) -END_INTERFACE(MessagingInterface, PPB_Messaging) +END_INTERFACE(MessagingInterface, PPB_Messaging_1_0) -BEGIN_INTERFACE(VarInterface, PPB_Var, PPB_VAR_INTERFACE_1_1) +BEGIN_INTERFACE(VarInterface, PPB_Var_1_1, PPB_VAR_INTERFACE_1_1) METHOD1(VarInterface, void, AddRef, PP_Var) METHOD1(VarInterface, void, Release, PP_Var) METHOD2(VarInterface, PP_Var, VarFromUtf8, const char *, uint32_t) METHOD2(VarInterface, const char*, VarToUtf8, PP_Var, uint32_t*) -END_INTERFACE(VarInterface, PPB_Var) +END_INTERFACE(VarInterface, PPB_Var_1_1) -BEGIN_INTERFACE(HostResolverInterface, PPB_HostResolver, +BEGIN_INTERFACE(HostResolverInterface, PPB_HostResolver_1_0, PPB_HOSTRESOLVER_INTERFACE_1_0) METHOD1(HostResolverInterface, PP_Resource, Create, PP_Instance) METHOD5(HostResolverInterface, int32_t, Resolve, PP_Resource, const char*, @@ -98,9 +101,9 @@ BEGIN_INTERFACE(HostResolverInterface, PPB_HostResolver, METHOD1(HostResolverInterface, uint32_t, GetNetAddressCount, PP_Resource) METHOD2(HostResolverInterface, PP_Resource, GetNetAddress, PP_Resource, uint32_t) -END_INTERFACE(HostResolverInterface, PPB_HostResolver) +END_INTERFACE(HostResolverInterface, PPB_HostResolver_1_0) -BEGIN_INTERFACE(NetAddressInterface, PPB_NetAddress, +BEGIN_INTERFACE(NetAddressInterface, PPB_NetAddress_1_0, PPB_NETADDRESS_INTERFACE_1_0) METHOD2(NetAddressInterface, PP_Resource, CreateFromIPv4Address, PP_Instance, PP_NetAddress_IPv4*) @@ -112,9 +115,10 @@ BEGIN_INTERFACE(NetAddressInterface, PPB_NetAddress, struct PP_NetAddress_IPv4*) METHOD2(NetAddressInterface, PP_Bool, DescribeAsIPv6Address, PP_Resource, struct PP_NetAddress_IPv6*) -END_INTERFACE(NetAddressInterface, PPB_NetAddress) +END_INTERFACE(NetAddressInterface, PPB_NetAddress_1_0) -BEGIN_INTERFACE(URLLoaderInterface, PPB_URLLoader, PPB_URLLOADER_INTERFACE_1_0) +BEGIN_INTERFACE(URLLoaderInterface, PPB_URLLoader_1_0, + PPB_URLLOADER_INTERFACE_1_0) METHOD1(URLLoaderInterface, PP_Resource, Create, PP_Instance) METHOD3(URLLoaderInterface, int32_t, Open, PP_Resource, PP_Resource, PP_CompletionCallback) @@ -122,22 +126,22 @@ BEGIN_INTERFACE(URLLoaderInterface, PPB_URLLoader, PPB_URLLOADER_INTERFACE_1_0) METHOD4(URLLoaderInterface, int32_t, ReadResponseBody, PP_Resource, void*, int32_t, PP_CompletionCallback) METHOD1(URLLoaderInterface, void, Close, PP_Resource) -END_INTERFACE(URLLoaderInterface, PPB_URLLoader) +END_INTERFACE(URLLoaderInterface, PPB_URLLoader_1_0) -BEGIN_INTERFACE(URLRequestInfoInterface, PPB_URLRequestInfo, +BEGIN_INTERFACE(URLRequestInfoInterface, PPB_URLRequestInfo_1_0, PPB_URLREQUESTINFO_INTERFACE_1_0) METHOD1(URLRequestInfoInterface, PP_Resource, Create, PP_Instance) METHOD3(URLRequestInfoInterface, PP_Bool, SetProperty, PP_Resource, PP_URLRequestProperty, PP_Var) -END_INTERFACE(URLRequestInfoInterface, PPB_URLRequestInfo) +END_INTERFACE(URLRequestInfoInterface, PPB_URLRequestInfo_1_0) -BEGIN_INTERFACE(URLResponseInfoInterface, PPB_URLResponseInfo, +BEGIN_INTERFACE(URLResponseInfoInterface, PPB_URLResponseInfo_1_0, PPB_URLRESPONSEINFO_INTERFACE_1_0) METHOD2(URLResponseInfoInterface, PP_Var, GetProperty, PP_Resource, PP_URLResponseProperty) -END_INTERFACE(URLResponseInfoInterface, PPB_URLResponseInfo) +END_INTERFACE(URLResponseInfoInterface, PPB_URLResponseInfo_1_0) -BEGIN_INTERFACE(TCPSocketInterface, PPB_TCPSocket, +BEGIN_INTERFACE(TCPSocketInterface, PPB_TCPSocket_1_0, PPB_TCPSOCKET_INTERFACE_1_0) METHOD1(TCPSocketInterface, PP_Resource, Create, PP_Instance) METHOD1(TCPSocketInterface, PP_Bool, IsTCPSocket, PP_Resource) @@ -152,9 +156,9 @@ BEGIN_INTERFACE(TCPSocketInterface, PPB_TCPSocket, METHOD1(TCPSocketInterface, void, Close, PP_Resource) METHOD4(TCPSocketInterface, int32_t, SetOption, PP_Resource, PP_TCPSocket_Option, PP_Var, PP_CompletionCallback) -END_INTERFACE(TCPSocketInterface, PPB_TCPSocket) +END_INTERFACE(TCPSocketInterface, PPB_TCPSocket_1_0) -BEGIN_INTERFACE(UDPSocketInterface, PPB_UDPSocket, +BEGIN_INTERFACE(UDPSocketInterface, PPB_UDPSocket_1_0, PPB_UDPSOCKET_INTERFACE_1_0) METHOD1(UDPSocketInterface, PP_Resource, Create, PP_Instance) METHOD1(UDPSocketInterface, PP_Bool, IsUDPSocket, PP_Resource) @@ -168,4 +172,4 @@ BEGIN_INTERFACE(UDPSocketInterface, PPB_UDPSocket, METHOD1(UDPSocketInterface, void, Close, PP_Resource) METHOD4(UDPSocketInterface, int32_t, SetOption, PP_Resource, PP_UDPSocket_Option, PP_Var, PP_CompletionCallback) -END_INTERFACE(UDPSocketInterface, PPB_UDPSocket) +END_INTERFACE(UDPSocketInterface, PPB_UDPSocket_1_0) |