/***************************************************
* Creat : 2001. 02. 10 (programed by Cori-Young)
* Site: http://www.byoneself.co.kr
* Update :
***************************************************/
#include <stdio.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/msg.h>
extern void exit();
extern void perror();
main()
{
key_t key;
int msgflg;
int msqid;
(void) fprintf(stderr, "All numeric input is expected to follow C conventions:n");
(void) fprintf(stderr, "t0x... is interpreted as hexadecimal,n");
(void) fprintf(stderr, "t0... is interpreted as octal,n");
(void) fprintf(stderr, "totherwise, decimal.n");
(void) fprintf(stderr, "IPC_PRIVATE == %#lxn", IPC_PRIVATE);
(void) fprintf(stderr, "Enter key: ");
(void) scanf("%li", &key);
(void) fprintf(stderr, "nExpected flags for msgflg argumentare:n");
(void) fprintf(stderr, "tIPC_EXCL =t%#8.8on", IPC_EXCL);
(void) fprintf(stderr, "tIPC_CREAT =t%#8.8on", IPC_CREAT);
(void) fprintf(stderr, "towner read =t%#8.8on", 0400);
(void) fprintf(stderr, "towner write =t%#8.8on", 0200);
(void) fprintf(stderr, "tgroup read =t%#8.8on", 040);
(void) fprintf(stderr, "tgroup write =t%#8.8on", 020);
(void) fprintf(stderr, "tother read =t%#8.8on", 04);
(void) fprintf(stderr, "tother write =t%#8.8on", 02);
(void) fprintf(stderr, "Enter msgflg value: ");
(void) scanf("%i", &msgflg);
(void) fprintf(stderr, "nmsgget: Calling msgget(%#lx,%#o)n", key, msgflg);
if (msqid = msgget(key, msgflg|0666) == -1)
{
perror("msgget: msgget failed");
exit(1);
}
else {
(void) fprintf(stderr,"msgget: msgget succeeded: msqid = %dn", msqid);
exit(0);
}
} |
|