summaryrefslogtreecommitdiff
path: root/src/lib/eina
diff options
context:
space:
mode:
authorBryce Harrington <bryce@osg.samsung.com>2018-08-15 09:54:17 +0100
committerAlastair Poole <netstar@gmail.com>2018-08-15 09:54:17 +0100
commit1320ba435e6fcd3ed868d0798cc4e9a74d4ffd59 (patch)
treec4275933610f4c469e32a3a402a5316dafcc1260 /src/lib/eina
parente708c0ae33908db19274902efc977c5e702a311e (diff)
eina: Add doxygen in/out tags for safepointer, safety_checks, slice, etc.
Reviewers: netstar Reviewed By: netstar Subscribers: netstar, cedric, #reviewers, #committers, zmike Tags: #efl Differential Revision: https://phab.enlightenment.org/D6833
Diffstat (limited to 'src/lib/eina')
-rw-r--r--src/lib/eina/eina_safepointer.h6
-rw-r--r--src/lib/eina/eina_safety_checks.h38
-rw-r--r--src/lib/eina/eina_simple_xml_parser.h157
-rw-r--r--src/lib/eina/eina_slice.h97
4 files changed, 159 insertions, 139 deletions
diff --git a/src/lib/eina/eina_safepointer.h b/src/lib/eina/eina_safepointer.h
index d6e5ce52b5..8120e48bfa 100644
--- a/src/lib/eina/eina_safepointer.h
+++ b/src/lib/eina/eina_safepointer.h
@@ -65,7 +65,7 @@ typedef struct _Eina_Safepointer Eina_Safepointer;
65/** 65/**
66 * @brief Register a pointer and get an Eina_Safepointer that maps to it. 66 * @brief Register a pointer and get an Eina_Safepointer that maps to it.
67 * 67 *
68 * @param target The pointer to register. 68 * @param[in] target The pointer to register.
69 * @return A valid pointer that is an index to the mapped pointer. 69 * @return A valid pointer that is an index to the mapped pointer.
70 * 70 *
71 * @note It will return @c NULL on error or if @p target is @c NULL. 71 * @note It will return @c NULL on error or if @p target is @c NULL.
@@ -82,7 +82,7 @@ EAPI const Eina_Safepointer *eina_safepointer_register(const void *target);
82/** 82/**
83 * @brief Unregister an Eina_Safepointer and the pointer that maps to it. 83 * @brief Unregister an Eina_Safepointer and the pointer that maps to it.
84 * 84 *
85 * @param safe The index to unregister from the mapping. 85 * @param[in] safe The index to unregister from the mapping.
86 * 86 *
87 * @note This function will ignore the lower 2 bits of the given pointer. 87 * @note This function will ignore the lower 2 bits of the given pointer.
88 * 88 *
@@ -93,7 +93,7 @@ EAPI void eina_safepointer_unregister(const Eina_Safepointer *safe);
93/** 93/**
94 * @brief Get the associated pointer from an Eina_Safepointer mapping. 94 * @brief Get the associated pointer from an Eina_Safepointer mapping.
95 * 95 *
96 * @param safe The Eina_Safepointer index to lookup at. 96 * @param[in] safe The Eina_Safepointer index to lookup at.
97 * @return The pointer registered with that index or @c NULL in any other case. 97 * @return The pointer registered with that index or @c NULL in any other case.
98 * 98 *
99 * @note It is always safe to ask for a pointer for any value of the mapping. 99 * @note It is always safe to ask for a pointer for any value of the mapping.
diff --git a/src/lib/eina/eina_safety_checks.h b/src/lib/eina/eina_safety_checks.h
index 52d58f7231..cf29f27a21 100644
--- a/src/lib/eina/eina_safety_checks.h
+++ b/src/lib/eina/eina_safety_checks.h
@@ -220,69 +220,77 @@ EAPI void _eina_safety_error(const char *file, const char *func, int line, const
220/** 220/**
221 * @def EINA_SAFETY_ON_NULL_RETURN 221 * @def EINA_SAFETY_ON_NULL_RETURN
222 * @brief The macro doesn't do anything unless EINA_SAFETY_CHECKS is defined. 222 * @brief The macro doesn't do anything unless EINA_SAFETY_CHECKS is defined.
223 * @param exp The expression to be evaluated. 223 * @param[in] exp The expression to be evaluated.
224 */ 224 */
225#define EINA_SAFETY_ON_NULL_RETURN(exp) \ 225#define EINA_SAFETY_ON_NULL_RETURN(exp) \
226 do { (void)(!(exp)); } while (0) 226 do { (void)(!(exp)); } while (0)
227
227/** 228/**
228 * @def EINA_SAFETY_ON_NULL_RETURN_VAL 229 * @def EINA_SAFETY_ON_NULL_RETURN_VAL
229 * @brief The macro doesn't do anything unless EINA_SAFETY_CHECKS is defined. 230 * @brief The macro doesn't do anything unless EINA_SAFETY_CHECKS is defined.
230 * @param exp The expression to be evaluated. 231 * @param[in] exp The expression to be evaluated.
231 * @param val The value to be returned. 232 * @param[in] val The value to be returned.
232 */ 233 */
233#define EINA_SAFETY_ON_NULL_RETURN_VAL(exp, val) \ 234#define EINA_SAFETY_ON_NULL_RETURN_VAL(exp, val) \
234 do { if (0 && !(exp)) { (void)val; } } while (0) 235 do { if (0 && !(exp)) { (void)val; } } while (0)
236
235/** 237/**
236 * @def EINA_SAFETY_ON_NULL_GOTO 238 * @def EINA_SAFETY_ON_NULL_GOTO
237 * @brief The macro doesn't do anything unless EINA_SAFETY_CHECKS is defined. 239 * @brief The macro doesn't do anything unless EINA_SAFETY_CHECKS is defined.
238 * @param exp The expression to be evaluated. 240 * @param[in] exp The expression to be evaluated.
239 * @param label The label to jump to. 241 * @param[in] label The label to jump to.
240 */ 242 */
241#define EINA_SAFETY_ON_NULL_GOTO(exp, label) \ 243#define EINA_SAFETY_ON_NULL_GOTO(exp, label) \
242 do { if (0 && (exp) == NULL) { goto label; } } while (0) 244 do { if (0 && (exp) == NULL) { goto label; } } while (0)
245
243/** 246/**
244 * @def EINA_SAFETY_ON_TRUE_RETURN 247 * @def EINA_SAFETY_ON_TRUE_RETURN
245 * @brief The macro doesn't do anything unless EINA_SAFETY_CHECKS is defined. 248 * @brief The macro doesn't do anything unless EINA_SAFETY_CHECKS is defined.
246 * @param exp The expression to be evaluated. 249 * @param[in] exp The expression to be evaluated.
247 */ 250 */
248#define EINA_SAFETY_ON_TRUE_RETURN(exp) \ 251#define EINA_SAFETY_ON_TRUE_RETURN(exp) \
249 do { (void)(exp); } while (0) 252 do { (void)(exp); } while (0)
253
250/** 254/**
251 * @def EINA_SAFETY_ON_TRUE_RETURN_VAL 255 * @def EINA_SAFETY_ON_TRUE_RETURN_VAL
252 * @brief The macro doesn't do anything unless EINA_SAFETY_CHECKS is defined. 256 * @brief The macro doesn't do anything unless EINA_SAFETY_CHECKS is defined.
253 * @param exp The expression to be evaluated. 257 * @param[in] exp The expression to be evaluated.
254 * @param val The value to be returned. 258 * @param[in] val The value to be returned.
255 */ 259 */
256#define EINA_SAFETY_ON_TRUE_RETURN_VAL(exp, val) \ 260#define EINA_SAFETY_ON_TRUE_RETURN_VAL(exp, val) \
257 do { if (0 && (exp)) { (void)val; } } while (0) 261 do { if (0 && (exp)) { (void)val; } } while (0)
262
258/** 263/**
259 * @def EINA_SAFETY_ON_TRUE_GOTO 264 * @def EINA_SAFETY_ON_TRUE_GOTO
260 * @brief The macro doesn't do anything unless EINA_SAFETY_CHECKS is defined. 265 * @brief The macro doesn't do anything unless EINA_SAFETY_CHECKS is defined.
261 * @param exp The expression to be evaluated. 266 * @param[in] exp The expression to be evaluated.
262 * @param label The label to jump to. 267 * @param[in] label The label to jump to.
263 */ 268 */
264#define EINA_SAFETY_ON_TRUE_GOTO(exp, label) \ 269#define EINA_SAFETY_ON_TRUE_GOTO(exp, label) \
265 do { if (0 && (exp)) { goto label; } } while (0) 270 do { if (0 && (exp)) { goto label; } } while (0)
271
266/** 272/**
267 * @def EINA_SAFETY_ON_FALSE_RETURN 273 * @def EINA_SAFETY_ON_FALSE_RETURN
268 * @brief The macro doesn't do anything unless EINA_SAFETY_CHECKS is defined. 274 * @brief The macro doesn't do anything unless EINA_SAFETY_CHECKS is defined.
269 * @param exp The expression to be evaluated. 275 * @param[in] exp The expression to be evaluated.
270 */ 276 */
271#define EINA_SAFETY_ON_FALSE_RETURN(exp) \ 277#define EINA_SAFETY_ON_FALSE_RETURN(exp) \
272 do { (void)(!(exp)); } while (0) 278 do { (void)(!(exp)); } while (0)
279
273/** 280/**
274 * @def EINA_SAFETY_ON_FALSE_RETURN_VAL 281 * @def EINA_SAFETY_ON_FALSE_RETURN_VAL
275 * @brief The macro doesn't do anything unless EINA_SAFETY_CHECKS is defined. 282 * @brief The macro doesn't do anything unless EINA_SAFETY_CHECKS is defined.
276 * @param exp The expression to be evaluated. 283 * @param[in] exp The expression to be evaluated.
277 * @param val The value to be returned. 284 * @param[in] val The value to be returned.
278 */ 285 */
279#define EINA_SAFETY_ON_FALSE_RETURN_VAL(exp, val) \ 286#define EINA_SAFETY_ON_FALSE_RETURN_VAL(exp, val) \
280 do { if (0 && !(exp)) { (void)val; } } while (0) 287 do { if (0 && !(exp)) { (void)val; } } while (0)
288
281/** 289/**
282 * @def EINA_SAFETY_ON_FALSE_GOTO 290 * @def EINA_SAFETY_ON_FALSE_GOTO
283 * @brief The macro doesn't do anything unless EINA_SAFETY_CHECKS is defined. 291 * @brief The macro doesn't do anything unless EINA_SAFETY_CHECKS is defined.
284 * @param exp The expression to be evaluated. 292 * @param[in] exp The expression to be evaluated.
285 * @param label The label to jump to. 293 * @param[in] label The label to jump to.
286 */ 294 */
287#define EINA_SAFETY_ON_FALSE_GOTO(exp, label) \ 295#define EINA_SAFETY_ON_FALSE_GOTO(exp, label) \
288 do { if (0 && !(exp)) { goto label; } } while (0) 296 do { if (0 && !(exp)) { goto label; } } while (0)
diff --git a/src/lib/eina/eina_simple_xml_parser.h b/src/lib/eina/eina_simple_xml_parser.h
index a31a14ea96..19c0bca44f 100644
--- a/src/lib/eina/eina_simple_xml_parser.h
+++ b/src/lib/eina/eina_simple_xml_parser.h
@@ -221,23 +221,22 @@ typedef Eina_Bool (*Eina_Simple_XML_Attribute_Cb)(void *data, const char *key, c
221/** 221/**
222 * @brief Parses a section of XML string text 222 * @brief Parses a section of XML string text
223 * 223 *
224 * @param buf The input string. May not contain \0 terminator. 224 * @param[in] buf The input string. May not contain \0 terminator.
225 * @param buflen The input string size. 225 * @param[in] buflen The input string size.
226 * @param strip Whenever this parser should strip leading and trailing 226 * @param[in] strip Whenever this parser should strip leading and trailing
227 * whitespace. These whitespace will still be issued, but as type 227 * whitespace. These whitespace will still be issued, but as type
228 * #EINA_SIMPLE_XML_IGNORED. 228 * #EINA_SIMPLE_XML_IGNORED.
229 * @param func What to call back while parse to do some action. The 229 * @param[in] func What to call back while parse to do some action. The
230 * first parameter is the given user @a data, the second is the 230 * first parameter is the given user @a data, the second is the
231 * token type, the third is the pointer to content start (it's 231 * token type, the third is the pointer to content start (it's
232 * not a NULL terminated string!), the fourth is where this 232 * not a NULL terminated string!), the fourth is where this
233 * content is located inside @a buf (does not include tag 233 * content is located inside @a buf (does not include tag
234 * start, for instance "<!DOCTYPE value>" the offset points at 234 * start, for instance "<!DOCTYPE value>" the offset points at
235 * "value"), the fifth is the size of the content. Whenever this 235 * "value"), the fifth is the size of the content. Whenever this
236 * function return #EINA_FALSE the parser will abort. 236 * function return #EINA_FALSE the parser will abort.
237 * @param data What to give as context to @a func. 237 * @param[in] data What to give as context to @a func.
238 *
239 * @return #EINA_TRUE on success, or #EINA_FALSE if it was aborted by user or 238 * @return #EINA_TRUE on success, or #EINA_FALSE if it was aborted by user or
240 * parsing error. 239 * parsing error.
241 */ 240 */
242EAPI Eina_Bool eina_simple_xml_parse(const char *buf, unsigned buflen, 241EAPI Eina_Bool eina_simple_xml_parse(const char *buf, unsigned buflen,
243 Eina_Bool strip, 242 Eina_Bool strip,
@@ -247,8 +246,8 @@ EAPI Eina_Bool eina_simple_xml_parse(const char *buf, unsigned buflen,
247/** 246/**
248 * @brief Given the contents of a tag, find where the attributes start. 247 * @brief Given the contents of a tag, find where the attributes start.
249 * 248 *
250 * @param buf The input string. May not contain \0 terminator. 249 * @param[in] buf The input string. May not contain \0 terminator.
251 * @param buflen The input string size. 250 * @param[in] buflen The input string size.
252 * @return Pointer to the start of attributes, it can be used 251 * @return Pointer to the start of attributes, it can be used
253 * to feed eina_simple_xml_attributes_parse(). @c NULL is returned 252 * to feed eina_simple_xml_attributes_parse(). @c NULL is returned
254 * if no attributes were found. 253 * if no attributes were found.
@@ -262,14 +261,14 @@ EAPI const char * eina_simple_xml_tag_attributes_find(const char *buf, unsigned
262/** 261/**
263 * @brief Given a buffer with xml attributes, parse them to key=value pairs. 262 * @brief Given a buffer with xml attributes, parse them to key=value pairs.
264 * 263 *
265 * @param buf The input string. May not contain \0 terminator. 264 * @param[in] buf The input string. May not contain \0 terminator.
266 * @param buflen The input string size. 265 * @param[in] buflen The input string size.
267 * @param func What to call back while parse to do some action. The 266 * @param[in] func What to call back while parse to do some action. The
268 * first parameter is the given user @a data, the second is the 267 * first parameter is the given user @a data, the second is the
269 * key (null-terminated) and the last is the value (null 268 * key (null-terminated) and the last is the value (null
270 * terminated). These strings should not be modified and 269 * terminated). These strings should not be modified and
271 * reference is just valid until the function return. 270 * reference is just valid until the function return.
272 * @param data Data to pass to the callback function. 271 * @param[in] data Data to pass to the callback function.
273 * 272 *
274 * @return #EINA_TRUE on success, or #EINA_FALSE if it was aborted by user or 273 * @return #EINA_TRUE on success, or #EINA_FALSE if it was aborted by user or
275 * parsing error. 274 * parsing error.
@@ -280,13 +279,13 @@ EAPI Eina_Bool eina_simple_xml_attributes_parse(const char *buf, unsigned buflen
280/** 279/**
281 * @brief Given a buffer with the xml value of an attributes, parse them to key:value pairs. 280 * @brief Given a buffer with the xml value of an attributes, parse them to key:value pairs.
282 * 281 *
283 * @param buf the input string. Need to contain \0 terminator. 282 * @param[in] buf the input string. Need to contain \0 terminator.
284 * @param func what to call back while parse to do some action. The 283 * @param[in] func what to call back while parse to do some action. The
285 * first parameter is the given user @a data, the second is the 284 * first parameter is the given user @a data, the second is the
286 * key (null-terminated) and the last is the value (null 285 * key (null-terminated) and the last is the value (null
287 * terminated). These strings should not be modified and 286 * terminated). These strings should not be modified and
288 * reference is just valid until the function return. 287 * reference is just valid until the function return.
289 * @param data data to pass to the callback function. 288 * @param[in] data data to pass to the callback function.
290 * 289 *
291 * @return #EINA_TRUE on success or #EINA_FALSE if it was aborted by user or 290 * @return #EINA_TRUE on success or #EINA_FALSE if it was aborted by user or
292 * parsing error. 291 * parsing error.
@@ -299,10 +298,11 @@ eina_simple_xml_attribute_w3c_parse(const char *buf, Eina_Simple_XML_Attribute_C
299/** 298/**
300 * @brief Creates (and appends) new attribute to tag. 299 * @brief Creates (and appends) new attribute to tag.
301 * 300 *
302 * @param parent If provided, will be set in the resulting structure 301 * @param[in,out] parent If provided, will be set in the resulting
303 * as well as the attribute will be appended to attributes list. 302 * structure as well as the attribute will be appended to
304 * @param key Null-terminated string. Must not be @c NULL. 303 * attributes list.
305 * @param value Null-terminated string. If @c NULL, the empty string will be used. 304 * @param[in] key Null-terminated string. Must not be @c NULL.
305 * @param[in] value Null-terminated string. If @c NULL, the empty string will be used.
306 * 306 *
307 * @return Newly allocated memory or @c NULL on error. This memory should be 307 * @return Newly allocated memory or @c NULL on error. This memory should be
308 * released with eina_simple_xml_attribute_free() or indirectly 308 * released with eina_simple_xml_attribute_free() or indirectly
@@ -313,17 +313,16 @@ EAPI Eina_Simple_XML_Attribute * eina_simple_xml_attribute_new(Eina_Simple_XML_N
313/** 313/**
314 * @brief Removes attribute from parent and deletes it. 314 * @brief Removes attribute from parent and deletes it.
315 * 315 *
316 * @param attr attribute to release memory. 316 * @param[in] attr attribute to release memory.
317 */ 317 */
318EAPI void eina_simple_xml_attribute_free(Eina_Simple_XML_Attribute *attr); 318EAPI void eina_simple_xml_attribute_free(Eina_Simple_XML_Attribute *attr);
319 319
320
321/** 320/**
322 * @brief Creates new tag. If parent is provided, it is automatically appended. 321 * @brief Creates new tag. If parent is provided, it is automatically appended.
323 * 322 *
324 * @param parent If provided, will be set in the resulting structure 323 * @param[in] parent If provided, will be set in the resulting structure
325 * as well as the tag will be appended to children list. 324 * as well as the tag will be appended to children list.
326 * @param name Null-terminated string. Must not be @c NULL. 325 * @param[in] name Null-terminated string. Must not be @c NULL.
327 * 326 *
328 * @return Newly allocated memory or @c NULL on error. This memory should be 327 * @return Newly allocated memory or @c NULL on error. This memory should be
329 * released with eina_simple_xml_node_tag_free() or indirectly 328 * released with eina_simple_xml_node_tag_free() or indirectly
@@ -334,7 +333,7 @@ EAPI Eina_Simple_XML_Node_Tag * eina_simple_xml_node_tag_new(Eina_Simple_XML_Nod
334/** 333/**
335 * @brief Removes tag from parent and deletes it. 334 * @brief Removes tag from parent and deletes it.
336 * 335 *
337 * @param tag to release memory. 336 * @param[in] tag to release memory.
338 */ 337 */
339EAPI void eina_simple_xml_node_tag_free(Eina_Simple_XML_Node_Tag *tag); 338EAPI void eina_simple_xml_node_tag_free(Eina_Simple_XML_Node_Tag *tag);
340 339
@@ -342,10 +341,10 @@ EAPI void eina_simple_xml_node_tag_free(Eina_Simple_XML_Node_Tag *tag);
342/** 341/**
343 * @brief Creates new data. If parent is provided, it is automatically appended. 342 * @brief Creates new data. If parent is provided, it is automatically appended.
344 * 343 *
345 * @param parent If provided, will be set in the resulting structure 344 * @param[in,out] parent If provided, will be set in the resulting structure
346 * as well as the data will be appended to children list. 345 * as well as the data will be appended to children list.
347 * @param contents String to be used. Must not be @c NULL. 346 * @param[in] contents String to be used. Must not be @c NULL.
348 * @param length Size in bytes of @a contents. 347 * @param[in] length Size in bytes of @a contents.
349 * 348 *
350 * @return Newly allocated memory or NULL on error. This memory should be 349 * @return Newly allocated memory or NULL on error. This memory should be
351 * released with eina_simple_xml_node_data_free() or indirectly 350 * released with eina_simple_xml_node_data_free() or indirectly
@@ -356,7 +355,7 @@ EAPI Eina_Simple_XML_Node_Data * eina_simple_xml_node_data_new(Eina_Simple_XML_N
356/** 355/**
357 * @brief Removes data from parent and deletes it. 356 * @brief Removes data from parent and deletes it.
358 * 357 *
359 * @param node to release memory. 358 * @param[in] node to release memory.
360 */ 359 */
361EAPI void eina_simple_xml_node_data_free(Eina_Simple_XML_Node_Data *node); 360EAPI void eina_simple_xml_node_data_free(Eina_Simple_XML_Node_Data *node);
362 361
@@ -364,10 +363,10 @@ EAPI void eina_simple_xml_node_data_free(Eina_Simple_XML_Node_Data *node);
364/** 363/**
365 * @brief Creates new cdata. If parent is provided, it is automatically appended. 364 * @brief Creates new cdata. If parent is provided, it is automatically appended.
366 * 365 *
367 * @param parent If provided, will be set in the resulting structure 366 * @param[in,out] parent If provided, will be set in the resulting structure
368 * as well as the cdata will be appended to children list. 367 * as well as the cdata will be appended to children list.
369 * @param contents String to be used. Must not be @c NULL. 368 * @param[in] contents String to be used. Must not be @c NULL.
370 * @param length Size in bytes of @a content. 369 * @param[in] length Size in bytes of @a content.
371 * 370 *
372 * @return Newly allocated memory or @c NULL on error. This memory should be 371 * @return Newly allocated memory or @c NULL on error. This memory should be
373 * released with eina_simple_xml_node_cdata_free() or indirectly 372 * released with eina_simple_xml_node_cdata_free() or indirectly
@@ -378,7 +377,7 @@ EAPI Eina_Simple_XML_Node_CData * eina_simple_xml_node_cdata_new(Eina_Simple_XML
378/** 377/**
379 * @brief Removes cdata from parent and deletes it. 378 * @brief Removes cdata from parent and deletes it.
380 * 379 *
381 * @param node to release memory. 380 * @param[in] node to release memory.
382 */ 381 */
383EAPI void eina_simple_xml_node_cdata_free(Eina_Simple_XML_Node_Data *node); 382EAPI void eina_simple_xml_node_cdata_free(Eina_Simple_XML_Node_Data *node);
384 383
@@ -386,10 +385,10 @@ EAPI void eina_simple_xml_node_cdata_free(Eina_Simple_XML_Node_Data *node);
386/** 385/**
387 * @brief Creates new doctype child. If parent is provided, it is automatically appended. 386 * @brief Creates new doctype child. If parent is provided, it is automatically appended.
388 * 387 *
389 * @param parent If provided, will be set in the resulting structure 388 * @param[in,out] parent If provided, will be set in the resulting structure
390 * as well as the doctype child will be appended to children list. 389 * as well as the doctype child will be appended to children list.
391 * @param contents String to be used. Must not be @c NULL. 390 * @param[in] contents String to be used. Must not be @c NULL.
392 * @param length size in bytes of @a content. 391 * @param[in] length size in bytes of @a content.
393 * 392 *
394 * @return Newly allocated memory or @c NULL on error. This memory should be 393 * @return Newly allocated memory or @c NULL on error. This memory should be
395 * released with eina_simple_xml_node_doctype_child_free() or indirectly 394 * released with eina_simple_xml_node_doctype_child_free() or indirectly
@@ -402,7 +401,7 @@ EAPI Eina_Simple_XML_Node_Doctype_Child * eina_simple_xml_node_doctype_child_new
402/** 401/**
403 * @brief Removes doctype child from parent and deletes it. 402 * @brief Removes doctype child from parent and deletes it.
404 * 403 *
405 * @param node to release memory. 404 * @param[in] node to release memory.
406 * 405 *
407 * @since 1.8 406 * @since 1.8
408 */ 407 */
@@ -412,10 +411,10 @@ EAPI void eina_simple_xml_node_doctype_child_free(Eina_Simple_XML_Node_Data *nod
412/** 411/**
413 * @brief Creates new processing. If parent is provided, it is automatically appended. 412 * @brief Creates new processing. If parent is provided, it is automatically appended.
414 * 413 *
415 * @param parent If provided, will be set in the resulting structure 414 * @param[in,out] parent If provided, will be set in the resulting structure
416 * as well as the processing will be appended to children list. 415 * as well as the processing will be appended to children list.
417 * @param contents String to be used. Must not be @c NULL. 416 * @param[in] contents String to be used. Must not be @c NULL.
418 * @param length Size in bytes of @a contents. 417 * @param[in] length Size in bytes of @a contents.
419 * 418 *
420 * @return Newly allocated memory or @c NULL on error. This memory should be 419 * @return Newly allocated memory or @c NULL on error. This memory should be
421 * released with eina_simple_xml_node_processing_free() or indirectly 420 * released with eina_simple_xml_node_processing_free() or indirectly
@@ -426,7 +425,7 @@ EAPI Eina_Simple_XML_Node_Processing * eina_simple_xml_node_processing_new(Eina_
426/** 425/**
427 * @brief Removes processing from parent and deletes it. 426 * @brief Removes processing from parent and deletes it.
428 * 427 *
429 * @param node processing to release memory. 428 * @param[in] node processing to release memory.
430 */ 429 */
431EAPI void eina_simple_xml_node_processing_free(Eina_Simple_XML_Node_Data *node); 430EAPI void eina_simple_xml_node_processing_free(Eina_Simple_XML_Node_Data *node);
432 431
@@ -434,10 +433,10 @@ EAPI void eina_simple_xml_node_processing_free(Eina_Simple_XML_Node_Data *node);
434/** 433/**
435 * @brief Creates new doctype. If parent is provided, it is automatically appended. 434 * @brief Creates new doctype. If parent is provided, it is automatically appended.
436 * 435 *
437 * @param parent If provided, will be set in the resulting structure 436 * @param[in,out] parent If provided, will be set in the resulting structure
438 * as well as the doctype will be appended to children list. 437 * as well as the doctype will be appended to children list.
439 * @param contents String to be used. Must not be @c NULL. 438 * @param[in] contents String to be used. Must not be @c NULL.
440 * @param length Size in bytes of @a contents. 439 * @param[in] length Size in bytes of @a contents.
441 * 440 *
442 * @return Newly allocated memory or @c NULL on error. This memory should be 441 * @return Newly allocated memory or @c NULL on error. This memory should be
443 * released with eina_simple_xml_node_doctype_free() or indirectly 442 * released with eina_simple_xml_node_doctype_free() or indirectly
@@ -448,7 +447,7 @@ EAPI Eina_Simple_XML_Node_Doctype * eina_simple_xml_node_doctype_new(Eina_Simple
448/** 447/**
449 * @brief Removes doctype from parent and deletes it. 448 * @brief Removes doctype from parent and deletes it.
450 * 449 *
451 * @param node doctype to release memory. 450 * @param[in] node doctype to release memory.
452 */ 451 */
453EAPI void eina_simple_xml_node_doctype_free(Eina_Simple_XML_Node_Data *node); 452EAPI void eina_simple_xml_node_doctype_free(Eina_Simple_XML_Node_Data *node);
454 453
@@ -456,10 +455,10 @@ EAPI void eina_simple_xml_node_doctype_free(Eina_Simple_XML_Node_Data *node);
456/** 455/**
457 * @brief Creates new comment. If parent is provided, it is automatically appended. 456 * @brief Creates new comment. If parent is provided, it is automatically appended.
458 * 457 *
459 * @param parent If provided, will be set in the resulting structure 458 * @param[in,out] parent If provided, will be set in the resulting structure
460 * as well as the comment will be appended to children list. 459 * as well as the comment will be appended to children list.
461 * @param contents String to be used. Must not be @c NULL. 460 * @param[in] contents String to be used. Must not be @c NULL.
462 * @param length Size in bytes of @a contents. 461 * @param[in] length Size in bytes of @a contents.
463 * 462 *
464 * @return Newly allocated memory or @c NULL on error. This memory should be 463 * @return Newly allocated memory or @c NULL on error. This memory should be
465 * released with eina_simple_xml_node_comment_free() or indirectly 464 * released with eina_simple_xml_node_comment_free() or indirectly
@@ -470,7 +469,7 @@ EAPI Eina_Simple_XML_Node_Comment * eina_simple_xml_node_comment_new(Eina_Simple
470/** 469/**
471 * @brief Removes comment from parent and deletes it. 470 * @brief Removes comment from parent and deletes it.
472 * 471 *
473 * @param node comment to release memory. 472 * @param[in] node comment to release memory.
474 */ 473 */
475EAPI void eina_simple_xml_node_comment_free(Eina_Simple_XML_Node_Data *node); 474EAPI void eina_simple_xml_node_comment_free(Eina_Simple_XML_Node_Data *node);
476 475
@@ -478,10 +477,10 @@ EAPI void eina_simple_xml_node_comment_free(Eina_Simple_XML_Node_Data *node);
478/** 477/**
479 * @brief Loads a XML node tree based on the given string. 478 * @brief Loads a XML node tree based on the given string.
480 * 479 *
481 * @param buf The input string. May not contain \0 terminator. 480 * @param[in] buf The input string. May not contain \0 terminator.
482 * @param buflen The input string size. 481 * @param[in] buflen The input string size.
483 * @param strip Whenever this parser should strip leading and trailing 482 * @param[in] strip Whenever this parser should strip leading and trailing
484 * whitespace. 483 * whitespace.
485 * 484 *
486 * @return Document root with children tags, or @c NULL on errors. 485 * @return Document root with children tags, or @c NULL on errors.
487 * Document with errors may return partial tree instead of @c NULL, 486 * Document with errors may return partial tree instead of @c NULL,
@@ -492,15 +491,15 @@ EAPI Eina_Simple_XML_Node_Root * eina_simple_xml_node_load(const char *buf, unsi
492/** 491/**
493 * @brief Frees node tree build with eina_simple_xml_node_load() 492 * @brief Frees node tree build with eina_simple_xml_node_load()
494 * 493 *
495 * @param root Memory returned by eina_simple_xml_node_load() 494 * @param[in] root Memory returned by eina_simple_xml_node_load()
496 */ 495 */
497EAPI void eina_simple_xml_node_root_free(Eina_Simple_XML_Node_Root *root); 496EAPI void eina_simple_xml_node_root_free(Eina_Simple_XML_Node_Root *root);
498 497
499/** 498/**
500 * @brief Converts the node tree under the given element to a XML string. 499 * @brief Converts the node tree under the given element to a XML string.
501 * 500 *
502 * @param node The base node to convert. 501 * @param[in,out] node The base node to convert.
503 * @param indent Indentation string, or @c NULL to disable it. 502 * @param[in] indent Indentation string, or @c NULL to disable it.
504 * 503 *
505 * @return @c NULL on errors, or a newly allocated string on success. 504 * @return @c NULL on errors, or a newly allocated string on success.
506 */ 505 */
diff --git a/src/lib/eina/eina_slice.h b/src/lib/eina/eina_slice.h
index 4c2efffd48..fab84e9dc8 100644
--- a/src/lib/eina/eina_slice.h
+++ b/src/lib/eina/eina_slice.h
@@ -123,7 +123,7 @@ struct _Eina_Rw_Slice
123/** 123/**
124 * @brief Convert the Read-write slice to read-only. 124 * @brief Convert the Read-write slice to read-only.
125 * 125 *
126 * @param rw_slice the read-write slice to convert. 126 * @param[in] rw_slice the read-write slice to convert.
127 * @return the red-only slice matching the slice. 127 * @return the red-only slice matching the slice.
128 */ 128 */
129static inline Eina_Slice eina_rw_slice_slice_get(const Eina_Rw_Slice rw_slice); 129static inline Eina_Slice eina_rw_slice_slice_get(const Eina_Rw_Slice rw_slice);
@@ -131,7 +131,7 @@ static inline Eina_Slice eina_rw_slice_slice_get(const Eina_Rw_Slice rw_slice);
131/** 131/**
132 * @brief Creates a duplicate of slice's memory. 132 * @brief Creates a duplicate of slice's memory.
133 * 133 *
134 * @param slice the input to duplicate 134 * @param[in] slice the input to duplicate
135 * @return a new read-write slice with new @c mem that matches @a slice 135 * @return a new read-write slice with new @c mem that matches @a slice
136 * contents. The new @c mem is allocated with malloc() and must 136 * contents. The new @c mem is allocated with malloc() and must
137 * be released with free(). 137 * be released with free().
@@ -146,7 +146,7 @@ static inline Eina_Rw_Slice eina_slice_dup(const Eina_Slice slice) EINA_WARN_UNU
146/** 146/**
147 * @brief Creates a duplicate of slice's memory. 147 * @brief Creates a duplicate of slice's memory.
148 * 148 *
149 * @param rw_slice the input to duplicate 149 * @param[in] rw_slice the input to duplicate
150 * @return a new read-write slice with new @c mem that matches @a slice 150 * @return a new read-write slice with new @c mem that matches @a slice
151 * contents. The new @c mem is allocated with malloc() and must 151 * contents. The new @c mem is allocated with malloc() and must
152 * be released with free(). 152 * be released with free().
@@ -161,8 +161,8 @@ static inline Eina_Rw_Slice eina_rw_slice_dup(const Eina_Rw_Slice rw_slice) EINA
161/** 161/**
162 * @brief Compare two slices, similar to memcmp() 162 * @brief Compare two slices, similar to memcmp()
163 * 163 *
164 * @param a the first slice to compare. 164 * @param[in] a the first slice to compare.
165 * @param b the second slice to compare. 165 * @param[in] b the second slice to compare.
166 * @return 0 if equal, < 0 if a < b, > 0 if a > b 166 * @return 0 if equal, < 0 if a < b, > 0 if a > b
167 * 167 *
168 * @since 1.19 168 * @since 1.19
@@ -172,8 +172,8 @@ static inline int eina_slice_compare(const Eina_Slice a, const Eina_Slice b);
172/** 172/**
173 * @brief Compare two slices, similar to memcmp() 173 * @brief Compare two slices, similar to memcmp()
174 * 174 *
175 * @param a the first slice to compare. 175 * @param[in] a the first slice to compare.
176 * @param b the second slice to compare. 176 * @param[in] b the second slice to compare.
177 * @return 0 if equal, < 0 if a < b, > 0 if a > b 177 * @return 0 if equal, < 0 if a < b, > 0 if a > b
178 * 178 *
179 * @since 1.19 179 * @since 1.19
@@ -183,8 +183,8 @@ static inline int eina_rw_slice_compare(const Eina_Rw_Slice a, const Eina_Rw_Sli
183/** 183/**
184 * @brief Copy a read-only slice to a read-write one, similar to memcpy(). 184 * @brief Copy a read-only slice to a read-write one, similar to memcpy().
185 * 185 *
186 * @param dest where to write the memory. 186 * @param[in] dest where to write the memory.
187 * @param src where to load memory. 187 * @param[in] src where to load memory.
188 * 188 *
189 * @return a new slice with the resulting write. Note that the length 189 * @return a new slice with the resulting write. Note that the length
190 * (@c len) will be the smallest of @a dest and @a src. 190 * (@c len) will be the smallest of @a dest and @a src.
@@ -199,9 +199,9 @@ static inline Eina_Rw_Slice eina_rw_slice_copy(const Eina_Rw_Slice dest, const E
199/** 199/**
200 * @brief Seek within a slice, similar to fseek(). 200 * @brief Seek within a slice, similar to fseek().
201 * 201 *
202 * @param slice the containing slice to seek inside. 202 * @param[in] slice the containing slice to seek inside.
203 * @param offset how to get to the new position. 203 * @param[in] offset how to get to the new position.
204 * @param whence SEEK_SET, SEEK_END as fseek(). 204 * @param[in] whence SEEK_SET, SEEK_END as fseek().
205 * @return a new slice contained inside, it will start at the given 205 * @return a new slice contained inside, it will start at the given
206 * offset and have a length that goes until the end of the @a 206 * offset and have a length that goes until the end of the @a
207 * slice. If an invalid @a whence, a zero-sized slice starting 207 * slice. If an invalid @a whence, a zero-sized slice starting
@@ -217,9 +217,9 @@ static inline Eina_Slice eina_slice_seek(const Eina_Slice slice, ssize_t offset,
217/** 217/**
218 * @brief Seek within a read-write slice, similar to fseek(). 218 * @brief Seek within a read-write slice, similar to fseek().
219 * 219 *
220 * @param rw_slice the containing slice to seek inside. 220 * @param[in] rw_slice the containing slice to seek inside.
221 * @param offset how to get to the new position. 221 * @param[in] offset how to get to the new position.
222 * @param whence SEEK_SET, SEEK_END as fseek(). 222 * @param[in] whence SEEK_SET, SEEK_END as fseek().
223 * @return a new slice contained inside, it will start at the given 223 * @return a new slice contained inside, it will start at the given
224 * offset and have a length that goes until the end of the @a 224 * offset and have a length that goes until the end of the @a
225 * rw_slice. If an invalid @a whence, a zero-sized slice 225 * rw_slice. If an invalid @a whence, a zero-sized slice
@@ -236,8 +236,8 @@ static inline Eina_Rw_Slice eina_rw_slice_seek(const Eina_Rw_Slice rw_slice, ssi
236/** 236/**
237 * @brief Find a character inside the slice, similar to memchr(). 237 * @brief Find a character inside the slice, similar to memchr().
238 * 238 *
239 * @param slice the reference memory. 239 * @param[in] slice the reference memory.
240 * @param c the byte (character) to find. 240 * @param[in] c the byte (character) to find.
241 * @return the memory within slice or @c NULL if not found. 241 * @return the memory within slice or @c NULL if not found.
242 * 242 *
243 * @since 1.19 243 * @since 1.19
@@ -247,8 +247,8 @@ static inline const void *eina_slice_strchr(const Eina_Slice slice, int c);
247/** 247/**
248 * @brief Find a needle inside the slice, similar to memmem(). 248 * @brief Find a needle inside the slice, similar to memmem().
249 * 249 *
250 * @param slice the reference memory. 250 * @param[in] slice the reference memory.
251 * @param needle what to find. 251 * @param[in] needle what to find.
252 * @return the memory within slice or @c NULL if not found. 252 * @return the memory within slice or @c NULL if not found.
253 * 253 *
254 * @since 1.19 254 * @since 1.19
@@ -258,8 +258,8 @@ static inline const void *eina_slice_find(const Eina_Slice slice, const Eina_Sli
258/** 258/**
259 * @brief Checks if the slice starts with a prefix. 259 * @brief Checks if the slice starts with a prefix.
260 * 260 *
261 * @param slice the reference memory. 261 * @param[in] slice the reference memory.
262 * @param prefix the slice to check if @a slice starts with. 262 * @param[in] prefix the slice to check if @a slice starts with.
263 * @return #EINA_TRUE if @a slice starts with @a prefix, #EINA_FALSE otherwise. 263 * @return #EINA_TRUE if @a slice starts with @a prefix, #EINA_FALSE otherwise.
264 * 264 *
265 * @since 1.19 265 * @since 1.19
@@ -269,8 +269,8 @@ static inline Eina_Bool eina_slice_startswith(const Eina_Slice slice, const Eina
269/** 269/**
270 * @brief Checks if the slice ends with a suffix. 270 * @brief Checks if the slice ends with a suffix.
271 * 271 *
272 * @param slice the reference memory. 272 * @param[in] slice the reference memory.
273 * @param suffix the slice to check if @a slice ends with. 273 * @param[in] suffix the slice to check if @a slice ends with.
274 * @return #EINA_TRUE if @a slice ends with @a suffix, #EINA_FALSE otherwise. 274 * @return #EINA_TRUE if @a slice ends with @a suffix, #EINA_FALSE otherwise.
275 * 275 *
276 * @since 1.19 276 * @since 1.19
@@ -280,8 +280,8 @@ static inline Eina_Bool eina_slice_endswith(const Eina_Slice slice, const Eina_S
280/** 280/**
281 * @brief Find a character inside the slice, similar to memchr(). 281 * @brief Find a character inside the slice, similar to memchr().
282 * 282 *
283 * @param rw_slice the reference memory. 283 * @param[in] rw_slice the reference memory.
284 * @param c the byte (character) to find. 284 * @param[in] c the byte (character) to find.
285 * @return the memory within slice or @c NULL if not found. 285 * @return the memory within slice or @c NULL if not found.
286 * 286 *
287 * @since 1.19 287 * @since 1.19
@@ -291,8 +291,8 @@ static inline void *eina_rw_slice_strchr(const Eina_Rw_Slice rw_slice, int c);
291/** 291/**
292 * @brief Find a needle inside the slice, similar to memmem(). 292 * @brief Find a needle inside the slice, similar to memmem().
293 * 293 *
294 * @param rw_slice the reference memory. 294 * @param[in] rw_slice the reference memory.
295 * @param needle what to find. 295 * @param[in] needle what to find.
296 * @return the memory within slice or @c NULL if not found. 296 * @return the memory within slice or @c NULL if not found.
297 * 297 *
298 * @since 1.19 298 * @since 1.19
@@ -302,8 +302,8 @@ static inline void *eina_rw_slice_find(const Eina_Rw_Slice rw_slice, const Eina_
302/** 302/**
303 * @brief Checks if the slice starts with a prefix. 303 * @brief Checks if the slice starts with a prefix.
304 * 304 *
305 * @param slice the reference memory. 305 * @param[in] slice the reference memory.
306 * @param prefix the slice to check if @a slice starts with. 306 * @param[in] prefix the slice to check if @a slice starts with.
307 * @return #EINA_TRUE if @a slice starts with @a prefix, #EINA_FALSE otherwise. 307 * @return #EINA_TRUE if @a slice starts with @a prefix, #EINA_FALSE otherwise.
308 * 308 *
309 * @since 1.19 309 * @since 1.19
@@ -313,8 +313,8 @@ static inline Eina_Bool eina_rw_slice_startswith(const Eina_Rw_Slice slice, cons
313/** 313/**
314 * @brief Checks if the slice ends with a suffix. 314 * @brief Checks if the slice ends with a suffix.
315 * 315 *
316 * @param slice the reference memory. 316 * @param[in] slice the reference memory.
317 * @param suffix the slice to check if @a slice ends with. 317 * @param[in] suffix the slice to check if @a slice ends with.
318 * @return #EINA_TRUE if @a slice ends with @a suffix, #EINA_FALSE otherwise. 318 * @return #EINA_TRUE if @a slice ends with @a suffix, #EINA_FALSE otherwise.
319 * 319 *
320 * @since 1.19 320 * @since 1.19
@@ -327,7 +327,7 @@ static inline Eina_Bool eina_rw_slice_endswith(const Eina_Rw_Slice slice, const
327 * @note this is out-of the slice, the first byte after it ends and 327 * @note this is out-of the slice, the first byte after it ends and
328 * must not be accessed. 328 * must not be accessed.
329 * 329 *
330 * @param slice the reference memory. 330 * @param[in] slice the reference memory.
331 * @return the first byte after the slice ends. 331 * @return the first byte after the slice ends.
332 * 332 *
333 * @since 1.19 333 * @since 1.19
@@ -340,7 +340,7 @@ static inline const void *eina_slice_end_get(const Eina_Slice slice);
340 * @note this is out-of the slice, the first byte after it ends and 340 * @note this is out-of the slice, the first byte after it ends and
341 * must not be accessed. 341 * must not be accessed.
342 * 342 *
343 * @param rw_slice the reference memory. 343 * @param[in] rw_slice the reference memory.
344 * @return the first byte after the slice ends. 344 * @return the first byte after the slice ends.
345 * 345 *
346 * @since 1.19 346 * @since 1.19
@@ -350,7 +350,7 @@ static inline void *eina_rw_slice_end_get(const Eina_Rw_Slice rw_slice);
350/** 350/**
351 * @brief A null-terminated string for this slice. 351 * @brief A null-terminated string for this slice.
352 * 352 *
353 * @param slice the reference memory. 353 * @param[in] slice the reference memory.
354 * @return newly allocated memory or @c NULL on error 354 * @return newly allocated memory or @c NULL on error
355 * 355 *
356 * @since 1.19 356 * @since 1.19
@@ -360,7 +360,7 @@ static inline char *eina_slice_strdup(const Eina_Slice slice);
360/** 360/**
361 * @brief A null-terminated string for this slice. 361 * @brief A null-terminated string for this slice.
362 * 362 *
363 * @param slice the reference memory. 363 * @param[in] slice the reference memory.
364 * @return newly allocated memory or @c NULL on error 364 * @return newly allocated memory or @c NULL on error
365 * 365 *
366 * @since 1.19 366 * @since 1.19
@@ -370,7 +370,10 @@ static inline char *eina_rw_slice_strdup(const Eina_Rw_Slice rw_slice);
370/** 370/**
371 * @def EINA_SLICE_ARRAY(buf) 371 * @def EINA_SLICE_ARRAY(buf)
372 * 372 *
373 * Initializer for arrays of any kind. 373 * @brief Initializer for arrays of any kind.
374 *
375 * @param[in] buf The array to create the slice from.
376 * @return The initialized slice object.
374 * 377 *
375 * It is often useful for globals. 378 * It is often useful for globals.
376 * 379 *
@@ -398,8 +401,8 @@ static inline char *eina_rw_slice_strdup(const Eina_Rw_Slice rw_slice);
398 * Declare a local (stack) array for storage at given @a length and 401 * Declare a local (stack) array for storage at given @a length and
399 * initialize an Eina_Rw_Slice called @a name. 402 * initialize an Eina_Rw_Slice called @a name.
400 * 403 *
401 * @param name the name of the variable to be the Eina_Rw_Slice 404 * @param[in] name the name of the variable to be the Eina_Rw_Slice.
402 * @param length the size in bytes of the storage. 405 * @param[in] length the size in bytes of the storage.
403 * 406 *
404 * @since 1.19 407 * @since 1.19
405 */ 408 */
@@ -416,6 +419,9 @@ static inline char *eina_rw_slice_strdup(const Eina_Rw_Slice rw_slice);
416 * 419 *
417 * It is often useful for globals. 420 * It is often useful for globals.
418 * 421 *
422 * @param[in] buf The array to create the slice from.
423 * @return The initialized slice object.
424 *
419 * @note This macro is usable with both Eina_Slice or Eina_Rw_Slice. 425 * @note This macro is usable with both Eina_Slice or Eina_Rw_Slice.
420 * 426 *
421 * @code 427 * @code
@@ -438,6 +444,9 @@ static inline char *eina_rw_slice_strdup(const Eina_Rw_Slice rw_slice);
438 * 444 *
439 * Initializer for strings (uses strlen()). 445 * Initializer for strings (uses strlen()).
440 * 446 *
447 * @param[in] str The string to create the slice from.
448 * @return The initialized slice object.
449 *
441 * @note This macro is usable with both Eina_Slice or Eina_Rw_Slice. 450 * @note This macro is usable with both Eina_Slice or Eina_Rw_Slice.
442 * 451 *
443 * @code 452 * @code
@@ -477,9 +486,12 @@ static inline char *eina_rw_slice_strdup(const Eina_Rw_Slice rw_slice);
477/** 486/**
478 * @def EINA_SLICE_STR_PRINT(s) 487 * @def EINA_SLICE_STR_PRINT(s)
479 * 488 *
480 * To be used in printf()-like statements when EINA_SLICE_STR_FMT was 489 * @brief To be used in printf()-like statements when EINA_SLICE_STR_FMT was
481 * used, it will print the slice as a string up to @c len. 490 * used, it will print the slice as a string up to @c len.
482 * 491 *
492 * @param[in] s The slice.
493 * @return The arguments for an EINA_SLICE_STR_FMT formatted printf.
494 *
483 * Use with EINA_SLICE_STR_FMT. 495 * Use with EINA_SLICE_STR_FMT.
484 * 496 *
485 * @note This macro is usable with both Eina_Slice or Eina_Rw_Slice. 497 * @note This macro is usable with both Eina_Slice or Eina_Rw_Slice.
@@ -522,7 +534,8 @@ static inline char *eina_rw_slice_strdup(const Eina_Rw_Slice rw_slice);
522 * 534 *
523 * @note This macro is usable with both Eina_Slice or Eina_Rw_Slice. 535 * @note This macro is usable with both Eina_Slice or Eina_Rw_Slice.
524 * 536 *
525 * @param s the slice 537 * @param[in] s The slice.
538 * @return The arguments for an EINA_SLICE_FMT formatted printf.
526 * 539 *
527 * @code 540 * @code
528 * Eina_Slice s = EINA_SLICE_STR_LITERAL("hello"); 541 * Eina_Slice s = EINA_SLICE_STR_LITERAL("hello");
@@ -545,8 +558,8 @@ static inline char *eina_rw_slice_strdup(const Eina_Rw_Slice rw_slice);
545 * @note Be aware of memory alignment! Accessing unaligned memory may 558 * @note Be aware of memory alignment! Accessing unaligned memory may
546 * not be supported in some architectures. 559 * not be supported in some architectures.
547 * 560 *
548 * @param s the slice 561 * @param[in] s The slice.
549 * @param itr the iterator to hold each byte. Use a proper type, not 562 * @param[in,out] itr the iterator to hold each byte. Use a proper type, not
550 * "void*" or "const void*" as it doesn't have an intrinsic 563 * "void*" or "const void*" as it doesn't have an intrinsic
551 * size. 564 * size.
552 * 565 *