/* astruct.c generated by valac 0.25.1, the Vala compiler
 * generated from astruct.vala, do not modify */


#include <glib.h>
#include <glib-object.h>
#include <string.h>


#define TYPE_ASTRUCT (astruct_get_type ())
typedef struct _AStruct AStruct;

struct _AStruct {
	gint a_field;
};



GType astruct_get_type (void) G_GNUC_CONST;
AStruct* astruct_dup (const AStruct* self);
void astruct_free (AStruct* self);


AStruct* astruct_dup (const AStruct* self) {
	AStruct* dup;
	dup = g_new0 (AStruct, 1);
	memcpy (dup, self, sizeof (AStruct));
	return dup;
}


void astruct_free (AStruct* self) {
	g_free (self);
}


GType astruct_get_type (void) {
	static volatile gsize astruct_type_id__volatile = 0;
	if (g_once_init_enter (&astruct_type_id__volatile)) {
		GType astruct_type_id;
		astruct_type_id = g_boxed_type_register_static ("AStruct", (GBoxedCopyFunc) astruct_dup, (GBoxedFreeFunc) astruct_free);
		g_once_init_leave (&astruct_type_id__volatile, astruct_type_id);
	}
	return astruct_type_id__volatile;
}



