Item.pod revision 7c478bd95313f5f23a4c958a745db2134aa03244
#
# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License, Version 1.0 only
# (the "License"). You may not use this file except in compliance
# with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#
#ident "%Z%%M% %I% %E% SMI"
#
# Sun::Solaris::Exacct::Object::Item documentation.
#
=head1 NAME
Sun::Solaris::Exacct::Object::Item - exacct item manipulation
=head1 SYNOPSIS
use Sun::Solaris::Exacct::Object;
my $ea_item = Sun::Solaris::Exacct::Object::Item->new(
&EXT_UINT64 | &EXC_DEFAULT | &EXD_PROC_PID, $$);
This module is used for manipulating C<libexacct(3LIB)> data Items. A
libexacct Item is represented as an opaque reference blessed into the
C<Sun::Solaris::Exacct::Object::Item> class, which is a subclass of the
C<Sun::Solaris::Exacct::Object> class. The underlying libexacct data types are
mapped onto Perl types as follows:
B<C< libexacct type Perl internal type>>
EXT_UINT8 IV (integer)
EXT_UINT16 IV (integer)
EXT_UINT32 IV (integer)
EXT_UINT64 IV (integer)
EXT_DOUBLE NV (double)
EXT_STRING PV (string)
EXT_RAW PV (string)
EXT_EXACCT_OBJECT Sun::Solaris::Exacct::Object subclass
=head2 Constants
None.
=head2 Functions
None.
=head2 Class methods
Class methods include those inherited from the C<Sun::Solaris::Exacct::Object>
base class, plus the following:
B<C<new($catalog, $value)>>
This method creates and returns a new C<Sun::Solaris::Exacct::Object::Item>.
The catalog tag can be either an integer or a
C<Sun::Solaris::Exacct::Catalog>. This catalog tag controls the conversion of
the Perl value to the corresponding Perl exacct data type as described in the
table above. If the catalog tag has a type field of C<EXT_EXACCT_OBJECT>, the
value must be a reference to either an Item or a Group object and the passed
object is recursively copied and stored inside the new Item. Because the
returned Item is constant, it is impossible, for example, to create an Item
representing CPU seconds and subsequently modify its value or change its
catalog value. This behavior is intended to prevent mismatches between the
catalog tag and the data value.
=head2 Object methods
Object methods are those inherited from the C<Sun::Solaris::Exacct::Object>.
=head2 Exports
None.
=head1 ATTRIBUTES
See C<attributes(5)> for descriptions of the following attributes:
___________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Availability | CPAN (http://www.cpan.org) |
|_____________________________|_____________________________|
| Interface Stability | Evolving |
|_____________________________|_____________________________|
=head1 SEE ALSO
C<Sun::Solaris::Exacct(3)>, C<Sun::Solaris::Exacct::Catalog(3)>,
C<Sun::Solaris::Exacct::File(3)>, C<Sun::Solaris::Exacct::Object(3)>,
C<Sun::Solaris::Exacct::Object::Group(3)>, C<libexacct(3LIB)>, C<attributes(5)>