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