• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef _DEINSTREAM_H
2 #define _DEINSTREAM_H
3 /*-------------------------------------------------------------------------
4  * drawElements Stream Library
5  * ---------------------------
6  *
7  * Copyright 2014 The Android Open Source Project
8  *
9  * Licensed under the Apache License, Version 2.0 (the "License");
10  * you may not use this file except in compliance with the License.
11  * You may obtain a copy of the License at
12  *
13  *      http://www.apache.org/licenses/LICENSE-2.0
14  *
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  *
21  *//*!
22  * \file
23  * \brief Input stream abstraction.
24  *//*--------------------------------------------------------------------*/
25 
26 #include "deDefs.h"
27 
28 #include "deIOStream.h"
29 
30 DE_BEGIN_EXTERN_C
31 
32 /* Input stream struct, implemented as a wrapper to io stream */
33 typedef struct deInStream_s
34 {
35 	deIOStream ioStream;
36 } deInStream;
37 
38 DE_INLINE deStreamResult	deInStream_read		(deInStream* stream, void* buf, deInt32 bufSize, deInt32* numWritten);
39 DE_INLINE deStreamResult	deInStream_deinit	(deInStream* stream);
40 DE_INLINE const char*		deInStream_getError (deInStream* stream);
41 DE_INLINE deStreamStatus	deInStream_getStatus(deInStream* stream);
42 
43 
deInStream_read(deInStream * stream,void * buf,deInt32 bufSize,deInt32 * numWritten)44 DE_INLINE deStreamResult deInStream_read (deInStream* stream, void* buf, deInt32 bufSize, deInt32* numWritten)
45 {
46 	return deIOStream_read(&(stream->ioStream), buf, bufSize, numWritten);
47 }
48 
deInStream_deinit(deInStream * stream)49 DE_INLINE deStreamResult deInStream_deinit (deInStream* stream)
50 {
51 	return deIOStream_deinit(&(stream->ioStream));
52 }
53 
deInStream_getError(deInStream * stream)54 DE_INLINE const char* deInStream_getError (deInStream* stream)
55 {
56 	return deIOStream_getError(&(stream->ioStream));
57 }
58 
deInStream_getStatus(deInStream * stream)59 DE_INLINE deStreamStatus deInStream_getStatus(deInStream* stream)
60 {
61 	return deIOStream_getStatus(&(stream->ioStream));
62 }
63 
64 DE_END_EXTERN_C
65 
66 #endif /* _DEINSTREAM_H */
67