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)

msgctl

- message control operations

Synopsis

#include <sys/msg.h>intmsgctl(intmsqid,intcmd,struct msqid_ds *buf);

Description

Themsgctl() function provides a variety of message control operations as specifiedbycmd. The followingcmds are available:

IPC_STAT

Place the current value of each member of the data structure associated withmsqid into the structure pointed to bybuf. The contents of this structure are defined inIntro(2).

IPC_SET

Set the value of the following members of the data structure associated withmsqid to the corresponding value found in the structure pointed to bybuf:

msg_perm.uidmsg_perm.gidmsg_perm.mode /* access permission bits only */msg_qbytes

This command can be executed only by a process that has either the {PRIV_IPC_OWNER} privilege or an effective user ID equal to the value ofmsg_perm.cuid ormsg_perm.uid in the data structure associated withmsqid. Only a process with the {PRIV_SYS_IPC_CONFIG} privilege can raise the value ofmsg_qbytes.

IPC_RMID

Remove the message queue identifier specified bymsqid from the system and destroy the message queue and data structure associated with it. Thiscmd can only be executed by a process that has an effective user ID either with appropriate privileges asserted in the effective set or equal to the value ofmsg_perm.cuid ormsg_perm.uid in the data structure associated withmsqid. Thebuf argument is ignored.

Return Values

Upon successful completion,msgctl() returns0. Otherwise, it returns-1 and setserrno to indicate the error.

Errors

Themsgctl() function will fail if:

EACCES

Thecmd argument isIPC_STAT and operation permission is denied to the calling process (seeIntro(2)).

EFAULT

Thebuf argument points to an illegal address.

EINVAL

Themsqid argument is not a valid message queue identifier; or thecmd argument is not a valid command or isIPC_SET andmsg_perm.uid ormsg_perm.gid is not valid.

EOVERFLOW

Thecmd argument isIPC_STAT anduid orgid is too large to be stored in the structure pointed to bybuf.

EPERM

Thecmd argument isIPC_RMID orIPC_SET, the {PRIV_SYS_IPC_OWNER} privilege is not asserted in the effective set of the calling process, and is not equal to the value ofmsg_perm.cuid ormsg_perm.uid in the data structure associated withmsqid.

Thecmd argument isIPC_SET, an attempt is being made to increase to the value ofmsg_qbytes, and the {PRIV_SYS_IPC_CONFIG} privilege is not asserted in the effective set of the calling process.

Attributes

Seeattributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
Standard

See Also

Intro(2),msgget(2),msgrcv(2),msgsnd(2),attributes(5),privileges(5),standards(5)

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

[8]ページ先頭

©2009-2025 Movatter.jp