1 /*-------------------------------------------------------------------------
2 
3   main.h - header file for pic16 specific general functions.
4 
5   Copyright (C) 2000, Scott Dattalo scott@dattalo.com
6   Copyright (C) 2002, Martin Dubuc m.debuc@rogers.com
7 
8   Written by - Scott Dattalo scott@dattalo.com
9   Ported to PIC16 by - Martin Dubuc m.debuc@rogers.com
10 
11   This program is free software; you can redistribute it and/or modify it
12   under the terms of the GNU General Public License as published by the
13   Free Software Foundation; either version 2, or (at your option) any
14   later version.
15 
16   This program is distributed in the hope that it will be useful,
17   but WITHOUT ANY WARRANTY; without even the implied warranty of
18   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19   GNU General Public License for more details.
20 
21   You should have received a copy of the GNU General Public License
22   along with this program; if not, write to the Free Software
23   Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
24 -------------------------------------------------------------------------*/
25 
26 #ifndef MAIN_INCLUDE
27 #define MAIN_INCLUDE
28 
29 #include "ralloc.h"
30 
31 bool x_parseOptions (char **argv, int *pargc);
32 void x_setDefaultOptions (void);
33 void x_finaliseOptions (void);
34 
35 
36 typedef struct {
37   char *at_udata;
38 } pic16_sectioninfo_t;
39 
40 typedef struct absSym {
41   char name[SDCC_SYMNAME_MAX+1];
42   unsigned int address;
43 } absSym;
44 
45 typedef struct sectName {
46   char *name;
47   set *regsSet;
48 } sectName;
49 
50 typedef struct sectSym {
51   sectName *section;
52   char *name;
53   reg_info *reg;
54 } sectSym;
55 
56 extern set *absSymSet;
57 extern set *sectNames;
58 extern set *sectSyms;
59 extern set *wparamList;
60 
61 extern int pic16_mplab_comp;
62 
63 #endif
64