17 #ifndef __STDC_LIMIT_MACROS
18 # define __STDC_LIMIT_MACROS
20 #ifndef __STDC_CONSTANT_MACROS
21 # define __STDC_CONSTANT_MACROS
34 typedef BOOL (^of_stream_async_read_block_t)(
OFStream*,
void*, size_t,
62 size_t cacheLength, writeBufferLength;
65 BOOL waitingForDelimiter;
68 #ifdef OF_HAVE_PROPERTIES
69 @property (getter=isBlocking) BOOL blocking;
70 @property (readonly, getter=isAtEndOfStream) BOOL atEndOfStream;
78 - (BOOL)isAtEndOfStream;
94 - (size_t)readIntoBuffer: (
void*)buffer
95 length: (
size_t)length;
112 - (void)readIntoBuffer: (
void*)buffer
113 exactLength: (
size_t)length;
139 - (void)asyncReadIntoBuffer: (
void*)buffer
140 length: (
size_t)length
142 selector: (
SEL)selector;
166 - (void)asyncReadIntoBuffer: (
void*)buffer
167 exactLength: (
size_t)length
169 selector: (
SEL)selector;
171 #ifdef OF_HAVE_BLOCKS
192 - (void)asyncReadIntoBuffer: (
void*)buffer
193 length: (
size_t)length
194 block: (of_stream_async_read_block_t)block;
214 - (void)asyncReadIntoBuffer: (
void*)buffer
215 exactLength: (
size_t)length
216 block: (of_stream_async_read_block_t)block;
237 - (uint16_t)readBigEndianInt16;
247 - (uint32_t)readBigEndianInt32;
257 - (uint64_t)readBigEndianInt64;
267 - (float)readBigEndianFloat;
277 - (double)readBigEndianDouble;
291 - (size_t)readBigEndianInt16sIntoBuffer: (uint16_t*)buffer
292 count: (
size_t)count;
306 - (size_t)readBigEndianInt32sIntoBuffer: (uint32_t*)buffer
307 count: (
size_t)count;
321 - (size_t)readBigEndianInt64sIntoBuffer: (uint64_t*)buffer
322 count: (
size_t)count;
336 - (size_t)readBigEndianFloatsIntoBuffer: (
float*)buffer
337 count: (
size_t)count;
351 - (size_t)readBigEndianDoublesIntoBuffer: (
double*)buffer
352 count: (
size_t)count;
362 - (uint16_t)readLittleEndianInt16;
372 - (uint32_t)readLittleEndianInt32;
382 - (uint64_t)readLittleEndianInt64;
392 - (float)readLittleEndianFloat;
402 - (double)readLittleEndianDouble;
416 - (size_t)readLittleEndianInt16sIntoBuffer: (uint16_t*)buffer
417 count: (
size_t)count;
431 - (size_t)readLittleEndianInt32sIntoBuffer: (uint32_t*)buffer
432 count: (
size_t)count;
446 - (size_t)readLittleEndianInt64sIntoBuffer: (uint64_t*)buffer
447 count: (
size_t)count;
461 - (size_t)readLittleEndianFloatsIntoBuffer: (
float*)buffer
462 count: (
size_t)count;
476 - (size_t)readLittleEndianDoublesIntoBuffer: (
double*)buffer
477 count: (
size_t)count;
489 - (
OFDataArray*)readDataArrayWithSize: (
size_t)size;
502 - (
OFDataArray*)readDataArrayWithItemSize: (
size_t)itemSize
503 count: (
size_t)count;
527 - (
OFString*)readStringWithLength: (
size_t)length;
544 - (
OFString*)readStringWithLength: (
size_t)length
545 encoding: (of_string_encoding_t)encoding;
563 - (
OFString*)readLineWithEncoding: (of_string_encoding_t)encoding;
578 - (void)asyncReadLineWithTarget: (
id)target
579 selector: (
SEL)selector;
595 - (void)asyncReadLineWithEncoding: (of_string_encoding_t)encoding
597 selector: (
SEL)selector;
599 #ifdef OF_HAVE_BLOCKS
609 - (void)asyncReadLineWithBlock: (of_stream_async_read_line_block_t)block;
621 - (void)asyncReadLineWithEncoding: (of_string_encoding_t)encoding
622 block: (of_stream_async_read_line_block_t)block;
643 - (
OFString*)tryReadLineWithEncoding: (of_string_encoding_t)encoding;
665 encoding: (of_string_encoding_t)encoding;
689 encoding: (of_string_encoding_t)encoding;
696 - (BOOL)writeBufferEnabled;
703 - (void)setWriteBufferEnabled: (BOOL)enable;
708 - (void)flushWriteBuffer;
716 - (void)writeBuffer: (const
void*)buffer
717 length: (
size_t)length;
724 - (void)writeInt8: (uint8_t)int8;
731 - (void)writeBigEndianInt16: (uint16_t)int16;
738 - (void)writeBigEndianInt32: (uint32_t)int32;
745 - (void)writeBigEndianInt64: (uint64_t)int64;
752 - (void)writeBigEndianFloat: (
float)float_;
759 - (void)writeBigEndianDouble: (
double)double_;
770 - (size_t)writeBigEndianInt16s: (const uint16_t*)buffer
771 count: (
size_t)count;
782 - (size_t)writeBigEndianInt32s: (const uint32_t*)buffer
783 count: (
size_t)count;
794 - (size_t)writeBigEndianInt64s: (const uint64_t*)buffer
795 count: (
size_t)count;
806 - (size_t)writeBigEndianFloats: (const
float*)buffer
807 count: (
size_t)count;
818 - (size_t)writeBigEndianDoubles: (const
double*)buffer
819 count: (
size_t)count;
826 - (void)writeLittleEndianInt16: (uint16_t)int16;
833 - (void)writeLittleEndianInt32: (uint32_t)int32;
840 - (void)writeLittleEndianInt64: (uint64_t)int64;
847 - (void)writeLittleEndianFloat: (
float)float_;
854 - (void)writeLittleEndianDouble: (
double)double_;
865 - (size_t)writeLittleEndianInt16s: (const uint16_t*)buffer
866 count: (
size_t)count;
877 - (size_t)writeLittleEndianInt32s: (const uint32_t*)buffer
878 count: (
size_t)count;
889 - (size_t)writeLittleEndianInt64s: (const uint64_t*)buffer
890 count: (
size_t)count;
901 - (size_t)writeLittleEndianFloats: (const
float*)buffer
902 count: (
size_t)count;
913 - (size_t)writeLittleEndianDoubles: (const
double*)buffer
914 count: (
size_t)count;
930 - (size_t)writeString: (
OFString*)string;
938 - (size_t)writeLine: (
OFString*)string;
962 arguments: (va_list)arguments;
969 - (size_t)pendingBytes;
986 - (void)setBlocking: (BOOL)enable;
993 - (int)fileDescriptorForReading;
1000 - (int)fileDescriptorForWriting;
1018 - (size_t)lowlevelReadIntoBuffer: (
void*)buffer
1019 length: (
size_t)length;
1031 - (void)lowlevelWriteBuffer: (const
void*)buffer
1032 length: (
size_t)length;
1044 - (BOOL)lowlevelIsAtEndOfStream;
1046 - (BOOL)OF_isWaitingForDelimiter;