* Copyright (c) Huawei Technologies Co., Ltd. 2026. All rights reserved.
* ubs-comm is licensed under the Mulan PSL v2.
* You can use this software according to the terms and conditions of the Mulan PSL v2.
* You may obtain a copy of Mulan PSL v2 at:
* http://license.coscl.org.cn/MulanPSL2
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
* See the Mulan PSL v2 for more details.
*/
#ifndef UBS_COMM_UBSOCKET_SOCK_H
#define UBS_COMM_UBSOCKET_SOCK_H
#include "ubsocket_def.h"
#ifdef __cplusplus
extern "C" {
#endif
* socket compatible api
*/
int UB_API_WRAP(socket)(int domain, int type, int protocol);
int UB_API_WRAP(shutdown)(int fd, int how);
int UB_API_WRAP(close)(int fd);
int UB_API_WRAP(accept)(int socket, struct sockaddr *address, socklen_t *address_len);
int UB_API_WRAP(accept4)(int socket, struct sockaddr *address, socklen_t *address_len, int flag);
int UB_API_WRAP(bind)(int fd, const struct sockaddr *addr, socklen_t addrlen);
int UB_API_WRAP(listen)(int fd, int backlog);
int UB_API_WRAP(connect)(int socket, const struct sockaddr *address, socklen_t address_len);
ssize_t UB_API_WRAP(readv)(int fildes, const struct iovec *iov, int iovcnt);
ssize_t UB_API_WRAP(writev)(int fildes, const struct iovec *iov, int iovcnt);
ssize_t UB_API_WRAP(send)(int sockfd, const void *buf, size_t len, int flags);
ssize_t UB_API_WRAP(recv)(int sockfd, void *buf, size_t len, int flags);
ssize_t UB_API_WRAP(read)(int fildes, void *buf, size_t nbyte);
ssize_t UB_API_WRAP(write)(int fildes, const void *buf, size_t nbyte);
ssize_t UB_API_WRAP(sendto)(int sockfd, const void *buf, size_t len, int flags, const struct sockaddr *dest_addr,
socklen_t addrlen);
ssize_t UB_API_WRAP(recvfrom)(int sockfd, void *buf, size_t len, int flags, struct sockaddr *dest_addr,
socklen_t *addrlen);
ssize_t UB_API_WRAP(sendmsg)(int sockfd, const struct msghdr *msg, int flags);
ssize_t UB_API_WRAP(recvmsg)(int sockfd, struct msghdr *msg, int flags);
ssize_t UB_API_WRAP(sendfile)(int out_fd, int in_fd, off_t *offset, size_t count);
ssize_t UB_API_WRAP(sendfile64)(int out_fd, int in_fd, off64_t *offset, size_t count);
int UB_API_WRAP(setsockopt)(int fd, int level, int optname, const void *optval, socklen_t optlen);
int UB_API_WRAP(getsockopt)(int fd, int level, int optname, void *optval, socklen_t *optlen);
#ifdef __cplusplus
}
#endif
#endif