Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
shmctl(2)		      System Calls Manual		     shmctl(2)

NAME
       shmctl()	- shared memory	control	operations

SYNOPSIS
DESCRIPTION
       The  system call	provides a variety of shared memory control operations
       as specified by the cmd argument.  cmd can have the following values:

	      Place the	current	value of each member of	the data structure as-
	      sociated with
			     shmid  into the structure pointed to by buf.  The
			     contents of this structure	are defined  in	 glos-
			     sary(9).

	      Set the value of the following members of	the data structure as-
	      sociated with
			     shmid to the corresponding	 value	found  in  the
			     structure pointed to by buf:

				       shm_perm.uid
				       shm_perm.gid
				       shm_perm.mode  /* only low 9 bits */

			     This  cmd	can only be executed by	a process that
			     has an effective user ID equal to either that  of
			     a	user  having  appropriate privileges or	to the
			     value of either or	in the data structure  associ-
			     ated with shmid.

	      Remove the shared	memory identifier specified by
			     shmid from	the system and destroy the shared mem-
			     ory segment and data  structure  associated  with
			     it.   If  the  segment is attached	to one or more
			     processes,	then the segment key is	changed	to and
			     the  segment is marked removed.  The segment dis-
			     appears when the last attached  process  detaches
			     it.   This	 cmd can only be executed by a process
			     that has an effective user	 ID  equal  to	either
			     that  of a	user with appropriate privileges or to
			     the value of either or in the data	structure  as-
			     sociated with shmid.

	      Lock the shared memory segment specified by
			     shmid  in	memory.	 This cmd can only be executed
			     by	a process that either has an effective user ID
			     equal to that of a	user having appropriate	privi-
			     leges or has an effective user ID	equal  to  the
			     value  of either or in the	data structure associ-
			     ated with shmid and has the privilege  (see  get-
			     privgrp(2)).

	      Unlock the shared	memory segment specified by
			     shmid.   This  cmd	 can  only  be	executed  by a
			     process that either  has  an  effective  user  ID
			     equal  to a user having appropriate privileges or
			     has an effective user ID equal to	the  value  of
			     either  or	 in the	data structure associated with
			     shmid and has the privilege (see getprivgrp(2)).

RETURN VALUE
       returns the following values:

	      Successful completion.
	      Failure.
		     is	set to indicate	the error.

ERRORS
       If fails, is set	to one of the following	values.

	      [EACCES]	     cmd is equal to and Read operation	permission  is
			     denied  to	 the  calling  process	(see  in glos-
			     sary(9)).

	      [EFAULT]	     buf points	to an illegal address.	 The  reliable
			     detection	of this	error is implementation	depen-
			     dent.

	      [EINVAL]	     cmd is equal to  and  the	shared-memory  segment
			     specified by shmid	is not locked in memory.

	      [EINVAL]	     shmid is not a valid shared memory	identifier.

	      [EINVAL]	     cmd  is  not a valid command, or the command con-
			     tains invalid parameters.

	      [ENOMEM]	     cmd is equal to and there is not sufficient lock-
			     able memory to fill the request.

	      [EPERM]	     cmd  is  equal to or and the effective user ID of
			     the calling process is not	equal  to  that	 of  a
			     user  having appropriate privileges and it	is not
			     equal to the value	 of  either  or	 in  the  data
			     structure associated with shmid.

	      [EPERM]	     cmd  is  equal to or and the effective user ID of
			     the calling process is not	equal  to  that	 of  a
			     user  having appropriate privileges and the call-
			     ing process does not have the privilege (see get-
			     privgrp(2)).

EXAMPLES
       The  following call to locks in memory the shared memory	segment	repre-
       sented by This example assumes the process has a	valid shmid, which can
       be obtained by calling shmget(2).

       The  following call to removes the shared memory	segment	represented by
       This example assumes the	process	has a valid shmid, which  can  be  ob-
       tained by calling (see shmget(2).

AUTHOR
       was developed by	AT&T and HP.

SEE ALSO
       ipcrm(1), ipcs(1), shmget(2), shmop(2), stdipc(3C).

STANDARDS CONFORMANCE
								     shmctl(2)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | EXAMPLES | AUTHOR | SEE ALSO | STANDARDS CONFORMANCE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=shmctl&sektion=2&manpath=HP-UX+11.22>

home | help