# gfs_utimes

## Name

gfs_utimes -- set file access and modification times

## Synopsis

    #include <gfarm/gfarm.h>

```char *gfs_utimes``(const char * `gfarm_url`, const struct gfarm_timespec * `tsp`);`

## DESCRIPTION

`gfs_utimes()` sets the access and modification times of the file pointed to by the `gfarm_url` argument to the value of the `tsp` argument. The `tsp` argument is an array of gfarm_timespec structures. The first array member represents the access time, and the second member represents the modification time. The gfarm_timespec structure is:

    	struct gfarm_timespec {
    		unsigned int tv_sec;	/* seconds */
    		unsigned int tv_nsec;	/* nanoseconds */
    	};

If the `tsp` argument is a null pointer, the access and modification times of the file are set to the current time.

## RETURN VALUES

`NULL`

  The function terminated successfully.

`GFARM_ERR_GFARM_URL_PREFIX_IS_MISSING`

  `gfarm_url` does not start with the gfarm: prefix.

`GFARM_ERR_NO_MEMORY`

  Insufficient memory was available.

`GFARM_ERR_AUTHENTICATION`

  User authentication failed when connecting to gfmd(8).

`GFARM_ERR_PERMISSION_DENIED`

  `gfarm_url` points outside your accessible address space.

`GFARM_ERR_NO_SUCH_OBJECT`

  `gfarm_url` does not exist.

Others

  An error except the above occurred. The reason is shown by its pointed strings.

## SEE ALSO

gfs_stat(3)