


## threadkit-base-io.api
# Compiled by:
# src/lib/std/standard.lib# This is the threadkit equivalent of the
# SML basis library's Base_Io api.
#
# The differences are that we use mailop-valued
# interfaces instead of non-blocking operations,
# and that the operations are not optional.
api Threadkit_Base_Io {
#
Mailop(X) = threadkit::Mailop(X);
Rw_Vector;
Vector;
Element;
Vector_Slice;
Rw_Vector_Slice;
eqtype File_Position;
compare: ((File_Position, File_Position)) -> Order;
Reader = READER {
name: String,
chunk_size: Int,
read_vector: Int -> Vector,
read_rw_vector: Rw_Vector_Slice -> Int,
read_vec_mailop: Int -> Mailop( Vector ),
read_arr_mailop: Rw_Vector_Slice -> Mailop( Int ),
avail: Void -> Null_Or( Int ),
get_position: Null_Or( Void -> File_Position ),
set_position: Null_Or( File_Position -> Void ),
end_position: Null_Or( Void -> File_Position ),
verify_position: Null_Or( Void -> File_Position ),
close: Void -> Void,
io_descriptor: Null_Or( winix::io::Io_Descriptor )
};
Writer = WRITER {
name: String,
chunk_size: Int,
write_vector: Vector_Slice -> Int,
write_rw_vector: Rw_Vector_Slice -> Int,
write_vec_mailop: Vector_Slice -> Mailop( Int ),
write_arr_mailop: Rw_Vector_Slice -> Mailop( Int ),
get_position: Null_Or( Void -> File_Position ),
set_position: Null_Or( File_Position -> Void ),
end_position: Null_Or( Void -> File_Position ),
verify_position: Null_Or( Void -> File_Position ),
close: Void -> Void,
io_descriptor: Null_Or( winix::io::Io_Descriptor )
};
};
## COPYRIGHT (c) 1991 John H. Reppy.
## COPYRIGHT (c) 1996 AT&T Research.
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2011,
## released under Gnu Public Licence version 3.


