/*
 * $Id: libC.h,v 1.1 2003/02/07 18:15:44 wheeler Exp $
 *
 * C++関連のヘッダ
 *
 * $Log: libC.h,v $
 * Revision 1.1  2003/02/07 18:15:44  wheeler
 * Fox's version of libultra and friends.
 *
 * Revision 1.5  1996/10/24  06:25:22  hayakawa
 * マロック関係の分離
 *
 * Revision 1.4  1996/10/24  00:45:16  hayakawa
 * malloc のデバッグインターフェース修正
 *
 * Revision 1.3  1996/10/24  00:29:28  hayakawa
 * malloc に付加情報を追加
 *
 * Revision 1.2  1996/10/16  05:39:41  hayakawa
 * 外部リンケージの変更
 * いらない関数の排除
 *
 */

#ifndef __LIBC_H_
#define __LIBC_H_

#include "ultra64.h"
#include "u64types.h"

#ifdef _LANGUAGE_C_PLUS_PLUS

extern void* operator new(size_t size);
extern void operator delete(void *ptr);

extern "C" {
    
#endif
    
    void __pure_virtual_called( void );
    void __vec_ct(void *vec, int n, int size, void *f);
    void __vec_dt(void *vec, int n, int size, void *f);
    void *__vec_new(void *vec, int n, int size, void *f);
    void __vec_delete(void * vec, int n, int size, void * f, int del, int);
    void __CallLibGlobalCtors( void );
    void osInitializeCPP( u8 *base, s32 len ) ;

#ifdef _LANGUAGE_C_PLUS_PLUS
} /* extern "C" */
#endif

#endif
