The 9 variants have these members:
m1: m1_i1 m1_i2 m1_i3 m1_p1 m1_p2 m1_p3 m2: m2_i1 m2_i2 m2_i3 m2_l1 m2_l2 m2_p1 m2_s1 m3: m3_i1 m3_i2 m3_p1 m3_ca1 m4: m4_l1 m4_l2 m4_l3 m4_l4 m4_l5 m5: m5_c1 m5_c2 m5_i1 m5_i2 m5_l1 m5_l2 m5_l3 m6: m6_l1 m6_l2 m6_l3 m6_s1 m6_s2 m6_s3 m6_c1 m6_c2 m6_p1 m6_p2 m7: m7_i1 m7_i2 m7_i3 m7_i4 m7_p1 m7_p2 m8: m8_i1 m8_i2 m8_p1 m8_p2 m8_p3 m8_p4 m9: m9_l1 m9_l2 m9_l3 m9_l4 m9_l5 m9_s1 m9_s2 m9_s3 m9_c1 m9_c2
where the type of each member is indicated by the letter(s) following the dash _:
m?_letter? | type |
---|---|
c | char |
s | short |
i | int |
l | long |
p | char * |
ca | char [14] |
Message structures are defined in the header file
/usr/src/include/minix/ipc.h
which also contains the #define's to shorten the names for accessing the members of the different structs in the message union.