X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fegl%2Fmain%2Feglarray.h;h=29b7128b68d5a838f6ae4e68225cee2933638dfd;hb=30ecd869471722db6cb693aaaa75120a4dfe7837;hp=c8309fb066a760be3e0554ff01002382d4a31ae4;hpb=04ae53ca8a844fbb2764b6ecb942b68a6db850e7;p=mesa.git diff --git a/src/egl/main/eglarray.h b/src/egl/main/eglarray.h index c8309fb066a..29b7128b68d 100644 --- a/src/egl/main/eglarray.h +++ b/src/egl/main/eglarray.h @@ -1,10 +1,43 @@ +/************************************************************************** + * + * Copyright 2010 LunarG, Inc. + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sub license, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice (including the + * next paragraph) shall be included in all copies or substantial portions + * of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + **************************************************************************/ + + #ifndef EGLARRAY_INCLUDED #define EGLARRAY_INCLUDED +#include "c99_compat.h" #include "egltypedefs.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef EGLBoolean (*_EGLArrayForEach)(void *elem, void *foreach_data); @@ -21,7 +54,7 @@ extern _EGLArray * _eglCreateArray(const char *name, EGLint init_size); -PUBLIC void +extern void _eglDestroyArray(_EGLArray *array, void (*free_cb)(void *)); @@ -37,8 +70,8 @@ void * _eglFindArray(_EGLArray *array, void *elem); -PUBLIC void ** -_eglFilterArray(_EGLArray *array, EGLint *size, +extern EGLint +_eglFilterArray(_EGLArray *array, void **data, EGLint size, _EGLArrayForEach filter, void *filter_data); @@ -47,11 +80,15 @@ _eglFlattenArray(_EGLArray *array, void *buffer, EGLint elem_size, EGLint size, _EGLArrayForEach flatten); -static INLINE EGLint +static inline EGLint _eglGetArraySize(_EGLArray *array) { return (array) ? array->Size : 0; } +#ifdef __cplusplus +} +#endif + #endif /* EGLARRAY_INCLUDED */