		/*
		 * This file was generated automatically by ExtUtils::ParseXS version 2.10 from the
		 * contents of Fcntl.xs. Do not edit this file, edit Fcntl.xs instead.
		 *
		 *	ANY CHANGES MADE HERE WILL BE LOST! 
		 *
		 */
		
		#line 1 "Fcntl.xs"
		#define PERL_NO_GET_CONTEXT
		#include "EXTERN.h"
		#include "perl.h"
		#include "XSUB.h"
		
		#ifdef VMS
		#  include <file.h>
		#else
		#if defined(__GNUC__) && defined(__cplusplus) && defined(WIN32)
		#define _NO_OLDNAMES
		#endif 
		#  include <fcntl.h>
		#if defined(__GNUC__) && defined(__cplusplus) && defined(WIN32)
		#undef _NO_OLDNAMES
		#endif 
		#endif
		
		#ifdef I_UNISTD
		#include <unistd.h>
		#endif
		
		/* This comment is a kludge to get metaconfig to see the symbols
		    VAL_O_NONBLOCK
		    VAL_EAGAIN
		    RD_NODATA
		    EOF_NONBLOCK
		   and include the appropriate metaconfig unit
		   so that Configure will test how to turn on non-blocking I/O
		   for a file descriptor.  See config.h for how to use these
		   in your extension. 
		   
		   While I'm at it, I'll have metaconfig look for HAS_POLL too.
		   --AD  October 16, 1995
		*/
		
		#include "const-c.inc"
		
		#ifndef PERL_UNUSED_VAR
		#  define PERL_UNUSED_VAR(var) if (0) var = var
		#endif
		
		#line 52 "Fcntl.c"
		
		/* INCLUDE:  Including 'const-xs.inc' from 'Fcntl.xs' */
		
		
		XS(XS_Fcntl_constant); /* prototype to pass -Wmissing-prototypes */
		XS(XS_Fcntl_constant)
         262    {
         262        dXSARGS;
         262        if (items != 1)
      ######    	Perl_croak(aTHX_ "Usage: Fcntl::constant(sv)");
         262        PERL_UNUSED_VAR(cv); /* -W */
         262        PERL_UNUSED_VAR(ax); /* -Wall */
         262        SP -= items;
		    {
		#line 4 "Fcntl.xs"
		#ifdef dXSTARG
			dXSTARG; /* Faster if we have it.  */
		#else
			dTARGET;
		#endif
			STRLEN		len;
		        int		type;
			IV		iv;
			/* NV		nv;	Uncomment this if you need to return NVs */
			/* const char	*pv;	Uncomment this if you need to return PVs */
		#line 78 "Fcntl.c"
         262    	SV *	sv = ST(0);
         262    	const char *	s = SvPV(sv, len);
		#line 18 "Fcntl.xs"
		        /* Change this to constant(aTHX_ s, len, &iv, &nv);
		           if you need to return both NVs and IVs */
			type = constant(aTHX_ s, len, &iv);
		      /* Return 1 or 2 items. First is error message, or undef if no error.
		           Second, if present, is found value */
		        switch (type) {
		        case PERL_constant_NOTFOUND:
		          sv = sv_2mortal(newSVpvf("%s is not a valid Fcntl macro", s));
		          PUSHs(sv);
		          break;
		        case PERL_constant_NOTDEF:
		          sv = sv_2mortal(newSVpvf(
			    "Your vendor has not defined Fcntl macro %s, used", s));
		          PUSHs(sv);
		          break;
		        case PERL_constant_ISIV:
		          EXTEND(SP, 1);
		          PUSHs(&PL_sv_undef);
		          PUSHi(iv);
		          break;
			/* Uncomment this if you need to return NOs
		        case PERL_constant_ISNO:
		          EXTEND(SP, 1);
		          PUSHs(&PL_sv_undef);
		          PUSHs(&PL_sv_no);
		          break; */
			/* Uncomment this if you need to return NVs
		        case PERL_constant_ISNV:
		          EXTEND(SP, 1);
		          PUSHs(&PL_sv_undef);
		          PUSHn(nv);
		          break; */
			/* Uncomment this if you need to return PVs
		        case PERL_constant_ISPV:
		          EXTEND(SP, 1);
		          PUSHs(&PL_sv_undef);
		          PUSHp(pv, strlen(pv));
		          break; */
			/* Uncomment this if you need to return PVNs
		        case PERL_constant_ISPVN:
		          EXTEND(SP, 1);
		          PUSHs(&PL_sv_undef);
		          PUSHp(pv, iv);
		          break; */
			/* Uncomment this if you need to return SVs
		        case PERL_constant_ISSV:
		          EXTEND(SP, 1);
		          PUSHs(&PL_sv_undef);
		          PUSHs(sv);
		          break; */
			/* Uncomment this if you need to return UNDEFs
		        case PERL_constant_ISUNDEF:
		          break; */
			/* Uncomment this if you need to return UVs
		        case PERL_constant_ISUV:
		          EXTEND(SP, 1);
		          PUSHs(&PL_sv_undef);
		          PUSHu((UV)iv);
		          break; */
			/* Uncomment this if you need to return YESs
		        case PERL_constant_ISYES:
		          EXTEND(SP, 1);
		          PUSHs(&PL_sv_undef);
		          PUSHs(&PL_sv_yes);
		          break; */
		        default:
		          sv = sv_2mortal(newSVpvf(
			    "Unexpected return type %d while processing Fcntl macro %s, used",
		               type, s));
		          PUSHs(sv);
		        }
		#line 153 "Fcntl.c"
         262    	PUTBACK;
			return;
		    }
		}
		
		
		/* INCLUDE: Returning to 'Fcntl.xs' from 'const-xs.inc' */
		
		#ifdef __cplusplus
		extern "C"
		#endif
		XS(boot_Fcntl); /* prototype to pass -Wmissing-prototypes */
		XS(boot_Fcntl)
         165    {
         165        dXSARGS;
         165        char* file = __FILE__;
		
         165        PERL_UNUSED_VAR(cv); /* -W */
         165        PERL_UNUSED_VAR(items); /* -W */
         165        XS_VERSION_BOOTCHECK ;
		
         165            newXS("Fcntl::constant", XS_Fcntl_constant, file);
         165        XSRETURN_YES;
		}
		
