# MKLLFS (Make Linked List File System)

## Introduction
The llfs filesystem can be generated using the mkllfss utility. It is a simple filesystem that uses a linked list to store files. 
The filesystem is stored in a single c file (llfs_data.c), which can be compiled and read by the llfs library. 
The llfs filesystem is a flat filesystem, meaning that it does not support directories.

The mkllfs utilit can be used to generate the `llfs_data.c` file. The `llfs_data.c` file from a directory with files.

A pre-compiled version can be download: [mkllfs.exe](https://github.com/Sani7/2023-Webservices_And_Applications/releases/tag/v0.2.1)

## Usage
The mkllfs utility can be used as follows:
```bash
mkllfs [options] <directory> <output_file>
```
For example:
```bash
mkllfs data llfs_data.c
```
Available options:
```
  -h, --help           show the help message and exit
  -v, --version        print the version of mkllfs and the llfs library that it generates for
```

### Using the batch file
The `mkllfs.bat` file can be used to generate the `llfs_data.c` file from the data in the `llfs-data` directory.
Before using this script, place mkllfs.exe in the same directory as the batch file.

## Building
The mkllfs utility can be built using the following command:
```bash
gcc -o mkllfs mkllfs.c
```
For windows, you can use the following command:
```bash
gcc -o mkllfs.exe mkllfs.c
```
