xref: /aosp_15_r20/external/iproute2/include/uapi/linux/if_alg.h (revision de1e4e894b0c224df933550f0afdecc354b238c4)
1*de1e4e89SAndroid Build Coastguard Worker /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
2*de1e4e89SAndroid Build Coastguard Worker /*
3*de1e4e89SAndroid Build Coastguard Worker  * if_alg: User-space algorithm interface
4*de1e4e89SAndroid Build Coastguard Worker  *
5*de1e4e89SAndroid Build Coastguard Worker  * Copyright (c) 2010 Herbert Xu <[email protected]>
6*de1e4e89SAndroid Build Coastguard Worker  *
7*de1e4e89SAndroid Build Coastguard Worker  * This program is free software; you can redistribute it and/or modify it
8*de1e4e89SAndroid Build Coastguard Worker  * under the terms of the GNU General Public License as published by the Free
9*de1e4e89SAndroid Build Coastguard Worker  * Software Foundation; either version 2 of the License, or (at your option)
10*de1e4e89SAndroid Build Coastguard Worker  * any later version.
11*de1e4e89SAndroid Build Coastguard Worker  *
12*de1e4e89SAndroid Build Coastguard Worker  */
13*de1e4e89SAndroid Build Coastguard Worker 
14*de1e4e89SAndroid Build Coastguard Worker #ifndef _LINUX_IF_ALG_H
15*de1e4e89SAndroid Build Coastguard Worker #define _LINUX_IF_ALG_H
16*de1e4e89SAndroid Build Coastguard Worker 
17*de1e4e89SAndroid Build Coastguard Worker #include <linux/types.h>
18*de1e4e89SAndroid Build Coastguard Worker 
19*de1e4e89SAndroid Build Coastguard Worker struct sockaddr_alg {
20*de1e4e89SAndroid Build Coastguard Worker 	__u16	salg_family;
21*de1e4e89SAndroid Build Coastguard Worker 	__u8	salg_type[14];
22*de1e4e89SAndroid Build Coastguard Worker 	__u32	salg_feat;
23*de1e4e89SAndroid Build Coastguard Worker 	__u32	salg_mask;
24*de1e4e89SAndroid Build Coastguard Worker 	__u8	salg_name[64];
25*de1e4e89SAndroid Build Coastguard Worker };
26*de1e4e89SAndroid Build Coastguard Worker 
27*de1e4e89SAndroid Build Coastguard Worker struct af_alg_iv {
28*de1e4e89SAndroid Build Coastguard Worker 	__u32	ivlen;
29*de1e4e89SAndroid Build Coastguard Worker 	__u8	iv[0];
30*de1e4e89SAndroid Build Coastguard Worker };
31*de1e4e89SAndroid Build Coastguard Worker 
32*de1e4e89SAndroid Build Coastguard Worker /* Socket options */
33*de1e4e89SAndroid Build Coastguard Worker #define ALG_SET_KEY			1
34*de1e4e89SAndroid Build Coastguard Worker #define ALG_SET_IV			2
35*de1e4e89SAndroid Build Coastguard Worker #define ALG_SET_OP			3
36*de1e4e89SAndroid Build Coastguard Worker #define ALG_SET_AEAD_ASSOCLEN		4
37*de1e4e89SAndroid Build Coastguard Worker #define ALG_SET_AEAD_AUTHSIZE		5
38*de1e4e89SAndroid Build Coastguard Worker 
39*de1e4e89SAndroid Build Coastguard Worker /* Operations */
40*de1e4e89SAndroid Build Coastguard Worker #define ALG_OP_DECRYPT			0
41*de1e4e89SAndroid Build Coastguard Worker #define ALG_OP_ENCRYPT			1
42*de1e4e89SAndroid Build Coastguard Worker 
43*de1e4e89SAndroid Build Coastguard Worker #endif	/* _LINUX_IF_ALG_H */
44