Belle II Software
release-08-01-10
nsmparse.h
1
/**************************************************************************
2
* basf2 (Belle II Analysis Software Framework) *
3
* Author: The Belle II Collaboration *
4
* *
5
* See git log for contributors and copyright holders. *
6
* This file is licensed under LGPL-3.0, see LICENSE.md. *
7
**************************************************************************/
8
9
#ifndef __nsmparse_h__
10
#define __nsmparse_h__
11
12
#if defined(__cplusplus)
13
extern
"C"
{
14
#endif
15
#if defined(__dummy_close_bracket_to_cheat_emacs_auto_indent)
16
}
17
#endif
18
19
/* NSMparse */
20
struct
NSMparse_struct
{
21
/* type is encoded in a char ---
22
'c': int8_t, 's': int16_t, 'i': int32_t, 'l': int64_t,
23
'C': uint8_t, 'S': uint16_t, 'I': uint16_t, 'L': uint64_t,
24
'f': float, 'd': double, '(': nested-begin, ')' nested-end
25
26
nested-begin has NSMparse entry with type = 0,
27
size = (sizeof(nested)/sizeof(nested[0])) of nested struct,
28
offset = start of nested, name = ""
29
*/
30
char
type;
31
char
name[256];
32
int
size;
/* of array */
33
int
bytes;
/* of this type */
34
int
offset;
/* from the beginning */
35
struct
NSMparse_struct
* next;
36
};
37
38
#ifndef __nsm2_typedef_parse__
39
#define __nsm2_typedef_parse__
40
typedef
struct
NSMparse_struct
NSMparse
;
41
#endif
/* nsm2_typedef_parse */
42
43
NSMparse
* nsmlib_parsefile(
const
char
* datname,
int
revision,
44
const
char
* incpath,
char
* fmtstr,
int
* revisionp);
45
void
nsmlib_parsefree(
NSMparse
*);
46
const
char
* nsmlib_parseerr(
int
* code);
47
48
#if defined(__dummy_open_bracket_to_cheat_emacs_auto_indent)
49
__dummy_open_bracket_to_cheat_emacs_auto_indent {
50
#endif
51
#if defined(__cplusplus)
52
}
53
#endif
54
55
#endif
/* __nsmparse_h__ */
NSMparse_struct
Definition:
nsmparse.h:20
daq
slc
nsm2
corelib
nsmparse.h
Generated on Mon Sep 23 2024 14:01:27 for Belle II Software by
1.9.1