SSBM Decomp
Loading...
Searching...
No Matches
hash.h
Go to the documentation of this file.
1
#ifndef _hash_h_
2
#define _hash_h_
3
4
#include <
platform.h
>
5
6
#include "
baselib/forward.h
"
7
8
#include "
baselib/class.h
"
9
10
#define hash(s) (s % 0x65)
11
12
struct
HSD_HashEntry
{
13
HSD_HashEntry
*
next
;
14
void
*
key
;
15
void
*
value
;
16
};
17
18
typedef
struct
_HSD_HashClass {
19
struct
_HSD_HashClassInfo*
class_info
;
20
}
HSD_HashClass
;
21
22
typedef
struct
_HSD_HashClassInfo {
23
HSD_ClassInfo
parent
;
24
int (*getidx)(
HSD_Hash
*
hash
);
25
bool
(*keycheck)(
HSD_Hash
*
hash
,
void
* table_key,
void
* key);
26
}
HSD_HashClassInfo
;
27
28
struct
HSD_Hash
{
29
HSD_HashClass
parent
;
30
HSD_HashEntry
**
table
;
31
u32
table_size
;
32
};
33
34
HSD_HashEntry
*
HashSearchEntry
(
HSD_Hash
*,
int
,
void
*,
HSD_HashEntry
**);
35
HSD_HashClassInfo
*
HSD_HashSearch
(
HSD_Hash
*,
void
*,
int
*);
36
37
#endif
class.h
HSD_HashSearch
HSD_HashClassInfo * HSD_HashSearch(HSD_Hash *, void *, int *)
Definition
hash.c:35
hash
#define hash(s)
Definition
hash.h:10
HashSearchEntry
HSD_HashEntry * HashSearchEntry(HSD_Hash *, int, void *, HSD_HashEntry **)
Definition
hash.c:5
platform.h
u32
unsigned long u32
An unsigned 32-bit integer.
Definition
platform.h:26
bool
int bool
A signed integer used to contain boolean values.
Definition
stdbool.h:8
HSD_ClassInfo
Definition
class.h:32
HSD_HashClassInfo
Definition
hash.h:22
HSD_HashClassInfo::parent
HSD_ClassInfo parent
Definition
hash.h:23
HSD_HashClass
Definition
hash.h:18
HSD_HashClass::class_info
struct _HSD_HashClassInfo * class_info
Definition
hash.h:19
HSD_HashEntry
Definition
hash.h:12
HSD_HashEntry::next
HSD_HashEntry * next
Definition
hash.h:13
HSD_HashEntry::value
void * value
Definition
hash.h:15
HSD_HashEntry::key
void * key
Definition
hash.h:14
HSD_Hash
Definition
hash.h:28
HSD_Hash::parent
HSD_HashClass parent
Definition
hash.h:29
HSD_Hash::table_size
u32 table_size
Definition
hash.h:31
HSD_Hash::table
HSD_HashEntry ** table
Definition
hash.h:30
forward.h
src
sysdolphin
baselib
hash.h
Generated by
1.9.8