/* -*-C-*- ******************************************************************************** * * File: closed.h (Formerly closed.h) * Description: Hash table for closed search states. * Author: Mark Seaman, SW Productivity * Created: Fri Oct 16 14:37:00 1987 * Modified: Fri May 25 11:27:11 1990 (Mark Seaman) marks@hpgrlt * Language: C * Package: N/A * Status: Reusable Software Component * * (c) Copyright 1987, Hewlett-Packard Company. ** Licensed under the Apache License, Version 2.0 (the "License"); ** you may not use this file except in compliance with the License. ** You may obtain a copy of the License at ** http://www.apache.org/licenses/LICENSE-2.0 ** Unless required by applicable law or agreed to in writing, software ** distributed under the License is distributed on an "AS IS" BASIS, ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ** See the License for the specific language governing permissions and ** limitations under the License. * *********************************************************************************/ #ifndef CLOSED_H #define CLOSED_H /*---------------------------------------------------------------------- I n c l u d e s ----------------------------------------------------------------------*/ #include #include "states.h" /*---------------------------------------------------------------------- T y p e s ----------------------------------------------------------------------*/ typedef STATE *HASH_TABLE; #define NO_STATE ~0 /*---------------------------------------------------------------------- V a r i a b l e s ----------------------------------------------------------------------*/ extern HASH_TABLE global_hash; /*---------------------------------------------------------------------- M a c r o s ----------------------------------------------------------------------*/ /********************************************************************** * free_hash_table * * Free the memory taken by a state variable. **********************************************************************/ #define free_hash_table(table) \ global_hash = table /*--------------------------------------------------------------------- F u n c t i o n s ----------------------------------------------------------------------*/ int hash_add(HASH_TABLE state_table, STATE *state); int hash_lookup(HASH_TABLE state_table, STATE *state); HASH_TABLE new_hash_table(); #endif