1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- /*
- * Copyright (c) 2006-2020, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2020-02-23 Jesven first version.
- */
- #ifndef LWP_PID_H__
- #define LWP_PID_H__
- #include "lwp.h"
- #ifdef __cplusplus
- extern "C" {
- #endif
- #define LWP_CREATE_FLAG_NONE 0x0000
- #define LWP_CREATE_FLAG_ALLOC_PID 0x0001 /* allocate pid on lwp object create */
- struct rt_lwp;
- struct lwp_avl_struct *lwp_get_pid_ary(void);
- /* create a lwp object */
- struct rt_lwp* lwp_create(rt_base_t flags);
- void lwp_free(struct rt_lwp* lwp);
- int lwp_ref_inc(struct rt_lwp *lwp);
- int lwp_ref_dec(struct rt_lwp *lwp);
- struct rt_lwp* lwp_from_pid(pid_t pid);
- pid_t lwp_to_pid(struct rt_lwp* lwp);
- pid_t lwp_name2pid(const char* name);
- char* lwp_pid2name(int32_t pid);
- int lwp_getpid(void);
- pid_t waitpid(pid_t pid, int *status, int options);
- long list_process(void);
- void lwp_user_object_lock_init(struct rt_lwp *lwp);
- void lwp_user_object_lock_destroy(struct rt_lwp *lwp);
- void lwp_user_object_lock(struct rt_lwp *lwp);
- void lwp_user_object_unlock(struct rt_lwp *lwp);
- int lwp_user_object_add(struct rt_lwp *lwp, rt_object_t object);
- rt_err_t lwp_user_object_delete(struct rt_lwp *lwp, rt_object_t object);
- void lwp_user_object_clear(struct rt_lwp *lwp);
- void lwp_user_object_dup(struct rt_lwp *dst_lwp, struct rt_lwp *src_lwp);
- #ifdef __cplusplus
- }
- #endif
- #endif
|