Lines Matching full:object

13  * @defgroup obj_core_apis Object Core APIs
19 * @brief Convert kernel object pointer into its object core pointer
24 * @brief Generate new object type IDs based on a 4 letter string
28 /* Known kernel object types */
30 /** Condition variable object type */
32 /** CPU object type */
34 /** Event object type */
36 /** FIFO object type */
38 /** Kernel object type */
40 /** LIFO object type */
42 /** Memory block object type */
44 /** Mailbox object type */
46 /** Memory slab object type */
48 /** Message queue object type */
50 /** Mutex object type */
52 /** Pipe object type */
54 /** Semaphore object type */
56 /** Stack object type */
58 /** Thread object type */
60 /** Timer object type */
87 * object types and the object cores linked to them.
91 /** Object core statistics descriptor */
100 /** Function pointer to reset object's statistics */
102 /** Function pointer to disable object's statistics gathering */
104 /** Function pointer to enable object's statistics gathering */
108 /** Object type structure */
110 sys_snode_t node; /**< Node within list of object types */
111 sys_slist_t list; /**< List of objects of this object type */
115 /** Pointer to object core statistics descriptor */
120 /** Object core structure */
122 sys_snode_t node; /**< Object node within object type's list */
123 struct k_obj_type *type; /**< Object type to which object belongs */
125 void *stats; /**< Pointer to kernel object's stats */
130 * @brief Initialize a specific object type
132 * Initializes a specific object type and links it into the object core
135 * @param type Pointer to the object type to initialize
136 * @param id A means to identify the object type
137 * @param off Offset of object core within the structure
139 * @retval Pointer to initialized object type
145 * @brief Find a specific object type by ID
147 * Given an object type ID, this function searches for the object type that
150 * @param type_id Type ID associated with object type
152 * @retval NULL if object type not found
153 * @retval Pointer to object type if found
158 * @brief Walk the object type's list of object cores
160 * This function takes a global spinlock and walks the object type's list
161 * of object cores and invokes the callback function on each element while
168 * @param type Pointer to the object type
169 * @param func Callback to invoke on each object core of the object type
179 * @brief Walk the object type's list of object cores
190 * @param type Pointer to the object type
191 * @param func Callback to invoke on each object core of the object type
201 * @brief Initialize the core of the kernel object
203 * Initializing the kernel object core associates it with the specified
204 * kernel object type.
206 * @param obj_core Pointer to the kernel object to initialize
207 * @param type Pointer to the kernel object type
212 * @brief Link the kernel object to the kernel object type list
214 * A kernel object can be optionally linked into the kernel object type's
215 * list of objects. A kernel object must have been initialized before it
219 * @param obj_core Pointer to the kernel object
224 * @brief Automatically link the kernel object after initializing it
226 * A useful wrapper to both initialize the core of the kernel object and
227 * automatically link it into the kernel object type's list of objects.
229 * @param obj_core Pointer to the kernel object to initialize
230 * @param type Pointer to the kernel object type
236 * @brief Unlink the kernel object from the kernel object type list
238 * Kernel objects can be unlinked from their respective kernel object type
239 * lists. If on a list, it must be done at the end of the kernel object's life
242 * @param obj_core Pointer to the kernel object
249 * @defgroup obj_core_stats_apis Object Core Statistics APIs
256 * @brief Initialize the object type's stats descriptor
258 * This routine initializes the object type's stats descriptor.
260 * @param type Pointer to the object type
261 * @param stats_desc Pointer to the object core statistics descriptor
270 * @brief Initialize the object core for statistics
272 * This routine initializes the object core to operate within the object core
275 * @param obj_core Pointer to the object core
276 * @param stats Pointer to the object's raw statistics
286 * @brief Register kernel object for gathering statistics
288 * Before a kernel object can gather statistics, it must be registered to do
289 * so. Registering will also automatically enable the kernel object to gather
292 * @param obj_core Pointer to kernel object core
303 * @brief Deregister kernel object from gathering statistics
305 * Deregistering a kernel object core from gathering statistics prevents it
307 * of a kernel object's life cycle.
309 * @param obj_core Pointer to kernel object core
317 * @brief Retrieve the raw statistics associated with the kernel object
319 * This function copies the raw statistics associated with the kernel object
322 * object type's statistics descriptor.
324 * @param obj_core Pointer to kernel object core
335 * @brief Retrieve the statistics associated with the kernel object
337 * This function copies the statistics associated with the kernel object core
340 * the buffer (@a stats_len) must match the size specified by the kernel object
343 * @param obj_core Pointer to kernel object core
354 * @brief Reset the stats associated with the kernel object
356 * This function resets the statistics associated with the kernel object core
359 * @param obj_core Pointer to kernel object core
367 * @brief Stop gathering the stats associated with the kernel object
370 * the kernel object core specified by @a obj_core. The gathering of statistics
373 * @param obj_core Pointer to kernel object core
381 * @brief Reset the stats associated with the kernel object
384 * object core specified by @a obj_core.
386 * @param obj_core Pointer to kernel object core