Прототип системного вызова
#include <unistd.h>
int link(char *pathname, char *linkpathname);
Описание системного вызова
Системный вызов link служит для создания жесткой связи к файлу с именем, на которое указывает параметр pathname. Указатель на имя создаваемой связи задается параметром linkpathname (полное или относительное имя связи).
Во всех существующих реализациях операционной системы UNIX запрещено создавать жесткие связи к директориям. В операционной системе Linux (по непонятной причине) дополнительно запрещено создавать жесткие связи к специальным файлам устройств..
Системный вызов возвращает значение 0 при нормальном завершении и значение -1 при возникновении ошибки.