_Eina_File Struct Reference

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

- Data Structures
- Data Structure Index
- Class Hierarchy
- Data Fields

Data Fields
_Eina_File Struct Reference
Eina » Tools » File

This is the underlying data structure that represents a file in Eina. More...

## Data Fields
| EINA_MAGIC
| Indicates whether Eina Magic should be used. More...
const char * | filename
| The absolute path of the file. More...
Eina_Hash * | map
| Tracks portions of a file that have been mapped with mmap(2). More...
Eina_Hash * | rmap
| Similar function to map, but used to look up mapped areas by pointer rather than offset/length. More...
void * | global_map
| A pointer to the entire contents of the file that have been mapped with mmap(2). More...
Eina_Lock | lock
| A file locking mechanism. More...
unsigned long long | length
| The length of the file in bytes. More...
time_t | mtime
| The last modified time. More...
ino_t | inode
| The inode. More...
int | refcount
| Keeps track of references to map. More...
int | global_refcount
| Keeps track of references to global_map. More...
int | fd
| The file descriptor. More...
Eina_List * | dead_map
| Tracks regions that get a failure from mmap(2). More...
Eina_Bool | shared: 1
| Indicates whether this file can be shared.
Eina_Bool | delete_me: 1
| Indicates that this file should be deleted.
Eina_Bool | global_faulty: 1
| Indicates whether global_map is bad.
virtual | Eina_Bool: 1
| Indicates that this is a virtual file.

## Detailed Description

This is the underlying data structure that represents a file in Eina.

## Field Documentation

_Eina_File::EINA_MAGIC

Indicates whether Eina Magic should be used.

const char* _Eina_File::filename

The absolute path of the file.

Note that the path given when calling eina_file_open will be run through eina_file_path_sanitize before it is stored here.

Referenced by eina_file_close(), eina_file_filename_get(), eina_file_open(), eina_file_refresh(), and eina_file_virtualize().

Eina_Hash* _Eina_File::map

Tracks portions of a file that have been mapped with mmap(2).

The key is a tuple offset/length and the data is a pointer to the mapped region.

Referenced by eina_file_clean_close(), eina_file_common_map_free(), eina_file_flush(), eina_file_map_new(), eina_file_open(), eina_file_virtual_map_free(), eina_file_virtual_map_new(), and eina_file_virtualize().

Eina_Hash* _Eina_File::rmap

Similar function to map, but used to look up mapped areas by pointer rather than offset/length.

Referenced by eina_file_clean_close(), eina_file_common_map_free(), eina_file_flush(), eina_file_map_faulted(), eina_file_map_new(), eina_file_map_populate(), eina_file_open(), eina_file_virtual_map_free(), eina_file_virtual_map_new(), and eina_file_virtualize().

void* _Eina_File::global_map

A pointer to the entire contents of the file that have been mapped with mmap(2).

This is the common case, and EFL and is optimized for it.

Referenced by eina_file_flush(), eina_file_map_all(), eina_file_map_faulted(), eina_file_map_free(), eina_file_open(), eina_file_virtual_map_all(), eina_file_virtual_map_free(), eina_file_virtual_map_new(), and eina_file_virtualize().

Eina_Lock _Eina_File::lock

A file locking mechanism.

Referenced by eina_file_close(), eina_file_dup(), eina_file_flush(), eina_file_map_all(), eina_file_map_faulted(), eina_file_map_free(), eina_file_map_lines(), eina_file_map_new(), eina_file_map_populate(), eina_file_open(), eina_file_virtual_map_all(), eina_file_virtual_map_free(), eina_file_virtual_map_new(), and eina_file_virtualize().

unsigned long long _Eina_File::length

The length of the file in bytes.

Referenced by eina_file_flush(), eina_file_map_all(), eina_file_map_free(), eina_file_map_lines(), eina_file_map_new(), eina_file_open(), eina_file_refresh(), eina_file_size_get(), and eina_file_virtualize().

time_t _Eina_File::mtime

The last modified time.

Referenced by eina_file_mtime_get(), eina_file_open(), eina_file_refresh(), and eina_file_virtualize().

ino_t _Eina_File::inode

The inode.

Referenced by eina_file_open(), and eina_file_refresh().

int _Eina_File::refcount

Keeps track of references to map.

Referenced by eina_file_close(), eina_file_dup(), eina_file_flush(), eina_file_map_lines(), eina_file_mkstemp(), eina_file_open(), and eina_file_virtualize().

int _Eina_File::global_refcount

Keeps track of references to global_map.

Referenced by eina_file_flush(), eina_file_map_all(), eina_file_map_free(), eina_file_virtual_map_all(), and eina_file_virtual_map_free().

int _Eina_File::fd

The file descriptor.

Referenced by eina_file_map_all(), eina_file_map_new(), eina_file_open(), eina_file_refresh(), eina_file_virtualize(), eina_file_xattr_get(), and eina_file_xattr_value_get().

Eina_List* _Eina_File::dead_map

Tracks regions that get a failure from mmap(2).

Referenced by eina_file_common_map_free(), eina_file_flush(), and eina_file_map_faulted().