SYNOPSIS

#include <atfs.h>

char *af_afname (char *path)

char *af_afpath (char *path)

char *af_aftype (char *path)

Af_user *af_afuser (uit_t uid)

char *af_setarchpath (char *path)

char *af_version (void)

DESCRIPTION

The functions af_afname, af_afpath and af_aftype extract name, syspath or type from a given (operating system dependent) file identification. In an \s-1UNIX\s+1 environment, a given pathname of the form

/usr/lib/libatfs.a leads to afname libatfs, afpath /usr/lib and aftype a.

If no path (eg. otto.c), or no type (eg. /usr/hugo/Makefile) is given, the corresponding routine returns an empty string. A period as first character in a filename is always considered to be part of the name (e.g. .cshrc has the name .cshrc and an empty type string). "." and ".." are recognized as names. Archive file extensions and AtFS specific path extensions are stripped from the resulting name resp. pathname.

Note: af_afname, af_afpath and af_aftype use static memory for the returned results. Subsequent calls of the same function overwrite former results.

af_afuser returns an AtFS user identification which consists of the login name of the user identified by uid, the current host and the current domain. Uid_t is defined according to the return type of getuid (2) on your system. The Af_user type has the following structure

typedef struct {
	char	af_username[\s-1MAXUSERNAMELEN\s+1];
	char	af_userhost[\s-1MAXHOSTNAMELEN\s+1];
	char	af_userdomain[\s-1MAXDOMAIN+1\s+1];
	} Af_user;

af_setarchpath defines the location of the AtFS archive files. A nil-pointer given as path-argument clears the former setting of the global archive path. af_setarchpath returns the old global archive path. Initially, no global archive path is set. In this case, all archive files are stored in a subdirectory called AtFS, relative to the directory where corresponding busy version resides.

af_version returns a string that names the version and the creator of the currently used AtFS library.

RELATED TO af_afuser…