/opt/imh/python3.13/include/python3.13/internal
NameSizeModeActions
mimalloc/-0755rm
pycore_abstract.h19150644editdlrm
pycore_asdl.h30350644editdlrm
pycore_ast.h315200644editdlrm
pycore_ast_state.h67790644editdlrm
pycore_atexit.h14330644editdlrm
pycore_backoff.h39020644editdlrm
pycore_bitutils.h60260644editdlrm
pycore_blocks_output_buffer.h87720644editdlrm
pycore_brc.h21020644editdlrm
pycore_bytesobject.h50990644editdlrm
pycore_bytes_methods.h39330644editdlrm
pycore_call.h61350644editdlrm
pycore_capsule.h3970644editdlrm
pycore_cell.h10570644editdlrm
pycore_ceval.h111620644editdlrm
pycore_ceval_state.h39210644editdlrm
pycore_code.h198640644editdlrm
pycore_codecs.h24650644editdlrm
pycore_compile.h37500644editdlrm
pycore_complexobject.h5880644editdlrm
pycore_condvar.h27040644editdlrm
pycore_context.h11820644editdlrm
pycore_critical_section.h79680644editdlrm
pycore_crossinterp.h121280644editdlrm
pycore_descrobject.h5430644editdlrm
pycore_dict.h122640644editdlrm
pycore_dict_state.h7320644editdlrm
pycore_dtoa.h17270644editdlrm
pycore_emscripten_signal.h6850644editdlrm
pycore_emscripten_trampoline.h31800644editdlrm
pycore_exceptions.h9000644editdlrm
pycore_faulthandler.h22450644editdlrm
pycore_fileutils.h94680644editdlrm
pycore_fileutils_windows.h27130644editdlrm
pycore_floatobject.h14950644editdlrm
pycore_flowgraph.h14890644editdlrm
pycore_format.h4800644editdlrm
pycore_frame.h108750644editdlrm
pycore_freelist.h48100644editdlrm
pycore_function.h15380644editdlrm
pycore_gc.h129670644editdlrm
pycore_genobject.h8590644editdlrm
pycore_getopt.h4900644editdlrm
pycore_gil.h21960644editdlrm
pycore_global_objects.h30900644editdlrm
pycore_global_objects_fini_generated.h1178040644editdlrm
pycore_global_strings.h267060644editdlrm
pycore_hamt.h37420644editdlrm
pycore_hashtable.h43610644editdlrm
pycore_identifier.h5150644editdlrm
pycore_import.h77310644editdlrm
pycore_importdl.h40550644editdlrm
pycore_initconfig.h63750644editdlrm
pycore_instruction_sequence.h21610644editdlrm
pycore_instruments.h23310644editdlrm
pycore_interp.h150630644editdlrm
pycore_intrinsics.h17560644editdlrm
pycore_jit.h5270644editdlrm
pycore_list.h18590644editdlrm
pycore_llist.h24200644editdlrm
pycore_lock.h85380644editdlrm
pycore_long.h99660644editdlrm
pycore_memoryobject.h4270644editdlrm
pycore_mimalloc.h16370644editdlrm
pycore_modsupport.h33510644editdlrm
pycore_moduleobject.h15720644editdlrm
pycore_namespace.h4350644editdlrm
pycore_object.h279360644editdlrm
pycore_object_alloc.h21760644editdlrm
pycore_object_stack.h23840644editdlrm
pycore_object_state.h9420644editdlrm
pycore_obmalloc.h274180644editdlrm
pycore_obmalloc_init.h19350644editdlrm
pycore_opcode_metadata.h847220644editdlrm
pycore_opcode_utils.h21220644editdlrm
pycore_optimizer.h83030644editdlrm
pycore_parking_lot.h33510644editdlrm
pycore_parser.h20890644editdlrm
pycore_pathconfig.h6580644editdlrm
pycore_pyarena.h28620644editdlrm
pycore_pyatomic_ft_wrappers.h80560644editdlrm
pycore_pybuffer.h5100644editdlrm
pycore_pyerrors.h49600644editdlrm
pycore_pyhash.h28130644editdlrm
pycore_pylifecycle.h44650644editdlrm
pycore_pymath.h86000644editdlrm
pycore_pymem.h44850644editdlrm
pycore_pymem_init.h35200644editdlrm
pycore_pystate.h99640644editdlrm
pycore_pystats.h4200644editdlrm
pycore_pythonrun.h7580644editdlrm
pycore_pythread.h54310644editdlrm
pycore_qsbr.h55240644editdlrm
pycore_range.h3460644editdlrm
pycore_runtime.h131650644editdlrm
pycore_runtime_init.h130450644editdlrm
pycore_runtime_init_generated.h468200644editdlrm
pycore_semaphore.h17310644editdlrm
pycore_setobject.h9510644editdlrm
pycore_signal.h29310644editdlrm
pycore_sliceobject.h3690644editdlrm
pycore_stackref.h51860644editdlrm
pycore_strhex.h10130644editdlrm
pycore_structseq.h9630644editdlrm
pycore_symtable.h86710644editdlrm
pycore_sysmodule.h11770644editdlrm
pycore_time.h117940644editdlrm
pycore_token.h30010644editdlrm
pycore_traceback.h36290644editdlrm
pycore_tracemalloc.h45330644editdlrm
pycore_tstate.h13540644editdlrm
pycore_tuple.h8200644editdlrm
pycore_typeobject.h88770644editdlrm
pycore_typevarobject.h9240644editdlrm
pycore_ucnhash.h9580644editdlrm
pycore_unicodeobject.h132700644editdlrm
pycore_unicodeobject_generated.h1321400644editdlrm
pycore_unionobject.h7420644editdlrm
pycore_uop_ids.h102670644editdlrm
pycore_uop_metadata.h394690644editdlrm
pycore_warnings.h8400644editdlrm
pycore_weakref.h38890644editdlrm
Edit: /opt/imh/python3.13/include/python3.13/internal/pycore_hashtable.h (4361B)
#ifndef Py_INTERNAL_HASHTABLE_H #define Py_INTERNAL_HASHTABLE_H #ifdef __cplusplus extern "C" { #endif #ifndef Py_BUILD_CORE # error "this header requires Py_BUILD_CORE define" #endif /* Single linked list */ typedef struct _Py_slist_item_s { struct _Py_slist_item_s *next; } _Py_slist_item_t; typedef struct { _Py_slist_item_t *head; } _Py_slist_t; #define _Py_SLIST_ITEM_NEXT(ITEM) _Py_RVALUE(((_Py_slist_item_t *)(ITEM))->next) #define _Py_SLIST_HEAD(SLIST) _Py_RVALUE(((_Py_slist_t *)(SLIST))->head) /* _Py_hashtable: table entry */ typedef struct { /* used by _Py_hashtable_t.buckets to link entries */ _Py_slist_item_t _Py_slist_item; Py_uhash_t key_hash; void *key; void *value; } _Py_hashtable_entry_t; /* _Py_hashtable: prototypes */ /* Forward declaration */ struct _Py_hashtable_t; typedef struct _Py_hashtable_t _Py_hashtable_t; typedef Py_uhash_t (*_Py_hashtable_hash_func) (const void *key); typedef int (*_Py_hashtable_compare_func) (const void *key1, const void *key2); typedef void (*_Py_hashtable_destroy_func) (void *key); typedef _Py_hashtable_entry_t* (*_Py_hashtable_get_entry_func)(_Py_hashtable_t *ht, const void *key); typedef struct { // Allocate a memory block void* (*malloc) (size_t size); // Release a memory block void (*free) (void *ptr); } _Py_hashtable_allocator_t; /* _Py_hashtable: table */ struct _Py_hashtable_t { size_t nentries; // Total number of entries in the table size_t nbuckets; _Py_slist_t *buckets; _Py_hashtable_get_entry_func get_entry_func; _Py_hashtable_hash_func hash_func; _Py_hashtable_compare_func compare_func; _Py_hashtable_destroy_func key_destroy_func; _Py_hashtable_destroy_func value_destroy_func; _Py_hashtable_allocator_t alloc; }; // Export _Py_hashtable functions for '_testinternalcapi' shared extension PyAPI_FUNC(_Py_hashtable_t *) _Py_hashtable_new( _Py_hashtable_hash_func hash_func, _Py_hashtable_compare_func compare_func); /* Hash a pointer (void*) */ PyAPI_FUNC(Py_uhash_t) _Py_hashtable_hash_ptr(const void *key); /* Comparison using memcmp() */ PyAPI_FUNC(int) _Py_hashtable_compare_direct( const void *key1, const void *key2); PyAPI_FUNC(_Py_hashtable_t *) _Py_hashtable_new_full( _Py_hashtable_hash_func hash_func, _Py_hashtable_compare_func compare_func, _Py_hashtable_destroy_func key_destroy_func, _Py_hashtable_destroy_func value_destroy_func, _Py_hashtable_allocator_t *allocator); PyAPI_FUNC(void) _Py_hashtable_destroy(_Py_hashtable_t *ht); PyAPI_FUNC(void) _Py_hashtable_clear(_Py_hashtable_t *ht); typedef int (*_Py_hashtable_foreach_func) (_Py_hashtable_t *ht, const void *key, const void *value, void *user_data); /* Call func() on each entry of the hashtable. Iteration stops if func() result is non-zero, in this case it's the result of the call. Otherwise, the function returns 0. */ PyAPI_FUNC(int) _Py_hashtable_foreach( _Py_hashtable_t *ht, _Py_hashtable_foreach_func func, void *user_data); PyAPI_FUNC(size_t) _Py_hashtable_size(const _Py_hashtable_t *ht); PyAPI_FUNC(size_t) _Py_hashtable_len(const _Py_hashtable_t *ht); /* Add a new entry to the hash. The key must not be present in the hash table. Return 0 on success, -1 on memory error. */ PyAPI_FUNC(int) _Py_hashtable_set( _Py_hashtable_t *ht, const void *key, void *value); /* Get an entry. Return NULL if the key does not exist. */ static inline _Py_hashtable_entry_t * _Py_hashtable_get_entry(_Py_hashtable_t *ht, const void *key) { return ht->get_entry_func(ht, key); } /* Get value from an entry. Return NULL if the entry is not found. Use _Py_hashtable_get_entry() to distinguish entry value equal to NULL and entry not found. */ PyAPI_FUNC(void*) _Py_hashtable_get(_Py_hashtable_t *ht, const void *key); /* Remove a key and its associated value without calling key and value destroy functions. Return the removed value if the key was found. Return NULL if the key was not found. */ PyAPI_FUNC(void*) _Py_hashtable_steal( _Py_hashtable_t *ht, const void *key); #ifdef __cplusplus } #endif #endif /* !Py_INTERNAL_HASHTABLE_H */