inc/c_util/channel_common.h (19 lines of code) (raw):

// Copyright (c) Microsoft. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. #ifndef CHANNEL_COMMON_H #define CHANNEL_COMMON_H #include "macro_utils/macro_utils.h" #include "c_pal/thandle.h" #include "c_util/rc_ptr.h" #include "c_util/rc_string.h" #define CHANNEL_RESULT_VALUES \ CHANNEL_RESULT_OK, \ CHANNEL_RESULT_INVALID_ARGS, \ CHANNEL_RESULT_ERROR MU_DEFINE_ENUM(CHANNEL_RESULT, CHANNEL_RESULT_VALUES); #define CHANNEL_CALLBACK_RESULT_VALUES \ CHANNEL_CALLBACK_RESULT_OK, \ CHANNEL_CALLBACK_RESULT_CANCELLED, \ CHANNEL_CALLBACK_RESULT_ABANDONED MU_DEFINE_ENUM(CHANNEL_CALLBACK_RESULT, CHANNEL_CALLBACK_RESULT_VALUES); typedef void(*ON_DATA_AVAILABLE_CB)(void* pull_context, CHANNEL_CALLBACK_RESULT result, THANDLE(RC_STRING) pull_correlation_id, THANDLE(RC_STRING) push_correlation_id, THANDLE(RC_PTR) data); typedef void(*ON_DATA_CONSUMED_CB)(void* push_context, CHANNEL_CALLBACK_RESULT result, THANDLE(RC_STRING) pull_correlation_id, THANDLE(RC_STRING) push_correlation_id); #endif /* CHANNEL_COMMON_H */