blob: 1f7559ecd976fea3acf1f209c2090a4060590432 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
/*
* Copyright (C) 2010 Citrix Ltd.
* Author Ian Jackson <ian.jackson@eu.citrix.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published
* by the Free Software Foundation; version 2.1 only. with the special
* exception on linking described in file LICENSE.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*/
#ifndef LIBXLU_INTERNAL_H
#define LIBXLU_INTERNAL_H
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <assert.h>
#include <regex.h>
#include "libxlutil.h"
struct XLU_ConfigList {
int avalues; /* available slots */
int nvalues; /* actual occupied slots */
XLU_ConfigValue **values;
};
typedef struct YYLTYPE
{
int first_line;
int first_column;
int last_line;
int last_column;
} YYLTYPE;
#define YYLTYPE_IS_DECLARED
struct XLU_ConfigValue {
enum XLU_ConfigValueType type;
union {
char *string;
XLU_ConfigList list;
} u;
YYLTYPE loc;
};
typedef struct XLU_ConfigSetting { /* transparent */
struct XLU_ConfigSetting *next;
char *name;
XLU_ConfigValue *value;
enum XLU_Operation op;
int lineno;
} XLU_ConfigSetting;
struct XLU_Config {
XLU_ConfigSetting *settings;
FILE *report;
char *config_source;
};
typedef struct {
XLU_Config *cfg;
int err, lexerrlineno, likely_python;
void *scanner;
} CfgParseContext;
#define STRINGIFY(x) #x
#define TOSTRING(x) STRINGIFY(x)
#endif /*LIBXLU_INTERNAL_H*/
/*
* Local variables:
* mode: C
* c-basic-offset: 4
* indent-tabs-mode: nil
* End:
*/
|