This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
The last parameter to gv_stashpv/gv_stashpvn/gv_stashsv is a bitmask
[perl5.git] / ext / IPC / SysV / SysV.pm
1 # IPC::SysV.pm
2 #
3 # Copyright (c) 1997 Graham Barr <gbarr@pobox.com>. All rights reserved.
4 # This program is free software; you can redistribute it and/or
5 # modify it under the same terms as Perl itself.
6
7 package IPC::SysV;
8
9 use strict;
10 use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $VERSION $XS_VERSION);
11 use Carp;
12 use Config;
13
14 require Exporter;
15 @ISA = qw(Exporter);
16
17 $VERSION = "1.04";
18 $XS_VERSION = $VERSION;
19 $VERSION = eval $VERSION;
20
21 @EXPORT_OK = qw(
22         GETALL GETNCNT GETPID GETVAL GETZCNT
23
24         IPC_ALLOC IPC_CREAT IPC_EXCL IPC_GETACL IPC_LOCKED IPC_M
25         IPC_NOERROR IPC_NOWAIT IPC_PRIVATE IPC_R IPC_RMID IPC_SET
26         IPC_SETACL IPC_SETLABEL IPC_STAT IPC_W IPC_WANTED
27
28         MSG_FWAIT MSG_LOCKED MSG_MWAIT MSG_NOERROR MSG_QWAIT
29         MSG_R MSG_RWAIT MSG_STAT MSG_W MSG_WWAIT
30
31         SEM_A SEM_ALLOC SEM_DEST SEM_ERR SEM_ORDER SEM_R SEM_UNDO
32
33         SETALL SETVAL
34
35         SHMLBA
36
37         SHM_A SHM_CLEAR SHM_COPY SHM_DCACHE SHM_DEST SHM_ECACHE
38         SHM_FMAP SHM_ICACHE SHM_INIT SHM_LOCK SHM_LOCKED SHM_MAP
39         SHM_NOSWAP SHM_R SHM_RDONLY SHM_REMOVED SHM_RND SHM_SHARE_MMU
40         SHM_SHATTR SHM_SIZE SHM_UNLOCK SHM_W
41
42         S_IRUSR S_IWUSR S_IRWXU
43         S_IRGRP S_IWGRP S_IRWXG
44         S_IROTH S_IWOTH S_IRWXO
45
46         ftok
47 );
48
49 BOOT_XS: {
50     # If I inherit DynaLoader then I inherit AutoLoader and I DON'T WANT TO
51     require DynaLoader;
52
53     # DynaLoader calls dl_load_flags as a static method.
54     *dl_load_flags = DynaLoader->can('dl_load_flags');
55
56     do {
57         __PACKAGE__->can('bootstrap') || \&DynaLoader::bootstrap
58     }->(__PACKAGE__, $XS_VERSION);
59 }
60
61 1;
62
63 __END__
64
65 =head1 NAME
66
67 IPC::SysV - SysV IPC constants
68
69 =head1 SYNOPSIS
70
71     use IPC::SysV qw(IPC_STAT IPC_PRIVATE);
72
73 =head1 DESCRIPTION
74
75 C<IPC::SysV> defines and conditionally exports all the constants
76 defined in your system include files which are needed by the SysV
77 IPC calls.  Common ones include
78
79    IPC_CREATE IPC_EXCL IPC_NOWAIT IPC_PRIVATE IPC_RMID IPC_SET IPC_STAT
80    GETVAL SETVAL GETPID GETNCNT GETZCNT GETALL SETALL
81    SEM_A SEM_R SEM_UNDO
82    SHM_RDONLY SHM_RND SHMLBA
83
84 and auxiliary ones
85
86    S_IRUSR S_IWUSR S_IRWXU
87    S_IRGRP S_IWGRP S_IRWXG
88    S_IROTH S_IWOTH S_IRWXO
89
90 but your system might have more.
91
92 =over 4
93
94 =item ftok( PATH, ID )
95
96 Return a key based on PATH and ID, which can be used as a key for
97 C<msgget>, C<semget> and C<shmget>. See L<ftok>
98
99 =back
100
101 =head1 SEE ALSO
102
103 L<IPC::Msg>, L<IPC::Semaphore>, L<ftok>
104
105 =head1 AUTHORS
106
107 Graham Barr <gbarr@pobox.com>
108 Jarkko Hietaniemi <jhi@iki.fi>
109
110 =head1 COPYRIGHT
111
112 Copyright (c) 1997 Graham Barr. All rights reserved.
113 This program is free software; you can redistribute it and/or modify it
114 under the same terms as Perl itself.
115
116 =cut
117