## win32-io.api




# Api for hooks to Win32 IO system.


api Win32_IO = 
    api
	type hndl = win32_general::hndl
	my setFilePointer' : (hndl * win32_general::unt * win32_general::unt)
	                      -> win32_general::unt

	my FILE_BEGIN:  win32_general::unt
	my FILE_CURRENT:  win32_general::unt
        my FILE_END:  win32_general::unt

	my readVec:  hndl * Int -> vector_of_one_byte_unts::Vector
	my readArr:  hndl * rw_vector_slice_of_one_byte_unts::slice -> Int
	my readVecTxt:  hndl * Int -> vector_of_chars::Vector
	my readArrTxt:  hndl * rw_vector_slice_of_chars::slice -> Int

	my close:  hndl -> Void

	my GENERIC_READ:  win32_general::unt
	my GENERIC_WRITE:  win32_general::unt

	my FILE_SHARE_READ:  win32_general::unt
	my FILE_SHARE_WRITE:  win32_general::unt

	my FILE_FLAG_WRITE_THROUGH:  win32_general::unt
	my FILE_FLAG_OVERLAPPED:  win32_general::unt
	my FILE_FLAG_NO_BUFFERING:  win32_general::unt
	my FILE_FLAG_RANDOM_ACCESS:  win32_general::unt
	my FILE_FLAG_SEQUENTIAL_SCAN:  win32_general::unt
	my FILE_FLAG_DELETE_ON_CLOSE:  win32_general::unt
	my FILE_FLAG_BACKUP_SEMANTICS:  win32_general::unt
	my FILE_FLAG_POSIX_SEMANTICS:  win32_general::unt

	my CREATE_NEW:  win32_general::unt
	my CREATE_ALWAYS:  win32_general::unt
	my OPEN_EXISTING:  win32_general::unt
	my OPEN_ALWAYS:  win32_general::unt
	my TRUNCATE_EXISTING:  win32_general::unt

	my createFile:  { name: String,
			  access: win32_general::unt,
			  share: win32_general::unt,
			  mode: win32_general::unt,
			  attributes: win32_general::unt } -> hndl

	my writeVec:  hndl * vector_slice_of_one_byte_unts::slice -> Int
	my writeArr:  hndl * rw_vector_slice_of_one_byte_unts::slice -> Int
	my writeVecTxt:  hndl * vector_slice_of_chars::slice -> Int
	my writeArrTxt:  hndl * rw_vector_slice_of_chars::slice -> Int

	my STD_INPUT_HANDLE:  win32_general::unt
	my STD_OUTPUT_HANDLE:  win32_general::unt
	my STD_ERROR_HANDLE:  win32_general::unt

	my getStdHandle:  win32_general::unt -> hndl
    end




## COPYRIGHT (c) 1996 Bell Laboratories.
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2015,
## released per terms of SMLNJ-COPYRIGHT.
