#ifndef HAVE_OBJTAB_H #define HAVE_OBJTAB_H /* --------------------------------------------------------------------- */ /* BEGIN COPYRIGHT AND LICENSE NOTICE */ /* --------------------------------------------------------------------- */ /* ** Copyright (c) 2009, 2010 by Richard Harter. ** ** 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, sublicense, 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 shall be ** included in copies of this software and in copies of substantial ** portions, whether or not the software has been modified. ** ** Derivative works shall include a notice that the software is a ** modified version of the copyrighted software. ** ** There is no guarantee that this software is useful for anything ** or that it is any way correct or of value. The author disclaims ** any responsibility for the consequences of using this software. ** */ /* --------------------------------------------------------------------- */ /* END COPYRIGHT AND LICENSE NOTICE */ /* --------------------------------------------------------------------- */ #include "utldefs.h" #include "stgpool.h" typedef struct object_rs object_rs; typedef struct objslot_s objslot_s; typedef struct objtab_s objtab_s; struct object_rs { size_t index; size_t seqno; }; BOOLEAN objtab_compare (object_rs ,object_rs); BOOLEAN objtab_close (objtab_s *,char *); BOOLEAN objtab_delete (objtab_s *,object_rs,char *); void *objtab_get (objtab_s *,object_rs,char *); object_rs objtab_insert (objtab_s *,void *,stgpool_s *); void *objtab_iter (objtab_s *,size_t *,char *); objtab_s *objtab_open (stgpool_s *,char *); BOOLEAN objtab_stale (objtab_s *,object_rs,char *); BOOLEAN objtab_valid (objtab_s *,object_rs,char *); #endif