HRESULT Library_spot_net_native_Microsoft_SPOT_Net_SocketNative::listen___STATIC__VOID__OBJECT__I4( CLR_RT_StackFrame& stack )
{
    NATIVE_PROFILE_CLR_NETWORK();
    TINYCLR_HEADER();

    CLR_RT_HeapBlock* socket = stack.Arg0().Dereference();
    CLR_INT32 handle;
    CLR_INT32 backlog = stack.Arg1().NumericByRef().s4;
    CLR_INT32 ret;

    FAULT_ON_NULL(socket);
    handle = socket[ FIELD__m_Handle ].NumericByRef().s4;

    ret = SOCK_listen( handle, backlog );

    TINYCLR_CHECK_HRESULT(ThrowOnError( stack, ret ));

    TINYCLR_NOCLEANUP();
}
Example #2
0
int listen(int s, int backlog)
{ struct SocketSettings *lss;
  register StdFileDes *fp;
  int rc;

  if ((fp=_lx_fhfromfd(s))) {
    switch (lss=_lx_get_socket_settings(),lss->lx_network_type) {
      case LX_AS225:
        rc = SOCK_listen(fp->lx_sock, backlog);
      break;

      case LX_AMITCP:
        rc = TCP_Listen(fp->lx_sock, backlog);
      break;

      default:
        rc = -1;
      break;
    }
  }
  else rc = -1;

  return rc;
}