0 Kˆ ƒO7Ö¿Ø µK Index of /FSS-BCZ/root/sys/dev/char/4:64/device

Index of /FSS-BCZ/root/sys/dev/char/4:64/device

 NameLast modifiedSizeDescription

 Parent Directory   -  
 uevent 2026-10-22 10:57 4.0K 
 tty/ 2026-10-21 14:32 -  
 subsystem/ 2026-10-21 14:32 -  
 resources 2026-10-22 10:57 4.0K 
 power/ 2026-10-22 11:37 -  
 options 2026-10-22 11:37 4.0K 
 id 2026-10-22 11:37 4.0K 
 firmware_node/ 2026-10-21 14:32 -  
 driver/ 2026-10-21 14:32 -  
 00:00:0/ 2026-10-21 14:32 -  

#MˆÕÛ ƒ¡oÚa–ß=¿JJj"Tâ�nã/Ül*bѿ٠›M/* SPDX-License-Identifier: GPL-2.0 */ #ifndef __LINUX_STRINGHASH_H #define __LINUX_STRINGHASH_H #include /* For __pure */ #include /* For u32, u64 */ #include /* * Routines for hashing strings of bytes to a 32-bit hash value. * * These hash functions are NOT GUARANTEED STABLE between kernel * versions, architectures, or even repeated boots of the same kernel. * (E.g. they may depend on boot-time hardware detection or be * deliberately randomized.) * * They are also not intended to be secure against collisions caused by * malicious inputs; much slower hash functions are required for that. * * They are optimized for pathname components, meaning short strings. * Even if a majority of files have longer names, the dynamic profile of * pathname components skews short due to short directory names. * (E.g. /usr/lib/libsesquipedalianism.so.3.141.) */ /* * Version 1: one byte at a time. Example of use: * * unsigned long hash = init_name_hash; * while (*p) * hash = partial_name_hash(tolower(*p++), hash); * hash = end_name_hash(hash); * * Although this is designed for bytes, fs/hfsplus/unicode.c * abuses it to hash 16-bit values. */ /* Hash courtesy of the R5 hash in reiserfs modulo sign bits */ #define init_name_hash(salt) (unsigned long)(salt) /* partial hash update function. Assume roughly 4 bits per character */ static inline unsigned long partial_name_hash(unsigned long c, unsigned long prevhash) { return (prevhash + (c << 4) +