Hello,
it is possible to send data buffer with size about 1MB with using
DEVCTL?
Or how to send such mount of data between resmgr and client?
Thanks
Juraj
Problem with too big data buffer in DEVCTL
RE: Problem with too big data buffer in DEVCTL
MsgSend() is used to transfer the data, and the maximum size for
one-part message-pass is 2^32 - 1 (SSIZE_MAX). If you want to avoid
copying the data in the buffer, you can use MsgRead () / MsgWrite ()
to read data from the client's address.
one-part message-pass is 2^32 - 1 (SSIZE_MAX). If you want to avoid
copying the data in the buffer, you can use MsgRead () / MsgWrite ()
to read data from the client's address.
Re: Problem with too big data buffer in DEVCTL
juro <juraj.frank@naex-dot-sk.no-spam.invalid> wrote:
maximum that can be sent.
for message lengths. This suggests the maximum transfer would be
2G -- for a devctl() it would be 2G-sizeof(devctl header).
-David
--
David Gibbs
QNX Training Services
dagibbs@qnx.com
Yes, the API will happily transfer any size of buffer up to theHello,
it is possible to send data buffer with size about 1MB with using
DEVCTL?
maximum that can be sent.
MsgSend() (the underlying kernel call) uses signed 32-bit integersOr how to send such mount of data between resmgr and client?
for message lengths. This suggests the maximum transfer would be
2G -- for a devctl() it would be 2G-sizeof(devctl header).
-David
--
David Gibbs
QNX Training Services
dagibbs@qnx.com
Re: Problem with too big data buffer in DEVCTL
async <asreti@gmail-dot-com.no-spam.invalid> wrote:
than 2^32.
-David
--
David Gibbs
QNX Training Services
dagibbs@qnx.com
MsgSend() takes signed ints for the lengths. This suggests 2^31, ratherMsgSend() is used to transfer the data, and the maximum size for
one-part message-pass is 2^32 - 1 (SSIZE_MAX). If you want to avoid
copying the data in the buffer, you can use MsgRead () / MsgWrite ()
to read data from the client's address.
than 2^32.
-David
--
David Gibbs
QNX Training Services
dagibbs@qnx.com