recvfrom.c

来自「eCos操作系统源码」· C语言 代码 · 共 60 行

C
60
字号
//==========================================================================////      lib/recvfrom.c////      recvfrom() system call////==========================================================================//####BSDCOPYRIGHTBEGIN####//// -------------------------------------------//// Portions of this software may have been derived from OpenBSD or other sources,// and are covered by the appropriate copyright disclaimers included herein.//// -------------------------------------------////####BSDCOPYRIGHTEND####//==========================================================================//#####DESCRIPTIONBEGIN####//// Author(s):    gthomas// Contributors: gthomas// Date:         2000-01-10// Purpose:      // Description:  //              ////####DESCRIPTIONEND####////==========================================================================#include <sys/param.h>#include <cyg/io/file.h>#include <sys/socket.h>#include <sys/socketvar.h>#include <sys/syscallargs.h>ssize_t	recvfrom(int s, const void *buf, size_t buflen,        int flags, const struct sockaddr *from, socklen_t *fromlen){    struct sys_recvfrom_args args;    int res, error;    SYSCALLARG(args,s) = s;    SYSCALLARG(args,buf) = (void *)buf;    SYSCALLARG(args,len) = buflen;    SYSCALLARG(args,flags) = flags;     SYSCALLARG(args,from) = (struct sockaddr *)from;    SYSCALLARG(args,fromlenaddr) = fromlen;    error = sys_recvfrom(&args, &res);    if (error) {        errno = error;        return -1;    } else {        return res;    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?