30 Sep 2003
gfs_realpath 3 Gfarm
gfs_realpath resolve pathname in Gfarm filesystem

    #include <gfarm/gfarm.h>

`char *gfs_realpath` const char * gfarm_url char ** resolved_pathp

## DESCRIPTION

`gfs_realpath` expands a home directory '~' and resolves references to '.', '..' and extra '/' characters in the null terminated string pointed to by gfarm_url and stores the canonicalized absolute pathname to dynamically allocated memory space whose pointer is returned to resolved_pathp. It will be necessary to free the dynamically allocated memory space pointed to by resolved_pathp.

## RETURN VALUES

`NULL`

  The function terminated successfully.

`GFARM_ERR_NO_MEMORY`

  Insufficient memory was available.

`GFARM_ERR_NOT_A_DIRECTORY`

  A component of the path prefix is not a directory.

`GFARM_ERR_INVALID_ARGUMENT`

  gfarm_url is NULL.

`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.