Skip to content
Snippets Groups Projects
Select Git revision
  • 79fa3ebd69f3eeca5a4db5ea4417f9f59426ccb6
  • master default protected
  • 8.0
  • 9.0
  • 7.8
  • 7.6
  • 7.4
  • 7.2
  • 7.0
  • 0.6
  • rosuav/latex-markdown-renderer
  • rxnpatch/rxnpatch
  • marcus/gobject-introspection
  • rxnpatch/8.0
  • rosuav/pre-listening-ports
  • nt-tools
  • rosuav/async-annotations
  • rosuav/pgsql-ssl
  • rxnpatch/rxnpatch-broken/2023-10-06T094250
  • grubba/fdlib
  • grubba/wip/sakura/8.0
  • v8.0.2004
  • v8.0.2002
  • v8.0.2000
  • v8.0.1998
  • v8.0.1996
  • v8.0.1994
  • v8.0.1992
  • v8.0.1990
  • v8.0.1988
  • v8.0.1986
  • rxnpatch/clusters/8.0/2025-04-29T124414
  • rxnpatch/2025-04-29T124414
  • v8.0.1984
  • v8.0.1982
  • v8.0.1980
  • v8.0.1978
  • v8.0.1976
  • v8.0.1974
  • v8.0.1972
  • v8.0.1970
41 results

acconfig.h

Blame
  • mapping.h 3.07 KiB
    /*\
    ||| This file a part of Pike, and is copyright by Fredrik Hubinette
    ||| Pike is distributed as GPL (General Public License)
    ||| See the files COPYING and DISCLAIMER for more information.
    \*/
    
    /*
     * $Id: mapping.h,v 1.11 1998/04/24 00:01:32 hubbe Exp $
     */
    #ifndef MAPPING_H
    #define MAPPING_H
    
    #include "las.h"
    
    struct mapping
    {
      INT32 refs, size, hashsize;
      TYPE_FIELD ind_types, val_types;
      struct mapping *next, *prev;
      struct keypair **hash;
      struct keypair *free_list;
    };
    
    extern struct mapping *first_mapping;
    
    #define m_sizeof(m) ((m)->size)
    #define m_ind_types(m) ((m)->ind_types)
    #define m_val_types(m) ((m)->val_types)
    
    #define free_mapping(M) do{ struct mapping *m_=(M); debug_malloc_touch(m_); if(!--m_->refs) really_free_mapping(m_); }while(0)
    
    /* Prototypes begin here */
    struct keypair;
    struct mapping *allocate_mapping(int size);
    void really_free_mapping(struct mapping *m);
    void mapping_fix_type_field(struct mapping *m);
    void mapping_insert(struct mapping *m,
    		    struct svalue *key,
    		    struct svalue *val);
    union anything *mapping_get_item_ptr(struct mapping *m,
    				     struct svalue *key,
    				     TYPE_T t);
    void map_delete(struct mapping *m,
    		struct svalue *key);
    void check_mapping_for_destruct(struct mapping *m);
    struct svalue *low_mapping_lookup(struct mapping *m,
    				  struct svalue *key);
    struct svalue *low_mapping_string_lookup(struct mapping *m,
    					 struct pike_string *p);
    void mapping_string_insert(struct mapping *m,
    			   struct pike_string *p,
    			   struct svalue *val);
    struct svalue *simple_mapping_string_lookup(struct mapping *m,
    					    char *p);
    void mapping_index_no_free(struct svalue *dest,
    			   struct mapping *m,
    			   struct svalue *key);
    struct array *mapping_indices(struct mapping *m);
    struct array *mapping_values(struct mapping *m);
    struct array *mapping_to_array(struct mapping *m);
    void mapping_replace(struct mapping *m,struct svalue *from, struct svalue *to);
    struct mapping *mkmapping(struct array *ind, struct array *val);
    struct mapping *copy_mapping(struct mapping *m);
    struct mapping *merge_mappings(struct mapping *a, struct mapping *b, INT32 op);
    struct mapping *add_mappings(struct svalue *argp, INT32 args);
    int mapping_equal_p(struct mapping *a, struct mapping *b, struct processing *p);
    void describe_mapping(struct mapping *m,struct processing *p,int indent);
    node * make_node_from_mapping(struct mapping *m);
    void f_m_delete(INT32 args);
    void f_aggregate_mapping(INT32 args);
    struct mapping *copy_mapping_recursively(struct mapping *m,
    					 struct processing *p);
    void mapping_search_no_free(struct svalue *to,
    			    struct mapping *m,
    			    struct svalue *look_for,
    			    struct svalue *start);
    void check_mapping(struct mapping *m);
    void check_all_mappings(void);
    void gc_mark_mapping_as_referenced(struct mapping *m);
    void gc_check_all_mappings(void);
    void gc_mark_all_mappings(void);
    void gc_free_all_unreferenced_mappings(void);
    void simple_describe_mapping(struct mapping *m);
    void debug_dump_mapping(struct mapping *m);
    void zap_all_mappings(void);
    void count_memory_in_mappings(INT32 *num_, INT32 *size_);
    /* Prototypes end here */
    #endif