/********************************************************************
 *  Shinobi Library
 *  Copyright (c) 1998, 2000 SEGA
 *
 *  Library : call global constructor / destructor
 *  File    : sg_sysrt.h
 *  Date    : 2000-04-04
 *  Version : 2.00
 *
 ********************************************************************/

#ifndef _SG_SYSRT_H_
#define _SG_SYSRT_H_

#ifdef __cplusplus
extern "C"{                                 /* Only C++ Interface  */
#endif /* __cplusplus  */

/**  Global constructor/destructor functions  **/
void syStartGlobalConstructor( void ) ;         /* For SHC V5.1 */
void syStartGlobalDestructor ( void ) ;         /* For SHC V5.1 */
void syStartGlobalConstructorSegaLib( void ) ;  /* For library object only */
void syStartGlobalDestructorSegaLib( void ) ;   /* For library object only */
void __call_static_initializers (void);         /* For CodeWarrior */
void __destroy_global_chain (void);             /* For CodeWarrior */
void __do_global_ctors (void);                  /* For GCC */
void __do_global_dtors (void);                  /* For GCC */
void _call_init(void); /* For SHC V6.0 */
void _call_end(void);  /* For SHC V6.0 */
extern void * _START_DSG_INIT_; /* Global Constructor table start for SEGA LIB */
extern void * _END_DSG_INIT_;   /* Global Constructor table end for SEGA LIB */
extern void * _START_DSG_END_ ; /* Global Destructor table start for SEGA LIB */
extern void * _END_DSG_END_ ;   /* Global Destructor table end for SEGA LIB */

#ifdef __cplusplus
}
#endif /* __cplusplus  */

#endif /* _SG_SYSRT_H_ */
/****************************************** End of sg_sysrt.h *******/
