X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=src%2Fplugins%2Fctf%2Flttng-live%2Flttng-viewer-abi.hpp;h=926ace11ee35cc6ee7178c71b255c5804a99de86;hb=HEAD;hp=0d1911ad8883b9af0efcfccbefc160b4e021425b;hpb=4164020e790fa6c0700715936b40a3fa46df479e;p=babeltrace.git diff --git a/src/plugins/ctf/lttng-live/lttng-viewer-abi.hpp b/src/plugins/ctf/lttng-live/lttng-viewer-abi.hpp index 0d1911ad..e4d480f6 100644 --- a/src/plugins/ctf/lttng-live/lttng-viewer-abi.hpp +++ b/src/plugins/ctf/lttng-live/lttng-viewer-abi.hpp @@ -6,11 +6,14 @@ * Copyright (C) 2013 David Goulet */ -#ifndef LTTNG_VIEWER_ABI_H -#define LTTNG_VIEWER_ABI_H +#ifndef BABELTRACE_PLUGINS_CTF_LTTNG_LIVE_LTTNG_VIEWER_ABI_HPP +#define BABELTRACE_PLUGINS_CTF_LTTNG_LIVE_LTTNG_VIEWER_ABI_HPP #include -#include "compat/limits.h" + +#include "common/common.h" +#include "compat/limits.h" /* IWYU pragma: keep */ +#include "cpp-common/vendor/fmt/format.h" /* IWYU pragma: keep */ #define LTTNG_VIEWER_PATH_MAX 4096 #define LTTNG_VIEWER_NAME_MAX 255 @@ -38,6 +41,40 @@ enum lttng_viewer_command LTTNG_VIEWER_DETACH_SESSION = 9, }; +inline const char *format_as(const lttng_viewer_command cmd) noexcept +{ + switch (cmd) { + case LTTNG_VIEWER_CONNECT: + return "CONNECT"; + + case LTTNG_VIEWER_LIST_SESSIONS: + return "LIST_SESSIONS"; + + case LTTNG_VIEWER_ATTACH_SESSION: + return "ATTACH_SESSION"; + + case LTTNG_VIEWER_GET_NEXT_INDEX: + return "GET_NEXT_INDEX"; + + case LTTNG_VIEWER_GET_PACKET: + return "GET_PACKET"; + + case LTTNG_VIEWER_GET_METADATA: + return "GET_METADATA"; + + case LTTNG_VIEWER_GET_NEW_STREAMS: + return "GET_NEW_STREAMS"; + + case LTTNG_VIEWER_CREATE_SESSION: + return "CREATE_SESSION"; + + case LTTNG_VIEWER_DETACH_SESSION: + return "DETACH_SESSION"; + } + + bt_common_abort(); +} + enum lttng_viewer_attach_return_code { LTTNG_VIEWER_ATTACH_OK = 1, /* The attach command succeeded. */ @@ -65,6 +102,31 @@ enum lttng_viewer_next_index_return_code LTTNG_VIEWER_INDEX_EOF = 6, /* End of index file. */ }; +inline const char *format_as(const lttng_viewer_next_index_return_code code) noexcept +{ + switch (code) { + case LTTNG_VIEWER_INDEX_OK: + return "INDEX_OK"; + + case LTTNG_VIEWER_INDEX_RETRY: + return "INDEX_RETRY"; + + case LTTNG_VIEWER_INDEX_HUP: + return "INDEX_HUP"; + + case LTTNG_VIEWER_INDEX_ERR: + return "INDEX_ERR"; + + case LTTNG_VIEWER_INDEX_INACTIVE: + return "INDEX_INACTIVE"; + + case LTTNG_VIEWER_INDEX_EOF: + return "INDEX_EOF"; + } + + bt_common_abort(); +} + enum lttng_viewer_get_packet_return_code { LTTNG_VIEWER_GET_PACKET_OK = 1, @@ -73,6 +135,25 @@ enum lttng_viewer_get_packet_return_code LTTNG_VIEWER_GET_PACKET_EOF = 4, }; +inline const char *format_as(const lttng_viewer_get_packet_return_code code) noexcept +{ + switch (code) { + case LTTNG_VIEWER_GET_PACKET_OK: + return "GET_PACKET_OK"; + + case LTTNG_VIEWER_GET_PACKET_RETRY: + return "GET_PACKET_RETRY"; + + case LTTNG_VIEWER_GET_PACKET_ERR: + return "GET_PACKET_ERR"; + + case LTTNG_VIEWER_GET_PACKET_EOF: + return "GET_PACKET_EOF"; + } + + bt_common_abort(); +}; + enum lttng_viewer_get_metadata_return_code { LTTNG_VIEWER_METADATA_OK = 1, @@ -94,6 +175,19 @@ enum lttng_viewer_seek LTTNG_VIEWER_SEEK_LAST = 2, }; +inline const char *format_as(const lttng_viewer_seek seek) noexcept +{ + switch (seek) { + case LTTNG_VIEWER_SEEK_BEGINNING: + return "SEEK_BEGINNING"; + + case LTTNG_VIEWER_SEEK_LAST: + return "SEEK_LAST"; + } + + bt_common_abort(); +} + enum lttng_viewer_new_streams_return_code { LTTNG_VIEWER_NEW_STREAMS_OK = 1, /* If new streams are being sent. */ @@ -265,4 +359,4 @@ struct lttng_viewer_detach_session_response uint32_t status; } __attribute__((__packed__)); -#endif /* LTTNG_VIEWER_ABI_H */ +#endif /* BABELTRACE_PLUGINS_CTF_LTTNG_LIVE_LTTNG_VIEWER_ABI_HPP */