• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: cross-bounday memory communication b/w user app and the Kernel.How?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: cross-bounday memory communication b/w user app and the Kernel.How?


  • Subject: Re: cross-bounday memory communication b/w user app and the Kernel.How?
  • From: Michael Smith <email@hidden>
  • Date: Fri, 2 Jun 2006 11:42:56 -0700


On Jun 2, 2006, at 11:39 AM, rohit dhamija wrote:

I shall try to explain my doubt again:

I need to send various command packets to the device and get the
corresponding response packet. My command consists of

[a]. command identifier i.e. command_id
[b] command payload: This command payload differs from command to
command. The maximum size of command payload is:

 "unsigned char Commandpayload[257];"

My output response packet again varies from command to command. The
maximum size of response packet can be

"unsigned char ResponseData[256];"

So, one way is to make the shared structure (the structure to
communicate with user kernel space) can be:

typedef struct _mypacket{
int command_id;
union {
unsigned char Commandpayload[257];
unsigned char ResponseData[256]
} MY_PACKET, *PMY_PACKET;

But this type of structure will consume the maximum memory.

Unless you are going to have thousands of commands like this all active at the same time, the amount of memory that they will use is insignificant.


So In
order to avoid it, can we have pointers instead of  static memory
allocation ?

The command packet the structure will be

struct  command_packet{
int command_id
unsigned char* cmd_payload;
int size_of_command;
}

Similary for response_packet. Is this possible ?

This is exactly the situation that you described in an earlier message, and which I responded to with sample code.


It does not in any fashion suggest that you need to copy anything, so far.

 = Mike

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-kernel mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


  • Follow-Ups:
    • Re: cross-bounday memory communication b/w user app and the Kernel.How?
      • From: "rohit dhamija" <email@hidden>
References: 
 >cross-bounday memory communication b/w user app and the Kernel.How? (From: "rohit dhamija" <email@hidden>)
 >Re: cross-bounday memory communication b/w user app and the Kernel.How? (From: Michael Smith <email@hidden>)
 >Re: cross-bounday memory communication b/w user app and the Kernel.How? (From: "rohit dhamija" <email@hidden>)
 >Re: cross-bounday memory communication b/w user app and the Kernel.How? (From: Michael Smith <email@hidden>)
 >Re: cross-bounday memory communication b/w user app and the Kernel.How? (From: "rohit dhamija" <email@hidden>)
 >Re: cross-bounday memory communication b/w user app and the Kernel.How? (From: Michael Smith <email@hidden>)
 >Re: cross-bounday memory communication b/w user app and the Kernel.How? (From: "rohit dhamija" <email@hidden>)

  • Prev by Date: Re: cross-bounday memory communication b/w user app and the Kernel.How?
  • Next by Date: Re: cross-bounday memory communication b/w user app and the Kernel.How?
  • Previous by thread: Re: cross-bounday memory communication b/w user app and the Kernel.How?
  • Next by thread: Re: cross-bounday memory communication b/w user app and the Kernel.How?
  • Index(es):
    • Date
    • Thread