1# $File: //depot/libOurNet/BBS/lib/OurNet/BBS/ShmScalar.pm $ $Author: autrijus $
2# $Revision: #2 $ $Change: 3792 $ $DateTime: 2003/01/24 19:34:06 $
3
4package OurNet::BBS::ShmScalar;
5use strict;
6no warnings 'deprecated';
7
8sub TIESCALAR {
9    my ($class, $shmid, $pos, $sz, $packstr) = @_;
10    return bless([$shmid, $pos, $sz, $packstr], $class);
11}
12
13sub FETCH {
14    my $self = shift;
15    my $buf;
16    shmread($self->[0], $buf, $self->[1], $self->[2]);
17    return unpack($self->[3], $buf);
18}
19
20sub STORE {
21    my ($self, $value) = @_;
22    my $buf = pack($self->[3], $value);
23    shmwrite($self->[0], $buf, $self->[1], $self->[2]);
24}
25
261;
27