Subversion Repositories HelenOS

Rev

Rev 4704 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4704 Rev 4756
Line 69... Line 69...
69
     */
69
     */
70
    int     magic_value;
70
    int     magic_value;
71
};
71
};
72
 
72
 
73
/** Initializes the dynamic queue.
73
/** Initializes the dynamic queue.
74
 *  @param fifo The dynamic queue. Input/output parameter.
74
 *  @param[in,out] fifo The dynamic queue.
75
 *  @param size The initial queue size. Input parameter.
75
 *  @param[in] size The initial queue size.
76
 *  @returns EOK on success.
76
 *  @returns EOK on success.
77
 *  @returns EINVAL if the queue is not valid.
77
 *  @returns EINVAL if the queue is not valid.
78
 *  @returns EBADMEM if the fifo parameter is NULL.
78
 *  @returns EBADMEM if the fifo parameter is NULL.
79
 *  @returns ENOMEM if there is not enough memory left.
79
 *  @returns ENOMEM if there is not enough memory left.
80
 */
80
 */
81
int dyn_fifo_initialize( dyn_fifo_ref fifo, int size );
81
int dyn_fifo_initialize( dyn_fifo_ref fifo, int size );
82
 
82
 
83
/** Appends a new item to the queue end.
83
/** Appends a new item to the queue end.
84
 *  @param fifo The dynamic queue. Input/output parameter.
84
 *  @param[in,out] fifo The dynamic queue.
85
 *  @param value The new item value. Should be positive. Input parameter.
85
 *  @param[in] value The new item value. Should be positive.
86
 *  @param max_size The maximum queue size. The queue is not resized beyound this limit. May be zero or negative (<=0) to indicate no limit. Input parameter.
86
 *  @param[in] max_size The maximum queue size. The queue is not resized beyound this limit. May be zero or negative (<=0) to indicate no limit.
87
 *  @returns EOK on success.
87
 *  @returns EOK on success.
88
 *  @returns EINVAL if the queue is not valid.
88
 *  @returns EINVAL if the queue is not valid.
89
 *  @returns ENOMEM if there is not enough memory left.
89
 *  @returns ENOMEM if there is not enough memory left.
90
 */
90
 */
91
int dyn_fifo_push( dyn_fifo_ref fifo, int value, int max_size );
91
int dyn_fifo_push( dyn_fifo_ref fifo, int value, int max_size );
92
 
92
 
93
/** Returns and excludes the first item in the queue.
93
/** Returns and excludes the first item in the queue.
94
 *  @param fifo The dynamic queue. Input/output parameter.
94
 *  @param[in,out] fifo The dynamic queue.
95
 *  @returns Value of the first item in the queue.
95
 *  @returns Value of the first item in the queue.
96
 *  @returns EINVAL if the queue is not valid.
96
 *  @returns EINVAL if the queue is not valid.
97
 *  @returns ENOENT if the queue is empty.
97
 *  @returns ENOENT if the queue is empty.
98
 */
98
 */
99
int dyn_fifo_pop( dyn_fifo_ref fifo );
99
int dyn_fifo_pop( dyn_fifo_ref fifo );
100
 
100
 
101
/** Returns and keeps the first item in the queue.
101
/** Returns and keeps the first item in the queue.
102
 *  @param fifo The dynamic queue. Input/output parameter.
102
 *  @param[in,out] fifo The dynamic queue.
103
 *  @returns Value of the first item in the queue.
103
 *  @returns Value of the first item in the queue.
104
 *  @returns EINVAL if the queue is not valid.
104
 *  @returns EINVAL if the queue is not valid.
105
 *  @returns ENOENT if the queue is empty.
105
 *  @returns ENOENT if the queue is empty.
106
 */
106
 */
107
int dyn_fifo_value( dyn_fifo_ref fifo );
107
int dyn_fifo_value( dyn_fifo_ref fifo );
108
 
108
 
109
/** Clears and destroys the queue.
109
/** Clears and destroys the queue.
110
 *  @param fifo The dynamic queue. Input/output parameter.
110
 *  @param[in,out] fifo The dynamic queue.
111
 *  @returns EOK on success.
111
 *  @returns EOK on success.
112
 *  @returns EINVAL if the queue is not valid.
112
 *  @returns EINVAL if the queue is not valid.
113
 */
113
 */
114
int dyn_fifo_destroy( dyn_fifo_ref fifo );
114
int dyn_fifo_destroy( dyn_fifo_ref fifo );
115
 
115