1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859(* Copyright (C) 2017--2018 Petter A. Urkedal <paurkedal@gmail.com>
*
* This library is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or (at your
* option) any later version, with the OCaml static compilation exception.
*
* This library is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
* License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this library. If not, see <http://www.gnu.org/licenses/>.
*)(** {b Internal:} System Interface
The system utilities used by drivers. This signature will likely be
extended or changed due requirements of new backends and architectures. *)moduletypeS=sigtype+'afutureval(>>=):'afuture->('a->'bfuture)->'bfutureval(>|=):'afuture->('a->'b)->'bfuturevalreturn:'a->'afuturevaljoin:unitfuturelist->unitfuturemoduleMvar:sigtype'atvalcreate:unit->'atvalstore:'a->'at->unitvalfetch:'at->'afutureendmoduleUnix:sigtypefile_descrvalwrap_fd:(file_descr->'afuture)->Unix.file_descr->'afuturevalpoll:?read:bool->?write:bool->?timeout:float->file_descr->(bool*bool*bool)futureendmoduleLog:sigtype'alog=('a,unitfuture)Logs.msgf->unitfuturevalerr:?src:Logs.src->'alogvalwarn:?src:Logs.src->'alogvalinfo:?src:Logs.src->'alogvaldebug:?src:Logs.src->'alogendmodulePreemptive:sigvaldetach:('a->'b)->'a->'bfuturevalrun_in_main:(unit->'afuture)->'aendend