/* gstreamer-dataprotocol-0.10.vapi generated by vapigen, do not modify. */

[CCode (cprefix = "Gst", lower_case_cprefix = "gst_")]
namespace Gst {
	[Compact]
	[CCode (cheader_filename = "gst/dataprotocol/dataprotocol.h")]
	public class DPPacketizer {
		public weak Gst.DPHeaderFromBufferFunction header_from_buffer;
		public weak Gst.DPPacketFromCapsFunction packet_from_caps;
		public weak Gst.DPPacketFromEventFunction packet_from_event;
		public Gst.DPVersion version;
		[CCode (has_construct_function = false)]
		public DPPacketizer (Gst.DPVersion version);
	}
	[CCode (cprefix = "GST_DP_HEADER_FLAG_", has_type_id = false, cheader_filename = "gst/dataprotocol/dataprotocol.h")]
	public enum DPHeaderFlag {
		NONE,
		CRC_HEADER,
		CRC_PAYLOAD,
		CRC
	}
	[CCode (cprefix = "GST_DP_PAYLOAD_", has_type_id = false, cheader_filename = "gst/dataprotocol/dataprotocol.h")]
	public enum DPPayloadType {
		NONE,
		BUFFER,
		CAPS,
		EVENT_NONE
	}
	[CCode (cprefix = "GST_DP_VERSION_", cheader_filename = "gst/dataprotocol/dataprotocol.h")]
	public enum DPVersion {
		@0_2,
		@1_0
	}
	[CCode (cheader_filename = "gst/dataprotocol/dataprotocol.h", has_target = false)]
	public delegate bool DPHeaderFromBufferFunction (Gst.Buffer buffer, Gst.DPHeaderFlag flags, uint length, uchar header);
	[CCode (cheader_filename = "gst/dataprotocol/dataprotocol.h", has_target = false)]
	public delegate bool DPPacketFromCapsFunction (Gst.Caps caps, Gst.DPHeaderFlag flags, uint length, uchar header, uchar payload);
	[CCode (cheader_filename = "gst/dataprotocol/dataprotocol.h", has_target = false)]
	public delegate bool DPPacketFromEventFunction (Gst.Event event, Gst.DPHeaderFlag flags, uint length, uchar header, uchar payload);
	[CCode (cheader_filename = "gst/dataprotocol/dataprotocol.h")]
	public const int DP_HEADER_LENGTH;
	[CCode (cheader_filename = "gst/dataprotocol/dataprotocol.h")]
	public const int DP_VERSION_MAJOR;
	[CCode (cheader_filename = "gst/dataprotocol/dataprotocol.h")]
	public const int DP_VERSION_MINOR;
	[CCode (cheader_filename = "gst/dataprotocol/dataprotocol.h")]
	public static unowned Gst.Buffer dp_buffer_from_header (uint header_length, uchar header);
	[CCode (cheader_filename = "gst/dataprotocol/dataprotocol.h")]
	public static unowned Gst.Caps dp_caps_from_packet (uint header_length, uchar header, uchar payload);
	[CCode (cheader_filename = "gst/dataprotocol/dataprotocol.h")]
	public static uint16 dp_crc (uchar buffer, uint length);
	[CCode (cheader_filename = "gst/dataprotocol/dataprotocol.h")]
	public static unowned Gst.Event dp_event_from_packet (uint header_length, uchar header, uchar payload);
	[CCode (cheader_filename = "gst/dataprotocol/dataprotocol.h")]
	public static bool dp_header_from_buffer (Gst.Buffer buffer, Gst.DPHeaderFlag flags, uint length, uchar header);
	[CCode (cheader_filename = "gst/dataprotocol/dataprotocol.h")]
	public static uint32 dp_header_payload_length (uchar header);
	[CCode (cheader_filename = "gst/dataprotocol/dataprotocol.h")]
	public static Gst.DPPayloadType dp_header_payload_type (uchar header);
	[CCode (cheader_filename = "gst/dataprotocol/dataprotocol.h")]
	public static void dp_init ();
	[CCode (cheader_filename = "gst/dataprotocol/dataprotocol.h")]
	public static bool dp_packet_from_caps (Gst.Caps caps, Gst.DPHeaderFlag flags, uint length, uchar header, uchar payload);
	[CCode (cheader_filename = "gst/dataprotocol/dataprotocol.h")]
	public static bool dp_packet_from_event (Gst.Event event, Gst.DPHeaderFlag flags, uint length, uchar header, uchar payload);
	[CCode (cheader_filename = "gst/dataprotocol/dataprotocol.h")]
	public static bool dp_validate_header (uint header_length, uchar header);
	[CCode (cheader_filename = "gst/dataprotocol/dataprotocol.h")]
	public static bool dp_validate_packet (uint header_length, uchar header, uchar payload);
	[CCode (cheader_filename = "gst/dataprotocol/dataprotocol.h")]
	public static bool dp_validate_payload (uint header_length, uchar header, uchar payload);
}
