Mercurial > sci
annotate db.h @ 8:ec800a5fb7e3
scid: advertise -s option
author | David Demelier <markand@malikania.fr> |
---|---|
date | Wed, 23 Jun 2021 11:45:07 +0200 |
parents | 566bc028cdcb |
children | 3ef8128e244f |
rev | line source |
---|---|
5
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
1 /* |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
2 * db.h -- scid database access |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
3 * |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
4 * Copyright (c) 2021 David Demelier <markand@malikania.fr> |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
5 * |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
6 * Permission to use, copy, modify, and/or distribute this software for any |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
7 * purpose with or without fee is hereby granted, provided that the above |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
8 * copyright notice and this permission notice appear in all copies. |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
9 * |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
17 */ |
566bc028cdcb
tests: initial tests coming
David Demelier <markand@malikania.fr>
parents:
3
diff
changeset
|
18 |
0 | 19 #ifndef SCI_DB_H |
20 #define SCI_DB_H | |
21 | |
22 #include <sys/types.h> | |
23 #include <stddef.h> | |
24 | |
25 struct project; | |
26 struct worker; | |
27 struct job; | |
3
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
28 struct jobresult; |
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
29 |
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
30 struct db_ctx { |
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
31 void *handle; |
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
32 }; |
0 | 33 |
34 int | |
35 db_open(const char *); | |
36 | |
37 int | |
3
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
38 db_job_add(struct job *); |
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
39 |
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
40 ssize_t |
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
41 db_job_todo(struct db_ctx *, struct job *, size_t, int); |
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
42 |
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
43 int |
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
44 db_jobresult_add(struct jobresult *); |
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
45 |
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
46 int |
0 | 47 db_project_add(struct project *); |
48 | |
49 ssize_t | |
3
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
50 db_project_list(struct db_ctx *, struct project *, size_t); |
0 | 51 |
52 int | |
3
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
53 db_project_find(struct db_ctx *, struct project *); |
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
54 |
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
55 int |
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
56 db_project_find_id(struct db_ctx *, struct project *); |
0 | 57 |
58 int | |
59 db_worker_add(struct worker *); | |
60 | |
61 ssize_t | |
3
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
62 db_worker_list(struct db_ctx *, struct worker *, size_t); |
1
5afdb14df924
sci: add support for storing results
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
63 |
5afdb14df924
sci: add support for storing results
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
64 int |
3
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
65 db_worker_find(struct db_ctx *, struct worker *); |
1
5afdb14df924
sci: add support for storing results
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
66 |
5afdb14df924
sci: add support for storing results
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
67 int |
3
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
68 db_worker_find_id(struct db_ctx *, struct worker *); |
0 | 69 |
70 void | |
71 db_finish(void); | |
72 | |
3
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
73 void |
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
74 db_ctx_finish(struct db_ctx *); |
215c0c3b3609
misc: use JSON everywhere (scictl/sciwebd)
David Demelier <markand@malikania.fr>
parents:
2
diff
changeset
|
75 |
0 | 76 #endif /* !SCI_DB_H */ |