#
# $Id: Layer2.pm 2002 2015-02-15 16:50:35Z gomor $
#
package Net::Packet::Layer2;
use strict;
use warnings;
require Net::Packet::Layer;
our @ISA = qw(Net::Packet::Layer);
__PACKAGE__->cgBuildIndices;
use Net::Packet::Consts qw(:layer);
sub layer { NP_LAYER_N_2 }
sub _is { (shift->is eq shift()) ? 1 : 0 }
sub isEth { shift->_is(NP_LAYER_ETH) }
sub isNull { shift->_is(NP_LAYER_NULL) }
sub isRaw { shift->_is(NP_LAYER_RAW) }
sub isSll { shift->_is(NP_LAYER_SLL) }
1;
__END__
=head1 NAME
Net::Packet::Layer2 - base class for all layer 2 modules
=head1 DESCRIPTION
This is the base class for B<Net::Packet::Layer2> subclasses.
It just provides those layers with inheritable attributes and methods.
=head1 METHODS
=over 4
=item B<isEth>
=item B<isNull>
=item B<isRaw>
=item B<isSll>
Returns true if Layer2 is of specified type, false otherwise.
=back
=head1 AUTHOR
Patrice E<lt>GomoRE<gt> Auffret
=head1 COPYRIGHT AND LICENSE
Copyright (c) 2004-2015, Patrice E<lt>GomoRE<gt> Auffret
You may distribute this module under the terms of the Artistic license.
See LICENSE.Artistic file in the source distribution archive.
=head1 RELATED MODULES
L<NetPacket>, L<Net::RawIP>, L<Net::RawSock>
=cut