#include < sys/types.h > #include < sys/ipc.h > #include < sys/msg.h > int msgget( key_t key, int msgflag )
Toda fila de mensagens necessita de uma identificação única, um número ID, criado pelo Sistema Operacional a partir de uma chave numérica estabelecida pelo programador.
A chamada msgget é utilizada para traduzir uma chave para um número ID. msgget pode também ser usada para criar uma nova fila de mensagens, se assim se desejar e se msflag está setado corretamente. O valor de retorno de msgget é o número ID da fila de mensagens para ser usado em outras chamadas de sistema que manipulam filas de mensagens. Este número ID deve ser guardado, pois é muito importante para poder usar com as chamadas msgrcv e msgsnd. Se msgget falha, o valor -1 será retornado.
Para criar uma fila de mensagens, se ela não existe, ajuste o msflag para IPC_CREAT.
Veja o Experimento #3 para maiores informações sobre filas de mensagens.
Para criar uma fila de mensagem com uma chave de 0x1111:
int msg_key = 0x1111; int msg_id; ... if( (msg_id = msgget(msg_key, IPC_CREAT ) == -1 ) { perror( "msgget" ); }
AIX, Linux, Lynx, SunOS e Solaris
Para maiores informações sobre este comando, consulte a página do manual de seu sistema operacional (comando man).