@@ -1357,6 +1357,47 @@ s! {
13571357 pub strchange_instrms: u16 ,
13581358 pub strchange_outstrms: u16 ,
13591359 }
1360+
1361+ pub struct filedesc {
1362+ pub fd_files: * mut fdescenttbl,
1363+ pub fd_map: * mut c_ulong,
1364+ pub fd_freefile: c_int,
1365+ pub fd_refcnt: c_int,
1366+ pub fd_holdcnt: c_int,
1367+ fd_sx: sx,
1368+ fd_kqlist: kqlist,
1369+ pub fd_holdleaderscount: c_int,
1370+ pub fd_holdleaderswakeup: c_int,
1371+ }
1372+
1373+ pub struct fdescenttbl {
1374+ pub fdt_nfiles: c_int,
1375+ fdt_ofiles: [ * mut c_void; 0 ] ,
1376+ }
1377+
1378+ // FIXME: Should be private.
1379+ #[ doc( hidden) ]
1380+ pub struct sx {
1381+ lock_object: lock_object,
1382+ sx_lock: crate :: uintptr_t,
1383+ }
1384+
1385+ // FIXME: Should be private.
1386+ #[ doc( hidden) ]
1387+ pub struct lock_object {
1388+ lo_name: * const c_char,
1389+ lo_flags: c_uint,
1390+ lo_data: c_uint,
1391+ // This is normally `struct witness`.
1392+ lo_witness: * mut c_void,
1393+ }
1394+
1395+ // FIXME: Should be private.
1396+ #[ doc( hidden) ]
1397+ pub struct kqlist {
1398+ tqh_first: * mut c_void,
1399+ tqh_last: * mut * mut c_void,
1400+ }
13601401}
13611402
13621403s_no_extra_traits ! {
0 commit comments