shmget



Liczniki odwiedzin | Księgi gości | Metal Lyrics | Znaczenie imion | Konwerter | Wolne domeny | Informacje o samochodach | Zakupy w UK | | | | | | | wyposażenie warsztatów | Wypoczynek nad jeziorami




NAME

       shmget - allocates a shared memory segment


SYNOPSIS

       #include <sys/ipc.h>

       #include <sys/shm.h>

       int shmget(key_t key, int size, int shmflg);


DESCRIPTION

       shmget()  returns the identifier of the shared memory seg-
       ment associated to the value of the argument key.   A  new
       shared  memory segment, with size equal to the round up of
       size to a multiple of PAGE_SIZE, is  created  if  key  has
       value IPC_PRIVATE or key isn't IPC_PRIVATE, no shared mem-
       ory  segment  is  associated  to  key,  and  IPC_CREAT  is
       asserted  in  shmflg  (i.e.  shmflg&IPC_CREAT isn't zero).
       The presence in

       shmflg is composed of:

       IPC_CREAT   to create a new segment. If this flag  is  not
                   used,  then  shmget()  will  find  the segment
                   associated with key, check to see if the  user
                   has permission to receive the shmid associated
                   with the segment, and ensure  the  segment  is
                   not marked for destruction.

       IPC_EXCL    used  with  IPC_CREAT to ensure failure if the
                   segment exists.

       mode_flags (lowest 9 bits)
                   specifying  the  permissions  granted  to  the
                   owner,  group, and world.  Presently, the exe-
                   cute permissions are not used by the system.

       If a new segment is created, the access  permissions  from
       shmflg are copied into the shm_perm member of the shmid_ds
       structure that defines the segment.  The  shmid_ds  struc-
       ture:

            struct shmid_ds {
                 struct    ipc_perm shm_perm;  /* operation perms */
                 int  shm_segsz;          /* size of segment (bytes) */
                 time_t    shm_atime;          /* last attach time */
                 time_t    shm_dtime;          /* last detach time */
                 time_t    shm_ctime;          /* last change time */
                 unsigned short shm_cpid; /* pid of creator */
                 unsigned short shm_lpid; /* pid of last operator */
                 short     shm_nattch;         /* no. of current attaches */
            };

            struct ipc_perm
            {
              key_t  key;
              ushort uid;   /* owner euid and egid */
              ushort gid;
              ushort cuid;  /* creator euid and egid */
              ushort cgid;
              ushort mode;  /* lower 9 bits of shmflg */
              ushort seq;   /* sequence number */
            };

       Furthermore,  while  creating, the system call initializes
       the system shared memory segment data  structure  shmid_ds
       as follows:

              shm_perm.cuid  and  shm_perm.uid  are  set  to  the
              effective user-ID of the calling process.

              shm_perm.cgid  and  shm_perm.gid  are  set  to  the
              effective group-ID of the calling process.

              The lowest order 9 bits of shm_perm.mode are set to
              the lowest order 9 bit of shmflg.

              shm_segsz is set to the value of size.

              shm_lpid, shm_nattch, shm_atime and  shm_dtime  are
              set to 0.

              shm_ctime is set to the current time.

       If  the  shared  memory segment already exists, the access
       permissions are verified, and a check is made to see if it
       is marked for destruction.



SYSTEM CALLS

       fork()  After  a  fork()  the  child inherits the attached
               shared memory segments.

       exec()  After an exec() all attached  shared  memory  seg-
               ments are detached (not destroyed).

       exit()  Upon  exit()  all  attached shared memory segments
               are detached (not destroyed).



RETURN VALUE

       A valid segment identifier, shmid, is returned on success,
       -1 on error.


ERRORS

       On failure, errno is set to one of the following:

       EINVAL      is returned if SHMMIN > size or size > SHMMAX,
                   or size is greater than size of segment.

       EEXIST      is returned if IPC_CREAT | IPC_EXCL was speci-
                   fied and the segment exists.

       EIDRM       is  returned  if  the  segment  is  marked  as
                   destroyed, or was removed.

       ENOSPC      is returned if all possible shared memory id's
                   have  been  taken  (SHMMNI) or if allocating a
                   segment of the requested size would cause  the
                   system  to  exceed  the  system-wide  limit on
                   shared memory (SHMALL).

       ENOENT      is returned if no segment exists for the given
                   key, and IPC_CREAT was not specified.

       EACCES      is  returned if the user does not have permis-
                   sion to access the shared memory segment.

       ENOMEM      is returned if no memory  could  be  allocated
                   for segment overhead.


NOTES

       IPC_PRIVATE  isn't a flag field but a key_t type.  If this
       special value is used for key,  the  system  call  ignores
       everything  but the lowest order 9 bits of shmflg and cre-
       ates a new shared memory segment (on success).

       The  followings  are  limits  on  shared  memory   segment
       resources affecting a shmget call:

       SHMALL     System  wide  maximum  of  shared memory pages:
                  policy dependent.

       SHMMAX     Maximum size in bytes for a shared memory  seg-
                  ment:  implementation dependent (currently 4M).

       SHMMIN     Minimum size in bytes for a shared memory  seg-
                  ment:  implementation  dependent  (currently  1
                  byte, though PAGE_SIZE is the effective minimum
                  size).

       SHMMNI     System  wide  maximum  number  of shared memory
                  segments: implementation  dependent  (currently
                  4096).

       The implementation has no specific limits for the per pro-
       cess maximum number of shared memory segments (SHMSEG).


BUGS

       Use of IPC_PRIVATE don't inhibits to other  processes  the
       access to the allocated shared memory segment.

       As  for the files, there is currently no intrinsic way for
       a process to ensure exclusive access to  a  shared  memory
       segment.   Asserting both IPC_CREAT and IPC_EXCL in shmflg
       only ensures (on success) that a new shared memory segment
       will  be created, it doesn't imply exclusive access to the
       segment.


SEE ALSO

       ftok(3), ipc(5), shmctl(2), shmat(2), shmdt(2).

  Księgarnia

- Oferta księgarni Mentis
- Oferta księgarni Onepress
- Linux Manual (english)
- Konstytucje
- Kręgosłup, bóle karku
- Elektroniczne książki
- Prasa elektroniczna
- Gry RPG, figurki
- darmowy słownik on-line
- jubiler - biżuteria
- polityka prywatności





Linux - Welsh Matt, Dalheimer Matthias Kalle, Kaufman Lar Linux
Autor: Welsh Matt, Dalheimer Matthias Kalle, Kaufman Lar
Cena: 85.44
Rok wydania: 2000
Wydawnictwo: Read Me
Ilość stron: 700
Linux - bezpieczeństwo serwerów - Michael D.Bauer Linux - bezpieczeństwo serwerów
Autor: Michael D.Bauer
Cena: 58.88
Rok wydania: 2003
Wydawnictwo: Read Me
Ilość stron: 488
Linux kernel - Daniel P. Bovet, Marco Cesati Linux kernel
Autor: Daniel P. Bovet, Marco Cesati
Cena: 85.44
Rok wydania: 2001
Wydawnictwo: Read Me
Ilość stron: 634
Linux. Programowanie dla zaawansowanych - Mark Mitchell. Jeffrey Oldham, Alex Samuel Linux. Programowanie dla zaawansowanych
Autor: Mark Mitchell. Jeffrey Oldham, Alex Samuel
Cena: 42.32
Rok wydania: 2002
Wydawnictwo: Read Me
Ilość stron: 300
Linux: Systemy plików - Moshe Bar Linux: Systemy plików
Autor: Moshe Bar
Cena: 51.52
Rok wydania: 2002
Wydawnictwo: Read Me
Ilość stron: 332
Linux. Archiwizacja danych - Leszek Madeja Linux. Archiwizacja danych
Autor: Leszek Madeja
Cena: 17.60
Rok wydania: 2003
Wydawnictwo: Mikom
Ilość stron:
Linux i galanteria SCSI - Leszek Madeja Linux i galanteria SCSI
Autor: Leszek Madeja
Cena: 10.80
Rok wydania: 2003
Wydawnictwo: Mikom
Ilość stron: 88
Bezpieczeństwo systemu Linux - Ramón J. Honta&ntilde;ón Bezpieczeństwo systemu Linux
Autor: Ramón J. Honta&ntilde;ón
Cena: 44.62
Rok wydania: 2002
Wydawnictwo: Mikom
Ilość stron: 464
Korzystanie z drukarki. Ćwiczenia z systemu Linux - Leszek Madeja Korzystanie z drukarki. Ćwiczenia z systemu Linux
Autor: Leszek Madeja
Cena: 16.80
Rok wydania: 2000
Wydawnictwo: Mikom
Ilość stron: 192
Korzystanie z pomocy. Ćwiczenia z systemu Linux - Leszek Madeja Korzystanie z pomocy. Ćwiczenia z systemu Linux
Autor: Leszek Madeja
Cena: 15.40
Rok wydania: 2000
Wydawnictwo: Mikom
Ilość stron: 152
Linux - książka kucharska - Michael Stutz Linux - książka kucharska
Autor: Michael Stutz
Cena: 47.84
Rok wydania: 2002
Wydawnictwo: Mikom
Ilość stron: 488
Linux. Gniazda w programowaniu - Woren W. Gay Linux. Gniazda w programowaniu
Autor: Woren W. Gay
Cena: 47.29
Rok wydania: 2001
Wydawnictwo: Mikom
Ilość stron: 552
LINUX. Rozwiązywanie problemów - Brian Ward LINUX. Rozwiązywanie problemów
Autor: Brian Ward
Cena: 33.92
Rok wydania: 2001
Wydawnictwo: Mikom
Ilość stron: 312
Midnight Commander. Ćwiczenia z systemu Linux - Leszek Madeja Midnight Commander. Ćwiczenia z systemu Linux
Autor: Leszek Madeja
Cena: 23.80
Rok wydania: 2000
Wydawnictwo: Mikom
Ilość stron: 272
Red Hat Linux 6.2 same konkrety - Bob Rankin Red Hat Linux 6.2 same konkrety
Autor: Bob Rankin
Cena: 39.74
Rok wydania: 2000
Wydawnictwo: Mikom
Ilość stron: 372
Caldera Linux 2.3 dla każdego - Bill Ball Caldera Linux 2.3 dla każdego
Autor: Bill Ball
Cena: 49.00
Rok wydania: 2000
Wydawnictwo: Helion
Ilość stron: 400
Linux. Praktyczne rozwiązania - Adam Podstawczyński Linux. Praktyczne rozwiązania
Autor: Adam Podstawczyński
Cena: 35.00
Rok wydania: 2000
Wydawnictwo: Helion
Ilość stron: 248
Red Hat Linux 7.3. Księga eksperta - Bill Ball Red Hat Linux 7.3. Księga eksperta
Autor: Bill Ball
Cena: 110.00
Rok wydania: 2002
Wydawnictwo: Helion
Ilość stron: 752
Linux w sieci - Adam Podstawczyński Linux w sieci
Autor: Adam Podstawczyński
Cena: 39.00
Rok wydania: 2002
Wydawnictwo: Helion
Ilość stron: 224
Red Hat Linux 7.2. Ćwiczenia praktyczne - Jerzy Marczyński Red Hat Linux 7.2. Ćwiczenia praktyczne
Autor: Jerzy Marczyński
Cena: 18.00
Rok wydania: 2002
Wydawnictwo: Helion
Ilość stron: 176






ksiegarnia.pila.pl exists since 2005 year.
Provided by: Przemysław Krajniak, PHP Scripts