DUP(2)                                                   DUP(2)
НАЗВАНИЕ
dup - дублирование дескриптора открытого файла
СИНТАКСИС
       |int dup (fildes)
       |int fildes;
ОПИСАНИЕ
Аргумент fildes - это дескриптор файла, полученный пос-
        ле выполнения системных вызовов creat, open, dup, fcntl
        и pipe. Системный вызов dup возвращает новый дескриптор
        файла, имеющий  следующие  общие  свойства  с  исходным
        дескриптором:
        1.   Тот же открытый файл (или канал).
        2.   Тот же указатель текущей позиции в файле (то  есть
             оба дескриптора разделяют один  и  тот  же  указа-
             тель).
        3.   Тот же режим доступа (чтение, запись или  чтение/-
             запись).
                                                               
        Новый дескриптор создается таким, чтобы после  выполне-
        ния системных вызовов exec(2) файл  оставался  открытым
        [см. fcntl(2)].                               
        Возвращается наименьший из доступных дескрипторов.
                        
        Системный вызов dup завершается неудачей, если выполне-
        но хотя бы одно из следующих условий:
        
[EBADF]     Аргумент  fildes  не  является   корректным
                    дескриптором открытого файла.              
                                                               
        [EINTR]     Во время выполнения системного  вызова  пе-
                    рехвачен сигнал.
        [EMFILE]    Превышается  максимально  допустимое  коли-
                    чество файлов, открытых одновременно в  од-
                    ном процессе.                              
                                                               
        [ENOLINK]   Аргумент  fildes  указывает  на   удаленный
                    компьютер, связи с которым в данный  момент
                    нет.                                       
                     
СМ. ТАКЖЕ
        close(2),   creat(2),   exec(2),   fcntl(2),   open(2),
        pipe(2), lockf(3C).                                    
                       
ДИАГНОСТИКА
        При успешном завершении результат равен неотрицательно-
        му целому числу - дескриптору файла;  в  случае  ошибки
        возвращается -1, а переменной errno  присваивается  код
        ошибки.