Mercurial > sci
annotate libsci/util.h @ 33:1d0ddf9e6efd
misc: general documentation
author | David Demelier <markand@malikania.fr> |
---|---|
date | Thu, 04 Aug 2022 16:47:10 +0200 |
parents | lib/util.h@081e1c258e64 |
children | e52c762d8ba8 |
rev | line source |
---|---|
0 | 1 /* |
2 * util.h -- miscellaneous utilities | |
3 * | |
32
081e1c258e64
misc: update copyright years
David Demelier <markand@malikania.fr>
parents:
30
diff
changeset
|
4 * Copyright (c) 2021-2022 David Demelier <markand@malikania.fr> |
0 | 5 * |
6 * Permission to use, copy, modify, and/or distribute this software for any | |
7 * purpose with or without fee is hereby granted, provided that the above | |
8 * copyright notice and this permission notice appear in all copies. | |
9 * | |
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | |
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | |
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | |
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | |
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | |
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
17 */ | |
18 | |
19 #ifndef SCI_UTIL_H | |
20 #define SCI_UTIL_H | |
21 | |
22 #include <stddef.h> | |
3
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
23 #include <stdio.h> |
0 | 24 |
30 | 25 #include <jansson.h> |
26 | |
0 | 27 #define UTIL_SIZE(x) (sizeof (x) / sizeof (x[0])) |
28 | |
29 void * | |
30 util_malloc(size_t); | |
31 | |
32 void * | |
33 util_calloc(size_t, size_t); | |
34 | |
35 void * | |
36 util_realloc(void *, size_t); | |
37 | |
38 void * | |
39 util_reallocarray(void *, size_t, size_t); | |
40 | |
41 void * | |
42 util_memdup(const void *, size_t); | |
43 | |
44 char * | |
45 util_strdup(const char *); | |
46 | |
47 char * | |
48 util_strndup(const char *, size_t); | |
49 | |
50 char * | |
51 util_basename(const char *); | |
52 | |
53 char * | |
54 util_dirname(const char *); | |
55 | |
3
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
56 FILE * |
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
57 util_fmemopen(void *, size_t, const char *); |
0 | 58 |
30 | 59 FILE * |
60 util_open_memstream(char **, size_t *); | |
0 | 61 |
1
5afdb14df924
sci: add support for storing results
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
62 char * |
3
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
63 util_read(const char *); |
1
5afdb14df924
sci: add support for storing results
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
64 |
19 | 65 void |
66 util_die(const char *, ...); | |
67 | |
30 | 68 json_t * |
69 util_json_pack(const char *, ...); | |
70 | |
71 char * | |
72 util_json_dump(const json_t *); | |
73 | |
74 /* defined in extern/ */ | |
75 | |
76 size_t | |
77 util_strlcpy(char *, const char *, size_t); | |
78 | |
22
dd078aea5d02
misc: use project/worker name as primary key
David Demelier <markand@malikania.fr>
parents:
20
diff
changeset
|
79 long long |
dd078aea5d02
misc: use project/worker name as primary key
David Demelier <markand@malikania.fr>
parents:
20
diff
changeset
|
80 util_strtonum(const char *, long long, long long, const char **); |
dd078aea5d02
misc: use project/worker name as primary key
David Demelier <markand@malikania.fr>
parents:
20
diff
changeset
|
81 |
0 | 82 #endif /* !SCI_UTIL_H */ |