@@ -353,6 +353,16 @@ s! {
353
353
e_termination: :: c_short,
354
354
e_exit: :: c_short,
355
355
}
356
+
357
+ pub struct utmp {
358
+ pub ut_user: [ :: c_char; 8 ] ,
359
+ pub ut_id: [ :: c_char; 4 ] ,
360
+ pub ut_line: [ :: c_char; 12 ] ,
361
+ pub ut_pid: :: c_short,
362
+ pub ut_type: :: c_short,
363
+ pub ut_exit: exit_status,
364
+ pub ut_time: :: time_t,
365
+ }
356
366
}
357
367
358
368
s_no_extra_traits ! {
@@ -1690,6 +1700,7 @@ pub const PORT_SOURCE_FILE: ::c_int = 7;
1690
1700
pub const PORT_SOURCE_POSTWAIT : :: c_int = 8 ;
1691
1701
pub const PORT_SOURCE_SIGNAL : :: c_int = 9 ;
1692
1702
1703
+ pub const NONROOT_USR : :: c_short = 2 ;
1693
1704
pub const _UTX_USERSIZE: usize = 32 ;
1694
1705
pub const _UTX_LINESIZE: usize = 32 ;
1695
1706
pub const _UTX_PADSIZE: usize = 5 ;
@@ -2404,10 +2415,18 @@ extern "C" {
2404
2415
pub fn pututxline ( ut : * const utmpx ) -> * mut utmpx ;
2405
2416
pub fn setutxent ( ) ;
2406
2417
pub fn endutxent ( ) ;
2407
- // TODO: uncomment after utmp implementation
2408
- // pub fn getutmp(ux: *const utmpx, u: *mut utmp);
2409
- // pub fn getutmpx(u: *const utmp, ux: *mut utmpx);
2410
- // pub fn updwtmp(file: *const ::c_char, u: *mut utmp);
2418
+
2419
+ pub fn endutent ( ) ;
2420
+ pub fn getutent ( ) -> * mut utmp ;
2421
+ pub fn getutid ( u : * const utmp ) -> * mut utmp ;
2422
+ pub fn getutline ( u : * const utmp ) -> * mut utmp ;
2423
+ pub fn pututline ( u : * const utmp ) -> * mut utmp ;
2424
+ pub fn setutent ( ) ;
2425
+ pub fn utmpname ( file : * const :: c_char ) -> :: c_int ;
2426
+
2427
+ pub fn getutmp ( ux : * const utmpx , u : * mut utmp ) ;
2428
+ pub fn getutmpx ( u : * const utmp , ux : * mut utmpx ) ;
2429
+ pub fn updwtmp ( file : * const :: c_char , u : * mut utmp ) ;
2411
2430
}
2412
2431
2413
2432
mod compat;
0 commit comments