Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Source file g.ml
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108[@@@warning"-9-27"]includeCtypesletliftx=xopenCtypes_staticletrecfield:typeta.ttyp->string->atyp->(a,t)field=funsfnameftype->matchs,fnamewith|Struct({tag="MMDB_lookup_result_s";_}ass'),"netmask"->letf={ftype;fname;foffset=24}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="MMDB_lookup_result_s";_}ass'),"entry"->letf={ftype;fname;foffset=8}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="MMDB_lookup_result_s";_}ass'),"found_entry"->letf={ftype;fname;foffset=0}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="MMDB_entry_s";_}ass'),"offset"->letf={ftype;fname;foffset=8}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="MMDB_entry_s";_}ass'),"mmdb"->letf={ftype;fname;foffset=0}in(s'.fields<-BoxedFieldf::s'.fields;f)|View{ty;_},_->let{ftype;foffset;fname}=fieldtyfnameftypein{ftype;foffset;fname}|_->failwith("Unexpected field "^fname)letrecseal:typea.atyp->unit=function|Struct({tag="MMDB_lookup_result_s";spec=Incomplete_;_}ass')->s'.spec<-Complete{size=32;align=8}|Struct({tag="MMDB_entry_s";spec=Incomplete_;_}ass')->s'.spec<-Complete{size=16;align=8}|Struct{tag;spec=Complete_;_}->raise(ModifyingSealedTypetag)|Union{utag;uspec=Some_;_}->raise(ModifyingSealedTypeutag)|View{ty;_}->sealty|_->raise(Unsupported"Sealing a non-structured type")type'aconst='aletconstant(typet)name(t:ttyp):t=matcht,namewith|Ctypes_static.PrimitiveCstubs_internals.Int,"MMDB_IPV6_LOOKUP_IN_IPV4_DATABASE_ERROR"->11|Ctypes_static.PrimitiveCstubs_internals.Int,"MMDB_INVALID_NODE_NUMBER_ERROR"->10|Ctypes_static.PrimitiveCstubs_internals.Int,"MMDB_LOOKUP_PATH_DOES_NOT_MATCH_DATA_ERROR"->9|Ctypes_static.PrimitiveCstubs_internals.Int,"MMDB_INVALID_LOOKUP_PATH_ERROR"->8|Ctypes_static.PrimitiveCstubs_internals.Int,"MMDB_INVALID_DATA_ERROR"->7|Ctypes_static.PrimitiveCstubs_internals.Int,"MMDB_UNKNOWN_DATABASE_FORMAT_ERROR"->6|Ctypes_static.PrimitiveCstubs_internals.Int,"MMDB_OUT_OF_MEMORY_ERROR"->5|Ctypes_static.PrimitiveCstubs_internals.Int,"MMDB_IO_ERROR"->4|Ctypes_static.PrimitiveCstubs_internals.Int,"MMDB_INVALID_METADATA_ERROR"->3|Ctypes_static.PrimitiveCstubs_internals.Int,"MMDB_CORRUPT_SEARCH_TREE_ERROR"->2|Ctypes_static.PrimitiveCstubs_internals.Int,"MMDB_FILE_OPEN_ERROR"->1|Ctypes_static.PrimitiveCstubs_internals.Int,"MMDB_SUCCESS"->0|Ctypes_static.PrimitiveCstubs_internals.Int,"MMDB_MODE_MASK"->7|Ctypes_static.PrimitiveCstubs_internals.Int,"MMDB_MODE_MMAP"->1|Ctypes_static.PrimitiveCstubs_internals.Int,"MMDB_DATA_TYPE_FLOAT"->15|Ctypes_static.PrimitiveCstubs_internals.Int,"MMDB_DATA_TYPE_BOOLEAN"->14|Ctypes_static.PrimitiveCstubs_internals.Int,"MMDB_DATA_TYPE_END_MARKER"->13|Ctypes_static.PrimitiveCstubs_internals.Int,"MMDB_DATA_TYPE_CONTAINER"->12|Ctypes_static.PrimitiveCstubs_internals.Int,"MMDB_DATA_TYPE_ARRAY"->11|Ctypes_static.PrimitiveCstubs_internals.Int,"MMDB_DATA_TYPE_UINT128"->10|Ctypes_static.PrimitiveCstubs_internals.Int,"MMDB_DATA_TYPE_UINT64"->9|Ctypes_static.PrimitiveCstubs_internals.Int,"MMDB_DATA_TYPE_INT32"->8|Ctypes_static.PrimitiveCstubs_internals.Int,"MMDB_DATA_TYPE_MAP"->7|Ctypes_static.PrimitiveCstubs_internals.Int,"MMDB_DATA_TYPE_UINT32"->6|Ctypes_static.PrimitiveCstubs_internals.Int,"MMDB_DATA_TYPE_UINT16"->5|Ctypes_static.PrimitiveCstubs_internals.Int,"MMDB_DATA_TYPE_BYTES"->4|Ctypes_static.PrimitiveCstubs_internals.Int,"MMDB_DATA_TYPE_DOUBLE"->3|Ctypes_static.PrimitiveCstubs_internals.Int,"MMDB_DATA_TYPE_UTF8_STRING"->2|Ctypes_static.PrimitiveCstubs_internals.Int,"MMDB_DATA_TYPE_POINTER"->1|Ctypes_static.PrimitiveCstubs_internals.Int,"MMDB_DATA_TYPE_EXTENDED"->0|_,s->failwith("unmatched constant: "^s)letenum(typea)name?typedef?unexpected(alist:(a*int64)list)=matchnamewith|s->failwith("unmatched enum: "^s)