1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
|
\input texinfo @c -*-texinfo-*-
@c %**start of header
@setfilename cmdipc.info
@settitle cmdipc
@afourpaper
@documentencoding UTF-8
@documentlanguage en
@finalout
@c %**end of header
@dircategory Interprocess communication
@direntry
* cmdipc: (cmdipc). System V and POSIX IPC from the command line
@end direntry
@copying
Copyright @copyright{} 2014 Mattias Andrée
@quotation
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts. A copy of the license is included in the section entitled
``GNU Free Documentation License''.
@end quotation
@end copying
@ifnottex
@node Top
@top cmdipc -- System V and POSIX IPC from the command line
@insertcopying
@end ifnottex
@titlepage
@title cmdipc
@subtitle System V and POSIX IPC from the command line
@author by Mattias Andrée (maandree)
@page
@c @center `'
@vskip 0pt plus 1filll
@insertcopying
@end titlepage
@contents
@menu
* Overview:: Brief overview of @command{cmdipc}.
* Invoking:: Invocation of @command{cmdipc}.
* GNU Free Documentation License:: Copying and sharing this manual.
@end menu
@node Overview
@chapter Overview
System V and POSIX interprocess communication
from the command line. In addition to the primities
shared memory, message queue and semaphores, this
tool can from these primitives construct mutexe,
conditions, barriers, shared locks and rendezvous.
@node Invoking
@chapter Invoking
@command{cmdipc} have support for eight types
of interprocess communication units: message
queues, semaphores, shared memory, mutexe
@footnote{Because of the nature of this program
mutexe are as bit degraded.}, conditions,
barrers, shared locks and rendezvous. These
are constructed from either the three System V
interprocess communication primitives: message
queues, semaphores and shared memory, or their
POSIX variants. The type of interprocess
communication unit to use is selected by the
follow options, to use the POSIX variant rather
than the System V variant add the option
@option{-P} (@option{--posix}).
@table @option
@item -Q
@itemx --mqueue
Message queue.
@item -S
@itemx --semaphore
Semaphore.
@item -M
@itemx --shm
Shared memory.
@item -X
@itemx --mutex
Mutually exclusive. (Mutex)
@item -C
@itemx --condition
Condition.
@item -B
@itemx --barrier
Barrier.
@item -L
@itemx --shared-lock
Shared lock.
@item -R
@itemx --rendezvous
Rendezvous.
@end table
To specify which instance of a unit to use,
specify its key (not ID) with the @option{-k}
(@option{--key}) option. If you do not have
a key, your only option is to create one, but
you can still create a unit with a specified
key. To create a unit use the option @option{-c}
(@option{--create}), this will be successful
even if the key is already in use, in which
case the unit will simply be opened. To fail
if the key is already in use, use the option
@option{-x} (@option{--exclusive}). @option{-x}
can be used with or without @option{-c}, it
is interpretation will does not depend on
@option{-c}, @option{-c} is implied by
@option{-x}. To remove a key, use the option
@option{-r} (@option{--remove}).
There are two additional options that are
recognised. These cannot be used with any
other optios.
@table @option
@item -h
@itemx --help
Print a list of all options.
@item -f
@itemx --ftok PATHNAME ID
Print a key derived from an existing
file and a project ID. The project ID
is a integer between the values 0 and
255, inclusively. The derived key is
probable to be non-unique.
@end table
@node GNU Free Documentation License
@appendix GNU Free Documentation License
@include fdl.texinfo
@bye
|