RtlRealSuccessor

_RTL_SPLAY_LINKS *__stdcall RtlRealSuccessor(_RTL_SPLAY_LINKS *Links){
  _RTL_SPLAY_LINKS *result; 
  _RTL_SPLAY_LINKS *v2; 
  _RTL_SPLAY_LINKS *v3; 
  _RTL_SPLAY_LINKS *i; 

  result = Links->RightChild;
  v2 = 0i64;
  v3 = Links;
  if( result )
  {
    for( i = result->LeftChild; i; i = i->LeftChild )
      result = i;
  }
  else
  {
    while( 1 )
    {
      Links = Links->Parent;
      if( Links->RightChild != v3 )
        break;
      v3 = Links;
    }
    if( Links->LeftChild == v3 )
      return Links;
    return v2;
  }
  return result;
}

Referenced by:

FsRtlCheckNoExclusiveConflict
FsRtlDeleteKeyFromTunnelCache
FsRtlFastUnlockSingleExclusive
FsRtlGetNextFileLock
FsRtlPrivateCheckForSharedLockAccess
FsRtlPrivateFastUnlockAll
FsRtlPrivateInsertExclusiveLock
FsRtlPrivateInsertSharedLock
FsRtlSplitLocks
RtlEnumerateGenericTable
RtlEnumerateGenericTableWithoutSplaying
RtlNextUnicodePrefix