Introduction   Client Library API Reference   IDL Interface   File List   Index  

blk.h

Go to the documentation of this file.
00001 /* $Id: blk.h 31603 2008-05-12 06:54:17Z adam $ */
00002 /*****************************************************************************/
00010 /*****************************************************************************/
00011 #ifndef _GENERIC_BLK_BLK_H
00012 #define _GENERIC_BLK_BLK_H
00013 
00014 /* L4 includes */
00015 #include <l4/sys/types.h>
00016 #include <l4/env/cdefs.h>
00017 
00018 /* generic_blk includes */
00019 #include <l4/generic_blk/types.h>
00020 
00021 /*****************************************************************************
00022  *** Prototypes
00023  *****************************************************************************/
00024 
00025 __BEGIN_DECLS;
00026 
00027 /*****************************************************************************/
00035 /*****************************************************************************/ 
00036 L4_CV void
00037 l4blk_init(void);
00038 
00039 /*****************************************************************************/
00061 /*****************************************************************************/ 
00062 L4_CV int
00063 l4blk_open_driver(const char * name, l4blk_driver_t * driver, 
00064                   l4blk_setup_notify_callback_fn_t cb);
00065   
00066 /*****************************************************************************/
00078 /*****************************************************************************/ 
00079 L4_CV int
00080 l4blk_close_driver(l4blk_driver_t driver);
00081 
00082 /*****************************************************************************/
00091 /*****************************************************************************/ 
00092 L4_CV l4_threadid_t
00093 l4blk_get_driver_thread(l4blk_driver_t driver);
00094 
00095 /*****************************************************************************/
00117 /*****************************************************************************/ 
00118 L4_CV int
00119 l4blk_create_stream(l4blk_driver_t driver, l4_uint32_t device,
00120                     l4_uint32_t bandwidth, l4_uint32_t period, 
00121                     l4_uint32_t blk_size, float q, l4_uint32_t meta_int, 
00122                     l4blk_stream_t * stream);
00123 
00124 /*****************************************************************************/
00136 /*****************************************************************************/ 
00137 L4_CV int
00138 l4blk_close_stream(l4blk_driver_t driver, l4blk_stream_t stream);
00139 
00140 /*****************************************************************************/
00152 /*****************************************************************************/ 
00153 L4_CV int
00154 l4blk_start_stream(l4blk_driver_t driver, l4blk_stream_t stream, 
00155                    l4_uint32_t time, l4_uint32_t request_no);
00156 
00157 /*****************************************************************************/
00168 /*****************************************************************************/ 
00169 L4_CV int
00170 l4blk_do_request(l4blk_request_t * request);
00171 
00172 /*****************************************************************************/
00191 /*****************************************************************************/ 
00192 L4_CV int
00193 l4blk_put_request(l4blk_request_t * request);
00194 
00195 /*****************************************************************************/
00211 /*****************************************************************************/ 
00212 L4_CV int
00213 l4blk_get_status(l4blk_request_t * request);
00214 
00215 /*****************************************************************************/
00228 /*****************************************************************************/ 
00229 L4_CV int
00230 l4blk_get_error(l4blk_request_t * request);
00231 
00232 /*****************************************************************************/
00249 /*****************************************************************************/ 
00250 L4_CV int
00251 l4blk_ctrl(l4blk_driver_t driver, l4_uint32_t cmd, void * in, int in_size, 
00252            void * out, int out_size);
00253 
00254 /*****************************************************************************/
00263 /*****************************************************************************/ 
00264 L4_CV int
00265 l4blk_ctrl_get_num_disks(l4blk_driver_t driver);
00266 
00267 /*****************************************************************************/
00277 /*****************************************************************************/ 
00278 L4_CV int
00279 l4blk_ctrl_get_disk_size(l4blk_driver_t driver, l4_uint32_t dev);
00280 
00281 /*****************************************************************************/
00294 /*****************************************************************************/ 
00295 L4_CV int
00296 l4blk_ctrl_get_stream_period(l4blk_driver_t driver, l4blk_stream_t stream, 
00297                              l4_uint32_t * period_len, 
00298                              l4_uint32_t * period_offs);
00299 
00300 __END_DECLS;
00301 
00302 #endif /* !_GENERIC_BLK_BLK_H */

Generic Block Interface Reference Manual, written by Lars Reuther  © 2000-2003