@@ -353,6 +353,16 @@ s! {
353353 e_termination: :: c_short,
354354 e_exit: :: c_short,
355355 }
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+ }
356366}
357367
358368s_no_extra_traits ! {
@@ -1690,6 +1700,7 @@ pub const PORT_SOURCE_FILE: ::c_int = 7;
16901700pub const PORT_SOURCE_POSTWAIT : :: c_int = 8 ;
16911701pub const PORT_SOURCE_SIGNAL : :: c_int = 9 ;
16921702
1703+ pub const NONROOT_USR : :: c_short = 2 ;
16931704pub const _UTX_USERSIZE: usize = 32 ;
16941705pub const _UTX_LINESIZE: usize = 32 ;
16951706pub const _UTX_PADSIZE: usize = 5 ;
@@ -2404,10 +2415,18 @@ extern "C" {
24042415 pub fn pututxline ( ut : * const utmpx ) -> * mut utmpx ;
24052416 pub fn setutxent ( ) ;
24062417 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 ) ;
24112430}
24122431
24132432mod compat;
0 commit comments