iceoryx_hoofs 2.0.3
thread.hpp
1// Copyright (c) 2020 by Apex.AI Inc. All rights reserved.
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14//
15// SPDX-License-Identifier: Apache-2.0
16#ifndef IOX_HOOFS_POSIX_WRAPPER_PTHREAD_HPP
17#define IOX_HOOFS_POSIX_WRAPPER_PTHREAD_HPP
18
19#include "iceoryx_hoofs/cxx/expected.hpp"
20#include "iceoryx_hoofs/cxx/string.hpp"
21#include "iceoryx_hoofs/platform/pthread.hpp"
22
23namespace iox
24{
25namespace posix
26{
27constexpr uint64_t MAX_THREAD_NAME_LENGTH = 15U;
28
29using ThreadName_t = cxx::string<MAX_THREAD_NAME_LENGTH>;
30
31void setThreadName(pthread_t thread, const ThreadName_t& name) noexcept;
32ThreadName_t getThreadName(pthread_t thread) noexcept;
33
34} // namespace posix
35} // namespace iox
36
37#endif // IOX_HOOFS_POSIX_WRAPPER_PTHREAD_HPP
building block to easily create free function for logging in a library context
Definition: lockfree_queue.hpp:29