FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
linux/include/crypto/if_alg.h at master · shittydeveloper/linux · GitHub
shittydeveloper
/
linux
Public
forked from
torvalds/linux
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
linux
/
include
/
crypto
/
if_alg.h
Copy path
More file actions
More file actions
Latest commit
History
History
History
93 lines (72 loc) · 2.2 KB
Breadcrumbs
linux
/
include
/
crypto
/
if_alg.h
Copy path
File metadata and controls
93 lines (72 loc) · 2.2 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
/*
* if_alg: User-space algorithm interface
*
* Copyright (c) 2010 Herbert Xu <herbert@gondor.apana.org.au>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option)
* any later version.
*
*/
#ifndef
_CRYPTO_IF_ALG_H
#define
_CRYPTO_IF_ALG_H
#include
<linux/compiler.h>
#include
<linux/completion.h>
#include
<linux/if_alg.h>
#include
<linux/scatterlist.h>
#include
<linux/types.h>
#include
<net/sock.h>
#define
ALG_MAX_PAGES
16
struct
crypto_async_request
;
struct
alg_sock
{
/* struct sock must be the first member of struct alg_sock */
struct
sock
sk
;
struct
sock
*
parent
;
const
struct
af_alg_type
*
type
;
void
*
private
;
};
struct
af_alg_completion
{
struct
completion
completion
;
int
err
;
};
struct
af_alg_control
{
struct
af_alg_iv
*
iv
;
int
op
;
};
struct
af_alg_type
{
void
*
(
*
bind
)(
const
char
*
name
,
u32
type
,
u32
mask
);
void
(
*
release
)(
void
*
private
);
int
(
*
setkey
)(
void
*
private
,
const
u8
*
key
,
unsigned
int
keylen
);
int
(
*
accept
)(
void
*
private
,
struct
sock
*
sk
);
struct
proto_ops
*
ops
;
struct
module
*
owner
;
char
name
[
14
];
};
struct
af_alg_sgl
{
struct
scatterlist
sg
[
ALG_MAX_PAGES
];
struct
page
*
pages
[
ALG_MAX_PAGES
];
};
int
af_alg_register_type
(
const
struct
af_alg_type
*
type
);
int
af_alg_unregister_type
(
const
struct
af_alg_type
*
type
);
int
af_alg_release
(
struct
socket
*
sock
);
int
af_alg_accept
(
struct
sock
*
sk
,
struct
socket
*
newsock
);
int
af_alg_make_sg
(
struct
af_alg_sgl
*
sgl
,
void
__user
*
addr
,
int
len
,
int
write
);
void
af_alg_free_sg
(
struct
af_alg_sgl
*
sgl
);
int
af_alg_cmsg_send
(
struct
msghdr
*
msg
,
struct
af_alg_control
*
con
);
int
af_alg_wait_for_completion
(
int
err
,
struct
af_alg_completion
*
completion
);
void
af_alg_complete
(
struct
crypto_async_request
*
req
,
int
err
);
static
inline
struct
alg_sock
*
alg_sk
(
struct
sock
*
sk
)
{
return
(
struct
alg_sock
*
)
sk
;
}
static
inline
void
af_alg_release_parent
(
struct
sock
*
sk
)
{
sock_put
(
alg_sk
(
sk
)
->
parent
);
}
static
inline
void
af_alg_init_completion
(
struct
af_alg_completion
*
completion
)
{
init_completion
(
&
completion
->
completion
);
}
#endif
/* _CRYPTO_IF_ALG_H */
Back
|
FazBrowse Home
|
New Git URL