RPC( dataspace)

ba_f <[email protected]>
Newsgroups gmane.comp.micro-kernel.l4.devel
Message-ID <[email protected]>
Hello,

I wanna use the new RPC with a L4Re::Dataspace as parameter.
Unfortunately, I get an Error=0xfffff828=8_dec.

What's my Error?



/* shared.h */
#include <l4/sys/capability>
#include <l4/sys/cxx/ipc_iface>
#include <l4/re/dataspace>

struct SERV : L4::Kobject_t<SERV, L4::Kobject, 0x44>
{
   L4_INLINE_RPC(int, transmit, (int32_t size, 
L4::Ipc::Cap<L4Re::Dataspace> command));
   typedef L4::Typeid::Rpcs<transmit_t> Rpcs;
};




/* server.cc */
class Server : public L4::Epiface_t<Server, SERV>
{
public:
     int op_transmit(SERV::Rights, int32_t size, L4::Ipc::Snd_fpage 
command)
     {
      return 0;
     }
};




/* client.cc */
   L4::Cap<L4Re::Dataspace> dataspace = 
L4Re::Util::cap_alloc.alloc<L4Re::Dataspace>();
   if (!(dataspace).is_valid()){
     return -1;
   }
   int r =  L4Re::Env::env()->mem_alloc()->alloc( size, dataspace, 0);
   if (r < 0){
     return -1;
   }
   l4_addr_t ds_startAddr = 0;
   r =  L4Re::Env::env()->rm()->attach( &ds_startAddr, dataspace->size(), 
L4Re::Rm::Search_addr, L4::Ipc::make_cap_rw(dataspace));
   if (r < 0){
     return -1;
   }

   r = serverCap->transmit( size, dataspace);
   if (r){
     printf("Error=0x%x=%d_dec talking to server\n",r);
     return -1;
   }




BTW: What's that 0x44 in the struct?
Where do i find valid flags for this parameter?



Thanks again,

ba_f
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.