1 /* b-esds.h --- embarrassingly simple data structures
2 
3    Copyright (C) 2010-2020 Thien-Thi Nguyen
4 
5    This file is part of GNU RCS.
6 
7    GNU RCS is free software: you can redistribute it and/or modify it
8    under the terms of the GNU General Public License as published by
9    the Free Software Foundation, either version 3 of the License, or
10    (at your option) any later version.
11 
12    GNU RCS is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty
14    of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15    See the GNU General Public License for more details.
16 
17    You should have received a copy of the GNU General Public License
18    along with this program.  If not, see <http://www.gnu.org/licenses/>.
19 */
20 
21 struct link
22 {
23   void const *entry;
24   struct link *next;
25 };
26 
27 struct wlink
28 {
29   void *entry;
30   struct wlink *next;
31 };
32 
33 extern struct link *
34 extend (struct link *tp, void const *x, struct divvy *to)
35   ALL_NONNULL;
36 
37 extern struct wlink *
38 wextend (struct wlink *tp, void *x, struct divvy *to)
39   ALL_NONNULL;
40 
41 extern struct link *
42 prepend (void const *x, struct link *ls, struct divvy *to)
43   ALL_NONNULL;
44 
45 extern struct wlink *
46 wprepend (void *x, struct wlink *ls, struct divvy *to)
47   ALL_NONNULL;
48 
49 /* b-esds.h ends here */
50