123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136[@@@warning"-9-27"]includeCtypesletliftx=xopenCtypes_staticletrecfield:typeta.ttyp->string->atyp->(a,t)field=funsfnameftype->matchs,fnamewith|Struct({tag="ceph_statx";_}ass'),"stx_btime"->letf={ftype;fname;foffset=112}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="ceph_statx";_}ass'),"stx_mtime"->letf={ftype;fname;foffset=96}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="ceph_statx";_}ass'),"stx_size"->letf={ftype;fname;foffset=32}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="ceph_statx";_}ass'),"stx_mode"->letf={ftype;fname;foffset=20}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="timespec";_}ass'),"tv_nsec"->letf={ftype;fname;foffset=8}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="timespec";_}ass'),"tv_sec"->letf={ftype;fname;foffset=0}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="dirent";_}ass'),"d_name"->letf={ftype;fname;foffset=19}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="dirent";_}ass'),"d_type"->letf={ftype;fname;foffset=18}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="dirent";_}ass'),"d_reclen"->letf={ftype;fname;foffset=16}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="dirent";_}ass'),"d_off"->letf={ftype;fname;foffset=8}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="dirent";_}ass'),"d_ino"->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="ceph_statx";spec=Incomplete_;_}ass')->s'.spec<-Complete{size=136;align=8}|Struct({tag="timespec";spec=Incomplete_;_}ass')->s'.spec<-Complete{size=16;align=8}|Struct({tag="dirent";spec=Incomplete_;_}ass')->s'.spec<-Complete{size=280;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.Uint16_t,"S_IFIFO"->Unsigned.UInt16.of_string"4096"|Ctypes_static.PrimitiveCstubs_internals.Uint16_t,"S_IFCHR"->Unsigned.UInt16.of_string"8192"|Ctypes_static.PrimitiveCstubs_internals.Uint16_t,"S_IFDIR"->Unsigned.UInt16.of_string"16384"|Ctypes_static.PrimitiveCstubs_internals.Uint16_t,"S_IFBLK"->Unsigned.UInt16.of_string"24576"|Ctypes_static.PrimitiveCstubs_internals.Uint16_t,"S_IFREG"->Unsigned.UInt16.of_string"32768"|Ctypes_static.PrimitiveCstubs_internals.Uint16_t,"S_IFLNK"->Unsigned.UInt16.of_string"40960"|Ctypes_static.PrimitiveCstubs_internals.Uint16_t,"S_IFSOCK"->Unsigned.UInt16.of_string"49152"|Ctypes_static.PrimitiveCstubs_internals.Uint16_t,"S_IFMT"->Unsigned.UInt16.of_string"61440"|Ctypes_static.PrimitiveCstubs_internals.Uint,"CEPH_STATX_BTIME"->Unsigned.UInt.of_string"2048"|Ctypes_static.PrimitiveCstubs_internals.Uint,"CEPH_STATX_MTIME"->Unsigned.UInt.of_string"64"|Ctypes_static.PrimitiveCstubs_internals.Uint,"CEPH_STATX_SIZE"->Unsigned.UInt.of_string"512"|Ctypes_static.PrimitiveCstubs_internals.Uint,"CEPH_STATX_MODE"->Unsigned.UInt.of_string"1"|Ctypes_static.PrimitiveCstubs_internals.Uint,"CEPH_STATX_BASIC_STATS"->Unsigned.UInt.of_string"2047"|Ctypes_static.PrimitiveCstubs_internals.Uint,"CEPH_STATX_ALL_STATS"->Unsigned.UInt.of_string"8191"|Ctypes_static.PrimitiveCstubs_internals.Int,"O_NOFOLLOW"->131072|Ctypes_static.PrimitiveCstubs_internals.Int,"O_DIRECTORY"->65536|Ctypes_static.PrimitiveCstubs_internals.Int,"O_TRUNC"->512|Ctypes_static.PrimitiveCstubs_internals.Int,"O_EXCL"->128|Ctypes_static.PrimitiveCstubs_internals.Int,"O_CREAT"->64|Ctypes_static.PrimitiveCstubs_internals.Int,"O_RDWR"->2|Ctypes_static.PrimitiveCstubs_internals.Int,"O_WRONLY"->1|Ctypes_static.PrimitiveCstubs_internals.Int,"O_RDONLY"->0|Ctypes_static.PrimitiveCstubs_internals.Char,"DT_UNKNOWN"->Char.chr(((0)+256)mod256)|Ctypes_static.PrimitiveCstubs_internals.Char,"DT_SOCK"->Char.chr(((12)+256)mod256)|Ctypes_static.PrimitiveCstubs_internals.Char,"DT_REG"->Char.chr(((8)+256)mod256)|Ctypes_static.PrimitiveCstubs_internals.Char,"DT_LNK"->Char.chr(((10)+256)mod256)|Ctypes_static.PrimitiveCstubs_internals.Char,"DT_FIFO"->Char.chr(((1)+256)mod256)|Ctypes_static.PrimitiveCstubs_internals.Char,"DT_DIR"->Char.chr(((4)+256)mod256)|Ctypes_static.PrimitiveCstubs_internals.Char,"DT_CHR"->Char.chr(((2)+256)mod256)|Ctypes_static.PrimitiveCstubs_internals.Char,"DT_BLK"->Char.chr(((6)+256)mod256)|Ctypes_static.PrimitiveCstubs_internals.Int,"ENOENT"->2|Ctypes_static.PrimitiveCstubs_internals.Int,"LIBCEPHFS_VER_EXTRA"->2|Ctypes_static.PrimitiveCstubs_internals.Int,"LIBCEPHFS_VER_MINOR"->0|Ctypes_static.PrimitiveCstubs_internals.Int,"LIBCEPHFS_VER_MAJOR"->10|_,s->failwith("unmatched constant: "^s)letenum(typea)name?typedef?unexpected(alist:(a*int64)list)=matchnamewith|s->failwith("unmatched enum: "^s)