1.1 --- a/libipc/include/ipc/message.h Sun Jun 05 18:48:38 2022 +0200
1.2 +++ b/libipc/include/ipc/message.h Sun Jun 05 18:49:51 2022 +0200
1.3 @@ -1,7 +1,7 @@
1.4 /*
1.5 * Interprocess communication message abstraction.
1.6 *
1.7 - * Copyright (C) 2018, 2019, 2021 Paul Boddie <paul@boddie.org.uk>
1.8 + * Copyright (C) 2018, 2019, 2021, 2022 Paul Boddie <paul@boddie.org.uk>
1.9 *
1.10 * This program is free software; you can redistribute it and/or
1.11 * modify it under the terms of the GNU General Public License as
1.12 @@ -46,6 +46,10 @@
1.13 l4_msgtag_t tag;
1.14 unsigned int expected_items;
1.15
1.16 + /* Receive item counter. */
1.17 +
1.18 + unsigned int receive_items;
1.19 +
1.20 /* Output details. */
1.21
1.22 unsigned int words;
1.23 @@ -109,6 +113,7 @@
1.24 void ipc_message_add_item(ipc_message_t *msg, l4_cap_idx_t cap);
1.25 void ipc_message_add_fpage(ipc_message_t *msg, l4_snd_fpage_t fpage);
1.26 void ipc_message_add_page(ipc_message_t *msg, l4_umword_t hot_spot, l4_fpage_t fpage);
1.27 +void ipc_message_add_receive_fpage(ipc_message_t *msg, l4_snd_fpage_t fpage);
1.28 void ipc_message_add_string(ipc_message_t *msg, const char *value);
1.29 void ipc_message_add_word(ipc_message_t *msg, l4_umword_t value);
1.30 void ipc_message_propagate_item(ipc_message_t *msg, l4_cap_idx_t cap);
1.31 @@ -136,6 +141,7 @@
1.32 long ipc_message_import_dataspace(ipc_message_t *msg, int item, l4re_ds_t *mem, l4_addr_t *addr);
1.33 long ipc_message_import_fpage(ipc_message_t *msg, int item, l4_snd_fpage_t *fpage);
1.34 void ipc_message_propagate_capability(ipc_message_t *msg, int item, l4_cap_idx_t ref);
1.35 +void ipc_message_receive_fpage(ipc_message_t *msg, int item, l4_snd_fpage_t fpage);
1.36 l4_msgtag_t ipc_message_reply_tag(ipc_message_t *msg);
1.37 l4_msgtag_t ipc_message_request_tag(ipc_message_t *msg, int op);
1.38