2007-05-06 19:50:28 +02:00
|
|
|
#ifndef _DWARVES_EMIT_H_
|
|
|
|
#define _DWARVES_EMIT_H_ 1
|
2009-03-14 17:50:36 +01:00
|
|
|
/*
|
2019-01-15 18:28:24 +01:00
|
|
|
SPDX-License-Identifier: GPL-2.0-only
|
|
|
|
|
2007-05-06 19:50:28 +02:00
|
|
|
Copyright (C) 2006 Mandriva Conectiva S.A.
|
|
|
|
Copyright (C) 2006 Arnaldo Carvalho de Melo <acme@mandriva.com>
|
|
|
|
Copyright (C) 2007 Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include <stdio.h>
|
2008-10-01 17:51:58 +02:00
|
|
|
#include "list.h"
|
2007-05-06 19:50:28 +02:00
|
|
|
|
|
|
|
struct cu;
|
|
|
|
struct ftype;
|
|
|
|
struct tag;
|
|
|
|
struct type;
|
2008-10-01 17:51:58 +02:00
|
|
|
|
|
|
|
struct type_emissions {
|
|
|
|
struct list_head definitions; /* struct type entries */
|
|
|
|
struct list_head fwd_decls; /* struct class entries */
|
|
|
|
};
|
|
|
|
|
2014-01-06 20:42:59 +01:00
|
|
|
void type_emissions__init(struct type_emissions *temissions);
|
2007-05-06 19:50:28 +02:00
|
|
|
|
2014-01-06 20:42:59 +01:00
|
|
|
int ftype__emit_definitions(struct ftype *ftype, struct cu *cu,
|
2008-10-01 17:43:01 +02:00
|
|
|
struct type_emissions *emissions, FILE *fp);
|
2014-01-06 20:42:59 +01:00
|
|
|
int type__emit_definitions(struct tag *tag, struct cu *cu,
|
2008-10-01 17:43:01 +02:00
|
|
|
struct type_emissions *emissions, FILE *fp);
|
2009-04-02 22:54:43 +02:00
|
|
|
int type__emit_fwd_decl(struct type *ctype, const struct cu *cu,
|
2008-10-01 17:43:01 +02:00
|
|
|
struct type_emissions *emissions, FILE *fp);
|
2014-01-06 20:42:59 +01:00
|
|
|
void type__emit(struct tag *tag_type, struct cu *cu,
|
2008-10-01 17:43:01 +02:00
|
|
|
const char *prefix, const char *suffix, FILE *fp);
|
2014-01-06 20:42:59 +01:00
|
|
|
struct type *type_emissions__find_definition(const struct type_emissions *temissions,
|
2009-04-02 22:54:43 +02:00
|
|
|
const struct cu *cu,
|
2008-10-01 17:43:01 +02:00
|
|
|
const char *name);
|
2007-05-06 19:50:28 +02:00
|
|
|
|
|
|
|
#endif /* _DWARVES_EMIT_H_ */
|