xref: /freebsd/share/man/man4/mqueuefs.4 (revision 1687d77197c01c6ffd5bb233c7a15c6ebb9319af)
1*1687d771SAlexander Ziaee.\" Copyright (c) 2005 David Xu <davidxu@FreeBSD.org>
2*1687d771SAlexander Ziaee.\" All rights reserved.
3*1687d771SAlexander Ziaee.\"
4*1687d771SAlexander Ziaee.\" Redistribution and use in source and binary forms, with or without
5*1687d771SAlexander Ziaee.\" modification, are permitted provided that the following conditions
6*1687d771SAlexander Ziaee.\" are met:
7*1687d771SAlexander Ziaee.\" 1. Redistributions of source code must retain the above copyright
8*1687d771SAlexander Ziaee.\"    notice(s), this list of conditions and the following disclaimer as
9*1687d771SAlexander Ziaee.\"    the first lines of this file unmodified other than the possible
10*1687d771SAlexander Ziaee.\"    addition of one or more copyright notices.
11*1687d771SAlexander Ziaee.\" 2. Redistributions in binary form must reproduce the above copyright
12*1687d771SAlexander Ziaee.\"    notice(s), this list of conditions and the following disclaimer in
13*1687d771SAlexander Ziaee.\"    the documentation and/or other materials provided with the
14*1687d771SAlexander Ziaee.\"    distribution.
15*1687d771SAlexander Ziaee.\"
16*1687d771SAlexander Ziaee.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY
17*1687d771SAlexander Ziaee.\" EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18*1687d771SAlexander Ziaee.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
19*1687d771SAlexander Ziaee.\" PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) BE
20*1687d771SAlexander Ziaee.\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21*1687d771SAlexander Ziaee.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22*1687d771SAlexander Ziaee.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
23*1687d771SAlexander Ziaee.\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
24*1687d771SAlexander Ziaee.\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
25*1687d771SAlexander Ziaee.\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
26*1687d771SAlexander Ziaee.\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27*1687d771SAlexander Ziaee.\"
28*1687d771SAlexander Ziaee.Dd November 30, 2005
29*1687d771SAlexander Ziaee.Dt MQUEUEFS 4
30*1687d771SAlexander Ziaee.Os
31*1687d771SAlexander Ziaee.Sh NAME
32*1687d771SAlexander Ziaee.Nm mqueuefs
33*1687d771SAlexander Ziaee.Nd POSIX message queue file system
34*1687d771SAlexander Ziaee.Sh SYNOPSIS
35*1687d771SAlexander ZiaeeTo link into kernel:
36*1687d771SAlexander Ziaee.Pp
37*1687d771SAlexander Ziaee.Cd "options P1003_1B_MQUEUE"
38*1687d771SAlexander Ziaee.Pp
39*1687d771SAlexander ZiaeeTo load as a kernel loadable module:
40*1687d771SAlexander Ziaee.Pp
41*1687d771SAlexander Ziaee.Dl "kldload mqueuefs"
42*1687d771SAlexander Ziaee.Sh DESCRIPTION
43*1687d771SAlexander ZiaeeThe
44*1687d771SAlexander Ziaee.Nm
45*1687d771SAlexander Ziaeemodule will permit the
46*1687d771SAlexander Ziaee.Fx
47*1687d771SAlexander Ziaeekernel to support
48*1687d771SAlexander Ziaee.Tn POSIX
49*1687d771SAlexander Ziaeemessage queue.
50*1687d771SAlexander ZiaeeThe module contains system calls to manipulate
51*1687d771SAlexander Ziaee.Tn POSIX
52*1687d771SAlexander Ziaeemessage queues.
53*1687d771SAlexander ZiaeeIt also contains a file system to implement a view for all message queues of
54*1687d771SAlexander Ziaeethe system.
55*1687d771SAlexander ZiaeeThis helps users to keep track of their message queues and make
56*1687d771SAlexander Ziaeeit more easily usable without having to invent additional tools.
57*1687d771SAlexander Ziaee.Pp
58*1687d771SAlexander ZiaeeThe most common usage is as follows:
59*1687d771SAlexander Ziaee.Pp
60*1687d771SAlexander Ziaee.Dl "mount -t mqueuefs null /mnt/mqueue"
61*1687d771SAlexander Ziaee.Pp
62*1687d771SAlexander Ziaeewhere
63*1687d771SAlexander Ziaee.Pa /mnt/mqueue
64*1687d771SAlexander Ziaeeis a mount point.
65*1687d771SAlexander Ziaee.Pp
66*1687d771SAlexander ZiaeeIt is possible to define an entry in
67*1687d771SAlexander Ziaee.Pa /etc/fstab
68*1687d771SAlexander Ziaeethat looks similar to:
69*1687d771SAlexander Ziaee.Bd -literal
70*1687d771SAlexander Ziaeenull	/mnt/mqueue	mqueuefs	rw	0	0
71*1687d771SAlexander Ziaee.Ed
72*1687d771SAlexander Ziaee.Pp
73*1687d771SAlexander ZiaeeThis will mount
74*1687d771SAlexander Ziaee.Nm
75*1687d771SAlexander Ziaeeat the
76*1687d771SAlexander Ziaee.Pa /mnt/mqueue
77*1687d771SAlexander Ziaeemount point during system boot.
78*1687d771SAlexander ZiaeeUsing
79*1687d771SAlexander Ziaee.Pa /mnt/mqueue
80*1687d771SAlexander Ziaeeas a permanent mount point is not advised as its intention
81*1687d771SAlexander Ziaeehas always been to be a temporary mount point.
82*1687d771SAlexander ZiaeeSee
83*1687d771SAlexander Ziaee.Xr hier 7
84*1687d771SAlexander Ziaeefor more information on
85*1687d771SAlexander Ziaee.Fx
86*1687d771SAlexander Ziaeedirectory layout.
87*1687d771SAlexander Ziaee.Pp
88*1687d771SAlexander ZiaeeSome common tools can be used on the file system, e.g.:
89*1687d771SAlexander Ziaee.Xr cat 1 ,
90*1687d771SAlexander Ziaee.Xr chmod 1 ,
91*1687d771SAlexander Ziaee.Xr chown 8 ,
92*1687d771SAlexander Ziaee.Xr ls 1 ,
93*1687d771SAlexander Ziaee.Xr rm 1 ,
94*1687d771SAlexander Ziaeeetc.
95*1687d771SAlexander ZiaeeTo use only the message queue system calls, it is not necessary for
96*1687d771SAlexander Ziaeeuser to mount the file system, just load the module or compile it
97*1687d771SAlexander Ziaeeinto the kernel.
98*1687d771SAlexander ZiaeeManually creating a file, for example,
99*1687d771SAlexander Ziaee.Dq Li "touch /mnt/mqueue/myqueue" ,
100*1687d771SAlexander Ziaeewill create a message queue named
101*1687d771SAlexander Ziaee.Pa myqueue
102*1687d771SAlexander Ziaeein the kernel, default
103*1687d771SAlexander Ziaeemessage queue attributes will be applied to the queue.
104*1687d771SAlexander ZiaeeIt is not
105*1687d771SAlexander Ziaeeadvised to use this method to create a queue;
106*1687d771SAlexander Ziaeeit is better to use the
107*1687d771SAlexander Ziaee.Xr mq_open 2
108*1687d771SAlexander Ziaeesystem call to create a queue as it
109*1687d771SAlexander Ziaeeallows the user to specify different attributes.
110*1687d771SAlexander Ziaee.Pp
111*1687d771SAlexander ZiaeeTo see the queue's attributes, just read the file:
112*1687d771SAlexander Ziaee.Pp
113*1687d771SAlexander Ziaee.Dl "cat /mnt/mqueue/myqueue"
114*1687d771SAlexander Ziaee.Sh SEE ALSO
115*1687d771SAlexander Ziaee.Xr mq_open 2 ,
116*1687d771SAlexander Ziaee.Xr nmount 2 ,
117*1687d771SAlexander Ziaee.Xr unmount 2 ,
118*1687d771SAlexander Ziaee.Xr mount 8 ,
119*1687d771SAlexander Ziaee.Xr umount 8
120*1687d771SAlexander Ziaee.Sh AUTHORS
121*1687d771SAlexander ZiaeeThis manual page was written by
122*1687d771SAlexander Ziaee.An David Xu Aq Mt davidxu@FreeBSD.org .
123