1 # 2 # CDDL HEADER START 3 # 4 # The contents of this file are subject to the terms of the 5 # Common Development and Distribution License (the "License"). 6 # You may not use this file except in compliance with the License. 7 # 8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 # or http://www.opensolaris.org/os/licensing. 10 # See the License for the specific language governing permissions 11 # and limitations under the License. 12 # 13 # When distributing Covered Code, include this CDDL HEADER in each 14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 # If applicable, add the following below this CDDL HEADER, with the 16 # fields enclosed by brackets "[]" replaced with your own identifying 17 # information: Portions Copyright [yyyy] [name of copyright owner] 18 # 19 # CDDL HEADER END 20 # 21 22 # 23 # Copyright 2008 Sun Microsystems, Inc. All rights reserved. 24 # Use is subject to license terms. 25 # 26 27 # 28 # File.pm contains wrappers for the exacct file manipulation routines. 29 # 30 31 require 5.8.4; 32 use strict; 33 use warnings; 34 35 package Sun::Solaris::Exacct::File; 36 37 our $VERSION = '1.3'; 38 use XSLoader; 39 XSLoader::load(__PACKAGE__, $VERSION); 40 41 # @_Constants is set up by the XSUB bootstrap() function. 42 our (@EXPORT_OK, %EXPORT_TAGS, @_Constants); 43 @EXPORT_OK = @_Constants; 44 %EXPORT_TAGS = (CONSTANTS => \@_Constants, ALL => \@EXPORT_OK); 45 46 use base qw(Exporter); 47 48 # 49 # Extend the default Exporter::import to do optional inclusion of the 50 # Fcntl module. 51 # 52 sub import 53 { 54 # Do the normal export processing for this module. 55 __PACKAGE__->export_to_level(1, @_); 56 57 # Export from Fcntl if the tag is ':ALL' 58 if (grep(/^:ALL$/, @_)) { 59 require Fcntl; 60 Fcntl->export_to_level(1, undef, ':DEFAULT'); 61 } 62 } 63 64 1; 65