30 static int mknod_wrapper(
int dirfd, 
const char *path, 
const char *link,
    36                 res = openat(dirfd, path, O_CREAT | O_EXCL | O_WRONLY, mode);
    39         } 
else if (S_ISDIR(mode)) {
    40                 res = mkdirat(dirfd, path, mode);
    41         } 
else if (S_ISLNK(mode) && link != NULL) {
    42                 res = symlinkat(link, dirfd, path);
    43         } 
else if (S_ISFIFO(mode)) {
    44                 res = mkfifoat(dirfd, path, mode);
    46         } 
else if (S_ISSOCK(mode)) {
    47                 struct sockaddr_un su;
    50                 if (strlen(path) >= 
sizeof(su.sun_path)) {
    54                 fd = socket(AF_UNIX, SOCK_STREAM, 0);
    61                         su.sun_family = AF_UNIX;
    62                         strncpy(su.sun_path, path, 
sizeof(su.sun_path));
    63                         res = bindat(dirfd, fd, (
struct sockaddr*)&su,
    72                 res = mknodat(dirfd, path, mode, rdev);