]>
Commit | Line | Data |
---|---|---|
959ef981 | 1 | // SPDX-License-Identifier: GPL-2.0 |
2bd0ea18 | 2 | /* |
da23017d NS |
3 | * Copyright (c) 2000-2001,2005 Silicon Graphics, Inc. |
4 | * All Rights Reserved. | |
2bd0ea18 NS |
5 | */ |
6 | ||
7 | struct field; | |
8 | ||
9 | typedef struct flist { | |
10 | char *name; | |
dfc130f3 | 11 | const struct field *fld; |
2bd0ea18 NS |
12 | struct flist *child; |
13 | struct flist *sibling; | |
14 | int low; | |
15 | int high; | |
16 | int flags; | |
17 | int offset; | |
18 | } flist_t; | |
19 | ||
20 | /* | |
21 | * Flags for flist | |
22 | */ | |
23 | #define FL_OKLOW 1 | |
24 | #define FL_OKHIGH 2 | |
25 | ||
26 | typedef enum tokty { | |
27 | TT_NAME, TT_NUM, TT_STRING, TT_LB, TT_RB, TT_DASH, TT_DOT, TT_END | |
28 | } tokty_t; | |
29 | ||
30 | typedef struct ftok { | |
31 | char *tok; | |
32 | tokty_t tokty; | |
33 | } ftok_t; | |
34 | ||
35 | extern void flist_free(flist_t *fl); | |
36 | extern flist_t *flist_make(char *name); | |
37 | extern int flist_parse(const struct field *fields, flist_t *fl, void *obj, | |
38 | int startoff); | |
39 | extern void flist_print(flist_t *fl); | |
40 | extern flist_t *flist_scan(char *name); | |
b64af2c4 | 41 | extern flist_t *flist_find_ftyp(const field_t *fields, fldt_t type); |