202 char* path,
size_t bufsize);
249 const struct utimbuf* buf);
285 const char* csumtype,
const char* csumvalue);
296 char* comment,
size_t bufsize);
306 const char* comment);
#define URL_MAX
Definition: utils.h:24
#define CSUMVALUE_MAX
Definition: utils.h:17
time_t ltime
Definition: inode.h:40
int dmlite_iclosedir(dmlite_context *context, dmlite_idir *dir)
Closes a directory, freeing any internally allocated memory.
int dmlite_ireadlink(dmlite_context *context, ino_t inode, char *path, size_t bufsize)
Reads a symbolic link.
int dmlite_istatx_by_name(dmlite_context *context, ino_t parent, const char *name, dmlite_xstat *buf)
Does an extended stat using the parent inode and the entry name.
int dmlite_iaddreplica(dmlite_context *context, const dmlite_replica *replica)
Adds a new replica.
struct stat stat
Definition: inode.h:67
dmlite_replica_status
Definition: inode.h:19
struct dmlite_any_dict dmlite_any_dict
Handles key->value pairs.
Definition: any.h:25
int64_t replicaid
Definition: inode.h:34
int dmlite_ibegin(dmlite_context *context)
Starts a transaction.
int dmlite_iutime(dmlite_context *context, ino_t inode, const struct utimbuf *buf)
Sets the access and modification time.
int dmlite_isetguid(dmlite_context *context, ino_t inode, const char *guid)
Sets the file Grid Unique Identifier.
#define ACL_SIZE
Definition: utils.h:15
int dmlite_iupdate_xattr(dmlite_context *context, ino_t inode, const dmlite_any_dict *xattr)
Updates the file extended attributes.
enum dmlite_replica_status status
Definition: inode.h:42
char name[NAME_MAX]
Definition: inode.h:69
char acl[ACL_ENTRIES_MAX *ACL_SIZE]
Definition: inode.h:73
int dmlite_ideletereplica(dmlite_context *context, const dmlite_replica *replica)
Deletes a replica.
struct dmlite_xstat dmlite_xstat
enum dmlite_file_status status
Definition: inode.h:68
C wrapper for DMLite utils.
#define CSUMTYPE_MAX
Definition: utils.h:16
dmlite_idir * dmlite_iopendir(dmlite_context *context, ino_t inode)
Opens a directory.
char rfn[URL_MAX]
Definition: inode.h:47
time_t ptime
Definition: inode.h:39
dmlite_file_status
Definition: inode.h:59
dmlite_any_dict * extra
If != NULL, additional metadata will be put here.
Definition: inode.h:50
char csumvalue[CSUMVALUE_MAX]
Definition: inode.h:72
Opaque handler to pass different types of values to the API.
struct dmlite_context dmlite_context
Handle for a initialized context.
Definition: dmlite.h:23
char csumtype[CSUMTYPE_MAX]
Definition: inode.h:71
dmlite_xstat * dmlite_ireaddirx(dmlite_context *context, dmlite_idir *dir)
Reads a directory. Extended data.
int dmlite_isetcomment(dmlite_context *context, ino_t inode, const char *comment)
Sets the comment associated with an entry.
int dmlite_isymlink(dmlite_context *context, ino_t inode, const char *link)
Associates a symlink with an existing file.
dmlite_any_dict * extra
If != NULL, additional metadata will be put here.
Definition: inode.h:75
time_t atime
Definition: inode.h:38
enum dmlite_replica_type type
Definition: inode.h:43
ino_t parent
Definition: inode.h:66
struct dmlite_idir dmlite_idir
Definition: inode.h:82
char server[HOST_NAME_MAX]
Definition: inode.h:46
dmlite_replica_ps
Definition: inode.h:28
int dmlite_isetchecksum(dmlite_context *context, ino_t inode, const char *csumtype, const char *csumvalue)
Sets the checksum of a file.
int dmlite_irollback(dmlite_context *context)
Undo the changes.
int64_t fileid
Definition: inode.h:35
#define ACL_ENTRIES_MAX
Definition: utils.h:14
int dmlite_imove(dmlite_context *context, ino_t inode, ino_t dest)
Moves a file to a different parent directory.
int dmlite_icommit(dmlite_context *context)
Commits the changes.
Handles ACL entries.
Definition: utils.h:48
#define HOST_NAME_MAX
Definition: utils.h:20
int dmlite_igetcomment(dmlite_context *context, ino_t inode, char *comment, size_t bufsize)
Gets the comment associated with an entry.
int dmlite_icreate(dmlite_context *context, const dmlite_xstat *f)
Creates a new file.
int dmlite_isetsize(dmlite_context *context, ino_t inode, size_t size)
Sets the size of a file.
enum dmlite_replica_ps rtype
Definition: inode.h:44
int dmlite_istatx(dmlite_context *context, ino_t inode, dmlite_xstat *buf)
Does an extended stat of an entry using the inode instead of the path.
int64_t nbaccesses
Definition: inode.h:37
struct dirent * dmlite_ireaddir(dmlite_context *context, dmlite_idir *dir)
Reads a directory.
dmlite_replica_type
Definition: inode.h:24
int dmlite_isetmode(dmlite_context *context, ino_t inode, uid_t uid, gid_t gid, mode_t mode, unsigned nentries, dmlite_aclentry *acl)
Sets the mode and ACL of a file.
int dmlite_igetreplica(dmlite_context *context, int64_t rid, dmlite_replica *buf)
Gets a specific replica using its replica id.
char guid[GUID_MAX]
Definition: inode.h:70
int dmlite_igetreplicas(dmlite_context *context, ino_t inode, unsigned *nreplicas, dmlite_replica **replicas)
Gets all the replicas associated to a file.
int dmlite_istat(dmlite_context *context, ino_t inode, struct stat *buf)
Does a stat of an entry using the inode instead of the path.
struct dmlite_replica dmlite_replica
int dmlite_irename(dmlite_context *context, ino_t inode, const char *name)
Changes the name of an entry.
#define GUID_MAX
Definition: utils.h:18
int dmlite_iunlink(dmlite_context *context, ino_t inode)
Removes a file or directory from the database.
int dmlite_ideletecomment(dmlite_context *context, ino_t inode)
Deletes the comment associated with an entry.