c-ipfs/repo/config/config.h

45 lines
1.4 KiB
C

#ifndef __CONFIG_H__
#define __CONFIG_H__
#include "datastore.h"
#include "identity.h"
struct Config {
struct Identity identity;
struct Datastore datastore;
//struct address* addresses;
//struct mount* mounts;
//struct discovery discovery;
//struct ipns ipns;
//struct bootstrap* peer_addresses;
//struct tour tour;
//struct gateway gateway;
//struct supernode_routing supernode_client_config;
//struct api api;
//struct swarm swarm;
//struct reprovider reprovider;
};
/**
* provide the full path of the config file, given the directory.
* NOTE: This allocates memory for result. Make sure to clean up after yourself.
* @param path the path to the config file (without the actual file name)
* @param result the full filename including the path
* @returns true(1) on success, false(0) otherwise
*/
int config_get_file_name(char* path, char* result);
/***
* Returns the path "extension" relative to the configuration root.
* If an empty string is provided for config_root, the default root
* is used.
* @param config_root the path to the root of the configuration
* @param extension the extension to add to the path
* @param result the result of config_root with extension appended
* @param max_len the max length of the result
* @returns true(1) if everything went okay, false(0) otherwise
*/
int config_path(char* config_root, char* extension, char* result, int max_len);
#endif