/
usr
/
lib
/
x86_64-linux-gnu
/
perl
/
5.34.0
/
CORE
/
/usr/lib/x86_64-linux-gnu/perl/5.34.0/CORE
mkdir
upload
Name
Size
Mode
Actions
av.h
3736
0644
edit
dl
rm
bitcount.h
1038
0644
edit
dl
rm
charclass_invlists.h
4354051
0644
edit
dl
rm
config.h
165419
0644
edit
dl
rm
cop.h
46591
0644
edit
dl
rm
cv.h
12363
0644
edit
dl
rm
dosish.h
5463
0644
edit
dl
rm
ebcdic_tables.h
53247
0644
edit
dl
rm
embed.h
101903
0644
edit
dl
rm
embedvar.h
15633
0644
edit
dl
rm
EXTERN.h
1576
0644
edit
dl
rm
fakesdio.h
3210
0644
edit
dl
rm
feature.h
12652
0644
edit
dl
rm
form.h
1463
0644
edit
dl
rm
git_version.h
357
0644
edit
dl
rm
gv.h
11612
0644
edit
dl
rm
handy.h
134153
0644
edit
dl
rm
hv.h
26589
0644
edit
dl
rm
hv_func.h
7192
0644
edit
dl
rm
hv_macro.h
3111
0644
edit
dl
rm
inline.h
82962
0644
edit
dl
rm
INTERN.h
1276
0644
edit
dl
rm
intrpvar.h
35978
0644
edit
dl
rm
invlist_inline.h
7464
0644
edit
dl
rm
iperlsys.h
52523
0644
edit
dl
rm
keywords.h
6654
0644
edit
dl
rm
l1_char_class_tab.h
122512
0644
edit
dl
rm
malloc_ctl.h
1524
0644
edit
dl
rm
metaconfig.h
728
0644
edit
dl
rm
mg.h
3647
0644
edit
dl
rm
mg_data.h
5330
0644
edit
dl
rm
mg_raw.h
4377
0644
edit
dl
rm
mg_vtable.h
9621
0644
edit
dl
rm
mydtrace.h
1693
0644
edit
dl
rm
nostdio.h
3392
0644
edit
dl
rm
op.h
40283
0644
edit
dl
rm
opcode.h
93895
0644
edit
dl
rm
opnames.h
9014
0644
edit
dl
rm
op_reg_common.h
5910
0644
edit
dl
rm
overload.h
3276
0644
edit
dl
rm
pad.h
17581
0644
edit
dl
rm
parser.h
7091
0644
edit
dl
rm
patchlevel-debian.h
8482
0644
edit
dl
rm
patchlevel.h
6577
0644
edit
dl
rm
perl.h
293512
0644
edit
dl
rm
perlapi.h
634
0644
edit
dl
rm
perlio.h
9424
0644
edit
dl
rm
perliol.h
13646
0644
edit
dl
rm
perlsdio.h
527
0644
edit
dl
rm
perlvars.h
12306
0644
edit
dl
rm
perly.h
5281
0644
edit
dl
rm
perl_inc_macro.h
6468
0644
edit
dl
rm
perl_langinfo.h
2914
0644
edit
dl
rm
perl_siphash.h
5178
0644
edit
dl
rm
pp.h
29684
0644
edit
dl
rm
pp_proto.h
12240
0644
edit
dl
rm
proto.h
278427
0644
edit
dl
rm
reentr.h
87221
0644
edit
dl
rm
regcharclass.h
274044
0644
edit
dl
rm
regcomp.h
53306
0644
edit
dl
rm
regexp.h
37961
0644
edit
dl
rm
regnodes.h
87291
0644
edit
dl
rm
sbox32_hash.h
57295
0644
edit
dl
rm
scope.h
12148
0644
edit
dl
rm
sv.h
93792
0644
edit
dl
rm
thread.h
16911
0644
edit
dl
rm
time64.h
900
0644
edit
dl
rm
time64_config.h
2069
0644
edit
dl
rm
uconfig.h
165116
0644
edit
dl
rm
unicode_constants.h
8459
0644
edit
dl
rm
unixish.h
5283
0644
edit
dl
rm
uni_keywords.h
554833
0644
edit
dl
rm
utf8.h
50251
0644
edit
dl
rm
utfebcdic.h
66091
0644
edit
dl
rm
util.h
10830
0644
edit
dl
rm
uudmap.h
1058
0644
edit
dl
rm
vutil.h
7772
0644
edit
dl
rm
warnings.h
10909
0644
edit
dl
rm
XSUB.h
24876
0644
edit
dl
rm
zaphod32_hash.h
9659
0644
edit
dl
rm
Edit:
/usr/lib/x86_64-linux-gnu/perl/5.34.0/CORE/hv_func.h
(7192B)
/* hash a key *-------------------------------------------------------------------------------------- * The "hash seed" feature was added in Perl 5.8.1 to perturb the results * to avoid "algorithmic complexity attacks". * * If USE_HASH_SEED is defined, hash randomisation is done by default * (see also perl.c:perl_parse() and S_init_tls_and_interp() and util.c:get_hash_seed()) */ #ifndef PERL_SEEN_HV_FUNC_H_ /* compile once */ #define PERL_SEEN_HV_FUNC_H_ #include "hv_macro.h" #if !( 0 \ || defined(PERL_HASH_FUNC_SIPHASH) \ || defined(PERL_HASH_FUNC_SIPHASH13) \ || defined(PERL_HASH_FUNC_ZAPHOD32) \ ) # ifdef CAN64BITHASH # define PERL_HASH_FUNC_SIPHASH13 # else # define PERL_HASH_FUNC_ZAPHOD32 # endif #endif #ifndef PERL_HASH_USE_SBOX32_ALSO #define PERL_HASH_USE_SBOX32_ALSO 1 #endif #ifndef SBOX32_MAX_LEN #define SBOX32_MAX_LEN 24 #endif /* this must be after the SBOX32_MAX_LEN define */ #include "sbox32_hash.h" #if defined(PERL_HASH_FUNC_SIPHASH) # define __PERL_HASH_FUNC "SIPHASH_2_4" # define __PERL_HASH_WORD_TYPE U64 # define __PERL_HASH_WORD_SIZE sizeof(__PERL_HASH_WORD_TYPE) # define __PERL_HASH_SEED_BYTES (__PERL_HASH_WORD_SIZE * 2) # define __PERL_HASH_STATE_BYTES (__PERL_HASH_WORD_SIZE * 4) # define __PERL_HASH_SEED_STATE(seed,state) S_perl_siphash_seed_state(seed,state) # define __PERL_HASH_WITH_STATE(state,str,len) S_perl_hash_siphash_2_4_with_state((state),(U8*)(str),(len)) #elif defined(PERL_HASH_FUNC_SIPHASH13) # define __PERL_HASH_FUNC "SIPHASH_1_3" # define __PERL_HASH_WORD_TYPE U64 # define __PERL_HASH_WORD_SIZE sizeof(__PERL_HASH_WORD_TYPE) # define __PERL_HASH_SEED_BYTES (__PERL_HASH_WORD_SIZE * 2) # define __PERL_HASH_STATE_BYTES (__PERL_HASH_WORD_SIZE * 4) # define __PERL_HASH_SEED_STATE(seed,state) S_perl_siphash_seed_state(seed,state) # define __PERL_HASH_WITH_STATE(state,str,len) S_perl_hash_siphash_1_3_with_state((state),(U8*)(str),(len)) #elif defined(PERL_HASH_FUNC_ZAPHOD32) # define __PERL_HASH_FUNC "ZAPHOD32" # define __PERL_HASH_WORD_TYPE U32 # define __PERL_HASH_WORD_SIZE sizeof(__PERL_HASH_WORD_TYPE) # define __PERL_HASH_SEED_BYTES (__PERL_HASH_WORD_SIZE * 3) # define __PERL_HASH_STATE_BYTES (__PERL_HASH_WORD_SIZE * 3) # define __PERL_HASH_SEED_STATE(seed,state) zaphod32_seed_state(seed,state) # define __PERL_HASH_WITH_STATE(state,str,len) (U32)zaphod32_hash_with_state((state),(U8*)(str),(len)) # include "zaphod32_hash.h" #endif #ifndef __PERL_HASH_WITH_STATE #error "No hash function defined!" #endif #ifndef __PERL_HASH_SEED_BYTES #error "__PERL_HASH_SEED_BYTES not defined" #endif #ifndef __PERL_HASH_FUNC #error "__PERL_HASH_FUNC not defined" #endif /* Some siphash static functions are needed by XS::APItest even when siphash isn't the current hash. For SipHash builds this needs to be before the S_perl_hash_with_seed() definition. */ #include "perl_siphash.h" #define __PERL_HASH_SEED_roundup(x, y) ( ( ( (x) + ( (y) - 1 ) ) / (y) ) * (y) ) #define _PERL_HASH_SEED_roundup(x) __PERL_HASH_SEED_roundup(x,__PERL_HASH_WORD_SIZE) #define PL_hash_seed ((U8 *)PL_hash_seed_w) #define PL_hash_state ((U8 *)PL_hash_state_w) #if PERL_HASH_USE_SBOX32_ALSO != 1 # define _PERL_HASH_FUNC __PERL_HASH_FUNC # define _PERL_HASH_SEED_BYTES __PERL_HASH_SEED_BYTES # define _PERL_HASH_STATE_BYTES __PERL_HASH_STATE_BYTES # define _PERL_HASH_SEED_STATE(seed,state) __PERL_HASH_SEED_STATE(seed,state) # define _PERL_HASH_WITH_STATE(state,str,len) __PERL_HASH_WITH_STATE(state,str,len) #else #define _PERL_HASH_FUNC "SBOX32_WITH_" __PERL_HASH_FUNC /* note the 3 in the below code comes from the fact the seed to initialize the SBOX is 96 bits */ #define _PERL_HASH_SEED_BYTES ( __PERL_HASH_SEED_BYTES + (int)( 3 * sizeof(U32)) ) #define _PERL_HASH_STATE_BYTES \ ( __PERL_HASH_STATE_BYTES + ( ( 1 + ( 256 * SBOX32_MAX_LEN ) ) * sizeof(U32) ) ) #define _PERL_HASH_SEED_STATE(seed,state) STMT_START { \ __PERL_HASH_SEED_STATE(seed,state); \ sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES); \ } STMT_END #define _PERL_HASH_WITH_STATE(state,str,len) \ (LIKELY(len <= SBOX32_MAX_LEN) \ ? sbox32_hash_with_state((state + __PERL_HASH_STATE_BYTES),(U8*)(str),(len)) \ : __PERL_HASH_WITH_STATE((state),(str),(len))) #endif #define PERL_HASH_WITH_SEED(seed,hash,str,len) \ (hash) = S_perl_hash_with_seed((const U8 *) seed, (const U8 *) str,len) #define PERL_HASH_WITH_STATE(state,hash,str,len) \ (hash) = _PERL_HASH_WITH_STATE((state),(U8*)(str),(len)) #define PERL_HASH_SEED_STATE(seed,state) _PERL_HASH_SEED_STATE(seed,state) #define PERL_HASH_SEED_BYTES _PERL_HASH_SEED_roundup(_PERL_HASH_SEED_BYTES) #define PERL_HASH_STATE_BYTES _PERL_HASH_SEED_roundup(_PERL_HASH_STATE_BYTES) #define PERL_HASH_FUNC _PERL_HASH_FUNC #define PERL_HASH_SEED_WORDS (PERL_HASH_SEED_BYTES/__PERL_HASH_WORD_SIZE) #define PERL_HASH_STATE_WORDS (PERL_HASH_STATE_BYTES/__PERL_HASH_WORD_SIZE) #ifdef PERL_USE_SINGLE_CHAR_HASH_CACHE #define PERL_HASH(state,str,len) \ (hash) = ((len) < 2 ? ( (len) == 0 ? PL_hash_chars[256] : PL_hash_chars[(U8)(str)[0]] ) \ : _PERL_HASH_WITH_STATE(PL_hash_state,(U8*)(str),(len))) #else #define PERL_HASH(hash,str,len) \ PERL_HASH_WITH_STATE(PL_hash_state,hash,(U8*)(str),(len)) #endif /* Setup the hash seed, either we do things dynamically at start up, * including reading from the environment, or we randomly setup the * seed. The seed will be passed into the PERL_HASH_SEED_STATE() function * defined for the configuration defined for this perl, which will then * initialize whatever state it might need later in hashing. */ #ifndef PERL_HASH_SEED # if defined(USE_HASH_SEED) # define PERL_HASH_SEED PL_hash_seed # else /* this is a 512 bit seed, which should be more than enough for the * configuration of any of our hash functions (with or without sbox). * If you actually use a hard coded seed, you are strongly encouraged * to replace this with something else of the correct length * for the hash function you are using (24-32 bytes depending on build * options). Repeat, you are *STRONGLY* encouraged not to use the value * provided here. */ # define PERL_HASH_SEED \ ((const U8 *)"A long string of pseudorandomly " \ "chosen bytes for hashing in Perl") # endif #endif /* legacy - only mod_perl should be doing this. */ #ifdef PERL_HASH_INTERNAL_ACCESS #define PERL_HASH_INTERNAL(hash,str,len) PERL_HASH(hash,str,len) #endif PERL_STATIC_INLINE U32 S_perl_hash_with_seed(const U8 * seed, const U8 *str, STRLEN len) { __PERL_HASH_WORD_TYPE state[PERL_HASH_STATE_WORDS]; _PERL_HASH_SEED_STATE(seed,(U8*)state); return _PERL_HASH_WITH_STATE((U8*)state,str,len); } #endif /*compile once*/ /* * ex: set ts=8 sts=4 sw=4 et: */
Save
cmd:
run