Я пишу (не) инструмент архивации и, как он спроектирован, он сначала создает обычный файл из архива, прежде чем проверяет специальные атрибуты и может решить, что этот элемент фактически является символической ссылкой.
Примечание. Прежде чем другие люди не поймут меня неправильно, я хочу создать символическую ссылку из файла. Нет, я записываю данные символической ссылки, то есть ее путь, в файл, а затем хочу сообщить файловой системе, что это символическая ссылка
Я разрабатывал это на OS X, где можно превратить обычный файл в символическую ссылку, просто установив соответствующие коды Type и Creator.
Теперь мне нравится, что этот код работает и в Linux. Поэтому мне нравится находить подобный путь там.
Я знаю, что нормальный способ создания символической ссылки - это вызов функции symlink (), но мне интересно, есть ли способ также преобразовать обычный файл в символическую ссылку, как это возможно в системе BSD OSX, чтобы мне не пришлось слишком много реорганизовывать мой рабочий код?
Существует lstat (), который возвращает тип файла в старших битах st_mode. Теперь мне интересно, есть ли аналогичная функция для этого поля режима.