NAME
IO::FDpassData - send/receive data and/or file descriptor
SYNOPSIS
use
IO::FDpassData;
$bytessent
= fd_sendata(
socket
, message, FD);
(
$bytesrcvd
, message, FD) = fd_rcvdata(
socket
,
$maxsize
);
DESCRIPTION
This module will send and receive data and/or a file descriptor locally over a unix pipe.
$bytessent = fd_sendata(socket, message, FD);
input:
socket
file descriptor,
{optional} message, may be zero
length
string
{optional} file descriptor to
send
to other process
NOTE: optional message may be
'undef'
or zero
length
string
optional FD may be omitted,
'undef'
returns: bytes sent
or -1 on error
($bytesrcvd, message, FD) = fd_rcvdata(socket, $maxsize);
input:
socket
file descriptor,
maximum
length
to receive overrun will cause segfault??
returns: msg bytes received, or -1 on error
message, may be zero a
length
string
{optional} file descriptor or
undef
EXPORTS
fd_sendata
fd_recvdata
COPYRIGHT
Copyright Michael Robinton 2019
CREDITS
This package was inspired by an article published by Keith Packard https://keithp.com/blogs/fd-passing/ and the package IO::FDpass written by Marc A. Lehmann
SHORTCOMINGS
At the present time this package does not support Windows. Patches welcome.
LICENSE
This is free software; you can redistribute it and/or modify it under the terms of either:
a) the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version, or
b) the "Artistic License".
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.