Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
hashcat
GitHub Repository: hashcat/hashcat
Path: blob/master/Rust/hashcat-sys/src/hashcat_types.h
7055 views
1
/**
2
* Author......: See docs/credits.txt
3
* License.....: MIT
4
*/
5
6
#include <stdint.h>
7
8
typedef uint32_t u32;
9
typedef void unit_t;
10
typedef void *hc_dynlib_t;
11
typedef void *RS_GET_INFO;
12
typedef void *RS_GLOBAL_INIT;
13
typedef void *RS_GLOBAL_TERM;
14
typedef void *RS_THREAD_INIT;
15
typedef void *RS_THREAD_TERM;
16
typedef void *RS_KERNEL_LOOP;
17
typedef void *RS_NEW_CONTEXT;
18
typedef void *RS_DROP_CONTEXT;
19
20
// Sync with:
21
// OpenCL/inc_types.h
22
23
typedef struct salt
24
{
25
u32 salt_buf[64];
26
u32 salt_buf_pc[64];
27
28
u32 salt_len;
29
u32 salt_len_pc;
30
u32 salt_iter;
31
u32 salt_iter2;
32
u32 salt_dimy;
33
u32 salt_sign[2];
34
u32 salt_repeats;
35
36
u32 orig_pos;
37
38
u32 digests_cnt;
39
u32 digests_done;
40
41
u32 digests_offset;
42
43
u32 scrypt_N;
44
u32 scrypt_r;
45
u32 scrypt_p;
46
47
} salt_t;
48
49
// Sync with:
50
// src/bridges/bridge_rust_generic_hash.c
51
// src/modules/module_74000.c
52
// OpenCL/m72000-pure.cl
53
54
typedef struct
55
{
56
// input
57
58
u32 pw_buf[64];
59
u32 pw_len;
60
61
// output
62
63
u32 out_buf[32][64];
64
u32 out_len[32];
65
u32 out_cnt;
66
67
} generic_io_tmp_t;
68
69
typedef struct
70
{
71
u32 hash_buf[256];
72
u32 hash_len;
73
74
u32 salt_buf[256];
75
u32 salt_len;
76
77
} generic_io_t;
78
79
// Sync with bridge_rust_generic_hash.c:
80
81
typedef struct bridge_context
82
{
83
unit_t *units_buf;
84
int units_cnt;
85
86
char *dynlib_filename;
87
hc_dynlib_t lib;
88
89
RS_GET_INFO get_info;
90
RS_GLOBAL_INIT global_init;
91
RS_GLOBAL_TERM global_term;
92
RS_THREAD_INIT thread_init;
93
RS_THREAD_TERM thread_term;
94
RS_KERNEL_LOOP kernel_loop;
95
RS_NEW_CONTEXT new_context;
96
RS_DROP_CONTEXT drop_context;
97
98
const char *bridge_parameter1;
99
const char *bridge_parameter2;
100
const char *bridge_parameter3;
101
const char *bridge_parameter4;
102
103
} bridge_context_t;
104
105