5 #ifndef DMLITE_CATALOG_H
6 #define DMLITE_CATALOG_H
140 const char* oldPath,
const char* newPath);
151 char* buf,
size_t bufsize);
219 const char* csumtype,
const char* csumvalue);
234 const char* csumtype,
char* csumvalue,
const int maxcksumlen,
235 const char* pfn,
const int forcerecalc,
const int waitsecs);
267 char* comment,
size_t bufsize);
int dmlite_getchecksum(dmlite_context *context, const char *path, const char *csumtype, char *csumvalue, const int maxcksumlen, const char *pfn, const int forcerecalc, const int waitsecs)
Gets the checksum of a file in the catalog.
dmlite_dir * dmlite_opendir(dmlite_context *context, const char *path)
Opens a directory to read it later.
int dmlite_unlink(dmlite_context *context, const char *path)
Removes a file.
struct dmlite_any_dict dmlite_any_dict
Handles key->value pairs.
Definition: any.h:25
int dmlite_getusrbynam(dmlite_context *context, const char *userName, uid_t *uid)
Get the user id.
int dmlite_updatereplica(dmlite_context *context, const dmlite_replica *replica)
Updates a replica.
struct dirent * dmlite_readdir(dmlite_context *context, dmlite_dir *dir)
Reads an entry from a directory.
int dmlite_replicas_free(unsigned nReplicas, dmlite_replica *fileReplicas)
Frees a replica list.
int dmlite_getreplica_by_rfn(dmlite_context *context, const char *rfn, dmlite_replica *replica)
Gets a specific replica.
int dmlite_stat(dmlite_context *context, const char *path, struct stat *buf)
Does a stat of a file or directory.
dmlite_xstat * dmlite_readdirx(dmlite_context *context, dmlite_dir *dir)
Reads an entry from a directory (extended data).
int dmlite_rstatx(dmlite_context *context, const char *rfn, dmlite_xstat *buf)
Does an extended stat of a logical file using an associated replica filename.
int dmlite_setguid(dmlite_context *context, const char *path, const char *guid)
Sets the file Grid Unique Identifier.
int dmlite_lchown(dmlite_context *context, const char *path, uid_t newUid, gid_t newGid)
Changes the owner of a file, directory or symlink (does not follow).
struct dmlite_dir dmlite_dir
Definition: catalog.h:16
int dmlite_setfsize(dmlite_context *context, const char *path, uint64_t filesize)
Changes the size of a file in the catalog.
C wrapper for DMLite utils.
int dmlite_addreplica(dmlite_context *context, const dmlite_replica *replica)
Adds a new replica to an entry.
int dmlite_readlink(dmlite_context *context, const char *path, char *buf, size_t bufsize)
Reads a symlink.
struct dmlite_context dmlite_context
Handle for a initialized context.
Definition: dmlite.h:23
int dmlite_setfsizec(dmlite_context *context, const char *path, uint64_t filesize, const char *csumtype, const char *csumvalue)
Changes the size and checksum of a file in the catalog.
int dmlite_rmdir(dmlite_context *context, const char *path)
Deletes a directory. It must be empty.
int dmlite_update_xattr(dmlite_context *context, const char *path, const dmlite_any_dict *xattr)
Updates the file extended attributes.
int dmlite_getgrpbynam(dmlite_context *context, const char *groupName, gid_t *gid)
Gets the id of a group.
int dmlite_closedir(dmlite_context *context, dmlite_dir *dir)
Closes a directory and free the internal structures.
int dmlite_statx(dmlite_context *context, const char *path, dmlite_xstat *buf)
Does an extended stat of a file, directory or symbolic link.
int dmlite_chdir(dmlite_context *context, const char *path)
Changes the working dir.
int dmlite_setacl(dmlite_context *context, const char *path, unsigned nEntries, dmlite_aclentry *acl)
Changes the ACL of a file.
int dmlite_chown(dmlite_context *context, const char *path, uid_t newUid, gid_t newGid)
Changes the owner of a file or directory.
int dmlite_rename(dmlite_context *context, const char *oldPath, const char *newPath)
Renames a file, directory or symlink.
int dmlite_chmod(dmlite_context *context, const char *path, mode_t mode)
Changes the mode of a file or directory.
Handles ACL entries.
Definition: utils.h:48
mode_t dmlite_umask(dmlite_context *context, mode_t mask)
Sets the file mode creation mask.
int dmlite_access(dmlite_context *context, const char *lfn, int mode)
Checks wether the process would be allowed to read, write, or check existence.
int dmlite_create(dmlite_context *context, const char *path, mode_t mode)
Creates a file in the catalog (no replicas).
int dmlite_getcomment(dmlite_context *context, const char *path, char *comment, size_t bufsize)
Gets the comment associated with a file.
C wrapper for DMLite INode API.
int dmlite_accessr(dmlite_context *context, const char *rfn, int mode)
Checks wether the process would be allowed to read, write, or check existence.
int dmlite_statl(dmlite_context *context, const char *path, struct stat *buf)
Does a stat of a file, directory, or symbolic link (does not follow).
int dmlite_symlink(dmlite_context *context, const char *oldPath, const char *newPath)
Creates a symlink.
int dmlite_utime(dmlite_context *context, const char *path, const struct utimbuf *buf)
Changes access and/or modification time.
int dmlite_setcomment(dmlite_context *context, const char *path, const char *comment)
Sets the comment associated with a file.
int dmlite_delreplica(dmlite_context *context, const dmlite_replica *replica)
Deletes a replica.
int dmlite_mkdir(dmlite_context *context, const char *path, mode_t mode)
Creates a new directory.
char * dmlite_getcwd(dmlite_context *context, char *buffer, size_t size)
Gets the current working directory.
int dmlite_getreplicas(dmlite_context *context, const char *path, unsigned *nReplicas, dmlite_replica **fileReplicas)
Gets the replicas of a file.