Annotation of cci/usr/src/man/man2/shmctl.2i, revision 1.1.1.1

1.1       root        1: .TH SHMCTL 2
                      2: .SH NAME
                      3: shmctl \- shared memory control operations
                      4: .SH SYNOPSIS
                      5: .B #include <sys/types.h>
                      6: .br
                      7: .B #include <sys/ipc.h>
                      8: .br
                      9: .B #include <sys/shm.h>
                     10: .PP
                     11: .nf
                     12: .B int shmctl (shmid, cmd, buf)
                     13: .B int shmid, cmd;
                     14: .B struct shmid_ds \(**buf;
                     15: .fi
                     16: .SH DESCRIPTION
                     17: .I Shmctl
                     18: provides a variety of shared memory control operations as specified by
                     19: .IR cmd .
                     20: The following
                     21: .IR cmd s
                     22: are available:
                     23: .RS
                     24: .TP \w'IPC_RMID\ \ \ 'u
                     25: .SM
                     26: .B IPC_STAT
                     27: Place the current value of each member of the data structure associated with
                     28: .I shmid
                     29: into the structure pointed to by
                     30: .IR buf .
                     31: The contents of this structure are defined in
                     32: .IR intro (2).
                     33: .SM {READ}
                     34: .TP
                     35: .SM
                     36: .B IPC_SET
                     37: Set the value of the following members of the data structure associated with
                     38: .I shmid
                     39: to the corresponding value found in the structure pointed to by
                     40: .IR buf :
                     41: .nf
                     42: .RS
                     43: shm_perm.uid
                     44: shm_perm.gid
                     45: shm_perm.mode /\(** only low 9 bits \(**/
                     46: .fi
                     47: .RE
                     48: .IP
                     49: This \fIcmd\fP can only be executed by a process that has an effective user
                     50: .SM ID
                     51: equal to either that of super-user or to the value of
                     52: .B shm_perm.uid
                     53: in the data structure associated with
                     54: .IR shmid .
                     55: .TP
                     56: .SM
                     57: .B IPC_RMID
                     58: Remove the shared memory identifier specified by
                     59: .I shmid
                     60: from the system and destroy the shared memory segment and data structure
                     61: associated with it.
                     62: This \fIcmd\fP can only be executed by a process that has an effective user
                     63: .SM ID
                     64: equal to either that of super-user or to the value of
                     65: .B shm_perm.uid
                     66: in the data structure associated with
                     67: .IR shmid .
                     68: .PP
                     69: .I Shmctl
                     70: will fail if one or more of the following are true:
                     71: .TP 15
                     72: .SM
                     73: \%[EINVAL]
                     74: .I Shmid
                     75: is not a valid shared memory identifier.
                     76: .TP
                     77: .SM
                     78: \%[EINVAL]
                     79: .I Cmd
                     80: is not a valid command.
                     81: .TP
                     82: .SM
                     83: \%[EACCES]
                     84: .I Cmd
                     85: is equal to
                     86: .B IPC_STAT
                     87: and
                     88: .SM {READ}
                     89: operation permission is denied to the calling process (see
                     90: .IR intro (2)).
                     91: .TP
                     92: .SM
                     93: \%[EPERM]
                     94: .I Cmd
                     95: is equal to
                     96: .SM
                     97: .B IPC_RMID
                     98: or
                     99: .SM
                    100: .B IPC_SET
                    101: and the effective user
                    102: .SM ID
                    103: of the calling process is not equal to that of super-user and it is
                    104: not equal to the value of
                    105: .B shm_perm.uid
                    106: in the data structure associated with
                    107: .IR shmid .
                    108: .TP
                    109: .SM
                    110: \%[EFAULT]
                    111: .I Buf
                    112: points to an illegal address.
                    113: .SH "RETURN VALUE"
                    114: Upon successful completion, a value of 0 is returned. Otherwise, a
                    115: value of \-1 is returned and
                    116: .I errno\^
                    117: is set to indicate the error.
                    118: .SH SEE ALSO
                    119: intro(2), shmget(2), shmop(2).
                    120: .\"    @(#)shmctl.2    6.2 of 9/6/83

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.