/* * Copyright (c) 2019 TAOS Data, Inc. * * This program is free software: you can use, redistribute, and/or modify * it under the terms of the GNU Affero General Public License, version 3 * or later ("AGPL"), as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ #ifndef TDENGINE_TSOCKET_H #define TDENGINE_TSOCKET_H #ifdef __cplusplus extern "C" { #endif #include #include #include #include int taosNonblockwrite(int fd, char *ptr, int nbytes); int taosReadn(int sock, char *buffer, int len); int taosWriteMsg(int fd, void *ptr, int nbytes); int taosReadMsg(int fd, void *ptr, int nbytes); int taosOpenUdpSocket(char *ip, uint16_t port); int taosOpenTcpClientSocket(char *ip, uint16_t port, char *localIp); int taosOpenTcpServerSocket(char *ip, uint16_t port); int taosKeepTcpAlive(int sockFd); void taosCloseTcpSocket(int sockFd); int taosOpenUDServerSocket(char *ip, uint16_t port); int taosOpenUDClientSocket(char *ip, uint16_t port); int taosOpenRawSocket(char *ip); int taosCopyFds(int sfd, int dfd, int64_t len); int taosGetPublicIp(char *const ip); int taosGetPrivateIp(char *const ip); void tinet_ntoa(char *ipstr, unsigned int ip); int taosSetNonblocking(int sock, int on); #ifdef __cplusplus } #endif #endif // TDENGINE_TSOCKET_H