Updating trunk VERSION from 2139.0 to 2140.0
[chromium-blink-merge.git] / ppapi / nacl_irt / public / irt_ppapi.h
blobc64dbabb1de63bde9a721ca69ba22e14eb80c14d
1 /*
2 * Copyright 2014 The Chromium Authors. All rights reserved.
3 * Use of this source code is governed by a BSD-style license that can be
4 * found in the LICENSE file.
5 */
7 #ifndef PPAPI_NACL_IRT_PUBLIC_IRT_PPAPI_H_
8 #define PPAPI_NACL_IRT_PUBLIC_IRT_PPAPI_H_
10 #include <stddef.h>
12 #include "ppapi/c/ppp.h"
14 struct PP_StartFunctions {
15 int32_t (*PPP_InitializeModule)(PP_Module module_id,
16 PPB_GetInterface get_browser_interface);
17 void (*PPP_ShutdownModule)(void);
18 const void* (*PPP_GetInterface)(const char* interface_name);
21 struct PP_ThreadFunctions {
23 * This is a cut-down version of pthread_create()/pthread_join().
24 * We omit thread creation attributes and the thread's return value.
26 * We use uintptr_t as the thread ID type because pthread_t is not
27 * part of the stable ABI; a user thread library might choose an
28 * arbitrary size for its own pthread_t.
30 int (*thread_create)(uintptr_t* tid,
31 void (*func)(void* thread_argument),
32 void* thread_argument);
33 int (*thread_join)(uintptr_t tid);
36 #define NACL_IRT_PPAPIHOOK_v0_1 "nacl-irt-ppapihook-0.1"
37 struct nacl_irt_ppapihook {
38 int (*ppapi_start)(const struct PP_StartFunctions*);
39 void (*ppapi_register_thread_creator)(const struct PP_ThreadFunctions*);
42 #endif // PPAPI_NACL_IRT_PUBLIC_IRT_PPAPI_H_