sock_sel.c

来自「开放源码的编译器open watcom 1.6.0版的源代码」· C语言 代码 · 共 35 行

C
35
字号
#include <stdio.h>

#include "copyrigh.h"
#include "wattcp.h"
#include "pctcp.h"

/*
 * sock_sselect - returns one of several constants indicating
 *                SOCKESTABLISHED - tcp connection has been established
 *                SOCKDATAREAY    - tcp/udp data ready for reading
 *                SOCKCLOSED      - socket has been closed
 */

int sock_sselect (const sock_type *s, int waitstate)
{
  /* are we connected ?
   */
  if (waitstate == SOCKDATAREADY && s->tcp.rdatalen)
     return (SOCKDATAREADY);

  if (s->tcp.ip_type == 0)
     return (SOCKCLOSED);

  if (waitstate == SOCKESTABLISHED)
  {
    if (s->tcp.ip_type == UDP_PROTO      ||
        s->tcp.state   == tcp_StateESTAB ||
        s->tcp.state   == tcp_StateESTCL ||
        s->tcp.state   == tcp_StateCLOSWT)
       return (SOCKESTABLISHED);
  }
  return (0);
}

⌨️ 快捷键说明

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