XWOS API
4.0
XWOS C/C++ API参考手册
|
结构体 | |
struct | xwos_object |
XWOS对象 更多... | |
struct | xwobj_d |
XWOS对象描述符 更多... | |
宏定义 | |
#define | xwos_cast(type, obj) ((type)(obj)) |
将对象强制类型转换 | |
#define | XWOS_OBJ_MAGIC 0x58574F53U |
#define | XWOBJ_NILD ((xwobj_d){NULL, 0,}) |
空的XWOS对象对象描述符 | |
类型定义 | |
typedef xwer_t(* | xwobj_gc_f) (struct xwos_object *) |
垃圾回收函数指针类型 | |
函数 | |
void | xwos_objtik_init (void) |
初始化对象标签分配器 | |
void | xwos_object_construct (struct xwos_object *obj) |
XWOS对象的构造函数 | |
void | xwos_object_destruct (struct xwos_object *obj) |
XWOS对象的析构函数 | |
xwer_t | xwos_object_activate (struct xwos_object *obj, xwobj_gc_f gcfunc) |
激活一个XWOS对象(将其引用计数初始化位1) | |
void | xwos_object_setgc (struct xwos_object *obj, xwobj_gc_f gcfunc) |
设置XWOS对象的垃圾回收函数 | |
xwer_t | xwos_object_acquire (struct xwos_object *obj, xwsq_t tik) |
检查对象的标签并增加引用计数 | |
xwer_t | xwos_object_release (struct xwos_object *obj, xwsq_t tik) |
检查对象的标签并减少引用计数 | |
xwer_t | xwos_object_grab (struct xwos_object *obj) |
增加对象的引用计数 | |
xwer_t | xwos_object_put (struct xwos_object *obj) |
减少对象的引用计数 | |
xwer_t | xwos_object_rawput (struct xwos_object *obj) |
减少对象的引用计数,不触发垃圾回收函数 | |
xwsq_t | xwos_object_get_refcnt (struct xwos_object *obj) |
获取XWOS对象的引用计数 | |
#define xwos_cast | ( | type, | |
obj | |||
) | ((type)(obj)) |
typedef xwer_t(* xwobj_gc_f) (struct xwos_object *) |
xwer_t xwos_object_acquire | ( | struct xwos_object * | obj, |
xwsq_t | tik | ||
) |
检查对象的标签并增加引用计数
[in] | obj | 对象指针 |
[in] | tik | 标签 |
XWOK | 没有错误 |
-ENILOBJD | 空的对象描述符 |
-EOBJDEAD | 对象无效 |
-EACCES | 对象标签检查失败 |
<Nil object descriptor
xwer_t xwos_object_activate | ( | struct xwos_object * | obj, |
xwobj_gc_f | gcfunc | ||
) |
激活一个XWOS对象(将其引用计数初始化位1)
[in] | obj | 对象指针 |
[in] | gcfunc | 垃圾回收函数:当对象应用计数为0,调用此函数回收资源 |
XWOK | 没有错误 |
-EOBJACTIVE | 对象已激活 |
<No error
< 所有XWOS的对象都有相同的幻数
<Object active
void xwos_object_construct | ( | struct xwos_object * | obj | ) |
void xwos_object_destruct | ( | struct xwos_object * | obj | ) |
xwsq_t xwos_object_get_refcnt | ( | struct xwos_object * | obj | ) |
获取XWOS对象的引用计数
[in] | obj | 对象指针 |
xwer_t xwos_object_grab | ( | struct xwos_object * | obj | ) |
增加对象的引用计数
[in] | obj | 对象指针 |
XWOK | 没有错误 |
-EOBJDEAD | 对象已销毁 |
<Object dead
xwer_t xwos_object_put | ( | struct xwos_object * | obj | ) |
减少对象的引用计数
[in] | obj | 对象指针 |
XWOK | 没有错误 |
-EOBJDEAD | 对象已销毁 |
<No error
<Object dead
xwer_t xwos_object_rawput | ( | struct xwos_object * | obj | ) |
xwer_t xwos_object_release | ( | struct xwos_object * | obj, |
xwsq_t | tik | ||
) |
检查对象的标签并减少引用计数
[in] | obj | 对象指针 |
[in] | tik | 标签 |
XWOK | 没有错误 |
-ENILOBJD | 空的对象描述符 |
-EOBJDEAD | 对象无效 |
-EACCES | 对象标签检查失败 |
<Nil object descriptor
<No error
void xwos_object_setgc | ( | struct xwos_object * | obj, |
xwobj_gc_f | gcfunc | ||
) |
设置XWOS对象的垃圾回收函数
[in] | obj | 对象指针 |
[in] | gcfunc | 垃圾回收函数:当对象应用计数为0,调用此函数回收资源 |
< 所有XWOS的对象都有相同的幻数
void xwos_objtik_init | ( | void | ) |
初始化对象标签分配器