kernel object(rtthread)
/* date type defination */
typedef signed char rt_int8_t;
typedef signed short rt_int16_t;
typedef signed long rt_int32_t;
typedef unsigned char rt_uint8_t;
typedef unsigned short rt_uint16_t;
typedef unsigned long rt_uint32_t;
typedef int rt_bool_t;
/* 32bit CPU */
typedef long rt_base_t;
typedef unsigned long rt_ubase_t;
struct rt_filesystem_interface
{
/* file api*/
int(*open)(const char *file, int flags, int mode);
int(*close)(int d);
};
#define DFS_PATH_MAX 255
/* file descriptor */
#define RT_NULL ((void *)0)
struct rt_list_node
{
struct rt_list_node *next; /* point to next node. */
struct rt_list_node *prev; /* point to prev node. */
};
typedef struct rt_list_node rt_list_t; /* Type for lists.*/
/**
* @addtogroup KernelObject
*/
/*@{*/
/*
* Base structure of Kernel object
*/
/* RT_NAME_MAX*/
#define RT_NAME_MAX 20
struct rt_object
{
/* name of kernel object */
char name[RT_NAME_MAX];
/* type of kernel object */
rt_uint8_t type;
/* flag of kernel object */
rt_uint8_t flag;
/* list pointer of kernel object */
rt_list_t list;
};
typedef struct rt_object* rt_object_t;
内核对象
rt_object 32字节
双链表-->