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... | |
Eina_Statgen | statgen |
For inexact stats a stat gen count to rate limit syscalls to stat file. | |
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. | |
Eina_Bool | global_hugetlb: 1 |
Indicates whether global_map uses HugeTLB. | |
virtual | Eina_Bool: 1 |
Indicates that this is a virtual file. | |
Eina_Bool | copied: 1 |
Indicates whether this file has copied data. | |
This is the underlying data structure that represents a file in Eina.
_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_clean_close(), eina_file_close(), eina_file_dup(), 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_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_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_dup(), eina_file_flush(), eina_file_map_all(), eina_file_map_faulted(), eina_file_map_free(), eina_file_map_populate(), 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_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_dup(), eina_file_flush(), eina_file_map_all(), eina_file_map_free(), eina_file_map_lines(), eina_file_map_new(), eina_file_map_populate(), 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_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(), 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_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().