summaryrefslogtreecommitdiff
path: root/src/util.h
blob: 02ed6ad60576e2f7764c9b686e4f49198b6da6f2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#pragma once

#include "base.h"
#include "jprint.h"

int   Create_eiface(u32 *ID, fd Control);
int   Create_bridge(u32 *ID, fd Control);
int   DestroyNetgraphNode(u32 ID, fd Control);
char *getifname(u32 ID, fd Control);
void  close_all(void);
int   command_a(char const *Program, char **Arg);
int   command_v(char const *Program, va_list Arg);
int   command(char const *Program, ...);

struct
{
	size_t Count;
	char **_;
} typedef string_array;

void  Free_string_array(string_array *);
char *Parse_string_array(string_array *, ucl_object_t const *root, char const *Position);
void  Save_string_array(jprint_state *, string_array const *);
int   exec_string_array(string_array *, bool Wait, jid_t JID);

int mount_unionfs(char const *Target, char const *Source, bool Below);
int mount_devfs(char const *Target);
int mount_nullfs(char const *Target, char const *Source);