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, []...) 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)