betaur

[WIP] A better AUR helper written in C

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 
42 
43 
#ifndef __AUR_REQUEST_H
#define __AUR_REQUEST_H

#include <stddef.h>
#include <stdbool.h>

/* Metadata fields */
#define BETAUR_SEARCHBY_MAP(X) \
	X(BETAUR_INVALID, invalid) \
	X(BETAUR_NAME, name) \
	X(BETAUR_NAME_DESC, name-desc) \
	X(BETAUR_MAINTAINER, maintainer) \
	X(BETAUR_DEPENDS, depends) \
	X(BETAUR_MAKEDEPENDS, makedepends) \
	X(BETAUR_OPTDEPENDS, optdepends) \
	X(BETAUR_CHECKDEPENDS, checkdepends) \
	X(BETAUR_SUBMITTER, submitter) \
	X(BETAUR_PROVIDES, provides) \
	X(BETAUR_CONFLICTS, conflicts) \
	X(BETAUR_REPLACES, replaces) \
	X(BETAUR_KEYWORDS, keywords) \
	X(BETAUR_GROUPS, groups) \
	X(BETAUR_COMAINTAINERS, comaintainers)

typedef enum {
#define X(ENUM, STR) ENUM,
BETAUR_SEARCHBY_MAP(X)
#undef X
} betaur_searchby_t;

/* clone */
char* betaur_clone_request_str(size_t baseurl_len, char* baseurl) {
	char* clone_str = (char *) malloc(baseurl_len + clone_url_len + 1);
	strcat(baseurl, reporname);
}

/* info */

/* search */
bool betaur_http_search(betaur_searchby_t by, size_t arg_len, char* arg);
betaur_searchby_t betaur_str_to_searchby(size_t searchby_len, const char* searchby);

#endif