[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@3.145.75.69: ~ $
/*    perlsdio.h
 *
 *    Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001,
 *    2002, 2003, 2006, 2007, 2008 by Larry Wall and others
 *
 *    You may distribute under the terms of either the GNU General Public
 *    License or the Artistic License, as specified in the README file.
 *
 */

#ifdef PERLIO_IS_STDIO

#ifdef NETWARE
	#include "nwstdio.h"
#else

/*
 * This file #define-s the PerlIO_xxx abstraction onto stdio functions.
 * Make this as close to original stdio as possible.
 */
#define PerlIO				FILE
#define PerlIO_stderr()			PerlSIO_stderr
#define PerlIO_stdout()			PerlSIO_stdout
#define PerlIO_stdin()			PerlSIO_stdin

#define PerlIO_isutf8(f)		0

#define PerlIO_printf			PerlSIO_printf
#define PerlIO_stdoutf			PerlSIO_stdoutf
#define PerlIO_vprintf(f,fmt,a)		PerlSIO_vprintf(f,fmt,a)
#define PerlIO_write(f,buf,count)	PerlSIO_fwrite(buf,1,count,f)
#define PerlIO_unread(f,buf,count)	(-1)
#define PerlIO_open			PerlSIO_fopen
#define PerlIO_fdopen			PerlSIO_fdopen
#define PerlIO_reopen			PerlSIO_freopen
#define PerlIO_close(f)			PerlSIO_fclose(f)
#define PerlIO_puts(f,s)		PerlSIO_fputs(s,f)
#define PerlIO_putc(f,c)		PerlSIO_fputc(c,f)
#if defined(VMS)
#  if defined(__DECC)
     /* Unusual definition of ungetc() here to accommodate fast_sv_gets()'
      * belief that it can mix getc/ungetc with reads from stdio buffer */
     int decc$ungetc(int __c, FILE *__stream);
#    define PerlIO_ungetc(f,c) ((c) == EOF ? EOF : \
            ((*(f) && !((*(f))->_flag & _IONBF) && \
            ((*(f))->_ptr > (*(f))->_base)) ? \
            ((*(f))->_cnt++, *(--(*(f))->_ptr) = (c)) : decc$ungetc(c,f)))
#  else
#    define PerlIO_ungetc(f,c)		ungetc(c,f)
#  endif
   /* Work around bug in DECCRTL/AXP (DECC v5.x) and some versions of old
    * VAXCRTL which causes read from a pipe after EOF has been returned
    * once to hang.
    */
#  define PerlIO_getc(f) \
		(feof(f) ? EOF : getc(f))
#  define PerlIO_read(f,buf,count) \
		(feof(f) ? 0 : (SSize_t)fread(buf,1,count,f))
#  define PerlIO_tell(f)		ftell(f)
#else
#  define PerlIO_getc(f)		PerlSIO_fgetc(f)
#  define PerlIO_ungetc(f,c)		PerlSIO_ungetc(c,f)
#  define PerlIO_read(f,buf,count)	(SSize_t)PerlSIO_fread(buf,1,count,f)
#  define PerlIO_tell(f)		PerlSIO_ftell(f)
#endif
#define PerlIO_eof(f)			PerlSIO_feof(f)
#define PerlIO_getname(f,b)		fgetname(f,b)
#define PerlIO_error(f)			PerlSIO_ferror(f)
#define PerlIO_fileno(f)		PerlSIO_fileno(f)
#define PerlIO_clearerr(f)		PerlSIO_clearerr(f)
#define PerlIO_flush(f)			PerlSIO_fflush(f)
#if defined(VMS) && !defined(__DECC)
/* Old VAXC RTL doesn't reset EOF on seek; Perl folk seem to expect this */
#define PerlIO_seek(f,o,w)	(((f) && (*f) && ((*f)->_flag &= ~_IOEOF)),fseek(f,o,w))
#else
#  define PerlIO_seek(f,o,w)		PerlSIO_fseek(f,o,w)
#endif

#define PerlIO_rewind(f)		PerlSIO_rewind(f)
#define PerlIO_tmpfile()		PerlSIO_tmpfile()

#define PerlIO_importFILE(f,fl)		(f)
#define PerlIO_exportFILE(f,fl)		(f)
#define PerlIO_findFILE(f)		(f)
#define PerlIO_releaseFILE(p,f)		((void) 0)

#ifdef HAS_SETLINEBUF
#define PerlIO_setlinebuf(f)		PerlSIO_setlinebuf(f);
#else
#define PerlIO_setlinebuf(f)		PerlSIO_setvbuf(f, NULL, _IOLBF, 0);
#endif

/* Now our interface to Configure's FILE_xxx macros */

#ifdef USE_STDIO_PTR
#define PerlIO_has_cntptr(f)		1
#define PerlIO_get_ptr(f)		PerlSIO_get_ptr(f)
#define PerlIO_get_cnt(f)		PerlSIO_get_cnt(f)

#ifdef STDIO_CNT_LVALUE
#define PerlIO_canset_cnt(f)		1
#define PerlIO_set_cnt(f,c)		PerlSIO_set_cnt(f,c)
#ifdef STDIO_PTR_LVALUE
#ifdef STDIO_PTR_LVAL_NOCHANGE_CNT
#define PerlIO_fast_gets(f)		1
#endif
#endif /* STDIO_PTR_LVALUE */
#else /* STDIO_CNT_LVALUE */
#define PerlIO_canset_cnt(f)		0
#define PerlIO_set_cnt(f,c)		abort()
#endif

#ifdef STDIO_PTR_LVALUE
#ifdef STDIO_PTR_LVAL_NOCHANGE_CNT
#define PerlIO_set_ptrcnt(f,p,c)      STMT_START {PerlSIO_set_ptr(f,p), PerlIO_set_cnt(f,c);} STMT_END
#else
#ifdef STDIO_PTR_LVAL_SETS_CNT
/* assert() may pre-process to ""; potential syntax error (FILE_ptr(), ) */
#define PerlIO_set_ptrcnt(f,p,c)      STMT_START {PerlSIO_set_ptr(f,p); assert(PerlSIO_get_cnt(f) == (c));} STMT_END
#define PerlIO_fast_gets(f)		1
#else
#define PerlIO_set_ptrcnt(f,p,c)	abort()
#endif
#endif
#endif

#else  /* USE_STDIO_PTR */

#define PerlIO_has_cntptr(f)		0
#define PerlIO_canset_cnt(f)		0
#define PerlIO_get_cnt(f)		(abort(),0)
#define PerlIO_get_ptr(f)		(abort(),(void *)0)
#define PerlIO_set_cnt(f,c)		abort()
#define PerlIO_set_ptrcnt(f,p,c)	abort()

#endif /* USE_STDIO_PTR */

#ifndef PerlIO_fast_gets
#define PerlIO_fast_gets(f)		0
#endif


#ifdef FILE_base
#define PerlIO_has_base(f)		1
#define PerlIO_get_base(f)		PerlSIO_get_base(f)
#define PerlIO_get_bufsiz(f)		PerlSIO_get_bufsiz(f)
#else
#define PerlIO_has_base(f)		0
#define PerlIO_get_base(f)		(abort(),(void *)0)
#define PerlIO_get_bufsiz(f)		(abort(),0)
#endif

#endif	/* NETWARE */
#endif /* PERLIO_IS_STDIO */

/*
 * Local variables:
 * c-indentation-style: bsd
 * c-basic-offset: 4
 * indent-tabs-mode: t
 * End:
 *
 * ex: set ts=8 sts=4 sw=4 noet:
 */

Filemanager

Name Type Size Permission Actions
EXTERN.h File 1.77 KB 0644
INTERN.h File 1.47 KB 0644
XSUB.h File 21.27 KB 0644
av.h File 2.91 KB 0644
bitcount.h File 850 B 0644
charclass_invlists.h File 9.55 KB 0644
config.h File 145.13 KB 0644
cop.h File 39.64 KB 0644
cv.h File 9.22 KB 0644
dosish.h File 5.95 KB 0644
embed.h File 84.98 KB 0644
embedvar.h File 19.08 KB 0644
fakesdio.h File 3.24 KB 0644
fakethr.h File 1.92 KB 0644
feature.h File 3.69 KB 0644
form.h File 1.43 KB 0644
git_version.h File 357 B 0644
gv.h File 10.02 KB 0644
handy.h File 53.01 KB 0644
hv.h File 23.67 KB 0644
intrpvar.h File 27.19 KB 0644
iperlsys.h File 47.63 KB 0644
keywords.h File 6.45 KB 0644
l1_char_class_tab.h File 31.86 KB 0644
libperl.so File 1.57 MB 0755
malloc_ctl.h File 1.48 KB 0644
metaconfig.h File 899 B 0644
mg.h File 2.37 KB 0644
mg_data.h File 4.84 KB 0644
mg_raw.h File 4.21 KB 0644
mg_vtable.h File 9.14 KB 0644
mydtrace.h File 1.81 KB 0644
nostdio.h File 3.37 KB 0644
op.h File 32.07 KB 0644
op_reg_common.h File 4.33 KB 0644
opcode.h File 46.2 KB 0644
opnames.h File 8.05 KB 0644
overload.h File 2.98 KB 0644
pad.h File 12.77 KB 0644
parser.h File 5.38 KB 0644
patchlevel.h File 8.05 KB 0644
perl.h File 168.47 KB 0644
perlapi.h File 5.34 KB 0644
perldtrace.h File 1.77 KB 0644
perlio.h File 10.83 KB 0644
perliol.h File 13.21 KB 0644
perlsdio.h File 4.92 KB 0644
perlsfio.h File 2.64 KB 0644
perlvars.h File 8.49 KB 0644
perly.h File 5.67 KB 0644
pp.h File 18.37 KB 0644
pp_proto.h File 10.61 KB 0644
proto.h File 259.12 KB 0644
reentr.h File 79.05 KB 0644
regcharclass.h File 30.79 KB 0644
regcomp.h File 32.46 KB 0644
regexp.h File 28.7 KB 0644
regnodes.h File 37.97 KB 0644
scope.h File 9.64 KB 0644
sv.h File 72.44 KB 0644
thread.h File 11.67 KB 0644
time64.h File 1.4 KB 0644
time64_config.h File 1.98 KB 0644
uconfig.h File 144.66 KB 0644
unixish.h File 4.48 KB 0644
utf8.h File 24.78 KB 0644
utfebcdic.h File 34.07 KB 0644
util.h File 1.71 KB 0644
uudmap.h File 904 B 0644
warnings.h File 4.23 KB 0644