next up previous
Next: Função msgget() Up: As Filas de Mensagens Previous: Princípio

Estrutura associada às mensagens: msqid_ds

Cada fila de mensagens é associada a um identificador denominado msqid. Esta fila tem também uma estrutura de dados associada (definida no arquivo <sys/msg.h>) que tem o seguinte formato:

/* Structure of record for one message inside the kernel.
   The type `struct msg' is opaque.  */
struct msqid_ds
{
  struct ipc_perm msg_perm;     /* structure describing operation permission */
  struct msg *__msg_first;      /* pointer to first message on queue */
  struct msg *__msg_last;       /* pointer to last message on queue */
  __time_t msg_stime;           /* time of last msgsnd command */
  __time_t msg_rtime;           /* time of last msgrcv command */
  __time_t msg_ctime;           /* time of last change */
  struct wait_queue *__wwait;   /* ??? */
  struct wait_queue *__rwait;   /* ??? */
  unsigned short int __msg_cbytes;/* current number of bytes on queue */
  unsigned short int msg_qnum;  /* number of messages currently on queue */
  unsigned short int msg_qbytes;/* max number of bytes allowed on queue */
  __ipc_pid_t msg_lspid;        /* pid of last msgsnd() */
  __ipc_pid_t msg_lrpid;        /* pid of last msgrcv() */
};



Celso Alberto Saibel Santos 2000-11-14