85 lines
2.6 KiB
Groff
85 lines
2.6 KiB
Groff
|
.\" Copyright (c) 2011 Joseph Koshy. All rights reserved.
|
||
|
.\"
|
||
|
.\" Redistribution and use in source and binary forms, with or without
|
||
|
.\" modification, are permitted provided that the following conditions
|
||
|
.\" are met:
|
||
|
.\" 1. Redistributions of source code must retain the above copyright
|
||
|
.\" notice, this list of conditions and the following disclaimer.
|
||
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||
|
.\" notice, this list of conditions and the following disclaimer in the
|
||
|
.\" documentation and/or other materials provided with the distribution.
|
||
|
.\"
|
||
|
.\" This software is provided by Joseph Koshy ``as is'' and
|
||
|
.\" any express or implied warranties, including, but not limited to, the
|
||
|
.\" implied warranties of merchantability and fitness for a particular purpose
|
||
|
.\" are disclaimed. in no event shall Joseph Koshy be liable
|
||
|
.\" for any direct, indirect, incidental, special, exemplary, or consequential
|
||
|
.\" damages (including, but not limited to, procurement of substitute goods
|
||
|
.\" or services; loss of use, data, or profits; or business interruption)
|
||
|
.\" however caused and on any theory of liability, whether in contract, strict
|
||
|
.\" liability, or tort (including negligence or otherwise) arising in any way
|
||
|
.\" out of the use of this software, even if advised of the possibility of
|
||
|
.\" such damage.
|
||
|
.\"
|
||
|
.\" $Id$
|
||
|
.\"
|
||
|
.Dd December 15, 2011
|
||
|
.Os
|
||
|
.Dt ELFTC_SET_TIMESTAMPS 3
|
||
|
.Sh NAME
|
||
|
.Nm elftc_set_timestamps
|
||
|
.Nd set file timestamps
|
||
|
.Sh LIBRARY
|
||
|
.Lb libelftc
|
||
|
.Sh SYNOPSIS
|
||
|
.In libelftc.h
|
||
|
.Ft int
|
||
|
.Fn elftc_set_timestamps "const char *filename" "struct stat *sb"
|
||
|
.Sh DESCRIPTION
|
||
|
The
|
||
|
.Fn elftc_set_timestamps
|
||
|
function is used to set the access and modified time stamps on a file
|
||
|
based on the contents of a
|
||
|
.Vt "struct stat"
|
||
|
descriptor.
|
||
|
.Pp
|
||
|
Argument
|
||
|
.Ar filename
|
||
|
names an existing file in the file system.
|
||
|
.Pp
|
||
|
Argument
|
||
|
.Ar sb
|
||
|
points to structure of type
|
||
|
.Vt "struct stat"
|
||
|
populated by a prior call to
|
||
|
.Xr fstat 2
|
||
|
or
|
||
|
.Xr stat 2 .
|
||
|
.Sh IMPLEMENTATION NOTES
|
||
|
This function will invoke the high-resolution
|
||
|
.Xr utimes 2
|
||
|
system call if the underlying operating system supports it.
|
||
|
On operating systems lacking support for
|
||
|
.Xr utimes 2 ,
|
||
|
the function will use lower resolution
|
||
|
.Xr utime 2
|
||
|
system call.
|
||
|
.Sh EXAMPLES
|
||
|
To set the access and modified times for a new file to those of an
|
||
|
existing file, use:
|
||
|
.Bd -literal -offset indent
|
||
|
struct stat sb;
|
||
|
const char *existing_filename, *new_filename;
|
||
|
|
||
|
if (stat(existing_filename, &sb) < 0)
|
||
|
err(EXIT_FAILURE, "stat failed");
|
||
|
|
||
|
if (elftc_set_timestamps(new_filename, &sb) < 0)
|
||
|
err(EXIT_FAILURE, "timestamps could not be set");
|
||
|
.Ed
|
||
|
.Sh SEE ALSO
|
||
|
.Xr fstat 2 ,
|
||
|
.Xr stat 2 ,
|
||
|
.Xr utime 2 ,
|
||
|
.Xr utimes 2 .
|