coan 4.2.4
hash_include.h
Go to the documentation of this file.
00001 #ifndef HASH_INCLUDE_H
00002 #define HASH_INCLUDE_H
00003 /***************************************************************************
00004  *   Copyright (C) 2007-2011 Mike Kinghan, imk@strudl.org                  *
00005  *   All rights reserved.                                                  *
00006  *                                                                         *
00007  *   Contributed originally by Mike Kinghan, imk@strudl.org                *
00008  *                                                                         *
00009  *   Redistribution and use in source and binary forms, with or without    *
00010  *   modification, are permitted provided that the following conditions    *
00011  *   are met:                                                              *
00012  *                                                                         *
00013  *   Redistributions of source code must retain the above copyright        *
00014  *   notice, this list of conditions and the following disclaimer.         *
00015  *                                                                         *
00016  *   Redistributions in binary form must reproduce the above copyright     *
00017  *   notice, this list of conditions and the following disclaimer in the   *
00018  *   documentation and/or other materials provided with the distribution.  *
00019  *                                                                         *
00020  *   Neither the name of Symbian Software Ltd. nor the names of its        *
00021  *   contributors may be used to endorse or promote products derived from  *
00022  *   this software without specific prior written permission.              *
00023  *                                                                         *
00024  *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS   *
00025  *   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT     *
00026  *   LIMITED TO, THE IMPLIED WARRANTIES OF  MERCHANTABILITY AND FITNESS    *
00027  *   FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE        *
00028  *   COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,   *
00029  *   INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,  *
00030  *   BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS *
00031  *   OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED    *
00032  *   AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,*
00033  *   OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF *
00034  *   THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH  *
00035  *   DAMAGE.                                                               *
00036  *                                                                         *
00037  **************************************************************************/
00038 #include "symbol.h"
00039 
00047 
00048 
00054 typedef symbol_h hash_include_h;
00055 
00057 typedef symbol_const_h hash_include_const_h;
00058 
00063 extern hash_include_h
00064 hash_include_new(char const *arg, size_t arglen);
00065 
00069 #define hash_include_dispose    symbol_dispose
00070 
00074 #define hash_include_copy       symbol_copy
00075 
00079 #define hash_include_swap       symbol_swap
00080 
00084 #define hash_include_assign     symbol_assign
00085 
00089 #define hash_include_definition symbol_definition
00090 
00094 #define hash_include_undefine symbol_undefine
00095 
00100 #define hash_include_str(inc_arg) symbol_name(inc_arg)
00101 
00105 #define hash_include_seen symbol_seen
00106 
00110 #define hash_include_memorise symbol_memorise
00111 
00115 #define hash_include_forget symbol_forget
00116 
00117 
00122 extern void
00123 hash_include_define(hash_include_h hi, canonical_string_const_h def);
00124 
00135 extern int
00136 hash_include_compare(hash_include_const_h lhs, void const * rhs,
00137                      size_t namelen);
00138 
00139 
00158 extern char const *
00159 hash_include_parse( char const *cp,
00160                     char const **pdiagnostic,
00161                     canonical_string_h *presolved_val);
00162 
00172 extern bool
00173 hash_include_changed(hash_include_const_h inc_arg);
00174 
00183 extern void
00184 hash_include_commit_evaluation(hash_include_h inc_arg);
00185 
00193 extern bool
00194 hash_include_valid(hash_include_const_h inc_arg);
00195 
00199 #endif /* EOF*/
00200 
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines