Go to the documentation of this file.00001
00044 #if !defined (RINGIO_H)
00045 #define RINGIO_H
00046
00047
00048
00049 #include <dsplink.h>
00050 #include <ringiodefs.h>
00051
00052
00053 #if defined (__cplusplus)
00054 extern "C" {
00055 #endif
00056
00057
00075 EXPORT_API
00076 Uint32
00077 RingIO_getValidSize (IN RingIO_Handle handle );
00078
00096 EXPORT_API
00097 Uint32
00098 RingIO_getEmptySize (IN RingIO_Handle handle );
00099
00117 EXPORT_API
00118 Uint32
00119 RingIO_getValidAttrSize (IN RingIO_Handle handle );
00120
00138 EXPORT_API
00139 Uint32
00140 RingIO_getEmptyAttrSize (IN RingIO_Handle handle );
00141
00159 #define RingIO_getAcquiredOffset(client) \
00160 (((RingIO_Client *) client)->acqStart)
00161
00179 #define RingIO_getAcquiredSize(client) \
00180 (((RingIO_Client *) client)->acqSize)
00181
00199 #define RingIO_getWatermark(client) \
00200 (((RingIO_Client *) client)->notifyWaterMark)
00201
00202
00223 #define RingIO_init(procId) RINGIO_SUCCESS
00224
00225
00246 #define RingIO_exit(procId) RINGIO_SUCCESS
00247
00248
00288 EXPORT_API
00289 DSP_STATUS
00290 #if defined (DSPLINK_LEGACY_SUPPORT)
00291 RingIO_create (IN Char8 * name,
00292 IN RingIO_Attrs * attrs) ;
00293 #else
00294 RingIO_create (IN ProcessorId procId,
00295 IN Char8 * name,
00296 IN RingIO_Attrs * attrs) ;
00297 #endif
00298
00299
00329 EXPORT_API
00330 DSP_STATUS
00331 #if defined (DSPLINK_LEGACY_SUPPORT)
00332 RingIO_delete (IN Char8 * name) ;
00333 #else
00334 RingIO_delete (IN ProcessorId procId, IN Char8 * name) ;
00335 #endif
00336
00337
00367 EXPORT_API
00368 RingIO_Handle
00369 RingIO_open (IN Char8 * name,
00370 IN RingIO_OpenMode openMode,
00371 IN Uint32 flags) ;
00372
00373
00401 EXPORT_API
00402 DSP_STATUS
00403 RingIO_close (IN RingIO_Handle handle) ;
00404
00405
00453 EXPORT_API
00454 DSP_STATUS
00455 RingIO_acquire (IN RingIO_Handle handle,
00456 OUT RingIO_BufPtr * dataBuf,
00457 IN OUT Uint32 * size) ;
00458
00459
00485 EXPORT_API
00486 DSP_STATUS
00487 RingIO_release (IN RingIO_Handle handle, IN Uint32 size) ;
00488
00489
00515 EXPORT_API
00516 DSP_STATUS
00517 RingIO_cancel (IN RingIO_Handle handle) ;
00518
00519
00566 EXPORT_API
00567 DSP_STATUS
00568 RingIO_getvAttribute (IN RingIO_Handle handle,
00569 OUT Uint16 * type,
00570 OUT Uint32 * param,
00571 IN RingIO_BufPtr vptr,
00572 IN OUT Uint32 * size) ;
00573
00574
00616 EXPORT_API
00617 DSP_STATUS
00618 RingIO_setvAttribute (IN RingIO_Handle handle,
00619 IN Uint32 offset,
00620 IN Uint16 type,
00621 IN Uint32 param,
00622 IN RingIO_BufPtr pdata,
00623 IN Uint32 size) ;
00624
00625
00663 EXPORT_API
00664 DSP_STATUS
00665 RingIO_getAttribute (IN RingIO_Handle handle,
00666 OUT Uint16 * type,
00667 OUT Uint32* param) ;
00668
00669
00704 EXPORT_API
00705 DSP_STATUS
00706 RingIO_setAttribute (IN RingIO_Handle handle,
00707 IN Uint32 offset,
00708 IN Uint16 type,
00709 IN Uint32 param) ;
00710
00711
00767 EXPORT_API
00768 DSP_STATUS
00769 RingIO_flush (IN RingIO_Handle handle,
00770 IN Bool hardFlush,
00771 OUT Uint16 * type,
00772 OUT Uint32 * param,
00773 OUT Uint32 * bytesFlushed) ;
00774
00775
00817 EXPORT_API
00818 DSP_STATUS
00819 RingIO_setNotifier (IN RingIO_Handle handle,
00820 IN RingIO_NotifyType notifyType,
00821 IN Uint32 notifyWatermark,
00822 IN RingIO_NotifyFunc notifyFunc,
00823 IN RingIO_NotifyParam notifyParam) ;
00824
00847 EXPORT_API
00848 DSP_STATUS
00849 RingIO_sendNotify (IN RingIO_Handle handle, IN RingIO_NotifyMsg msg) ;
00850
00851 #if defined (__cplusplus)
00852 }
00853 #endif
00854
00855
00856 #endif