OSDN Git Service

(none)
[hos/hos-v4a.git] / aplfw / library / container / streambuf / streambuf_recvbuf.c
1 /** 
2  *  Hyper Operating System  Application Framework
3  *
4  * @file  streambuf.h
5  * @brief %jp{ストリームデータ用バッファクラス}
6  *
7  * Copyright (C) 2002-2007 by Project HOS
8  * http://sourceforge.jp/projects/hos/
9  */
10
11
12 #include "streambuf_local.h"
13
14
15 /** 受信したデータの入ったバッファの取得(省コピー) */
16 unsigned int StreamBuf_RecvBuf(C_STREAMBUF *self, void **ppBuf)
17 {
18         unsigned int uiTail;
19         
20         *ppBuf = (void *)(self->pubBuf + self->uiHead); /* 受信バッファ先頭番地の格納 */
21         
22         uiTail = self->uiTail;
23         if ( uiTail < self->uiHead )    /* データがバッファ末尾で折り返されているか */
24         {
25                 return self->uiBufSize - self->uiHead;          /* 折り返されていたらバッファ末尾まで */
26         }
27         else
28         {
29                 return uiTail - self->uiHead;                           /* 折り返されていなければデータ末尾まで */
30         }
31 }
32
33
34 /* end of file */