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 */