tt_file_netfile(3)

NAME
tt_file_netfile - map between local and canonical pathnames on the local host

SYNOPSIS
#include <Tt/tt_c.h>

char *tt_file_netfile(const char *filename);

DESCRIPTION
The tt_file_netfile() function converts a local pathname to a netfilename, a form that can be passed to other hosts on the network and converted back to a local pathname for the same file with tt_netfile_file(3).

The filename argument is a pathname (absolute or relative) that is valid on the local host. Every component of filename must exist, except that the last component need not exist.

RETURN VALUE
Upon successful completion, the tt_file_netfile() function returns a freshly allocated null-terminated string of unspecified format, which can be passed to tt_netfile_file(3) or tt_host_netfile_file(3); otherwise, it returns an error pointer. The application can use tt_ptr_error(3) to extract one of the following Tt_status values from the returned pointer:

    The filename argument is a path that is not valid on this host.

APPLICATION USAGE
The tt_file_netfile(3), tt_netfile_file(3), tt_host_file_netfile(3) and tt_host_netfile_file(3) functions allow an application to determine a path valid on remote hosts, perhaps for purposes of constructing a command string valid for remote execution on that host. By composing the two calls, paths for files not accessible from the current host can be constructed. For example, if path /sample/file is valid on host A, a program running on host B can use

    tt_host_netfile_file("C", tt_host_file_netfile("A", "/sample/file"))

to determine a path to the same file valid on host C, if such a path is possible.

The netfile string returned by tt_file_netfile() should be considered opaque; the content and format of the strings are not a public interface. These strings can be safely copied (with strcpy(3C) or similar methods), written to files, or transmitted to other processes, perhaps on other hosts.

Allocated strings should be freed using either tt_free(3) or tt_release(3).

The tt_open(3) function need not be called before tt_file_netfile().

SEE ALSO
Tttt_c(5), tt_netfile_file(3), tt_host_file_netfile(3), tt_host_netfile_file(3), tt_open(3), tt_free(3), tt_release(3).