X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/3a1ee7e89ce6793a321c9c259b0464c3f464c5ce..7996736c5ecb6da6273386229ce113837049152c:/perlio.h diff --git a/perlio.h b/perlio.h index 381367d..dd1e3d5 100644 --- a/perlio.h +++ b/perlio.h @@ -1,3 +1,13 @@ +/* perlio.h + * + * Copyright (C) 1996, 1997, 1999, 2000, 2001, 2002, 2003, + * 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. + * + */ + #ifndef _PERLIO_H #define _PERLIO_H /* @@ -31,7 +41,7 @@ #if defined(PERL_IMPLICIT_SYS) #ifndef USE_PERLIO #ifndef NETWARE -# define USE_PERLIO +/* # define USE_PERLIO */ #endif #endif #endif @@ -54,6 +64,11 @@ */ #include +#ifdef __BEOS__ +int fseeko(FILE *stream, off_t offset, int whence); +off_t ftello(FILE *stream); +#endif + #if defined(USE_64_BIT_STDIO) && defined(HAS_FTELLO) && !defined(USE_FTELL64) #define ftell ftello #endif @@ -93,6 +108,7 @@ extern PerlIO_funcs *PerlIO_find_layer(pTHX_ const char *name, STRLEN len, extern PerlIO *PerlIO_push(pTHX_ PerlIO *f, PerlIO_funcs *tab, const char *mode, SV *arg); extern void PerlIO_pop(pTHX_ PerlIO *f); +extern AV* PerlIO_get_layers(pTHX_ PerlIO *f); extern void PerlIO_clone(pTHX_ PerlInterpreter *proto, CLONE_PARAMS *param); #endif /* PerlIO */ @@ -144,7 +160,7 @@ extern void PerlIO_clone(pTHX_ PerlInterpreter *proto, CLONE_PARAMS *param); #endif /* ifndef PERLIO_NOT_STDIO */ #endif /* PERLIO_IS_STDIO */ -#define specialCopIO(sv) ((sv) != Nullsv) +#define specialCopIO(sv) ((sv) == Nullsv) /* ----------- fill in things that have not got #define'd ---------- */ @@ -173,9 +189,19 @@ extern void PerlIO_clone(pTHX_ PerlInterpreter *proto, CLONE_PARAMS *param); #define SEEK_END 2 #endif +#define PERLIO_DUP_CLONE 1 +#define PERLIO_DUP_FD 2 + /* --------------------- Now prototypes for functions --------------- */ START_EXTERN_C +#ifndef __attribute__format__ +#ifdef CHECK_FORMAT +#define __attribute__format__(x,y,z) __attribute__((__format__(x,y,z))) +#else +#define __attribute__format__(x,y,z) +#endif +#endif #ifndef NEXT30_NO_ATTRIBUTE #ifndef HASATTRIBUTE /* disable GNU-cc attribute checking? */ #ifdef __attribute__ /* Avoid possible redefinition errors */ @@ -189,7 +215,7 @@ extern void PerlIO_init(pTHX); #endif #ifndef PerlIO_stdoutf extern int PerlIO_stdoutf(const char *, ...) - __attribute__ ((__format__(__printf__, 1, 2))); + __attribute__format__(__printf__, 1, 2); #endif #ifndef PerlIO_puts extern int PerlIO_puts(PerlIO *, const char *); @@ -202,9 +228,6 @@ extern PerlIO *PerlIO_openn(pTHX_ const char *layers, const char *mode, int fd, int imode, int perm, PerlIO *old, int narg, SV **arg); #endif -#ifndef PerlIO_close -extern int PerlIO_close(PerlIO *); -#endif #ifndef PerlIO_eof extern int PerlIO_eof(PerlIO *); #endif @@ -220,23 +243,17 @@ extern int PerlIO_getc(PerlIO *); #ifndef PerlIO_putc extern int PerlIO_putc(PerlIO *, int); #endif -#ifndef PerlIO_flush -extern int PerlIO_flush(PerlIO *); -#endif #ifndef PerlIO_ungetc extern int PerlIO_ungetc(PerlIO *, int); #endif -#ifndef PerlIO_fileno -extern int PerlIO_fileno(PerlIO *); -#endif #ifndef PerlIO_fdopen extern PerlIO *PerlIO_fdopen(int, const char *); #endif #ifndef PerlIO_importFILE -extern PerlIO *PerlIO_importFILE(FILE *, int); +extern PerlIO *PerlIO_importFILE(FILE *, const char *); #endif #ifndef PerlIO_exportFILE -extern FILE *PerlIO_exportFILE(PerlIO *, int); +extern FILE *PerlIO_exportFILE(PerlIO *, const char *); #endif #ifndef PerlIO_findFILE extern FILE *PerlIO_findFILE(PerlIO *); @@ -258,11 +275,11 @@ extern void PerlIO_setlinebuf(PerlIO *); #endif #ifndef PerlIO_printf extern int PerlIO_printf(PerlIO *, const char *, ...) - __attribute__ ((__format__(__printf__, 2, 3))); + __attribute__format__(__printf__, 2, 3); #endif #ifndef PerlIO_sprintf extern int PerlIO_sprintf(char *, int, const char *, ...) - __attribute__ ((__format__(__printf__, 3, 4))); + __attribute__format__(__printf__, 3, 4); #endif #ifndef PerlIO_vprintf extern int PerlIO_vprintf(PerlIO *, const char *, va_list); @@ -325,7 +342,7 @@ extern int PerlIO_getpos(PerlIO *, SV *); extern int PerlIO_setpos(PerlIO *, SV *); #endif #ifndef PerlIO_fdupopen -extern PerlIO *PerlIO_fdupopen(pTHX_ PerlIO *, CLONE_PARAMS *); +extern PerlIO *PerlIO_fdupopen(pTHX_ PerlIO *, CLONE_PARAMS *, int); #endif #if !defined(PerlIO_modestr) && !defined(PERLIO_IS_STDIO) extern char *PerlIO_modestr(PerlIO *, char *buf);