diff options
author | Sander Vrijders <[email protected]> | 2016-09-02 15:04:19 +0200 |
---|---|---|
committer | Sander Vrijders <[email protected]> | 2016-09-02 15:04:19 +0200 |
commit | 10d74eef2851e032ee92c62907a7e8e6db230369 (patch) | |
tree | 5391bc92f4c3e614dbe1a1dfe908dbe6d3cccb13 /include | |
parent | ee2235c62cf0c51f7188fdeb6ac283c1e2ea0335 (diff) | |
parent | 4f44c91c68a3706e04334066f28471d56cc71849 (diff) | |
download | ouroboros-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.h | 30 |
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 */ |