Annotation of solidite/utils/include/flags.h, revision 1.1.1.1
1.1 user 1: /* Copyright (c) 2026 The Solidite Developers
2: *
3: * This program is free software: you can redistribute it and/or modify it under
4: * the terms of the GNU Affero General Public License as published by the Free
5: * Software Foundation, either version 3 of the License, or (at your option)
6: * any later version.
7: *
8: * This program is distributed in the hope that it will be useful, but WITHOUT
9: * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
10: * FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
11: * details.
12: *
13: * You should have received a copy of the GNU Affero General Public License
14: * along with this program. If not, see <https://www.gnu.org/licenses/>. */
15:
16: #ifndef __FLAGS_H__
17: #define __FLAGS_H__
18:
19: #include <stdint.h>
20:
21: static inline void set_flag(unsigned long *flags, const int POSITION) {
22: *flags |= (1 << POSITION);
23: }
24:
25: static inline void unset_flag(unsigned long* flags, const int POSITION) {
26: *flags &= ~(1 << POSITION);
27: }
28:
29: static inline int read_flag(unsigned long* flags, const int POSITION) {
30: return (*flags & (1 << POSITION)) != 0;
31: }
32:
33: #endif
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>