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