blob: 19a682bd334d69bbc3a467a8363f0475b3783044 [file] [log] [blame]
// Copyright 2023 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "src/developer/debug/shared/platform.h"
namespace debug {
Platform CurrentSystemPlatform() {
#if defined(__Fuchsia__)
return Platform::kFuchsia;
#elif defined(__linux__)
return Platform::kLinux;
#elif defined(__APPLE__)
return Platform::kMac;
#else
#error Need to define your platform.
#endif
}
const char* PlatformToString(Platform p) {
switch (p) {
case Platform::kUnknown:
return "Unknown platform";
case Platform::kFuchsia:
return "Fuchsia";
case Platform::kLinux:
return "Linux";
case Platform::kMac:
return "Mac";
}
return "Invalid platform";
}
const char* PlatformProcessIdName(Platform p, bool caps) {
switch (p) {
case Platform::kFuchsia:
return caps ? "KOID" : "koid";
case Platform::kUnknown:
case Platform::kLinux:
case Platform::kMac:
default:
return caps ? "PID" : "pid";
}
}
const char* PlatformThreadIdName(Platform p, bool caps) {
switch (p) {
case Platform::kFuchsia:
return caps ? "KOID" : "koid";
case Platform::kUnknown:
case Platform::kLinux:
case Platform::kMac:
default:
return caps ? "TID" : "tid";
}
}
} // namespace debug