����JFIF��H�H�����C� %# , #&')*)-0-(0%()(���C (((((((((((((((((((((((((((((((((((((((((((((((((((�������������������������������������������������P������������������������A�!)10������""������"*��@��������#+�OK&������2�Ec�xo����"�P��B}���������������������:9:9=<G$���S,�"5�R2�i��ғ��3ʥ�3@�;":%885I@��e� E��"�H�Z���ς�Z9 .��������[+��M�������������������,��������0" !1234#$5@P`�������?�$|�,.,���1�:�Q��<(���Q�Xi�*3���|T��}h�� L,I�V��|�hoZ��9��ȅ*�+�%��Y_�|5fcq�A�<���"8#_i���x���|�pۨ��p�+a�Q�uoŝȡ`sޚ5�n���.�:v��]�Mk��E�Gh�Ѐ"��B���i�f�<��O:��J�ԍ]o�҈g��Zz�!Xg{<6R�{�x'��`M����?�[Z�ط#5y�t�L�7S�) �vX���^�݈���;=�@^���Ƽ��� �� h��5� ���\��������������������������?4������������������������?4�����4� �������!1"02AQqa 3B��#@P`r��������?��f`��Y�ʉ�j����Zkx��@N�JaS������}����r��t��SɁ�3�p�e��W*͎�z4v\�c����`zdg�dGu3�� ��=�2p*��#��l�9�<���A���Pu��k�������8� � �4k*;���������8���2�b��VӋE�t�[0�kmli�㵑39�i����2��o} mM����kF \�:2�+w{{���-��$xVRkEA�N�]�^�R�[ryeV�G*G4��m�mӃ�N�!��hF�v��I�R��D�_�Q�p��T[l��D�.nNӢ����O��˚�i7+�=�=8qJ���'����K�B{���K�͟e�5���:����e��1��w�m��[MA���č��Vj��mȵ�z)�� č��}��n�(���9��?���)��������!1AQ0aq��� ��@�P`����?!��@v�,c�֟$M��6_���⠾SD$��!�/Y��:�NQ���!�c(��^��b�y��u��+�.H�U$�%嗗��ry�N>��]����X0�2D�q�q}Z��˥4ao����M,E�؇Uq� �Ϙc�AC\��:�+R��-�/9�Z �O�A*��|��+,u�~�#G �B" ���D�X1��_�VwP���OY��"�d��+V�a�\�t�v�^��[��j�c3�^�f4 KTFS��cNI��F���x1F9 �m��@��YڭQ�+(��D��Dߵ[���$�M���&��D�Z�V��&ձGi�@�t}�к�/+�4����wd0Dh���� ��aa�M='�g�UK�M��7�M+�O}�� ��4�r�ԋ�t��g\F,0���k��aX���U� ��5y��6�@�2�� ��DmZ�V{�9]A�.m�EKZ��2 ���?���������I$�I$�I$�I$�I$�I$�I$�I$A$�I$�@$I$�I I$�I ��$�I$�I$I$�II$�I$� �I$�I$�I$�I�A$�I$� �I$��$�I @�I$�$�I$�I �@$�I$�I$�I$�I$�I$�����������������������?4������������������������?4�����+��������!1AQ�aq�0����� ��@P`����?�����(Ir��ʲo��(��#)�0�a �?&�4�0�~��4Տ���K�Fhg~�����թ̛]NH ����}��N��:��5{y���o�BNb���s������C��t��kM�)j*D��$<�������gN���C��s%A#�*��=�@`䠴�?T+�U}�b��ʩ� D+�ϪG����!������j_�*)C�_ЂG�%�ү�4�X��T���IH������0r�"�%\~�%aJ��3�����iԁ �_�!�G�d ;�O�=$ VXx�� ����B�KSZtk�&�#��)�p0�P��Q.��M�9!�ۋne)��ҧ����4'��4$��)�F�^�v��� ��1j�f�z�U�K0�m�V=AA&C����"��gzu%�`08[^���Us���7��нWźU��� �z����4)B��e-�HV%Hh7�ԑ��A(�>hP��\�%a�[lL�_n{Ґ���V4n�FX�D+��1Kt�Z��\��!2��)Y��9�Em8�,��_WeD3¢���a��zW��L�3���d^-�����A��}�Y�g�(A�бx�P>ƌH��ߤ;Vn�q������JH� ?�� A�0�H��E�������jV�U��&H����� ��I�b&3�MF@H��L�E� CV-k6 �T:W���&3y��-օ�cB�6�#�h�VL{Q�0 ���Y��
One Hat Cyber Team
One Hat Cyber Team
Your IP :
18.188.86.189
Server IP :
167.114.57.54
Server :
Linux vps.riaoverseas.com 3.10.0-1160.15.2.el7.x86_64 #1 SMP Wed Feb 3 15:06:38 UTC 2021 x86_64
Server Software :
Apache
PHP Version :
8.0.18
Buat File
|
Buat Folder
Dir :
~
/
proc
/
self
/
root
/
usr
/
lib64
/
perl5
/
IPC
/
View File Name :
SharedMem.pm
################################################################################ # # $Revision: 4 $ # $Author: mhx $ # $Date: 2010/03/07 16:01:42 +0100 $ # ################################################################################ # # Version 2.x, Copyright (C) 2007-2010, Marcus Holland-Moritz <mhx@cpan.org>. # Version 1.x, Copyright (C) 1997, Graham Barr <gbarr@pobox.com>. # # This program is free software; you can redistribute it and/or # modify it under the same terms as Perl itself. # ################################################################################ package IPC::SharedMem; use IPC::SysV qw(IPC_STAT IPC_RMID shmat shmdt memread memwrite); use strict; use vars qw($VERSION); use Carp; $VERSION = do { my @r = '$Snapshot: /IPC-SysV/2.03 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' }; $VERSION = eval $VERSION; # Figure out if we have support for native sized types my $N = do { my $foo = eval { pack "L!", 0 }; $@ ? '' : '!' }; { package IPC::SharedMem::stat; use Class::Struct qw(struct); struct 'IPC::SharedMem::stat' => [ uid => '$', gid => '$', cuid => '$', cgid => '$', mode => '$', segsz => '$', lpid => '$', cpid => '$', nattch => '$', atime => '$', dtime => '$', ctime => '$', ]; } sub new { @_ == 4 or croak 'IPC::SharedMem->new(KEY, SIZE, FLAGS)'; my($class, $key, $size, $flags) = @_; my $id = shmget $key, $size, $flags; return undef unless defined $id; bless { _id => $id, _addr => undef, _isrm => 0 }, $class } sub id { my $self = shift; $self->{_id}; } sub addr { my $self = shift; $self->{_addr}; } sub stat { my $self = shift; my $data = ''; shmctl $self->id, IPC_STAT, $data or return undef; IPC::SharedMem::stat->new->unpack($data); } sub attach { @_ >= 1 && @_ <= 2 or croak '$shm->attach([FLAG])'; my($self, $flag) = @_; defined $self->addr and return undef; $self->{_addr} = shmat($self->id, undef, $flag || 0); defined $self->addr; } sub detach { my $self = shift; defined $self->addr or return undef; my $rv = defined shmdt($self->addr); undef $self->{_addr} if $rv; $rv; } sub remove { my $self = shift; return undef if $self->is_removed; my $rv = shmctl $self->id, IPC_RMID, 0; $self->{_isrm} = 1 if $rv; return $rv; } sub is_removed { my $self = shift; $self->{_isrm}; } sub read { @_ == 3 or croak '$shm->read(POS, SIZE)'; my($self, $pos, $size) = @_; my $buf = ''; if (defined $self->addr) { memread($self->addr, $buf, $pos, $size) or return undef; } else { shmread($self->id, $buf, $pos, $size) or return undef; } $buf; } sub write { @_ == 4 or croak '$shm->write(STRING, POS, SIZE)'; my($self, $str, $pos, $size) = @_; if (defined $self->addr) { return memwrite($self->addr, $str, $pos, $size); } else { return shmwrite($self->id, $str, $pos, $size); } } 1; __END__ =head1 NAME IPC::SharedMem - SysV Shared Memory IPC object class =head1 SYNOPSIS use IPC::SysV qw(IPC_PRIVATE S_IRUSR S_IWUSR); use IPC::SharedMem; $shm = IPC::SharedMem->new(IPC_PRIVATE, 8, S_IRWXU); $shm->write(pack("S", 4711), 2, 2); $data = $shm->read(0, 2); $ds = $shm->stat; $shm->remove; =head1 DESCRIPTION A class providing an object based interface to SysV IPC shared memory. =head1 METHODS =over 4 =item new ( KEY , SIZE , FLAGS ) Creates a new shared memory segment associated with C<KEY>. A new segment is created if =over 4 =item * C<KEY> is equal to C<IPC_PRIVATE> =item * C<KEY> does not already have a shared memory segment associated with it, and C<I<FLAGS> & IPC_CREAT> is true. =back On creation of a new shared memory segment C<FLAGS> is used to set the permissions. Be careful not to set any flags that the Sys V IPC implementation does not allow: in some systems setting execute bits makes the operations fail. =item id Returns the shared memory identifier. =item read ( POS, SIZE ) Read C<SIZE> bytes from the shared memory segment at C<POS>. Returns the string read, or C<undef> if there was an error. The return value becomes tainted. See L<shmread>. =item write ( STRING, POS, SIZE ) Write C<SIZE> bytes to the shared memory segment at C<POS>. Returns true if successful, or false if there is an error. See L<shmwrite>. =item remove Remove the shared memory segment from the system or mark it as removed as long as any processes are still attached to it. =item is_removed Returns true if the shared memory segment has been removed or marked for removal. =item stat Returns an object of type C<IPC::SharedMem::stat> which is a sub-class of C<Class::Struct>. It provides the following fields. For a description of these fields see you system documentation. uid gid cuid cgid mode segsz lpid cpid nattach atime dtime ctime =item attach ( [FLAG] ) Permanently attach to the shared memory segment. When a C<IPC::SharedMem> object is attached, it will use L<memread> and L<memwrite> instead of L<shmread> and L<shmwrite> for accessing the shared memory segment. Returns true if successful, or false on error. See L<shmat>. =item detach Detach from the shared memory segment that previously has been attached to. Returns true if successful, or false on error. See L<shmdt>. =item addr Returns the address of the shared memory that has been attached to in a format suitable for use with C<pack('P')>. Returns C<undef> if the shared memory has not been attached. =back =head1 SEE ALSO L<IPC::SysV>, L<Class::Struct> =head1 AUTHORS Marcus Holland-Moritz <mhx@cpan.org> =head1 COPYRIGHT Version 2.x, Copyright (C) 2007-2010, Marcus Holland-Moritz. Version 1.x, Copyright (c) 1997, Graham Barr. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =cut