Piszę właśnie funkcję kopiującą pliki i trafiłem na typ gniazdo - socket. Jak skopiować plik gniazda?

Poradziłem już sobie z linkami symbolicznymi (man 2 readlink, man 2 symlink), plikami regularnymi (man 3 fopen, ...), plikami urządzeń kolejek i urządzń blokowych oraz znakowych (man 2 mknod, man man 2 lstat).

Do sposobu kopiowania dochodziłem po SEE ALSO w man.

man 2 stat powiedziało:

ZOBACZ TAKŻE
       chmod(2), chown(2), readlink(2), utime(2)

man 3 stat powiedziało:

SEE ALSO
       fstat(), lstat(), readlink(), symlink(), the Base Definitions volume of
       IEEE Std 1003.1-2001, <sys/stat.h>, <sys/types.h>

man 2 readlink powiedziało:

ZOBACZ TAKŻE
       stat(2), lstat(2), symlink(2)

W przypadku socketów nie mogę nic znaleźć.
Nie chcę czytać z gniazda. Chcę skopiować gniazdo.

$ stat /dev/log
  File: `/dev/log'
  Size: 0             Blocks: 0          IO Block: 4096   gniazdo
Device: 5h/5d    Inode: 11788       Links: 1
Access: (0666/srw-rw-rw-)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2010-12-27 14:39:10.118603993 +0100
Modify: 2010-12-27 14:39:09.878603995 +0100
Change: 2010-12-27 14:39:09.878603995 +0100

$ cp -dpR /dev/log /home/adam/skopiowane_gniazdo

$ ls /home/adam
Dokument2a  skopiowane_gniazdo  Obrazy   Programowanie  sr2
Dokumenty   nowy_folder         Pobrane  Pulpit         tty0-adam


$ stat ~/skopiowane_gniazdo
  File: `/home/adam/skopiowane_gniazdo'
  Size: 0             Blocks: 0          IO Block: 4096   gniazdo
Device: fd01h/64769d    Inode: 4326202     Links: 1
Access: (0666/srw-rw-rw-)  Uid: (  500/    adam)   Gid: (  500/    adam)
Access: 2010-12-27 14:39:10.118603993 +0100
Modify: 2010-12-27 14:39:09.878603995 +0100
Change: 2010-12-27 20:09:13.630603995 +0100