* Match mtx and Padclamp.c * Match the rest of GX * Import TRK 2.6 * Import MSL headers and files * Merge some MSL headers into ours
44 lines
1.4 KiB
C
44 lines
1.4 KiB
C
#ifndef _RUNTIME_MWCPLUSLIB_H
|
|
#define _RUNTIME_MWCPLUSLIB_H
|
|
|
|
#include "stddef.h"
|
|
|
|
#define CTORARG_TYPE int
|
|
#define CTORARG_PARTIAL (0)
|
|
#define CTORARG_COMPLETE (1)
|
|
|
|
#define CTORCALL_COMPLETE(ctor, objptr) \
|
|
(((void (*)(void*, CTORARG_TYPE))ctor)(objptr, CTORARG_COMPLETE))
|
|
|
|
#define DTORARG_TYPE int
|
|
|
|
#define DTORCALL_COMPLETE(dtor, objptr) \
|
|
(((void (*)(void*, DTORARG_TYPE))dtor)(objptr, -1))
|
|
#define DTORCALL_PARTIAL(dtor, objptr) \
|
|
(((void (*)(void*, DTORARG_TYPE))dtor)(objptr, 0))
|
|
|
|
typedef void* ConstructorDestructor;
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
extern void* __copy(char* to, char* from, size_t size);
|
|
|
|
extern void __construct_array(void* ptr, ConstructorDestructor ctor,
|
|
ConstructorDestructor dtor, size_t size,
|
|
size_t n);
|
|
extern void __destroy_arr(void* block, ConstructorDestructor* dtor, size_t size,
|
|
size_t n);
|
|
extern void* __construct_new_array(void* block, ConstructorDestructor ctor,
|
|
ConstructorDestructor dtor_arg, size_t size,
|
|
size_t n);
|
|
extern void __destroy_new_array(void* block, ConstructorDestructor dtor);
|
|
extern void __destroy_new_array2();
|
|
extern void __destroy_new_array3();
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|