mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-08-28 00:19:36 +00:00

fib_rule, ip6_tunnel, and a whole lot of if_* headers lack the customary _UAPI in the header guard. Without it YNL build can't protect from in tree and system headers both getting included. YNL doesn't need most of these but it's annoying to have to fix them one by one. Note that header installation strips this _UAPI prefix so this should result in no change to the end user. Acked-by: Jamal Hadi Salim <jhs@mojatatu.com> Reviewed-by: Jason Xing <kerneljasonxing@gmail.com> Reviewed-by: Ido Schimmel <idosch@nvidia.com> Link: https://patch.msgid.link/20250416200840.1338195-1-kuba@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
62 lines
1.6 KiB
C
62 lines
1.6 KiB
C
/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
|
|
/*
|
|
* 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 _UAPI_LINUX_IF_ALG_H
|
|
#define _UAPI_LINUX_IF_ALG_H
|
|
|
|
#include <linux/types.h>
|
|
|
|
struct sockaddr_alg {
|
|
__u16 salg_family;
|
|
__u8 salg_type[14];
|
|
__u32 salg_feat;
|
|
__u32 salg_mask;
|
|
__u8 salg_name[64];
|
|
};
|
|
|
|
/*
|
|
* Linux v4.12 and later removed the 64-byte limit on salg_name[]; it's now an
|
|
* arbitrary-length field. We had to keep the original struct above for source
|
|
* compatibility with existing userspace programs, though. Use the new struct
|
|
* below if support for very long algorithm names is needed. To do this,
|
|
* allocate 'sizeof(struct sockaddr_alg_new) + strlen(algname) + 1' bytes, and
|
|
* copy algname (including the null terminator) into salg_name.
|
|
*/
|
|
struct sockaddr_alg_new {
|
|
__u16 salg_family;
|
|
__u8 salg_type[14];
|
|
__u32 salg_feat;
|
|
__u32 salg_mask;
|
|
__u8 salg_name[];
|
|
};
|
|
|
|
struct af_alg_iv {
|
|
__u32 ivlen;
|
|
__u8 iv[];
|
|
};
|
|
|
|
/* Socket options */
|
|
#define ALG_SET_KEY 1
|
|
#define ALG_SET_IV 2
|
|
#define ALG_SET_OP 3
|
|
#define ALG_SET_AEAD_ASSOCLEN 4
|
|
#define ALG_SET_AEAD_AUTHSIZE 5
|
|
#define ALG_SET_DRBG_ENTROPY 6
|
|
#define ALG_SET_KEY_BY_KEY_SERIAL 7
|
|
|
|
/* Operations */
|
|
#define ALG_OP_DECRYPT 0
|
|
#define ALG_OP_ENCRYPT 1
|
|
|
|
#endif /* _UAPI_LINUX_IF_ALG_H */
|