1f08c3bdfSopenharmony_ci// SPDX-License-Identifier: GPL-2.0-or-later
2f08c3bdfSopenharmony_ci/*
3f08c3bdfSopenharmony_ci* Copyright (c) 2016 Fujitsu Ltd.
4f08c3bdfSopenharmony_ci* Author: Xiao Yang <yangx.jy@cn.fujitsu.com>
5f08c3bdfSopenharmony_ci*/
6f08c3bdfSopenharmony_ci
7f08c3bdfSopenharmony_ci#ifndef LAPI_SOCKET_H__
8f08c3bdfSopenharmony_ci#define LAPI_SOCKET_H__
9f08c3bdfSopenharmony_ci
10f08c3bdfSopenharmony_ci#include "config.h"
11f08c3bdfSopenharmony_ci#include <sys/socket.h>
12f08c3bdfSopenharmony_ci
13f08c3bdfSopenharmony_ci#ifndef MSG_ZEROCOPY
14f08c3bdfSopenharmony_ci# define MSG_ZEROCOPY	0x4000000 /* Use user data in kernel path */
15f08c3bdfSopenharmony_ci#endif
16f08c3bdfSopenharmony_ci
17f08c3bdfSopenharmony_ci#ifndef MSG_FASTOPEN
18f08c3bdfSopenharmony_ci# define MSG_FASTOPEN	0x20000000 /* Send data in TCP SYN */
19f08c3bdfSopenharmony_ci#endif
20f08c3bdfSopenharmony_ci
21f08c3bdfSopenharmony_ci#ifndef SO_REUSEPORT
22f08c3bdfSopenharmony_ci# define SO_REUSEPORT	15
23f08c3bdfSopenharmony_ci#endif
24f08c3bdfSopenharmony_ci
25f08c3bdfSopenharmony_ci#ifndef SO_BUSY_POLL
26f08c3bdfSopenharmony_ci# define SO_BUSY_POLL	46
27f08c3bdfSopenharmony_ci#endif
28f08c3bdfSopenharmony_ci
29f08c3bdfSopenharmony_ci#ifndef SO_ATTACH_BPF
30f08c3bdfSopenharmony_ci# define SO_ATTACH_BPF  50
31f08c3bdfSopenharmony_ci#endif
32f08c3bdfSopenharmony_ci
33f08c3bdfSopenharmony_ci#ifndef SO_ZEROCOPY
34f08c3bdfSopenharmony_ci# define SO_ZEROCOPY	60
35f08c3bdfSopenharmony_ci#endif
36f08c3bdfSopenharmony_ci
37f08c3bdfSopenharmony_ci#ifndef SOCK_DCCP
38f08c3bdfSopenharmony_ci# define SOCK_DCCP		6
39f08c3bdfSopenharmony_ci#endif
40f08c3bdfSopenharmony_ci
41f08c3bdfSopenharmony_ci#ifndef SOCK_CLOEXEC
42f08c3bdfSopenharmony_ci# define SOCK_CLOEXEC 02000000
43f08c3bdfSopenharmony_ci#endif
44f08c3bdfSopenharmony_ci
45f08c3bdfSopenharmony_ci#ifndef AF_ALG
46f08c3bdfSopenharmony_ci# define AF_ALG		38
47f08c3bdfSopenharmony_ci#endif
48f08c3bdfSopenharmony_ci
49f08c3bdfSopenharmony_ci#ifndef SOL_SCTP
50f08c3bdfSopenharmony_ci# define SOL_SCTP	132
51f08c3bdfSopenharmony_ci#endif
52f08c3bdfSopenharmony_ci
53f08c3bdfSopenharmony_ci#ifndef SOL_UDPLITE
54f08c3bdfSopenharmony_ci# define SOL_UDPLITE		136 /* UDP-Lite (RFC 3828) */
55f08c3bdfSopenharmony_ci#endif
56f08c3bdfSopenharmony_ci
57f08c3bdfSopenharmony_ci#ifndef SOL_DCCP
58f08c3bdfSopenharmony_ci# define SOL_DCCP		269
59f08c3bdfSopenharmony_ci#endif
60f08c3bdfSopenharmony_ci
61f08c3bdfSopenharmony_ci#ifndef SOL_ALG
62f08c3bdfSopenharmony_ci# define SOL_ALG		279
63f08c3bdfSopenharmony_ci#endif
64f08c3bdfSopenharmony_ci
65f08c3bdfSopenharmony_ci#ifndef HAVE_STRUCT_MMSGHDR
66f08c3bdfSopenharmony_cistruct mmsghdr {
67f08c3bdfSopenharmony_ci	struct msghdr msg_hdr;
68f08c3bdfSopenharmony_ci	unsigned int msg_len;
69f08c3bdfSopenharmony_ci};
70f08c3bdfSopenharmony_ci#endif
71f08c3bdfSopenharmony_ci
72f08c3bdfSopenharmony_ci#endif /* LAPI_SOCKET_H__ */
73