SPRAAK
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Data Fields | Protected Member Functions
SprStreamFile Class Reference

Stream object that refers to classical file descriptors. More...

+ Inheritance diagram for SprStreamFile:
+ Collaboration diagram for SprStreamFile:

Data Fields

base::< SprStreambase
 
int fd
 
unsigned int nonblock_sleep
 
uintptr_t aux_buf [(SPR_STREAM_BUF_SZ+SPR_STREAM_UNGET_SZ+sizeof(uintptr_t)-1)/sizeof(uintptr_t)]
 
- Data Fields inherited from SprStream
base::< SprObjectinterface_
 
const uint8_t *restrict buf_rptr
 
uint8_t *restrict buf_wptr
 
const uint8_t *spr_readonly buf_end
 
unsigned int buf_size
 
spr_readonly int err
 
spr_readonly int eof
 
SprKeySetkeys
 
const char * fname
 

Protected Member Functions

virtual const uint8_t * buf_fill (public:SprStreamFile *restrict fd, int min_fill)
 
virtual uint8_t * buf_flush (public:SprStreamFile *restrict fd)
 
virtual size_t ebuf_read (public:SprStreamFile *restrict fd, void *restrict buf, size_t size)
 
virtual int ebuf_write (public:SprStreamFile *restrict fd, const void *restrict buf, size_t size)
 
virtual int switch2read (SprStreamFile *restrict fd)
 
virtual int switch2write (SprStreamFile *restrict fd)
 
virtual off_t seek (SprStreamFile *restrict fd, off_t offset, int mode)
 
virtual off_t tell (SprStreamFile *restrict fd)
 
- Protected Member Functions inherited from SprStream
virtual const uint8_t * buf_fill (public:SprStream *restrict fd, int min_fill)
 
virtual uint8_t * buf_flush (public:SprStream *restrict fd)
 
virtual size_t ebuf_read (public:SprStream *restrict fd, void *restrict buf, size_t size)
 
virtual int ebuf_write (public:SprStream *restrict fd, const void *restrict buf, size_t size)
 
virtual size_t read (SprStream *restrict fd, void *restrict buf, size_t size)
 
virtual int write (SprStream *restrict fd, const void *restrict buf, size_t size)
 
virtual size_t skip (SprStream *restrict fd, size_t size)
 
virtual int fill (SprStream *restrict fd, int chr, size_t size)
 
virtual int switch2read (SprStream *restrict fd)
 
virtual int switch2write (SprStream *restrict fd)
 
virtual off_t seek (SprStream *restrict fd, off_t offset, int mode)
 
virtual off_t tell (SprStream *restrict fd)
 
virtual int align (SprStream *restrict fd)
 

Additional Inherited Members

- Protected Attributes inherited from SprStream
uint8_t * buf_start
 
unsigned int flags
 
int mode
 
size_t rdim2
 
SprStream_buf_fill buf_fill
 
SprStream_buf_flush buf_flush
 
SprStream_ebuf_read ebuf_read
 
SprStream_ebuf_write ebuf_write
 

Detailed Description

Stream object that refers to classical file descriptors.

Member Function Documentation

virtual const uint8_t* SprStreamFile::buf_fill ( public:SprStreamFile *restrict  fd,
int  min_fill 
)
protectedvirtual

Fully buffered files (line buffered is treated as fully buffered when it commes to reading).

virtual uint8_t* SprStreamFile::buf_flush ( public:SprStreamFile *restrict  fd)
protectedvirtual
virtual size_t SprStreamFile::ebuf_read ( public:SprStreamFile *restrict  fd,
void *restrict  buf,
size_t  size 
)
protectedvirtual
virtual int SprStreamFile::ebuf_write ( public:SprStreamFile *restrict  fd,
const void *restrict  buf,
size_t  size 
)
protectedvirtual
virtual int SprStreamFile::switch2read ( SprStreamFile *restrict  fd)
protectedvirtual
virtual int SprStreamFile::switch2write ( SprStreamFile *restrict  fd)
protectedvirtual
virtual off_t SprStreamFile::seek ( SprStreamFile *restrict  fd,
off_t  offset,
int  mode 
)
protectedvirtual
virtual off_t SprStreamFile::tell ( SprStreamFile *restrict  fd)
protectedvirtual

Field Documentation

base::<SprStream> SprStreamFile::base
int SprStreamFile::fd
unsigned int SprStreamFile::nonblock_sleep

sleep period for non-blocking files (in usec) before a resubmit

uintptr_t SprStreamFile::aux_buf[(SPR_STREAM_BUF_SZ+SPR_STREAM_UNGET_SZ+sizeof(uintptr_t)-1)/sizeof(uintptr_t)]