ecf2d82159
* Synchronize the code of the rt mart branch to the master branch. * TTY device * Add lwP code from rt-smart * Add vnode in DFS, but DFS will be re-write for rt-smart * There are three libcpu for rt-smart: * arm/cortex-a, arm/aarch64 * riscv64 Co-authored-by: Rbb666 <zhangbingru@rt-thread.com> Co-authored-by: zhkag <zhkag@foxmail.com>
65 lines
1.9 KiB
C
65 lines
1.9 KiB
C
/*
|
|
* Copyright (c) 2006-2020, RT-Thread Development Team
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*
|
|
* Change Logs:
|
|
* Date Author Notes
|
|
* 2019-10-12 Jesven first version
|
|
*/
|
|
|
|
#ifndef LWP_IPC_H__
|
|
#define LWP_IPC_H__
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
enum
|
|
{
|
|
RT_CHANNEL_RAW,
|
|
RT_CHANNEL_BUFFER
|
|
};
|
|
|
|
struct rt_channel_msg
|
|
{
|
|
void *sender;
|
|
int type;
|
|
union
|
|
{
|
|
struct chbuf
|
|
{
|
|
void *buf;
|
|
size_t length;
|
|
} b;
|
|
void* d;
|
|
} u;
|
|
};
|
|
typedef struct rt_channel_msg *rt_channel_msg_t;
|
|
|
|
int rt_channel_open(const char *name, int flags);
|
|
rt_err_t rt_channel_close(int fd);
|
|
rt_err_t rt_channel_send(int fd, rt_channel_msg_t data);
|
|
rt_err_t rt_channel_send_recv(int fd, rt_channel_msg_t data, rt_channel_msg_t data_ret);
|
|
rt_err_t rt_channel_send_recv_timeout(int fd, rt_channel_msg_t data, rt_channel_msg_t data_ret, rt_int32_t time);
|
|
rt_err_t rt_channel_reply(int fd, rt_channel_msg_t data);
|
|
rt_err_t rt_channel_recv(int fd, rt_channel_msg_t data);
|
|
rt_err_t rt_channel_recv_timeout(int fd, rt_channel_msg_t data, rt_int32_t time);
|
|
rt_err_t rt_channel_peek(int fd, rt_channel_msg_t data);
|
|
|
|
rt_channel_t rt_raw_channel_open(const char *name, int flags);
|
|
rt_err_t rt_raw_channel_close(rt_channel_t ch);
|
|
rt_err_t rt_raw_channel_send(rt_channel_t ch, rt_channel_msg_t data);
|
|
rt_err_t rt_raw_channel_send_recv(rt_channel_t ch, rt_channel_msg_t data, rt_channel_msg_t data_ret);
|
|
rt_err_t rt_raw_channel_send_recv_timeout(rt_channel_t ch, rt_channel_msg_t data, rt_channel_msg_t data_ret, rt_int32_t time);
|
|
rt_err_t rt_raw_channel_reply(rt_channel_t ch, rt_channel_msg_t data);
|
|
rt_err_t rt_raw_channel_recv(rt_channel_t ch, rt_channel_msg_t data);
|
|
rt_err_t rt_raw_channel_recv_timeout(rt_channel_t ch, rt_channel_msg_t data, rt_int32_t time);
|
|
rt_err_t rt_raw_channel_peek(rt_channel_t ch, rt_channel_msg_t data);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|