[Overview][Constants][Types][Procedures and functions][Index] | Reference for unit 'BaseUnix' (#rtl)

# FpUtime

Set access and modification times of a file (touch).

## Declaration

Source position: line 0

`function FpUtime(`
`path: PChar;`
`times: pUtimBuf`
`):cint; function FpUtime(`
`path: AnsiString;`
`times: pUtimBuf`
`):cint;`

## Description

FpUtime sets the access and modification times of the file specified in Path. the times record contains 2 fields, actime, and modtime, both of type time_t (commonly a longint). They should be filled with an epoch-like time, specifying, respectively, the last access time, and the last modification time. For some filesystem (most notably, FAT), these times are the same.

The function returns zero on success, a nonzero return value indicates failure.

## Errors

Extended error information can be retrieved using fpGetErrno.

sys_eaccess
  One of the directories in Path has no search (=execute) permission.
sys_enoent
  A directory entry in Path does not exist or is a symbolic link pointing to a non-existent directory.

Other errors may occur, but aren't documented.

## See also

FpTime |  | Return the current unix time
FpChown |  | Change owner of file
FpAccess |  | Check file access

## Example

    Program Example25;

    { Program to demonstrate the UTime function. }

    Uses Dos,BaseUnix,Unix,UnixUtil;

    Var utim : utimbuf;
        dow,msec,year,month,day,hour,minute,second : Word;

    begin
      { Set access and modification time of executable source }
      GetTime (hour,minute,second,msec);
      GetDate (year,month,day,dow);
      utim.actime:=LocalToEpoch(year,month,day,hour,minute,second);
      utim.modtime:=utim.actime;
      if Fputime('ex25.pp',@utim)<>0 then
        writeln ('Call to UTime failed !')
      else
        begin
        Write ('Set access and modification times to : ');
        Write (Hour:2,':',minute:2,':',second,', ');
        Writeln (Day:2,'/',month:2,'/',year:4);
        end;
    end.

Documentation generated on: Feb 26 2014