Blame doc/html/linkhash_8h.html

Packit Service def718
Packit Service def718
<html xmlns="http://www.w3.org/1999/xhtml">
Packit Service def718
<head>
Packit Service def718
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
Packit Service def718
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
Packit Service def718
<meta name="generator" content="Doxygen 1.8.8"/>
Packit Service def718
<title>json-c: linkhash.h File Reference</title>
Packit Service def718
<link href="tabs.css" rel="stylesheet" type="text/css"/>
Packit Service def718
<script type="text/javascript" src="jquery.js"></script>
Packit Service def718
<script type="text/javascript" src="dynsections.js"></script>
Packit Service def718
<link href="doxygen.css" rel="stylesheet" type="text/css" />
Packit Service def718
</head>
Packit Service def718
<body>
Packit Service def718
Packit Service def718
Packit Service def718
Packit Service def718
 
Packit Service def718
 
Packit Service def718
  
Packit Service def718
   
json-c
Packit Service def718
    0.13.1
Packit Service def718
   
Packit Service def718
  
Packit Service def718
 
Packit Service def718
 
Packit Service def718
Packit Service def718
Packit Service def718
Packit Service def718
Packit Service def718
  
Packit Service def718
    
    Packit Service def718
          
  • Main Page
  • Packit Service def718
          
  • Related Pages
  • Packit Service def718
          
  • Data Structures
  • Packit Service def718
          
  • Files
  • Packit Service def718
        
    Packit Service def718
      
    Packit Service def718
      
    Packit Service def718
        
      Packit Service def718
            
    • File List
    • Packit Service def718
            
    • Globals
    • Packit Service def718
          
      Packit Service def718
        
      Packit Service def718
      Packit Service def718
      Packit Service def718
        
      Packit Service def718
      Data Structures |
      Packit Service def718
      Macros |
      Packit Service def718
      Typedefs |
      Packit Service def718
      Functions  
      Packit Service def718
        
      Packit Service def718
      linkhash.h File Reference
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718

      Internal methods for working with json_type_object objects. Although this is exposed by the json_object_get_object() function and within the json_object_iter type, it is not recommended for direct use.

      Packit Service def718
      More...

      Packit Service def718
      Packit Service def718

      Packit Service def718
      Data Structures
      Packit Service def718
      struct  lh_entry
      Packit Service def718
       
      Packit Service def718
      struct  lh_table
      Packit Service def718
       
      Packit Service def718
      Packit Service def718

      Packit Service def718
      Macros
      Packit Service def718
      #define LH_PRIME   0x9e370001UL
      Packit Service def718
       
      Packit Service def718
      #define LH_LOAD_FACTOR   0.66
      Packit Service def718
       
      Packit Service def718
      #define LH_EMPTY   (void*)-1
      Packit Service def718
       
      Packit Service def718
      #define LH_FREED   (void*)-2
      Packit Service def718
       
      Packit Service def718
      #define JSON_C_STR_HASH_DFLT   0
      Packit Service def718
       
      Packit Service def718
      #define JSON_C_STR_HASH_PERLLIKE   1
      Packit Service def718
       
      Packit Service def718
      #define lh_foreach(table, entry)   for(entry = table->head; entry; entry = entry->next)
      Packit Service def718
       
      Packit Service def718
      #define lh_foreach_safe(table, entry, tmp)   for(entry = table->head; entry && ((tmp = entry->next) || 1); entry = tmp)
      Packit Service def718
       
      Packit Service def718
      #define _LH_INLINE   inline
      Packit Service def718
       
      Packit Service def718
      #define _LH_UNCONST(a)   ((void *)(uintptr_t)(const void *)(a))
      Packit Service def718
       
      Packit Service def718
      #define lh_entry_k(entry)   _LH_UNCONST((entry)->k)
      Packit Service def718
       
      Packit Service def718
      #define lh_entry_v(entry)   _LH_UNCONST((entry)->v)
      Packit Service def718
       
      Packit Service def718
      Packit Service def718

      Packit Service def718
      Typedefs
      Packit Service def718
      typedef void( lh_entry_free_fn )(struct lh_entry *e)
      Packit Service def718
       
      Packit Service def718
      typedef unsigned long( lh_hash_fn )(const void *k)
      Packit Service def718
       
      Packit Service def718
      typedef int( lh_equal_fn )(const void *k1, const void *k2)
      Packit Service def718
       
      Packit Service def718
      typedef struct lh_table lh_table
      Packit Service def718
       
      Packit Service def718
      Packit Service def718

      Packit Service def718
      Functions
      Packit Service def718
      int json_global_set_string_hash (const int h)
      Packit Service def718
       
      Packit Service def718
      struct lh_tablelh_table_new (int size, lh_entry_free_fn *free_fn, lh_hash_fn *hash_fn, lh_equal_fn *equal_fn)
      Packit Service def718
       
      Packit Service def718
      struct lh_tablelh_kchar_table_new (int size, lh_entry_free_fn *free_fn)
      Packit Service def718
       
      Packit Service def718
      struct lh_tablelh_kptr_table_new (int size, lh_entry_free_fn *free_fn)
      Packit Service def718
       
      Packit Service def718
      void lh_table_free (struct lh_table *t)
      Packit Service def718
       
      Packit Service def718
      int lh_table_insert (struct lh_table *t, const void *k, const void *v)
      Packit Service def718
       
      Packit Service def718
      int lh_table_insert_w_hash (struct lh_table *t, const void *k, const void *v, const unsigned long h, const unsigned opts)
      Packit Service def718
       
      Packit Service def718
      struct lh_entrylh_table_lookup_entry (struct lh_table *t, const void *k)
      Packit Service def718
       
      Packit Service def718
      struct lh_entrylh_table_lookup_entry_w_hash (struct lh_table *t, const void *k, const unsigned long h)
      Packit Service def718
       
      Packit Service def718
      const void * lh_table_lookup (struct lh_table *t, const void *k)
      Packit Service def718
       
      Packit Service def718
      json_bool lh_table_lookup_ex (struct lh_table *t, const void *k, void **v)
      Packit Service def718
       
      Packit Service def718
      int lh_table_delete_entry (struct lh_table *t, struct lh_entry *e)
      Packit Service def718
       
      Packit Service def718
      int lh_table_delete (struct lh_table *t, const void *k)
      Packit Service def718
       
      Packit Service def718
      int lh_table_length (struct lh_table *t)
      Packit Service def718
       
      Packit Service def718
      void lh_abort (const char *msg,...)
      Packit Service def718
       
      Packit Service def718
      int lh_table_resize (struct lh_table *t, int new_size)
      Packit Service def718
       
      Packit Service def718
      Packit Service def718

      Detailed Description

      Packit Service def718

      Internal methods for working with json_type_object objects. Although this is exposed by the json_object_get_object() function and within the json_object_iter type, it is not recommended for direct use.

      Packit Service def718

      Macro Definition Documentation

      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
            
      Packit Service def718
              
      Packit Service def718
                #define _LH_INLINE   inline
      Packit Service def718
              
      Packit Service def718
            
      Packit Service def718
      Packit Service def718
      Deprecated:
      Don't use this outside of linkhash.h:
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
            
      Packit Service def718
              
      Packit Service def718
                #define _LH_UNCONST
      Packit Service def718
                (
      Packit Service def718
                 
      Packit Service def718
                a)
      Packit Service def718
                   ((void *)(uintptr_t)(const void *)(a))
      Packit Service def718
              
      Packit Service def718
            
      Packit Service def718
      Packit Service def718
      Deprecated:
      Don't use this outside of linkhash.h:
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
            
      Packit Service def718
              
      Packit Service def718
                #define JSON_C_STR_HASH_DFLT   0
      Packit Service def718
              
      Packit Service def718
            
      Packit Service def718
      Packit Service def718

      default string hash function

      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
            
      Packit Service def718
              
      Packit Service def718
                #define JSON_C_STR_HASH_PERLLIKE   1
      Packit Service def718
              
      Packit Service def718
            
      Packit Service def718
      Packit Service def718

      perl-like string hash function

      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
            
      Packit Service def718
              
      Packit Service def718
                #define LH_EMPTY   (void*)-1
      Packit Service def718
              
      Packit Service def718
            
      Packit Service def718
      Packit Service def718

      sentinel pointer value for empty slots

      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
            
      Packit Service def718
              
      Packit Service def718
                #define lh_entry_k
      Packit Service def718
                (
      Packit Service def718
                 
      Packit Service def718
                entry)
      Packit Service def718
                   _LH_UNCONST((entry)->k)
      Packit Service def718
              
      Packit Service def718
            
      Packit Service def718
      Packit Service def718

      Return a non-const version of lh_entry.k.

      Packit Service def718

      lh_entry.k is const to indicate and help ensure that linkhash itself doesn't modify it, but callers are allowed to do what they want with it. See also lh_entry.k_is_constant

      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
            
      Packit Service def718
              
      Packit Service def718
                #define lh_entry_v
      Packit Service def718
                (
      Packit Service def718
                 
      Packit Service def718
                entry)
      Packit Service def718
                   _LH_UNCONST((entry)->v)
      Packit Service def718
              
      Packit Service def718
            
      Packit Service def718
      Packit Service def718

      Return a non-const version of lh_entry.v.

      Packit Service def718

      v is const to indicate and help ensure that linkhash itself doesn't modify it, but callers are allowed to do what they want with it.

      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
            
      Packit Service def718
              
      Packit Service def718
                #define lh_foreach
      Packit Service def718
                (
      Packit Service def718
                 
      Packit Service def718
                table, 
      Packit Service def718
              
      Packit Service def718
              
      Packit Service def718
                
      Packit Service def718
                
      Packit Service def718
                 
      Packit Service def718
                entry 
      Packit Service def718
              
      Packit Service def718
              
      Packit Service def718
                
      Packit Service def718
                )
      Packit Service def718
                   for(entry = table->head; entry; entry = entry->next)
      Packit Service def718
              
      Packit Service def718
            
      Packit Service def718
      Packit Service def718

      Convenience list iterator.

      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
            
      Packit Service def718
              
      Packit Service def718
                #define lh_foreach_safe
      Packit Service def718
                (
      Packit Service def718
                 
      Packit Service def718
                table, 
      Packit Service def718
              
      Packit Service def718
              
      Packit Service def718
                
      Packit Service def718
                
      Packit Service def718
                 
      Packit Service def718
                entry, 
      Packit Service def718
              
      Packit Service def718
              
      Packit Service def718
                
      Packit Service def718
                
      Packit Service def718
                 
      Packit Service def718
                tmp 
      Packit Service def718
              
      Packit Service def718
              
      Packit Service def718
                
      Packit Service def718
                )
      Packit Service def718
                   for(entry = table->head; entry && ((tmp = entry->next) || 1); entry = tmp)
      Packit Service def718
              
      Packit Service def718
            
      Packit Service def718
      Packit Service def718

      lh_foreach_safe allows calling of deletion routine while iterating.

      Packit Service def718
      Parameters
      Packit Service def718
        
      Packit Service def718
          tablea struct lh_table * to iterate over 
      Packit Service def718
          entrya struct lh_entry * variable to hold each element 
      Packit Service def718
          tmpa struct lh_entry * variable to hold a temporary pointer to the next element 
      Packit Service def718
        
      Packit Service def718
        
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
            
      Packit Service def718
              
      Packit Service def718
                #define LH_FREED   (void*)-2
      Packit Service def718
              
      Packit Service def718
            
      Packit Service def718
      Packit Service def718

      sentinel pointer value for freed slots

      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
            
      Packit Service def718
              
      Packit Service def718
                #define LH_LOAD_FACTOR   0.66
      Packit Service def718
              
      Packit Service def718
            
      Packit Service def718
      Packit Service def718

      The fraction of filled hash buckets until an insert will cause the table to be resized. This can range from just above 0 up to 1.0.

      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
            
      Packit Service def718
              
      Packit Service def718
                #define LH_PRIME   0x9e370001UL
      Packit Service def718
              
      Packit Service def718
            
      Packit Service def718
      Packit Service def718

      golden prime used in hash functions

      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718

      Typedef Documentation

      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
            
      Packit Service def718
              
      Packit Service def718
                typedef void( lh_entry_free_fn)(struct lh_entry *e)
      Packit Service def718
              
      Packit Service def718
            
      Packit Service def718
      Packit Service def718

      callback function prototypes

      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
            
      Packit Service def718
              
      Packit Service def718
                typedef int( lh_equal_fn)(const void *k1, const void *k2)
      Packit Service def718
              
      Packit Service def718
            
      Packit Service def718
      Packit Service def718

      callback function prototypes

      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
            
      Packit Service def718
              
      Packit Service def718
                typedef unsigned long( lh_hash_fn)(const void *k)
      Packit Service def718
              
      Packit Service def718
            
      Packit Service def718
      Packit Service def718

      callback function prototypes

      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
            
      Packit Service def718
              
      Packit Service def718
                typedef struct lh_table lh_table
      Packit Service def718
              
      Packit Service def718
            
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718

      Function Documentation

      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
            
      Packit Service def718
              
      Packit Service def718
                int json_global_set_string_hash 
      Packit Service def718
                (
      Packit Service def718
                const int 
      Packit Service def718
                h)
      Packit Service def718
                
      Packit Service def718
              
      Packit Service def718
            
      Packit Service def718
      Packit Service def718

      This function sets the hash function to be used for strings. Must be one of the JSON_C_STR_HASH_* values.

      Returns
      0 - ok, -1 if parameter was invalid
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
            
      Packit Service def718
              
      Packit Service def718
                void lh_abort 
      Packit Service def718
                (
      Packit Service def718
                const char * 
      Packit Service def718
                msg, 
      Packit Service def718
              
      Packit Service def718
              
      Packit Service def718
                
      Packit Service def718
                
      Packit Service def718
                 
      Packit Service def718
                ... 
      Packit Service def718
              
      Packit Service def718
              
      Packit Service def718
                
      Packit Service def718
                )
      Packit Service def718
                
      Packit Service def718
              
      Packit Service def718
            
      Packit Service def718
      Packit Service def718

      Prints a message to stdout, then exits the program with an exit code of 1.

      Packit Service def718
      Parameters
      Packit Service def718
        
      Packit Service def718
          msgMessage format string, like for printf. 
      Packit Service def718
          ...Format args.
      Packit Service def718
        
      Packit Service def718
        
      Packit Service def718
      Packit Service def718
      Deprecated:
      Since it is not a good idea to exit the entire program because of an internal library failure, json-c will no longer use this function internally. However, because its interface is public, it will remain part of the API on the off chance of legacy software using it externally.
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
            
      Packit Service def718
              
      Packit Service def718
                struct lh_table* lh_kchar_table_new 
      Packit Service def718
                (
      Packit Service def718
                int 
      Packit Service def718
                size, 
      Packit Service def718
              
      Packit Service def718
              
      Packit Service def718
                
      Packit Service def718
                
      Packit Service def718
                lh_entry_free_fn
      Packit Service def718
                free_fn 
      Packit Service def718
              
      Packit Service def718
              
      Packit Service def718
                
      Packit Service def718
                )
      Packit Service def718
                
      Packit Service def718
              
      Packit Service def718
            
      Packit Service def718
      Packit Service def718

      Convenience function to create a new linkhash table with char keys.

      Packit Service def718
      Parameters
      Packit Service def718
        
      Packit Service def718
          sizeinitial table size. 
      Packit Service def718
          free_fncallback function used to free memory for entries. 
      Packit Service def718
        
      Packit Service def718
        
      Packit Service def718
      Packit Service def718
      Returns
      On success, a pointer to the new linkhash table is returned. On error, a null pointer is returned.
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
            
      Packit Service def718
              
      Packit Service def718
                struct lh_table* lh_kptr_table_new 
      Packit Service def718
                (
      Packit Service def718
                int 
      Packit Service def718
                size, 
      Packit Service def718
              
      Packit Service def718
              
      Packit Service def718
                
      Packit Service def718
                
      Packit Service def718
                lh_entry_free_fn
      Packit Service def718
                free_fn 
      Packit Service def718
              
      Packit Service def718
              
      Packit Service def718
                
      Packit Service def718
                )
      Packit Service def718
                
      Packit Service def718
              
      Packit Service def718
            
      Packit Service def718
      Packit Service def718

      Convenience function to create a new linkhash table with ptr keys.

      Packit Service def718
      Parameters
      Packit Service def718
        
      Packit Service def718
          sizeinitial table size. 
      Packit Service def718
          free_fncallback function used to free memory for entries. 
      Packit Service def718
        
      Packit Service def718
        
      Packit Service def718
      Packit Service def718
      Returns
      On success, a pointer to the new linkhash table is returned. On error, a null pointer is returned.
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
            
      Packit Service def718
              
      Packit Service def718
                int lh_table_delete 
      Packit Service def718
                (
      Packit Service def718
                struct lh_table
      Packit Service def718
                t, 
      Packit Service def718
              
      Packit Service def718
              
      Packit Service def718
                
      Packit Service def718
                
      Packit Service def718
                const void * 
      Packit Service def718
                k 
      Packit Service def718
              
      Packit Service def718
              
      Packit Service def718
                
      Packit Service def718
                )
      Packit Service def718
                
      Packit Service def718
              
      Packit Service def718
            
      Packit Service def718
      Packit Service def718

      Delete a record from the table.

      Packit Service def718

      If a callback free function is provided then it is called for the for the item being deleted.

      Parameters
      Packit Service def718
        
      Packit Service def718
          tthe table to delete from. 
      Packit Service def718
          ka pointer to the key to delete. 
      Packit Service def718
        
      Packit Service def718
        
      Packit Service def718
      Packit Service def718
      Returns
      0 if the item was deleted.
      Packit Service def718
      Packit Service def718
      -1 if it was not found. 
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
            
      Packit Service def718
              
      Packit Service def718
                int lh_table_delete_entry 
      Packit Service def718
                (
      Packit Service def718
                struct lh_table
      Packit Service def718
                t, 
      Packit Service def718
              
      Packit Service def718
              
      Packit Service def718
                
      Packit Service def718
                
      Packit Service def718
                struct lh_entry
      Packit Service def718
                e 
      Packit Service def718
              
      Packit Service def718
              
      Packit Service def718
                
      Packit Service def718
                )
      Packit Service def718
                
      Packit Service def718
              
      Packit Service def718
            
      Packit Service def718
      Packit Service def718

      Delete a record from the table.

      Packit Service def718

      If a callback free function is provided then it is called for the for the item being deleted.

      Parameters
      Packit Service def718
        
      Packit Service def718
          tthe table to delete from. 
      Packit Service def718
          ea pointer to the entry to delete. 
      Packit Service def718
        
      Packit Service def718
        
      Packit Service def718
      Packit Service def718
      Returns
      0 if the item was deleted.
      Packit Service def718
      Packit Service def718
      -1 if it was not found. 
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
            
      Packit Service def718
              
      Packit Service def718
                void lh_table_free 
      Packit Service def718
                (
      Packit Service def718
                struct lh_table
      Packit Service def718
                t)
      Packit Service def718
                
      Packit Service def718
              
      Packit Service def718
            
      Packit Service def718
      Packit Service def718

      Free a linkhash table.

      Packit Service def718

      If a lh_entry_free_fn callback free function was provided then it is called for all entries in the table.

      Packit Service def718
      Parameters
      Packit Service def718
        
      Packit Service def718
          ttable to free. 
      Packit Service def718
        
      Packit Service def718
        
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
            
      Packit Service def718
              
      Packit Service def718
                int lh_table_insert 
      Packit Service def718
                (
      Packit Service def718
                struct lh_table
      Packit Service def718
                t, 
      Packit Service def718
              
      Packit Service def718
              
      Packit Service def718
                
      Packit Service def718
                
      Packit Service def718
                const void * 
      Packit Service def718
                k, 
      Packit Service def718
              
      Packit Service def718
              
      Packit Service def718
                
      Packit Service def718
                
      Packit Service def718
                const void * 
      Packit Service def718
                v 
      Packit Service def718
              
      Packit Service def718
              
      Packit Service def718
                
      Packit Service def718
                )
      Packit Service def718
                
      Packit Service def718
              
      Packit Service def718
            
      Packit Service def718
      Packit Service def718

      Insert a record into the table.

      Packit Service def718
      Parameters
      Packit Service def718
        
      Packit Service def718
          tthe table to insert into. 
      Packit Service def718
          ka pointer to the key to insert. 
      Packit Service def718
          va pointer to the value to insert.
      Packit Service def718
        
      Packit Service def718
        
      Packit Service def718
      Packit Service def718
      Returns
      On success, 0 is returned. On error, a negative value is returned.
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
            
      Packit Service def718
              
      Packit Service def718
                int lh_table_insert_w_hash 
      Packit Service def718
                (
      Packit Service def718
                struct lh_table
      Packit Service def718
                t, 
      Packit Service def718
              
      Packit Service def718
              
      Packit Service def718
                
      Packit Service def718
                
      Packit Service def718
                const void * 
      Packit Service def718
                k, 
      Packit Service def718
              
      Packit Service def718
              
      Packit Service def718
                
      Packit Service def718
                
      Packit Service def718
                const void * 
      Packit Service def718
                v, 
      Packit Service def718
              
      Packit Service def718
              
      Packit Service def718
                
      Packit Service def718
                
      Packit Service def718
                const unsigned long 
      Packit Service def718
                h, 
      Packit Service def718
              
      Packit Service def718
              
      Packit Service def718
                
      Packit Service def718
                
      Packit Service def718
                const unsigned 
      Packit Service def718
                opts 
      Packit Service def718
              
      Packit Service def718
              
      Packit Service def718
                
      Packit Service def718
                )
      Packit Service def718
                
      Packit Service def718
              
      Packit Service def718
            
      Packit Service def718
      Packit Service def718

      Insert a record into the table using a precalculated key hash.

      Packit Service def718

      The hash h, which should be calculated with lh_get_hash() on k, is provided by the caller, to allow for optimization when multiple operations with the same key are known to be needed.

      Packit Service def718
      Parameters
      Packit Service def718
        
      Packit Service def718
          tthe table to insert into. 
      Packit Service def718
          ka pointer to the key to insert. 
      Packit Service def718
          va pointer to the value to insert. 
      Packit Service def718
          hhash value of the key to insert 
      Packit Service def718
          optsif set to JSON_C_OBJECT_KEY_IS_CONSTANT, sets lh_entry.k_is_constant so t's free function knows to avoid freeing the key. 
      Packit Service def718
        
      Packit Service def718
        
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
            
      Packit Service def718
              
      Packit Service def718
                int lh_table_length 
      Packit Service def718
                (
      Packit Service def718
                struct lh_table
      Packit Service def718
                t)
      Packit Service def718
                
      Packit Service def718
              
      Packit Service def718
            
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
            
      Packit Service def718
              
      Packit Service def718
                const void* lh_table_lookup 
      Packit Service def718
                (
      Packit Service def718
                struct lh_table
      Packit Service def718
                t, 
      Packit Service def718
              
      Packit Service def718
              
      Packit Service def718
                
      Packit Service def718
                
      Packit Service def718
                const void * 
      Packit Service def718
                k 
      Packit Service def718
              
      Packit Service def718
              
      Packit Service def718
                
      Packit Service def718
                )
      Packit Service def718
                
      Packit Service def718
              
      Packit Service def718
            
      Packit Service def718
      Packit Service def718

      Lookup a record into the table.

      Packit Service def718
      Parameters
      Packit Service def718
        
      Packit Service def718
          tthe table to lookup 
      Packit Service def718
          ka pointer to the key to lookup 
      Packit Service def718
        
      Packit Service def718
        
      Packit Service def718
      Packit Service def718
      Returns
      a pointer to the found value or NULL if it does not exist.
      Packit Service def718
      Deprecated:
      Use lh_table_lookup_ex() instead.
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
            
      Packit Service def718
              
      Packit Service def718
                struct lh_entry* lh_table_lookup_entry 
      Packit Service def718
                (
      Packit Service def718
                struct lh_table
      Packit Service def718
                t, 
      Packit Service def718
              
      Packit Service def718
              
      Packit Service def718
                
      Packit Service def718
                
      Packit Service def718
                const void * 
      Packit Service def718
                k 
      Packit Service def718
              
      Packit Service def718
              
      Packit Service def718
                
      Packit Service def718
                )
      Packit Service def718
                
      Packit Service def718
              
      Packit Service def718
            
      Packit Service def718
      Packit Service def718

      Lookup a record in the table.

      Packit Service def718
      Parameters
      Packit Service def718
        
      Packit Service def718
          tthe table to lookup 
      Packit Service def718
          ka pointer to the key to lookup 
      Packit Service def718
        
      Packit Service def718
        
      Packit Service def718
      Packit Service def718
      Returns
      a pointer to the record structure of the value or NULL if it does not exist.
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
            
      Packit Service def718
              
      Packit Service def718
                struct lh_entry* lh_table_lookup_entry_w_hash 
      Packit Service def718
                (
      Packit Service def718
                struct lh_table
      Packit Service def718
                t, 
      Packit Service def718
              
      Packit Service def718
              
      Packit Service def718
                
      Packit Service def718
                
      Packit Service def718
                const void * 
      Packit Service def718
                k, 
      Packit Service def718
              
      Packit Service def718
              
      Packit Service def718
                
      Packit Service def718
                
      Packit Service def718
                const unsigned long 
      Packit Service def718
                h 
      Packit Service def718
              
      Packit Service def718
              
      Packit Service def718
                
      Packit Service def718
                )
      Packit Service def718
                
      Packit Service def718
              
      Packit Service def718
            
      Packit Service def718
      Packit Service def718

      Lookup a record in the table using a precalculated key hash.

      Packit Service def718

      The hash h, which should be calculated with lh_get_hash() on k, is provided by the caller, to allow for optimization when multiple operations with the same key are known to be needed.

      Packit Service def718
      Parameters
      Packit Service def718
        
      Packit Service def718
          tthe table to lookup 
      Packit Service def718
          ka pointer to the key to lookup 
      Packit Service def718
          hhash value of the key to lookup 
      Packit Service def718
        
      Packit Service def718
        
      Packit Service def718
      Packit Service def718
      Returns
      a pointer to the record structure of the value or NULL if it does not exist.
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
            
      Packit Service def718
              
      Packit Service def718
                json_bool lh_table_lookup_ex 
      Packit Service def718
                (
      Packit Service def718
                struct lh_table
      Packit Service def718
                t, 
      Packit Service def718
              
      Packit Service def718
              
      Packit Service def718
                
      Packit Service def718
                
      Packit Service def718
                const void * 
      Packit Service def718
                k, 
      Packit Service def718
              
      Packit Service def718
              
      Packit Service def718
                
      Packit Service def718
                
      Packit Service def718
                void ** 
      Packit Service def718
                v 
      Packit Service def718
              
      Packit Service def718
              
      Packit Service def718
                
      Packit Service def718
                )
      Packit Service def718
                
      Packit Service def718
              
      Packit Service def718
            
      Packit Service def718
      Packit Service def718

      Lookup a record in the table.

      Packit Service def718
      Parameters
      Packit Service def718
        
      Packit Service def718
          tthe table to lookup 
      Packit Service def718
          ka pointer to the key to lookup 
      Packit Service def718
          va pointer to a where to store the found value (set to NULL if it doesn't exist). 
      Packit Service def718
        
      Packit Service def718
        
      Packit Service def718
      Packit Service def718
      Returns
      whether or not the key was found
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
            
      Packit Service def718
              
      Packit Service def718
                struct lh_table* lh_table_new 
      Packit Service def718
                (
      Packit Service def718
                int 
      Packit Service def718
                size, 
      Packit Service def718
              
      Packit Service def718
              
      Packit Service def718
                
      Packit Service def718
                
      Packit Service def718
                lh_entry_free_fn
      Packit Service def718
                free_fn, 
      Packit Service def718
              
      Packit Service def718
              
      Packit Service def718
                
      Packit Service def718
                
      Packit Service def718
                lh_hash_fn
      Packit Service def718
                hash_fn, 
      Packit Service def718
              
      Packit Service def718
              
      Packit Service def718
                
      Packit Service def718
                
      Packit Service def718
                lh_equal_fn
      Packit Service def718
                equal_fn 
      Packit Service def718
              
      Packit Service def718
              
      Packit Service def718
                
      Packit Service def718
                )
      Packit Service def718
                
      Packit Service def718
              
      Packit Service def718
            
      Packit Service def718
      Packit Service def718

      Create a new linkhash table.

      Packit Service def718
      Parameters
      Packit Service def718
        
      Packit Service def718
          sizeinitial table size. The table is automatically resized although this incurs a performance penalty. 
      Packit Service def718
          free_fncallback function used to free memory for entries when lh_table_free or lh_table_delete is called. If NULL is provided, then memory for keys and values must be freed by the caller. 
      Packit Service def718
          hash_fnfunction used to hash keys. 2 standard ones are defined: lh_ptr_hash and lh_char_hash for hashing pointer values and C strings respectively. 
      Packit Service def718
          equal_fncomparison function to compare keys. 2 standard ones defined: lh_ptr_hash and lh_char_hash for comparing pointer values and C strings respectively. 
      Packit Service def718
        
      Packit Service def718
        
      Packit Service def718
      Packit Service def718
      Returns
      On success, a pointer to the new linkhash table is returned. On error, a null pointer is returned.
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
            
      Packit Service def718
              
      Packit Service def718
                int lh_table_resize 
      Packit Service def718
                (
      Packit Service def718
                struct lh_table
      Packit Service def718
                t, 
      Packit Service def718
              
      Packit Service def718
              
      Packit Service def718
                
      Packit Service def718
                
      Packit Service def718
                int 
      Packit Service def718
                new_size 
      Packit Service def718
              
      Packit Service def718
              
      Packit Service def718
                
      Packit Service def718
                )
      Packit Service def718
                
      Packit Service def718
              
      Packit Service def718
            
      Packit Service def718
      Packit Service def718

      Resizes the specified table.

      Packit Service def718
      Parameters
      Packit Service def718
        
      Packit Service def718
          tPointer to table to resize. 
      Packit Service def718
          new_sizeNew table size. Must be positive.
      Packit Service def718
        
      Packit Service def718
        
      Packit Service def718
      Packit Service def718
      Returns
      On success, 0 is returned. On error, a negative value is returned.
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718
      Packit Service def718

      <address class="footer"><small>
      Packit Service def718
      Generated on Mon Mar 5 2018 23:17:09 for json-c by  
      Packit Service def718
      doxygen
      Packit Service def718
       1.8.8
      Packit Service def718
      </small></address>
      Packit Service def718
      </body>
      Packit Service def718
      </html>