VTC Primitives List

An asterix before the name of a primitive indicates that the primitive
sets the errflag and errmsg builtins.


Arrays
------
NULL		acopy(APTR dest, APTR src, INT n)
APTR/PLIST/NULL alloc(INT size, [ASSOC assoc])
APTR/SPTR	base(APTR/SPTR/PLIST ptr)
INT		garbage()
APTR/INT	lookup(ASSOC/PLIST/WIN/RMT plist, SPTR name)
ASSOC		new_assoc()

Environment
-----------
SPTR/NULL      *getenv(SPTR envvar)
INT		system(SPTR cmd)

Files
-----
NULL	       *fclose(FILE file)
INT		feof(FILE file)
SPTR		file_name(FILE file)
FILE/NULL	find_file(SPTR name)
INT		fflush(FILE file)
INT	       *fgetc(FILE file)
INT	       *fmtime(SPTR filename)
FILE/NULL      *fopen(SPTR name, SPTR mode)
INT	       *fputc(INT char, FILE file)
SPTR/NULL      *fread(FILE file)
INT	       *fseek(FILE file, INT offset, INT base)
INT	       *fsize(SPTR filename)
INT	       *ftell(FILE file)
INT	       *fwrite(FILE file, SPTR text)
INT	       *load_file(SPTR filename)
FILE/NULL      *popen(SPTR cmd, SPTR mode)
INT	       *unlink(SPTR filename)

Functions
---------
NULL		abort()
??		callv(FPTR/PPTR func, [<group>]...)
NULL		detach(FPTR/PPTR func, args...)
FPTR/NULL	find_func(SPTR name)
PPTR/NULL	find_prmt(SPTR name)
SPTR		func_name(FPTR func)

Key Bindings
------------
KEY/NULL	bind(SPTR sequence, INT/FPTR func)
KEY/NULL	find_key(SPTR sequence)
FPTR/INT	key_func(KEY key)
SPTR		key_seq(KEY key)
NULL		unbind(KEY key)

Key Buffer
----------
NULL		edfunc(INT kfunc)
INT		getch(INT type, [WIN win])
NULL		insert(SPTR text)

Miscellaneous
-------------
SPTR		ctime(INT time)
APTR		find_var(SPTR name)
??		head(INT type)
??		next(?? node)
NULL		parse(SPTR str)
??		prev(?? node)
NULL		quit()
NULL		rndseed(INT seed)
NULL		sleep(INT seconds)
??		tail(INT type)
INT		type(?? data)

Regexps
-------
REG/NULL       *regcomp(SPTR regstr)
INT		regexec(REG regexp, SPTR text)
SPTR/NULL	regmatch(REG regexp, INT num)
INT		smatch(SPTR pattern, SPTR text)

Remotes
-------
RMT	       *connect(SPTR address, INT port)
NULL		disconnect(RMT rmt)
INT		input_waiting(RMT/FILE/0 stream)
RMT/NULL	find_rmt(SPTR name)
??		obj(WIN/RMT thing)
NULL		pass(WIN/RMT thing, SPTR text)
SPTR		read([WIN/RMT thing])
SPTR		reread([WIN/RMT thing])
SPTR		rmt_addr(RMT rmt)
INT		rmt_back(RMT rmt)
INT		rmt_busy(RMT rmt)
INT		rmt_echo(RMT rmt)
INT		rmt_eor(RMT rmt)
SPTR		rmt_name(RMT rmt)
FPTR/NULL	rmt_netread(RMT rmt)
INT		rmt_port(RMT rmt)
FPTR/NULL	rmt_promptread(RMT rmt)
INT		rmt_raw(RMT rmt)
WIN/NULL	rmt_win(RMT rmt)
NULL	       *send([RMT/NULL rmt], SPTR text, ...)
NULL		set_back(RMT rmt, INT val)
NULL		set_busy(RMT rmt, INT val)
NULL		set_netread(RMT rmt, FPTR func or NULL)
NULL		set_obj(WIN/RMT thing, ?? object)
NULL		set_promptread(RMT rmt, FPTR func or NULL)
NULL		set_raw(RMT rmt, INT val)

Screen
------
NULL		bold(INT state)
NULL		clreol()
NULL		clrscr()
NULL		cmove(INT row, INT col)
NULL		curs_reset()
NULL		scroll(INT top, INT bottom)
NULL		scr_fwd(INT lines)
NULL		scr_rev(INT lines)
NULL		write(SPTR text, ...)

Strings
-------
INT		atoi(SPTR str)
SPTR		itoa(INT num)
INT		lcase(INT char)
SPTR		strcpy(SPTR dest, SPTR src, [INT n])
SPTR		strcat(SPTR dest, SPTR src, [INT n])
SPTR		strdup(SPTR str)
SPTR		strcmp(SPTR str1, SPTR str2, [INT n])
SPTR		stricmp(SPTR str1, SPTR sptr2, [INT n])
SPTR/NULL	strchr(SPTR str1, INT c, [INT n])
SPTR/NULL	strrchr(SPTR str1, INT c, [INT n])
INT		strcspn(SPTR text, SPTR search)
SPTR/NULL	strstr(SPTR str1, SPTR str2)
SPTR/NULL	stristr(SPTR str1, SPTR str2)
SPTR		strupr(SPTR str)
SPTR		strlwr(SPTR str)
INT		strlen(SPTR str)
INT		ucase(INT char)
SPTR		wrap(SPTR text, INT margin, [INT indent], [INT start])

Windows
-------
INT	       *close(WIN win, INT dir)
NULL	       *display(WIN win, RMT/NULL rmt)
NULL		echo([WIN/NULL win], SPTR text, ...)
??		obj(WIN/RMT thing)
NULL		pass(WIN/RMT thing, SPTR text)
SPTR		read([WIN/RMT thing])
SPTR		reread([WIN/RMT thing])
INT	       *resize(WIN win, INT row)
NULL		set_obj(WIN/RMT thing, ?? object)
NULL		set_termread(WIN win, FPTR/NULL func)
INT	       *split(WIN win, INT row)
INT		win_bottom(WIN win)
INT		win_col(WIN win)
RMT/NULL	win_rmt(WIN win)
FPTR/NULL	win_termread(WIN win)
INT		win_top(WIN win)


