Movatterモバイル変換


[0]ホーム

URL:


Skip Navigation Links
Exit Print View
Link to oracle.comman pages section 2: System Calls    Oracle Solaris 11 Information Library
Oracle Technology Network
Library
PDF
Print View
Feedback
search filter icon
search icon
 Search Scope:

Document Information

Preface

Introduction

System Calls

access(2)

acct(2)

acl(2)

adjtime(2)

alarm(2)

brk(2)

chdir(2)

chmod(2)

chown(2)

chroot(2)

close(2)

creat(2)

dup(2)

exec(2)

execl(2)

execle(2)

execlp(2)

execv(2)

execve(2)

execvex(2)

execvp(2)

_Exit(2)

_exit(2)

exit(2)

faccessat(2)

facl(2)

fchdir(2)

fchmod(2)

fchmodat(2)

fchown(2)

fchownat(2)

fchroot(2)

fcntl(2)

fexecve(2)

fgetlabel(2)

fork1(2)

fork(2)

forkall(2)

forkallx(2)

forkx(2)

fpathconf(2)

fstat(2)

fstatat(2)

fstatvfs(2)

futimens(2)

futimesat(2)

getacct(2)

getcontext(2)

getdents(2)

getegid(2)

geteuid(2)

getgid(2)

getgroups(2)

getisax(2)

getitimer(2)

getlabel(2)

getmsg(2)

getpflags(2)

getpgid(2)

getpgrp(2)

getpid(2)

getpmsg(2)

getppid(2)

getppriv(2)

getprojid(2)

getrctl(2)

getrlimit(2)

getsid(2)

gettaskid(2)

getuid(2)

getustack(2)

ioctl(2)

issetugid(2)

kill(2)

lchown(2)

link(2)

linkat(2)

llseek(2)

lseek(2)

lstat(2)

_lwp_cond_broadcast(2)

_lwp_cond_reltimedwait(2)

_lwp_cond_signal(2)

_lwp_cond_timedwait(2)

_lwp_cond_wait(2)

_lwp_continue(2)

_lwp_info(2)

_lwp_kill(2)

_lwp_mutex_lock(2)

_lwp_mutex_trylock(2)

_lwp_mutex_unlock(2)

_lwp_self(2)

_lwp_sema_init(2)

_lwp_sema_post(2)

_lwp_sema_trywait(2)

_lwp_sema_wait(2)

_lwp_suspend(2)

memcntl(2)

meminfo(2)

mincore(2)

mkdir(2)

mkdirat(2)

mknod(2)

mknodat(2)

mmap(2)

mmapobj(2)

mount(2)

mprotect(2)

msgctl(2)

msgget(2)

msgids(2)

msgrcv(2)

msgsnap(2)

msgsnd(2)

munmap(2)

nice(2)

ntp_adjtime(2)

ntp_gettime(2)

open(2)

openat(2)

pathconf(2)

pause(2)

pcsample(2)

pipe(2)

poll(2)

p_online(2)

ppoll(2)

pread(2)

priocntl(2)

priocntlset(2)

processor_bind(2)

processor_info(2)

profil(2)

pset_assign(2)

pset_bind(2)

pset_create(2)

pset_destroy(2)

pset_getattr(2)

pset_info(2)

pset_list(2)

pset_setattr(2)

putacct(2)

putmsg(2)

putpmsg(2)

pwrite(2)

read(2)

readlink(2)

readlinkat(2)

readv(2)

rename(2)

renameat(2)

resolvepath(2)

rmdir(2)

sbrk(2)

semctl(2)

semget(2)

semids(2)

semop(2)

semtimedop(2)

setcontext(2)

setegid(2)

seteuid(2)

setgid(2)

setgroups(2)

setitimer(2)

setpflags(2)

setpgid(2)

setpgrp(2)

setppriv(2)

setrctl(2)

setregid(2)

setreuid(2)

setrlimit(2)

setsid(2)

settaskid(2)

setuid(2)

setustack(2)

shmadv(2)

shmat(2)

shmctl(2)

shmdt(2)

shmget(2)

shmids(2)

shmop(2)

sigaction(2)

sigaltstack(2)

sigpending(2)

sigprocmask(2)

sigsend(2)

sigsendset(2)

sigsuspend(2)

sigwait(2)

__sparc_utrap_install(2)

stat(2)

statvfs(2)

stime(2)

swapctl(2)

symlink(2)

symlinkat(2)

sync(2)

sysfs(2)

sysinfo(2)

time(2)

times(2)

uadmin(2)

ulimit(2)

umask(2)

umount(2)

umount2(2)

uname(2)

unlink(2)

unlinkat(2)

ustat(2)

utime(2)

utimensat(2)

utimes(2)

uucopy(2)

vfork(2)

vforkx(2)

vhangup(2)

waitid(2)

wracct(2)

write(2)

writev(2)

yield(2)

mkdir

, mkdirat

- make a directory relative to directory file descriptor

Synopsis

#include <sys/stat.h>intmkdir(const char *path,mode_tmode);
int mkdirat(intfd, const char *path, mode_tmode);

Description

Themkdir() function creates a new directory named by the pathname pointed to bypath. The mode of the new directory is initialized frommode (seechmod(2) for values of mode). The protectionpart of themode argument is modified by the process's file creationmask (seeumask(2)).

The directory's owner ID is set to the process's effective userID. The directory's group ID is set to the process's effectivegroup ID, or if theS_ISGID bit is set in the parentdirectory, then the group ID of the directory is inherited from the parent. TheS_ISGID bit of the new directory is inherited fromthe parent directory.

Ifpath names a symbolic link,mkdir() fails and sets errno toEEXIST.

The newly created directory is empty with the exception of entries foritself (.) and its parent directory (..).

Upon successful completion,mkdir() marks for update thest_atime,st_ctime andst_mtimefields of the directory. Also, thest_ctime andst_mtime fields of thedirectory that contains the new entry are marked for update.

Themkdirat() function is equivalent to themkdir() function except in thecase wherepath specifies a relative path. In this case the newlycreated directory is created relative to the directory associated with the filedescriptorfd instead of the current working directory. If the file descriptorwas opened withoutO_SEARCH, the function checks whether directory searches are permittedusing the current permissions of the directory underlying the file descriptor. Ifthe file descriptor was opened withO_SEARCH, the function does not perform thecheck.

Ifmkdirat() is passed the special valueAT_FDCWD in thefd parameter,the current working directory is used and the behavior is identical toa call tomkdir().

Return Values

Upon successful completion,0 is returned. Otherwise,-1 is returned, no directoryis created, anderrno is set to indicate the error.

Errors

Themkdir() andmkdirat() functions will fail if:

EACCES

Either a component of the path prefix denies search permission or write permission is denied on the parent directory of the directory to be created.

EDQUOT

The directory where the new file entry is being placed cannot be extended because the user's quota of disk blocks on that file system has been exhausted; the new directory cannot be created because the user's quota of disk blocks on that file system has been exhausted; or the user's quota of inodes on the file system where the file is being created has been exhausted.

EEXIST

The named file already exists.

EFAULT

Thepath argument points to an illegal address.

EINVAL

An attempt was made to create an extended attribute that is a directory.

EIO

An I/O error has occurred while accessing the file system.

EILSEQ

The path argument includes non-UTF8 characters and the file system accepts only file names where all characters are part of the UTF-8 character codeset.

ELOOP

Too many symbolic links were encountered in translatingpath, or a loop exists in symbolic links encountered during resolution ofpath

EMLINK

The maximum number of links to the parent directory would be exceeded.

ENAMETOOLONG

The length of thepath argument exceedsPATH_MAX, or the length of apath component exceedsNAME_MAX while_POSIX_NO_TRUNC is in effect.

ENOENT

A component of the path prefix does not exist or is a null pathname.

ENOLINK

Thepath argument points to a remote machine and the link to that machine is no longer active.

ENOSPC

No free space is available on the device containing the directory.

ENOTDIR

A component of the path prefix is not a directory.

EROFS

The path prefix resides on a read-only file system.

Themkdirat() function will fail if:

EBADF

Thepath argument does not specify an absolute path and thefd argument is neitherAT_FDCWD nor a valid file descriptor open for reading.

Themkdir() andmkdirat() functions may fail if:

ELOOP

More than {SYMLOOP_MAX} symbolic links were encountered during resolution of thepath argument.

ENAMETOOLONG

As a result of encountering a symbolic link in resolution of thepath argument, the length of the substituted pathname string exceeded {PATH_MAX}.

Themkdirat() function may fail if:

ENOTDIR

Thepath argument is not an absolute path andfd is neitherAT_FDCWD nor a file descriptor associated with a directory.

Examples

Example 1 Create a directory.

The following example demonstrates how to create a directory named/home/cnd/mod1, withread, write, and search permissions for owner and group, and with readand search permissions for others.

#include <sys/stat.h>int status;...status = mkdir("/home/cnd/mod1",      S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH);

Attributes

Seeattributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
Async-Signal-Safe
Standard

See Also

chmod(2),mknod(2),umask(2),mkdirp(3GEN),stat.h(3HEAD),attributes(5),standards(5)

Copyright © 2011, Oracle and/or its affiliates. All rights reserved.Legal Notices
PreviousNext

[8]ページ先頭

©2009-2025 Movatter.jp