How can I pass a buffer address thru an interface and use it as a buffer in the server?
Here is some sample code showing what I am trying to do:
Code: Select all
interface background_if {
void i2c_master_write_reg(int dest_address, int dest_reg,unsigned char buffer[], int len);
};
void background_task(server interface background_if i){
for(;;)
{
select {
case i.i2c_master_write_reg(int dest_address, int dest_reg,unsigned char buffer[], int len):
// the following line generates the error "cannot pass remote reference as a function argument"
i2c_master_write_reg(dest_address, dest_reg, buffer, len, r_i2c_if);
break;
}
}
}
void calling_function(client interface background_if i){
unsigned char buffer[5];
i.i2c_master_write_reg(0x60,0,mybuffer,sizeof(my_buffer));
}