56 lines
1.7 KiB
C
56 lines
1.7 KiB
C
#ifndef _ATEXIT_H_
|
|
#define _ATEXIT_H_
|
|
|
|
/*-
|
|
* Copyright (c) 1990 The Regents of the University of California.
|
|
* All rights reserved.
|
|
*
|
|
* Redistribution and use in source and binary forms are permitted
|
|
* provided that: (1) source distributions retain this entire copyright
|
|
* notice and comment, and (2) distributions including binaries display
|
|
* the following acknowledgement: ``This product includes software
|
|
* developed by the University of California, Berkeley and its contributors''
|
|
* in the documentation or other materials provided with the distribution
|
|
* and in all advertising materials mentioning features or use of this
|
|
* software. Neither the name of the University nor the names of its
|
|
* contributors may be used to endorse or promote products derived
|
|
* from this software without specific prior written permission.
|
|
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
|
|
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
|
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
|
*
|
|
* @(#)atexit.h 5.1 (Berkeley) 5/15/90
|
|
*/
|
|
|
|
/* must be at least 32 to guarantee ANSI conformance */
|
|
#define ATEXIT_SIZE 32
|
|
|
|
#ifndef NATIVE_MORPHOS
|
|
|
|
struct atexit {
|
|
struct atexit *next; /* next in list */
|
|
int ind; /* next index in this table */
|
|
void (*fns[ATEXIT_SIZE])(); /* the table itself */
|
|
};
|
|
|
|
#else
|
|
|
|
struct atexit_entry {
|
|
int is_68k;
|
|
void (*fn)();
|
|
};
|
|
|
|
struct atexit {
|
|
struct atexit *next; /* next in list */
|
|
int ind; /* next index in this table */
|
|
struct atexit_entry fns[ATEXIT_SIZE]; /* the table itself */
|
|
};
|
|
|
|
#endif
|
|
|
|
#if 0
|
|
struct atexit *__atexit; /* points to head of LIFO stack */
|
|
#endif
|
|
|
|
#endif
|