28 int allargs=1,allvalues=1,i;
62 Errorline(
"Illegal argument in %P.\n",funct);
70 if (argi[i].options&POLYTYPE) {
80 if (argi[i].options&JUSTFAIL)
return FALSE;
81 Errorline(
"Illegal argument in %P.\n",funct);
87 else if (!(argi[i].options&
NOVALUE)) allvalues=0;
93 Errorline(
"Missing argument '%s' in %P.\n",argi[i].feature,funct);
96 else if (argi[i].options&
REQUIRED) allargs=0;
101 return fun(argo,result,funct,info);
104 for (i=0;i<num;i++) {
106 if (argo[i] && !(argi[i].options&
UNEVALED) && !argo[i]->value_3)
129 char *b = (
char *)
heap_alloc(bytes+
sizeof(bytes));
130 *((
long *) b) = bytes;
131 bzero(b+
sizeof(bytes),bytes);
133 temp_result->
type=sort;
138 #define BYTEDATA_SIZE(X) (*(unsigned long *)(X->value_3))
139 #define BYTEDATA_DATA(X) ((char*)((char*)X->value_3 + sizeof(unsigned long)))
156 long bits = *(
REAL *)args[0]->value_3;
158 Errorline(
"negative argument in %P.\n",funct);
161 unsigned long bytes = bits /
sizeof(char);
163 if ((bits %
sizeof(
char)) != 0) bytes++;
196 unsigned long size1 = *bv1;
197 unsigned long size2 = *bv2;
198 unsigned long size3 = (size1>size2)?size1:size2;
200 unsigned char *s1 = ((
unsigned char*)bv1)+
sizeof(size1);
201 unsigned char *s2 = ((
unsigned char*)bv2)+
sizeof(size2);
202 unsigned char *s3 = ((
unsigned char *) temp_result->
value_3) +
sizeof(size3);
206 for(i=0;i<size3;i++) s3[i] = s1[i] & s2[i];
207 if (size1<size2)
for(;i<size2;i++) s3[i] = 0;
208 else for(;i<size1;i++) s3[i] = 0;
211 for(i=0;i<size3;i++) s3[i] = s1[i] | s2[i];
212 if (size1<size2)
for(;i<size2;i++) s3[i] = s2[i];
213 else for(;i<size1;i++) s3[i] = s1[i];
216 for(i=0;i<size3;i++) s3[i] = s1[i] ^ s2[i];
217 if (size1<size2)
for(;i<size2;i++) s3[i] = (
unsigned char) 0 ^ s2[i];
218 else for(;i<size1;i++) s3[i] = s1[i] ^ (
unsigned char) 0;
238 (
unsigned long *)args[1]->value_3,
299 unsigned long size1 = *bv1;
300 unsigned char *s1 = ((
unsigned char*)bv1)+
sizeof(size1);
307 s3 = ((
unsigned char *) temp_result->
value_3) +
sizeof(size1);
308 for(i=0;i<size1;i++) s3[i] = ~(s1[i]);
313 register unsigned char c;
314 for(i=0;i<size1;i++) {
323 if (c & 1<<7) cnt++; }
397 unsigned long size1 = *bv1;
398 unsigned char *s1 = ((
unsigned char*)bv1)+
sizeof(size1);
399 unsigned long i = idx /
sizeof(char);
400 int j = idx %
sizeof(char);
403 if (idx<0 || idx>=size1) {
404 Errorline(
"Index out of bound in %P.\n",funct);
412 s2 = ((
unsigned char *) temp_result->
value_3) +
sizeof(size1);
418 s2 = ((
unsigned char *) temp_result->
value_3) +
sizeof(size1);
439 (
long)*((
REAL*)args[1]->value_3),
490 #include "regexp/regexp.h"
500 fprintf(stderr,
"Regexp Error: %s\n",s);
517 regexp * re = regcomp((
char *)args[0]->value_3);
520 Errorline(
"compilation of regular expression failed in %P.\n",funct);
530 bytes = last_regsize();
540 if (re->regmust !=
NULL)
541 re->regmust = (
char *) ((
unsigned long) (re->regmust - (
char *)re));
542 bcopy((
char*)re,((
char*)temp_result->
value_3)+
sizeof(
unsigned long),bytes);
578 regexp * re = (regexp*)(((
char *)args[0]->value_3)+
sizeof(
unsigned long));
579 char * must = re->regmust;
584 offset = *(
REAL*)args[3]->value_3;
585 if (offset < 0 || offset > strlen((
char*)args[1]->
value_3)) {
586 Errorline(
"Illegal offset in %P.\n",funct);
591 re->regmust = (
char*)re+(
unsigned long)must;
593 if (regexec(re,((
char *)args[1]->value_3) + offset) == 0) {
594 if (must !=
NULL) re->regmust = must;
599 char **sp = re->startp;
600 char **ep = re->endp;
604 if (must !=
NULL) re->regmust = must;
608 for (i=0;i<NSUBEXP;i++,sp++,ep++) {
609 if (*sp==
NULL)
break;
610 (void)snprintf(buffer_loc,5,
"%d",i);
618 stack_int(*ep - (
char *)args[1]->value_3 + 1));
629 for (i=0;i<NSUBEXP;i++,sp++,ep++) {
630 if (*sp==
NULL)
break;
631 (void)snprintf(buffer_loc,5,
"%d",i);
633 stack_int(*ep - (
char *)args[1]->value_3 + 1));
677 #define FP_PREPARE(s,OP) \
678 if (s->op != OP && s->op != FP_NONE) fflush(s->fp); \
706 FILE *fp = fdopen((
int)*(
REAL*)args[0]->value_3,
707 (
char*)args[1]->value_3);
741 FILE *fp = fopen((
char*)args[0]->value_3,
742 (
char*)args[1]->value_3);
806 char* txt = (
char*)args[1]->value_3;
808 if (txt && *txt!=
'\0' &&
809 fwrite((
void*)txt,
sizeof(
char),strlen(txt),srm->
fp)<=0)
840 if (fflush(srm->
fp)!=0)
return FALSE;
868 long size = *(
REAL*)args[1]->value_3;
872 bzero((
char*)t->
value_3,size+1);
874 if (fread((
void*)t->
value_3,
sizeof(
char),size,srm->
fp) <= 0)
911 if (buf->
data[idx] == c) {
938 if (!*str || buf->
data[idx] != *str)
940 else { idx++; str++; }
941 if (!*str && !buf->
next)
return str;
964 (*buf)->data[(*buf)->top++] = c;
969 fprintf(stderr,
"Fatal error: malloc failed in text_buffer_push\n");
972 bzero((
char*)(*buf)->next,
sizeof(
struct text_buffer));
1009 int lastidx = 0,size;
1012 char *sep = (
char*)args[1]->value_3;
1018 bzero((
char*)&rootbuf,
sizeof(rootbuf));
1019 if (!sep || !*sep) {
1021 while ((c=getc(fp)) != EOF)
1023 goto PackUpAndLeave;
1028 while ((c=getc(fp)) != EOF) {
1032 goto PackUpAndLeave;
1038 if ((c=getc(fp)) == EOF)
goto PackUpAndLeave;
1043 lastidx=curbuf->
top - 1;
1046 else goto WaitForStart;
1049 if (!*cursep || (c=getc(fp))==EOF)
goto PackUpAndLeave;
1051 if (c!=*cursep)
goto TryAgain;
1064 for(lastbuf=&rootbuf,size=0;lastbuf!=
NULL;lastbuf=lastbuf->
next)
1065 size += lastbuf->
top;
1069 for(lastbuf=&rootbuf,sep=(
char*)t->
value_3;
1070 lastbuf!=
NULL;sep+=lastbuf->
top,lastbuf=lastbuf->
next)
1071 bcopy(lastbuf->
data,sep,lastbuf->
top);
1072 ((
char*)t->
value_3)[size]=
'\0';
1104 if ((c=getc(srm->
fp)) == EOF)
return FALSE;
1254 #include <sys/socket.h>
1255 #include <netinet/in.h>
1258 #include <arpa/inet.h>
1271 int addr_family=AF_INET,type=SOCK_STREAM,protocol=0;
1276 s=(
char*)args[0]->value_3;
1277 if (!strcmp(s,
"AF_UNIX")) addr_family=AF_UNIX;
1278 else if (!strcmp(s,
"AF_INET")) addr_family=AF_INET;
1280 Errorline(
"Unknown address family in %P.\n",funct);
1285 s=(
char*)args[1]->value_3;
1286 if (!strcmp(s,
"SOCK_STREAM")) type=SOCK_STREAM;
1287 else if (!strcmp(s,
"SOCK_DGRAM" )) type=SOCK_DGRAM;
1288 else if (!strcmp(s,
"SOCK_RAW" )) {
1289 Errorline(
"SOCK_RAW not supported in %P.\n",funct);
1292 Errorline(
"Unknown socket type in %P.\n",funct);
1296 if ((fd=socket(addr_family,type,protocol))<0)
1299 { FILE*fp = fdopen(fd,
"r+");
1303 Errorline(
"fdopen failed on socket in %P.\n",funct);
1335 if (s==
NULL)
return 0;
1337 if (!isdigit(*s) && *s!=
'.')
return 0;
1354 int do_bind = info==
NULL;
1356 if (args[1] || args[2]) {
1358 struct sockaddr_in name_loc;
1359 char* hostname = args[1]?(
char*)args[1]->value_3:
NULL;
1361 Errorline(
"Missing port number in %P.\n",funct);
1365 bzero((
char*)&name_loc,
sizeof(name_loc));
1366 name_loc.sin_family = AF_INET;
1367 name_loc.sin_port = htons((
unsigned short)*(
REAL*)args[2]->value_3);
1369 if (!hostname || *hostname==
'\0' || !strcasecmp(hostname,
"localhost"))
1370 name_loc.sin_addr.s_addr = INADDR_ANY;
1375 int i = inet_addr(hostname);
1376 h = gethostbyaddr((
char*)&i,
sizeof(i),AF_INET);
1377 }
else h = gethostbyname(hostname);
1380 ipaddr?
"gethostbyaddr":
"gethostbyname",funct);
1383 bcopy(h->h_addr,(
char*)&(name_loc.sin_addr.s_addr),h->h_length);
1386 bind(fd,(
struct sockaddr *)&name_loc,
sizeof(name_loc)):
1387 connect(fd,(
struct sockaddr *)&name_loc,
sizeof(name_loc))) < 0) {
1388 Errorline(
"%s failed in %P.\n",do_bind?
"bind":
"connect",funct);
1394 struct sockaddr_un name_loc;
1395 char* path = (
char*)args[3]->value_3;
1397 name_loc.sun_family = AF_UNIX;
1398 strcpy(name_loc.sun_path,path);
1401 bind(fd,(
struct sockaddr *)&name_loc,
sizeof(name_loc)):
1402 connect(fd,(
struct sockaddr *)&name_loc,
sizeof(name_loc))) < 0) {
1403 Errorline(
"%s failed in %P.\n",do_bind?
"bind":
"connect",funct);
1408 Errorline(
"Too few arguments in %P.\n",funct);
1449 int n = *(
REAL*)args[1]->value_3;
1451 if (listen(fd,n) < 0)
return FALSE;
1483 FILE * fp = fdopen(s,
"r+");
1487 Errorline(
"fdopen failed on socket in %P.\n",funct);
1551 long n = args[0]?(long)*(
REAL*)args[0]->
value_3:errno;
1646 if (
id < 0)
return FALSE;
1665 #define SETFEATURE(lst,n,nam,val) ((lst[n].name_str=nam),(lst[n].value_str=val))
1681 fprintf(stderr,
"unify_pterm_result called with n<0: n=%d\n",n);
1700 if (n==1)
return one;
1701 else if (n==2)
return two;
1702 else if (n==3)
return three;
1705 (void)snprintf(buf,100,
"%ld",n);
1711 #include <sys/wait.h>
1729 if (
id == -1 || status == -1) {
1730 if (errno==ECHILD) {
1736 else if (WIFEXITED(status)) {
1740 else if (WIFSIGNALED(status)) {
1744 else if (WIFSTOPPED(status)) {
1749 else if (WIFCONTINUED(status)) {
1756 Errorline(
"Unexpected wait status: %d",status2);
1773 pid_t
id = wait(&status);
1798 pid_t
id = waitpid((pid_t)(
long)*(
REAL*)args[0]->value_3,&status,
1799 args[1]?(
int)(
long)*(
REAL*)args[1]->value_3:0);
1826 return (kill((pid_t)*(
REAL*)args[0]->value_3,
1874 #ifndef MAXHOSTNAMELEN
1875 #include <sys/param.h>
1888 char name_loc[MAXHOSTNAMELEN+1];
1889 if (gethostname(name_loc,MAXHOSTNAMELEN+1) == 0) {
1920 char buffer_loc[100];
1921 if (args[1]->type ==
top) {
1927 snprintf(buffer_loc,100,
"%ld",(
long)*(
REAL*)args[1]->value_3);
1929 strcpy(buffer_loc,(
char*)args[1]->value_3);
1931 strcpy(buffer_loc,args[1]->type->keyword->symbol);
1968 char buffer_loc[100];
1969 if (args[1]->type ==
top) {
1975 snprintf(buffer_loc,100,
"%ld",(
long)*(
REAL*)args[1]->value_3);
1977 strcpy(buffer_loc,(
char*)args[1]->value_3);
1979 strcpy(buffer_loc,args[1]->type->keyword->symbol);
2014 char buffer_loc[100];
2015 if (args[1]->type ==
top) {
2021 snprintf(buffer_loc,100,
"%ld",(
long)*(
REAL*)args[1]->value_3);
2023 strcpy(buffer_loc,(
char*)args[1]->value_3);
2025 strcpy(buffer_loc,args[1]->type->keyword->symbol);
2026 if (
find(
FEATCMP,buffer_loc,args[0]->attr_list)) {
2104 Errorline(
"1st arg not a function in %P.\n",funct);
2114 feat = (
char *)args[1]->value_3;
2171 make_ndbm_type_links();
2200 check_ndbm_definitions();
2277 insert_ndbm_builtins();
#define prove
was enum (goal) – but must be long for error.c - now typedef
void new_built_in(ptr_module m, char *s, def_type t, long(*r)())
new_built_in
char * text_buffer_cmp(struct text_buffer *buf, int idx, char *str)
text_buffer_cmp
ptr_definition sys_stream
symbol in sys module
ptr_keyword hash_lookup(ptr_hash_table table, char *symbol)
HASH_LOOKUP.
void insert_sys_builtins()
insert_sys_builtins
#define function_it
was enum (def_type) in extern.h now there is typedef ptr_definition
#define undef_it
was enum (def_type) in extern.h now there is typedef ptr_definition
static long errmsg_internal(ptr_psi_term args[], ptr_psi_term result, ptr_psi_term funct)
errmsg_internal
static long c_make_bitvector()
c_make_bitvector
static long c_bitvector_not()
c_bitvector_not
static long c_wait()
c_wait
#define MANDATORY
for call_primitive
void make_sys_type_links()
make_sys_type_links
#define FEATCMP
indicates to use featcmp for comparison (in trees.c)
void clear_copy()
clear_copy
static long fflush_internal(ptr_psi_term args[], ptr_psi_term result, ptr_psi_term funct)
fflush_internal
static long accept_internal(ptr_psi_term args[], ptr_psi_term result, ptr_psi_term funct)
accept_internal
void residuate(ptr_psi_term t)
residuate
ptr_definition lf_false
symbol in bi module
ptr_definition integer
symbol in bi module
long call_primitive(long(*fun)(), int num, psi_arg argi[], GENERIC info)
call_primitive
void regerror(char *s)
regerror
static long fwrite_internal(ptr_psi_term args[], ptr_psi_term result, ptr_psi_term funct)
fwrite_internal
static long bitvector_bit_code(unsigned long *bv1, long idx, ptr_psi_term result, int op, ptr_psi_term funct)
bitvector_bit_code
static long c_accept()
c_accept
#define SETARG(args, i, the_feature, the_type, the_options)
void push_choice_point(goals t, ptr_psi_term a, ptr_psi_term b, GENERIC c)
push_choice_point
void push_goal(goals t, ptr_psi_term a, ptr_psi_term b, GENERIC c)
push_goal
static long regexp_execute_internal(ptr_psi_term args[], ptr_psi_term result, ptr_psi_term funct)
regexp_execute_internal
static long c_fwrite()
c_fwrite
static long bitvector_unop(GENERIC op)
bitvector_unop
void text_buffer_free(struct text_buffer *buf)
text_buffer_free
static long c_call_once()
c_call_once
void unify_bool_result(ptr_psi_term t, long v)
unify_bool_result
ptr_module current_module
The current module for the tokenizer.
static long c_stream2sys_stream()
c_stream2sys_stream
static long c_ftell()
c_ftell
static long bitvector_binop_code(unsigned long *bv1, unsigned long *bv2, ptr_psi_term result, GENERIC op)
bitvector_binop_code
static long getpid_internal(ptr_psi_term args[], ptr_psi_term result, ptr_psi_term funct)
getpid_internal
#define general_cut
was enum (goal) – but must be long for error.c - now typedef
static long c_regexp_compile()
c_regexp_compile
ptr_definition sys_regexp
symbol in sys module
static long c_int2stream()
c_int2stream
ptr_definition definition
static long fork_internal(ptr_psi_term args[], ptr_psi_term result, ptr_psi_term funct)
ptr_definition sys_process_continued
symbol in sys module
static long c_kill()
c_kill
#define predicate_it
was enum (def_type) in extern.h now there is typedef ptr_definition
ptr_psi_term fileptr2stream(FILE *fp, ptr_definition typ)
fileptr2stream
static long c_fseek()
c_fseek
#define DEFRULES
Must be different from NULL, a built-in index, and a pointer Used to indicate that the rules of the d...
ptr_definition sys_bitvector
symbol in sys module
static long c_get_record()
c_get_record
static long fclose_internal(ptr_psi_term args[], ptr_psi_term result, ptr_psi_term funct)
fclose_internal
ptr_definition stream
symbol in bi module
ptr_definition sys_file_stream
symbol in sys module
ptr_hash_table symbol_table
static long int2stream_internal(ptr_psi_term args[], ptr_psi_term result, ptr_psi_term funct)
int2stream_internal
static long c_getpid()
c_getpid
static long import_symbol_internal(ptr_psi_term args[], ptr_psi_term result, ptr_psi_term funct)
import_symbol_internal
static long c_get_code()
c_get_code
static long bind_or_connect_internal(ptr_psi_term args[], ptr_psi_term result, ptr_psi_term funct, void *info)
bind_or_connect_internal
static long c_bitvector_set()
c_bitvector_set
struct wl_psi_term * ptr_psi_term
quotedStackCopy
static long c_fclose()
c_fclose
#define REAL
Which C type to use to represent reals and integers in Wild_Life.
long overlap_type(ptr_definition t1, ptr_definition t2)
overlap_type
static long bitvector_bit(long op)
bitvector_bit
ptr_definition update_symbol(ptr_module module, char *symbol)
update_symbol
static long call_once_internal(ptr_psi_term args[], ptr_psi_term result, ptr_psi_term funct)
call_once_internal
static long waitpid_internal(ptr_psi_term args[], ptr_psi_term result, ptr_psi_term funct)
waitpid_internal
#define JUSTFAIL
for call_primitive
#define eval
was enum (goal) – but must be long for error.c - now typedef
ptr_definition built_in
symbol in bi module
ptr_definition sys_bytedata
symbol in sys module
static long c_apply1()
c_apply1()
ptr_definition sys_process_no_children
symbol in sys module
static long c_bitvector_xor()
c_bitvector_xor
long sub_type(ptr_definition t1, ptr_definition t2)
sub_type
static long c_fflush()
c_fflush
static long make_bitvector_internal(ptr_psi_term args[], ptr_psi_term result, ptr_psi_term funct)
make_bitvector_internal
static long c_fopen()
c_fopen
struct a_stream * ptr_stream
static long bitvector_binop(long op)
bitvector_binop
void Errorline(char *format,...)
Errorline.
static long c_connect()
c_connect
unsigned long * GENERIC
unsigned long *GENERIC
static long get_record_internal(ptr_psi_term args[], ptr_psi_term result, ptr_psi_term funct)
get_record_internal
static long bitvector_binop_internal(ptr_psi_term *args, ptr_psi_term result, ptr_psi_term funct, GENERIC op)
bitvector_binop_internal
static long unify_wait_result(ptr_psi_term result, pid_t id, int status)
unify_wait_result
static long socket_internal(ptr_psi_term args[], ptr_psi_term result, ptr_psi_term funct)
socket_internal
static long c_listen()
c_listen
#define SETFEATURE(lst, n, nam, val)
ptr_psi_term stack_pair(ptr_psi_term left, ptr_psi_term right)
stack_pair
static long c_import_symbol()
c_import_symbol
static long c_waitpid()
c_waitpid
ptr_node stack_insert(long comp, char *keystr, ptr_node *tree, GENERIC info)
stack_insert
static long unify_pterm_result(ptr_psi_term t, ptr_definition sym, psi_feature lst[], int n)
unify_pterm_result
char * heap_copy_string(char *s)
heap_copy_string
static long stream2sys_stream_internal(ptr_psi_term args[], ptr_psi_term result, ptr_psi_term funct)
stream2sys_stream_internal
void check_sys_definitions()
check_sys_definitions
#define REQUIRED
for call_primitive
void hash_insert(ptr_hash_table table, char *symbol, ptr_keyword keyword)
HASH_INSERT.
ptr_psi_term distinct_copy(ptr_psi_term t)
distinct_copy
#define TRUE
Standard boolean.
static long c_fork()
c_fork
static long bitvector_bit_internal(ptr_psi_term args[], ptr_psi_term result, ptr_psi_term funct, int op)
bitvector_bit_internal
static long kill_internal(ptr_psi_term args[], ptr_psi_term result, ptr_psi_term funct)
kill_internal
int is_ipaddr(char *s)
is_ipaddr
void make_type_link(ptr_definition t1, ptr_definition t2)
make_type_link
static long fseek_internal(ptr_psi_term args[], ptr_psi_term result, ptr_psi_term funct)
fseek_internal
ptr_psi_term stack_int(long n)
stack_int
#define FALSE
Standard boolean.
static long sys_stream2stream_internal(ptr_psi_term args[], ptr_psi_term result, ptr_psi_term funct)
sys_stream2stream_internal
static long bitvector_unop_code(unsigned long *bv1, ptr_psi_term result, int op)
bitvector_unop_code
int text_buffer_next(struct text_buffer *buf, int idx, char c, struct text_buffer **rbuf, int *ridx)
text_buffer_next
static long get_code_internal(ptr_psi_term args[], ptr_psi_term result, ptr_psi_term funct)
get_code_internal
ptr_psi_term stack_psi_term(long stat)
stack_psi_term
static long c_bitvector_count()
c_bitvector_count
static long get_buffer_internal(ptr_psi_term args[], ptr_psi_term result, ptr_psi_term funct)
get_buffer_internal
void insert_dbm_builtins()
static long c_wait_on_feature()
c_wait_on_feature
static long c_bind()
c_bind
#define unify
was enum (goal) – but must be long for error.c - now typedef
static long regexp_compile_internal(ptr_psi_term args[], ptr_psi_term result, ptr_psi_term funct)
regexp_compile_internal
static long ftell_internal(ptr_psi_term args[], ptr_psi_term result, ptr_psi_term funct)
ftell_internal
ptr_node find(long comp, char *keystr, ptr_node tree)
find
static long c_errno()
c_errno
static long bitvector_unop_internal(ptr_psi_term args[], ptr_psi_term result, ptr_psi_term funct, int op)
bitvector_unop_internal
static long fopen_internal(ptr_psi_term args[], ptr_psi_term result, ptr_psi_term funct)
fopen_internal
ptr_module bi_module
Module for public built-ins.
char * get_numeric_feature(long n)
get_numeric_feature
static long c_regexp_execute()
c_regexp_execute
static long c_cuserid()
c_cuserid
ptr_definition top
symbol in syntax module
void check_definition(ptr_definition *d)
check_definition
static long c_bitvector_or()
c_bitvector_or
#define FP_PREPARE(s, OP)
static long c_socket()
c_socket
#define NOVALUE
for call_primitive
ptr_definition sys_process_signaled
symbol in sys module
char * make_module_token(ptr_module module, char *str)
make_module_token
static long wait_on_feature_internal(ptr_psi_term args[], ptr_psi_term result, ptr_psi_term funct)
wait_on_feature_internal
long unify_real_result(ptr_psi_term t, REAL v)
unify_real_result
static long c_bitvector_and()
c_bitvector_and
static ptr_psi_term make_bytedata(ptr_definition sort, unsigned long bytes)
make_bytedata(
static long c_lazy_project()
c_lazy_project
static long c_my_wait_on_feature()
c_my_wait_on_feature
static long c_bitvector_get()
c_bitvector_get
static long c_bitvector_clear()
c_bitvector_clear
ptr_definition sys_socket_stream
symbol in sys module
ptr_definition lf_true
symbol in bi module
static long wait_internal(ptr_psi_term args[], ptr_psi_term result, ptr_psi_term funct)
wait_internal
ptr_definition sys_process_exited
symbol in sys module
static long c_sys_stream2stream()
c_sys_stream2stream
static long apply1_internal(ptr_psi_term args[], ptr_psi_term result, ptr_psi_term funct)
apply1_internal
ptr_psi_term stack_string(char *s)
stack_string
#define OPTIONAL
for call_primitive
static long listen_internal(args, result, funct)
struct text_buffer * next
static long errno_internal(ptr_psi_term args[], ptr_psi_term result, ptr_psi_term funct)
errno_internal
static long c_gethostname()
c_gethostname
static long my_wait_on_feature_internal(ptr_psi_term args[], ptr_psi_term result, ptr_psi_term funct)
my_wait_on_feature_internal
ptr_module set_current_module(ptr_module module)
set_current_module
static long c_get_buffer()
c_get_buffer
#define ARGNN
primitive in sys.c does not allow more than ARGNN (10) arguments
static long cuserid_internal(ptr_psi_term args[], ptr_psi_term result, ptr_psi_term funct)
cuserid_internal
ptr_definition quoted_string
symbol in bi module
static long gethostname_internal(ptr_psi_term args[], ptr_psi_term result, ptr_psi_term funct)
gethostname_internal
GENERIC heap_alloc(long s)
heap_alloc
#define POLYTYPE
for call_primitive
void stack_insert_copystr(char *keystr, ptr_node *tree, GENERIC info)
stack_insert_copystr
ptr_choice_point choice_stack
static long c_errmsg()
c_errmsg
ptr_definition sys_process_stopped
symbol in sys module
static long lazy_project_internal(ptr_psi_term args[], ptr_psi_term result, ptr_psi_term funct)
lazy_project_internal
#define UNEVALED
for call_primitive
void text_buffer_push(struct text_buffer **buf, char c)
text_buffer_push