Either name may be an arbitrary path name.
already exists; when the directory of
an attempt is made to link to a directory by a user
other than the super-user;
when an attempt is made to link
to a file on another file system;
when more than 127 links are made.
From C, a \*-1 return indicates an error,
a 0 return indicates success.