blob: f2acd2fde1f3abb93b1be11a54005ce10a57e54e [file] [log] [blame]
Ben Cheng30692c62013-10-15 18:26:18 -07001/*
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
18struct 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
26struct 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
Christopher Ferris12e1f282016-02-04 12:35:07 -080035#define ALG_SET_AEAD_ASSOCLEN 4
36#define ALG_SET_AEAD_AUTHSIZE 5
Ben Cheng30692c62013-10-15 18:26:18 -070037
38/* Operations */
39#define ALG_OP_DECRYPT 0
40#define ALG_OP_ENCRYPT 1
41
42#endif /* _LINUX_IF_ALG_H */