Next: Utilisation des files de Up: Les files de messages Previous: la structure msqid_ds

La structure générique d'un message

La structure suivante est un modèle pour les messages :

struct msgbuf { 
    long mtype;    /* type du message */
    char mtext[1]; /* texte du message */
};
par exemple :
struct msg_buffer {
    long toto; /* type */
    float a;
    char m[7];
};
Attention on ne peut pas échanger des adresses, en effet les adresses virtuelles utilisées par les différents programmes qui échangent des messages sont à priori différentes, de plus les zones de mémoire manipulables par deux processus sont disjointes.

Important : le premier champ doit être un entier long qui contiendra le type du message. On trouvera d'autres structures dans le fichier sys/msg.h, mais elle ne sont pas utilisées par les applications utilisateur.

Par exemple, la structure de file de message :

struct __msg {
    struct __msg        *msg_next; 
    long                msg_type;
    unsigned short int  msg_ts;   /*  taille du texte */
    long                msg_spot; /* "adresse" du texte */
};
ou la structure msginfo utilisé par le noyau.



Dominique REVUZ
Mon Feb 2 12:10:31 MET 1998
Une Bug Un mail Merci