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