-/* Copyright (C) 1998 - 2000 by Universitaet Karlsruhe
-** All rights reserved.
-**
-** Authors: Martin Trapp, Christian Schaefer
-**
-*/
+/*
+ * Project: libFIRM
+ * File name: ir/tr/mangle.h
+ * Purpose: Methods to manipulate names.
+ * Author: Martin Trapp, Christian Schaefer
+ * Modified by: Goetz Lindenmaier
+ * Created:
+ * CVS-ID: $Id$
+ * Copyright: (c) 1998-2003 Universität Karlsruhe
+ * Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE.
+ */
-# include "ident.h"
-# include "entity.h"
-# include "type.h"
+/**
+ * @file mangle.h
+ *
+ * FIRM name mangling -- methods to manipulate names.
+ *
+ * @author Martin Trapp, Christian Schaefer
+ */
+#ifndef _MANGLE_H_
+#define _MANGLE_H_
-void init_mangle (void);
+#include "ident.h"
+#include "entity.h"
-/* Computes a definite name for this entity by concatenating
+/** initializes the name mangling code */
+void firm_init_mangle (void);
+
+/** Computes a definite name for this entity by concatenating
the name of the owner type and the name of the entity with
- a separating "_". f*/
-ident *mangle_entity (entity *ent);
+ a separating "_". */
+ident *mangle_entity (ir_entity *ent);
+
+/** mangle underscore: Returns a new ident that represents first_scnd. */
+ident *mangle_u (ident *first, ident* scnd);
+
+/** mangle dot: Returns a new ident that represents first.scnd. */
+ident *mangle_dot (ident *first, ident* scnd);
+
+/** mangle: Returns a new ident that represents firstscnd. */
+ident *mangle (ident *first, ident* scnd);
+
+/** returns a mangled name for a Win32 function using it's calling convention */
+ident *decorate_win32_c_fkt(ir_entity *ent);
-/* Sorry, I'm not sure what this does... */
-ident *mangle_type (type *type);
+#endif /* _MANGLE_H_ */