From 60687f4346bef28f644cf516d0dd1d586e7f7b74 Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Wed, 29 Jun 2016 01:42:26 +0100 Subject: [PATCH] Ubuntu --- include/YAPStreams.h | 285 ------------------------------------------- 1 file changed, 285 deletions(-) delete mode 100644 include/YAPStreams.h diff --git a/include/YAPStreams.h b/include/YAPStreams.h deleted file mode 100644 index e9b8f10d9..000000000 --- a/include/YAPStreams.h +++ /dev/null @@ -1,285 +0,0 @@ -/************************************************************************** - * * - * File: iopreds.h * - * Last rev: 5/2/88 * - * mods: * - * comments: Input/Output C implemented predicates * - * * - *************************************************************************/ -#ifdef SCCS -static char SccsId[] = "%W% %G%"; -#endif - - - -#ifndef YAPSTREAMS_H -#define YAPSTREAMS_H 1 - -#if HAVE_SYS_TYPES_H -#include -#endif -#if HAVE_SYS_SOCKET_H -#include -#endif - - -#define YAP_ERROR NIL - -#define MaxStreams 64 - -#define EXPAND_FILENAME 0x000080 - -#define StdInStream 0 -#define StdOutStream 1 -#define StdErrStream 2 - -#define ALIASES_BLOCK_SIZE 8 - -#if _WIN32 -#define USE_SOCKET 1 -#define HAVE_SOCKET 1 -#endif - - -//#include "Atoms.h" -//#include "Yap.h" -#include - -/* - * This file defines main data-structure for stream management, - * - */ - -#if defined(_MSC_VER) || defined(__MINGW32__) - -#include - -#endif - -#include - - -/************ SWI compatible support for unicode representations ************/ -typedef struct yap_io_position { - int64_t byteno; /* byte-position in file */ - int64_t charno; /* character position in file */ - long int lineno; /* lineno in file */ - long int linepos; /* position in line */ - intptr_t reserved[2]; /* future extensions */ -} yapIOPOS; - -#ifndef _PL_STREAM_H -typedef struct { - YAP_Atom file; /* current source file */ - yapIOPOS position; /* Line, line pos, char and byte */ -} yapSourceLocation; -#endif - -#define RD_MAGIC 0xefebe128 - -typedef struct vlist_struct_t { - struct VARSTRUCT *ve; - struct vlist_struct_t *next; -} vlist_t; - -typedef struct qq_struct_t { - unsigned char *text; - yapIOPOS start, mid, end; - vlist_t *vlist; - struct qq_struct_t *next; -} qq_t; - -typedef struct read_data_t { - unsigned char *here; /* current character */ - unsigned char *base; /* base of clause */ - unsigned char *end; /* end of the clause */ - unsigned char *token_start; /* start of most recent read token */ - - int magic; /* RD_MAGIC */ - struct stream_desc *stream; - FILE *f; /* file. of known */ - YAP_Term position; /* Line, line pos, char and byte */ - void *posp; /* position pointer */ - size_t posi; /* position number */ - - YAP_Term subtpos; /* Report Subterm positions */ - bool cycles; /* Re-establish cycles */ - yapSourceLocation start_of_term; /* Position of start of term */ - struct mod_entry *module; /* Current source module */ - unsigned int flags; /* Module syntax flags */ - int styleCheck; /* style-checking mask */ - bool backquoted_string; /* Read `hello` as string */ - - int *char_conversion_table; /* active conversion table */ - - YAP_Atom on_error; /* Handling of syntax errors */ - int has_exception; /* exception is raised */ - - YAP_Term exception; /* raised exception */ - YAP_Term variables; /* report variables */ - YAP_Term singles; /* Report singleton variables */ - YAP_Term varnames; /* Report variables+names */ - int strictness; /* Strictness level */ - -#ifdef O_QUASIQUOTATIONS - YAP_Term quasi_quotations; /* User option quasi_quotations(QQ) */ - YAP_Term qq; /* Quasi quoted list */ - YAP_Term qq_tail; /* Tail of the quoted stuff */ -#endif - - YAP_Term comments; /* Report comments */ - -} read_data, *ReadData; - - -#if __APPLE__ -#include "fmemopen.h" -#define HAVE_FMEMOPEN 1 -#define HAVE_OPEN_MEMSTREAM 1 -FILE *open_memstream(char **buf, size_t *len); -#endif - -#if __ANDROID__ - -#undef HAVE_FMEMOPEN -#undef HAVE_OPEN_MEMSTREAM -#endif - -#if HAVE_FMEMOPEN -#define MAY_READ 1 -#endif - -#if HAVE_OPEN_MEMSTREAM -#define MAY_READ 1 -#define MAY_WRITE 1 -#endif - -#if _WIN32 -#undef MAY_WRITE -#undef MAY_READ -#endif - -typedef struct mem_desc { - char *buf; /* where the file is being read from/written to */ - int src; /* where the space comes from, 0 code space, 1 malloc */ - YAP_Int max_size; /* maximum buffer size (may be changed dynamically) */ - YAP_UInt pos; /* cursor */ - volatile void *error_handler; -} memHandle; - -#if HAVE_SOCKET -typedef enum { /* in YAP, sockets may be in one of 4 possible status */ - new_socket, - server_socket, - client_socket, - server_session_socket, - closed_socket -} socket_info; - -typedef enum { /* we accept two domains for the moment, IPV6 may follow */ - af_inet, /* IPV4 */ - af_unix /* or AF_FILE */ -} socket_domain; - -#endif - -#define Quote_illegal_f 0x01 -#define Ignore_ops_f 0x02 -#define Handle_vars_f 0x04 -#define Use_portray_f 0x08 -#define To_heap_f 0x10 -#define Unfold_cyclics_f 0x20 -#define Use_SWI_Stream_f 0x40 -#define BackQuote_String_f 0x80 -#define AttVar_None_f 0x100 -#define AttVar_Dots_f 0x200 -#define AttVar_Portray_f 0x400 -#define Blob_Portray_f 0x800 -#define No_Escapes_f 0x1000 -#define No_Brace_Terms_f 0x2000 -#define Fullstop_f 0x4000 -#define New_Line_f 0x8000 - -typedef struct stream_desc { - YAP_Atom name; - YAP_Term user_name; - FILE *file; - // useful in memory streams - char *nbuf; - size_t nsize; - union { - struct { -#define PLGETC_BUF_SIZE 4096 - unsigned char *buf, *ptr; - int left; - } file; - memHandle mem_string; - struct { - int fd; - } pipe; -#if HAVE_SOCKET - struct { - socket_domain domain; - socket_info flags; - int fd; - } socket; -#endif - struct { - const unsigned char *buf, *ptr; - } irl; - } u; - - YAP_Int charcount, linecount, linepos; - stream_flags_t status; -#if defined(YAPOR) || defined(THREADS) - lockvar streamlock; /* protect stream access */ -#endif - int (*stream_putc)( - int, int); /** function the stream uses for writing a single octet */ - int (*stream_wputc)( - int, wchar_t); /** function the stream uses for writing a character */ - int (*stream_getc)(int); /** function the stream uses for reading an octet. */ - int (*stream_wgetc)( - int); /** function the stream uses for reading a character. */ - struct vfs *vfs; /** stream belongs to a space */ - void *vfs_handle; /** direct handle to stream in that space. */ - int (*stream_wgetc_for_read)( - int); /* function the stream uses for parser. It may be different - from above if the ISO character conversion is on */ - encoding_t encoding; /** current encoding for stream */ -} StreamDesc; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#endif