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