1 /*---------------------------------------------------------------------------* 2 Project: Horizon 3 File: nnet_ring.h 4 Copyright (C)2009 Nintendo Co., Ltd. All rights reserved. 5 These coded instructions, statements, and computer programs contain 6 proprietary information of Nintendo of America Inc. and/or Nintendo 7 Company Ltd., and are protected by Federal copyright law. They may 8 not be disclosed to third parties or copied or duplicated in any form, 9 in whole or in part, without the prior written consent of Nintendo. 10 $Rev: 14703 $ 11 *--------------------------------------------------------------------------- 12 13 14 */ 15 16 /* Please see man pages for details 17 18 */ 19 20 #ifndef __NNET_RING_H__ 21 #define __NNET_RING_H__ 22 23 #include <nn/net/compatible/nos.h> /* for NOSMessageBuf */ 24 25 #ifdef __cplusplus 26 extern "C" { 27 #endif 28 29 /* Please see man pages for details 30 31 */ 32 typedef struct NNETBlock { 33 u8* ptr; /* Please see man pages for details */ 34 s32 len; /* Please see man pages for details */ 35 } NNETBlock; 36 37 /* Please see man pages for details 38 39 */ 40 typedef struct NNETVec { 41 void* data; /* Please see man pages for details */ 42 s32 len; /* Please see man pages for details */ 43 } NNETVec; 44 45 u8* NNET_RingIn ( u8* buf, s32 size, u8* head, s32 used, const u8* data, s32 len ); 46 u8* NNET_RingInMbuf ( u8* buf, s32 size, u8* head, s32 used, NOSMessageBuf *mbuf, s32 len ); 47 u8* NNET_RingInExMbuf( u8* buf, s32 size, u8* head, s32 used, s32 offset, NOSMessageBuf *mbuf, s32* plen, NNETBlock* blocks, s32 maxblock ); 48 u8* NNET_RingOut( u8* buf, s32 size, u8* head, s32 used, u8* data, s32 len ); 49 int NNET_RingGet(u8* buf, s32 size, u8* head, s32 used, NNETVec* vec, s32 len); 50 int NNET_RingGetMbuf(u8* buf, s32 size, u8* head, s32 used, NOSMessageBuf *mbuf, s32 len); 51 u8* NNET_RingPut( u8* buf, s32 size, u8* head, s32 used, s32 len ); 52 53 #ifdef __cplusplus 54 } 55 #endif 56 57 #endif /* __NNET_RING_H__ */ 58