YAP 7.1.0
iopreds.c File Reference

main open and close predicates over generic streams More...

#include "Yap.h"
#include "YapEval.h"
#include "YapHeap.h"
#include "YapText.h"
#include "Yatom.h"
#include "yapio.h"
#include "sysbits.h"
#include <stdlib.h>
#include "iopreds.h"
#include "getw.h"

Go to the source code of this file.

Macros

#define strncat(X, Y, Z)   strcat(X, Y)
 
#define strncpy(X, Y, Z)   strcpy(X, Y)
 
#define MB_LEN_MAX   6
 
#define OPEN_DEFS()
 
#define PAR(x, y, z)   z
 
#define PAR(x, y, z)    { x, y, z }
 
#define CheckStream(arg, kind, msg)    CheckStream__(__FILE__, __FUNCTION__, __LINE__, arg, kind, msg)
 
#define CLOSE_DEFS()    PAR("force", booleanFlag, CLOSE_FORCE), PAR(NULL, ok, CLOSE_END)
 
#define PAR(x, y, z)   z
 
#define PAR(x, y, z)    { x, y, z }
 

Typedefs

typedef enum open_enum_choices open_choices_t
 
typedef enum close_enum_choices close_choices_t
 

Enumerations

enum  open_enum_choices { OPEN_DEFS =() , READ_DEFS =() }
 
enum  close_enum_choices { CLOSE_DEFS =() }
 

Functions

char * Yap_VF (const char *path)
 
char * Yap_VFAlloc (const char *path)
 
int ResetEOF (StreamDesc *s)
 
void Yap_DefaultStreamOps (StreamDesc *st)
 
void Yap_InitStdStream (int sno, unsigned int flags, FILE *file, VFS_t *vfsp)
 
Term Yap_StreamUserName (int sno)
 
void Yap_InitStdStreams (void)
 
Int PlIOError__ (const char *file, const char *function, int lineno, yap_error_number type, Term culprit,...)
 
bool UnixIOError__ (const char *file, const char *function, int lineno, int error, io_kind_t io_type, Term culprit,...)
 
void Yap_DebugSetIFile (char *fname)
 
void Yap_DebugEndline ()
 
int Yap_DebugGetc ()
 
int Yap_DebugPutc (FILE *s, wchar_t ch)
 
int Yap_DebugPuts (FILE *s, const char *sch)
 
void Yap_DebugErrorPuts (const char *s)
 
void Yap_DebugPlWrite (Term t)
 
void Yap_DebugPlWriteln (Term t)
 
void Yap_DebugErrorPutc (int c)
 
void Yap_DebugWriteIndicator (PredEntry *ap)
 
int FilePutc (int sno, int ch)
 
int console_post_process_eof (StreamDesc *s)
 
int post_process_read_wchar (int ch, size_t n, StreamDesc *s)
 
int post_process_weof (StreamDesc *s)
 
void * Yap_RepStreamFromId (int sno)
 
int EOFPeek (int sno)
 caled after EOF found a peek, it just calls console_post_process to conclude the job More...
 
int EOFWPeek (int sno)
 
int PlGetc (int sno)
 
int put_wchar (int sno, wchar_t ch)
 
int Yap_PlGetchar (void)
 
int Yap_PlGetWchar (void)
 
int Yap_PlFGetchar (void)
 
Term Yap_MkStream (int n)
 
Int GetStreamFd (int sno)
 
Int Yap_GetStreamFd (int sno)
 
bool Yap_initStream__ (const char *file, const char *f, int line, int sno, FILE *fd, Atom name, const char *io_mode, Term file_name, encoding_t encoding, stream_flags_t flags, void *vfs)
 
int Yap_OpenStream (Term tin, const char *io_mode, Term user_name, encoding_t enc)
 
int Yap_FileStream (FILE *fd, Atom name, Term file_name, int flags, VFS_t *vfsp)
 
int Yap_CheckStream__ (const char *file, const char *f, int line, Term arg, int kind, const char *msg)
 
int Yap_CheckTextStream__ (const char *file, const char *f, int line, Term arg, int kind, const char *msg)
 
int Yap_CheckTextWriteStream__ (const char *file, const char *f, int line, Term arg, const char *msg)
 
int Yap_CheckTextReadStream__ (const char *file, const char *f, int line, Term arg, const char *msg)
 
int Yap_CheckBinaryStream__ (const char *file, const char *f, int line, Term arg, int kind, const char *msg)
 
int Yap_GetFreeStreamDForReading (void)
 
Term read_line (int sno)
 
void Yap_InitPlIO (struct yap_boot_params *argi)
 
void Yap_InitIOPreds (void)
 

Variables

FILE * Yap_stdin
 
FILE * Yap_stdout
 
FILE * Yap_stderr
 
FILE * curfile
 
FILE * Yap_logfile
 
bool Yap_Option [256]
 

Detailed Description

main open and close predicates over generic streams

Author
VITOR SANTOS COSTA vsc@V.nosp@m.ITOR.nosp@m.s-MBP.nosp@m..lan
Date
Wed Jan 20 00:45:56 2016

Definition in file iopreds.c.

Macro Definition Documentation

◆ CheckStream

#define CheckStream (   arg,
  kind,
  msg 
)     CheckStream__(__FILE__, __FUNCTION__, __LINE__, arg, kind, msg)

Definition at line 1849 of file iopreds.c.

◆ CLOSE_DEFS

#define CLOSE_DEFS ( )     PAR("force", booleanFlag, CLOSE_FORCE), PAR(NULL, ok, CLOSE_END)

Definition at line 2041 of file iopreds.c.

◆ MB_LEN_MAX

#define MB_LEN_MAX   6

Definition at line 782 of file iopreds.c.

◆ OPEN_DEFS

#define OPEN_DEFS ( )
Value:
PAR("alias", isatom, OPEN_ALIAS) \
, PAR("bom", booleanFlag, OPEN_BOM), PAR("buffer", isatom, OPEN_BUFFER), \
PAR("close_on_abort", booleanFlag, OPEN_CLOSE_ON_ABORT), \
PAR("create", isatom, OPEN_CREATE), \
PAR("encoding", isatom, OPEN_ENCODING), \
PAR("eof_action", isatom, OPEN_EOF_ACTION), \
PAR("expand_filename", booleanFlag, OPEN_EXPAND_FILENAME), \
PAR("file_name", isatom, OPEN_FILE_NAME), PAR("input", ok, OPEN_INPUT), \
PAR("locale", isatom, OPEN_LOCALE), PAR("lock", isatom, OPEN_LOCK), \
PAR("mode", isatom, OPEN_MODE), PAR("output", ok, OPEN_OUTPUT), \
PAR("representation_errors", booleanFlag, OPEN_REPRESENTATION_ERRORS), \
PAR("reposition", booleanFlag, OPEN_REPOSITION), \
PAR("script", booleanFlag, OPEN_SCRIPT), PAR("type", isatom, OPEN_TYPE), \
PAR("wait", booleanFlag, OPEN_WAIT), PAR(NULL, ok, OPEN_END)

Definition at line 1341 of file iopreds.c.

◆ PAR [1/4]

#define PAR (   x,
  y,
 
)    z

Definition at line 2050 of file iopreds.c.

◆ PAR [2/4]

#define PAR (   x,
  y,
 
)     { x, y, z }

Definition at line 2050 of file iopreds.c.

◆ PAR [3/4]

#define PAR (   x,
  y,
 
)    z

Definition at line 2050 of file iopreds.c.

◆ PAR [4/4]

#define PAR (   x,
  y,
 
)     { x, y, z }

Definition at line 2050 of file iopreds.c.

◆ strncat

#define strncat (   X,
  Y,
 
)    strcat(X, Y)

Definition at line 103 of file iopreds.c.

◆ strncpy

#define strncpy (   X,
  Y,
 
)    strcpy(X, Y)

Definition at line 106 of file iopreds.c.

Enumeration Type Documentation

◆ close_enum_choices

enum close_enum_choices

Definition at line 2046 of file iopreds.c.

◆ open_enum_choices

enum open_enum_choices

Definition at line 1358 of file iopreds.c.

Function Documentation

◆ console_post_process_eof()

int console_post_process_eof ( StreamDesc s)

Definition at line 707 of file iopreds.c.

◆ EOFPeek()

int EOFPeek ( int  sno)

caled after EOF found a peek, it just calls console_post_process to conclude the job

Parameters
sno
Returns
EOF

Definition at line 763 of file iopreds.c.

◆ EOFWPeek()

int EOFWPeek ( int  sno)

Definition at line 765 of file iopreds.c.

◆ FilePutc()

int FilePutc ( int  sno,
int  ch 
)

Definition at line 678 of file iopreds.c.

◆ GetStreamFd()

Int GetStreamFd ( int  sno)

Definition at line 968 of file iopreds.c.

◆ PlGetc()

int PlGetc ( int  sno)

Definition at line 770 of file iopreds.c.

◆ PlIOError__()

Int PlIOError__ ( const char *  file,
const char *  function,
int  lineno,
yap_error_number  type,
Term  culprit,
  ... 
)

Definition at line 446 of file iopreds.c.

◆ post_process_read_wchar()

int post_process_read_wchar ( int  ch,
size_t  n,
StreamDesc s 
)

Definition at line 720 of file iopreds.c.

◆ post_process_weof()

int post_process_weof ( StreamDesc s)

Definition at line 742 of file iopreds.c.

◆ put_wchar()

int put_wchar ( int  sno,
wchar_t  ch 
)

Definition at line 820 of file iopreds.c.

◆ read_line()

Term read_line ( int  sno)

Definition at line 2090 of file iopreds.c.

◆ ResetEOF()

int ResetEOF ( StreamDesc s)

Definition at line 158 of file iopreds.c.

◆ UnixIOError__()

bool UnixIOError__ ( const char *  file,
const char *  function,
int  lineno,
int  error,
io_kind_t  io_type,
Term  culprit,
  ... 
)

Definition at line 474 of file iopreds.c.

◆ Yap_CheckBinaryStream__()

int Yap_CheckBinaryStream__ ( const char *  file,
const char *  f,
int  line,
Term  arg,
int  kind,
const char *  msg 
)

Definition at line 1973 of file iopreds.c.

◆ Yap_CheckStream__()

int Yap_CheckStream__ ( const char *  file,
const char *  f,
int  line,
Term  arg,
int  kind,
const char *  msg 
)

Definition at line 1914 of file iopreds.c.

◆ Yap_CheckTextReadStream__()

int Yap_CheckTextReadStream__ ( const char *  file,
const char *  f,
int  line,
Term  arg,
const char *  msg 
)

Definition at line 1955 of file iopreds.c.

◆ Yap_CheckTextStream__()

int Yap_CheckTextStream__ ( const char *  file,
const char *  f,
int  line,
Term  arg,
int  kind,
const char *  msg 
)

Definition at line 1919 of file iopreds.c.

◆ Yap_CheckTextWriteStream__()

int Yap_CheckTextWriteStream__ ( const char *  file,
const char *  f,
int  line,
Term  arg,
const char *  msg 
)

Definition at line 1937 of file iopreds.c.

◆ Yap_DebugEndline()

void Yap_DebugEndline ( void  )

Definition at line 578 of file iopreds.c.

◆ Yap_DebugErrorPutc()

void Yap_DebugErrorPutc ( int  c)

Definition at line 630 of file iopreds.c.

◆ Yap_DebugErrorPuts()

void Yap_DebugErrorPuts ( const char *  s)

Definition at line 613 of file iopreds.c.

◆ Yap_DebugGetc()

int Yap_DebugGetc ( )

Definition at line 580 of file iopreds.c.

◆ Yap_DebugPlWrite()

void Yap_DebugPlWrite ( Term  t)

Definition at line 615 of file iopreds.c.

◆ Yap_DebugPlWriteln()

void Yap_DebugPlWriteln ( Term  t)

Definition at line 621 of file iopreds.c.

◆ Yap_DebugPutc()

int Yap_DebugPutc ( FILE *  s,
wchar_t  ch 
)

Definition at line 601 of file iopreds.c.

◆ Yap_DebugPuts()

int Yap_DebugPuts ( FILE *  s,
const char *  sch 
)

Definition at line 607 of file iopreds.c.

◆ Yap_DebugSetIFile()

void Yap_DebugSetIFile ( char *  fname)

Definition at line 568 of file iopreds.c.

◆ Yap_DebugWriteIndicator()

void Yap_DebugWriteIndicator ( PredEntry ap)

Definition at line 635 of file iopreds.c.

◆ Yap_DefaultStreamOps()

void Yap_DefaultStreamOps ( StreamDesc st)

Definition at line 292 of file iopreds.c.

◆ Yap_FileStream()

int Yap_FileStream ( FILE *  fd,
Atom  name,
Term  file_name,
int  flags,
VFS_t vfsp 
)

Definition at line 1825 of file iopreds.c.

◆ Yap_GetFreeStreamDForReading()

int Yap_GetFreeStreamDForReading ( void  )

Definition at line 1990 of file iopreds.c.

◆ Yap_GetStreamFd()

Int Yap_GetStreamFd ( int  sno)

Definition at line 982 of file iopreds.c.

◆ Yap_InitIOPreds()

void Yap_InitIOPreds ( void  )

Definition at line 2130 of file iopreds.c.

◆ Yap_InitPlIO()

void Yap_InitPlIO ( struct yap_boot_params argi)

Definition at line 2101 of file iopreds.c.

◆ Yap_InitStdStream()

void Yap_InitStdStream ( int  sno,
unsigned int  flags,
FILE *  file,
VFS_t vfsp 
)

Definition at line 403 of file iopreds.c.

◆ Yap_InitStdStreams()

void Yap_InitStdStreams ( void  )

Definition at line 444 of file iopreds.c.

◆ Yap_initStream__()

bool Yap_initStream__ ( const char *  file,
const char *  f,
int  line,
int  sno,
FILE *  fd,
Atom  name,
const char *  io_mode,
Term  file_name,
encoding_t  encoding,
stream_flags_t  flags,
void *  vfs 
)

Definition at line 1160 of file iopreds.c.

◆ Yap_MkStream()

Term Yap_MkStream ( int  n)

Definition at line 961 of file iopreds.c.

◆ Yap_OpenStream()

int Yap_OpenStream ( Term  tin,
const char *  io_mode,
Term  user_name,
encoding_t  enc 
)

Definition at line 1805 of file iopreds.c.

◆ Yap_PlFGetchar()

int Yap_PlFGetchar ( void  )

Definition at line 956 of file iopreds.c.

◆ Yap_PlGetchar()

int Yap_PlGetchar ( void  )

Definition at line 944 of file iopreds.c.

◆ Yap_PlGetWchar()

int Yap_PlGetWchar ( void  )

Definition at line 950 of file iopreds.c.

◆ Yap_RepStreamFromId()

void * Yap_RepStreamFromId ( int  sno)

Definition at line 752 of file iopreds.c.

◆ Yap_StreamUserName()

Term Yap_StreamUserName ( int  sno)

Definition at line 407 of file iopreds.c.

◆ Yap_VF()

char * Yap_VF ( const char *  path)

Definition at line 129 of file iopreds.c.

◆ Yap_VFAlloc()

char * Yap_VFAlloc ( const char *  path)

Definition at line 143 of file iopreds.c.

Variable Documentation

◆ curfile

FILE* curfile

Definition at line 548 of file iopreds.c.

◆ Yap_logfile

FILE * Yap_logfile

Definition at line 548 of file iopreds.c.

◆ Yap_Option

bool Yap_Option[256]

Definition at line 550 of file iopreds.c.

◆ Yap_stderr

FILE* Yap_stderr

Definition at line 126 of file iopreds.c.

◆ Yap_stdin

FILE* Yap_stdin

Definition at line 124 of file iopreds.c.

◆ Yap_stdout

FILE* Yap_stdout

Definition at line 125 of file iopreds.c.