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. 4 */ 5 6 /* From dev/ppb_memory_dev.idl modified Fri Nov 18 15:58:00 2011. */ 7 8 #ifndef PPAPI_C_DEV_PPB_MEMORY_DEV_H_ 9 #define PPAPI_C_DEV_PPB_MEMORY_DEV_H_ 10 11 #include "ppapi/c/pp_macros.h" 12 #include "ppapi/c/pp_stdint.h" 13 14 #define PPB_MEMORY_DEV_INTERFACE_0_1 "PPB_Memory(Dev);0.1" 15 #define PPB_MEMORY_DEV_INTERFACE PPB_MEMORY_DEV_INTERFACE_0_1 16 17 /** 18 * @file 19 * This file defines the <code>PPB_Memory interface</code> for functions 20 * related to memory management. 21 */ 22 23 24 /** 25 * @addtogroup Interfaces 26 * @{ 27 */ 28 /** 29 * The PPB_Memory_Dev interface contains pointers to functions related to memory 30 * management. 31 * 32 */ 33 struct PPB_Memory_Dev_0_1 { 34 /** 35 * MemAlloc is a pointer to a function that allocate memory. 36 * 37 * @param[in] num_bytes A number of bytes to allocate. 38 * @return A pointer to the memory if successful, NULL If the 39 * allocation fails. 40 */ 41 void* (*MemAlloc)(uint32_t num_bytes); 42 /** 43 * MemFree is a pointer to a function that deallocates memory. 44 * 45 * @param[in] ptr A pointer to the memory to deallocate. It is safe to 46 * pass NULL to this function. 47 */ 48 void (*MemFree)(void* ptr); 49 }; 50 51 typedef struct PPB_Memory_Dev_0_1 PPB_Memory_Dev; 52 /** 53 * @} 54 */ 55 56 #endif /* PPAPI_C_DEV_PPB_MEMORY_DEV_H_ */ 57 58