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