next up previous
Next: Como criar um segmento Up: A Função shmget() Previous: A Função shmget()

Estrutura associada a uma memória comum: shmid_ds

Quando um novo segmento de memória é criado, as permissões de acesso definidas pelo parâmetro shmflg são copiadas no membro shm_perm da estrutura shmid_ds que define efetivamente o segmento. A estrutura shmid_ds é mostrada a seguir:

 struct shmid_ds 
      {
        struct    ipc_perm shm_perm;  /* operation permissions */
        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 */
      };

Os campos no membro shm_perm são os seguintes:

 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 */
      };



Celso Alberto Saibel Santos 2000-11-14