Lines Matching defs:io

819     IO *io;
829 if ((io = GvIOp(gv))) {
833 if (IoDIRP(io))
837 mg = SvTIED_mg((const SV *)io, PERL_MAGIC_tiedscalar);
841 return Perl_tied_method(aTHX_ SV_CONST(OPEN), mark - 1, MUTABLE_SV(io), mg,
878 IO * const io = GvIO(gv);
879 if (io) {
880 const MAGIC * const mg = SvTIED_mg((const SV *)io, PERL_MAGIC_tiedscalar);
882 return tied_method0(SV_CONST(CLOSE), SP, MUTABLE_SV(io), mg);
943 IO *io;
950 io = GvIO(gv);
952 if (io
953 && (mg = SvTIED_mg((const SV *)io, PERL_MAGIC_tiedscalar)))
955 return tied_method0(SV_CONST(FILENO), SP, MUTABLE_SV(io), mg);
958 if (io && IoDIRP(io)) {
960 PUSHi(my_dirfd(IoDIRP(io)));
974 if (!io || !(fp = IoIFP(io))) {
1021 IO *io;
1032 io = GvIO(gv);
1034 if (io) {
1035 const MAGIC * const mg = SvTIED_mg((const SV *)io, PERL_MAGIC_tiedscalar);
1041 return Perl_tied_method(aTHX_ SV_CONST(BINMODE), SP, MUTABLE_SV(io), mg,
1047 if (!io || !(fp = IoIFP(io))) {
1061 if (PerlIO_binmode(aTHX_ fp, IoTYPE(io), mode, d)) {
1062 if (IoOFP(io) && IoOFP(io) != IoIFP(io)) {
1063 if (!PerlIO_binmode(aTHX_ IoOFP(io), IoTYPE(io), mode, d)) {
1598 IO *const io = GvIO(gv);
1603 if (io) {
1604 const MAGIC * const mg = SvTIED_mg((const SV *)io, PERL_MAGIC_tiedscalar);
1607 Perl_tied_method(aTHX_ SV_CONST(GETC), SP, MUTABLE_SV(io), mg, gimme, 0);
1616 if (!io || (!IoIFP(io) && IoTYPE(io) != IoTYPE_WRONLY))
1664 IO *io;
1684 io = GvIO(gv);
1685 if (!io) {
1690 if (IoFMT_GV(io))
1691 fgv = IoFMT_GV(io);
1703 IoFLAGS(io) &= ~IOf_DIDTOP;
1711 IO * const io = GvIOp(gv);
1718 if (is_return || !io || !(ofp = IoOFP(io)))
1722 (long)IoLINES_LEFT(io), (long)FmLINES(PL_formtarget)));
1724 if (IoLINES_LEFT(io) < FmLINES(PL_formtarget) &&
1729 if (!IoTOP_GV(io)) {
1732 if (!IoTOP_NAME(io)) {
1734 if (!IoFMT_NAME(io))
1735 IoFMT_NAME(io) = savepv(GvNAME(gv));
1741 IoTOP_NAME(io) = savesvpv(topname);
1743 IoTOP_NAME(io) = savepvs("top");
1745 topgv = gv_fetchpv(IoTOP_NAME(io), 0, SVt_PVFM);
1747 IoLINES_LEFT(io) = IoPAGE_LEN(io);
1750 IoTOP_GV(io) = topgv;
1752 if (IoFLAGS(io) & IOf_DIDTOP) { /* Oh dear. It still doesn't fit. */
1753 I32 lines = IoLINES_LEFT(io);
1770 FmLINES(PL_formtarget) -= IoLINES_LEFT(io);
1773 if (IoLINES_LEFT(io) >= 0 && IoPAGE(io) > 0)
1775 IoLINES_LEFT(io) = IoPAGE_LEN(io);
1776 IoPAGE(io)++;
1778 IoFLAGS(io) |= IOf_DIDTOP;
1779 fgv = IoTOP_GV(io);
1780 assert(fgv); /* IoTOP_GV(io) should have been set above */
1808 else if (!io || !(fp = IoOFP(io))) {
1809 if (io && IoIFP(io))
1816 if ((IoLINES_LEFT(io) -= FmLINES(PL_formtarget)) < 0) {
1825 if (IoFLAGS(io) & IOf_FLUSH)
1843 IO *const io = GvIO(gv);
1850 if (io) {
1851 const MAGIC * const mg = SvTIED_mg((const SV *)io, PERL_MAGIC_tiedscalar);
1861 return Perl_tied_method(aTHX_ SV_CONST(PRINTF), mark - 1, MUTABLE_SV(io),
1868 if (!io) {
1873 else if (!(fp = IoOFP(io))) {
1874 if (IoIFP(io))
1878 SETERRNO(EBADF,IoIFP(io)?RMS_FAC:RMS_IFI);
1887 if (IoFLAGS(io) & IOf_FLUSH)
1928 IO *io;
1947 && gv && (io = GvIO(gv)) )
1949 const MAGIC *const mg = SvTIED_mg((const SV *)io, PERL_MAGIC_tiedscalar);
1951 return Perl_tied_method(aTHX_ SV_CONST(READ), mark - 1, MUTABLE_SV(io), mg,
1970 io = GvIO(gv);
1971 if (!io || !IoIFP(io)) {
1978 fd = PerlIO_fileno(IoIFP(io));
1980 if ((fp_utf8 = PerlIO_isutf8(IoIFP(io))) && !IN_BYTES) {
2037 if (!(IoFLAGS(io) & IOf_UNTAINT))
2068 fd = PerlIO_fileno(IoIFP(io));
2097 if (IoTYPE(io) == IoTYPE_SOCKET) {
2118 count = PerlIO_read(IoIFP(io), buffer, length);
2120 if (count == 0 && PerlIO_error(IoIFP(io)))
2124 if (IoTYPE(io) == IoTYPE_WRONLY)
2173 if (!(IoFLAGS(io) & IOf_UNTAINT))
2198 IO *const io = GvIO(gv);
2201 if (op_type == OP_SYSWRITE && io) {
2202 const MAGIC * const mg = SvTIED_mg((const SV *)io, PERL_MAGIC_tiedscalar);
2210 return Perl_tied_method(aTHX_ SV_CONST(WRITE), mark - 1, MUTABLE_SV(io), mg,
2221 if (!io || !IoIFP(io) || IoTYPE(io) == IoTYPE_RDONLY) {
2223 if (io && IoIFP(io))
2230 fd = PerlIO_fileno(IoIFP(io));
2241 if (PerlIO_isutf8(IoIFP(io))) {
2312 if (IoTYPE(io) == IoTYPE_SOCKET) {
2345 IO *io;
2379 if ((io = GvIO(gv)) && (mg = SvTIED_mg((const SV *)io, PERL_MAGIC_tiedscalar))) {
2380 return tied_method1(SV_CONST(EOF), SP, MUTABLE_SV(io), mg, newSVuv(which));
2384 if (io && !IoIFP(io)) {
2385 if ((IoFLAGS(io) & IOf_START) && av_count(GvAVn(gv)) == 0) {
2387 IoLINES(io) = 0;
2388 IoFLAGS(io) &= ~IOf_START;
2412 IO *io;
2420 io = GvIO(gv);
2421 if (io) {
2422 const MAGIC * const mg = SvTIED_mg((const SV *)io, PERL_MAGIC_tiedscalar);
2424 return tied_method0(SV_CONST(TELL), SP, MUTABLE_SV(io), mg);
2456 IO *const io = GvIO(gv);
2458 if (io) {
2459 const MAGIC * const mg = SvTIED_mg((const SV *)io, PERL_MAGIC_tiedscalar);
2467 return tied_method2(SV_CONST(SEEK), SP, MUTABLE_SV(io), mg, offset_sv,
2515 IO *io;
2521 io = GvIO(tmpgv);
2522 if (!io)
2528 if (!(fp = IoIFP(io))) {
2554 io = MUTABLE_IO(SvRV(sv)); /* *main::FRED{IO} for example */
2609 IO * const io = GvIOn(gv);
2613 if (!IoIFP(io)) {
2641 retval = PerlLIO_ioctl(PerlIO_fileno(IoIFP(io)), func, s);
2649 retval = fcntl(PerlIO_fileno(IoIFP(io)), func, (int)s);
2651 retval = fcntl(PerlIO_fileno(IoIFP(io)), func, s);
2682 IO *const io = GvIO(gv);
2683 PerlIO *const fp = io ? IoIFP(io) : NULL;
2685 /* XXX Looks to me like io is always NULL at this point */
2713 IO * const io = GvIOn(gv);
2716 if (IoIFP(io))
2724 IoIFP(io) = PerlIO_fdopen(fd, "r" SOCKET_OPEN_MODE); /* stdio gets confused about sockets */
2725 IoOFP(io) = PerlIO_fdopen(fd, "w" SOCKET_OPEN_MODE);
2726 IoTYPE(io) = IoTYPE_SOCKET;
2727 if (!IoIFP(io) || !IoOFP(io)) {
2728 if (IoIFP(io)) PerlIO_close(IoIFP(io));
2729 if (IoOFP(io)) PerlIO_close(IoOFP(io));
2730 if (!IoIFP(io) && !IoOFP(io)) PerlLIO_close(fd);
2793 IO * const io = GvIOn(gv);
2798 if (!IoIFP(io))
2800 fd = PerlIO_fileno(IoIFP(io));
2826 IO * const io = GvIOn(gv);
2828 if (!IoIFP(io))
2831 if (PerlSock_listen(PerlIO_fileno(IoIFP(io)), backlog) >= 0)
2908 IO * const io = GvIOn(gv);
2910 if (!IoIFP(io))
2913 PUSHi( PerlSock_shutdown(PerlIO_fileno(IoIFP(io)), how) >= 0 );
2936 IO * const io = GvIOn(gv);
2940 if (!IoIFP(io))
2943 fd = PerlIO_fileno(IoIFP(io));
3003 IO * const io = GvIOn(gv);
3008 if (!IoIFP(io))
3020 fd = PerlIO_fileno(IoIFP(io));
3072 IO *io = NULL;
3100 PL_statgv = gv ? gv : (GV *)io;
3103 io = GvIO(gv);
3105 if (io) {
3106 if (IoIFP(io)) {
3107 int fd = PerlIO_fileno(IoIFP(io));
3115 } else if (IoDIRP(io)) {
3117 PerlLIO_fstat(my_dirfd(IoDIRP(io)), &PL_statcache);
3139 io = MUTABLE_IO(SvRV(sv));
3712 IO *io;
3733 io = SvTYPE(PL_statgv) == SVt_PVIO
3743 io = GvIO(PL_statgv);
3747 if (io && IoIFP(io)) {
3749 if (! PerlIO_has_base(IoIFP(io)))
3751 fd = PerlIO_fileno(IoIFP(io));
3765 if (PerlIO_get_cnt(IoIFP(io)) <= 0) {
3766 i = PerlIO_getc(IoIFP(io));
3768 (void)PerlIO_ungetc(IoIFP(io),i);
3773 len = PerlIO_get_bufsiz(IoIFP(io));
3774 s = (STDCHAR *) PerlIO_get_base(IoIFP(io));
3954 IO* const io = GvIO(gv);
3955 if (io) {
3956 if (IoDIRP(io)) {
3957 PUSHi(fchdir(my_dirfd(IoDIRP(io))) >= 0);
3958 } else if (IoIFP(io)) {
3959 int fd = PerlIO_fileno(IoIFP(io));
4284 IO * const io = GvIOn(gv);
4286 if ((IoIFP(io) || IoOFP(io)))
4289 if (IoDIRP(io))
4290 PerlDir_close(IoDIRP(io));
4291 if (!(IoDIRP(io) = PerlDir_open(dirname)))
4318 IO * const io = GvIOn(gv);
4320 if (!IoDIRP(io)) {
4328 dp = (Direntry_t *)PerlDir_read(IoDIRP(io));
4336 if (!(IoFLAGS(io) & IOf_UNTAINT))
4368 IO * const io = GvIOn(gv);
4370 if (!IoDIRP(io)) {
4377 PUSHi( PerlDir_tell(IoDIRP(io)) );
4394 IO * const io = GvIOn(gv);
4396 if (!IoDIRP(io)) {
4402 (void)PerlDir_seek(IoDIRP(io), along);
4419 IO * const io = GvIOn(gv);
4421 if (!IoDIRP(io)) {
4427 (void)PerlDir_rewind(IoDIRP(io));
4443 IO * const io = GvIOn(gv);
4445 if (!IoDIRP(io)) {
4452 PerlDir_close(IoDIRP(io));
4454 if (PerlDir_close(IoDIRP(io)) < 0) {
4455 IoDIRP(io) = 0; /* Don't try to close again--coredumps on SysV */
4459 IoDIRP(io) = 0;