iDRS™ SDK 16
Loading...
Searching...
No Matches
IByteStream_interface.h
Go to the documentation of this file.
1
7#ifndef IBYTESTREAM_INTERFACE_H
8
9#define IBYTESTREAM_INTERFACE_H
10
11#include "CObjPtr_interface.h"
13
14#include "idrs_common.h"
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
20typedef IDRS_UINT (*PtrReadFn)(IDRS_PVOID, IDRS_UINT const);
21
22typedef IDRS_UINT (*PtrWriteFn)(IDRS_CPVOID, IDRS_UINT const);
23
24typedef IDRS_UINT64 (*PtrSeekFn)(IDRS_INT64 const, enum SeekPosition const);
25
26typedef IDRS_BOOL (*PtrIsOpenFn)();
27
28typedef IDRS_BOOL (*PtrIsWriteOpenFn)();
29
30typedef IDRS_BOOL (*PtrIsReadOpenFn)();
31
46IByteStream IByteStream_Create(PtrReadFn ptrReadFn, PtrWriteFn ptrWriteFn, PtrSeekFn ptrSeekFn, PtrIsOpenFn ptrIsOpenFn, PtrIsWriteOpenFn ptrIsWriteOpenFn, PtrIsReadOpenFn ptrIsReadOpenFn, idrs_exception *pargException);
47
55void IByteStream_Destroy(IByteStream argIByteStream, idrs_exception *pargException);
56
67IDRS_UINT IByteStream_Read(IByteStream argIByteStream, IDRS_PVOID pvMem, IDRS_UINT const uiToRead, idrs_exception *pargException);
68
79IDRS_UINT IByteStream_Write(IByteStream argIByteStream, IDRS_CPVOID pvMem, IDRS_UINT const uiToWrite, idrs_exception *pargException);
80
91IDRS_UINT64 IByteStream_Seek(IByteStream argIByteStream, IDRS_INT64 const iOffset, enum SeekPosition const evPos, idrs_exception *pargException);
92
101IDRS_BOOL IByteStream_IsOpen(const IByteStream argIByteStream, idrs_exception *pargException);
102
112IDRS_BOOL IByteStream_IsWriteOpen(const IByteStream argIByteStream, idrs_exception *pargException);
113
122IDRS_BOOL IByteStream_IsReadOpen(const IByteStream argIByteStream, idrs_exception *pargException);
123
124#ifdef __cplusplus
125}
126#endif /* __cplusplus */
127
128#endif /* IBYTESTREAM_INTERFACE_H */
Interface for CObjPtr wrapper.
Interface for EnumDefinitions wrapper.
SeekPosition
Position to which offset is added when performing a Seek operation on a IByteStream.
Definition EnumDefinitions_interface.h:25
IDRS_UINT IByteStream_Write(IByteStream argIByteStream, IDRS_CPVOID pvMem, IDRS_UINT const uiToWrite, idrs_exception *pargException)
Write writes data in the stream at the current position.
IDRS_BOOL IByteStream_IsReadOpen(const IByteStream argIByteStream, idrs_exception *pargException)
IsReadOpen tests if the stream is opened in read mode.
IDRS_UINT64 IByteStream_Seek(IByteStream argIByteStream, IDRS_INT64 const iOffset, enum SeekPosition const evPos, idrs_exception *pargException)
Seek changes the current position in the stream.
IDRS_BOOL IByteStream_IsWriteOpen(const IByteStream argIByteStream, idrs_exception *pargException)
IsWriteOpen tests if the stream is opened in write mode.
IByteStream IByteStream_Create(PtrReadFn ptrReadFn, PtrWriteFn ptrWriteFn, PtrSeekFn ptrSeekFn, PtrIsOpenFn ptrIsOpenFn, PtrIsWriteOpenFn ptrIsWriteOpenFn, PtrIsReadOpenFn ptrIsReadOpenFn, idrs_exception *pargException)
Creates a new IByteStream object.
IDRS_BOOL IByteStream_IsOpen(const IByteStream argIByteStream, idrs_exception *pargException)
IsOpen tests if the stream is opened in read or write mode.
void IByteStream_Destroy(IByteStream argIByteStream, idrs_exception *pargException)
Destroys a IByteStream handle.
IDRS_UINT IByteStream_Read(IByteStream argIByteStream, IDRS_PVOID pvMem, IDRS_UINT const uiToRead, idrs_exception *pargException)
Read reads data from the stream at the current stream position.
IByteStream defines the interface required to provide read, write and seek functionalities for a sequ...
long long IDRS_INT64
An signed 64 bit value.
Definition idrsstd_interface.h:31
const void * IDRS_CPVOID
A constant void pointer.
Definition idrsstd_interface.h:51
IDRS_INT IDRS_BOOL
A Boolean value.
Definition idrsstd_interface.h:37
unsigned long long IDRS_UINT64
An unsigned 64 bit value.
Definition idrsstd_interface.h:33
void * IDRS_PVOID
A void pointer.
Definition idrsstd_interface.h:49
unsigned int IDRS_UINT
An unsigned integer.
Definition idrsstd_interface.h:27