OpenQNX :: The QNX Community Portal

Jul 25, 2008 - 04:23 PM
Google
  Web openqnx.com   
     Create an account Home · Submit News · QNX Forums · QNX Download · Search   
_
Main Menu
Who's Online
There are 23 unlogged users and 2 registered users online.

You can log-in or register for a user account here.

Post new topic   Reply to topic
View previous topic Printable version Log in to check your private messages View next topic
Author Message
juro
Post subject: Problem with too big data buffer in DEVCTL  PostPosted: Oct 01, 2007 - 01:13 PM
New Member


Joined: Sep 18, 2007
Posts: 3

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
 
 View user's profile Send private message  
Reply with quote Back to top
async
Post subject: RE: Problem with too big data buffer in DEVCTL  PostPosted: Oct 03, 2007 - 02:06 PM
New Member


Joined: Sep 16, 2007
Posts: 3

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.

_________________
stefano
 
 View user's profile Send private message  
Reply with quote Back to top
David Gibbs
Post subject: Re: Problem with too big data buffer in DEVCTL  PostPosted: Oct 09, 2007 - 09:03 PM
Guest





juro <juraj.frank@naex-dot-sk.no-spam.invalid> wrote:
Quote:
Hello,
it is possible to send data buffer with size about 1MB with using
DEVCTL?

Yes, the API will happily transfer any size of buffer up to the
maximum that can be sent.

Quote:
Or how to send such mount of data between resmgr and client?

MsgSend() (the underlying kernel call) uses signed 32-bit integers
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
 
   
Reply with quote Back to top
David Gibbs
Post subject: Re: Problem with too big data buffer in DEVCTL  PostPosted: Oct 09, 2007 - 09:04 PM
Guest





async <asreti@gmail-dot-com.no-spam.invalid> wrote:
Quote:
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.

MsgSend() takes signed ints for the lengths. This suggests 2^31, rather
than 2^32.

-David
--
David Gibbs
QNX Training Services
dagibbs@qnx.com
 
   
Reply with quote Back to top
Display posts from previous:     
Jump to:  
All times are GMT
Post new topic   Reply to topic
View previous topic Printable version Log in to check your private messages View next topic
Powered by PNphpBB2 © 2003-2007 The PNphpBB Group
Credits
All logos and trademarks in this site are property of their respective owners. The comments are property of their posters.
Powered by OpenQNX: The QNX Community Portal Site
QNX and the QNX logo are registered trademarks of QNX Software Systems.