2 Copyright (C) 2020-2023 Free Software Foundation, Inc.
4 This file is part of libctf.
6 libctf is free software; you can redistribute it and/or modify it under
7 the terms of the GNU General Public License as published by the Free
8 Software Foundation; either version 3, or (at your option) any later
11 This program is distributed in the hope that it will be useful, but
12 WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 See the GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program; see the file COPYING. If not see
18 <http://www.gnu.org/licenses/>. */
20 #ifndef _CTF_INLINES_H
21 #define _CTF_INLINES_H
30 #ifndef _libctf_malloc_
31 #error "ctf-inlines.h" should not be included directly: include "ctf-impl.h".
35 ctf_get_ctt_size (const ctf_dict_t
*fp
,
40 return (fp
->ctf_dictops
->ctfo_get_ctt_size (fp
, tp
, sizep
, incrementp
));
44 ctf_forwardable_kind (int kind
)
46 return (kind
== CTF_K_STRUCT
|| kind
== CTF_K_UNION
|| kind
== CTF_K_ENUM
);
50 ctf_dynhash_cnext_sorted (ctf_dynhash_t
*h
, ctf_next_t
**i
, const void **key
,
51 const void **value
, ctf_hash_sort_f sort_fun
,
54 return ctf_dynhash_next_sorted (h
, i
, (void **) key
, (void **) value
,
59 ctf_dynhash_cnext (ctf_dynhash_t
*h
, ctf_next_t
**it
,
60 const void **key
, const void **value
)
62 return ctf_dynhash_next (h
, it
, (void **) key
, (void **) value
);
66 ctf_dynhash_cinsert (ctf_dynhash_t
*h
, const void *k
, const void *v
)
68 return ctf_dynhash_insert (h
, (void *) k
, (void *) v
);
72 ctf_dynset_cnext (ctf_dynset_t
*h
, ctf_next_t
**it
, const void **key
)
74 return ctf_dynset_next (h
, it
, (void **) key
);
78 ctf_dynset_cinsert (ctf_dynset_t
*h
, const void *k
)
80 return ctf_dynset_insert (h
, (void *) k
);
84 ctf_assert_internal (ctf_dict_t
*fp
, const char *file
, size_t line
,
85 const char *exprstr
, int expr
)
87 if (_libctf_unlikely_ (!expr
))
88 ctf_assert_fail_internal (fp
, file
, line
, exprstr
);
97 #endif /* _CTF_INLINES_H */