;
; xentry.s
;
; C library entry points
;
;  1993-1998 Straylight
;

;----- Licensing note -------------------------------------------------------
;
; This file is part of Straylight's C library stubs (xstubs).
;
; xstubs is free software; you can redistribute it and/or modify
; it under the terms of the GNU General Public License as published by
; the Free Software Foundation; either version 2, or (at your option)
; any later version.
;
; xstubs is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
; GNU General Public License for more details.
;
; You should have received a copy of the GNU General Public License
; along with xstubs.  If not, write to the Free Software Foundation,
; 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

		[	:DEF:xentry_small
		AREA	|Stub$$Entries|,NOINIT
		|
		AREA	|Stub$$Entries|,CODE,READONLY
		]

PC		RN	15

;----- Misc things ----------------------------------------------------------

		EXPORT	|__SIG_DFL|
		EXPORT	|__SIG_ERR|
		EXPORT	|__SIG_IGN|

|__SIG_DFL|	EQU	-1
|__SIG_ERR|	EQU	-2
|__SIG_IGN|	EQU	-3

;----- Macros ---------------------------------------------------------------

		MACRO
		XENTRY	$name,$synonym
		ALIGN
		EXPORT	$name
$name
		[	"$synonym"<>""
		EXPORT	$synonym
$synonym
		]

		[	:DEF:xentry_small
		DCD	0
		|
		MOV	PC,#0
		]

		MEND

;----- Kernel entry points --------------------------------------------------
;
; I've taken these directly from a dump of the original stubs, so they
; should be fairly accurate.
;

		EXPORT	xstub__ktable
		EXPORT	xstub__ektable

xstub__ktable

		XENTRY	|_kernel_init|
		XENTRY	|_kernel_exit|
		XENTRY	|_kernel_setreturncode|
		XENTRY	|_kernel_exittraphandler|
		XENTRY	|_kernel_unwind|
		XENTRY	|_kernel_procname|
		XENTRY	|_kernel_language|
		XENTRY	|_kernel_command_string|
		XENTRY	|_kernel_hostos|
		XENTRY	|_kernel_swi|
		XENTRY	|_kernel_osbyte|
		XENTRY	|_kernel_osrdch|
		XENTRY	|_kernel_oswrch|
		XENTRY	|_kernel_osbget|
		XENTRY	|_kernel_osbput|
		XENTRY	|_kernel_osgbpb|
		XENTRY	|_kernel_osword|
		XENTRY	|_kernel_osfind|
		XENTRY	|_kernel_osfile|
		XENTRY	|_kernel_osargs|
		XENTRY	|_kernel_oscli|
		XENTRY	|_kernel_last_oserror|
		XENTRY	|_kernel_system|
		XENTRY	|_kernel_getenv|
		XENTRY	|_kernel_setenv|
		XENTRY	|_kernel_register_allocs|
		XENTRY	|_kernel_alloc|
		XENTRY	|_kernel_stkovf_split_0frame|
		XENTRY	|_kernel_stkovf_split|
		XENTRY	|_kernel_stkovf_copyargs|
		XENTRY	|_kernel_stkovf_copy0args|
		XENTRY	|_kernel_udiv|
		XENTRY	|_kernel_urem|
		XENTRY	|_kernel_udiv10|,|__rt_udiv10|
		XENTRY	|_kernel_sdiv|
		XENTRY	|_kernel_srem|
		XENTRY	|_kernel_sdiv10|,|__rt_sdiv10|
		XENTRY	|_kernel_fpavailable|
		XENTRY	|_kernel_moduleinit|
		XENTRY	|_kernel_irqs_on|
		XENTRY	|_kernel_irqs_off|
		XENTRY	|_kernel_irqs_disabled|
		XENTRY	|_kernel_entermodule|
		XENTRY	|_kernel_escape_seen|
		XENTRY	|_kernel_current_stack_chunk|
		XENTRY	|_kernel_swi_c|
		XENTRY	|_kernel_register_slotextend|
		XENTRY	|_kernel_raise_error|

xstub__ektable

;----- C library entry points -----------------------------------------------

		EXPORT	xstub__ctable
		EXPORT	xstub__ectable

xstub__ctable

		XENTRY	TrapHandler
		XENTRY	UncaughtTrapHandler
		XENTRY	EventHandler
		XENTRY	UnhandledEventHandler
		XENTRY	|x$stack_overflow|,|__rt_stkovf_split_small|
		XENTRY	|x$stack_overflow_1|,|__rt_stkovf_split_big|
		XENTRY	|x$udivide|,|__rt_udiv|
		XENTRY	|x$uremainder|
		XENTRY	|x$divide|,|__rt_sdiv|
		XENTRY	|x$divtest|,|__rt_divtest|
		XENTRY	|x$remainder|
		XENTRY	|x$multiply|
		XENTRY	|_rd1chk|,|__rt_rd1chk|
		XENTRY	|_rd2chk|,|__rt_rd2chk|
		XENTRY	|_rd4chk|,|__rt_rd4chk|
		XENTRY	|_wr1chk|,|__rt_wr1chk|
		XENTRY	|_wr2chk|,|__rt_wr2chk|
		XENTRY	|_wr4chk|,|__rt_wr4chk|
		XENTRY	|_main|
		XENTRY	|_exit|
		XENTRY	|_clib_initialise|
		XENTRY	|_backtrace|
		XENTRY	|_count|
		XENTRY	|_count1|
		XENTRY	|_stfp|
		XENTRY	|_ldfp|
		XENTRY	|_printf|
		XENTRY	|_fprintf|
		XENTRY	|_sprintf|
		XENTRY	clock
		XENTRY	difftime
		XENTRY	mktime
		XENTRY	time
		XENTRY	asctime
		XENTRY	ctime
		XENTRY	gmtime
		XENTRY	localtime
		XENTRY	strftime
		XENTRY	memcpy
		XENTRY	memmove
		XENTRY	strcpy
		XENTRY	strncpy
		XENTRY	strcat
		XENTRY	strncat
		XENTRY	memcmp
		XENTRY	strcmp
		XENTRY	strncmp
		XENTRY	memchr
		XENTRY	strchr
		XENTRY	strcspn
		XENTRY	strpbrk
		XENTRY	strrchr
		XENTRY	strspn
		XENTRY	strstr
		XENTRY	strtok
		XENTRY	memset
		XENTRY	strerror
		XENTRY	strlen
		XENTRY	atof
		XENTRY	atoi
		XENTRY	atol
		XENTRY	strtod
		XENTRY	strtol
		XENTRY	strtoul
		XENTRY	rand
		XENTRY	srand
		XENTRY	calloc
		XENTRY	free
		XENTRY	malloc
		XENTRY	realloc
		XENTRY	abort
		XENTRY	atexit
		XENTRY	exit
		XENTRY	getenv
		XENTRY	system
		XENTRY	bsearch
		XENTRY	qsort
		XENTRY	abs
		XENTRY	div
		XENTRY	labs
		XENTRY	ldiv
		XENTRY	remove
		XENTRY	rename
		XENTRY	tmpfile
		XENTRY	|__old_tmpnam|
		XENTRY	fclose
		XENTRY	fflush
		XENTRY	fopen
		XENTRY	freopen
		XENTRY	setbuf
		XENTRY	setvbuf
		XENTRY	printf
		XENTRY	fprintf
		XENTRY	sprintf
		XENTRY	scanf
		XENTRY	fscanf
		XENTRY	sscanf
		XENTRY	vprintf
		XENTRY	vfprintf
		XENTRY	vsprintf
		XENTRY	|_vfprintf|
		XENTRY	fgetc
		XENTRY	fgets
		XENTRY	fputc
		XENTRY	fputs
		XENTRY	|__filbuf|
		XENTRY	getc
		XENTRY	getchar
		XENTRY	gets
		XENTRY	|__flsbuf|
		XENTRY	putc
		XENTRY	putchar
		XENTRY	puts
		XENTRY	ungetc
		XENTRY	fread
		XENTRY	fwrite
		XENTRY	fgetpos
		XENTRY	fseek
		XENTRY	fsetpos
		XENTRY	ftell
		XENTRY	rewind
		XENTRY	clearerr
		XENTRY	feof
		XENTRY	ferror
		XENTRY	perror
		XENTRY	|__ignore_signal_handler|
		XENTRY	|__default_signal_handler|
		XENTRY	|__error_signal_marker|
		XENTRY	signal
		XENTRY	raise
		XENTRY	setjmp
		XENTRY	longjmp
		XENTRY	acos
		XENTRY	asin
		XENTRY	atan
		XENTRY	atan2
		XENTRY	cos
		XENTRY	sin
		XENTRY	tan
		XENTRY	cosh
		XENTRY	sinh
		XENTRY	tanh
		XENTRY	exp
		XENTRY	frexp
		XENTRY	ldexp
		XENTRY	log
		XENTRY	log10
		XENTRY	modf
		XENTRY	pow
		XENTRY	sqrt
		XENTRY	ceil
		XENTRY	fabs
		XENTRY	floor
		XENTRY	fmod
		XENTRY	setlocale
		XENTRY	isalnum
		XENTRY	isalpha
		XENTRY	iscntrl
		XENTRY	isdigit
		XENTRY	isgraph
		XENTRY	islower
		XENTRY	isprint
		XENTRY	ispunct
		XENTRY	isspace
		XENTRY	isupper
		XENTRY	isxdigit
		XENTRY	tolower
		XENTRY	toupper
		XENTRY	|__assert|
		XENTRY	|_memcpy|
		XENTRY	|_memset|
		XENTRY	localeconv
		XENTRY	mblen
		XENTRY	mbtowc
		XENTRY	wctomb
		XENTRY	mbstowcs
		XENTRY	wcstombs
		XENTRY	strxfrm
		XENTRY	strcoll
		XENTRY	|_clib_finalisemodule|
		XENTRY	|_clib_version|
		XENTRY	Finalise
		XENTRY	tmpnam
		[	:DEF:xentry_swi
		XENTRY	|_swi|
		XENTRY	|_swix|
		]

xstub__ectable

		END
