require '_h2ph_pre.ph';

no warnings 'redefine';

unless(defined(&_NNPFS_ATTR_H)) {
    eval 'sub _NNPFS_ATTR_H () {1;}' unless defined(&_NNPFS_ATTR_H);
    eval 'sub XA_V_NONE () {0;}' unless defined(&XA_V_NONE);
    eval 'sub XA_V_MODE () {(1<< 0);}' unless defined(&XA_V_MODE);
    eval 'sub XA_V_NLINK () {(1<< 1);}' unless defined(&XA_V_NLINK);
    eval 'sub XA_V_SIZE () {(1<< 2);}' unless defined(&XA_V_SIZE);
    eval 'sub XA_V_UID () {(1<< 3);}' unless defined(&XA_V_UID);
    eval 'sub XA_V_GID () {(1<< 4);}' unless defined(&XA_V_GID);
    eval 'sub XA_V_ATIME () {(1<< 5);}' unless defined(&XA_V_ATIME);
    eval 'sub XA_V_MTIME () {(1<< 6);}' unless defined(&XA_V_MTIME);
    eval 'sub XA_V_CTIME () {(1<< 7);}' unless defined(&XA_V_CTIME);
    eval 'sub XA_V_FILEID () {(1<< 8);}' unless defined(&XA_V_FILEID);
    eval 'sub XA_V_TYPE () {(1<< 9);}' unless defined(&XA_V_TYPE);
    eval 'sub NNPFS_FILE_NON () {1;}' unless defined(&NNPFS_FILE_NON);
    eval 'sub NNPFS_FILE_REG () {2;}' unless defined(&NNPFS_FILE_REG);
    eval 'sub NNPFS_FILE_DIR () {3;}' unless defined(&NNPFS_FILE_DIR);
    eval 'sub NNPFS_FILE_BLK () {4;}' unless defined(&NNPFS_FILE_BLK);
    eval 'sub NNPFS_FILE_CHR () {5;}' unless defined(&NNPFS_FILE_CHR);
    eval 'sub NNPFS_FILE_LNK () {6;}' unless defined(&NNPFS_FILE_LNK);
    eval 'sub NNPFS_FILE_SOCK () {7;}' unless defined(&NNPFS_FILE_SOCK);
    eval 'sub NNPFS_FILE_FIFO () {8;}' unless defined(&NNPFS_FILE_FIFO);
    eval 'sub NNPFS_FILE_BAD () {9;}' unless defined(&NNPFS_FILE_BAD);
    eval 'sub XA_CLEAR {
        my($xa_p) = @_;
	    eval q((($xa_p)-> &valid =  &XA_V_NONE));
    }' unless defined(&XA_CLEAR);
    eval 'sub XA_SET_MODE {
        my($xa_p, $value) = @_;
	    eval q(((($xa_p)-> &valid) |=  &XA_V_MODE, (($xa_p)-> &xa_mode) = $value));
    }' unless defined(&XA_SET_MODE);
    eval 'sub XA_SET_NLINK {
        my($xa_p, $value) = @_;
	    eval q(((($xa_p)-> &valid) |=  &XA_V_NLINK, (($xa_p)-> &xa_nlink) = $value));
    }' unless defined(&XA_SET_NLINK);
    eval 'sub XA_SET_SIZE {
        my($xa_p, $value) = @_;
	    eval q(((($xa_p)-> &valid) |=  &XA_V_SIZE, (($xa_p)-> &xa_size) = $value));
    }' unless defined(&XA_SET_SIZE);
    eval 'sub XA_SET_UID {
        my($xa_p, $value) = @_;
	    eval q(((($xa_p)-> &valid) |=  &XA_V_UID, (($xa_p)-> &xa_uid) = $value));
    }' unless defined(&XA_SET_UID);
    eval 'sub XA_SET_GID {
        my($xa_p, $value) = @_;
	    eval q(((($xa_p)-> &valid) |=  &XA_V_GID, (($xa_p)-> &xa_gid) = $value));
    }' unless defined(&XA_SET_GID);
    eval 'sub XA_SET_ATIME {
        my($xa_p, $value) = @_;
	    eval q(((($xa_p)-> &valid) |=  &XA_V_ATIME, (($xa_p)-> &xa_atime) = $value));
    }' unless defined(&XA_SET_ATIME);
    eval 'sub XA_SET_MTIME {
        my($xa_p, $value) = @_;
	    eval q(((($xa_p)-> &valid) |=  &XA_V_MTIME, (($xa_p)-> &xa_mtime) = $value));
    }' unless defined(&XA_SET_MTIME);
    eval 'sub XA_SET_CTIME {
        my($xa_p, $value) = @_;
	    eval q(((($xa_p)-> &valid) |=  &XA_V_CTIME, (($xa_p)-> &xa_ctime) = $value));
    }' unless defined(&XA_SET_CTIME);
    eval 'sub XA_SET_FILEID {
        my($xa_p, $value) = @_;
	    eval q(((($xa_p)-> &valid) |=  &XA_V_FILEID, (($xa_p)-> &xa_fileid) = $value));
    }' unless defined(&XA_SET_FILEID);
    eval 'sub XA_SET_TYPE {
        my($xa_p, $value) = @_;
	    eval q(((($xa_p)-> &valid) |=  &XA_V_TYPE, (($xa_p)-> &xa_type) = $value));
    }' unless defined(&XA_SET_TYPE);
    eval 'sub XA_VALID_MODE {
        my($xa_p) = @_;
	    eval q(((($xa_p)-> &valid) &  &XA_V_MODE));
    }' unless defined(&XA_VALID_MODE);
    eval 'sub XA_VALID_NLINK {
        my($xa_p) = @_;
	    eval q(((($xa_p)-> &valid) &  &XA_V_NLINK));
    }' unless defined(&XA_VALID_NLINK);
    eval 'sub XA_VALID_SIZE {
        my($xa_p) = @_;
	    eval q(((($xa_p)-> &valid) &  &XA_V_SIZE));
    }' unless defined(&XA_VALID_SIZE);
    eval 'sub XA_VALID_UID {
        my($xa_p) = @_;
	    eval q(((($xa_p)-> &valid) &  &XA_V_UID));
    }' unless defined(&XA_VALID_UID);
    eval 'sub XA_VALID_GID {
        my($xa_p) = @_;
	    eval q(((($xa_p)-> &valid) &  &XA_V_GID));
    }' unless defined(&XA_VALID_GID);
    eval 'sub XA_VALID_ATIME {
        my($xa_p) = @_;
	    eval q(((($xa_p)-> &valid) &  &XA_V_ATIME));
    }' unless defined(&XA_VALID_ATIME);
    eval 'sub XA_VALID_MTIME {
        my($xa_p) = @_;
	    eval q(((($xa_p)-> &valid) &  &XA_V_MTIME));
    }' unless defined(&XA_VALID_MTIME);
    eval 'sub XA_VALID_CTIME {
        my($xa_p) = @_;
	    eval q(((($xa_p)-> &valid) &  &XA_V_CTIME));
    }' unless defined(&XA_VALID_CTIME);
    eval 'sub XA_VALID_FILEID {
        my($xa_p) = @_;
	    eval q(((($xa_p)-> &valid) &  &XA_V_FILEID));
    }' unless defined(&XA_VALID_FILEID);
    eval 'sub XA_VALID_TYPE {
        my($xa_p) = @_;
	    eval q(((($xa_p)-> &valid) &  &XA_V_TYPE));
    }' unless defined(&XA_VALID_TYPE);
}
1;
