#include "EXTERN.h" #include "perl.h" #include "XSUB.h" #include #ifndef SIOCATMARK #include #endif #ifdef PerlIO typedef PerlIO * InputStream; #else #define PERLIO_IS_STDIO 1 typedef FILE * InputStream; #define PerlIO_fileno(f) fileno(f) #endif MODULE = IO::Sockatmark PACKAGE = IO::Sockatmark int sockatmark (sock) InputStream sock PROTOTYPE: $ PREINIT: int fd,flag,result; CODE: { fd = PerlIO_fileno(sock); if (ioctl(fd,SIOCATMARK,&flag) != 0) XSRETURN_UNDEF; RETVAL = flag; } OUTPUT: RETVAL