summaryrefslogtreecommitdiff
path: root/main/channel_internal_api.c
diff options
context:
space:
mode:
Diffstat (limited to 'main/channel_internal_api.c')
-rw-r--r--main/channel_internal_api.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/main/channel_internal_api.c b/main/channel_internal_api.c
index d94b267e6..3c156d4fa 100644
--- a/main/channel_internal_api.c
+++ b/main/channel_internal_api.c
@@ -1661,3 +1661,25 @@ int ast_channel_internal_setup_topics(struct ast_channel *chan)
return 0;
}
+
+AST_THREADSTORAGE(channel_errno);
+
+void ast_channel_internal_errno_set(enum ast_channel_error error)
+{
+ enum ast_channel_error *error_code = ast_threadstorage_get(&channel_errno, sizeof(*error_code));
+ if (!error_code) {
+ return;
+ }
+
+ *error_code = error;
+}
+
+enum ast_channel_error ast_channel_internal_errno(void)
+{
+ enum ast_channel_error *error_code = ast_threadstorage_get(&channel_errno, sizeof(*error_code));
+ if (!error_code) {
+ return AST_CHANNEL_ERROR_UNKNOWN;
+ }
+
+ return *error_code;
+}