[BACK]Return to compat_ohash.h CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / mandoc

Diff for /mandoc/compat_ohash.h between version 1.1 and 1.4

version 1.1, 2012/06/09 11:00:13 version 1.4, 2014/06/20 02:24:40
Line 1 
Line 1 
 #ifndef OHASH_H  
 #define OHASH_H  
 /* $OpenBSD$ */  /* $OpenBSD$ */
 /* ex:ts=8 sw=4:  
  */  
   
 /* Copyright (c) 1999, 2004 Marc Espie <espie@openbsd.org>  /* Copyright (c) 1999, 2004 Marc Espie <espie@openbsd.org>
  *   *
Line 19 
Line 15 
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.   * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */   */
   
   #ifndef OHASH_H
   #define OHASH_H
   
 /* Open hashing support.  /* Open hashing support.
  * Open hashing was chosen because it is much lighter than other hash   * Open hashing was chosen because it is much lighter than other hash
  * techniques, and more efficient in most cases.   * techniques, and more efficient in most cases.
  */   */
   
   /* user-visible data structure */
 struct ohash_info {  struct ohash_info {
         ptrdiff_t key_offset;          ptrdiff_t key_offset;
         void *data;     /* user data */          void *data;     /* user data */
         void *(*halloc)(size_t, void *);          void *(*calloc)(size_t, size_t, void *);
         void (*hfree)(void *, size_t, void *);          void (*free)(void *, void *);
         void *(*alloc)(size_t, void *);          void *(*alloc)(size_t, void *);
 };  };
   
 struct _ohash_record;  struct _ohash_record;
   
   /* private structure. It's there just so you can do a sizeof */
 struct ohash {  struct ohash {
         struct _ohash_record    *t;          struct _ohash_record    *t;
         struct ohash_info       info;          struct ohash_info       info;
Line 65  void *ohash_next(struct ohash *, unsigned int *);
Line 66  void *ohash_next(struct ohash *, unsigned int *);
 unsigned int ohash_entries(struct ohash *);  unsigned int ohash_entries(struct ohash *);
   
 void *ohash_create_entry(struct ohash_info *, const char *, const char **);  void *ohash_create_entry(struct ohash_info *, const char *, const char **);
 u_int32_t ohash_interval(const char *, const char **);  uint32_t ohash_interval(const char *, const char **);
   
 unsigned int ohash_qlookupi(struct ohash *, const char *, const char **);  unsigned int ohash_qlookupi(struct ohash *, const char *, const char **);
 unsigned int ohash_qlookup(struct ohash *, const char *);  unsigned int ohash_qlookup(struct ohash *, const char *);

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.4

CVSweb