[vala] vapi: Add missing has_type_id = false in non-GObject bindings.



commit 70c5fa5ff66af32c8c1d8daeee8726781f18522f
Author: Evan Nemerson <evan coeus-group com>
Date:   Sat Oct 5 12:21:23 2013 -0700

    vapi: Add missing has_type_id = false in non-GObject bindings.

 vapi/avahi-client.vapi |    8 +-
 vapi/bzlib.vapi        |    6 +-
 vapi/cairo.vapi        |   62 +++++++-------
 vapi/curses.vapi       |   14 +++-
 vapi/fuse.vapi         |    8 +-
 vapi/gnutls.vapi       |   74 ++++++++--------
 vapi/gsl.vapi          |  101 +++++++++++-----------
 vapi/libarchive.vapi   |    8 +-
 vapi/libdaemon.vapi    |    6 +-
 vapi/libesmtp.vapi     |   26 +++---
 vapi/libftdi.vapi      |   18 ++--
 vapi/libgvc.vapi       |    4 +-
 vapi/libmagic.vapi     |    2 +-
 vapi/libnl-2.0.vapi    |   12 ++--
 vapi/libnl-3.0.vapi    |   12 ++--
 vapi/libpq.vapi        |   16 ++--
 vapi/libusb-1.0.vapi   |   34 ++++----
 vapi/libusb.vapi       |   22 +++---
 vapi/lua.vapi          |   14 ++--
 vapi/mysql.vapi        |    4 +-
 vapi/orc-0.4.vapi      |    3 +-
 vapi/pixman-1.vapi     |    4 +-
 vapi/posix.vapi        |   88 ++++++++++----------
 vapi/raptor.vapi       |    1 +
 vapi/rasqal.vapi       |    5 +-
 vapi/readline.vapi     |   14 ++--
 vapi/sdl-gfx.vapi      |    2 +-
 vapi/sdl-image.vapi    |    2 +-
 vapi/sdl-mixer.vapi    |    8 +-
 vapi/sdl-ttf.vapi      |    2 +-
 vapi/sdl.vapi          |   42 +++++-----
 vapi/taglib_c.vapi     |    4 +-
 vapi/tiff.vapi         |   40 +++++-----
 vapi/tokyocabinet.vapi |   14 ++--
 vapi/v4l2.vapi         |  218 ++++++++++++++++++++++++------------------------
 vapi/x11.vapi          |  104 ++++++++++++------------
 vapi/xcb.vapi          |   22 +++---
 vapi/zlib.vapi         |   22 +++---
 38 files changed, 531 insertions(+), 515 deletions(-)
---
diff --git a/vapi/avahi-client.vapi b/vapi/avahi-client.vapi
index 467a1f3..24a7c50 100644
--- a/vapi/avahi-client.vapi
+++ b/vapi/avahi-client.vapi
@@ -29,7 +29,7 @@ namespace Avahi {
     /* Network addresses */
 
        [SimpleType]
-       [CCode(cheader_filename="avahi-common/address.h", cname="AvahiProtocol", cprefix="AVAHI_PROTO_", 
lower_case_cprefix="avahi_proto_")]
+       [CCode(cheader_filename="avahi-common/address.h", cname="AvahiProtocol", cprefix="AVAHI_PROTO_", 
lower_case_cprefix="avahi_proto_", has_type_id = false)]
        public enum Protocol {
                INET,
                INET6,
@@ -46,7 +46,7 @@ namespace Avahi {
        }
 
        [SimpleType]
-       [CCode(cheader_filename="avahi-common/address.h", cname="AvahiIfIndex")]
+       [CCode(cheader_filename="avahi-common/address.h", cname="AvahiIfIndex", has_type_id = false)]
        public struct Interface {
                [CCode(cname="AVAHI_IF_UNSPEC")]
                public static Interface UNSPEC;
@@ -55,7 +55,7 @@ namespace Avahi {
                public bool is_valid();
        }
 
-       [CCode(cheader_filename="avahi-common/address.h", cname="AvahiAddress", cprefix="avahi_address_")]
+       [CCode(cheader_filename="avahi-common/address.h", cname="AvahiAddress", cprefix="avahi_address_", 
has_type_id = false)]
        public struct Address {
                public Protocol proto;
 
@@ -253,7 +253,7 @@ namespace Avahi {
        /* Entry group */
 
        [Flags]
-       [CCode(cheader_filename="avahi-common/defs.h", cname="AvahiPublishFlags", cfrefix="AVAHI_PUBLISH_")]
+       [CCode(cheader_filename="avahi-common/defs.h", cname="AvahiPublishFlags", cfrefix="AVAHI_PUBLISH_", 
has_type_id = false)]
        public enum PublishFlags {
                UNIQUE,
                NO_PROBE,
diff --git a/vapi/bzlib.vapi b/vapi/bzlib.vapi
index f626cea..844442d 100644
--- a/vapi/bzlib.vapi
+++ b/vapi/bzlib.vapi
@@ -22,14 +22,14 @@
 
 [CCode (cheader_filename = "bzlib.h")]
 namespace BZLib {
-       [CCode (cname = "int", cprefix = "BZ_")]
+       [CCode (cname = "int", cprefix = "BZ_", has_type_id = false)]
        public enum Action {
                RUN,
                FLUSH,
                FINISH
        }
 
-       [CCode (cname = "int", cprefix = "BZ_")]
+       [CCode (cname = "int", cprefix = "BZ_", has_type_id = false)]
        public enum Status {
                OK,
                RUN_OK,
@@ -46,7 +46,7 @@ namespace BZLib {
                CONFIG_ERROR
        }
 
-       [CCode (cname = "bz_stream")]
+       [CCode (cname = "bz_stream", has_type_id = false)]
        public struct Stream {
                public string next_in;
                public uint avail_in;
diff --git a/vapi/cairo.vapi b/vapi/cairo.vapi
index d433f4e..0f589bf 100644
--- a/vapi/cairo.vapi
+++ b/vapi/cairo.vapi
@@ -164,7 +164,7 @@ namespace Cairo {
                public uint get_reference_count ();
        }
 
-       [CCode (cname = "cairo_antialias_t")]
+       [CCode (cname = "cairo_antialias_t", has_type_id = false)]
        public enum Antialias {
                DEFAULT,
                NONE,
@@ -172,27 +172,27 @@ namespace Cairo {
                SUBPIXEL
        }
 
-       [CCode (cname = "cairo_fill_rule_t")]
+       [CCode (cname = "cairo_fill_rule_t", has_type_id = false)]
        public enum FillRule {
                WINDING,
                EVEN_ODD
        }
 
-       [CCode (cname = "cairo_line_cap_t")]
+       [CCode (cname = "cairo_line_cap_t", has_type_id = false)]
        public enum LineCap {
                BUTT,
                ROUND,
                SQUARE
        }
 
-       [CCode (cname = "cairo_line_join_t")]
+       [CCode (cname = "cairo_line_join_t", has_type_id = false)]
        public enum LineJoin {
                MITER,
                ROUND,
                BEVEL
        }
 
-       [CCode (cname = "cairo_operator_t")]
+       [CCode (cname = "cairo_operator_t", has_type_id = false)]
        public enum Operator {
                CLEAR,
                SOURCE,
@@ -234,23 +234,25 @@ namespace Cairo {
                public int num_data;
        }
 
-       [CCode (cname = "cairo_path_data_t")]
+       [CCode (cname = "cairo_path_data_t", has_type_id = false)]
        public struct PathData {
                public PathDataHeader header;
                public PathDataPoint point;
        }
 
+       [CCode (cname = "struct { cairo_path_data_type_t type; int length; }", has_type_id = false)]
        public struct PathDataHeader {
                public PathDataType type;
                public int length;
        }
 
+       [CCode (cname = "struct { double x, y; }", has_type_id = false)]
        public struct PathDataPoint {
                public double x;
                public double y;
        }
 
-       [CCode (cprefix = "CAIRO_PATH_", cname = "cairo_path_data_type_t")]
+       [CCode (cprefix = "CAIRO_PATH_", cname = "cairo_path_data_type_t", has_type_id = false)]
        public enum PathDataType {
                MOVE_TO,
                LINE_TO,
@@ -342,7 +344,7 @@ namespace Cairo {
                public RasterSourceFinishFunc get_finish ();
        }
 
-       [CCode (cname = "cairo_extend_t")]
+       [CCode (cname = "cairo_extend_t", has_type_id = false)]
        public enum Extend {
                NONE,
                REPEAT,
@@ -350,7 +352,7 @@ namespace Cairo {
                PAD
        }
 
-       [CCode (cname = "cairo_filter_t")]
+       [CCode (cname = "cairo_filter_t", has_type_id = false)]
        public enum Filter {
                FAST,
                GOOD,
@@ -360,7 +362,7 @@ namespace Cairo {
                GAUSSIAN
        }
 
-       [CCode (cname = "cairo_pattern_type_t")]
+       [CCode (cname = "cairo_pattern_type_t", has_type_id = false)]
        public enum PatternType {
                SOLID,
                SURFACE,
@@ -397,28 +399,28 @@ namespace Cairo {
                public Status xor_rectangle (RectangleInt rectangle);
        }
 
-       [CCode (cname = "cairo_region_overlap_t")]
+       [CCode (cname = "cairo_region_overlap_t", has_type_id = false)]
        public enum RegionOverlap {
                IN,
                OUT,
                PART
        }
 
-       [CCode (cname = "cairo_glyph_t")]
+       [CCode (cname = "cairo_glyph_t", has_type_id = false)]
        public struct Glyph {
                ulong index;
                double x;
                double y;
        }
 
-       [CCode (cname = "cairo_font_slant_t")]
+       [CCode (cname = "cairo_font_slant_t", has_type_id = false)]
        public enum FontSlant {
                NORMAL,
                ITALIC,
                OBLIQUE
        }
 
-       [CCode (cname = "cairo_font_weight_t")]
+       [CCode (cname = "cairo_font_weight_t", has_type_id = false)]
        public enum FontWeight {
                NORMAL,
                BOLD
@@ -467,7 +469,7 @@ namespace Cairo {
                public UserScaledFontUnicodeToGlyphFunc get_unicode_to_glyph_func ();
        }
 
-       [CCode (cname = "cairo_font_type_t")]
+       [CCode (cname = "cairo_font_type_t", has_type_id = false)]
        public enum FontType {
                TOY,
                FT,
@@ -506,7 +508,7 @@ namespace Cairo {
        public class UserScaledFont {
        }
 
-       [CCode (cname = "cairo_font_extents_t")]
+       [CCode (cname = "cairo_font_extents_t", has_type_id = false)]
        public struct FontExtents {
                public double ascent;
                public double descent;
@@ -515,18 +517,18 @@ namespace Cairo {
                public double max_y_advance;
        }
 
-       [CCode (cname = "cairo_text_cluster_t")]
+       [CCode (cname = "cairo_text_cluster_t", has_type_id = false)]
        public struct TextCluster {
                public int num_bytes;
                public int num_glyphs;
        }
 
-       [CCode (cname = "cairo_text_cluster_flags_t", cprefix = "CAIRO_TEXT_CLUSTER_FLAG_")]
+       [CCode (cname = "cairo_text_cluster_flags_t", cprefix = "CAIRO_TEXT_CLUSTER_FLAG_", has_type_id = 
false)]
        public enum TextClusterFlags {
                BACKWARD
        }
 
-       [CCode (cname = "cairo_text_extents_t")]
+       [CCode (cname = "cairo_text_extents_t", has_type_id = false)]
        public struct TextExtents {
                public double x_bearing;
                public double y_bearing;
@@ -555,7 +557,7 @@ namespace Cairo {
                public HintMetrics get_hint_metrics ();
        }
 
-       [CCode (cname = "cairo_subpixel_order_t")]
+       [CCode (cname = "cairo_subpixel_order_t", has_type_id = false)]
        public enum SubpixelOrder {
                DEFAULT,
                RGB,
@@ -564,7 +566,7 @@ namespace Cairo {
                VBGR
        }
 
-       [CCode (cname = "cairo_hint_style_t")]
+       [CCode (cname = "cairo_hint_style_t", has_type_id = false)]
        public enum HintStyle {
                DEFAULT,
                NONE,
@@ -573,14 +575,14 @@ namespace Cairo {
                FULL
        }
 
-       [CCode (cname = "cairo_hint_metrics_t")]
+       [CCode (cname = "cairo_hint_metrics_t", has_type_id = false)]
        public enum HintMetrics {
                DEFAULT,
                OFF,
                ON
        }
 
-       [CCode (cname = "cairo_device_type_t")]
+       [CCode (cname = "cairo_device_type_t", has_type_id = false)]
        public enum DeviceType {
                DRM,
                GL,
@@ -655,14 +657,14 @@ namespace Cairo {
                public Surface? win32_get_image ();
        }
 
-       [CCode (cname = "cairo_content_t")]
+       [CCode (cname = "cairo_content_t", has_type_id = false)]
        public enum Content {
                COLOR,
                ALPHA,
                COLOR_ALPHA
        }
 
-       [CCode (cname = "cairo_surface_type_t")]
+       [CCode (cname = "cairo_surface_type_t", has_type_id = false)]
        public enum SurfaceType {
                IMAGE,
                PDF,
@@ -677,7 +679,7 @@ namespace Cairo {
                SVG
        }
 
-       [CCode (cname = "cairo_format_t")]
+       [CCode (cname = "cairo_format_t", has_type_id = false)]
        public enum Format {
                ARGB32,
                RGB24,
@@ -769,7 +771,7 @@ namespace Cairo {
                public void restrict_to_version (SvgVersion version);
        }
 
-       [CCode (cname = "cairo_svg_version_t", cprefix = "CAIRO_SVG_")]
+       [CCode (cname = "cairo_svg_version_t", cprefix = "CAIRO_SVG_", has_type_id = false)]
        public enum SvgVersion {
                VERSION_1_1,
                VERSION_1_2;
@@ -779,7 +781,7 @@ namespace Cairo {
                public static void get_versions (out unowned SvgVersion[] versions);
        }
 
-       [CCode (cname = "cairo_pdf_version_t", cprefix = "CAIRO_PDF_")]
+       [CCode (cname = "cairo_pdf_version_t", cprefix = "CAIRO_PDF_", has_type_id = false)]
        public enum PdfVersion {
                VERSION_1_4,
                VERSION_1_5;
@@ -789,7 +791,7 @@ namespace Cairo {
                public static void get_versions (out unowned PdfVersion[] versions);
        }
 
-       [CCode (cname = "cairo_ps_level_t", cprefix = "CAIRO_PS_")]
+       [CCode (cname = "cairo_ps_level_t", cprefix = "CAIRO_PS_", has_type_id = false)]
        public enum PsLevel {
                LEVEL_2,
                LEVEL_3;
@@ -864,7 +866,7 @@ namespace Cairo {
                public Rectangle[] rectangles;
        }
 
-       [CCode (cname = "cairo_status_t")]
+       [CCode (cname = "cairo_status_t", has_type_id = false)]
        public enum Status {
                SUCCESS,
                NO_MEMORY,
diff --git a/vapi/curses.vapi b/vapi/curses.vapi
index ce8b17a..6dcc78e 100644
--- a/vapi/curses.vapi
+++ b/vapi/curses.vapi
@@ -44,6 +44,7 @@ namespace Curses {
                public const Curses.Color WHITE;
        }
 
+       [CCode (has_type_id = false)]
        public enum Acs {
                ULCORNER, LLCORNER, URCORNER, LRCORNER, LTEE, RTEE,
                BTEE, TTEE, HLINE, VLINE, PLUS, S1, S9, DIAMOND,
@@ -433,13 +434,14 @@ namespace Curses {
        public int vidputs(ulong attrs, VidputsPutcFunc putc);
        public int vline(ulong ch, int n);
 
-       [CCode (cprefix = "A_")]
+       [CCode (cprefix = "A_", has_type_id = false)]
        public enum Attribute {
                NORMAL, ATTRIBUTES, CHARTEXT, COLOR, STANDOUT,
                UNDERLINE, REVERSE, BLINK, DIM, BOLD, ALTCHARSET, INVIS,
                PROTECT, HORIZONTAL, LEFT, LOW, RIGHT, TOP, VERTICAL
        }
 
+       [CCode (has_type_id = false)]
        public enum Key {
                CODE_YES, MIN, BREAK, SRESET, RESET, DOWN, UP, LEFT,
                RIGHT, HOME, BACKSPACE, F0, /* XXX F(n), */ DL, IL, DC,
@@ -457,7 +459,7 @@ namespace Curses {
        }
 
        /* TODO: mouse + wide char support */
-       [CCode (cname="MEVENT")]
+       [CCode (cname="MEVENT", has_type_id = false)]
        public struct MouseEvent {
                short id;
                int x;
@@ -466,18 +468,20 @@ namespace Curses {
                long bstate;
        }
 
-       [CCode (cprefix="")]
+       [CCode (cprefix="", has_type_id = false)]
        public enum MouseMask {
                ALL_MOUSE_EVENTS,
                REPORT_MOUSE_POSITION
        }
 
+       [CCode (has_type_id = false)]
        public enum Button {
                SHIFT,
                CTRL,
                ALT,
        }
 
+       [CCode (has_type_id = false)]
        public enum Button1 {
                PRESSED,
                RELEASED,
@@ -486,6 +490,7 @@ namespace Curses {
                TRIPLE_CLICKED
        }
 
+       [CCode (has_type_id = false)]
        public enum Button2 {
                PRESSED,
                RELEASED,
@@ -494,6 +499,7 @@ namespace Curses {
                TRIPLE_CLICKED
        }
 
+       [CCode (has_type_id = false)]
        public enum Button3 {
                PRESSED,
                RELEASED,
@@ -502,6 +508,7 @@ namespace Curses {
                TRIPLE_CLICKED
        }
 
+       [CCode (has_type_id = false)]
        public enum Button4 {
                PRESSED,
                RELEASED,
@@ -510,6 +517,7 @@ namespace Curses {
                TRIPLE_CLICKED
        }
 
+       [CCode (has_type_id = false)]
        public enum Button5 {
                PRESSED,
                RELEASED,
diff --git a/vapi/fuse.vapi b/vapi/fuse.vapi
index e4984c2..d2c4b6c 100644
--- a/vapi/fuse.vapi
+++ b/vapi/fuse.vapi
@@ -22,7 +22,7 @@
 
 [CCode (cprefix = "fuse_", cheader_filename = "fuse/fuse.h")]
 namespace Fuse {
-       [CCode (cname = "struct fuse_file_info")]
+       [CCode (cname = "struct fuse_file_info", has_type_id = false)]
        public struct FileInfo {
                public int flags;
                public ulong fh_old;
@@ -35,11 +35,11 @@ namespace Fuse {
                public uint64 lock_owner;
        }
 
-       [CCode (cname = "struct fuse")]
+       [CCode (cname = "struct fuse", has_type_id = false)]
        public struct Fuse {
        }
 
-       [CCode (cname = "struct fuse_context")]
+       [CCode (cname = "struct fuse_context", has_type_id = false)]
        public struct Context {
                Fuse fuse;
                Posix.uid_t uid;
@@ -105,7 +105,7 @@ namespace Fuse {
        [CCode (has_target = false)]
        public delegate int RemoveXAttr (string path, string name);
 
-       [CCode (cname = "struct fuse_operations")]
+       [CCode (cname = "struct fuse_operations", has_type_id = false)]
        public struct Operations {
                public GetAttr getattr;
                public Access access;
diff --git a/vapi/gnutls.vapi b/vapi/gnutls.vapi
index 97a6977..67b77c5 100644
--- a/vapi/gnutls.vapi
+++ b/vapi/gnutls.vapi
@@ -41,7 +41,7 @@ namespace GnuTLS
 
        public unowned string? check_version (string? req_version);
 
-       [CCode (cname = "gnutls_cipher_algorithm_t", cprefix = "GNUTLS_CIPHER_")]
+       [CCode (cname = "gnutls_cipher_algorithm_t", cprefix = "GNUTLS_CIPHER_", has_type_id = false)]
        public enum CipherAlgorithm {
                UNKNOWN,
                NULL,
@@ -70,7 +70,7 @@ namespace GnuTLS
                public static unowned CipherAlgorithm[] list ();
        }
 
-       [CCode (cname = "gnutls_kx_algorithm_t", cprefix = "GNUTLS_KX_")]
+       [CCode (cname = "gnutls_kx_algorithm_t", cprefix = "GNUTLS_KX_", has_type_id = false)]
        public enum KXAlgorithm {
                UNKNOWN,
                RSA,
@@ -92,7 +92,7 @@ namespace GnuTLS
                public static unowned KXAlgorithm[] list ();
        }
 
-       [CCode (cname = "gnutls_mac_algorithm_t", cprefix = "GNUTLS_MAC_")]
+       [CCode (cname = "gnutls_mac_algorithm_t", cprefix = "GNUTLS_MAC_", has_type_id = false)]
        public enum MacAlgorithm {
                UNKNOWN,
                NULL,
@@ -114,7 +114,7 @@ namespace GnuTLS
                public static unowned MacAlgorithm[] list ();
        }
 
-       [CCode (cname = "gnutls_digest_algorithm_t", cprefix = "GNUTLS_DIG_")]
+       [CCode (cname = "gnutls_digest_algorithm_t", cprefix = "GNUTLS_DIG_", has_type_id = false)]
        public enum DigestAlgorithm {
                NULL,
                MD5,
@@ -133,7 +133,7 @@ namespace GnuTLS
        [CCode (cname = "GNUTLS_MAX_ALGORITHM_NUM")]
        public const int MAX_ALGORITHM_NUM;
 
-       [CCode (cname = "gnutls_pk_algorithm_t", cprefix = "GNUTLS_PK_")]
+       [CCode (cname = "gnutls_pk_algorithm_t", cprefix = "GNUTLS_PK_", has_type_id = false)]
        public enum PKAlgorithm {
                UNKNOWN,
                RSA,
@@ -143,7 +143,7 @@ namespace GnuTLS
                public unowned string? get_name ();
        }
 
-       [CCode (cname = "gnutls_sign_algorithm_t", cprefix = "GNUTLS_SIGN_")]
+       [CCode (cname = "gnutls_sign_algorithm_t", cprefix = "GNUTLS_SIGN_", has_type_id = false)]
        public enum SignAlgorithm {
                UNKNOWN,
                RSA_SHA1,
@@ -160,7 +160,7 @@ namespace GnuTLS
                public unowned string? get_name ();
        }
 
-       [CCode (cname = "gnutls_compression_method_t", cprefix = "GNUTLS_COMP_")]
+       [CCode (cname = "gnutls_compression_method_t", cprefix = "GNUTLS_COMP_", has_type_id = false)]
        public enum CompressionMethod {
                UNKNOWN,
                NULL,
@@ -176,13 +176,13 @@ namespace GnuTLS
                public static unowned CompressionMethod[] list ();
        }
 
-       [CCode (cname = "gnutls_params_type_t", cprefix = "GNUTLS_PARAMS_")]
+       [CCode (cname = "gnutls_params_type_t", cprefix = "GNUTLS_PARAMS_", has_type_id = false)]
        public enum ParamsType {
                RSA_EXPORT,
                DH
        }
 
-       [CCode (cname = "gnutls_credentials_type_t", cprefix = "GNUTLS_CRD_")]
+       [CCode (cname = "gnutls_credentials_type_t", cprefix = "GNUTLS_CRD_", has_type_id = false)]
        public enum CredentialsType {
                CERTIFICATE,
                ANON,
@@ -191,13 +191,13 @@ namespace GnuTLS
                IA
        }
 
-       [CCode (cname = "gnutls_alert_level_t", cprefix = "GNUTLS_AL_")]
+       [CCode (cname = "gnutls_alert_level_t", cprefix = "GNUTLS_AL_", has_type_id = false)]
        public enum AlertLevel {
                WARNING,
                FATAL
        }
 
-       [CCode (cname = "gnutls_alert_description_t", cprefix = "GNUTLS_A_")]
+       [CCode (cname = "gnutls_alert_description_t", cprefix = "GNUTLS_A_", has_type_id = false)]
        public enum AlertDescription {
                CLOSE_NOTIFY,
                UNEXPECTED_MESSAGE,
@@ -234,7 +234,7 @@ namespace GnuTLS
                public unowned string? get_name ();
        }
 
-       [CCode (cname = "gnutls_handshake_description_t", cprefix = "GNUTLS_HANDSHAKE_")]
+       [CCode (cname = "gnutls_handshake_description_t", cprefix = "GNUTLS_HANDSHAKE_", has_type_id = false)]
        public enum HandshakeDescription {
                HELLO_REQUEST,
                CLIENT_HELLO,
@@ -253,7 +253,7 @@ namespace GnuTLS
         * in openpgp keys and x.509 certificate verification.
         */
        [Flags]
-       [CCode (cname = "gnutls_certificate_status_t", cprefix = "GNUTLS_CERT_")]
+       [CCode (cname = "gnutls_certificate_status_t", cprefix = "GNUTLS_CERT_", has_type_id = false)]
        public enum CertificateStatus {
                INVALID,             // will be set if the certificate was not verified.
                REVOKED,             // in X.509 this will be set only if CRLs are checked
@@ -262,32 +262,32 @@ namespace GnuTLS
                INSECURE_ALGORITHM
        }
 
-       [CCode (cname = "gnutls_certificate_request_t", cprefix = "GNUTLS_CERT_")]
+       [CCode (cname = "gnutls_certificate_request_t", cprefix = "GNUTLS_CERT_", has_type_id = false)]
        public enum CertificateRequest {
                IGNORE,
                REQUEST,
                REQUIRE
        }
 
-//     [CCode (cname = "gnutls_openpgp_crt_status_t", cprefix = "GNUTLS_OPENPGP_")]
+//     [CCode (cname = "gnutls_openpgp_crt_status_t", cprefix = "GNUTLS_OPENPGP_", has_type_id = false)]
 //     public enum OpenPGP.CertificateStatus {
 //             CERT,
 //             CERT_FINGERPRINT
 //     }
 //
-//     [CCode (cname = "gnutls_connection_end_t", cprefix = "GNUTLS_")]
+//     [CCode (cname = "gnutls_connection_end_t", cprefix = "GNUTLS_", has_type_id = false)]
 //     public enum ConnectionEnd {
 //             SERVER,
 //             CLIENT
 //     }
 
-       [CCode (cname = "gnutls_close_request_t", cprefix = "GNUTLS_SHUT_")]
+       [CCode (cname = "gnutls_close_request_t", cprefix = "GNUTLS_SHUT_", has_type_id = false)]
        public enum CloseRequest {
                RDWR,
                WR
        }
 
-       [CCode (cname = "gnutls_protocol_t", cprefix = "GNUTLS_")]
+       [CCode (cname = "gnutls_protocol_t", cprefix = "GNUTLS_", has_type_id = false)]
        public enum Protocol {
                SSL3,
                TLS1,    // == TLS1_0
@@ -305,7 +305,7 @@ namespace GnuTLS
                public static unowned Protocol[] list ();
        }
 
-       [CCode (cname = "gnutls_certificate_type_t", cprefix = "GNUTLS_CRT_")]
+       [CCode (cname = "gnutls_certificate_type_t", cprefix = "GNUTLS_CRT_", has_type_id = false)]
        public enum CertificateType {
                UNKNOWN,
                X509,
@@ -319,7 +319,7 @@ namespace GnuTLS
                public static unowned CertificateType[] list ();
        }
 
-       [CCode (cname = "gnutls_certificate_print_formats_t", cprefix = "GNUTLS_CRT_PRINT_")]
+       [CCode (cname = "gnutls_certificate_print_formats_t", cprefix = "GNUTLS_CRT_PRINT_", has_type_id = 
false)]
        public enum CertificatePrintFormats {
                FULL,
                ONELINE,
@@ -327,7 +327,7 @@ namespace GnuTLS
        }
 
        [Flags]
-       [CCode (cname = "unsigned int", cprefix = "GNUTLS_KEY_")]
+       [CCode (cname = "unsigned int", cprefix = "GNUTLS_KEY_", has_type_id = false)]
        public enum KeyUsage
        {
                DIGITAL_SIGNATURE,
@@ -341,7 +341,7 @@ namespace GnuTLS
                DECIPHER_ONLY
        }
 
-       [CCode (cname = "gnutls_server_name_type_t", cprefix = "GNUTLS_NAME_")]
+       [CCode (cname = "gnutls_server_name_type_t", cprefix = "GNUTLS_NAME_", has_type_id = false)]
        public enum ServerNameType {
                DNS;
        }
@@ -409,13 +409,13 @@ namespace GnuTLS
        }
 
        [SimpleType]
-       [CCode (cname = "gnutls_datum_t")]
+       [CCode (cname = "gnutls_datum_t", has_type_id = false)]
        public struct Datum {
                public void* data;
                public uint size;
        }
 
-       [CCode (cname = "gnutls_params_st")]
+       [CCode (cname = "gnutls_params_st", has_type_id = false)]
        public struct Params {
                public ParamsType type;
                [CCode (cname = "params.dh")]
@@ -434,7 +434,7 @@ namespace GnuTLS
                                               [CCode (array_length_pos = "1.8", array_length_type = 
"size_t")] uint8[] out_oprfi);
 
        /* Supplemental data, RFC 4680. */
-       [CCode (cname = "gnutls_supplemental_data_format_type_t")]
+       [CCode (cname = "gnutls_supplemental_data_format_type_t", has_type_id = false)]
        public enum SupplementalDataFormatType {
                USER_MAPPING_DATA;
 
@@ -797,14 +797,14 @@ namespace GnuTLS
                public const string KP_ANY;
 
 
-               [CCode (cname = "gnutls_x509_crt_fmt_t", cprefix = "GNUTLS_X509_FMT_")]
+               [CCode (cname = "gnutls_x509_crt_fmt_t", cprefix = "GNUTLS_X509_FMT_", has_type_id = false)]
                public enum CertificateFormat {
                        DER,
                        PEM
                }
 
                [Flags]
-               [CCode (cname = "gnutls_certificate_import_flags", cprefix = "GNUTLS_X509_CRT_")]
+               [CCode (cname = "gnutls_certificate_import_flags", cprefix = "GNUTLS_X509_CRT_", has_type_id 
= false)]
                public enum CertificateImportFlags {
                        /* Fail if the certificates in the buffer are more than the space
                        * allocated for certificates. The error code will be
@@ -814,7 +814,7 @@ namespace GnuTLS
                }
 
                [Flags]
-               [CCode (cname = "unsigned int", cprefix = "GNUTLS_CRL_REASON_")]
+               [CCode (cname = "unsigned int", cprefix = "GNUTLS_CRL_REASON_", has_type_id = false)]
                public enum RevocationReasons {
                        UNUSED,
                        KEY_COMPROMISE,
@@ -828,7 +828,7 @@ namespace GnuTLS
                }
 
                [Flags]
-               [CCode (cname = "gnutls_certificate_verify_flags", cprefix = "GNUTLS_VERIFY_")]
+               [CCode (cname = "gnutls_certificate_verify_flags", cprefix = "GNUTLS_VERIFY_", has_type_id = 
false)]
                public enum CertificateVerifyFlags
                {
                        // If set a signer does not have to be a certificate authority. This
@@ -858,7 +858,7 @@ namespace GnuTLS
                        ALLOW_SIGN_RSA_MD5
                }
 
-               [CCode (cname = "gnutls_x509_subject_alt_name_t")]
+               [CCode (cname = "gnutls_x509_subject_alt_name_t", has_type_id = false)]
                public enum SubjectAltName {
                        DNSNAME,
                        RFC822NAME,
@@ -897,7 +897,7 @@ namespace GnuTLS
                public int rdn_get_by_oid (ref Datum idn, string oid, int index, uint raw_flag, void* buf, 
ref size_t buf_size);
 
                [SimpleType]
-               [CCode (cname = "gnutls_x509_ava_st")]
+               [CCode (cname = "gnutls_x509_ava_st", has_type_id = false)]
                public struct Ava
                {
                        [CCode (cname = "oid.data", array_length_cname = "oid.size")]
@@ -1119,7 +1119,7 @@ namespace GnuTLS
 
                // Flags for the gnutls_x509_privkey_export_pkcs8() function.
                [Flags]
-               [CCode (cname = "gnutls_pkcs_encrypt_flags_t", cprefix = "GNUTLS_PKCS_")]
+               [CCode (cname = "gnutls_pkcs_encrypt_flags_t", cprefix = "GNUTLS_PKCS_", has_type_id = false)]
                public enum PKCSEncryptFlags {
                        PLAIN,
                        USE_PKCS12_3DES,
@@ -1228,7 +1228,7 @@ namespace GnuTLS
                        public int verify_mac (string pass);
                }
 
-               [CCode (cheader_filename = "gnutls/pkcs12.h", cname = "gnutls_pkcs12_bag_type_t", cprefix = 
"GNUTLS_BAG_")]
+               [CCode (cheader_filename = "gnutls/pkcs12.h", cname = "gnutls_pkcs12_bag_type_t", cprefix = 
"GNUTLS_BAG_", has_type_id = false)]
                public enum PKCS12BagType {
                        EMPTY,
                        PKCS8_ENCRYPTED_KEY,
@@ -1277,7 +1277,7 @@ namespace GnuTLS
                [CCode (has_target = false)]
                public delegate int RecvKeyFunc (Session session, uint8[] keyfpr, out Datum key);
 
-               [CCode (cname = "gnutls_openpgp_crt_fmt_t", cprefix = "GNUTLS_OPENPGP_FMT_")]
+               [CCode (cname = "gnutls_openpgp_crt_fmt_t", cprefix = "GNUTLS_OPENPGP_FMT_", has_type_id = 
false)]
                public enum CertificateFormat {
                        RAW,
                        BASE64
@@ -1629,7 +1629,7 @@ namespace GnuTLS
 
 // PSK stuff
 
-       [CCode (cname = "gnutls_psk_key_flags", cprefix = "GNUTLS_PSK_KEY_")]
+       [CCode (cname = "gnutls_psk_key_flags", cprefix = "GNUTLS_PSK_KEY_", has_type_id = false)]
        public enum PSKKeyFlags
        {
                RAW,
@@ -1703,7 +1703,7 @@ namespace GnuTLS
 ////
 
        [SimpleType]
-       [CCode (cname = "gnutls_retr_st")]
+       [CCode (cname = "gnutls_retr_st", has_type_id = false)]
        public struct RetrStruct
        {
                public CertificateType type;
@@ -1740,7 +1740,7 @@ namespace GnuTLS
                            size_t seed_size, void* seed, size_t output_size, void* output);
 
        // Gnutls error codes. The mapping to a TLS alert is also shown in comments.
-       [CCode (cname = "int", cprefix = "GNUTLS_E_", lower_case_cprefix = "gnutls_error_")]
+       [CCode (cname = "int", cprefix = "GNUTLS_E_", lower_case_cprefix = "gnutls_error_", has_type_id = 
false)]
        public enum ErrorCode {
 
                SUCCESS,
diff --git a/vapi/gsl.vapi b/vapi/gsl.vapi
index b68fd10..3babb72 100644
--- a/vapi/gsl.vapi
+++ b/vapi/gsl.vapi
@@ -25,7 +25,7 @@ namespace Gsl
        /*
         * Physical Constants
         */
-       [CCode (cprefix="GSL_CONST_NUM_", cheader_filename="gsl/gsl_const_num.h")]
+       [CCode (cprefix="GSL_CONST_NUM_", cheader_filename="gsl/gsl_const_num.h", has_type_id = false)]
        public enum ConstNum
        {
                FINE_STRUCTURE,
@@ -48,7 +48,7 @@ namespace Gsl
                YOCTO
        }
 
-       [CCode (cprefix="GSL_CONST_CGS_", cheader_filename="gsl/gsl_const_cgs.h")]
+       [CCode (cprefix="GSL_CONST_CGS_", cheader_filename="gsl/gsl_const_cgs.h", has_type_id = false)]
        public enum ConstCGS
        {
                SPEED_OF_LIGHT,
@@ -151,7 +151,7 @@ namespace Gsl
                THOMSON_CROSS_SECTION
        }
 
-       [CCode (cprefix="GSL_CONST_CGSM_", cheader_filename="gsl/gsl_const_cgsm.h")]
+       [CCode (cprefix="GSL_CONST_CGSM_", cheader_filename="gsl/gsl_const_cgsm.h", has_type_id = false)]
        public enum ConstCGSM
        {
                SPEED_OF_LIGHT,
@@ -254,7 +254,7 @@ namespace Gsl
                THOMSON_CROSS_SECTION
        }
 
-       [CCode (cprefix="GSL_CONST_MKS_", cheader_filename="gsl/gsl_const_mks.h")]
+       [CCode (cprefix="GSL_CONST_MKS_", cheader_filename="gsl/gsl_const_mks.h", has_type_id = false)]
        public enum ConstMKS
        {
                SPEED_OF_LIGHT,
@@ -360,7 +360,7 @@ namespace Gsl
                DEBYE
        }
 
-       [CCode (cprefix="GSL_CONST_MKSA_", cheader_filename="gsl/gsl_const_mksa.h")]
+       [CCode (cprefix="GSL_CONST_MKSA_", cheader_filename="gsl/gsl_const_mksa.h", has_type_id = false)]
        public enum ConstMKSA
        {
                SPEED_OF_LIGHT,
@@ -470,7 +470,7 @@ namespace Gsl
        /*
         * Error Handling
         */
-       [CCode (cprefix="GSL_", cheader_filename="gsl/gsl_errno.h")]
+       [CCode (cprefix="GSL_", cheader_filename="gsl/gsl_errno.h", has_type_id = false)]
        public enum Status
        {
                SUCCESS,
@@ -510,7 +510,7 @@ namespace Gsl
                EOF
        }
 
-       [CCode (cprefix="GSL_PREC_", cheader_filename="gsl/gsl_mode.h")]
+       [CCode (cprefix="GSL_PREC_", cheader_filename="gsl/gsl_mode.h", has_type_id = false)]
        public enum Mode
        {
                DOUBLE,
@@ -545,7 +545,7 @@ namespace Gsl
        /*
         * Mathematical Functions
         */
-       [CCode (cprefix="", cheader_filename="gsl/gsl_math.h")]
+       [CCode (cprefix="", cheader_filename="gsl/gsl_math.h", has_type_id = false)]
        public enum MathConst
        {
                M_E,
@@ -574,7 +574,7 @@ namespace Gsl
        public delegate void _FunctionFdf (double x, void* params, out double f, out double df);
 
        [SimpleType]
-       [CCode (cname="gsl_function", cheader_filename="gsl/gsl_math.h")]
+       [CCode (cname="gsl_function", cheader_filename="gsl/gsl_math.h", has_type_id = false)]
        public struct Function
        {
                public _Function function;
@@ -582,7 +582,7 @@ namespace Gsl
        }
 
        [SimpleType]
-       [CCode (cname="gsl_function_fdf", cheader_filename="gsl/gsl_math.h")]
+       [CCode (cname="gsl_function_fdf", cheader_filename="gsl/gsl_math.h", has_type_id = false)]
        public struct FunctionFdf
        {
                public _Function f;
@@ -596,7 +596,7 @@ namespace Gsl
         * Complex Numbers
         */
        [SimpleType]
-       [CCode (cname="gsl_complex", cheader_filename="gsl/gsl_complex.h,gsl/gsl_complex_math.h")]
+       [CCode (cname="gsl_complex", cheader_filename="gsl/gsl_complex.h,gsl/gsl_complex_math.h", has_type_id 
= false)]
        public struct Complex
        {
                [CCode (cname="dat[0]")]
@@ -712,7 +712,7 @@ namespace Gsl
         * Special Functions
         */
        [SimpleType]
-       [CCode (cname="gsl_sf_result", cheader_filename="gsl/gsl_sf_result.h")]
+       [CCode (cname="gsl_sf_result", cheader_filename="gsl/gsl_sf_result.h", has_type_id = false)]
        public struct Result
        {
                public double val;
@@ -720,7 +720,7 @@ namespace Gsl
        }
 
        [SimpleType]
-       [CCode (cname="gsl_sf_result_e10", cheader_filename="gsl/gsl_sf_result.h")]
+       [CCode (cname="gsl_sf_result_e10", cheader_filename="gsl/gsl_sf_result.h", has_type_id = false)]
        public struct ResultE10
        {
                public double val;
@@ -1499,7 +1499,7 @@ namespace Gsl
        }
 
        [SimpleType]
-       [CCode (cname="gsl_vector_view", cheader_filename="gsl/gsl_vector_double.h")]
+       [CCode (cname="gsl_vector_view", cheader_filename="gsl/gsl_vector_double.h", has_type_id = false)]
        public struct VectorView
        {
                public unowned Vector vector;
@@ -1573,7 +1573,7 @@ namespace Gsl
        }
 
        [SimpleType]
-       [CCode (cname="gsl_vector_complex_view", cheader_filename="gsl/gsl_vector_complex_double.h")]
+       [CCode (cname="gsl_vector_complex_view", cheader_filename="gsl/gsl_vector_complex_double.h", 
has_type_id = false)]
        public struct VectorComplexView
        {
                public unowned VectorComplex vector;
@@ -1649,7 +1649,7 @@ namespace Gsl
        }
 
        [SimpleType]
-       [CCode (cname="gsl_matrix_view", cheader_filename="gsl/gsl_matrix_double.h")]
+       [CCode (cname="gsl_matrix_view", cheader_filename="gsl/gsl_matrix_double.h", has_type_id = false)]
        public struct MatrixView
        {
                public unowned Matrix matrix;
@@ -1744,7 +1744,7 @@ namespace Gsl
        }
 
        [SimpleType]
-       [CCode (cname="gsl_matrix_complex_view", cheader_filename="gsl/gsl_matrix_complex_double.h")]
+       [CCode (cname="gsl_matrix_complex_view", cheader_filename="gsl/gsl_matrix_complex_double.h", 
has_type_id = false)]
        public struct MatrixComplexView
        {
                public unowned MatrixComplex matrix;
@@ -2089,7 +2089,7 @@ namespace Gsl
        /*
         * Eigensystems
         */
-       [CCode (cname="gsl_eigen_sort_t", cprefix="GSL_EIGEN_SORT_", cheader_filename="gsl/gsl_eigen.h")]
+       [CCode (cname="gsl_eigen_sort_t", cprefix="GSL_EIGEN_SORT_", cheader_filename="gsl/gsl_eigen.h", 
has_type_id = false)]
        public enum EigenSortType
        {
                VAL_ASC,
@@ -2322,7 +2322,7 @@ namespace Gsl
        /*
         * Fast Fourier Transforms (FFTs)
         */
-       [CCode (cname="gsl_fft_direction", cheader_filename="gsl/gsl_fft.h")]
+       [CCode (cname="gsl_fft_direction", cheader_filename="gsl/gsl_fft.h", has_type_id = false)]
        public enum FFTDirection
        {
                forward = -1,
@@ -2439,14 +2439,14 @@ namespace Gsl
        /*
         * Numerical Integration
         */
-       [CCode (cprefix="GSL_INTEG_", cheader_filename="gsl/gsl_integration.h")]
+       [CCode (cprefix="GSL_INTEG_", cheader_filename="gsl/gsl_integration.h", has_type_id = false)]
        public enum QAWO
        {
                COSINE,
                SINE
        }
 
-       [CCode (cprefix="GSL_INTEG_", cheader_filename="gsl/gsl_integration.h")]
+       [CCode (cprefix="GSL_INTEG_", cheader_filename="gsl/gsl_integration.h", has_type_id = false)]
        public enum GaussRules
        {
                GAUSS15,
@@ -2549,7 +2549,7 @@ namespace Gsl
        public delegate double RNGGetDouble (void* state);
 
        [SimpleType]
-       [CCode (cname="gsl_rng_type", cheader_filename="gsl/gsl_rng.h")]
+       [CCode (cname="gsl_rng_type", cheader_filename="gsl/gsl_rng.h", has_type_id = false)]
        public struct RNGType
        {
                public string name;
@@ -2805,7 +2805,7 @@ namespace Gsl
        public delegate int QRNGGetState2 (void* state, uint dimension, out double x);
 
        [SimpleType]
-       [CCode (cname="gsl_qrng_type", cheader_filename="gsl/gsl_qrng.h")]
+       [CCode (cname="gsl_qrng_type", cheader_filename="gsl/gsl_qrng.h", has_type_id = false)]
        public struct QRNGType
        {
                public string name;
@@ -3220,7 +3220,7 @@ namespace Gsl
        public delegate int NTupleFunc (void* ntuple_data, void* params);
 
        [SimpleType]
-       [CCode (cname="gsl_ntuple_select_fn", cheader_filename="gsl/gsl_ntuple.h")]
+       [CCode (cname="gsl_ntuple_select_fn", cheader_filename="gsl/gsl_ntuple.h", has_type_id = false)]
        public struct NTupleSelectFn
        {
                public NTupleFunc function;
@@ -3228,7 +3228,7 @@ namespace Gsl
        }
 
        [SimpleType]
-       [CCode (cname="gsl_ntuple_value_fn", cheader_filename="gsl/gsl_ntuple.h")]
+       [CCode (cname="gsl_ntuple_value_fn", cheader_filename="gsl/gsl_ntuple.h", has_type_id = false)]
        public struct NTupleValueFn
        {
                public NTupleFunc function;
@@ -3256,7 +3256,7 @@ namespace Gsl
        /*
         * Monte Carlo Integration
         */
-       [CCode (cprefix="GSL_VEGAS_MODE_", cheader_filename="gsl/gsl_monte_vegas.h")]
+       [CCode (cprefix="GSL_VEGAS_MODE_", cheader_filename="gsl/gsl_monte_vegas.h", has_type_id = false)]
        public enum MonteVegasMode
        {
                IMPORTANCE,
@@ -3268,7 +3268,7 @@ namespace Gsl
        public delegate double MonteFunc ([CCode (array_length = false)] double[] x_array, size_t dim, void* 
params);
 
        [SimpleType]
-       [CCode (cname="gsl_monte_function", cheader_filanema="gsl/gsl_monte.h")]
+       [CCode (cname="gsl_monte_function", cheader_filanema="gsl/gsl_monte.h", has_type_id = false)]
        public struct MonteFunction
        {
                public MonteFunc f;
@@ -3369,7 +3369,7 @@ namespace Gsl
         * Simulated Annealing
         */
        [SimpleType]
-       [CCode (cname="gsl_siman_params_t", cheader_filename="gsl/gsl_siman.h")]
+       [CCode (cname="gsl_siman_params_t", cheader_filename="gsl/gsl_siman.h", has_type_id = false)]
        public struct SimanParams
        {
                public int n_tries;
@@ -3381,7 +3381,7 @@ namespace Gsl
                public double t_min;
        }
 
-       [CCode (lower_case_cprefix="gsl_siman_", cheader_filename="gsl/gsl_siman.h")]
+       [CCode (lower_case_cprefix="gsl_siman_", cheader_filename="gsl/gsl_siman.h", has_type_id = false)]
        namespace Siman
        {
                [CCode (has_target = false)]
@@ -3407,7 +3407,7 @@ namespace Gsl
        /*
         * Ordinary Differential Equations
         */
-       [CCode (cprefix="GSL_ODEIV_HADJ_", cheader_filename="gsl/gsl_odeiv.h")]
+       [CCode (cprefix="GSL_ODEIV_HADJ_", cheader_filename="gsl/gsl_odeiv.h", has_type_id = false)]
        public enum OdeivHadjustTypes
        {
                INC,
@@ -3439,7 +3439,7 @@ namespace Gsl
        public delegate void OdeivControlFree (void* state);
 
        [SimpleType]
-       [CCode (cname="gsl_odeiv_system", cheader_filename="gsl/gsl_odeiv.h")]
+       [CCode (cname="gsl_odeiv_system", cheader_filename="gsl/gsl_odeiv.h", has_type_id = false)]
        public struct OdeivSystem
        {
                public OdeivFunction function;
@@ -3449,7 +3449,7 @@ namespace Gsl
        }
 
        [SimpleType]
-       [CCode (cname="gsl_odeiv_step_type", cheader_filename="gsl/gsl_odeiv.h")]
+       [CCode (cname="gsl_odeiv_step_type", cheader_filename="gsl/gsl_odeiv.h", has_type_id = false)]
        public struct OdeivStepType
        {
                public string name;
@@ -3496,7 +3496,7 @@ namespace Gsl
        }
 
        [SimpleType]
-       [CCode (cname="gsl_odeiv_control_type", cheader_filename="gsl/gsl_odeiv.h")]
+       [CCode (cname="gsl_odeiv_control_type", cheader_filename="gsl/gsl_odeiv.h", has_type_id = false)]
        public struct OdeivControlType
        {
                public string name;
@@ -3582,7 +3582,7 @@ namespace Gsl
        }
 
        [SimpleType]
-       [CCode (cname="gsl_interp_type", cheader_filename="gsl/gsl_interp.h")]
+       [CCode (cname="gsl_interp_type", cheader_filename="gsl/gsl_interp.h", has_type_id = false)]
        public struct InterpType
        {
                public string name;
@@ -3754,6 +3754,7 @@ namespace Gsl
        /*
         * Wavelet Transforms
         */
+       [CCode (has_type_id = false)]
        public enum WaveletDirection
        {
                forward = 1,
@@ -3764,7 +3765,7 @@ namespace Gsl
        public delegate int WaveletInit (double** h1, double** g1, double** h2, double** g2, size_t* nc, 
size_t* offset, size_t member);
 
        [SimpleType]
-       [CCode (cname="gsl_wavelet_type", cheader_filename="gsl/gsl_wavelet.h")]
+       [CCode (cname="gsl_wavelet_type", cheader_filename="gsl/gsl_wavelet.h", has_type_id = false)]
        public struct WaveletType
        {
                public string name;
@@ -3878,7 +3879,7 @@ namespace Gsl
        public delegate int RootFdfsolverIterate (void* state, FunctionFdf* d, double* root);
 
        [SimpleType]
-       [CCode (cname="gsl_root_fsolver_type", cheader_filename="gsl/gsl_roots.h")]
+       [CCode (cname="gsl_root_fsolver_type", cheader_filename="gsl/gsl_roots.h", has_type_id = false)]
        public struct RootFsolverType
        {
                public string name;
@@ -3906,7 +3907,7 @@ namespace Gsl
        }
 
        [SimpleType]
-       [CCode (cname="gsl_root_fdfsolver_type", cheader_filename="gsl/gsl_roots.h")]
+       [CCode (cname="gsl_root_fdfsolver_type", cheader_filename="gsl/gsl_roots.h", has_type_id = false)]
        public struct RootFdfsolverType
        {
                public string name;
@@ -3967,7 +3968,7 @@ namespace Gsl
        public delegate int MinBracketingFunction (Function* f, double* x_minimum, double* f_minimum, double* 
x_lower, double* f_lower, double* x_upper, double* f_upper, size_t eval_max);
 
        [SimpleType]
-       [CCode (cname="gsl_min_fminimizer_type", cheader_filename="gsl/gsl_min.h")]
+       [CCode (cname="gsl_min_fminimizer_type", cheader_filename="gsl/gsl_min.h", has_type_id = false)]
        public struct MinFminimizerType
        {
                public string name;
@@ -4042,7 +4043,7 @@ namespace Gsl
        public delegate int MultirootFdfFree (void* state);
 
        [SimpleType]
-       [CCode (cname="gsl_multiroot_function", cheader_filename="gsl/gsl_multiroots.h")]
+       [CCode (cname="gsl_multiroot_function", cheader_filename="gsl/gsl_multiroots.h", has_type_id = false)]
        public struct MultirootFunction
        {
                public MultirootF f;
@@ -4054,7 +4055,7 @@ namespace Gsl
        public static int multiroot_fdjacobian (MultirootFunction* F, Vector x, Vector f, double epsrel, 
Matrix jacobian);
 
        [SimpleType]
-       [CCode (cname="gsl_multiroot_fsolver_type", cheader_filename="gsl/gsl_multiroots.h")]
+       [CCode (cname="gsl_multiroot_fsolver_type", cheader_filename="gsl/gsl_multiroots.h", has_type_id = 
false)]
        public struct MultirootFsolverType
        {
                public string name;
@@ -4085,7 +4086,7 @@ namespace Gsl
        }
 
        [SimpleType]
-       [CCode (cname="gsl_multiroot_function_fdf", cheader_filename="gsl/gsl_multiroots.h")]
+       [CCode (cname="gsl_multiroot_function_fdf", cheader_filename="gsl/gsl_multiroots.h", has_type_id = 
false)]
        public struct MultirootFunctionFdf
        {
                public MultirootF f;
@@ -4096,7 +4097,7 @@ namespace Gsl
        }
 
        [SimpleType]
-       [CCode (cname="gsl_multiroot_fdfsolver_type", cheader_filename="gsl/gsl_multiroots.h")]
+       [CCode (cname="gsl_multiroot_fdfsolver_type", cheader_filename="gsl/gsl_multiroots.h", has_type_id = 
false)]
        public struct MultirootFdfsolverType
        {
                public string name;
@@ -4172,7 +4173,7 @@ namespace Gsl
        public delegate int MultiminFFree (void* state);
 
        [SimpleType]
-       [CCode (cname="gsl_multimin_function", cheader_filename="gsl/gsl_multimin.h")]
+       [CCode (cname="gsl_multimin_function", cheader_filename="gsl/gsl_multimin.h", has_type_id = false)]
        public struct MultiminFunction
        {
                public MultiminF f;
@@ -4181,7 +4182,7 @@ namespace Gsl
        }
 
        [SimpleType]
-       [CCode (cname="gsl_multimin_function_fdf", cheader_filename="gsl/gsl_multimin.h")]
+       [CCode (cname="gsl_multimin_function_fdf", cheader_filename="gsl/gsl_multimin.h", has_type_id = 
false)]
        public struct MultiminFunctionFdf
        {
                public MultiminF f;
@@ -4195,7 +4196,7 @@ namespace Gsl
        public static int multimin_diff (MultiminFunction* f, Vector x, Vector g);
 
        [SimpleType]
-       [CCode (cname="gsl_multimin_fminimizer_type", cheader_filename="gsl/gsl_multimin.h")]
+       [CCode (cname="gsl_multimin_fminimizer_type", cheader_filename="gsl/gsl_multimin.h", has_type_id = 
false)]
        public struct MultiminFminimizerType
        {
                public string name;
@@ -4244,7 +4245,7 @@ namespace Gsl
        public delegate int MultiminFdfFree (void* state);
 
        [SimpleType]
-       [CCode (cname="gsl_multimin_fdfminimizer_type", cheader_filename="gsl/gsl_multimin.h")]
+       [CCode (cname="gsl_multimin_fdfminimizer_type", cheader_filename="gsl/gsl_multimin.h", has_type_id = 
false)]
        public struct MultiminFdfminimizerType
        {
                public string name;
@@ -4372,7 +4373,7 @@ namespace Gsl
        }
 
        [SimpleType]
-       [CCode (cname="gsl_multifit_function", cheader_filename="gls/gsl_multifit_nlin.h")]
+       [CCode (cname="gsl_multifit_function", cheader_filename="gls/gsl_multifit_nlin.h", has_type_id = 
false)]
        public struct MultifitFunction
        {
                public MultifitF f;
@@ -4382,7 +4383,7 @@ namespace Gsl
        }
 
        [SimpleType]
-       [CCode (cname="gsl_multifit_fsolver_type", cheader_filename="gsl/gsl_multifit_nlin.h")]
+       [CCode (cname="gsl_multifit_fsolver_type", cheader_filename="gsl/gsl_multifit_nlin.h", has_type_id = 
false)]
        public struct MultifitFsolverType
        {
                public string name;
@@ -4413,7 +4414,7 @@ namespace Gsl
        }
 
        [SimpleType]
-       [CCode (cname="gsl_multifit_function_fdf", cheader_filename="gsl/gsl_multifit_nlin.h")]
+       [CCode (cname="gsl_multifit_function_fdf", cheader_filename="gsl/gsl_multifit_nlin.h", has_type_id = 
false)]
        public struct MultifitFunctionFdf
        {
                public MultifitF f;
@@ -4425,7 +4426,7 @@ namespace Gsl
        }
 
        [SimpleType]
-       [CCode (cname="gsl_multifit_fdfsolver_type", cheader_filename="gsl/gsl_multifit_nlin.h")]
+       [CCode (cname="gsl_multifit_fdfsolver_type", cheader_filename="gsl/gsl_multifit_nlin.h", has_type_id 
= false)]
        public struct MultifitFdfsolverType
        {
                public string name;
diff --git a/vapi/libarchive.vapi b/vapi/libarchive.vapi
index fede6f7..7fde618 100644
--- a/vapi/libarchive.vapi
+++ b/vapi/libarchive.vapi
@@ -44,7 +44,7 @@ namespace Archive {
        // In reality a "void (*_progress_func)(void *)" parameter without name.
        public delegate void ExtractProgressCallback ();
 
-       [CCode (cprefix="ARCHIVE_", cname="int")]
+       [CCode (cprefix="ARCHIVE_", cname="int", has_type_id = false)]
        public enum Result {
                EOF,
                OK,
@@ -53,7 +53,7 @@ namespace Archive {
                FAILED
        }
 
-       [CCode (cname="int")]
+       [CCode (cname="int", has_type_id = false)]
        public enum Compression {
                NONE,
                GZIP,
@@ -63,7 +63,7 @@ namespace Archive {
                LZMA
        }
 
-       [CCode (cname="int")]
+       [CCode (cname="int", has_type_id = false)]
        public enum Format {
                BASE_MASK,
                CPIO,
@@ -90,7 +90,7 @@ namespace Archive {
                MTREE
        }
 
-       [CCode (cprefix="ARCHIVE_EXTRACT_", cname="int")]
+       [CCode (cprefix="ARCHIVE_EXTRACT_", cname="int", has_type_id = false)]
        public enum ExtractFlags {
                OWNER,
                PERM,
diff --git a/vapi/libdaemon.vapi b/vapi/libdaemon.vapi
index b908693..7f80fb5 100644
--- a/vapi/libdaemon.vapi
+++ b/vapi/libdaemon.vapi
@@ -22,7 +22,7 @@
 
 [CCode (lower_case_cprefix = "daemon_", cheader_filename = "signal.h,libdaemon/daemon.h")]
 namespace Daemon {
-        [CCode (cname = "int", cprefix = "DAEMON_LOG_")]
+       [CCode (cname = "int", cprefix = "DAEMON_LOG_", has_type_id = false)]
        public enum LogFlags {
                SYSLOG,
                STDERR,
@@ -30,7 +30,7 @@ namespace Daemon {
                AUTO
        }
 
-        [CCode (cname = "int", cprefix = "LOG_")]
+       [CCode (cname = "int", cprefix = "LOG_", has_type_id = false)]
        public enum LogPriority {
                EMERG,
                ALERT,
@@ -42,7 +42,7 @@ namespace Daemon {
                DEBUG
        }
 
-        [CCode (cname = "int", cprefix = "SIG")]
+       [CCode (cname = "int", cprefix = "SIG", has_type_id = false)]
        public enum Sig {
                HUP,
                INT,
diff --git a/vapi/libesmtp.vapi b/vapi/libesmtp.vapi
index 1e8969d..6df20d6 100644
--- a/vapi/libesmtp.vapi
+++ b/vapi/libesmtp.vapi
@@ -27,7 +27,7 @@
 [CCode (cheader_filename="libesmtp.h")]
 namespace Smtp {
        [SimpleType]
-       [CCode (cname="smtp_session_t", free_function="smtp_destroy_session")]
+       [CCode (cname="smtp_session_t", free_function="smtp_destroy_session", has_type_id = false)]
        public struct Session {
                [CCode (cname="smtp_create_session")]
                public Session ();
@@ -66,7 +66,7 @@ namespace Smtp {
        }
 
        [SimpleType]
-       [CCode (cname="smtp_message_t", free_function="g_free")]
+       [CCode (cname="smtp_message_t", free_function="g_free", has_type_id = false)]
        public struct Message {
                [CCode (cname="smtp_set_reverse_path")]
                public int set_reverse_path (string mailbox);
@@ -107,7 +107,7 @@ namespace Smtp {
        }
 
        [SimpleType]
-       [CCode (cname="smtp_session_t", free_function="g_free")]
+       [CCode (cname="smtp_session_t", free_function="g_free", has_type_id = false)]
        public struct Recipient {
                [CCode (cname="smtp_recipient_check_complete")]
                public int check_complete ();
@@ -119,7 +119,7 @@ namespace Smtp {
                public void get_application_data ();
        }
 
-       [CCode (cname="smtp_status_t")]
+       [CCode (cname="smtp_status_t", has_type_id = false)]
        public struct Status {
                int code;
                string text;
@@ -129,7 +129,7 @@ namespace Smtp {
        }
 
        [SimpleType]
-       [CCode (cname="smtp_etrn_node_t")]
+       [CCode (cname="smtp_etrn_node_t", has_type_id = false)]
        public struct EtrnNode {
                [CCode (cname="smtp_etrn_node_status")]
                public Smtp.Status node_status ();
@@ -140,7 +140,7 @@ namespace Smtp {
        }
 
        [SimpleType]
-       [CCode (cname="auth_context_t", cheader_filename="auth-client.h", 
free_function="auth_destroy_context")]
+       [CCode (cname="auth_context_t", cheader_filename="auth-client.h", 
free_function="auth_destroy_context", has_type_id = false)]
        public struct AuthContext {
                [CCode (cname="auth_set_mechanism_flags")]
                public int set_mechanism_flags (uint @set, uint clear);
@@ -162,7 +162,7 @@ namespace Smtp {
                public int set_external_id (string identity);
        }
 
-       [CCode (cname="auth_client_request_t", cheader_filename="auth-client.h")]
+       [CCode (cname="auth_client_request_t", cheader_filename="auth-client.h", has_type_id = false)]
        public struct AuthClientRequest {
                string name;
                uint flags;
@@ -226,20 +226,20 @@ namespace Smtp {
        [CCode (cname="auth_recode_t", cheader_filename="auth-client.h", has_target=false)]
        public delegate int AuthRecode (void *ctx, out string dstbuf, out int dstlen, string srcbuf, int 
srclen);
 
-       [CCode (cname="header_option", cprefix="Hdr_")]
+       [CCode (cname="header_option", cprefix="Hdr_", has_type_id = false)]
        public enum HeaderOption {
                OVERRIDE,
                PROHIBIT
        }
 
-       [CCode (cname="ret_flags", cprefix="Ret_")]
+       [CCode (cname="ret_flags", cprefix="Ret_", has_type_id = false)]
        public enum RetFlags {
                NOTSET,
                FULL,
                HDRS
        }
 
-       [CCode (cname="notify_flags", cprefix="Notify_")]
+       [CCode (cname="notify_flags", cprefix="Notify_", has_type_id = false)]
        public enum NotifyFlags {
                NOTSET,
                NEVER,
@@ -248,7 +248,7 @@ namespace Smtp {
                DELAY
        }
 
-       [CCode (cname="e8bitmime_body", cprefix="E8bitmime_")]
+       [CCode (cname="e8bitmime_body", cprefix="E8bitmime_", has_type_id = false)]
        public enum E8BitMimeBody {
                NOTSET,
                @7BIT,
@@ -256,14 +256,14 @@ namespace Smtp {
                BINARYMIME
        }
 
-       [CCode (cname="by_mode", cprefix="By_")]
+       [CCode (cname="by_mode", cprefix="By_", has_type_id = false)]
        public enum ByMode {
                NOTSET,
                NOTIFY,
                RETURN
        }
 
-       [CCode (cname="starttls_option", cprefix="Starttls_")]
+       [CCode (cname="starttls_option", cprefix="Starttls_", has_type_id = false)]
        public enum StartTlsOption {
                DISABLED,
                ENABLED,
diff --git a/vapi/libftdi.vapi b/vapi/libftdi.vapi
index 632db7f..7008985 100644
--- a/vapi/libftdi.vapi
+++ b/vapi/libftdi.vapi
@@ -3,7 +3,7 @@ namespace FTDI {
 
        public const int DEFAULT_EEPROM_SIZE;
 
-       [CCode (cname = "enum ftdi_chip_type", cprefix = "TYPE_")]
+       [CCode (cname = "enum ftdi_chip_type", cprefix = "TYPE_", has_type_id = false)]
        public enum ChipType {
                AM,
                BM,
@@ -11,7 +11,7 @@ namespace FTDI {
                R
        }
 
-       [CCode (cname = "enum ftdi_parity_type", cprefix = "")]
+       [CCode (cname = "enum ftdi_parity_type", cprefix = "", has_type_id = false)]
        public enum ParityType {
                NONE,
                ODD,
@@ -20,26 +20,26 @@ namespace FTDI {
                SPACE
        }
 
-       [CCode (cname = "enum ftdi_stopbits_type", cprefix = "STOP_")]
+       [CCode (cname = "enum ftdi_stopbits_type", cprefix = "STOP_", has_type_id = false)]
        public enum StopBitsType {
                BIT_1,
                BIT_15,
                BIT_2
        }
 
-       [CCode (cname = "enum ftdi_bits_type", cprefix = "")]
+       [CCode (cname = "enum ftdi_bits_type", cprefix = "", has_type_id = false)]
        public enum BitsType {
                BITS_7,
                BITS_8
        }
 
-       [CCode (cname = "enum ftdi_break_type", cprefix="BREAK_")]
+       [CCode (cname = "enum ftdi_break_type", cprefix="BREAK_", has_type_id = false)]
        public enum BreakType {
                OFF,
                ON,
        }
 
-       [CCode (cprefix = "BITMODE_", cname = "ftdi_mpsse_mode")]
+       [CCode (cprefix = "BITMODE_", cname = "ftdi_mpsse_mode", has_type_id = false)]
        public enum MPSSEMode {
                RESET,
                BITBANG,
@@ -50,7 +50,7 @@ namespace FTDI {
                CBUS
        }
 
-       [CCode (cname = "enum ftdi_interface", cprefix = "INTERFACE_")]
+       [CCode (cname = "enum ftdi_interface", cprefix = "INTERFACE_", has_type_id = false)]
        public enum Interface {
                ANY,
                A,
@@ -155,13 +155,13 @@ namespace FTDI {
 
        public const int URB_USERCONTEXT_COOKIE;
 
-       [CCode (cname = "struct ftdi_device_list", destroy_function = "ftdi_list_free")]
+       [CCode (cname = "struct ftdi_device_list", destroy_function = "ftdi_list_free", has_type_id = false)]
        public struct DeviceList {
                public DeviceList* next;
                public USB.Device* dev;
        }
 
-       [CCode (cname = "struct ftdi_eeprom", cprefix="ftdi_eeprom_")]
+       [CCode (cname = "struct ftdi_eeprom", cprefix="ftdi_eeprom_", has_type_id = false)]
        public struct EEPROM {
                public int vendor_id;
                public int product_id;
diff --git a/vapi/libgvc.vapi b/vapi/libgvc.vapi
index c32a56a..43b38aa 100644
--- a/vapi/libgvc.vapi
+++ b/vapi/libgvc.vapi
@@ -30,7 +30,7 @@ namespace Gvc {
        [CCode (cname = "aginit")]
        public void init ();
 
-       [CCode (cprefix = "")]
+       [CCode (cprefix = "", has_type_id = false)]
        public enum GraphKind {
                AGRAPH,
                AGRAPHSTRICT,
@@ -39,7 +39,7 @@ namespace Gvc {
                AGMETAGRAPH,
        }
 
-       [CCode (cname = "agerrlevel_t", cheader_filename = "gvc.h", cprefix = "")]
+       [CCode (cname = "agerrlevel_t", cheader_filename = "gvc.h", cprefix = "", has_type_id = false)]
        public enum ErrorLevel {
                AGWARN,
                AGERR,
diff --git a/vapi/libmagic.vapi b/vapi/libmagic.vapi
index 2d1448b..c152ad5 100644
--- a/vapi/libmagic.vapi
+++ b/vapi/libmagic.vapi
@@ -16,7 +16,7 @@ namespace LibMagic {
        }
 
        [Flags]
-       [CCode (cprefix = "MAGIC_", cname = "int")]
+       [CCode (cprefix = "MAGIC_", cname = "int", has_type_id = false)]
        public enum Flags {
                NONE,
                DEBUG,
diff --git a/vapi/libnl-2.0.vapi b/vapi/libnl-2.0.vapi
index 0caf870..7b383e0 100644
--- a/vapi/libnl-2.0.vapi
+++ b/vapi/libnl-2.0.vapi
@@ -99,7 +99,7 @@ namespace Netlink {
         public uint16    maxlen;
     }
 
-    [CCode (cprefix = "NLA_", cname = "int", cheader_filename = "netlink/attr.h")]
+    [CCode (cprefix = "NLA_", cname = "int", cheader_filename = "netlink/attr.h", has_type_id = false)]
     public enum AttributeType {
         UNSPEC,
         U8,
@@ -151,14 +151,14 @@ namespace Netlink {
         public int set_all (CallbackKind kind, MessageCallbackFunc func);
     }
 
-    [CCode (cname = "enum nl_cb_action", cprefix = "NL_", cheader_filename = "netlink/netlink.h")]
+    [CCode (cname = "enum nl_cb_action", cprefix = "NL_", cheader_filename = "netlink/netlink.h", 
has_type_id = false)]
     public enum CallbackAction {
         OK,
         SKIP,
         STOP,
     }
 
-    [CCode (cname = "enum nl_cb_kind", cprefix = "NL_CB_", cheader_filename = "netlink/netlink.h")]
+    [CCode (cname = "enum nl_cb_kind", cprefix = "NL_CB_", cheader_filename = "netlink/netlink.h", 
has_type_id = false)]
     public enum CallbackKind {
         DEFAULT,
         VERBOSE,
@@ -166,7 +166,7 @@ namespace Netlink {
         CUSTOM,
     }
 
-    [CCode (cname = "enum nl_cb_type", cprefix = "NL_CB_", cheader_filename = "netlink/netlink.h")]
+    [CCode (cname = "enum nl_cb_type", cprefix = "NL_CB_", cheader_filename = "netlink/netlink.h", 
has_type_id = false)]
     public enum CallbackType {
         VALID,
         FINISH,
@@ -303,7 +303,7 @@ namespace Netlink {
 
     }
 
-    [CCode (cprefix = "NL_DUMP_", cname = "int", cheader_filename = "netlink/types.h")]
+    [CCode (cprefix = "NL_DUMP_", cname = "int", cheader_filename = "netlink/types.h", has_type_id = false)]
     public enum DumpType {
         LINE,
         DETAILS,
@@ -311,7 +311,7 @@ namespace Netlink {
         ENV,
     }
 
-    [CCode (cname = "struct nl_dump_params", free_function = "", cheader_filename = "netlink/types.h")]
+    [CCode (cname = "struct nl_dump_params", free_function = "", cheader_filename = "netlink/types.h", 
has_type_id = false)]
     public struct DumpParams {
         public DumpType dp_type;
         public int dp_prefix;
diff --git a/vapi/libnl-3.0.vapi b/vapi/libnl-3.0.vapi
index 4846f69..2a4856c 100644
--- a/vapi/libnl-3.0.vapi
+++ b/vapi/libnl-3.0.vapi
@@ -112,7 +112,7 @@ namespace Netlink {
         public uint16    maxlen;
     }
 
-    [CCode (cprefix = "NLA_", cname = "int", cheader_filename = "netlink/attr.h")]
+    [CCode (cprefix = "NLA_", cname = "int", cheader_filename = "netlink/attr.h", has_type_id = false)]
     public enum AttributeType {
         UNSPEC,     // Unspecified type, binary data chunk
         U8,         // 8 bit integer
@@ -164,14 +164,14 @@ namespace Netlink {
         public int set_all (CallbackKind kind, MessageCallbackFunc func);
     }
 
-    [CCode (cname = "enum nl_cb_action", cprefix = "NL_", cheader_filename = "netlink/netlink.h")]
+    [CCode (cname = "enum nl_cb_action", cprefix = "NL_", cheader_filename = "netlink/netlink.h", 
has_type_id = false)]
     public enum CallbackAction {
         OK,         //   Proceed with whatever comes next.
         SKIP,       //   Skip this message.
         STOP,       //   Stop parsing altogether and discard remaining messages.
     }
 
-    [CCode (cname = "enum nl_cb_kind", cprefix = "NL_CB_", cheader_filename = "netlink/netlink.h")]
+    [CCode (cname = "enum nl_cb_kind", cprefix = "NL_CB_", cheader_filename = "netlink/netlink.h", 
has_type_id = false)]
     public enum CallbackKind {
         DEFAULT,    //          Default handlers (quiet).
         VERBOSE,    //          Verbose default handlers (error messages printed).
@@ -179,7 +179,7 @@ namespace Netlink {
         CUSTOM,     //          Customized handler specified by the user.
     }
 
-    [CCode (cname = "enum nl_cb_type", cprefix = "NL_CB_", cheader_filename = "netlink/netlink.h")]
+    [CCode (cname = "enum nl_cb_type", cprefix = "NL_CB_", cheader_filename = "netlink/netlink.h", 
has_type_id = false)]
     public enum CallbackType {
         VALID,      //          Message is valid.
         FINISH,     //          Last message in a series of multi part messages received.
@@ -324,14 +324,14 @@ namespace Netlink {
 
     }
 
-    [CCode (cprefix = "NL_DUMP_", cname = "int", cheader_filename = "netlink/types.h")]
+    [CCode (cprefix = "NL_DUMP_", cname = "int", cheader_filename = "netlink/types.h", has_type_id = false)]
     public enum DumpType {
         LINE,           // Dump object briefly on one line
         DETAILS,        // Dump all attributes but no statistics
         STATS,          // Dump all attributes including statistics
     }
 
-    [CCode (cname = "struct nl_dump_params", free_function = "", cheader_filename = "netlink/types.h")]
+    [CCode (cname = "struct nl_dump_params", free_function = "", cheader_filename = "netlink/types.h", 
has_type_id = false)]
     public struct DumpParams {
         public DumpType dp_type;
         public int dp_prefix;
diff --git a/vapi/libpq.vapi b/vapi/libpq.vapi
index 0e4be3e..f989914 100644
--- a/vapi/libpq.vapi
+++ b/vapi/libpq.vapi
@@ -23,7 +23,7 @@
 [CCode (cprefix = "PQ", cheader_filename = "postgresql/libpq-fe.h")]
 namespace Postgres {
 
-       [CCode (cname = "ConnStatusType", cprefix = "CONNECTION_")]
+       [CCode (cname = "ConnStatusType", cprefix = "CONNECTION_", has_type_id = false)]
        public enum ConnectionStatus {
                OK,
                BAD,
@@ -36,7 +36,7 @@ namespace Postgres {
                NEEDED
        }
 
-       [CCode (cname = "PostgresPollingStatusType", cprefix = "PGRES_POLLING_")]
+       [CCode (cname = "PostgresPollingStatusType", cprefix = "PGRES_POLLING_", has_type_id = false)]
        public enum PollingStatus {
                FAILED,
                READING,
@@ -45,7 +45,7 @@ namespace Postgres {
                ACTIVE
        }
 
-       [CCode (cname = "ExecStatusType", cprefix = "PGRES_")]
+       [CCode (cname = "ExecStatusType", cprefix = "PGRES_", has_type_id = false)]
        public enum ExecStatus {
                EMPTY_QUERY,
                COMMAND_OK,
@@ -57,7 +57,7 @@ namespace Postgres {
                FATAL_ERROR
        }
 
-       [CCode (cname = "PGTransactionStatusType", cprefix = "PQTRANS_")]
+       [CCode (cname = "PGTransactionStatusType", cprefix = "PQTRANS_", has_type_id = false)]
        public enum TransactionStatus {
                IDLE,
                ACTIVE,
@@ -66,7 +66,7 @@ namespace Postgres {
                UNKNOWN
        }
 
-       [CCode (cname = "PGVerbosity", cprefix = "PQERRORS_")]
+       [CCode (cname = "PGVerbosity", cprefix = "PQERRORS_", has_type_id = false)]
        public enum Verbosity {
                TERSE,
                DEFAULT,
@@ -105,7 +105,7 @@ namespace Postgres {
        [CCode (cname = "PQnoticeProcessor")]
        public delegate void NoticeProcessorFunc (void* arg, string message);
 
-       [CCode (cname = "PQprintOpt")]
+       [CCode (cname = "PQprintOpt", has_type_id = false)]
        public struct PrintOpt {
                public bool     header;
                public bool     align;
@@ -131,14 +131,14 @@ namespace Postgres {
                public int    dispsize;
        }
 
-       [CCode (cname = "PQArgBlock")]
+       [CCode (cname = "PQArgBlock", has_type_id = false)]
        public struct ArgBlock {
                public int len;
                public int isint;
        }
 
        [SimpleType]
-       [CCode (cname = "uint", default_value = "0U", type_signature = "u")]
+       [CCode (cname = "uint", default_value = "0U", type_signature = "u", has_type_id = false)]
        public struct Oid {
        }
 
diff --git a/vapi/libusb-1.0.vapi b/vapi/libusb-1.0.vapi
index c317983..780900a 100644
--- a/vapi/libusb-1.0.vapi
+++ b/vapi/libusb-1.0.vapi
@@ -1,6 +1,6 @@
 [CCode (cprefix = "libusb_", cheader_filename = "libusb.h")]
 namespace LibUSB {
-       [CCode (cname = "enum libusb_class_code", cprefix = "LIBUSB_CLASS_")]
+       [CCode (cname = "enum libusb_class_code", cprefix = "LIBUSB_CLASS_", has_type_id = false)]
        public enum ClassCode {
                PER_INTERFACE,
                AUDIO,
@@ -14,7 +14,7 @@ namespace LibUSB {
                VENDOR_SPEC
        }
 
-       [CCode (cname = "enum libusb_descriptor_type", cprefix = "LIBUSB_DT_")]
+       [CCode (cname = "enum libusb_descriptor_type", cprefix = "LIBUSB_DT_", has_type_id = false)]
        public enum DescriptorType {
                DEVICE,
                CONFIG,
@@ -46,7 +46,7 @@ namespace LibUSB {
                public const int DIRECTION;
        }
 
-       [CCode (cname = "enum libusb_endpoint_direction", cprefix = "LIBUSB_ENDPOINT_")]
+       [CCode (cname = "enum libusb_endpoint_direction", cprefix = "LIBUSB_ENDPOINT_", has_type_id = false)]
        public enum EndpointDirection {
                IN,
                OUT,
@@ -54,7 +54,7 @@ namespace LibUSB {
                MASK
        }
 
-       [CCode (cname = "enum libusb_transfer_type", cprefix = "LIBUSB_TRANSFER_TYPE_")]
+       [CCode (cname = "enum libusb_transfer_type", cprefix = "LIBUSB_TRANSFER_TYPE_", has_type_id = false)]
        public enum TransferType {
                CONTROL,
                ISOCHRONOUS,
@@ -62,7 +62,7 @@ namespace LibUSB {
                INTERRUPT
        }
 
-       [CCode (cname = "enum libusb_standard_request", cprefix = "LIBUSB_REQUEST_")]
+       [CCode (cname = "enum libusb_standard_request", cprefix = "LIBUSB_REQUEST_", has_type_id = false)]
        public enum StandardRequest {
                GET_STATUS,
                CLEAR_FEATURE,
@@ -76,7 +76,7 @@ namespace LibUSB {
                SYNCH_FRAME
        }
 
-       [CCode (cname = "enum libusb_request_type", cprefix = "LIBUSB_REQUEST_TYPE_")]
+       [CCode (cname = "enum libusb_request_type", cprefix = "LIBUSB_REQUEST_TYPE_", has_type_id = false)]
        public enum RequestType {
                STANDARD,
                CLASS,
@@ -84,7 +84,7 @@ namespace LibUSB {
                RESERVED
        }
 
-       [CCode (cname = "enum libusb_request_recipient", cprefix = "LIBUSB_RECIPIENT_")]
+       [CCode (cname = "enum libusb_request_recipient", cprefix = "LIBUSB_RECIPIENT_", has_type_id = false)]
        public enum RequestRecipient {
                DEVICE,
                INTERFACE,
@@ -92,7 +92,7 @@ namespace LibUSB {
                OTHER
        }
 
-       [CCode (cname = "enum libusb_iso_sync_type", cprefix = "LIBUSB_ISO_SYNC_TYPE_")]
+       [CCode (cname = "enum libusb_iso_sync_type", cprefix = "LIBUSB_ISO_SYNC_TYPE_", has_type_id = false)]
        public enum IsoSyncType {
                NONE,
                ASYNC,
@@ -101,7 +101,7 @@ namespace LibUSB {
                MASK
        }
 
-       [CCode (cname = "enum libusb_iso_usage_type", cprefix = "LIBUSB_ISO_USAGE_TYPE_")]
+       [CCode (cname = "enum libusb_iso_usage_type", cprefix = "LIBUSB_ISO_USAGE_TYPE_", has_type_id = 
false)]
        public enum IsoUsageType {
                DATA,
                FEEDBACK,
@@ -109,7 +109,7 @@ namespace LibUSB {
                MASK
        }
 
-       [CCode (cname = "enum libusb_error", cprefix = "LIBUSB_ERROR_")]
+       [CCode (cname = "enum libusb_error", cprefix = "LIBUSB_ERROR_", has_type_id = false)]
        public enum Error {
                [CCode (cname = "LIBUSB_SUCCESS")]
                SUCCESS,
@@ -128,14 +128,14 @@ namespace LibUSB {
                OTHER
        }
 
-       [CCode (cname = "enum libusb_transfer_flags", cprefix = "LIBUSB_TRANSFER_")]
+       [CCode (cname = "enum libusb_transfer_flags", cprefix = "LIBUSB_TRANSFER_", has_type_id = false)]
        public enum TransferFlags {
                SHORT_NOT_OK,
                FREE_BUFFER,
                FREE_TRANSFER
        }
 
-       [CCode (cname = "struct libusb_device_descriptor")]
+       [CCode (cname = "struct libusb_device_descriptor", has_type_id = false)]
        public struct DeviceDescriptor {
                public uint8 bLength;
                public uint8 bDescriptorType;
@@ -156,7 +156,7 @@ namespace LibUSB {
                public DeviceDescriptor (Device device);
        }
 
-       [CCode (cname = "struct libusb_endpoint_descriptor", cprefix = "libusb_")]
+       [CCode (cname = "struct libusb_endpoint_descriptor", cprefix = "libusb_", has_type_id = false)]
        public struct EndpointDescriptor {
                public uint8 bLength;
                public uint8 bDescriptorType;
@@ -170,7 +170,7 @@ namespace LibUSB {
                public uint8[] extra;
        }
 
-       [CCode (cname = "struct libusb_interface_descriptor")]
+       [CCode (cname = "struct libusb_interface_descriptor", has_type_id = false)]
        public struct InterfaceDescriptor {
                public uint8 bLength;
                public uint8 bDescriptorType;
@@ -187,7 +187,7 @@ namespace LibUSB {
                public uint8[] extra;
        }
 
-       [CCode (cname = "struct libusb_interface")]
+       [CCode (cname = "struct libusb_interface", has_type_id = false)]
        public struct Interface {
                [CCode (array_length_cname = "num_altsetting")]
                public InterfaceDescriptor[] altsetting;
@@ -294,7 +294,7 @@ namespace LibUSB {
                public uint16 wLength;
        }
 
-       [CCode (cname = "enum libusb_transfer_status", cprefix = "LIBUSB_TRANSFER_")]
+       [CCode (cname = "enum libusb_transfer_status", cprefix = "LIBUSB_TRANSFER_", has_type_id = false)]
        public enum TransferStatus {
                COMPLETED,
                ERROR,
@@ -305,7 +305,7 @@ namespace LibUSB {
                OVERFLOW
        }
 
-       [CCode (cname = "struct libusb_iso_packet_descriptor")]
+       [CCode (cname = "struct libusb_iso_packet_descriptor", has_type_id = false)]
        public struct IsoPacketDescriptor {
                public uint length;
                public uint actual_length;
diff --git a/vapi/libusb.vapi b/vapi/libusb.vapi
index 93c797c..8438cb1 100644
--- a/vapi/libusb.vapi
+++ b/vapi/libusb.vapi
@@ -1,6 +1,6 @@
 [CCode (cprefix = "usb_", cheader_filename = "usb.h")]
 namespace USB {
-       [CCode (cprefix = "USB_CLASS_", cheader_filename = "usb.h")]
+       [CCode (cprefix = "USB_CLASS_", cheader_filename = "usb.h", has_type_id = false)]
        public enum Class {
                PER_INTERFACE,
                AUDIO,
@@ -14,7 +14,7 @@ namespace USB {
                VENDOR_SPEC
        }
 
-       [CCode (cprefix = "USB_DT_", cheader_filename = "usb.h")]
+       [CCode (cprefix = "USB_DT_", cheader_filename = "usb.h", has_type_id = false)]
        public enum DescriptorType {
                DEVICE,
                CONFIG,
@@ -27,7 +27,7 @@ namespace USB {
                HUB
        }
 
-       [CCode (cprefix = "USB_DT_", cheader_filename = "usb.h")]
+       [CCode (cprefix = "USB_DT_", cheader_filename = "usb.h", has_type_id = false)]
        public enum DescriptorSize {
                [CCode (cname = "USB_DT_DEVICE_SIZE")]
                DEVICE,
@@ -43,7 +43,7 @@ namespace USB {
                HUB_NONVAR
        }
 
-       [CCode (cprefix = "USB_ENDPOINT_", cheader_filename = "usb.h")]
+       [CCode (cprefix = "USB_ENDPOINT_", cheader_filename = "usb.h", has_type_id = false)]
        public enum EndpointAttribute {
                ADDRESS_MASK,
                IN,
@@ -55,7 +55,7 @@ namespace USB {
                TYPE_INTERRUPT,
        }
 
-       [CCode (cprefix = "USB_ENDPOINT_", cheader_filename = "usb.h")]
+       [CCode (cprefix = "USB_ENDPOINT_", cheader_filename = "usb.h", has_type_id = false)]
        public enum EndpointAddress {
                ADDRESS_MASK,
                DIR_MASK,
@@ -63,7 +63,7 @@ namespace USB {
                OUT
        }
 
-       [CCode (cprefix = "USB_REQ_", cheader_filename = "usb.h")]
+       [CCode (cprefix = "USB_REQ_", cheader_filename = "usb.h", has_type_id = false)]
        public enum Request {
                GET_STATUS,
                CLEAR_FEATURE,
@@ -78,7 +78,7 @@ namespace USB {
                SYNCH_FRAME
        }
 
-       [CCode (cprefix = "USB_TYPE_", cheader_filename = "usb.h")]
+       [CCode (cprefix = "USB_TYPE_", cheader_filename = "usb.h", has_type_id = false)]
        public enum Type {
                STANDARD,
                CLASS,
@@ -86,7 +86,7 @@ namespace USB {
                RESERVED
        }
 
-       [CCode (cname = "struct usb_endpoint_descriptor", cheader_filename = "usb.h")]
+       [CCode (cname = "struct usb_endpoint_descriptor", cheader_filename = "usb.h", has_type_id = false)]
        public struct EndpointDescriptor {
                public uint8 bLength;
                public uint8 bDescriptorType;
@@ -101,7 +101,7 @@ namespace USB {
                public uchar[] extra;
        }
 
-       [CCode (cname = "struct usb_interface_descriptor", cheader_filename = "usb.h")]
+       [CCode (cname = "struct usb_interface_descriptor", cheader_filename = "usb.h", has_type_id = false)]
        public struct InterfaceDescriptor {
                public uint8 bLength;
                public uint8 bDescriptorType;
@@ -120,7 +120,7 @@ namespace USB {
                public uchar[] extra;
        }
 
-       [CCode (cname = "struct usb_interface", cheader_filename = "usb.h")]
+       [CCode (cname = "struct usb_interface", cheader_filename = "usb.h", has_type_id = false)]
        public struct Interface {
                [CCode (array_length_cname = "num_altsetting")]
                public InterfaceDescriptor[] altsetting;
@@ -143,7 +143,7 @@ namespace USB {
                public uchar[] extra;
        }
 
-       [CCode (cname = "struct usb_device_descriptor", cheader_filename = "usb.h")]
+       [CCode (cname = "struct usb_device_descriptor", cheader_filename = "usb.h", has_type_id = false)]
        public struct DeviceDescriptor {
                public uint8 bLength;
                public uint8 bDescriptorType;
diff --git a/vapi/lua.vapi b/vapi/lua.vapi
index c4791c3..1041a0b 100644
--- a/vapi/lua.vapi
+++ b/vapi/lua.vapi
@@ -38,7 +38,7 @@ namespace Lua {
        // option for multiple returns in `lua_pcall' and `lua_call'
        public const int MULTRET;
 
-       [CCode (cheader_filename = "lauxlib.h")]
+       [CCode (cheader_filename = "lauxlib.h", has_type_id = false)]
        public enum Reference
        {
                [CCode (cname = "LUA_REFNIL")]
@@ -63,7 +63,7 @@ namespace Lua {
 
        // thread status
 
-       [CCode (cprefix = "LUA_", cname = "int")]
+       [CCode (cprefix = "LUA_", cname = "int", has_type_id = false)]
        public enum ThreadStatus {
                YIELD,
                ERRRUN,
@@ -74,7 +74,7 @@ namespace Lua {
 
        // basic types
 
-       [CCode (cprefix = "LUA_T", cname = "int")]
+       [CCode (cprefix = "LUA_T", cname = "int", has_type_id = false)]
        public enum Type {
                NONE,
                NIL,
@@ -88,7 +88,7 @@ namespace Lua {
                THREAD
        }
 
-       [CCode (cprefix = "LUA_GC", cname = "int")]
+       [CCode (cprefix = "LUA_GC", cname = "int", has_type_id = false)]
        public enum GarbageCollection {
                STOP,
                RESTART,
@@ -104,7 +104,7 @@ namespace Lua {
 
        // Event codes
 
-       [CCode (cprefix = "LUA_HOOK", cname = "int")]
+       [CCode (cprefix = "LUA_HOOK", cname = "int", has_type_id = false)]
        public enum EventHook {
                CALL,
                RET,
@@ -116,7 +116,7 @@ namespace Lua {
        // Event masks
 
        [Flags]
-       [CCode (cprefix = "LUA_MASK", cname = "int")]
+       [CCode (cprefix = "LUA_MASK", cname = "int", has_type_id = false)]
        public enum EventMask {
                CALL,
                RET,
@@ -155,7 +155,7 @@ namespace Lua {
        public delegate void HookFunc (LuaVM vm, ref Debug ar);
 
        [SimpleType]
-       [CCode (cname = "lua_Debug")]
+       [CCode (cname = "lua_Debug", has_type_id = false)]
        public struct Debug {
                public EventHook event;
                public unowned string name;
diff --git a/vapi/mysql.vapi b/vapi/mysql.vapi
index ef78c9c..745bbd4 100644
--- a/vapi/mysql.vapi
+++ b/vapi/mysql.vapi
@@ -159,7 +159,7 @@ namespace Mysql {
                FIELD_IS_RENAMED
        }
 
-       [CCode (cname = "enum_cursor_type", cprefix = "CURSOR_TYPE_")]
+       [CCode (cname = "enum_cursor_type", cprefix = "CURSOR_TYPE_", has_type_id = false)]
        public enum CursorType {
                NO_CURSOR,
                READ_ONLY,
@@ -257,7 +257,7 @@ namespace Mysql {
 
                public bool data_seek (ulong offset);
        }
-       [CCode (cname = "MYSQL_FIELD")]
+       [CCode (cname = "MYSQL_FIELD", has_type_id = false)]
        public struct Field {
                public unowned string name;
                public unowned string org_name;
diff --git a/vapi/orc-0.4.vapi b/vapi/orc-0.4.vapi
index b5085d7..1c252c4 100644
--- a/vapi/orc-0.4.vapi
+++ b/vapi/orc-0.4.vapi
@@ -31,6 +31,7 @@ namespace Orc {
        public class Compiler {
        }
 
+       [CCode (has_type_id = false)]
        public enum CompileResult {
                OK,
                UNKNOWN_COMPILE,
@@ -70,7 +71,7 @@ namespace Orc {
                public void set_stride (int _var, int stride);
        }
 
-       [CCode (cprefix = "ORC_DEBUG_")]
+       [CCode (cprefix = "ORC_DEBUG_", has_type_id = false)]
        public enum DebugLevel {
                NONE,
                ERROR,
diff --git a/vapi/pixman-1.vapi b/vapi/pixman-1.vapi
index aa96be1..66437e0 100644
--- a/vapi/pixman-1.vapi
+++ b/vapi/pixman-1.vapi
@@ -15,11 +15,11 @@ namespace Pixman {
                public static unowned string library_string ();
        }
 
-       [SimpleType, IntegerType (rank = 6), CCode (cname = "pixman_fixed_16_16_t")]
+       [SimpleType, IntegerType (rank = 6), CCode (cname = "pixman_fixed_16_16_t", has_type_id = false)]
        public struct Fixed1616 : int32 {
        }
 
-       [SimpleType, IntegerType (rank = 6), CCode (cname = "pixman_fixed_t")]
+       [SimpleType, IntegerType (rank = 6), CCode (cname = "pixman_fixed_t", has_type_id = false)]
        public struct Fixed : Fixed1616 {
                [CCode (cname = "pixman_double_to_fixed")]
                public Fixed.double (double val);
diff --git a/vapi/posix.vapi b/vapi/posix.vapi
index 75dbfa2..2e2c751 100644
--- a/vapi/posix.vapi
+++ b/vapi/posix.vapi
@@ -328,7 +328,7 @@ namespace Posix {
        [CCode (cheader_filename = "fcntl.h")]
        public int posix_fallocate (int fd, long offset, long len);
 
-       [CCode (cname = "struct flock", cheader_filename = "fcntl.h")]
+       [CCode (cname = "struct flock", cheader_filename = "fcntl.h", has_type_id = false)]
        public struct Flock {
                public int l_type;
                public int l_whence;
@@ -687,7 +687,7 @@ namespace Posix {
        [CCode (cheader_filename = "netdb.h,sys/socket.h")]
        public int getnameinfo (SockAddr sa, socklen_t salen, char[] node, char[] service, int flags);
 
-       [CCode (cheader_filename = "poll.h", cname = "struct pollfd")]
+       [CCode (cheader_filename = "poll.h", cname = "struct pollfd", has_type_id = false)]
        public struct pollfd {
                public int fd;
                public int events;
@@ -711,7 +711,7 @@ namespace Posix {
 
        [SimpleType]
        [IntegerType (rank = 9)]
-       [CCode (cheader_filename = "poll.h", cname = "nfds_t")]
+       [CCode (cheader_filename = "poll.h", cname = "nfds_t", has_type_id = false)]
        public struct nfds_t {
        }
 
@@ -925,11 +925,11 @@ namespace Posix {
 
        [SimpleType]
        [IntegerType (rank = 6)]
-       [CCode (cname = "pid_t", default_value = "0", cheader_filename = "sys/types.h")]
+       [CCode (cname = "pid_t", default_value = "0", cheader_filename = "sys/types.h", has_type_id = false)]
        public struct pid_t {
        }
 
-       [CCode (cname = "struct sigaction", cheader_filename = "signal.h")]
+       [CCode (cname = "struct sigaction", cheader_filename = "signal.h", has_type_id = false)]
        public struct sigaction_t {
                sighandler_t     sa_handler;
                siginfohandler_t sa_sigaction;
@@ -938,13 +938,13 @@ namespace Posix {
        }
 
        [SimpleType]
-       [CCode (cname = "sigval_t", cheader_filename = "signal.h")]
+       [CCode (cname = "sigval_t", cheader_filename = "signal.h", has_type_id = false)]
        public struct sigval_t {
                int   sival_int;
                void* sival_ptr;
        }
 
-       [CCode (cname = "siginfo_t", cheader_filename = "signal.h")]
+       [CCode (cname = "siginfo_t", cheader_filename = "signal.h", has_type_id = false)]
        public struct siginfo_t {
                int          si_signo;
                int      si_errno;
@@ -1403,36 +1403,36 @@ namespace Posix {
        [CCode (cheader_filename = "netdb.h")]
        public unowned string gai_strerror (int errcode);
 
-       [CCode (cname = "socklen_t", cheader_filename = "sys/socket.h", default_value = "0")]
+       [CCode (cname = "socklen_t", cheader_filename = "sys/socket.h", default_value = "0", has_type_id = 
false)]
        public struct socklen_t : int {
        }
 
        [SimpleType]
-       [CCode (cname = "struct in_addr", cheader_filename = "sys/socket.h,netinet/in.h", destroy_function = 
"")]
+       [CCode (cname = "struct in_addr", cheader_filename = "sys/socket.h,netinet/in.h", destroy_function = 
"", has_type_id = false)]
        public struct InAddr {
                public uint32 s_addr;
        }
 
-       [CCode (cname = "struct in6_addr", cheader_filename = "sys/socket.h,netinet/in.h", destroy_function = 
"")]
+       [CCode (cname = "struct in6_addr", cheader_filename = "sys/socket.h,netinet/in.h", destroy_function = 
"", has_type_id = false)]
        public struct In6Addr {
                public uint8 s6_addr[16];
        }
 
-       [CCode (cname = "struct sockaddr", cheader_filename = "sys/socket.h", destroy_function = "")]
+       [CCode (cname = "struct sockaddr", cheader_filename = "sys/socket.h", destroy_function = "", 
has_type_id = false)]
        public struct SockAddr {
                public int sa_family;
                [CCode (array_length = false)]
                public char[] sa_data;
        }
 
-       [CCode (cname = "struct sockaddr_in", cheader_filename = "netinet/in.h", destroy_function = "")]
+       [CCode (cname = "struct sockaddr_in", cheader_filename = "netinet/in.h", destroy_function = "", 
has_type_id = false)]
        public struct SockAddrIn {
                public int sin_family;
                public uint16 sin_port;
                public InAddr sin_addr;
        }
 
-       [CCode (cname = "struct sockaddr_in6", cheader_filename = "netinet/in.h", destroy_function = "")]
+       [CCode (cname = "struct sockaddr_in6", cheader_filename = "netinet/in.h", destroy_function = "", 
has_type_id = false)]
        public struct SockAddrIn6 {
                public int sin6_family;
                public uint16 sin6_port;
@@ -1441,7 +1441,7 @@ namespace Posix {
                public uint32 sin6_scope_id;
        }
 
-       [CCode (cname = "struct addrinfo", cheader_filename = "netdb.h", destroy_function = "")]
+       [CCode (cname = "struct addrinfo", cheader_filename = "netdb.h", destroy_function = "", has_type_id = 
false)]
        public struct AddrInfo {
                public int ai_flags;
                public int ai_family;
@@ -1519,7 +1519,7 @@ namespace Posix {
        [CCode (cheader_filename = "sys/stat.h")]
        public bool S_ISSOCK (mode_t mode);
 
-       [CCode (cheader_filename = "sys/stat.h", cname = "struct stat")]
+       [CCode (cheader_filename = "sys/stat.h", cname = "struct stat", has_type_id = false)]
        public struct Stat {
                public dev_t st_dev;
                public ino_t st_ino;
@@ -1574,23 +1574,23 @@ namespace Posix {
 
        [SimpleType]
        [IntegerType (rank = 9)]
-       [CCode (cheader_filename = "sys/types.h", cname = "key_t")]
+       [CCode (cheader_filename = "sys/types.h", cname = "key_t", has_type_id = false)]
        public struct key_t {
        }
 
        [SimpleType]
        [IntegerType (rank = 9)]
-       [CCode (cheader_filename = "sys/statvfs.h")]
+       [CCode (cheader_filename = "sys/statvfs.h", has_type_id = false)]
        public struct fsblkcnt_t {
        }
 
        [SimpleType]
        [IntegerType (rank = 9)]
-       [CCode (cheader_filename = "sys/statvfs.h")]
+       [CCode (cheader_filename = "sys/statvfs.h", has_type_id = false)]
        public struct fsfilcnt_t {
        }
 
-       [CCode (cheader_filename = "sys/statvfs.h", cname = "struct statvfs")]
+       [CCode (cheader_filename = "sys/statvfs.h", cname = "struct statvfs", has_type_id = false)]
        public struct statvfs {
                public ulong f_bsize;
                public ulong f_frsize;
@@ -1609,31 +1609,31 @@ namespace Posix {
 
        [SimpleType]
        [IntegerType (rank = 9)]
-       [CCode (cname="off_t", cheader_filename = "sys/types.h")]
+       [CCode (cname="off_t", cheader_filename = "sys/types.h", has_type_id = false)]
        public struct off_t {
        }
 
        [SimpleType]
        [IntegerType (rank = 9)]
-       [CCode (cheader_filename = "sys/types.h")]
+       [CCode (cheader_filename = "sys/types.h", has_type_id = false)]
        public struct uid_t {
        }
 
        [SimpleType]
        [IntegerType (rank = 9)]
-       [CCode (cheader_filename = "sys/types.h")]
+       [CCode (cheader_filename = "sys/types.h", has_type_id = false)]
        public struct gid_t {
        }
 
        [SimpleType]
        [IntegerType (rank = 9)]
-       [CCode (cname = "mode_t", cheader_filename = "sys/types.h")]
+       [CCode (cname = "mode_t", cheader_filename = "sys/types.h", has_type_id = false)]
        public struct mode_t {
        }
 
        [SimpleType]
        [IntegerType (rank = 9)]
-       [CCode (cheader_filename = "sys/types.h")]
+       [CCode (cheader_filename = "sys/types.h", has_type_id = false)]
        public struct dev_t {
        }
 
@@ -1646,29 +1646,29 @@ namespace Posix {
 
        [SimpleType]
        [IntegerType (rank = 9)]
-       [CCode (cheader_filename = "sys/types.h")]
+       [CCode (cheader_filename = "sys/types.h", has_type_id = false)]
        public struct ino_t {
        }
 
        [SimpleType]
        [IntegerType (rank = 9)]
-       [CCode (cheader_filename = "sys/types.h")]
+       [CCode (cheader_filename = "sys/types.h", has_type_id = false)]
        public struct nlink_t {
        }
 
        [SimpleType]
        [IntegerType (rank = 9)]
-       [CCode (cheader_filename = "sys/types.h")]
+       [CCode (cheader_filename = "sys/types.h", has_type_id = false)]
        public struct blksize_t {
        }
 
        [SimpleType]
        [IntegerType (rank = 9)]
-       [CCode (cheader_filename = "sys/types.h")]
+       [CCode (cheader_filename = "sys/types.h", has_type_id = false)]
        public struct blkcnt_t {
        }
 
-       [CCode (cheader_filename = "time.h")]
+       [CCode (cheader_filename = "time.h", has_type_id = false)]
        [IntegerType (rank = 8)]
        public struct clock_t {
                [CCode (cname = "clock")]
@@ -1688,7 +1688,7 @@ namespace Posix {
                public int tm_isdst;
        }
 
-       [CCode (cname = "struct timespec", cheader_filename = "time.h")]
+       [CCode (cname = "struct timespec", cheader_filename = "time.h", has_type_id = false)]
        public struct timespec {
                public time_t tv_sec;
                public long tv_nsec;
@@ -1706,7 +1706,7 @@ namespace Posix {
 
        [SimpleType]
        [IntegerType]
-       [CCode (cheader_filename = "time.h")]
+       [CCode (cheader_filename = "time.h", has_type_id = false)]
        public struct clockid_t {
        }
 
@@ -1731,7 +1731,7 @@ namespace Posix {
        [CCode (cheader_filename = "sys/time.h,sys/resource.h")]
        public int setpriority (int which, int who, int prio);
 
-       [CCode (cname = "struct iovec", cheader_filename = "sys/uio.h")]
+       [CCode (cname = "struct iovec", cheader_filename = "sys/uio.h", has_type_id = false)]
        public struct iovector {
                public void* iov_base;
                public size_t iov_len;
@@ -1973,24 +1973,24 @@ namespace Posix {
        public int nice (int inc);
 
        [SimpleType]
-       [CCode (cname = "cc_t", cheader_filename = "termios.h")]
+       [CCode (cname = "cc_t", cheader_filename = "termios.h", has_type_id = false)]
        [IntegerType (rank = 3, min = 0, max = 255)]
        public struct cc_t {
        }
 
        [SimpleType]
-       [CCode (cname = "speed_t", cheader_filename = "termios.h")]
+       [CCode (cname = "speed_t", cheader_filename = "termios.h", has_type_id = false)]
        [IntegerType (rank = 7)]
        public struct speed_t {
        }
 
        [SimpleType]
-       [CCode (cname = "tcflag_t", cheader_filename = "termios.h")]
+       [CCode (cname = "tcflag_t", cheader_filename = "termios.h", has_type_id = false)]
        [IntegerType (rank = 7)]
        public struct tcflag_t {
        }
 
-       [CCode (cname="struct termios", cheader_filename = "termios.h")]
+       [CCode (cname="struct termios", cheader_filename = "termios.h", has_type_id = false)]
        public struct termios
        {
                public tcflag_t c_iflag;
@@ -2246,11 +2246,11 @@ namespace Posix {
        [CCode (cheader_filename = "termios.h")]
        public const speed_t B230400;
 
-       [CCode (cname = "fd_set", cheader_filename = "sys/select.h")]
+       [CCode (cname = "fd_set", cheader_filename = "sys/select.h", has_type_id = false)]
        public struct fd_set {
        }
 
-       [CCode (cname = "struct timeval", cheader_filename = "sys/time.h")]
+       [CCode (cname = "struct timeval", cheader_filename = "sys/time.h", has_type_id = false)]
        public struct timeval {
                public time_t tv_sec;
                public long tv_usec;
@@ -2260,7 +2260,7 @@ namespace Posix {
                public int set_time_of_day (void * timezone = null);
        }
 
-       [CCode (cname = "sigset_t", cheader_filename = "sys/select.h")]
+       [CCode (cname = "sigset_t", cheader_filename = "sys/select.h", has_type_id = false)]
        public struct sigset_t {
        }
 
@@ -2322,7 +2322,7 @@ namespace Posix {
        [CCode (cheader_filename = "sys/mman.h")]
        public const int MS_SYNC;
 
-       [CCode (cname = "struct utsname", cheader_filename = "sys/utsname.h")]
+       [CCode (cname = "struct utsname", cheader_filename = "sys/utsname.h", has_type_id = false)]
        public struct utsname {
                public unowned string sysname;
                public unowned string nodename;
@@ -2390,7 +2390,7 @@ namespace Posix {
        [CCode(cheader_filename = "sched.h", cprefix = "sched_")]
        namespace Sched {
                [SimpleType]
-               [CCode (cname = "struct sched_param")]
+               [CCode (cname = "struct sched_param", has_type_id = false)]
                public struct Param {
                        public int sched_priority;
                }
@@ -2408,7 +2408,7 @@ namespace Posix {
 
                public static int rr_get_interval(Posix.pid_t pid, out Posix.timespec? interval);
 
-               [CCode (cprefix = "SCHED_", cname = "int")]
+               [CCode (cprefix = "SCHED_", cname = "int", has_type_id = false)]
                public enum Algorithm {
                        OTHER,
                        FIFO,
@@ -2547,7 +2547,7 @@ namespace Posix {
        [CCode (cheader_filename = "glob.h")]
        public const int GLOB_NOMATCH;
 
-       [CCode (cheader_filename = "glob.h", cname = "glob_t", destroy_function = "globfree")]
+       [CCode (cheader_filename = "glob.h", cname = "glob_t", destroy_function = "globfree", has_type_id = 
false)]
        public struct Glob {
                [CCode (cname = "gl_pathc")]
                public size_t pathc;
@@ -2560,7 +2560,7 @@ namespace Posix {
                public int glob (string pattern, int flags = 0, GlobErrorFunction? errfunc = null);
        }
 
-       [CCode (cheader_filename = "langinfo.h", cprefix = "")]
+       [CCode (cheader_filename = "langinfo.h", cprefix = "", has_type_id = false)]
        public enum NLItem {
                ABDAY_1,
                ABDAY_2,
diff --git a/vapi/raptor.vapi b/vapi/raptor.vapi
index 069d249..54d366c 100644
--- a/vapi/raptor.vapi
+++ b/vapi/raptor.vapi
@@ -22,6 +22,7 @@
 
 [CCode (cheader_filename = "raptor.h")]
 namespace Raptor {
+       [CCode (has_type_id = false)]
        public enum IdentifierType {
                RESOURCE,
                ANONYMOUS,
diff --git a/vapi/rasqal.vapi b/vapi/rasqal.vapi
index e9f7806..c1a9f58 100644
--- a/vapi/rasqal.vapi
+++ b/vapi/rasqal.vapi
@@ -28,6 +28,7 @@ namespace Rasqal {
        [Compact]
        [CCode (cname = "rasqal_graph_pattern")]
        public class GraphPattern {
+               [CCode (has_type_id = false)]
                public enum Operator {
                        BASIC,
                        OPTIONAL,
@@ -41,7 +42,7 @@ namespace Rasqal {
                public void print (GLib.FileStream fh);
        }
 
-       [CCode (cprefix = "RASQAL_EXPR_")]
+       [CCode (cprefix = "RASQAL_EXPR_", has_type_id = false)]
        public enum Op {
                AND,
                OR,
@@ -67,7 +68,7 @@ namespace Rasqal {
        [Compact]
        [CCode (cname = "rasqal_literal", free_function = "rasqal_free_literal")]
        public class Literal {
-               [CCode (cprefix = "RASQAL_LITERAL_")]
+               [CCode (cprefix = "RASQAL_LITERAL_", has_type_id = false)]
                public enum Type {
                        BLANK,
                        URI,
diff --git a/vapi/readline.vapi b/vapi/readline.vapi
index 6ff09fd..58e9fdd 100644
--- a/vapi/readline.vapi
+++ b/vapi/readline.vapi
@@ -62,7 +62,7 @@ namespace Readline {
        [CCode (cname = "rl_cpifunc_t", has_target = false)]
        public delegate unowned string?   CpiFunc (int s);
 
-       [CCode (cname = "KEYMAP_ENTRY")]
+       [CCode (cname = "KEYMAP_ENTRY", has_type_id = false)]
        public struct KeyMap {
                public char type;
                public CommandFunc function;
@@ -98,7 +98,7 @@ namespace Readline {
        [CCode (cname = "RL_VERSION_MINOR")]
        public const int VERSION_MINOR;
 
-       [CCode (cname = "enum undo_code", cprefix = "UNDO_")]
+       [CCode (cname = "enum undo_code", cprefix = "UNDO_", has_type_id = false)]
        public enum UndoCode {
                DELETE,
                INSERT,
@@ -106,7 +106,7 @@ namespace Readline {
                END
        }
 
-       [CCode (cname = "UNDO_LIST")]
+       [CCode (cname = "UNDO_LIST", has_type_id = false)]
        public struct UndoList {
                public void*    next;
                public int      start;
@@ -118,7 +118,7 @@ namespace Readline {
        [CCode (cname = "rl_undo_list")]
        public UndoList undo_list;
 
-       [CCode (cname = "FUNMAP")]
+       [CCode (cname = "FUNMAP", has_type_id = false)]
        public struct FunMap {
                public string      name;
                public CommandFunc function;
@@ -1163,7 +1163,7 @@ namespace Readline {
        [CCode (cname = "RL_ISSTATE")]
        public int is_state (uint s);
 
-       [CCode (cname = "struct readline_state")]
+       [CCode (cname = "struct readline_state", has_type_id = false)]
        public struct State {
                public int point;
                public int end;
@@ -1200,14 +1200,14 @@ namespace Readline {
 
        [CCode (lower_case_cprefix = "", cheader_filename = "readline/history.h")]
        namespace History {
-               [CCode (cname = "HIST_ENTRY")]
+               [CCode (cname = "HIST_ENTRY", has_type_id = false)]
                public struct Entry {
                        public string line;
                        public string timestamp;
                        public void* data;
                }
 
-               [CCode (cname = "HISTORY_STATE")]
+               [CCode (cname = "HISTORY_STATE", has_type_id = false)]
                public struct State {
                        public unowned History.Entry[]? entries;
                        public int offset;
diff --git a/vapi/sdl-gfx.vapi b/vapi/sdl-gfx.vapi
index ec15101..8b64ec3 100644
--- a/vapi/sdl-gfx.vapi
+++ b/vapi/sdl-gfx.vapi
@@ -255,7 +255,7 @@ namespace SDLGraphics {
                        double zoomy, ref int dstwidth, ref int dstheight);
        }// RotoZoom
 
-       [CCode (cheader_filename="SDL_framerate.h", cname="FPSmanager", free_function="g_free")]
+       [CCode (cheader_filename="SDL_framerate.h", cname="FPSmanager", free_function="g_free", has_type_id = 
false)]
        public struct FramerateManager {
                [CCode (cname="SDL_initFramerate")]
                public void init();
diff --git a/vapi/sdl-image.vapi b/vapi/sdl-image.vapi
index 55a27e0..9c483e2 100644
--- a/vapi/sdl-image.vapi
+++ b/vapi/sdl-image.vapi
@@ -3,7 +3,7 @@
 namespace SDLImage {
        //! Defines
 
-       [CCode (cname = "int", cprefix = "IMG_INIT_")]
+       [CCode (cname = "int", cprefix = "IMG_INIT_", has_type_id = false)]
        public enum InitFlags {
            JPG,
            PNG,
diff --git a/vapi/sdl-mixer.vapi b/vapi/sdl-mixer.vapi
index 9301777..34fef56 100644
--- a/vapi/sdl-mixer.vapi
+++ b/vapi/sdl-mixer.vapi
@@ -27,12 +27,12 @@ namespace SDLMixer {
        public delegate void EffectCallback(int chan, void* stream, int len, void* udata);
        public delegate void EffectDoneCallback(int chan, void* udata);
 
-       [CCode (cname="int", cprefix="MIX_")]
+       [CCode (cname="int", cprefix="MIX_", has_type_id = false)]
        public enum FadeStatus {
                NO_FADING, FADING_OUT, FADING_IN
        }// FadeStatus
 
-       [CCode (cname="int", cprefix="MUS_")]
+       [CCode (cname="int", cprefix="MUS_", has_type_id = false)]
        public enum MusicType {
                NONE, CMD, WAV, MOD, MID, OGG, MP3, MP3_MAD
        }// MusicType
@@ -127,7 +127,7 @@ namespace SDLMixer {
                public static int unregister_all(int channel);
        }// Effect
 
-       [CCode (cname="int")]
+       [CCode (cname="int", has_type_id = false)]
        [SimpleType]
        public struct Channel: int {
                [CCode (cname="Mix_AllocateChannels")]
@@ -188,7 +188,7 @@ namespace SDLMixer {
                public Chunk? get_chunk();
        }// Channel
 
-       [CCode (cname="int")]
+       [CCode (cname="int", has_type_id = false)]
        [SimpleType]
        public struct ChannelGroup: int {
                [CCode (cname="Mix_GroupChannel")]
diff --git a/vapi/sdl-ttf.vapi b/vapi/sdl-ttf.vapi
index f1c743e..1bda514 100644
--- a/vapi/sdl-ttf.vapi
+++ b/vapi/sdl-ttf.vapi
@@ -15,7 +15,7 @@ namespace SDLTTF {
        [CCode (cname="TTF_Quit")]
        public static void quit();
 
-       [CCode (cname="int", cprefix="TTF_STYLE_")]
+       [CCode (cname="int", cprefix="TTF_STYLE_", has_type_id = false)]
        public enum FontStyle {
                NORMAL, BOLD, ITALIC, UNDERLINE
        }// FontStyle
diff --git a/vapi/sdl.vapi b/vapi/sdl.vapi
index 3479a3c..cb9aaaf 100644
--- a/vapi/sdl.vapi
+++ b/vapi/sdl.vapi
@@ -3,7 +3,7 @@ namespace SDL {
        ///
        /// Initialization
        ///
-       [Flags, CCode (cname="int", cprefix="SDL_INIT_")]
+       [Flags, CCode (cname="int", cprefix="SDL_INIT_", has_type_id = false)]
        public enum InitFlag {
                TIMER, AUDIO, VIDEO, CDROM, JOYSTICK,
                NOPARACHUTE, EVENTTHREAD, EVERYTHING
@@ -38,7 +38,7 @@ namespace SDL {
        ///
        /// Error
        ///
-       [CCode (cname="int", cprefix="SDL_")]
+       [CCode (cname="int", cprefix="SDL_", has_type_id = false)]
        public enum Error {
                ENOMEM, EFREAD, EFWRITE, EFSEEK,
                UNSUPPORTED, LASTERROR
@@ -60,7 +60,7 @@ namespace SDL {
        ///
        /// Video
        ///
-       [CCode (cname="int", cprefix="SDL_ALPHA_")]
+       [CCode (cname="int", cprefix="SDL_ALPHA_", has_type_id = false)]
        public enum Opacity {
                OPAQUE, TRANSPARENT
        }// Opacity
@@ -90,7 +90,7 @@ namespace SDL {
                }
        }// Video
 
-       [Flags, CCode (cname="int", cprefix="SDL_")]
+       [Flags, CCode (cname="int", cprefix="SDL_", has_type_id = false)]
        public enum SurfaceFlag {
                SWSURFACE, HWSURFACE, ASYNCBLIT, ANYFORMAT, HWPALETTE, DOUBLEBUF,
                FULLSCREEN, OPENGL, OPENGLBLIT, RESIZABLE, NOFRAME, HWACCEL,
@@ -231,7 +231,7 @@ namespace SDL {
                public uchar unused;
        }// Color
 
-       [CCode (cname="int", cprefix="SDL_")]
+       [CCode (cname="int", cprefix="SDL_", has_type_id = false)]
        public enum PaletteFlags {
                LOGPAL, PHYSPAL
        }// PaletteFlags
@@ -267,7 +267,7 @@ namespace SDL {
                public static unowned VideoInfo get();
        }// VideoInfo
 
-       [CCode (cname="int", cprefix="SDL_")]
+       [CCode (cname="int", cprefix="SDL_", has_type_id = false)]
        public enum OverlayFormat {
                YV12_OVERLAY, IYUV_OVERLAY, YUY2_OVERLAY,
                UYVY_OVERLAY, YVYU_OVERLAY
@@ -317,7 +317,7 @@ namespace SDL {
        ///
        /// OpenGL
        ///
-       [CCode (cname="int", cprefix="SDL_GL_")]
+       [CCode (cname="int", cprefix="SDL_GL_", has_type_id = false)]
        public enum GLattr {
                RED_SIZE, GREEN_SIZE, BLUE_SIZE, ALPHA_SIZE,
                BUFFER_SIZE, DOUBLEBUFFER, DEPTH_SIZE, STENCIL_SIZE,
@@ -349,7 +349,7 @@ namespace SDL {
        ///
        /// Window manager
        ///
-       [CCode (cname="int", cprefix="SDL_GRAB_")]
+       [CCode (cname="int", cprefix="SDL_GRAB_", has_type_id = false)]
        public enum GrabMode {
                QUERY, OFF, ON
        }// GrabMode
@@ -380,7 +380,7 @@ namespace SDL {
        ///
        /// Events
        ///
-       [CCode (cname="int", cprefix="SDL_")]
+       [CCode (cname="int", cprefix="SDL_", has_type_id = false)]
        public enum EventType {
                NOEVENT, ACTIVEEVENT, KEYDOWN, KEYUP, MOUSEMOTION,
                MOUSEBUTTONDOWN, MOUSEBUTTONUP, JOYAXISMOTION,
@@ -389,7 +389,7 @@ namespace SDL {
                NUMEVENTS
        }// EventType
 
-       [CCode (cname="int", cprefix="SDL_")]
+       [CCode (cname="int", cprefix="SDL_", has_type_id = false)]
        public enum EventMask {
                ACTIVEEVENTMASK, KEYDOWNMASK, KEYUPMASK, KEYEVENTMASK,
                MOUSEMOTIONMASK, MOUSEBUTTONDOWNMASK, MOUSEBUTTONUPMASK,
@@ -409,7 +409,7 @@ namespace SDL {
                public uint16 y;
        }// MouseButtonEvent
 
-       [CCode (cheader_filename="SDL_active.h", cname="int", cprefix="SDL_APP")]
+       [CCode (cheader_filename="SDL_active.h", cname="int", cprefix="SDL_APP", has_type_id = false)]
        public enum ActiveState {
                MOUSEFOCUS,
                INPUTFOCUS,
@@ -547,12 +547,12 @@ namespace SDL {
                public static uchar state(uchar type, EventState state);
        }// Event
 
-       [CCode (cname="int", cprefix="SDL_")]
+       [CCode (cname="int", cprefix="SDL_", has_type_id = false)]
        public enum EventAction {
                ADDEVENT, PEEKEVENT, GETEVENT
        }// EventAction
 
-       [CCode (cname="int", cprefix="SDL_")]
+       [CCode (cname="int", cprefix="SDL_", has_type_id = false)]
        public enum EventState {
                QUERY, IGNORE, DISABLE, ENABLE
        }// EventState
@@ -561,7 +561,7 @@ namespace SDL {
        ///
        /// Input
        ///
-       [CCode (cname="int", cprefix="SDL_")]
+       [CCode (cname="int", cprefix="SDL_", has_type_id = false)]
        public enum ButtonState {
                RELEASED, PRESSED
        }// ButtonState
@@ -595,7 +595,7 @@ namespace SDL {
                public static unowned string get_name(KeySymbol key);
        }// Key
 
-       [CCode (cname="int", cprefix="SDLK_", cheader_filename="SDL_keysym.h")]
+       [CCode (cname="int", cprefix="SDLK_", cheader_filename="SDL_keysym.h", has_type_id = false)]
        public enum KeySymbol {
                UNKNOWN,
                FIRST,
@@ -852,7 +852,7 @@ namespace SDL {
                LAST
        }// KeySymbol
 
-       [CCode (cname="int", cprefix="KMOD_", cheader_filename="SDL_keysym.h")]
+       [CCode (cname="int", cprefix="KMOD_", cheader_filename="SDL_keysym.h", has_type_id = false)]
        public enum KeyModifier {
                NONE,
                LSHIFT,
@@ -873,7 +873,7 @@ namespace SDL {
                META
        }// KeyModifier
 
-       [CCode (cname="int", cprefix="SDL_BUTTON_")]
+       [CCode (cname="int", cprefix="SDL_BUTTON_", has_type_id = false)]
        public enum MouseButton {
                LEFT, MIDDLE, RIGHT, WHEELUP, WHEELDOWN
        }// Buttons
@@ -911,7 +911,7 @@ namespace SDL {
                public static int show(int toggle);
        }// Cursor
 
-       [CCode (cname="int", cprefix="SDL_HAT_")]
+       [CCode (cname="int", cprefix="SDL_HAT_", has_type_id = false)]
        public enum HatValue {
                CENTERED, UP, RIGHT, DOWN, LEFT,
                RIGHTUP, RIGHTDOWN, LEFTUP, LEFTDOWN
@@ -970,13 +970,13 @@ namespace SDL {
        ///
        /// Audio
        ///
-       [CCode (cname="int", cprefix="AUDIO_")]
+       [CCode (cname="int", cprefix="AUDIO_", has_type_id = false)]
        public enum AudioFormat {
                U8, S8, U16LSB, S16LSB, U16MSB, S16MSB, U16, S16,
                U16SYS, S16SYS
        }// AudioFormat
 
-       [CCode (cname="int", cprefix="SDL_AUDIO_")]
+       [CCode (cname="int", cprefix="SDL_AUDIO_", has_type_id = false)]
        public enum AudioStatus {
                STOPPED, PLAYING, PAUSED
        }// AudioStatus
@@ -984,7 +984,7 @@ namespace SDL {
        [CCode (instance_pos = 0.1)]
        public delegate void AudioCallback(uint8[] stream);
 
-       [CCode (cname="SDL_AudioSpec")]
+       [CCode (cname="SDL_AudioSpec", has_type_id = false)]
        public struct AudioSpec {
                public int freq;
                public AudioFormat format;
diff --git a/vapi/taglib_c.vapi b/vapi/taglib_c.vapi
index 19db6ed..ba439af 100644
--- a/vapi/taglib_c.vapi
+++ b/vapi/taglib_c.vapi
@@ -116,7 +116,7 @@ namespace TagLib
                }
        }
 
-       [CCode (cname = "TagLib_File_Type", cprefix = "TagLib_File_")]
+       [CCode (cname = "TagLib_File_Type", cprefix = "TagLib_File_", has_type_id = false)]
        public enum FileType
        {
                MPEG,
@@ -133,7 +133,7 @@ namespace TagLib
                [CCode (cname = "taglib_id3v2_set_default_text_encoding")]
                public void set_default_text_encoding (Encoding encoding);
 
-               [CCode (cname = "TagLib_ID3v2_Encoding", cprefix = "TagLib_ID3v2_")]
+               [CCode (cname = "TagLib_ID3v2_Encoding", cprefix = "TagLib_ID3v2_", has_type_id = false)]
                public enum Encoding {
                        Latin1,
                        UTF16,
diff --git a/vapi/tiff.vapi b/vapi/tiff.vapi
index dfabfc9..58fb453 100644
--- a/vapi/tiff.vapi
+++ b/vapi/tiff.vapi
@@ -23,25 +23,25 @@
 [CCode (cname = "", lower_case_cprefix = "", cheader_filename = "tiffio.h")]
 namespace Tiff {
 
-       [CCode (cname = "TIFFDataType", cprefix = "TIFF_")]
+       [CCode (cname = "TIFFDataType", cprefix = "TIFF_", has_type_id = false)]
        public enum DataType {
                NOTYPE, BYTE, ASCII, SHORT, LONG, RATIONAL, SBYTE, UNDEFINED, SSHORT,
                SLONG, SRATIONAL, FLOAT, DOUBLE, IFD
        }
 
-       [CCode (cname = "TIFFIgnoreSense", cprefix = "TIS_")]
+       [CCode (cname = "TIFFIgnoreSense", cprefix = "TIS_", has_type_id = false)]
        public enum IgnoreSense {
                STORE, EXTRACT, EMPTY
        }
 
-       [CCode (cname = "TIFFHeader")]
+       [CCode (cname = "TIFFHeader", has_type_id = false)]
        public struct Header {
                public uint16 tiff_magic;
                public uint16 tiff_version;
                public uint32 tiff_diroff;
        }
 
-       [CCode (cname = "TIFFDirEntry")]
+       [CCode (cname = "TIFFDirEntry", has_type_id = false)]
        public struct DirEntry {
                public uint16 tdir_tag;
                public uint16 tdir_type;
@@ -49,7 +49,7 @@ namespace Tiff {
                public uint32 tdir_offset;
        }
 
-       [CCode (cname = "TIFFCIELabToRGB")]
+       [CCode (cname = "TIFFCIELabToRGB", has_type_id = false)]
        public struct CIELabToRGB {
                public int range;
                public float rstep;
@@ -67,14 +67,14 @@ namespace Tiff {
                public float[] Yb2b;
        }
 
-       [CCode (cname = "TIFFCodec")]
+       [CCode (cname = "TIFFCodec", has_type_id = false)]
        public struct Codec {
                public string name;
                public uint16 scheme;
                public InitMethod init;
        }
 
-       [CCode (cname = "TIFFDisplay")]
+       [CCode (cname = "TIFFDisplay", has_type_id = false)]
        public struct Display {
                public float[][] d_mat;
                public float d_YCR;
@@ -91,7 +91,7 @@ namespace Tiff {
                public float d_gammaB;
        }
 
-       [CCode (cname = "TIFFFieldInfo")]
+       [CCode (cname = "TIFFFieldInfo", has_type_id = false)]
        public struct FieldInfo {
                public ttag_t field_tag;
                public short field_readcount;
@@ -110,7 +110,7 @@ namespace Tiff {
                TileSeparateRoutine separate;
        }
 
-       [CCode (cname = "TIFFRGBAImage")]
+       [CCode (cname = "TIFFRGBAImage", has_type_id = false)]
        public struct RGBAImage {
                public int get;
                public TIFF tif;
@@ -137,7 +137,7 @@ namespace Tiff {
                public int col_offset;
        }
 
-       [CCode (cname = "TIFFTagMethods")]
+       [CCode (cname = "TIFFTagMethods", has_type_id = false)]
        public struct TagMethods {
                /* *****************************
                public TIFFVSetMethod vsetfield;
@@ -146,14 +146,14 @@ namespace Tiff {
                public PrintMethod printdir;
        }
 
-       [CCode (cname = "TIFFTagValue")]
+       [CCode (cname = "TIFFTagValue", has_type_id = false)]
        public struct TagValue {
                public const FieldInfo info;
                public int count;
                public void* value;
        }
 
-       [CCode (cname = "TIFFYCbCrToRGB")]
+       [CCode (cname = "TIFFYCbCrToRGB", has_type_id = false)]
        public struct YCbCrToRGB {
                public RGBValue clamptab;
                public int Cr_r_tab;
@@ -163,28 +163,28 @@ namespace Tiff {
                public int32[] Y_tab;
        }
 
-       [CCode (cname = "TIFFRGBValue")]
+       [CCode (cname = "TIFFRGBValue", has_type_id = false)]
        public struct RGBValue : uchar { }
 
        [CCode (cname = "void")]
        [Compact]
        public class tdata_t { }
-       [CCode (cname = "uint16")]
+       [CCode (cname = "uint16", has_type_id = false)]
        public struct tdir_t : uint16 { }
        [CCode (cname = "void")]
        [Compact]
        public class thandle_t { }
-       [CCode (cname = "uint32")]
+       [CCode (cname = "uint32", has_type_id = false)]
        public struct toff_t : uint32 { }
-       [CCode (cname = "uint16")]
+       [CCode (cname = "uint16", has_type_id = false)]
        public struct tsample_t : uint16 { }
-       [CCode (cname = "int32")]
+       [CCode (cname = "int32", has_type_id = false)]
        public struct tsize_t : int32 { }
-       [CCode (cname = "uint32")]
+       [CCode (cname = "uint32", has_type_id = false)]
        public struct tstrip_t : uint32 { }
-       [CCode (cname = "uint32")]
+       [CCode (cname = "uint32", has_type_id = false)]
        public struct ttag_t : uint32 { }
-       [CCode (cname = "uint32")]
+       [CCode (cname = "uint32", has_type_id = false)]
        public struct ttile_t : uint32 { }
 
        [CCode (has_target = false)]
diff --git a/vapi/tokyocabinet.vapi b/vapi/tokyocabinet.vapi
index d36dc0d..e8803c7 100644
--- a/vapi/tokyocabinet.vapi
+++ b/vapi/tokyocabinet.vapi
@@ -94,7 +94,7 @@ namespace TokyoCabinet {
                [CCode (has_target = false)]
                public delegate int CompareDatumFunc (TokyoCabinet.List.Datum a, TokyoCabinet.List.Datum b);
 
-               [CCode (cname = "TCLISTDATUM")]
+               [CCode (cname = "TCLISTDATUM", has_type_id = false)]
                public struct Datum {
                        [CCode (cname = "ptr", array_length_cname = "size")]
                        public uint8[] data;
@@ -483,7 +483,7 @@ namespace TokyoCabinet {
                public uint64 size { get { return this.get_size (); } }
        }
 
-       [CCode (cname = "int", cprefix = "TCE", cheader_filename = "tchdb.h")]
+       [CCode (cname = "int", cprefix = "TCE", cheader_filename = "tchdb.h", has_type_id = false)]
        public enum ErrorCode {
                SUCCESS,
                THREAD,
@@ -513,7 +513,7 @@ namespace TokyoCabinet {
 
        [Compact, CCode (cname = "TCHDB", cprefix = "tchdb", free_function = "tchdbdel", cheader_filename = 
"tchdb.h")]
        public class HDB {
-               [Flags, CCode (cname = "uint8_t", cprefix = "HDBT", cheader_filename = "tchdb.h")]
+               [Flags, CCode (cname = "uint8_t", cprefix = "HDBT", cheader_filename = "tchdb.h", has_type_id 
= false)]
                public enum TuningOption {
                        LARGE,
                        DEFLATE,
@@ -522,7 +522,7 @@ namespace TokyoCabinet {
                        EXCODEC
                }
 
-               [Flags, CCode (cname = "uint8_t", cprefix = "HDBO", cheader_filename = "tchdb.h")]
+               [Flags, CCode (cname = "uint8_t", cprefix = "HDBO", cheader_filename = "tchdb.h", has_type_id 
= false)]
                public enum OpenMode {
                        READER,
                        WRITER,
@@ -626,7 +626,7 @@ namespace TokyoCabinet {
 
                [Compact, CCode (cname = "BDBCUR", cprefix = "tcbdbcur", free_function = "tcbdbcurdel", 
cheader_filename = "tcbdb.h")]
                public class Cursor {
-                       [CCode (cname = "int", cprefix = "BDBCP")]
+                       [CCode (cname = "int", cprefix = "BDBCP", has_type_id = false)]
                        public enum PutMode {
                                CURRENT,
                                BEFORE,
@@ -664,7 +664,7 @@ namespace TokyoCabinet {
                        public bool record (TokyoCabinet.XString kxstr, TokyoCabinet.XString vxstr);
                }
 
-               [Flags, CCode (cname = "int", cprefix = "BDBO", cheader_filename = "tcbdb.h")]
+               [Flags, CCode (cname = "int", cprefix = "BDBO", cheader_filename = "tcbdb.h", has_type_id = 
false)]
                public enum OpenMode {
                        READER,
                        WRITER,
@@ -674,7 +674,7 @@ namespace TokyoCabinet {
                        LCKNB
                }
 
-               [Flags, CCode (cname = "uint8_t", cprefix = "BDBT", cheader_filename = "tcbdb.h")]
+               [Flags, CCode (cname = "uint8_t", cprefix = "BDBT", cheader_filename = "tcbdb.h", has_type_id 
= false)]
                public enum TuningOption {
                        LARGE,
                        DEFLATE,
diff --git a/vapi/v4l2.vapi b/vapi/v4l2.vapi
index 8d1cce4..4302598 100644
--- a/vapi/v4l2.vapi
+++ b/vapi/v4l2.vapi
@@ -23,7 +23,7 @@
 [CCode (lower_case_cprefix="", cprefix="", cheader_filename="linux/videodev2.h")]
 namespace V4l2
 {
-       [CCode (cprefix="V4L2_FIELD_")]
+       [CCode (cprefix="V4L2_FIELD_", has_type_id = false)]
        public enum Field
        {
                ANY,
@@ -45,7 +45,7 @@ namespace V4l2
        [CCode (cname="V4L2_FIELD_HAS_BOTH")]
        public bool field_has_both (uint32 field);
 
-       [CCode (cprefix="V4L2_BUF_TYPE_")]
+       [CCode (cprefix="V4L2_BUF_TYPE_", has_type_id = false)]
        public enum BufferType
        {
                VIDEO_CAPTURE,
@@ -59,7 +59,7 @@ namespace V4l2
                PRIVATE
        }
 
-       [CCode (cprefix="V4L2_CTRL_TYPE_")]
+       [CCode (cprefix="V4L2_CTRL_TYPE_", has_type_id = false)]
        public enum ControlType
        {
                INTEGER,
@@ -70,7 +70,7 @@ namespace V4l2
                CTRL_CLASS
        }
 
-       [CCode (cprefix="V4L2_TUNER_")]
+       [CCode (cprefix="V4L2_TUNER_", has_type_id = false)]
        public enum TunerType
        {
                RADIO,
@@ -78,7 +78,7 @@ namespace V4l2
                DIGITAL_TV
        }
 
-       [CCode (cprefix="V4L2_MEMORY_")]
+       [CCode (cprefix="V4L2_MEMORY_", has_type_id = false)]
        public enum Memory
        {
                MMAP,
@@ -86,7 +86,7 @@ namespace V4l2
                OVERLAY
        }
 
-       [CCode (cprefix="V4L2_COLORSPACE_")]
+       [CCode (cprefix="V4L2_COLORSPACE_", has_type_id = false)]
        public enum Colorspace
        {
                SMPTE170M,
@@ -99,7 +99,7 @@ namespace V4l2
                SRGB
        }
 
-       [CCode (cprefix="V4L2_PRIORITY_")]
+       [CCode (cprefix="V4L2_PRIORITY_", has_type_id = false)]
        public enum Priority
        {
                UNSET,
@@ -109,7 +109,7 @@ namespace V4l2
                DEFAULT
        }
 
-       [CCode (cname="struct v4l2_rect")]
+       [CCode (cname="struct v4l2_rect", has_type_id = false)]
        public struct Rect
        {
                public int32 left;
@@ -118,14 +118,14 @@ namespace V4l2
                public int32 height;
        }
 
-       [CCode (cname="struct v4l2_fract")]
+       [CCode (cname="struct v4l2_fract", has_type_id = false)]
        public struct Fraction
        {
                public uint32 numerator;
                public uint32 denominator;
        }
 
-       [CCode (cprefix="V4L2_CAP_")]
+       [CCode (cprefix="V4L2_CAP_", has_type_id = false)]
        public enum Capabilities
        {
                VIDEO_CAPTURE,
@@ -146,7 +146,7 @@ namespace V4l2
                STREAMING
        }
 
-       [CCode (cname="struct v4l2_capability")]
+       [CCode (cname="struct v4l2_capability", has_type_id = false)]
        public struct Capability
        {
                public unowned string driver;
@@ -157,7 +157,7 @@ namespace V4l2
                public uint32[] reserved;
        }
 
-       [CCode (cprefix="V4L2_PIX_FMT_")]
+       [CCode (cprefix="V4L2_PIX_FMT_", has_type_id = false)]
        public enum PixelFormatType
        {
                RGB332,
@@ -212,7 +212,7 @@ namespace V4l2
                YVYU
        }
 
-       [CCode (cname="struct v4l2_pix_format")]
+       [CCode (cname="struct v4l2_pix_format", has_type_id = false)]
        public struct PixelFormat
        {
                public uint32 width;
@@ -225,13 +225,13 @@ namespace V4l2
                public uint32 priv;
        }
 
-       [CCode (cprefix="V4L2_FMT_FLAG_")]
+       [CCode (cprefix="V4L2_FMT_FLAG_", has_type_id = false)]
        public enum FormatFlag
        {
                COMPRESSED
        }
 
-       [CCode (cname="struct v4l2_fmtdesc")]
+       [CCode (cname="struct v4l2_fmtdesc", has_type_id = false)]
        public struct FormatDescriptor
        {
                public uint32 index;
@@ -241,7 +241,7 @@ namespace V4l2
                public uint pixelformat;
        }
 
-       [CCode (cprefix="V4L2_FRMSIZE_TYPE_")]
+       [CCode (cprefix="V4L2_FRMSIZE_TYPE_", has_type_id = false)]
        public enum FramesizeTypes
        {
                DISCRETE,
@@ -249,14 +249,14 @@ namespace V4l2
                STEPWISE
        }
 
-       [CCode (cname="struct v4l2_frmsize_discrete")]
+       [CCode (cname="struct v4l2_frmsize_discrete", has_type_id = false)]
        public struct FramesizeDiscrete
        {
                public uint32 width;
                public uint32 height;
        }
 
-       [CCode (cname="struct v4l2_frmsize_stepwise")]
+       [CCode (cname="struct v4l2_frmsize_stepwise", has_type_id = false)]
        public struct FramesizeStepwise
        {
                public uint32 min_width;
@@ -267,7 +267,7 @@ namespace V4l2
                public uint32 step_height;
        }
 
-       [CCode (cname="struct v4l2_frmsizeenum")]
+       [CCode (cname="struct v4l2_frmsizeenum", has_type_id = false)]
        public struct FramsizeEnum
        {
                public uint32 index;
@@ -277,7 +277,7 @@ namespace V4l2
                public FramesizeStepwise stepwise;
        }
 
-       [CCode (cprefix="V4L2_FRMIVAL_TYPE_")]
+       [CCode (cprefix="V4L2_FRMIVAL_TYPE_", has_type_id = false)]
        public enum FrameivalTypes
        {
                DISCRETE,
@@ -285,7 +285,7 @@ namespace V4l2
                STEPWISE
        }
 
-       [CCode (cname="struct v4l2_frmival_stepwise")]
+       [CCode (cname="struct v4l2_frmival_stepwise", has_type_id = false)]
        public struct FrameivalStepwise
        {
                public Fraction min;
@@ -293,7 +293,7 @@ namespace V4l2
                public Fraction step;
        }
 
-       [CCode (cname="struct v4l2_frmivalenum")]
+       [CCode (cname="struct v4l2_frmivalenum", has_type_id = false)]
        public struct FrameivalEnum
        {
                public uint32 index;
@@ -305,7 +305,7 @@ namespace V4l2
                public Fraction stepwise;
        }
 
-       [CCode (cname="struct v4l2_timecode")]
+       [CCode (cname="struct v4l2_timecode", has_type_id = false)]
        public struct Timecode
        {
                public uint     type;
@@ -317,7 +317,7 @@ namespace V4l2
                public uint8 userbits[4];
        }
 
-       [CCode (cprefix="V4L2_TC_TYPE_")]
+       [CCode (cprefix="V4L2_TC_TYPE_", has_type_id = false)]
        public enum TimecodeType
        {
                24FPS,
@@ -327,14 +327,14 @@ namespace V4l2
                60FPS
        }
 
-       [CCode (cprefix="V4L2_TC_FLAGS_")]
+       [CCode (cprefix="V4L2_TC_FLAGS_", has_type_id = false)]
        public enum TimecodeFlags
        {
                DROPFRAME,
                COLORFRAME
        }
 
-       [CCode (cprefix="V4L2_TC_USERBITS_")]
+       [CCode (cprefix="V4L2_TC_USERBITS_", has_type_id = false)]
        public enum TimecodeUserbits
        {
                field,
@@ -343,7 +343,7 @@ namespace V4l2
        }
 
 
-       [CCode (cname="struct v4l2_jpegcompression")]
+       [CCode (cname="struct v4l2_jpegcompression", has_type_id = false)]
        public struct JpegCompression
        {
                public int quality;
@@ -355,7 +355,7 @@ namespace V4l2
                public uint32 jpeg_markers;
        }
 
-       [CCode (cprefix="V4L2_JPEG_MARKER_")]
+       [CCode (cprefix="V4L2_JPEG_MARKER_", has_type_id = false)]
        public enum JpegMarker
        {
                DHT,
@@ -365,7 +365,7 @@ namespace V4l2
                APP
        }
 
-       [CCode (cname="struct v4l2_requestbuffers")]
+       [CCode (cname="struct v4l2_requestbuffers", has_type_id = false)]
        public struct RequestBuffers
        {
                public uint32 count;
@@ -373,14 +373,14 @@ namespace V4l2
                public Memory memory;
        }
 
-       [CCode (cname="m")]
+       [CCode (cname="m", has_type_id = false)]
        public struct M
        {
                public uint32 offset;
                public ulong userptr;
        }
 
-       [CCode (cname="struct v4l2_buffer")]
+       [CCode (cname="struct v4l2_buffer", has_type_id = false)]
        public struct Buffer
        {
                public uint32 index;
@@ -398,7 +398,7 @@ namespace V4l2
                public uint32 reserved;
        }
 
-       [CCode (cprefix="V4L2_BUF_FLAG_")]
+       [CCode (cprefix="V4L2_BUF_FLAG_", has_type_id = false)]
        public enum BufferFlags
        {
                MAPPED,
@@ -411,7 +411,7 @@ namespace V4l2
                INPUT
        }
 
-       [CCode (cname="struct v4l2_framebuffer")]
+       [CCode (cname="struct v4l2_framebuffer", has_type_id = false)]
        public struct FrameBuffer
        {
                public uint32 capability;
@@ -420,7 +420,7 @@ namespace V4l2
                public PixelFormat fmt;
        }
 
-       [CCode (cprefix="V4L2_FBUF_CAP_")]
+       [CCode (cprefix="V4L2_FBUF_CAP_", has_type_id = false)]
        public enum FrameBufferCapabilites
        {
                EXTERNOVERLAY,
@@ -432,7 +432,7 @@ namespace V4l2
                LOCAL_INV_ALPHA
        }
 
-       [CCode (cprefix="V4L2_FBUF_FLAG_")]
+       [CCode (cprefix="V4L2_FBUF_FLAG_", has_type_id = false)]
        public enum FrameBufferFlags
        {
                PRIMARY,
@@ -443,14 +443,14 @@ namespace V4l2
                LOCAL_INV_ALPHA
        }
 
-       [CCode (cname="struct v4l2_clip")]
+       [CCode (cname="struct v4l2_clip", has_type_id = false)]
        public struct Clip
        {
                public Rect c;
                public Clip* next;
        }
 
-       [CCode (cname="struct v4l2_window")]
+       [CCode (cname="struct v4l2_window", has_type_id = false)]
        public struct Window
        {
                public Rect w;
@@ -462,7 +462,7 @@ namespace V4l2
                public uint8 global_alpha;
        }
 
-       [CCode (cname="struct v4l2_captureparm")]
+       [CCode (cname="struct v4l2_captureparm", has_type_id = false)]
        public struct CaptureParm
        {
                public uint32 capability;
@@ -477,7 +477,7 @@ namespace V4l2
        [CCode (cprefix="V4L2_")]
        public const uint32 CAP_TIMEPERFRAME;
 
-       [CCode (cname="struct v4l2_outputparm")]
+       [CCode (cname="struct v4l2_outputparm", has_type_id = false)]
        public struct OutputParm
        {
                public uint32 capability;
@@ -487,7 +487,7 @@ namespace V4l2
                public uint32 writebuffers;
        }
 
-       [CCode (cname="struct v4l2_cropcap")]
+       [CCode (cname="struct v4l2_cropcap", has_type_id = false)]
        public struct CropCap
        {
                public BufferType  type;
@@ -496,14 +496,14 @@ namespace V4l2
                public Fraction pixelaspect;
        }
 
-       [CCode (cname="struct v4l2_crop")]
+       [CCode (cname="struct v4l2_crop", has_type_id = false)]
        public struct Crop
        {
                public BufferType type;
                public Rect c;
        }
 
-       [CCode (cprefix="V4L2_STD_")]
+       [CCode (cprefix="V4L2_STD_", has_type_id = false)]
        public enum Standards
        {
                PAL_B,
@@ -549,10 +549,10 @@ namespace V4l2
                ALL
        }
 
-       [CCode (cname="v4l2_std_id")]
+       [CCode (cname="v4l2_std_id", has_type_id = false)]
        public struct StdId : uint64 { }
 
-       [CCode (cname="struct v4l2_standard")]
+       [CCode (cname="struct v4l2_standard", has_type_id = false)]
        public struct Standard
        {
                public uint32 index;
@@ -562,7 +562,7 @@ namespace V4l2
                public uint32 framelines;
        }
 
-       [CCode (cname="struct v4l2_input")]
+       [CCode (cname="struct v4l2_input", has_type_id = false)]
        public struct Input
        {
                public uint32 index;
@@ -574,14 +574,14 @@ namespace V4l2
                public uint32 status;
        }
 
-       [CCode (cprefix="V4L2_INPUT_TYPE_")]
+       [CCode (cprefix="V4L2_INPUT_TYPE_", has_type_id = false)]
        public enum InputType
        {
                TUNER,
                CAMERA
        }
 
-       [CCode (cprefix="V4L2_IN_ST_")]
+       [CCode (cprefix="V4L2_IN_ST_", has_type_id = false)]
        public enum InputStatus
        {
                NO_POWER,
@@ -597,7 +597,7 @@ namespace V4l2
                VTR
        }
 
-       [CCode (cname="struct v4l2_output")]
+       [CCode (cname="struct v4l2_output", has_type_id = false)]
        public struct Output
        {
                public uint32  index;
@@ -608,7 +608,7 @@ namespace V4l2
                public StdId std;
        }
 
-       [CCode (cprefix="V4L2_OUTPUT_TYPE_")]
+       [CCode (cprefix="V4L2_OUTPUT_TYPE_", has_type_id = false)]
        public enum OutputType
        {
                MODULATOR,
@@ -616,14 +616,14 @@ namespace V4l2
                ANALOGVGAOVERLAY
        }
 
-       [CCode (cname="struct v4l2_control")]
+       [CCode (cname="struct v4l2_control", has_type_id = false)]
        public struct Control
        {
                public uint32 id;
                public int32 @value;
        }
 
-       [CCode (cname="struct v4l2_ext_control")]
+       [CCode (cname="struct v4l2_ext_control", has_type_id = false)]
        public struct ExtControl
        {
                public uint32 id;
@@ -632,7 +632,7 @@ namespace V4l2
                public void* reserved;
        }
 
-       [CCode (cname="struct v4l2_ext_controls")]
+       [CCode (cname="struct v4l2_ext_controls", has_type_id = false)]
        public struct ExtControls
        {
                public uint32 ctrl_class;
@@ -641,7 +641,7 @@ namespace V4l2
                public ExtControl* controls;
        }
 
-       [CCode (cprefix="V4L2_CTRL_CLASS_")]
+       [CCode (cprefix="V4L2_CTRL_CLASS_", has_type_id = false)]
        public enum ControlClass
        {
                USER,
@@ -656,7 +656,7 @@ namespace V4l2
        [CCode (cname="V4L2_CTRL_DRIVER_PRIV")]
        public uint32 ctrl_driver_priv (uint32 id);
 
-       [CCode (cname="struct v4l2_queryctrl")]
+       [CCode (cname="struct v4l2_queryctrl", has_type_id = false)]
        public struct QueryControl
        {
                public uint32 id;
@@ -669,7 +669,7 @@ namespace V4l2
                public uint32 flags;
        }
 
-       [CCode (cname="struct v4l2_querymenu")]
+       [CCode (cname="struct v4l2_querymenu", has_type_id = false)]
        public struct QueryMenu
        {
                public uint32 id;
@@ -678,7 +678,7 @@ namespace V4l2
                public uint32 reserved;
        }
 
-       [CCode (cprefix="V4L2_CTRL_FLAG_")]
+       [CCode (cprefix="V4L2_CTRL_FLAG_", has_type_id = false)]
        public enum ControlFlags
        {
                DISABLED,
@@ -690,7 +690,7 @@ namespace V4l2
                NEXT_CTRL
        }
 
-       [CCode (cprefix="V4L2_CID_")]
+       [CCode (cprefix="V4L2_CID_", has_type_id = false)]
        public enum UserClassControlIds
        {
                BASE,
@@ -727,7 +727,7 @@ namespace V4l2
                LASTP1
        }
 
-       [CCode (cprefix="V4L2_CID_POWER_LINE_FREQUENCY_")]
+       [CCode (cprefix="V4L2_CID_POWER_LINE_FREQUENCY_", has_type_id = false)]
        public enum PowerLineFrequency
        {
                DISABLED,
@@ -735,7 +735,7 @@ namespace V4l2
                60HZ
        }
 
-       [CCode (cprefix="V4L2_CID_MPEG_")]
+       [CCode (cprefix="V4L2_CID_MPEG_", has_type_id = false)]
        public enum MpegClassControlIds
        {
                BASE,
@@ -772,7 +772,7 @@ namespace V4l2
                VIDEO_MUTE_YUV
        }
 
-       [CCode (cprefix="V4L2_MPEG_STREAM_TYPE_")]
+       [CCode (cprefix="V4L2_MPEG_STREAM_TYPE_", has_type_id = false)]
        public enum MpegStreamType
        {
                MPEG2_PS,
@@ -783,14 +783,14 @@ namespace V4l2
                MPEG2_SVCD
        }
 
-       [CCode (cprefix="V4L2_MPEG_STREAM_VBI_FMT_")]
+       [CCode (cprefix="V4L2_MPEG_STREAM_VBI_FMT_", has_type_id = false)]
        public enum MpegStreamVbiFmt
        {
                NONE,
                IVTV
        }
 
-       [CCode (cprefix="V4L2_MPEG_AUDIO_SAMPLING_FREQ_")]
+       [CCode (cprefix="V4L2_MPEG_AUDIO_SAMPLING_FREQ_", has_type_id = false)]
        public enum MpegAudioSamplingFreq
        {
                @44100,
@@ -798,7 +798,7 @@ namespace V4l2
                @32000
        }
 
-       [CCode (cprefix="V4L2_MPEG_AUDIO_ENCODING_")]
+       [CCode (cprefix="V4L2_MPEG_AUDIO_ENCODING_", has_type_id = false)]
        public enum MpegAudioEncoding
        {
                LAYER_1,
@@ -806,7 +806,7 @@ namespace V4l2
                LAYER_3
        }
 
-       [CCode (cprefix="V4L2_MPEG_AUDIO_L1_BITRATE_")]
+       [CCode (cprefix="V4L2_MPEG_AUDIO_L1_BITRATE_", has_type_id = false)]
        public enum MpegAudioL1Bitrate
        {
                32K,
@@ -825,7 +825,7 @@ namespace V4l2
                448K
        }
 
-       [CCode (cprefix="V4L2_MPEG_AUDIO_L2_BITRATE_")]
+       [CCode (cprefix="V4L2_MPEG_AUDIO_L2_BITRATE_", has_type_id = false)]
        public enum MpegAudioL2Bitrate
        {
                32K,
@@ -844,7 +844,7 @@ namespace V4l2
                384K
        }
 
-       [CCode (cprefix="V4L2_MPEG_AUDIO_L3_BITRATE_")]
+       [CCode (cprefix="V4L2_MPEG_AUDIO_L3_BITRATE_", has_type_id = false)]
        public enum MpegAudioL3Bitrate
        {
                32K,
@@ -863,7 +863,7 @@ namespace V4l2
                320K,
        }
 
-       [CCode (cprefix="V4L2_MPEG_AUDIO_MODE_")]
+       [CCode (cprefix="V4L2_MPEG_AUDIO_MODE_", has_type_id = false)]
        public enum MpegAudioMode
        {
                STEREO,
@@ -872,7 +872,7 @@ namespace V4l2
                MONO
        }
 
-       [CCode (cprefix="V4L2_MPEG_AUDIO_MODE_EXTENSION_")]
+       [CCode (cprefix="V4L2_MPEG_AUDIO_MODE_EXTENSION_", has_type_id = false)]
        public enum MpegAudioModeExtension
        {
                BOUND_4,
@@ -881,7 +881,7 @@ namespace V4l2
                BOUND_16
        }
 
-       [CCode (cprefix="V4L2_MPEG_AUDIO_EMPHASIS_")]
+       [CCode (cprefix="V4L2_MPEG_AUDIO_EMPHASIS_", has_type_id = false)]
        public enum MpegAudioEmphasis
        {
                NONE,
@@ -889,21 +889,21 @@ namespace V4l2
                CCITT_J17,
        }
 
-       [CCode (cprefix="V4L2_MPEG_AUDIO_CRC_")]
+       [CCode (cprefix="V4L2_MPEG_AUDIO_CRC_", has_type_id = false)]
        public enum MpegAudioCrc
        {
                NONE,
                CRC16
        }
 
-       [CCode (cprefix="V4L2_MPEG_VIDEO_ENCODING_")]
+       [CCode (cprefix="V4L2_MPEG_VIDEO_ENCODING_", has_type_id = false)]
        public enum MpegVideoEncoding
        {
                MPEG_1,
                MPEG_2
        }
 
-       [CCode (cprefix="V4L2_MPEG_VIDEO_ASPECT_")]
+       [CCode (cprefix="V4L2_MPEG_VIDEO_ASPECT_", has_type_id = false)]
        public enum MpegVideoAspect
        {
                1x1,
@@ -912,14 +912,14 @@ namespace V4l2
                221x100
        }
 
-       [CCode (cprefix="V4L2_MPEG_VIDEO_BITRATE_MODE_")]
+       [CCode (cprefix="V4L2_MPEG_VIDEO_BITRATE_MODE_", has_type_id = false)]
        public enum MpegVideoBitrateMode
        {
                VBR,
                CBR
        }
 
-       [CCode (cprefix="V4L2_CID_MPEG_CX2341X_")]
+       [CCode (cprefix="V4L2_CID_MPEG_CX2341X_", has_type_id = false)]
        public enum MpegCx2341xClassControlIds
        {
                BASE,
@@ -937,14 +937,14 @@ namespace V4l2
                STREAM_INSERT_NAV_PACKETS
        }
 
-       [CCode (cprefix="V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_")]
+       [CCode (cprefix="V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_", has_type_id = false)]
        public enum MpegCx2341xVideoSpatialFilterMode
        {
                MANUAL,
                AUTO,
        }
 
-       [CCode (cprefix="V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_")]
+       [CCode (cprefix="V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_", has_type_id = false)]
        public enum MpegCx2341xVideoLumaSpatialFilterType
        {
                OFF,
@@ -954,21 +954,21 @@ namespace V4l2
                2D_SYM_NON_SEPARABLE,
        }
 
-       [CCode (cprefix="V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_")]
+       [CCode (cprefix="V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_", has_type_id = false)]
        public enum MpegCx2341xVideoChromaSpatialFilterType
        {
                OFF,
                1D_HOR
        }
 
-       [CCode (cprefix="V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_")]
+       [CCode (cprefix="V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_", has_type_id = false)]
        public enum MpegCx2341xVideoTemporalFilterMode
        {
                MANUAL,
                AUTO
        }
 
-       [CCode (cprefix="V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_")]
+       [CCode (cprefix="V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_", has_type_id = false)]
        public enum MpegCx2341xVideoMedianFilterType
        {
                OFF,
@@ -978,7 +978,7 @@ namespace V4l2
                DIAG
        }
 
-       [CCode (cprefix="V4L2_CID_")]
+       [CCode (cprefix="V4L2_CID_", has_type_id = false)]
        public enum CameraClassControlIds
        {
                CAMERA_CLASS_BASE,
@@ -997,7 +997,7 @@ namespace V4l2
                FOCUS_AUTO
        }
 
-       [CCode (cprefix="V4L2_EXPOSURE_")]
+       [CCode (cprefix="V4L2_EXPOSURE_", has_type_id = false)]
        public enum ExposureAutoType
        {
                AUTO,
@@ -1006,7 +1006,7 @@ namespace V4l2
                APERTURE_PRIORITY
        }
 
-       [CCode (cname="struct v4l2_tuner")]
+       [CCode (cname="struct v4l2_tuner", has_type_id = false)]
        public struct Tuner
        {
                public uint32 index;
@@ -1021,7 +1021,7 @@ namespace V4l2
                public int32 afc;
        }
 
-       [CCode (cname="struct v4l2_modulator")]
+       [CCode (cname="struct v4l2_modulator", has_type_id = false)]
        public struct Modulator
        {
                public uint32 index;
@@ -1032,7 +1032,7 @@ namespace V4l2
                public uint32 txsubchans;
        }
 
-       [CCode (cprefix="V4L2_TUNER_CAP_")]
+       [CCode (cprefix="V4L2_TUNER_CAP_", has_type_id = false)]
        public enum TunerCapabilities
        {
                LOW,
@@ -1043,7 +1043,7 @@ namespace V4l2
                LANG1
        }
 
-       [CCode (cprefix="V4L2_TUNER_SUB_")]
+       [CCode (cprefix="V4L2_TUNER_SUB_", has_type_id = false)]
        public enum TunerSubs
        {
                MONO,
@@ -1053,7 +1053,7 @@ namespace V4l2
                LANG1
        }
 
-       [CCode (cprefix="V4L2_TUNER_MODE_")]
+       [CCode (cprefix="V4L2_TUNER_MODE_", has_type_id = false)]
        public enum TunerModes
        {
                MONO,
@@ -1064,7 +1064,7 @@ namespace V4l2
                LANG1_LANG2
        }
 
-       [CCode (cname="struct v4l2_frequency")]
+       [CCode (cname="struct v4l2_frequency", has_type_id = false)]
        public struct Frequency
        {
                public uint32 tuner;
@@ -1072,7 +1072,7 @@ namespace V4l2
                public uint32 frequency;
        }
 
-       [CCode (cname="struct v4l2_hw_freq_seek")]
+       [CCode (cname="struct v4l2_hw_freq_seek", has_type_id = false)]
        public struct HwFreqSeek
        {
                public uint32 tuner;
@@ -1081,7 +1081,7 @@ namespace V4l2
                public uint32 wrap_around;
        }
 
-       [CCode (cname="struct v4l2_audio")]
+       [CCode (cname="struct v4l2_audio", has_type_id = false)]
        public struct Audio
        {
                public uint32 index;
@@ -1090,7 +1090,7 @@ namespace V4l2
                public uint32 mode;
        }
 
-       [CCode (cprefix="V4L2_AUDCAP_")]
+       [CCode (cprefix="V4L2_AUDCAP_", has_type_id = false)]
        public enum AudioCapabilities
        {
                STEREO,
@@ -1100,7 +1100,7 @@ namespace V4l2
        [CCode (cprefix="V4L2_")]
        public const uint32 AUDMODE_AVL;
 
-       [CCode (cname="struct v4l2_audioout")]
+       [CCode (cname="struct v4l2_audioout", has_type_id = false)]
        public struct AudioOut
        {
                public uint32 index;
@@ -1109,7 +1109,7 @@ namespace V4l2
                public uint32 mode;
        }
 
-       [CCode (cprefix="V4L2_ENC_IDX_FRAME_")]
+       [CCode (cprefix="V4L2_ENC_IDX_FRAME_", has_type_id = false)]
        public enum EncIdxFrame
        {
                I,
@@ -1118,7 +1118,7 @@ namespace V4l2
                MASK
        }
 
-       [CCode (cname="struct v4l2_enc_idx_entry")]
+       [CCode (cname="struct v4l2_enc_idx_entry", has_type_id = false)]
        public struct EncIdxEntry
        {
                public uint64 offset;
@@ -1130,7 +1130,7 @@ namespace V4l2
        [CCode (cprefix="V4L2_")]
        public const int ENC_IDX_ENTRIES;
 
-       [CCode (cname="struct v4l2_enc_idx")]
+       [CCode (cname="struct v4l2_enc_idx", has_type_id = false)]
        public struct EncIdx
        {
                public uint32 entries;
@@ -1138,7 +1138,7 @@ namespace V4l2
                public EncIdxEntry[] entry;
        }
 
-       [CCode (cprefix="V4L2_ENC_CMD_")]
+       [CCode (cprefix="V4L2_ENC_CMD_", has_type_id = false)]
        public enum EncCmd
        {
                START,
@@ -1148,13 +1148,13 @@ namespace V4l2
                STOP_AT_GOP_END
        }
 
-       [CCode (cname="struct raw")]
+       [CCode (cname="struct raw", has_type_id = false)]
        public struct Raw
        {
                public uint32 data[8];
        }
 
-       [CCode (cname="struct v4l2_encoder_cmd")]
+       [CCode (cname="struct v4l2_encoder_cmd", has_type_id = false)]
        public struct EncoderCmd
        {
                public uint32 cmd;
@@ -1162,7 +1162,7 @@ namespace V4l2
                public Raw raw;
        }
 
-       [CCode (cname="struct v4l2_vbi_format")]
+       [CCode (cname="struct v4l2_vbi_format", has_type_id = false)]
        public struct VbiFormat
        {
                public uint32 sampling_rate;
@@ -1174,14 +1174,14 @@ namespace V4l2
                public uint32 flags;
        }
 
-       [CCode (cprefix="V4L2_VBI_")]
+       [CCode (cprefix="V4L2_VBI_", has_type_id = false)]
        public enum VbiFlags
        {
                UNSYNC,
                INTERLACED
        }
 
-       [CCode (cname="struct v4l2_sliced_vbi_format")]
+       [CCode (cname="struct v4l2_sliced_vbi_format", has_type_id = false)]
        public struct SlicedVbiFormat
        {
                public uint16 service_set;
@@ -1190,7 +1190,7 @@ namespace V4l2
                public uint32[] reserved;
        }
 
-       [CCode (cprefix="V4L2_SLICED_")]
+       [CCode (cprefix="V4L2_SLICED_", has_type_id = false)]
        public enum SlicedType
        {
                ELETEXT_B,
@@ -1202,7 +1202,7 @@ namespace V4l2
                T
        }
 
-       [CCode (cname="struct v4l2_sliced_vbi_cap")]
+       [CCode (cname="struct v4l2_sliced_vbi_cap", has_type_id = false)]
        public struct SlicedVbiCap
        {
                public uint16 service_set;
@@ -1210,7 +1210,7 @@ namespace V4l2
                public BufferType type;
        }
 
-       [CCode (cname="struct v4l2_sliced_vbi_data")]
+       [CCode (cname="struct v4l2_sliced_vbi_data", has_type_id = false)]
        public struct SlicedVbiData
        {
                public uint32 id;
@@ -1219,6 +1219,7 @@ namespace V4l2
                public uint8 data[48];
        }
 
+       [CCode (has_type_id = false)]
        public struct Fmt
        {
                public PixelFormat pix;
@@ -1228,13 +1229,14 @@ namespace V4l2
                public uint8 raw_data[200];
        }
 
-       [CCode (cname="struct v4l2_format")]
+       [CCode (cname="struct v4l2_format", has_type_id = false)]
        public struct Format
        {
                public BufferType type;
                public Fmt fmt;
        }
 
+       [CCode (has_type_id = false)]
        public struct Parm
        {
                public CaptureParm capture;
@@ -1242,14 +1244,14 @@ namespace V4l2
                public uint8 raw_data[200];
        }
 
-       [CCode (cname="struct v4l2_streamparm")]
+       [CCode (cname="struct v4l2_streamparm", has_type_id = false)]
        public struct StreamParm
        {
                public BufferType type;
                public unowned Parm parm;
        }
 
-       [CCode (cprefix="V4L2_CHIP_MATCH_")]
+       [CCode (cprefix="V4L2_CHIP_MATCH_", has_type_id = false)]
        public enum ChipMatch
        {
                HOST,
@@ -1257,7 +1259,7 @@ namespace V4l2
                I2C_ADDR
        }
 
-       [CCode (cname="struct v4l2_register")]
+       [CCode (cname="struct v4l2_register", has_type_id = false)]
        public struct Register
        {
                public uint32 match_type;
@@ -1266,7 +1268,7 @@ namespace V4l2
                public uint64 val;
        }
 
-       [CCode (cname="struct v4l2_chip_ident")]
+       [CCode (cname="struct v4l2_chip_ident", has_type_id = false)]
        public struct ChipIdent
        {
                public uint32 match_type;
diff --git a/vapi/x11.vapi b/vapi/x11.vapi
index ca0d536..0c98fa2 100644
--- a/vapi/x11.vapi
+++ b/vapi/x11.vapi
@@ -334,7 +334,7 @@ namespace X {
        public const ulong AllPlanes;
 
        [SimpleType]
-       [CCode (cname = "XPointer")]
+       [CCode (cname = "XPointer", has_type_id = false)]
        public struct Pointer {
        }
 
@@ -343,24 +343,24 @@ namespace X {
        [CCode (cname = "Atom", type_id = "G_TYPE_LONG",
                marshaller_type_name = "LONG",
                get_value_function = "g_value_get_long",
-               set_value_function = "g_value_set_long")]
+               set_value_function = "g_value_set_long", has_type_id = false)]
        public struct Atom {
        }
 
        [SimpleType]
        [IntegerType (rank = 9)]
-       [CCode (cname = "Colormap")]
+       [CCode (cname = "Colormap", has_type_id = false)]
        public struct Colormap {
        }
 
        [SimpleType]
-       [CCode (cname = "GC")]
+       [CCode (cname = "GC", has_type_id = false)]
        public struct GC {
        }
 
        [SimpleType]
        [IntegerType (rank = 9)]
-       [CCode (cname = "Status")]
+       [CCode (cname = "Status", has_type_id = false)]
        public struct Status {
        }
 
@@ -371,7 +371,7 @@ namespace X {
                marshaller_type_name = "INT",
                get_value_function = "g_value_get_int",
                set_value_function = "g_value_set_int", default_value = "0",
-               type_signature = "i")]
+               type_signature = "i", has_type_id = false)]
        public struct ID {
        }
 
@@ -381,7 +381,7 @@ namespace X {
                marshaller_type_name = "INT",
                get_value_function = "g_value_get_int",
                set_value_function = "g_value_set_int", default_value = "0",
-               type_signature = "i")]
+               type_signature = "i", has_type_id = false)]
        public struct Drawable : ID
        {
        }
@@ -392,7 +392,7 @@ namespace X {
                marshaller_type_name = "INT",
                get_value_function = "g_value_get_int",
                set_value_function = "g_value_set_int", default_value = "0",
-               type_signature = "i")]
+               type_signature = "i", has_type_id = false)]
        public struct Window : Drawable {
        }
 
@@ -403,23 +403,23 @@ namespace X {
                marshaller_type_name = "INT",
                get_value_function = "g_value_get_int",
                set_value_function = "g_value_set_int", default_value = "0",
-               type_signature = "i")]
+               type_signature = "i", has_type_id = false)]
        public struct Pixmap : Drawable {
        }
 
        [SimpleType]
        [IntegerType (rank = 9)]
-       [CCode (cname = "Mask")]
+       [CCode (cname = "Mask", has_type_id = false)]
        public struct Mask {
        }
 
        [SimpleType]
        [IntegerType (rank = 9)]
-       [CCode (cname = "VisualID")]
+       [CCode (cname = "VisualID", has_type_id = false)]
        public struct VisualID {
        }
 
-       [CCode (cname = "XVisualInfo")]
+       [CCode (cname = "XVisualInfo", has_type_id = false)]
        public struct VisualInfo {
                public unowned X.Visual visual;
                public X.VisualID visualid;
@@ -436,31 +436,31 @@ namespace X {
 
        [SimpleType]
        [IntegerType (rank = 9)]
-       [CCode (cname = "Time")]
+       [CCode (cname = "Time", has_type_id = false)]
        public struct Time {
        }
 
        [SimpleType]
        [IntegerType (rank = 9)]
-       [CCode (cname = "Cursor")]
+       [CCode (cname = "Cursor", has_type_id = false)]
        public struct Cursor {
        }
 
        [SimpleType]
        [IntegerType (rank = 9)]
-       [CCode (cname = "GContext")]
+       [CCode (cname = "GContext", has_type_id = false)]
        public struct GContext {
        }
 
        [SimpleType]
        [IntegerType (rank = 9)]
-       [CCode (cname = "KeySym")]
+       [CCode (cname = "KeySym", has_type_id = false)]
        public struct KeySym {
        }
 
        [SimpleType]
        [IntegerType (rank = 9)]
-       [CCode (cname = "KeyCode")]
+       [CCode (cname = "KeyCode", has_type_id = false)]
        public struct KeyCode {
        }
 
@@ -508,7 +508,7 @@ namespace X {
                public int height;
        }
 
-       [CCode (cprefix = "", cname = "int")]
+       [CCode (cprefix = "", cname = "int", has_type_id = false)]
        public enum ImageFormat {
                XYBitmap,
                XYPixmap,
@@ -545,7 +545,7 @@ namespace X {
        [CCode (cname = "XAddPixel")]
        public int add_pixel (Image img, long @value);
 
-       [CCode (cname = "XSetWindowAttributes")]
+       [CCode (cname = "XSetWindowAttributes", has_type_id = false)]
        public struct SetWindowAttributes {
                public Pixmap background_pixmap;        /* background or None or ParentRelative */
                public ulong background_pixel;  /* background pixel */
@@ -564,7 +564,7 @@ namespace X {
                public Cursor cursor;           /* cursor to be displayed (or None) */
        }
 
-       [CCode (cname = "XWindowAttributes", has_destroy_function = false, cheader_filename = 
"X11/Xlib.h,X11/Xatom.h,X11/Xutil.h")]
+       [CCode (cname = "XWindowAttributes", has_destroy_function = false, cheader_filename = 
"X11/Xlib.h,X11/Xatom.h,X11/Xutil.h", has_type_id = false)]
        public struct WindowAttributes {
                public int x;
                public int y;                   /* location of window */
@@ -630,7 +630,7 @@ namespace X {
        [CCode (cname = "XFree")]
        public int free (void* data);
 
-       [CCode (cprefix = "", cname = "int")]
+       [CCode (cprefix = "", cname = "int", has_type_id = false)]
        public enum ErrorCode {
                [CCode (cname = "Success")]
                SUCCESS,
@@ -674,7 +674,7 @@ namespace X {
                LAST_EXTENSION_ERROR
        }
 
-       [CCode (cprefix = "", cname = "int")]
+       [CCode (cprefix = "", cname = "int", has_type_id = false)]
        public enum WindowClass {
                [CCode (cname = "InputOutput")]
                INPUT_OUTPUT,
@@ -709,7 +709,7 @@ namespace X {
                WinGravity
        }
 
-       [CCode (cprefix = "GrabMode")]
+       [CCode (cprefix = "GrabMode", has_type_id = false)]
        public enum GrabMode {
                Sync,
                Async
@@ -759,7 +759,7 @@ namespace X {
                Mod5Mask
        }
 
-       [CCode (cprefix = "")]
+       [CCode (cprefix = "", has_type_id = false)]
        public enum EventType {
                KeyPress,
                KeyRelease,
@@ -799,7 +799,7 @@ namespace X {
 
        // union
        [GIR (name = "XEvent")]
-       [CCode (cname = "XEvent")]
+       [CCode (cname = "XEvent", has_type_id = false)]
        public struct Event {
                public int type;
                public AnyEvent xany;
@@ -825,7 +825,7 @@ namespace X {
                public GenericEventCookie xcookie;
        }
 
-       [CCode (cname = "XAnyEvent")]
+       [CCode (cname = "XAnyEvent", has_type_id = false)]
        public struct AnyEvent {
                public int type;
                public ulong serial;
@@ -834,7 +834,7 @@ namespace X {
                public Window window;
        }
 
-       [CCode (cname = "XKeyEvent")]
+       [CCode (cname = "XKeyEvent", has_type_id = false)]
        public struct KeyEvent {
                public int type;
                public ulong serial;
@@ -853,7 +853,7 @@ namespace X {
                public bool same_screen;
        }
 
-       [CCode (cname = "XButtonEvent")]
+       [CCode (cname = "XButtonEvent", has_type_id = false)]
        public struct ButtonEvent {
                public int type;
                public ulong serial;
@@ -871,7 +871,7 @@ namespace X {
                public bool same_screen;
        }
 
-       [CCode (cname = "XMotionEvent")]
+       [CCode (cname = "XMotionEvent", has_type_id = false)]
        public struct MotionEvent {
                public int type;
                public ulong serial;
@@ -889,7 +889,7 @@ namespace X {
                public bool same_screen;
        }
 
-       [CCode (cname = "XCrossingEvent")]
+       [CCode (cname = "XCrossingEvent", has_type_id = false)]
        public struct CrossingEvent {
                public int type;
                public ulong serial;
@@ -910,7 +910,7 @@ namespace X {
                public uint state;
        }
 
-       [CCode (cname = "XCreateWindowEvent")]
+       [CCode (cname = "XCreateWindowEvent", has_type_id = false)]
        public struct CreateWindowEvent {
                public int type;
                public ulong serial;
@@ -926,7 +926,7 @@ namespace X {
                public bool override_redirect;
        }
 
-       [CCode (cname = "XDestroyWindowEvent")]
+       [CCode (cname = "XDestroyWindowEvent", has_type_id = false)]
        public struct DestroyWindowEvent {
                public int type;
                public ulong serial;
@@ -936,7 +936,7 @@ namespace X {
                public Window window;
        }
 
-       [CCode (cname = "XUnmapEvent")]
+       [CCode (cname = "XUnmapEvent", has_type_id = false)]
        public struct UnmapEvent {
                public int type;
                public ulong serial;
@@ -947,7 +947,7 @@ namespace X {
                public bool from_configure;
        }
 
-       [CCode (cname = "XMapEvent")]
+       [CCode (cname = "XMapEvent", has_type_id = false)]
        public struct MapEvent {
                public int type;
                public ulong serial;
@@ -958,7 +958,7 @@ namespace X {
                public bool override_redirect;
        }
 
-       [CCode (cname = "XMapRequestEvent")]
+       [CCode (cname = "XMapRequestEvent", has_type_id = false)]
        public struct MapRequestEvent {
                public int type;
                public ulong serial;
@@ -968,7 +968,7 @@ namespace X {
                public Window window;
        }
 
-       [CCode (cname = "XReparentEvent")]
+       [CCode (cname = "XReparentEvent", has_type_id = false)]
        public struct ReparentEvent {
                public int type;
                public ulong serial;
@@ -982,7 +982,7 @@ namespace X {
                public bool override_redirect;
        }
 
-       [CCode (cname = "XConfigureEvent")]
+       [CCode (cname = "XConfigureEvent", has_type_id = false)]
        public struct ConfigureEvent {
                public int type;
                public ulong serial;
@@ -999,7 +999,7 @@ namespace X {
                public bool override_redirect;
        }
 
-       [CCode (cname = "XGravityEvent")]
+       [CCode (cname = "XGravityEvent", has_type_id = false)]
        public struct GravityEvent {
                public int type;
                public ulong serial;
@@ -1011,7 +1011,7 @@ namespace X {
                public int y;
        }
 
-       [CCode (cname = "XConfigureRequestEvent")]
+       [CCode (cname = "XConfigureRequestEvent", has_type_id = false)]
        public struct ConfigureRequestEvent {
                public int type;
                public ulong serial;
@@ -1029,7 +1029,7 @@ namespace X {
                public ulong value_mask;
        }
 
-       [CCode (cname = "XCirculateEvent")]
+       [CCode (cname = "XCirculateEvent", has_type_id = false)]
        public struct CirculateEvent {
                public int type;
                public ulong serial;
@@ -1040,7 +1040,7 @@ namespace X {
                public int place;
        }
 
-       [CCode (cname = "XCirculateRequestEvent")]
+       [CCode (cname = "XCirculateRequestEvent", has_type_id = false)]
        public struct CirculateRequestEvent {
                public int type;
                public ulong serial;
@@ -1051,7 +1051,7 @@ namespace X {
                public int place;
        }
 
-       [CCode (cname = "XPropertyEvent")]
+       [CCode (cname = "XPropertyEvent", has_type_id = false)]
        public struct PropertyEvent {
                public int type;
                public ulong serial;
@@ -1063,7 +1063,7 @@ namespace X {
                public int state;
        }
 
-       [CCode (cname = "XSelectionEvent")]
+       [CCode (cname = "XSelectionEvent", has_type_id = false)]
        public struct SelectionEvent {
                public int type;
                public ulong serial;
@@ -1076,7 +1076,7 @@ namespace X {
                public ulong time;
        }
 
-       [CCode (cname = "XClientMessageEvent")]
+       [CCode (cname = "XClientMessageEvent", has_type_id = false)]
        public struct ClientMessageEvent {
                public int type;
                public ulong serial;    /* # of last request processed by server */
@@ -1088,7 +1088,7 @@ namespace X {
                public ClientMessageEventData data;
        }
 
-       [CCode (cname = "XGenericEvent")]
+       [CCode (cname = "XGenericEvent", has_type_id = false)]
        public struct GenericEvent {
                public int type;
                public ulong serial;
@@ -1098,7 +1098,7 @@ namespace X {
                public int evtype;
        }
 
-       [CCode (cname = "XGenericEventCookie")]
+       [CCode (cname = "XGenericEventCookie", has_type_id = false)]
        public struct GenericEventCookie {
                public int type;
                public ulong serial;
@@ -1109,7 +1109,7 @@ namespace X {
                public void *data;
        }
 
-       [CCode (cname = "RECTANGLE", has_type_id = false)]
+       [CCode (cname = "RECTANGLE", has_type_id = false, has_type_id = false)]
        public struct Rectangle {
                public short x;
                public short y;
@@ -1124,21 +1124,21 @@ namespace X {
                public unowned long[] l;
        }
 
-       [CCode (cprefix = "Queued")]
+       [CCode (cprefix = "Queued", has_type_id = false)]
        public enum QueuedMode {
                Already,
                AfterFlush,
                AfterReading
        }
 
-       [CCode (cprefix = "PropMode")]
+       [CCode (cprefix = "PropMode", has_type_id = false)]
        public enum PropMode {
                Replace,
                Prepend,
                Append
        }
 
-       [CCode (cprefix = "")]
+       [CCode (cprefix = "", has_type_id = false)]
        public enum AllowEventsMode {
                AsyncPointer,
                SyncPointer,
@@ -1150,14 +1150,14 @@ namespace X {
                SyncBoth
        }
 
-       [CCode (cprefix = "")]
+       [CCode (cprefix = "", has_type_id = false)]
        public enum MapState {
                IsUnmapped,
                IsUnviewable,
                IsViewable
        }
 
-       [CCode (cprefix = "RevertTo")]
+       [CCode (cprefix = "RevertTo", has_type_id = false)]
        public enum RevertTo {
                None,
                PointerRoot,
diff --git a/vapi/xcb.vapi b/vapi/xcb.vapi
index 4167b2e..2d64f6f 100644
--- a/vapi/xcb.vapi
+++ b/vapi/xcb.vapi
@@ -49,7 +49,7 @@ namespace Xcb {
 
        public const char COPY_FROM_PARENT;
 
-       [CCode (cname = "xcb_window_class_t")]
+       [CCode (cname = "xcb_window_class_t", has_type_id = false)]
        public enum WindowClass {
                COPY_FROM_PARENT,
                INPUT_OUTPUT,
@@ -124,7 +124,7 @@ namespace Xcb {
                public uint16 height;
        }
 
-       [CCode (cname = "xcb_cw_t")]
+       [CCode (cname = "xcb_cw_t", has_type_id = false)]
        public enum CW {
                BACK_PIXMAP,
                BACK_PIXEL,
@@ -143,7 +143,7 @@ namespace Xcb {
                CURSOR
        }
 
-       [CCode (cname = "xcb_event_mask_t")]
+       [CCode (cname = "xcb_event_mask_t", has_type_id = false)]
        public enum EventMask {
                NO_EVENT,
                KEY_PRESS,
@@ -188,7 +188,7 @@ namespace Xcb {
        }
 
        [SimpleType]
-       [CCode (cname = "xcb_screen_iterator_t")]
+       [CCode (cname = "xcb_screen_iterator_t", has_type_id = false)]
        public struct ScreenIterator {
                public unowned Screen data;
                public int rem;
@@ -213,7 +213,7 @@ namespace Xcb {
                public Window* children();
        }
 
-       [CCode (cname = "xcb_depth_iterator_t")]
+       [CCode (cname = "xcb_depth_iterator_t", has_type_id = false)]
        public struct DepthIterator {
                public unowned Depth data;
                public int rem;
@@ -221,7 +221,7 @@ namespace Xcb {
                public void next ();
        }
 
-       [CCode (cname = "xcb_visualtype_iterator_t")]
+       [CCode (cname = "xcb_visualtype_iterator_t", has_type_id = false)]
        public struct VisualTypeIterator {
                public unowned VisualType data;
                public int rem;
@@ -237,16 +237,16 @@ namespace Xcb {
        public VoidCookie map_window (Connection connection, Window wid);
 
        [SimpleType]
-       [CCode (cname = "xcb_void_cookie_t")]
+       [CCode (cname = "xcb_void_cookie_t", has_type_id = false)]
        public struct VoidCookie {
        }
 
        [SimpleType]
-       [CCode (cname = "xcb_query_tree_cookie_t")]
+       [CCode (cname = "xcb_query_tree_cookie_t", has_type_id = false)]
        public struct QueryTreeCookie {
        }
 
-       [CCode (cname = "xcb_rectangle_t")]
+       [CCode (cname = "xcb_rectangle_t", has_type_id = false)]
        public struct Rectangle {
                public int16 x;
                public int16 y;
@@ -266,7 +266,7 @@ namespace Xcb {
                        marshaller_type_name = "INT",
                        get_value_function = "g_value_get_int",
                        set_value_function = "g_value_set_int", default_value = "0",
-                       type_signature = "i")]
+                       type_signature = "i", has_type_id = false)]
        public struct Drawable : uint32 {
        }
 
@@ -276,7 +276,7 @@ namespace Xcb {
                        marshaller_type_name = "INT",
                        get_value_function = "g_value_get_int",
                        set_value_function = "g_value_set_int", default_value = "0",
-                       type_signature = "i")]
+                       type_signature = "i", has_type_id = false)]
        public struct Window : Drawable {
        }
 
diff --git a/vapi/zlib.vapi b/vapi/zlib.vapi
index df7212d..2ce34ad 100644
--- a/vapi/zlib.vapi
+++ b/vapi/zlib.vapi
@@ -27,7 +27,7 @@ using GLib;
 
 [CCode (lower_case_cprefix = "", cheader_filename = "zlib.h")]
 namespace ZLib {
-       [CCode (cname="int", cprefix="Z_")]
+       [CCode (cname="int", cprefix="Z_", has_type_id = false)]
        public enum Flush {
                NO_FLUSH,
                SYNC_FLUSH,
@@ -35,7 +35,7 @@ namespace ZLib {
                FINISH,
                BLOCK
        }
-       [CCode (cname="int", cprefix="Z_")]
+       [CCode (cname="int", cprefix="Z_", has_type_id = false)]
        public enum Status {
                OK,
                STREAM_END,
@@ -47,14 +47,14 @@ namespace ZLib {
                BUF_ERROR,
                VERSION_ERROR
        }
-       [CCode (cname="int", cprefix="Z_")]
+       [CCode (cname="int", cprefix="Z_", has_type_id = false)]
        public enum Level {
                NO_COMPRESSION,
                BEST_SPEED,
                BEST_COMPRESSION,
                DEFAULT_COMPRESSION
        }
-       [CCode (cname="int", cprefix="Z_")]
+       [CCode (cname="int", cprefix="Z_", has_type_id = false)]
        public enum Strategy {
                DEFAULT_STRATEGY,
                FILTERED,
@@ -62,17 +62,17 @@ namespace ZLib {
                RLE,
                FIXED
        }
-       [CCode (cname="int", cprefix="Z_")]
+       [CCode (cname="int", cprefix="Z_", has_type_id = false)]
        public enum Data {
                BINARY,
                ASCII,
                UNKNOWN
        }
-       [CCode (cname="int", cprefix="Z_")]
+       [CCode (cname="int", cprefix="Z_", has_type_id = false)]
        public enum Algorithm {
                DEFLATED
        }
-       [CCode (cname="int", cprefix="Z_")]
+       [CCode (cname="int", cprefix="Z_", has_type_id = false)]
        public enum Initial {
                NULL
        }
@@ -88,7 +88,7 @@ namespace ZLib {
                [CCode (cname = "ZLIB_VER_REVISION")]
                public const int REVISION;
        }
-       [CCode (cname = "z_stream", destroy_function = "deflateEnd")]
+       [CCode (cname = "z_stream", destroy_function = "deflateEnd", has_type_id = false)]
        public struct Stream {
                [CCode (array_length_cname = "avail_in", array_length_type = "ulong")]
                public unowned uint8[] next_in;
@@ -104,7 +104,7 @@ namespace ZLib {
                public int data_type;
                public ulong adler;
        }
-       [CCode (cname = "z_stream", destroy_function = "deflateEnd")]
+       [CCode (cname = "z_stream", destroy_function = "deflateEnd", has_type_id = false)]
        public struct DeflateStream : Stream {
                [CCode (cname = "deflateInit")]
                public DeflateStream (int level = Level.DEFAULT_COMPRESSION);
@@ -129,7 +129,7 @@ namespace ZLib {
                [CCode (cname = "deflateSetHeader")]
                public int set_header (GZHeader head);
        }
-       [CCode (cname = "z_stream", destroy_function = "inflateEnd")]
+       [CCode (cname = "z_stream", destroy_function = "inflateEnd", has_type_id = false)]
        public struct InflateStream : Stream {
                [CCode (cname = "inflateInit")]
                public InflateStream ();
@@ -155,7 +155,7 @@ namespace ZLib {
                public static ulong adler32 (ulong crc = 0UL, [CCode (array_length_type = "guint")] uint8[]? 
buf = null);
                public static ulong crc32 (ulong crc = 0UL, [CCode (array_length_type = "guint")] uint8[]? 
buf = null);
        }
-       [CCode (cname = "gz_header")]
+       [CCode (cname = "gz_header", has_type_id = false)]
        public struct GZHeader {
                public int text;
                public ulong time;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]