44 #ifndef StreamNative_Included
45 #define StreamNative_Included
47 #include "SysFileSystem.hpp"
48 #include "SysFile.hpp"
50 #define nbt_line_end "\n"
51 #define nbt_line_end_size 1
53 #define std_line_end "\n"
54 #define std_line_end_size 1
93 bool open(
int openFlags,
int openMode,
int sharedFlag);
108 const char *
openStd(
const char *options);
116 void writeBuffer(
const char *data,
size_t length,
size_t &bytesWritten);
117 void writeLine(
const char *data,
size_t length,
size_t &bytesWritten);
118 void readBuffer(
char *data,
size_t length,
size_t &bytesRead);
void setLineReadPosition(int64_t position)
const char * getTimeStamp()
int64_t charWritePosition
const char * streamOpen(const char *options)
bool open(int openFlags, int openMode, int sharedFlag)
StreamInfo(RexxObjectPtr s, const char *inputName)
void implicitOpen(int type)
RexxStringObject readVariableLine()
int64_t setLinePositions()
char * allocateBuffer(size_t length)
int64_t lineReadCharPosition
int64_t readForwardByLine(int64_t offset, int64_t ¤t_line, int64_t ¤t_position)
int64_t lineWriteCharPosition
int64_t seekLinePosition(int64_t offset, int direction, int64_t ¤t_line, int64_t ¤t_position)
const char * streamExists()
int64_t getLineWritePosition()
RexxMethodContext * context
char stream_name[SysFileSystem::MaximumFileNameBuffer]
const char * handleOpen(const char *options)
RexxStringObject charin(bool setPosition, int64_t position, size_t read_length)
void resetLinePositions()
void setContext(RexxMethodContext *c, RexxObjectPtr d)
void writeBuffer(const char *data, size_t length, size_t &bytesWritten)
int lineout(RexxStringObject data, bool setPosition, int64_t position)
RexxObjectPtr defaultResult
const char * streamFlush()
size_t binaryRecordLength
int64_t seekToVariableLine(int64_t offset, int64_t ¤t_line, int64_t ¤t_position)
const char * openStd(const char *options)
char qualified_name[SysFileSystem::MaximumFileNameLength]
int64_t getLineReadPosition()
void setCharWritePosition(int64_t position)
int64_t queryLinePosition(int64_t current_position)
RexxStringObject getDescription()
void setCharReadPosition(int64_t position)
void writeFixedLine(const char *data, size_t length)
RexxObjectPtr getStreamSize()
char * getDefaultBuffer(size_t &length)
int64_t countStreamLines(int64_t currentLinePosition, int64_t currentPosition)
void setLineWritePosition(int64_t position)
const char * getStreamType()
RexxObjectPtr queryHandle()
void appendVariableLine(RexxArrayObject r)
RexxObjectPtr queryStreamPosition(const char *options)
void raiseException(int err)
int64_t lineWritePosition
RexxStringObject readLine(char *buffer, size_t length, bool update_position)
void completeLine(size_t writeLength)
void setPosition(int64_t position, int64_t &newPosition)
int64_t setLinePosition(int64_t new_line, int64_t ¤t_line, int64_t ¤t_position)
int64_t streamPosition(const char *options)
int arrayin(RexxArrayObject r)
char * extendBuffer(size_t &length)
void setWritePosition(int64_t position)
int64_t lines(bool quick)
void writeLine(const char *data, size_t length, size_t &bytesWritten)
RexxStringObject linein(bool setPosition, int64_t position, size_t count)
void readBuffer(char *data, size_t length, size_t &bytesRead)
size_t charout(RexxStringObject data, bool setPosition, int64_t position)
const char * getQualifiedName()
const char * streamClose()
void setReadPosition(int64_t position)
struct _RexxStringObject * RexxStringObject
struct _RexxArrayObject * RexxArrayObject
struct _RexxObjectPtr * RexxObjectPtr