ReactOS 0.4.15-dev-7704-gc07eb9f
widl.h
Go to the documentation of this file.
1/*
2 * IDL Compiler
3 *
4 * Copyright 2002 Ove Kaaven
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 */
20
21#ifndef __WIDL_WIDL_H
22#define __WIDL_WIDL_H
23
24#include "widltypes.h"
25
26#include <time.h>
27
28extern int debuglevel;
29#define DEBUGLEVEL_NONE 0x0000
30#define DEBUGLEVEL_CHAT 0x0001
31#define DEBUGLEVEL_DUMP 0x0002
32#define DEBUGLEVEL_TRACE 0x0004
33#define DEBUGLEVEL_PPMSG 0x0008
34#define DEBUGLEVEL_PPLEX 0x0010
35#define DEBUGLEVEL_PPTRACE 0x0020
36
37extern int pedantic;
38extern int do_everything;
39extern int do_header;
40extern int do_typelib;
41extern int do_old_typelib;
42extern int do_proxies;
43extern int do_client;
44extern int do_server;
45extern int do_regscript;
46extern int do_idfile;
47extern int do_dlldata;
48extern int old_names;
49extern int win32_packing;
50extern int win64_packing;
51extern int winrt_mode;
52extern int use_abi_namespace;
53
54extern char *input_name;
55extern char *input_idl_name;
56extern char *acf_name;
57extern char *header_name;
58extern char *header_token;
59extern char *local_stubs_name;
60extern char *typelib_name;
61extern char *dlldata_name;
62extern char *proxy_name;
63extern char *proxy_token;
64extern char *client_name;
65extern char *client_token;
66extern char *server_name;
67extern char *server_token;
68extern char *regscript_name;
69extern char *regscript_token;
70extern const char *prefix_client;
71extern const char *prefix_server;
72extern unsigned int pointer_size;
73extern time_t now;
74
75extern int line_number;
76extern int char_number;
77
79{
81};
82
83extern enum target_cpu target_cpu;
84
86{
87 MODE_Os, /* inline stubs */
88 MODE_Oi, /* old-style interpreted stubs */
89 MODE_Oif /* new-style fully interpreted stubs */
90};
91extern enum stub_mode get_stub_mode(void);
92
93extern void write_header(const statement_list_t *stmts);
94extern void write_id_data(const statement_list_t *stmts);
95extern void write_proxies(const statement_list_t *stmts);
96extern void write_client(const statement_list_t *stmts);
97extern void write_server(const statement_list_t *stmts);
98extern void write_regscript(const statement_list_t *stmts);
99#ifndef __REACTOS__
100extern void write_typelib_regscript(const statement_list_t *stmts);
101#endif
102extern void output_typelib_regscript( const typelib_t *typelib );
103extern void write_local_stubs(const statement_list_t *stmts);
104extern void write_dlldata(const statement_list_t *stmts);
105
106extern void start_cplusplus_guard(FILE *fp);
107extern void end_cplusplus_guard(FILE *fp);
108
109#endif
static ITypeLib * typelib
Definition: apps.c:108
Definition: list.h:37
__kernel_time_t time_t
Definition: linux.h:252
void start_cplusplus_guard(FILE *fp)
Definition: widl.c:340
void output_typelib_regscript(const typelib_t *typelib)
Definition: register.c:304
char * acf_name
Definition: widl.c:135
int do_header
Definition: widl.c:116
const char * prefix_server
Definition: widl.c:152
int use_abi_namespace
Definition: widl.c:130
int do_idfile
Definition: widl.c:123
int do_regscript
Definition: widl.c:122
char * client_token
Definition: widl.c:144
time_t now
Definition: finger.c:65
void write_local_stubs(const statement_list_t *stmts)
Definition: header.c:1403
char * typelib_name
Definition: widl.c:139
unsigned int pointer_size
Definition: widl.c:158
int do_server
Definition: widl.c:121
char * dlldata_name
Definition: widl.c:140
char * server_name
Definition: widl.c:145
int do_everything
Definition: widl.c:114
char * proxy_name
Definition: widl.c:141
void write_regscript(const statement_list_t *stmts)
Definition: register.c:237
char * input_idl_name
Definition: widl.c:134
char * local_stubs_name
Definition: widl.c:137
char * regscript_name
Definition: widl.c:147
char * header_token
Definition: widl.c:138
int do_typelib
Definition: widl.c:117
void write_server(const statement_list_t *stmts)
Definition: server.c:536
int old_names
Definition: widl.c:126
char * server_token
Definition: widl.c:146
int win64_packing
Definition: widl.c:128
int winrt_mode
Definition: widl.c:129
int win32_packing
Definition: widl.c:127
int char_number
void write_typelib_regscript(const statement_list_t *stmts)
Definition: register.c:280
int do_old_typelib
Definition: widl.c:118
void write_client(const statement_list_t *stmts)
Definition: client.c:619
void write_header(const statement_list_t *stmts)
Definition: header.c:1790
stub_mode
Definition: widl.h:86
@ MODE_Os
Definition: widl.h:87
@ MODE_Oif
Definition: widl.h:89
@ MODE_Oi
Definition: widl.h:88
target_cpu
Definition: widl.h:79
@ CPU_LAST
Definition: widl.h:80
@ CPU_ARM
Definition: widl.h:80
@ CPU_x86_64
Definition: widl.h:80
@ CPU_x86
Definition: widl.h:80
@ CPU_ARM64
Definition: widl.h:80
@ CPU_POWERPC
Definition: widl.h:80
int do_proxies
Definition: widl.c:119
char * regscript_token
Definition: widl.c:148
void write_dlldata(const statement_list_t *stmts)
Definition: widl.c:422
char * client_name
Definition: widl.c:143
void write_proxies(const statement_list_t *stmts)
Definition: proxy.c:1077
void end_cplusplus_guard(FILE *fp)
Definition: widl.c:347
char * proxy_token
Definition: widl.c:142
int line_number
Definition: widl.c:154
void write_id_data(const statement_list_t *stmts)
Definition: widl.c:529
enum stub_mode get_stub_mode(void)
Definition: widl.c:211
int do_client
Definition: widl.c:120
int debuglevel
Definition: widl.c:110
int pedantic
Definition: widl.c:113
int do_dlldata
Definition: widl.c:124
char * header_name
Definition: widl.c:136
char * input_name
Definition: widl.c:133
const char * prefix_client
Definition: widl.c:151