From dc4c793b3067d9dbd808d13dedd8b789a5087fc4 Mon Sep 17 00:00:00 2001 From: Vincent Wei Date: Mon, 6 Jan 2020 14:59:22 +0800 Subject: [PATCH] Declare new internal APIs: sock_sendmsg_t/sock_sendmsg, sock_recvmsg_t/sock_recvmsg. --- src/include/sockio.h | 43 ++++++++++++++++++++++++++----------------- 1 file changed, 26 insertions(+), 17 deletions(-) diff --git a/src/include/sockio.h b/src/include/sockio.h index f2d1e180..388a9891 100644 --- a/src/include/sockio.h +++ b/src/include/sockio.h @@ -11,35 +11,35 @@ // ////////////////////////////////////////////////////////////////////////////// /* - * This file is part of MiniGUI, a mature cross-platform windowing + * This file is part of MiniGUI, a mature cross-platform windowing * and Graphics User Interface (GUI) support system for embedded systems * and smart IoT devices. - * + * * Copyright (C) 2002~2018, Beijing FMSoft Technologies Co., Ltd. * Copyright (C) 1998~2002, WEI Yongming - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * 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. See the * GNU General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . - * + * * Or, - * + * * As this program is a library, any link to this program must follow * GNU General Public License version 3 (GPLv3). If you cannot accept * GPLv3, you need to be licensed from FMSoft. - * + * * If you have got a commercial license of this program, please use it * under the terms and conditions of the commercial license. - * + * * For more information about the commercial license, please refer to * . */ @@ -52,6 +52,13 @@ #ifndef GUI_SOCKIO_H #define GUI_SOCKIO_H +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + #ifndef MINIGUI_H #define SOCKERR_IO -1 @@ -60,21 +67,23 @@ #define SOCKERR_TIMEOUT -4 #define SOCKERR_OK 0 -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - -int sock_write_t (int fd, const void* buff, int count, unsigned int timeout); -int sock_read_t (int fd, void* buff, int count, unsigned int timeout); +ssize_t sock_write_t (int fd, const void* buff, size_t count, DWORD timeout); +ssize_t sock_read_t (int fd, void* buff, size_t count, DWORD timeout); #define sock_write(fd, buff, count) sock_write_t(fd, buff, count, 0) #define sock_read(fd, buff, count) sock_read_t(fd, buff, count, 0) +#endif // MINIGUI_H + +ssize_t sock_sendmsg_t (int fd, const struct msghdr *msg, int flags, DWORD timeout); +ssize_t sock_recvmsg_t (int fd, struct msghdr *msg, int flags, DWORD timeout); + +#define sock_sendmsg(fd, msg, flags) sock_sendmsg_t(fd, msg, flags, 0) +#define sock_recvmsg(fd, msg, flags) sock_recvmsg_t(fd, msg, flags, 0) + #ifdef __cplusplus } #endif /* __cplusplus */ -#endif // MINIGUI_H - #endif // GUI_SOCKIO_H