#include <libisofs.h>
Data Fields | |
int | version |
Tells the version of the interface: Version 0 provides functions up to (*lseek)(). | |
char *(* | get_path )(IsoFileSource *src) |
Get the absolute path in the filesystem this file source belongs to. | |
char *(* | get_name )(IsoFileSource *src) |
Get the name of the file, with the dir component of the path. | |
int(* | lstat )(IsoFileSource *src, struct stat *info) |
Get information about the file. | |
int(* | stat )(IsoFileSource *src, struct stat *info) |
Get information about the file. | |
int(* | access )(IsoFileSource *src) |
Check if the process has access to read file contents. | |
int(* | open )(IsoFileSource *src) |
Opens the source. | |
int(* | close )(IsoFileSource *src) |
Close a previuously openned file. | |
int(* | read )(IsoFileSource *src, void *buf, size_t count) |
Attempts to read up to count bytes from the given source into the buffer starting at buf. | |
int(* | readdir )(IsoFileSource *src, IsoFileSource **child) |
Read a directory. | |
int(* | readlink )(IsoFileSource *src, char *buf, size_t bufsiz) |
Read the destination of a symlink. | |
IsoFilesystem *(* | get_filesystem )(IsoFileSource *src) |
Get the filesystem for this source. | |
void(* | free )(IsoFileSource *src) |
Free implementation specific data. | |
off_t(* | lseek )(IsoFileSource *src, off_t offset, int flag) |
Repositions the offset of the IsoFileSource (must be opened) to the given offset according to the value of flag. | |
int(* | get_aa_string )(IsoFileSource *src, unsigned char **aa_string, int flag) |
Valid only if .version is > 0. | |
int(* | clone_src )(IsoFileSource *old_src, IsoFileSource **new_src, int flag) |
Produce a copy of a source. |
Defines the POSIX-like function to access files and abstract underlying source.
Definition at line 613 of file libisofs.h.
|
Check if the process has access to read file contents. Note that this is not necessarily related with (l)stat functions. For example, in a filesystem implementation to deal with an ISO image, if the user has read access to the image it will be able to read all files inside it, despite of the particular permission of each file in the RR tree, that are what the above functions return.
|
|
Produce a copy of a source. It must be possible to operate both source objects concurrently.
|
|
Close a previuously openned file.
|
|
Free implementation specific data. Should never be called by user. Use iso_file_source_unref() instead. |
|
Valid only if .version is > 0. See above. Get the AAIP string with encoded ACL and xattr. (Not to be confused with ECMA-119 Extended Attributes). bit1 and bit2 of flag should be implemented so that freshly fetched info does not include the undesired ACL or xattr. Nevertheless if the aa_string is cached, then it is permissible that ACL and xattr are still delivered.
|
|
Get the filesystem for this source. No extra ref is added, so you musn't unref the IsoFilesystem.
|
|
Get the name of the file, with the dir component of the path.
|
|
Get the absolute path in the filesystem this file source belongs to.
|
|
Repositions the offset of the IsoFileSource (must be opened) to the given offset according to the value of flag.
|
|
Get information about the file. It is equivalent to lstat(2).
|
|
Opens the source.
|
|
Attempts to read up to count bytes from the given source into the buffer starting at buf. The file src must be open() before calling this, and close() when no more needed. Not valid for dirs. On symlinks it reads the destination file.
|
|
Read a directory. Each call to this function will return a new children, until we reach the end of file (i.e, no more children), in that case it returns 0. The dir must be open() before calling this, and close() when no more needed. Only valid for dirs. Note that "." and ".." children MUST NOT BE returned.
|
|
Read the destination of a symlink. You don't need to open the file to call this.
|
|
Get information about the file. If the file is a symlink, the info returned refers to the destination. It is equivalent to stat(2).
|
|
Tells the version of the interface: Version 0 provides functions up to (*lseek)().
Definition at line 624 of file libisofs.h. |