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

    CLR_RT_HeapBlock* socket = stack.Arg0().Dereference();
    CLR_INT32 handle;
    CLR_INT32 how = stack.Arg1().NumericByRef().s4;
    CLR_INT32 ret;
    
    FAULT_ON_NULL(socket);
    handle = socket[ FIELD__m_Handle ].NumericByRef().s4;

    ret = SOCK_shutdown( handle, how );

    TINYCLR_CHECK_HRESULT(ThrowOnError( stack, ret ));

    TINYCLR_NOCLEANUP();
}
Example #2
0
int shutdown(int s, int how)
{ struct SocketSettings *lss;
  StdFileDes *fp = _lx_fhfromfd(s);
  int rc;

  switch (lss=_lx_get_socket_settings(),lss->lx_network_type) {
    case LX_AS225:
      rc = SOCK_shutdown(fp->lx_sock,how);
    break;

    case LX_AMITCP:
      rc = TCP_ShutDown(fp->lx_sock,how);
    break;

    default:
      rc = 0;
    break;
  }

  return rc;
}