http://qs321.pair.com?node_id=773889


in reply to Key for message queue creation...

first of all give some more clarity to us about your question

having said that I assumed the below things
I think you are talking about ftok
from this I understood it.

"Are you the Key Master?" What about this key nonsense? How do we create one? Well, since the ty +pe key_t is actually just a long, you can use any number you want. Bu +t what if you hard-code the number and some other unrelated program h +ardcodes the same number but wants another queue? The solution is to +use the ftok() function which generates a key from two arguments: key_t ftok(const char *path, int id); Ok, this is getting weird. Basically, path just has to be a file that +this process can read. The other argument, id is usually just set to +some arbitrary char, like 'A'. The ftok() function uses information a +bout the named file (like inode number, etc.) and the id to generate +a probably-unique key for msgget(). Programs that want to use the sam +e queue must generate the same key, so they must pass the same parame +ters to ftok(). Finally, it's time to make the call: #include <sys/msg.h> key = ftok("/home/beej/somefile", 'b'); msqid = msgget(key, 0666 | IPC_CREAT); In the above example, I set the permissions on the queue to 666 (or rw +-rw-rw-, if that makes more sense to you). And now we have msqid whic +h will be used to send and receive messages from the queue.
at the same time IPC::SysV has the function ftok, which you can try and use.


Vivek
-- 'I' am not the body, 'I' am the 'soul', which has no beginning or no end, no attachment or no aversion, nothing to attain or lose.