18 #ifndef __POK_USER_BUFFER_H__
19 #define __POK_USER_BUFFER_H__
21 #ifdef POK_NEEDS_MIDDLEWARE
22 #ifdef POK_NEEDS_BUFFERS
24 #define POK_BUFFER_DISCIPLINE_FIFO 1
25 #define POK_BUFFER_DISCIPLINE_PRIORITY 2
30 #include <core/lockobj.h>
39 pok_port_size_t off_b;
40 pok_port_size_t off_e;
41 pok_port_size_t msgsize;
42 pok_range_t waiting_processes;
43 pok_queueing_discipline_t discipline;
49 pok_range_t nb_messages;
50 pok_range_t max_messages;
51 pok_size_t message_size;
52 pok_range_t waiting_processes;
56 pok_ret_t pok_buffer_create (
char* name,
57 const pok_port_size_t size,
58 const pok_port_size_t msg_size,
59 const pok_queueing_discipline_t discipline,
62 pok_ret_t pok_buffer_receive (
const pok_buffer_id_t
id,
63 const uint64_t timeout,
65 pok_port_size_t* len);
67 pok_ret_t pok_buffer_send (
const pok_buffer_id_t
id,
69 const pok_port_size_t len,
70 const uint64_t timeout);
72 pok_ret_t pok_port_buffer_status (
const pok_buffer_id_t
id,
75 pok_ret_t pok_buffer_id (
char* name,