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