LexLeo 0.0.0-dev+f8e5087-dirty
Technical documentation
Loading...
Searching...
No Matches
stream_ops_t Struct Reference

Borrower-facing operation table for the stream port. More...

#include <stream_types.h>

Data Fields

size_t(* read )(stream_t *s, void *buf, size_t n, stream_status_t *st)
 Read bytes from a stream.
 
size_t(* write )(stream_t *s, const void *buf, size_t n, stream_status_t *st)
 Write bytes to a stream.
 
stream_status_t(* flush )(stream_t *s)
 Flush a stream.
 

Detailed Description

A stream_ops_t groups the default borrower-visible runtime operations exposed by the public stream port.

Definition at line 76 of file stream_types.h.

Field Documentation

◆ flush

stream_status_t(* stream_ops_t::flush) (stream_t *s)
Parameters
[in]sStream handle to flush.
Returns
Operation status.

Definition at line 126 of file stream_types.h.

◆ read

size_t(* stream_ops_t::read) (stream_t *s, void *buf, size_t n, stream_status_t *st)
Parameters
[in]sStream handle to read from.
[out]bufDestination buffer receiving up to n bytes.
[in]nMaximum number of bytes to read.
[out]stOptional status output.
Returns
Number of bytes actually read.

Definition at line 95 of file stream_types.h.

◆ write

size_t(* stream_ops_t::write) (stream_t *s, const void *buf, size_t n, stream_status_t *st)
Parameters
[in]sStream handle to write to.
[in]bufSource buffer containing up to n bytes to write.
[in]nMaximum number of bytes to write.
[out]stOptional status output.
Returns
Number of bytes actually written.

Definition at line 115 of file stream_types.h.