| // Copyright 2015 The Chromium Authors. All rights reserved. | 
 | // Use of this source code is governed by a BSD-style license that can be | 
 | // found in the LICENSE file. | 
 |  | 
 | #ifndef BASE_THREADING_PLATFORM_THREAD_INTERNAL_POSIX_H_ | 
 | #define BASE_THREADING_PLATFORM_THREAD_INTERNAL_POSIX_H_ | 
 |  | 
 | #include "base/base_export.h" | 
 | #include "base/threading/platform_thread.h" | 
 |  | 
 | namespace base { | 
 |  | 
 | namespace internal { | 
 |  | 
 | struct ThreadPriorityToNiceValuePair { | 
 |   ThreadPriority priority; | 
 |   int nice_value; | 
 | }; | 
 | // The elements must be listed in the order of increasing priority (lowest | 
 | // priority first), that is, in the order of decreasing nice values (highest | 
 | // nice value first). | 
 | BASE_EXPORT extern | 
 | const ThreadPriorityToNiceValuePair kThreadPriorityToNiceValueMap[4]; | 
 |  | 
 | // Returns the nice value matching |priority| based on the platform-specific | 
 | // implementation of kThreadPriorityToNiceValueMap. | 
 | int ThreadPriorityToNiceValue(ThreadPriority priority); | 
 |  | 
 | // Returns the ThreadPrioirty matching |nice_value| based on the platform- | 
 | // specific implementation of kThreadPriorityToNiceValueMap. | 
 | BASE_EXPORT ThreadPriority NiceValueToThreadPriority(int nice_value); | 
 |  | 
 | // Allows platform specific tweaks to the generic POSIX solution for | 
 | // SetCurrentThreadPriority. Returns true if the platform-specific | 
 | // implementation handled this |priority| change, false if the generic | 
 | // implementation should instead proceed. | 
 | bool SetCurrentThreadPriorityForPlatform(ThreadPriority priority); | 
 |  | 
 | // Returns true if there is a platform-specific ThreadPriority set on the | 
 | // current thread (and returns the actual ThreadPriority via |priority|). | 
 | // Returns false otherwise, leaving |priority| untouched. | 
 | bool GetCurrentThreadPriorityForPlatform(ThreadPriority* priority); | 
 |  | 
 | }  // namespace internal | 
 |  | 
 | }  // namespace base | 
 |  | 
 | #endif  // BASE_THREADING_PLATFORM_THREAD_INTERNAL_POSIX_H_ |