PiDP-8/I Software

Documentation
Log In
/*
 * This file is part of the CC8 cross-compiler.
 *
 * The CC8 cross-compiler 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 3 of the
 * License, or (at your option) any later version.
 *
 * The CC8 cross-compiler 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 the CC8 cross-compiler as ../GPL3.txt.  If not, see
 * <http://www.gnu.org/licenses/>.
 */

/*
 * Libc header
 *
 * Please note: no function declarations are made, so make sure the
 * arg lists are correct in the calling code.
 * 
 */

/*
 * WARNING: The following values are indices into the function call
 * table declared in libc.c.  (Search for "CLIST".)  These two lists
 * must match.
 *
 * The indices are in octal, and it is *critical* that they be be so,
 * because these values are treated as text by the compiler, not as C
 * integers.  The compiler emits these numeric strings in the generated
 * SABR code to call through the CLIST table, so since SABR runs in
 * octal mode under CC8, the following indices also have to be in octal.
 */
#define itoa libc0
#define	puts libc1
#define	dispxy libc2
#define	getc libc3
#define	gets libc4
#define	atoi libc5
#define	strpd libc6
#define	xinit libc7
#define	memcpy libc10
#define	kbhit libc11
#define	putc libc12
#define	strcpy libc13
#define	strcat libc14
#define	strstr libc15
#define	exit libc16
#define	isnum libc17
#define	isalpha libc20
#define	toupper libc21
#define	memset libc22
#define	fgetc libc23
#define	fopen libc24
#define fputc libc25
#define fclose libc26
#define revcpy libc27
#define isalnum libc30
#define isspace libc31
#define fgets libc32
#define	fputs libc33
#define strcmp libc34
#define cupper libc35
#define fprintf vlibc36
#define printf vlibc37
#define sprintf vlibc40
#define sscanf vlibc41
#define scanf vlibc42
#define fscanf vlibc43

/* Declare function aliases. */ 
#define isdigit isnum