summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSander Vrijders <[email protected]>2016-09-02 15:04:19 +0200
committerSander Vrijders <[email protected]>2016-09-02 15:04:19 +0200
commit10d74eef2851e032ee92c62907a7e8e6db230369 (patch)
tree5391bc92f4c3e614dbe1a1dfe908dbe6d3cccb13 /include
parentee2235c62cf0c51f7188fdeb6ac283c1e2ea0335 (diff)
parent4f44c91c68a3706e04334066f28471d56cc71849 (diff)
downloadouroboros-10d74eef2851e032ee92c62907a7e8e6db230369.tar.gz
ouroboros-10d74eef2851e032ee92c62907a7e8e6db230369.zip
Merged in dstaesse/ouroboros/be-split-fp (pull request #238)
lib: Add northbound ringbuffers
Diffstat (limited to 'include')
-rw-r--r--include/ouroboros/shm_ap_rbuff.h30
1 files changed, 24 insertions, 6 deletions
diff --git a/include/ouroboros/shm_ap_rbuff.h b/include/ouroboros/shm_ap_rbuff.h
index 9dad0863..594c9260 100644
--- a/include/ouroboros/shm_ap_rbuff.h
+++ b/include/ouroboros/shm_ap_rbuff.h
@@ -35,20 +35,38 @@ struct rb_entry {
int port_id;
};
-struct shm_ap_rbuff * shm_ap_rbuff_create();
-struct shm_ap_rbuff * shm_ap_rbuff_open(pid_t api);
+/* recv SDUs from N + 1 */
+struct shm_ap_rbuff * shm_ap_rbuff_create_n();
+
+/* recv SDUs from N - 1 */
+struct shm_ap_rbuff * shm_ap_rbuff_create_s();
+
+/* write SDUs to N - 1 */
+struct shm_ap_rbuff * shm_ap_rbuff_open_n(pid_t api);
+
+/* write SDUs to N + 1 */
+struct shm_ap_rbuff * shm_ap_rbuff_open_s(pid_t api);
+
void shm_ap_rbuff_close(struct shm_ap_rbuff * rb);
+
void shm_ap_rbuff_destroy(struct shm_ap_rbuff * rb);
+
int shm_ap_rbuff_write(struct shm_ap_rbuff * rb,
- struct rb_entry * e);
+ struct rb_entry * e);
+
struct rb_entry * shm_ap_rbuff_read(struct shm_ap_rbuff * rb);
+
int shm_ap_rbuff_peek_idx(struct shm_ap_rbuff * rb);
+
int shm_ap_rbuff_peek_b(struct shm_ap_rbuff * rb,
const struct timespec * timeout);
+
ssize_t shm_ap_rbuff_read_port(struct shm_ap_rbuff * rb,
- int port_id);
-ssize_t shm_ap_rbuff_read_port_b(struct shm_ap_rbuff * rb,
- int port_id,
+ int port_id);
+
+ssize_t shm_ap_rbuff_read_port_b(struct shm_ap_rbuff * rb,
+ int port_id,
const struct timespec * timeout);
+
void shm_ap_rbuff_reset(struct shm_ap_rbuff * rb);
#endif /* OUROBOROS_SHM_AP_RBUFF_H */