/* XDS v2.51: Copyright (c) 1999-2003 Excelsior, LLC. All Rights Reserved. */
/* Generated by XDS Modula-2 to ANSI C v4.20 translator */

#ifndef oberonRTS_H_
#define oberonRTS_H_
#ifndef X2C_H_
#include "X2C.h"
#endif

typedef void *oberonRTS_Module;

typedef void *oberonRTS_Type;

typedef X2C_PROC oberonRTS_Command;

typedef X2C_CARD32 oberonRTS_CARDINAL;

typedef void ( *oberonRTS_Finalizer)(X2C_ADDRESS);

extern oberonRTS_Module oberonRTS_nullModule;

extern oberonRTS_Type oberonRTS_nullType;

extern void oberonRTS_Collect(void);

extern void oberonRTS_CompactHeap(void);

extern void oberonRTS_GetInfo(X2C_CARD32 *, X2C_CARD32 *);

extern void oberonRTS_gcAnchorTrace(X2C_BOOLEAN);

extern void oberonRTS_InstallFinalizer(oberonRTS_Finalizer, X2C_ADDRESS);

extern oberonRTS_Module oberonRTS_Search(X2C_CHAR [], X2C_CARD32);

extern void oberonRTS_NameOfModule(oberonRTS_Module, X2C_CHAR [],
                X2C_CARD32);

extern X2C_PROC oberonRTS_ThisCommand(oberonRTS_Module, X2C_CHAR [],
                X2C_CARD32);

extern oberonRTS_Type oberonRTS_ThisType(oberonRTS_Module, X2C_CHAR [],
                X2C_CARD32);

extern X2C_INT32 oberonRTS_SizeOf(oberonRTS_Type);

extern oberonRTS_Type oberonRTS_BaseOf(oberonRTS_Type, X2C_INT32);

extern X2C_INT32 oberonRTS_LevelOf(oberonRTS_Type);

extern oberonRTS_Module oberonRTS_ModuleOf(oberonRTS_Type);

extern void oberonRTS_NameOfType(oberonRTS_Type, X2C_CHAR [], X2C_CARD32);

extern oberonRTS_Type oberonRTS_TypeOf(X2C_ADDRESS);

extern X2C_ADDRESS oberonRTS_NewObj(oberonRTS_Type);

typedef X2C_BOOLEAN ( *oberonRTS_NameIterator)(X2C_ADDRESS, X2C_CHAR [],
                X2C_CARD32);

extern void oberonRTS_IterModules(X2C_ADDRESS, oberonRTS_NameIterator);

extern void oberonRTS_IterCommands(oberonRTS_Module, X2C_ADDRESS,
                oberonRTS_NameIterator);

extern void oberonRTS_IterTypes(oberonRTS_Module, X2C_ADDRESS,
                oberonRTS_NameIterator);


extern void oberonRTS_BEGIN(void);


#endif /* oberonRTS_H_ */
