- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files
- Examples

Modules | Data Structures | Typedefs | Enumerations | Functions | Variables
Tools
Eina

Eina tools aims to help application development, providing ways to make it safer, log errors, manage memory more efficiently and more. More...

## Modules
| Benchmark
| These functions allow you to add benchmark framework in a project for timing critical part and detect slow parts of code.
| Convert
| These functions allow you to convert integer or real numbers to string or conversely.
| Counter
| This group discusses the functions that allow you to get the time spent in a part of a code.
| Copy On Write
| These functions provide some helper for a pseudo Copy On Write mechanism.
| Cpu
| Cpu and architecture related helpers.
| Error
| This group discusses the functions that provide error management for projects.
| File
| This group discusses the functions to handle files and directories.
| Lazy allocator
| Lock
| This group provides thread locking and synchronization capabilities.
| Log
| Full-featured logging system.
| Magic
| Eina_Magic provides run-time type-checking.
| Memory Pool
| This group discusses the functions that provide memory pool management.
| Module
| Eina module provides some helpers over POSIX dlopen().
| Prefix
| This group discusses the functions that provide the ability to determine the runtime location of a software package.
| Rectangle
| These functions provide rectangle management.
| Safety Checks
| Safety checks are a set of macros to check for parameters or values that should never happen, it is similar in concept to assert(), but will log and return instead of abort() your program.
| Schedule
| TODO: description.
| Simple_XML
| Simplistic relaxed SAX-like XML parser.
| String
| Provide useful functions for C string manipulation.
| Thread
| Abstracts platform threads, providing an uniform API.

## Data Structures
struct | _Eina_Xattr

## Typedefs
typedef struct _Eina_Xattr | Eina_Xattr

## Enumerations
enum | Eina_Xattr_Flags { EINA_XATTR_INSERT, EINA_XATTR_REPLACE, EINA_XATTR_CREATED }
| define extended attribute creation More...

## Functions
EAPI Eina_Iterator * | eina_xattr_ls (const char *file) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT
| Get an iterator that list all extended attribute of a file. More...
EAPI Eina_Iterator * | eina_xattr_value_ls (const char *file) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT
| Get an iterator that list all extended attribute value related to a fd. More...
EAPI Eina_Iterator * | eina_xattr_fd_ls (int fd) EINA_WARN_UNUSED_RESULT
| Get an iterator that list all extended attribute related to a fd. More...
EAPI Eina_Iterator * | eina_xattr_value_fd_ls (int fd) EINA_WARN_UNUSED_RESULT
| Get an iterator that list all extended attribute value related to a fd. More...
EAPI Eina_Bool | eina_xattr_copy (const char *src, const char *dst) EINA_ARG_NONNULL(1
| Copy the extended attribute from one file to another. More...
EAPI Eina_Bool EAPI Eina_Bool | eina_xattr_fd_copy (int src, int dst)
| Copy the extended attribute from one file descriptor to another. More...
EAPI void * | eina_xattr_get (const char *file, const char *attribute, ssize_t *size) EINA_ARG_NONNULL(1
| Retrieve an extended attribute from a file. More...
EAPI void * | eina_xattr_fd_get (int fd, const char *attribute, ssize_t *size) EINA_ARG_NONNULL(2
| Retrieve an extended attribute from a file descriptor. More...
EAPI Eina_Bool | eina_xattr_set (const char *file, const char *attribute, const void *data, ssize_t length, Eina_Xattr_Flags flags) EINA_ARG_NONNULL(1
| Set an extended attribute on a file. More...
EAPI Eina_Bool EAPI Eina_Bool | eina_xattr_fd_set (int fd, const char *attribute, const void *data, ssize_t length, Eina_Xattr_Flags flags) EINA_ARG_NONNULL(2
| Set an extended attribute on a file descriptor. More...
EAPI Eina_Bool EAPI Eina_Bool EAPI Eina_Bool | eina_xattr_del (const char *file, const char *attribute) EINA_ARG_NONNULL(1
| Delete (remove) an extended attribute from a file. More...
EAPI Eina_Bool EAPI Eina_Bool EAPI Eina_Bool EAPI Eina_Bool | eina_xattr_fd_del (int fd, const char *attribute) EINA_ARG_NONNULL(2)
| Delete (remove) an extended attribute from a file descriptor. More...
EAPI Eina_Bool | eina_xattr_string_set (const char *file, const char *attribute, const char *data, Eina_Xattr_Flags flags)
| Set a string as a extended attribute properties. More...
EAPI char * | eina_xattr_string_get (const char *file, const char *attribute)
| Get a string from an extended attribute properties. More...
EAPI Eina_Bool | eina_xattr_double_set (const char *file, const char *attribute, double value, Eina_Xattr_Flags flags)
| Set a double as a extended attribute properties. More...
EAPI Eina_Bool | eina_xattr_double_get (const char *file, const char *attribute, double *value)
| Get a double from an extended attribute properties. More...
EAPI Eina_Bool | eina_xattr_int_set (const char *file, const char *attribute, int value, Eina_Xattr_Flags flags)
| Set an int as a extended attribute properties. More...
EAPI Eina_Bool | eina_xattr_int_get (const char *file, const char *attribute, int *value)
| Get a int from an extended attribute properties. More...

## Variables
EAPI void | EINA_WARN_UNUSED_RESULT

## Detailed Description

Eina tools aims to help application development, providing ways to make it safer, log errors, manage memory more efficiently and more.

For more information refer to the string example.

## Enumeration Type Documentation

enum Eina_Xattr_Flags

define extended attribute creation

Since
  1.1

Enumerator
EINA_XATTR_INSERT | This is the default behaviour, it will either create or replace the extended attribute.
EINA_XATTR_REPLACE | This will only succeed if the extended attribute previously existed.
EINA_XATTR_CREATED | This will only succeed if the extended attribute wasn't previously set.

## Function Documentation

EAPI Eina_Iterator* eina_xattr_ls | ( | const char * | file | ) |

Get an iterator that list all extended attribute of a file.

Parameters

  file | The filename to retrieve the extended attribute list from.

Returns
  an iterator.

The iterator will not allocate any data during the iteration step, so you need to copy them yourself if you need.

Since
  1.1

References EINA_MAGIC_SET, FUNC_ITERATOR_FREE, FUNC_ITERATOR_GET_CONTAINER, and FUNC_ITERATOR_NEXT.

EAPI Eina_Iterator* eina_xattr_value_ls | ( | const char * | file | ) |

Get an iterator that list all extended attribute value related to a fd.

Parameters

  file | The filename to retrieve the extended attribute list from.

Returns
  an iterator.

The iterator will not allocate any data during the iteration step, so you need to copy them yourself if you need. The iterator will provide an Eina_Xattr structure.

Since
  1.2

References EINA_MAGIC_SET, eina_stringshare_add(), FUNC_ITERATOR_FREE, FUNC_ITERATOR_GET_CONTAINER, and FUNC_ITERATOR_NEXT.

EAPI Eina_Iterator* eina_xattr_fd_ls | ( | int | fd | ) |

Get an iterator that list all extended attribute related to a fd.

Parameters

  fd | The file descriptor to retrieve the extended attribute list from.

Returns
  an iterator.

The iterator will not allocate any data during the iteration step, so you need to copy them yourself if you need.

Since
  1.2

References EINA_MAGIC_SET, FUNC_ITERATOR_FREE, FUNC_ITERATOR_GET_CONTAINER, and FUNC_ITERATOR_NEXT.

Referenced by eina_file_xattr_get().

EAPI Eina_Iterator* eina_xattr_value_fd_ls | ( | int | fd | ) |

Get an iterator that list all extended attribute value related to a fd.

Parameters

  fd | The file descriptor to retrieve the extended attribute list from.

Returns
  an iterator.

The iterator will not allocate any data during the iteration step, so you need to copy them yourself if you need. The iterator will provide an Eina_Xattr structure.

Since
  1.2

References EINA_MAGIC_SET, FUNC_ITERATOR_FREE, FUNC_ITERATOR_GET_CONTAINER, and FUNC_ITERATOR_NEXT.

Referenced by eina_file_xattr_value_get().

EAPI Eina_Bool eina_xattr_copy | ( | const char * | src,
|  | const char * | dst
| ) |  |

Copy the extended attribute from one file to another.

Parameters

  src | source file to use as input.
  dst | destination file to use as output.

Returns
  EINA_TRUE on success, EINA_FALSE otherwise.

See also
  eina_xattr_fd_copy()

Since
  1.8

EAPI Eina_Bool EAPI Eina_Bool eina_xattr_fd_copy | ( | int | src,
|  | int | dst
| ) |  |

Copy the extended attribute from one file descriptor to another.

Parameters

  src | source file descriptor to use as input.
  dst | destination file descriptor to use as output.

Returns
  EINA_TRUE on success, EINA_FALSE otherwise.

See also
  eina_xattr_copy()

Since
  1.8

References EINA_FALSE, and EINA_TRUE.

EAPI void* eina_xattr_get | ( | const char * | file,
|  | const char * | attribute,
|  | ssize_t * | size
| ) |  |

Retrieve an extended attribute from a file.

Parameters

  file | The file to retrieve the extended attribute from.
  attribute | The extended attribute name to retrieve.
  size | The size of the retrieved extended attribute.

Returns
  the allocated data that hold the extended attribute value.

It will return `NULL` and *size will be `0` if it fails.

Since
  1.1

Referenced by eet_data_xattr_cipher_get(), and eina_xattr_string_get().

EAPI void* eina_xattr_fd_get | ( | int | fd,
|  | const char * | attribute,
|  | ssize_t * | size
| ) |  |

Retrieve an extended attribute from a file descriptor.

Parameters

  fd | The file descriptor to retrieve the extended attribute from.
  attribute | The extended attribute name to retrieve.
  size | The size of the retrieved extended attribute.

Returns
  the allocated data that hold the extended attribute value.

It will return `NULL` and *size will be `0` if it fails.

Since
  1.8

EAPI Eina_Bool eina_xattr_set | ( | const char * | file,
|  | const char * | attribute,
|  | const void * | data,
|  | ssize_t | length,
|  | Eina_Xattr_Flags | flags
| ) |  |

Set an extended attribute on a file.

Parameters

  file | The file to set the extended attribute to.
  attribute | The attribute to set.
  data | The data to set.
  length | The length of the data to set.
  flags | Define the set policy.

Returns
  EINA_TRUE on success, EINA_FALSE otherwise.

Since
  1.1

Referenced by eet_data_xattr_cipher_set(), and eina_xattr_string_set().

EAPI Eina_Bool EAPI Eina_Bool eina_xattr_fd_set | ( | int | fd,
|  | const char * | attribute,
|  | const void * | data,
|  | ssize_t | length,
|  | Eina_Xattr_Flags | flags
| ) |  |

Set an extended attribute on a file descriptor.

Parameters

  fd | The file descriptor to set the extended attribute to.
  attribute | The attribute to set.
  data | The data to set.
  length | The length of the data to set.
  flags | Define the set policy.

Returns
  EINA_TRUE on success, EINA_FALSE otherwise.

Since
  1.8

EAPI Eina_Bool EAPI Eina_Bool EAPI Eina_Bool eina_xattr_del | ( | const char * | file,
|  | const char * | attribute
| ) |  |

Delete (remove) an extended attribute from a file.

Parameters

  file | The file to del the extended attribute from.
  attribute | The attribute to del.

Returns
  EINA_TRUE on success, EINA_FALSE otherwise.

Since
  1.8

EAPI Eina_Bool EAPI Eina_Bool EAPI Eina_Bool EAPI Eina_Bool eina_xattr_fd_del | ( | int | fd,
|  | const char * | attribute
| ) |  |

Delete (remove) an extended attribute from a file descriptor.

Parameters

  fd | The file descriptor to del the extended attribute from.
  attribute | The attribute to del.

Returns
  EINA_TRUE on success, EINA_FALSE otherwise.

Since
  1.8

References EINA_FALSE.

EAPI Eina_Bool eina_xattr_string_set | ( | const char * | file,
|  | const char * | attribute,
|  | const char * | data,
|  | Eina_Xattr_Flags | flags
| ) |  |

Set a string as a extended attribute properties.

Parameters

  file | The file to set the string to.
  attribute | The attribute to set.
  data | The NULL-terminated string to set.
  flags | Define the set policy.

Returns
  EINA_TRUE on success, EINA_FALSE otherwise.

Since
  1.1

References EINA_FALSE, and eina_xattr_set().

Referenced by eina_xattr_double_set(), and eina_xattr_int_set().

EAPI char* eina_xattr_string_get | ( | const char * | file,
|  | const char * | attribute
| ) |  |

Get a string from an extended attribute properties.

Parameters

  file | The file to get the string from.
  attribute | The attribute to get.

Returns
  A valid string on success, `NULL` otherwise.

This call check that the string is properly NULL-terminated before returning it.

Since
  1.1

References eina_xattr_get().

Referenced by eina_xattr_double_get(), and eina_xattr_int_get().

EAPI Eina_Bool eina_xattr_double_set | ( | const char * | file,
|  | const char * | attribute,
|  | double | value,
|  | Eina_Xattr_Flags | flags
| ) |  |

Set a double as a extended attribute properties.

Parameters

  file | The file to set the double to.
  attribute | The attribute to set.
  value | The NULL-terminated double to set.
  flags | Define the set policy.

Returns
  EINA_TRUE on success, EINA_FALSE otherwise.

Since
  1.1

References eina_convert_dtoa(), and eina_xattr_string_set().

Referenced by emotion_object_last_position_save().

EAPI Eina_Bool eina_xattr_double_get | ( | const char * | file,
|  | const char * | attribute,
|  | double * | value
| ) |  |

Get a double from an extended attribute properties.

Parameters

  file | The file to get the string from.
  attribute | The attribute to get.
  value | Where to put the extracted value

Returns
  EINA_TRUE on success, EINA_FALSE otherwise.

This call check that the double is correctly set.

Since
  1.1

References eina_convert_atod(), EINA_FALSE, EINA_TRUE, and eina_xattr_string_get().

Referenced by emotion_object_last_position_load().

EAPI Eina_Bool eina_xattr_int_set | ( | const char * | file,
|  | const char * | attribute,
|  | int | value,
|  | Eina_Xattr_Flags | flags
| ) |  |

Set an int as a extended attribute properties.

Parameters

  file | The file to set the int to.
  attribute | The attribute to set.
  value | The NULL-terminated int to set.
  flags | Define the set policy.

Returns
  EINA_TRUE on success, EINA_FALSE otherwise.

Since
  1.1

References eina_convert_itoa(), and eina_xattr_string_set().

EAPI Eina_Bool eina_xattr_int_get | ( | const char * | file,
|  | const char * | attribute,
|  | int * | value
| ) |  |

Get a int from an extended attribute properties.

Parameters

  file | The file to get the string from.
  attribute | The attribute to get.
  value | Where to put the extracted value

Returns
  EINA_TRUE on success, EINA_FALSE otherwise.

This call check that the int is correctly set.

Since
  1.1

References EINA_FALSE, and eina_xattr_string_get().