MAVLink is distributed with a common set of messages. Custom messages can be generated and included as a replacement for the common message set or as extension to it. See the minimal.xml for a minimal example and pixhawk.xml for an example of using the common message set with some project-specific extensions.
Download the generator from here: https://github.com/mavlink/mavlink
To obtain the generator GUI.