void logRmdir(const char *relpath) { GenericOperation genop = GENERIC_OPERATION__INIT; RmdirOperation rmdirop = RMDIR_OPERATION__INIT; genop.type = GENERIC_OPERATION__TYPE__RMDIR; genop.rmdir_op = &rmdirop; logGeneric(relpath, genop); }
void logChmod(const char *relpath, mode_t mode) { GenericOperation genop = GENERIC_OPERATION__INIT; ChmodOperation chmodop = CHMOD_OPERATION__INIT; chmodop.mode = (uint32_t) mode; genop.type = GENERIC_OPERATION__TYPE__CHMOD; genop.chmod_op = &chmodop; logGeneric(relpath, genop); }
void logTruncate(const char *relpath, off_t newsize) { GenericOperation genop = GENERIC_OPERATION__INIT; TruncateOperation truncateop = TRUNCATE_OPERATION__INIT; truncateop.newsize = (int64_t) newsize; genop.type = GENERIC_OPERATION__TYPE__TRUNCATE; genop.truncate_op = &truncateop; logGeneric(relpath, genop); }
void logMkdir(const char *relpath, mode_t mode) { GenericOperation genop = GENERIC_OPERATION__INIT; MkdirOperation mkdirop = MKDIR_OPERATION__INIT; mkdirop.mode = (uint32_t) mode; genop.type = GENERIC_OPERATION__TYPE__MKDIR; genop.mkdir_op = &mkdirop; logGeneric(relpath, genop); }
void logCreate(const char *relpath, mode_t mode) { GenericOperation genop = GENERIC_OPERATION__INIT; CreateOperation creatop = CREATE_OPERATION__INIT; creatop.mode = (uint32_t) mode; genop.type = GENERIC_OPERATION__TYPE__CREATE; genop.create_op = &creatop; logGeneric(relpath, genop); }
void logChown(const char *relpath, uid_t uid, gid_t gid) { GenericOperation genop = GENERIC_OPERATION__INIT; ChownOperation chownop = CHOWN_OPERATION__INIT; chownop.uid = (uint32_t) uid; chownop.gid = (uint32_t) gid; genop.type = GENERIC_OPERATION__TYPE__CHOWN; genop.chown_op = &chownop; logGeneric(relpath, genop); }
void logLink(const char *relpath, const char *newpath) { GenericOperation genop = GENERIC_OPERATION__INIT; LinkOperation linkop = LINK_OPERATION__INIT; linkop.oldpath = (char *) relpath; linkop.newpath = (char *) newpath; genop.type = GENERIC_OPERATION__TYPE__LINK; genop.link_op = &linkop; logGeneric(relpath, genop); }
void logSymlink(const char *relpath, const char *newpath) { GenericOperation genop = GENERIC_OPERATION__INIT; SymlinkOperation symlinkop = SYMLINK_OPERATION__INIT; symlinkop.oldpath = (char *) relpath; symlinkop.newpath = (char *) newpath; genop.type = GENERIC_OPERATION__TYPE__SYMLINK; genop.symlink_op = &symlinkop; logGeneric(relpath, genop); }
void logMknod(const char *relpath, mode_t mode, dev_t dev) { GenericOperation genop = GENERIC_OPERATION__INIT; MknodOperation mknodop = MKNOD_OPERATION__INIT; mknodop.mode = (uint32_t) mode; mknodop.dev = (uint64_t) dev; genop.type = GENERIC_OPERATION__TYPE__MKNOD; genop.mknod_op = &mknodop; logGeneric(relpath, genop); }
void logWrite(const char *relpath, size_t size, off_t offset) { GenericOperation genop = GENERIC_OPERATION__INIT; WriteOperation writeop = WRITE_OPERATION__INIT; writeop.offset = (int64_t) offset; writeop.size = (int32_t) size; // we don't store data (to save space on disk) genop.type = GENERIC_OPERATION__TYPE__WRITE; genop.write_op = &writeop; logGeneric(relpath, genop); }
void logUnlink(const char *relpath, nlink_t nlink, ino_t inode) { GenericOperation genop = GENERIC_OPERATION__INIT; UnlinkOperation unlinkop = UNLINK_OPERATION__INIT; unlinkop.inode = (int64_t) inode; if (nlink > 1) unlinkop.last_link = 0; else unlinkop.last_link = 1; genop.type = GENERIC_OPERATION__TYPE__UNLINK; genop.unlink_op = &unlinkop; logGeneric(relpath, genop); }
void logRename(const char *relpath, const char *newpath, nlink_t nlink, ino_t inode) { GenericOperation genop = GENERIC_OPERATION__INIT; RenameOperation renameop = RENAME_OPERATION__INIT; renameop.oldpath = (char *) relpath; renameop.newpath = (char *) newpath; renameop.inode = (int64_t) inode; if (nlink > 1) renameop.last_link = 0; else renameop.last_link = 1; genop.type = GENERIC_OPERATION__TYPE__RENAME; genop.rename_op = &renameop; logGeneric(relpath, genop); }
FILE* openConfigFile (FILE *file, const char * filename) { char linebuffer[129]="x"; // read buffer for file-input char charbuffer='x'; // read buffer for file-input unsigned ownerID=0xFF, start=0xFF, duration=0xFF; // local buffer for reading proccess properties char ownerIDStr[21]="", startStr[21]=""; // buffers for reading process type-string char durationStr[21]="", processTypeStr [21]=""; // buffers for reading process type-string ProcessType_t processType; // try to open file for read file = fopen (filename, "r"); // test for success and error handling if (file == NULL) { logGeneric("Fehler beim Oeffnen der Datei mit Prozessinformationen."); return NULL; } // skip first line, only a comment if (!feof(file)) fgets(linebuffer, 128, file); printf("Read from File: %s ", linebuffer); return file; }