summaryrefslogtreecommitdiffstats
path: root/src/ncmd.h
blob: 025a06f73fde78c3345252e5af9e8df678c1c2ee (plain) (blame)
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
29
30
31
32
33
34
35
36
37
38
39
40
41
/* SPDX-License-Identifier: BSD-3-Clause */
/*
 * Copyright © 2020 rsiddharth <s@ricketyspace.net>
 */

#ifndef _ncmd_h
#define _ncmd_h

#include <string.h>

#include <bstrlib.h>
#include <dbg.h>
#include <protocol.h>

#define CMD_MIN_SIZE 5
#define CMD_MAX_SIZE 120
#define RSP_SIZE 200

enum FUNCTIONS {
                NS_CREATE,
                NS_SAMPLE,
                NS_MEAN,
                NS_DUMP,
                NS_DELETE,
                NS_LIST,
                NS_STORE,
                NS_LOAD,
                NS_NOP = -1
};

int sanitize(char *cmd);
int check_cmd(char *cmd, char *err);

struct bstrList *cmd_parts(char *cmd);

int find_function(struct bstrList *cmd_parts);
int call_function(int func, struct bstrList *cmd_parts, char *out);

int process(char *cmd, char *out);

#endif