ICFS/src/main.c
2025-03-10 18:09:05 +01:00

50 lines
1003 B
C

/*
FUSE: Filesystem in Userspace
Copyright (C) 2001-2007 Miklos Szeredi <miklos@szeredi.hu>
Copyright (C) 2011 Sebastian Pipping <sebastian@pipping.org>
ICFS: Interactively Controlled File System
Copyright (C) 2024-2025 Fedir Kovalov
This program can be distributed under the terms of the GNU GPLv2.
See the file LICENSE.
*/
#define FUSE_USE_VERSION 31
#define _GNU_SOURCE
#include <fuse3/fuse.h>
#include <stdio.h>
#include <stdlib.h>
#include "fuse_operations.h"
#include "sourcefs.h"
#include "ui-socket.h"
const char *mountpoint = NULL;
int main(int argc, char *argv[]) {
umask(0);
mountpoint = realpath(argv[argc - 1], NULL);
int ret = source_init(mountpoint);
if (ret != 0) {
perror("source_init");
exit(EXIT_FAILURE);
}
ret = init_ui_socket("/home/fedir/.icfs-sock");
if (ret != 0) {
perror("init_ui_socket");
exit(EXIT_FAILURE);
}
ret = fuse_main(argc, argv, get_fuse_operations(), NULL);
free(mountpoint);
return ret;
}