1 /*
2  *  gretl -- Gnu Regression, Econometrics and Time-series Library
3  *  Copyright (C) 2001 Allin Cottrell and Riccardo "Jack" Lucchetti
4  *
5  *  This program is free software: you can redistribute it and/or modify
6  *  it under the terms of the GNU General Public License as published by
7  *  the Free Software Foundation, either version 3 of the License, or
8  *  (at your option) any later version.
9  *
10  *  This program is distributed in the hope that it will be useful,
11  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  *  GNU General Public License for more details.
14  *
15  *  You should have received a copy of the GNU General Public License
16  *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
17  *
18  */
19 
20 /* struct definition: basically private but needs to be shared between
21    lib/src/dataset.c and plugin/purebin.c
22 */
23 
24 #ifndef VARINFO_PRIV_H
25 #define VARINFO_PRIV_H
26 
27 /* Warning: as things stand (2021-06-21) this struct must not be
28    modified, on pain of breaking the currently favoured means of
29    saving gretl data in binary form -- for which see purebin.c
30    in the plugin directory of the source tree. The "purebin"
31    reader works on the assumption that the size and membership
32    of this struct are known; that will be subverted if the struct
33    has been changed since data were saved as gdtb, and opening
34    a file containing an out-of-date VARINFO will almost surely
35    result in a segfault.
36 */
37 
38 struct VARINFO_ {
39     char *label;
40     char display_name[MAXDISP];
41     char parent[VNAMELEN];
42     VarFlags flags;
43     char compact_method;
44     gint64 mtime;
45     short transform;    /* note: command index of transform */
46     short lag;
47     short stack_level;
48     short midas_period;
49     char midas_freq;
50     short orig_pd;
51     series_table *st;
52 };
53 
54 #endif /* VARINFO_PRIV_H */
55