Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenslang_compile_function.h
Go to the documentation of this file.
00001 /* 00002 * Mesa 3-D graphics library 00003 * Version: 6.5.2 00004 * 00005 * Copyright (C) 2005-2006 Brian Paul All Rights Reserved. 00006 * 00007 * Permission is hereby granted, free of charge, to any person obtaining a 00008 * copy of this software and associated documentation files (the "Software"), 00009 * to deal in the Software without restriction, including without limitation 00010 * the rights to use, copy, modify, merge, publish, distribute, sublicense, 00011 * and/or sell copies of the Software, and to permit persons to whom the 00012 * Software is furnished to do so, subject to the following conditions: 00013 * 00014 * The above copyright notice and this permission notice shall be included 00015 * in all copies or substantial portions of the Software. 00016 * 00017 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 00018 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 00019 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 00020 * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 00021 * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 00022 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 00023 */ 00024 00025 #ifndef SLANG_COMPILE_FUNCTION_H 00026 #define SLANG_COMPILE_FUNCTION_H 00027 00028 00032 typedef enum slang_function_kind_ 00033 { 00034 SLANG_FUNC_ORDINARY, 00035 SLANG_FUNC_CONSTRUCTOR, 00036 SLANG_FUNC_OPERATOR 00037 } slang_function_kind; 00038 00039 00043 typedef struct slang_function_ 00044 { 00045 slang_function_kind kind; 00046 slang_variable header; 00047 slang_variable_scope *parameters; 00048 unsigned int param_count; 00049 slang_operation *body; 00050 } slang_function; 00051 00052 extern int slang_function_construct(slang_function *); 00053 extern void slang_function_destruct(slang_function *); 00054 extern slang_function *slang_function_new(slang_function_kind kind); 00055 00056 extern GLboolean 00057 _slang_function_has_return_value(const slang_function *fun); 00058 00059 00063 typedef struct slang_function_scope_ 00064 { 00065 slang_function *functions; 00066 GLuint num_functions; 00067 struct slang_function_scope_ *outer_scope; 00068 } slang_function_scope; 00069 00070 00071 extern GLvoid 00072 _slang_function_scope_ctr(slang_function_scope *); 00073 00074 extern void 00075 slang_function_scope_destruct(slang_function_scope *); 00076 00077 extern int 00078 slang_function_scope_find_by_name(slang_function_scope *, slang_atom, int); 00079 00080 extern slang_function * 00081 slang_function_scope_find(slang_function_scope *, slang_function *, int); 00082 00083 extern struct slang_function_ * 00084 _slang_function_locate(const struct slang_function_scope_ *funcs, 00085 slang_atom name, struct slang_operation_ *params, 00086 GLuint num_params, 00087 const struct slang_name_space_ *space, 00088 slang_atom_pool *atoms, slang_info_log *log, 00089 GLboolean *error); 00090 00091 00092 #endif /* SLANG_COMPILE_FUNCTION_H */ Generated on Sat May 26 2012 04:19:25 for ReactOS by
1.7.6.1
|