iPXE
Main Page
Related Pages
Modules
+
Data Structures
Data Structures
Data Structure Index
+
Data Fields
+
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Functions
_
b
d
i
p
s
t
u
v
x
+
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerator
+
Files
File List
+
Globals
+
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Typedefs
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
x
+
Enumerations
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
y
+
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
+
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
include
ipxe
md4.h
Go to the documentation of this file.
1
#ifndef _IPXE_MD4_H
2
#define _IPXE_MD4_H
3
4
/** @file
5
*
6
* MD4 algorithm
7
*
8
*/
9
10
FILE_LICENCE
( GPL2_OR_LATER_OR_UBDL );
11
12
#include <
stdint.h
>
13
#include <
ipxe/crypto.h
>
14
15
/** An MD4 digest */
16
struct
md4_digest
{
17
/** Hash output */
18
uint32_t
h
[4];
19
};
20
21
/** An MD4 data block */
22
union
md4_block
{
23
/** Raw bytes */
24
uint8_t
byte
[64];
25
/** Raw dwords */
26
uint32_t
dword
[16];
27
/** Final block structure */
28
struct
{
29
/** Padding */
30
uint8_t
pad
[56];
31
/** Length in bits */
32
uint64_t
len
;
33
}
final
;
34
};
35
36
/** MD4 digest and data block
37
*
38
* The order of fields within this structure is designed to minimise
39
* code size.
40
*/
41
struct
md4_digest_data
{
42
/** Digest of data already processed */
43
struct
md4_digest
digest
;
44
/** Accumulated data */
45
union
md4_block
data
;
46
}
__attribute__
(( packed ));
47
48
/** MD4 digest and data block */
49
union
md4_digest_data_dwords
{
50
/** Digest and data block */
51
struct
md4_digest_data
dd
;
52
/** Raw dwords */
53
uint32_t
dword
[
sizeof
(
struct
md4_digest_data
) /
54
sizeof (
uint32_t
) ];
55
};
56
57
/** An MD4 context */
58
struct
md4_context
{
59
/** Amount of accumulated data */
60
size_t
len
;
61
/** Digest and accumulated data */
62
union
md4_digest_data_dwords
ddd
;
63
}
__attribute__
(( packed ));
64
65
/** MD4 context size */
66
#define MD4_CTX_SIZE sizeof ( struct md4_context )
67
68
/** MD4 block size */
69
#define MD4_BLOCK_SIZE sizeof ( union md4_block )
70
71
/** MD4 digest size */
72
#define MD4_DIGEST_SIZE sizeof ( struct md4_digest )
73
74
extern
struct
digest_algorithm
md4_algorithm
;
75
76
#endif
/* _IPXE_MD4_H */
__attribute__
#define __attribute__(x)
Definition:
compiler.h:10
md4_digest_data_dwords::dd
struct md4_digest_data dd
Digest and data block.
Definition:
md4.h:51
uint64_t
unsigned long long uint64_t
Definition:
stdint.h:13
crypto.h
Cryptographic API.
md4_algorithm
struct digest_algorithm md4_algorithm
MD4 algorithm.
Definition:
md4.c:261
md4_block::pad
uint8_t pad[56]
Padding.
Definition:
md4.h:30
md4_digest::h
uint32_t h[4]
Hash output.
Definition:
md4.h:18
md4_digest_data::data
union md4_block data
Accumulated data.
Definition:
md4.h:45
FILE_LICENCE
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
md4_context::len
size_t len
Amount of accumulated data.
Definition:
md4.h:60
md4_context
An MD4 context.
Definition:
md4.h:58
md4_block
An MD4 data block.
Definition:
md4.h:22
md4_context::ddd
union md4_digest_data_dwords ddd
Digest and accumulated data.
Definition:
md4.h:62
md4_digest
An MD4 digest.
Definition:
md4.h:16
uint8_t
unsigned char uint8_t
Definition:
stdint.h:10
uint32_t
unsigned int uint32_t
Definition:
stdint.h:12
md4_block::len
uint64_t len
Length in bits.
Definition:
md4.h:32
md4_digest_data_dwords
MD4 digest and data block.
Definition:
md4.h:49
md4_digest_data
MD4 digest and data block.
Definition:
md4.h:41
digest_algorithm
A message digest algorithm.
Definition:
crypto.h:18
stdint.h
dword
unsigned long int dword
Definition:
smc9000.h:40
md4_digest_data::digest
struct md4_digest digest
Digest of data already processed.
Definition:
md4.h:43
Generated by
1.8.15